import type { ReactNode } from 'react'; export interface StepDisplay { /** Literal text (e.g. '1') or a fluent icon registry name (e.g. 'circle'). */ inProcessIcon: string; /** Literal text (e.g. '✓') or a fluent icon registry name (e.g. 'checkmark'). */ completeIcon: string; title?: string; subTitle?: string; } export interface Button { title: string; action: number; customAction?: any; disabled?: boolean; variant?: 'default' | 'outline'; } export type LabelDisplayMode = 'all' | 'none' | 'active-only'; export type LabelPosition = 'right' | 'bottom' | 'default'; export interface StepperNavBreakpoint { maxWidth: number; labelDisplay: LabelDisplayMode; labelPosition?: LabelPosition; } export interface Step { stepDisplay: StepDisplay; /** Header rendered above the step content when showTitle is truthy. */ stepTitle?: string; /** Optional subheader rendered under stepTitle above the step content. */ stepSubTitle?: string; /** Controls visibility of the stepTitle/stepSubTitle content header. */ showTitle?: boolean; buttons: Button[]; /** * Web-component usage only — React elements cannot render here. * React consumers should pass step content as children instead. */ content?: any; } /** * Split stepper pieces: UdpStepperNav / UdpStepperContent / UdpStepperActions * render the all-in-one stepper's strip, content area, and button row as * sibling elements, for hosts whose layout slots them apart (e.g. UdpDrawer's * toolbar / body / footer). Pass all three the same steps/activeStep/completed * state — control is identical to UdpStepper. */ export interface UdpStepperNavProps { steps: Step[]; activeStep?: number; completed?: { [key: number]: boolean; }; nonLinear?: boolean; disableStrictStepCompletion?: boolean; labelDisplay?: LabelDisplayMode; labelPosition?: LabelPosition; /** Container-width breakpoints that override labelDisplay/labelPosition. */ responsiveConfig?: StepperNavBreakpoint[]; /** Fires when the effective label display mode changes due to a container resize. */ onNavLayout?: (event: CustomEvent<{ effectiveLabelDisplay: LabelDisplayMode; containerWidth: number; }>) => void; /** Called with the target step index on navigation. Ignored when stepChange is also provided. */ onStepChange?: (event: any) => void; /** Called with the target step index on navigation. Takes precedence over onStepChange. */ stepChange?: (event: any) => void; /** Standard slot attribute, e.g. "toolbar" inside UdpDrawer. */ slot?: string; } export interface UdpStepperContentProps { steps: Step[]; activeStep?: number; /** Wraps the content in a card, matching UdpStepper's contentCard. */ contentCard?: boolean; /** Suppresses the per-step content header (stepTitle/stepSubTitle) even when steps set showTitle. */ hideContentHeader?: boolean; /** Standard slot attribute for slotted hosts. */ slot?: string; children?: ReactNode; } export interface UdpStepperActionsProps { steps: Step[]; activeStep?: number; completed?: { [key: number]: boolean; }; nonLinear?: boolean; disableStrictStepCompletion?: boolean; /** Called with the target step index on navigation. Ignored when stepChange is also provided. */ onStepChange?: (event: any) => void; /** Called with the target step index on navigation. Takes precedence over onStepChange. */ stepChange?: (event: any) => void; /** Standard slot attribute, e.g. "footer" inside UdpDrawer. */ slot?: string; } export interface UdpStepperProps { steps: Step[]; activeStep?: number; orientation?: 'horizontal' | 'vertical'; /** @deprecated Accepted but unused. */ alternativeLabel?: boolean; nonLinear?: boolean; completed?: { [key: number]: boolean; }; disableStrictStepCompletion?: boolean; labelDisplay?: LabelDisplayMode; labelPosition?: LabelPosition; /** Vertical layout style: 'card' (default) bordered cards, 'rail' connected dots with a left rail. */ verticalVariant?: 'card' | 'rail'; /** Wraps the active step's content in a card (horizontal and rail-vertical layouts). */ contentCard?: boolean; /** Suppresses the per-step content header (stepTitle/stepSubTitle) even when steps set showTitle. */ hideContentHeader?: boolean; /** Container-width breakpoints that adapt labelDisplay/labelPosition and auto-coordinate the content header. */ responsiveConfig?: StepperNavBreakpoint[]; /** Called with the target step index on navigation. Ignored when stepChange is also provided. */ onStepChange?: (event: any) => void; /** Called with the target step index on navigation. Takes precedence over onStepChange. */ stepChange?: (event: any) => void; children?: ReactNode; } //# sourceMappingURL=types.d.ts.map