UNPKG

@octopusdeploy/design-system-components

Version:
36 lines (35 loc) 1.87 kB
import type React from "react"; import { type ReactElement } from "react"; import type { ButtonBasicProps, ButtonLinkProps } from "../Button"; import type { ErrorInfo } from "../Page"; import type { ProgressTrackerProps } from "../ProgressTracker"; import type { MultiStepDialogProps, MultiStepNeverProps, SingleStepNeverProps } from "./dialogTypes"; export type StandardDialogLimitedButtonProps = Pick<ButtonBasicProps, "label" | "onClick" | "disabled" | "importance"> | Pick<ButtonLinkProps, "label" | "onClick" | "href" | "external" | "importance" | "disabled">; export type { DialogStep } from "./dialogTypes"; interface StandardDialogBaseProps { title: string; open: boolean; showDismissButton?: boolean; onClose: () => void; errors?: ErrorInfo[]; width: "small" | "medium" | "large"; sidePanel?: ReactElement; defaultSidePanelOpen?: boolean; } interface SingleStepStandardDialogProps extends StandardDialogBaseProps, MultiStepNeverProps { primaryButton: StandardDialogLimitedButtonProps; secondaryButton?: StandardDialogLimitedButtonProps; children: React.ReactNode; progressTracker?: ReactElement<ProgressTrackerProps>; } interface MultiStepStandardDialogProps extends StandardDialogBaseProps, MultiStepDialogProps, SingleStepNeverProps { } export type StandardDialogProps = SingleStepStandardDialogProps | MultiStepStandardDialogProps; /** * A standard modal dialog with a title, optional dismiss button, scrollable content area, * optional error panel, primary/secondary footer actions, optional animated side panel, * and optional multi-step navigation. * * @remarks Do not implement directly in Octopus Server code. Use Workflows instead. See https://docs.octopushq.com/docs/frontend/workflows */ export declare function StandardDialog(props: StandardDialogProps): import("react/jsx-runtime").JSX.Element;