stepper
diceui-base/stepperFreeComponent
diceui/base publishes no description for this item.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/sadmann7/diceui/HEAD/docs/public/r/styles/base-vega/stepper.jsonSource
1"use client";23import { mergeProps } from "@base-ui/react/merge-props";4import { useRender } from "@base-ui/react/use-render";5import { Check } from "lucide-react";6import * as React from "react";7import { cn } from "@/lib/utils";8import { useAsRef } from "@/registry/bases/base/hooks/use-as-ref";9import { useIsomorphicLayoutEffect } from "@/registry/bases/base/hooks/use-isomorphic-layout-effect";10import { useLazyRef } from "@/registry/bases/base/hooks/use-lazy-ref";11import { useComposedRefs } from "@/registry/bases/base/lib/compose-refs";12import { useDirection } from "@/registry/bases/base/ui/direction";1314const ROOT_NAME = "Stepper";15const LIST_NAME = "StepperList";16const ITEM_NAME = "StepperItem";17const TRIGGER_NAME = "StepperTrigger";18const INDICATOR_NAME = "StepperIndicator";19const SEPARATOR_NAME = "StepperSeparator";20const TITLE_NAME = "StepperTitle";21const DESCRIPTION_NAME = "StepperDescription";22const CONTENT_NAME = "StepperContent";23const PREV_NAME = "StepperPrev";24const NEXT_NAME = "StepperNext";2526const ENTRY_FOCUS = "stepperFocusGroup.onEntryFocus";27const EVENT_OPTIONS = { bubbles: false, cancelable: true };28const ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];2930type Direction = "ltr" | "rtl";31type Orientation = "horizontal" | "vertical";32type NavigationDirection = "next" | "prev";33type ActivationMode = "automatic" | "manual";34type DataState = "inactive" | "active" | "completed";3536interface DivProps37 extends React.ComponentProps<"div">,38 useRender.ComponentProps<"div"> {}39interface ButtonProps40 extends React.ComponentProps<"button">,41 useRender.ComponentProps<"button"> {}4243type ListElement = HTMLDivElement;44type TriggerElement = HTMLButtonElement;4546function getId(47 id: string,48 variant: "trigger" | "content" | "title" | "description",49 value: string,50) {51 return `${id}-${variant}-${value}`;52}5354type FocusIntent = "first" | "last" | "prev" | "next";5556const MAP_KEY_TO_FOCUS_INTENT: Record<string, FocusIntent> = {57 ArrowLeft: "prev",58 ArrowUp: "prev",59 ArrowRight: "next",60 ArrowDown: "next",61 PageUp: "first",62 Home: "first",63 PageDown: "last",64 End: "last",65};6667function getDirectionAwareKey(key: string, dir?: Direction) {68 if (dir !== "rtl") return key;69 return key === "ArrowLeft"70 ? "ArrowRight"71 : key === "ArrowRight"72 ? "ArrowLeft"73 : key;74}7576function getFocusIntent(77 event: React.KeyboardEvent<TriggerElement>,78 dir?: Direction,79 orientation?: Orientation,80) {81// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from diceui/base
All 192 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| action-baraction-bar | diceui/base | Components | Free | 1 dep | |
| angle-sliderangle-slider | diceui/base | Components | Free | 1 dep · 3 files | |
| avatar-groupavatar-group | diceui/base | Components | Free | 1 dep | |
| badge-overflowbadge-overflow | diceui/base | Components | Free | 1 dep · 2 files | |
| bannerbanner | diceui/base | Components | Free | 1 dep | |
| circular-progresscircular-progress | diceui/base | Components | Free | 1 dep | |
| client-onlyclient-only | diceui/base | Components | Free | no deps | |
| color-pickercolor-picker | diceui/base | Components | Free | 1 dep · 2 files |
