/** * @usevyre/react — Stepper + Step + StepPanel * * AI CONTEXT: * ┌──────────────────────────────────────────────────────────────────┐ * │ Component: Stepper (+ StepperNav, Step, StepPanel) │ * │ Import: import { Stepper, StepperNav, Step, StepPanel } │ * │ from "@usevyre/react" │ * │ │ * │ Multi-step flow indicator + controller (onboarding/checkout/ │ * │ wizard). CONTROLLED by a 0-based index. Indices come from order. │ * │ │ * │ │ * │ value? = number (controlled active index) │ * │ defaultValue = number (uncontrolled, default 0) │ * │ onChange? = (index: number) => void │ * │ orientation = "horizontal"(default) | "vertical" │ * │ clickable? = boolean (click a completed Step to go back) │ * │ │ * │ ← rendered when its order == active │ * │ │ * │ Each Step auto-gets state completed | current | upcoming. │ * │ NOT Tabs (peer panels) — Stepper is an ORDERED linear flow. │ * └──────────────────────────────────────────────────────────────────┘ * * @example * const [step, setStep] = useState(0); * * * * * * * * * * */ import React from "react"; import type { BaseProps } from "../../types"; export interface StepperProps extends BaseProps { /** Controlled active step (0-based) */ value?: number; /** Initial active step when uncontrolled */ defaultValue?: number; /** Called with the new active index */ onChange?: (index: number) => void; orientation?: "horizontal" | "vertical"; /** Allow clicking a completed Step to jump back to it */ clickable?: boolean; children?: React.ReactNode; } export declare const Stepper: React.ForwardRefExoticComponent>; export interface StepperNavProps extends BaseProps { children?: React.ReactNode; } export declare const StepperNav: React.ForwardRefExoticComponent>; export interface StepProps extends Omit, "title"> { label?: React.ReactNode; description?: React.ReactNode; /** Custom indicator content (defaults to step number / ✓ when done) */ icon?: React.ReactNode; /** Explicit 0-based index. Optional — inferred from order otherwise. */ index?: number; /** @internal injected by StepperNav */ __index?: number; } export declare const Step: React.ForwardRefExoticComponent>; export interface StepPanelProps extends BaseProps { children?: React.ReactNode; /** Explicit 0-based index. Optional — inferred from order otherwise. */ index?: number; /** @internal injected by Stepper */ __index?: number; } export declare const StepPanel: React.FC;