@octopusdeploy/design-system-components
Version:
The design systems component library.
32 lines (31 loc) • 1.02 kB
TypeScript
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 MultiStepDialogProps {
steps: DialogStep[];
onComplete?: () => void;
completeButtonLabel?: string;
backButtonDisabled?: boolean;
nextButtonDisabled?: boolean;
}
export interface SingleStepNeverProps {
primaryButton?: never;
secondaryButton?: never;
children?: never;
progressTracker?: never;
}
export interface MultiStepNeverProps {
steps?: never;
onComplete?: never;
completeButtonLabel?: never;
backButtonDisabled?: never;
nextButtonDisabled?: never;
}