UNPKG

@octopusdeploy/design-system-components

Version:
38 lines (37 loc) 1.83 kB
import type React from "react"; import type { ReactElement } from "react"; import type { ButtonBasicProps, ButtonLinkProps } from "../Button"; import type { ErrorInfo } from "../ErrorSummary"; import type { ProgressTrackerProps } from "../ProgressTracker"; import type { DialogWidth } from "./dialogBreakpoints.styles"; import type { MultiStepDialogOptions, MultiStepNeverProps, SingleStepNeverProps } from "./dialogTypes"; type UpsellDialogLimitedButtonProps = Pick<ButtonBasicProps, "label" | "onClick" | "disabled"> | Pick<ButtonLinkProps, "label" | "onClick" | "href" | "external">; interface UpsellDialogBaseProps { title: string; open: boolean; onClose: () => void; onClosed?: () => void; sidePanel: ReactElement; errors?: ErrorInfo[]; width?: DialogWidth; isLoading?: boolean; } interface SingleStepUpsellDialogProps extends UpsellDialogBaseProps, MultiStepNeverProps { primaryAction: UpsellDialogLimitedButtonProps; secondaryAction?: UpsellDialogLimitedButtonProps; children: React.ReactNode; progressTracker?: ReactElement<ProgressTrackerProps>; } interface MultiStepUpsellDialogProps extends UpsellDialogBaseProps, MultiStepDialogOptions, SingleStepNeverProps { } export type UpsellDialogProps = SingleStepUpsellDialogProps | MultiStepUpsellDialogProps; /** * UpsellDialog – an upsell-styled dialog with a main content panel and side panel. * * The side panel is always visible on desktop (stacks on mobile). The primary action button * uses "loud" importance. For multi-step flows, pass the `steps` prop. * * @remarks Do not implement directly in Octopus Server code. Use Workflows instead. See https://docs.octopushq.com/docs/frontend/workflows */ export declare function UpsellDialog(props: UpsellDialogProps): import("react/jsx-runtime").JSX.Element; export {};