1.0.9 • Published 1 year ago
tailwind-stepper v1.0.9
Tailwind Stepper Component
Tailwind Stepper is a customizable React component designed to create intuitive step-by-step user interfaces using Tailwind CSS.
Installation
Install the package via npm or yarn or bun:
npm install tailwind-stepperyarn add tailwind-stepperbun add tailwind-stepperConfiguration
add the path for tailwind in the tailwind.config.ts
import type { Config } from "tailwindcss";
const config: Config = {
content: [
"...",
"./node_modules/tailwind-stepper/**/*.{js,ts,jsx,tsx,mdx}",
],
theme: {
extend: {
"..."
},
},
plugins: ["..."],
};
export default config;Usage Example
Integrate the stepper component into your React application:
import React, { useState } from "react";
import { Stepper, Step } from "tailwind-stepper";
const steps: Step[] = [
{ step: 0, label: "Step 1", content: <div>Content for Step 1</div> },
{ step: 1, label: "Step 2", content: <div>Content for Step 2</div> },
{ step: 2, label: "Step 3", content: <div>Content for Step 3</div> },
{ step: 3, label: "Step 4", content: <div>Content for Step 4</div> },
];
const App = () => {
const [selectedStep, setSelectedStep] = useState(0);
return (
<Stepper
selectedStep={selectedStep}
steps={steps}
orientation="horizontal" // default
hideLabel={false}
classNames={{
base: "...",
divider: "...",
}}
/>
);
};
export default App;Component Props
Stepper Component
| Prop | Type | Description |
|---|---|---|
selectedStep | number | The currently selected step. |
steps | Step[] | Array of steps to display. |
orientation | horizontal \| vertical | Orientation of the stepper. Defaults to 'horizontal'. |
hideLabel | boolean | Hides the labels of steps if true. Default is false. |
classNames | Slots & { base?: string; divider?: string } | Custom class names for various components. |
Step Object
| Property | Type | Description |
|---|---|---|
step | number | Step number. |
label | string | Label for the step. |
icon | React.ReactNode | Optional icon for the step. |
content | React.ReactNode | Optional content displayed when step is selected. |
onClick | () => void | Optional click handler for the step. |
Customization
Tailwind Stepper allows extensive customization through the classNames prop. You can style various elements:
wrapper: Wrapper around each step item.icon: Icon inside each step item.label: Label inside each step item.gradientBorder: Gradient border for the selected step item.base: Base class for the stepper container.divider: Class for dividers between steps.
Example with Custom Class Names
<Stepper
selectedStep={selectedStep}
steps={steps}
orientation="vertical"
hideLabel={false}
classNames={{
base: "...",
wrapper: "...",
icon: "...",
label: "...",
gradientBorder: "...",
divider: "...",
}}
/>License
This project is licensed under the MIT License.