UNPKG

@octopusdeploy/design-system-components

Version:
61 lines (60 loc) 1.69 kB
import type { DesignSystemLinkHref } from "../../routing"; import type { ButtonBasicProps } from "../Button"; import { type CalloutMessageState } from "./Callout.constants"; import type { CalloutContent } from "./calloutContent"; export interface OptionalTitleProps { title?: string; hideTitle: true; } export interface RequiredTitleProps { title: string; hideTitle?: false; } type TitleProps = OptionalTitleProps | RequiredTitleProps; type PrimaryActionProps = Pick<ButtonBasicProps, "label" | "onClick" | "disabled">; type CalloutActionLinkProps = { isExternal: true; href: string; label: string; onClick?: () => void; } | { isExternal?: false; href: DesignSystemLinkHref; label: string; onClick?: () => void; }; type OutlinedMessageState = Exclude<CalloutMessageState, "upsell">; export type StandardCalloutActions = { primary: PrimaryActionProps; link?: never; } | { link: CalloutActionLinkProps; primary?: never; }; export type UpsellCalloutActions = { primary?: PrimaryActionProps; link?: CalloutActionLinkProps; }; type CalloutVariantProps = { type: "outlined"; messageState: OutlinedMessageState; actions?: never; } | { type?: "standard"; messageState: "upsell"; actions?: UpsellCalloutActions; } | { type?: "standard"; messageState: CalloutMessageState; actions?: StandardCalloutActions; }; export type CalloutProps = TitleProps & CalloutVariantProps & { canClose?: boolean; onClose?: () => void; content?: CalloutContent; }; export declare const Callout: { (props: CalloutProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; export {};