Primitives

Steps

circle, glow, card, chevron, bar, dot; horizontal or vertical; finished steps link back; the current step can hold content.

Finished steps are clickable.

circle

  1. 3
    RatesWhat cars and bikes pay
  2. 4
    Go liveOpen the gates

glow · the current step pulses with light

  1. 3
    RatesWhat cars and bikes pay
  2. 4
    Go liveOpen the gates

card

  1. Step 3RatesWhat cars and bikes pay
  2. Step 4Go liveOpen the gates

chevron

bar

  1. Step 1
  2. Step 2
  3. Step 3
    RatesWhat cars and bikes pay
  4. Step 4
    Go liveOpen the gates
  1. 3
    RatesWhat cars and bikes pay

    The rates form would be here.

  2. 4
    Go liveOpen the gates
  1. Your siteName and address
  2. GatesConnect the controllers
  3. 3
    RatesWhat cars and bikes pay
  4. 4
    Go liveOpen the gates
  1. Your siteName and address
  2. GatesConnect the controllers
  3. RatesWhat cars and bikes pay
  4. Go liveOpen the gates

Import#

Everything comes from the package root. The example above uses:

your-component.tsx
import { Button, Steps } from "@waveinno/ui";

Props#

Read from the source of this version, so they match the code exactly.

<Steps>

src/components/ui/steps.tsx
PropTypeDefaultDescription
stepsrequiredStepItem[]—
currentrequirednumber—Index of the current step, from 0. Equal to steps.length when all are done.
variant"circle" | "glow" | "dot" | "bar" | "card" | "chevron""circle"
orientation"horizontal" | "vertical""horizontal"
onStepClick(index: number) => void—Makes finished steps clickable.
classNamestring—

<Button>

src/components/ui/button.tsx
PropTypeDefaultDescription
asChildbooleanfalse
loadingboolean—

Also takes ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<typeof buttonVariants>.

Install#

If the project does not have the package yet, add it, then follow the setup for Next.js or Vite once.

$ npm install @waveinno/ui