UNPKG

@octopusdeploy/design-system-components

Version:
38 lines (37 loc) 1.27 kB
import type { ReactElement, ReactNode } from "react"; import type { ProgressTrackerProps } from "../ProgressTracker"; export interface DialogStep { content: ReactNode; progressTracker?: ReactElement<ProgressTrackerProps>; /** When provided, overrides the dialog-level sidePanel for this step. */ sidePanel?: ReactElement; onBeforeNext?: () => boolean | Promise<boolean>; onBeforeBack?: () => boolean | Promise<boolean>; onEnter?: () => void | Promise<void>; } export interface MultiStepDialogOptions { steps: DialogStep[]; onComplete?: () => void; completeButtonLabel?: string; backButtonDisabled?: boolean; nextButtonDisabled?: boolean; } export type DialogStepWithoutSidePanel = Omit<DialogStep, "sidePanel"> & { sidePanel?: never; }; export interface MultiStepDialogOptionsWithoutSidePanel extends Omit<MultiStepDialogOptions, "steps"> { steps: DialogStepWithoutSidePanel[]; } export interface SingleStepNeverProps { primaryAction?: never; secondaryAction?: never; children?: never; progressTracker?: never; } export interface MultiStepNeverProps { steps?: never; onComplete?: never; completeButtonLabel?: never; backButtonDisabled?: never; nextButtonDisabled?: never; }