import { ReactNode, MouseEventHandler } from 'react'; import { IconElement } from '../common'; import { ButtonSize } from '../Button'; export type MessageBoxFunctionalLayoutTheme = 'red' | 'blue' | 'purple'; export interface MessageBoxFunctionalLayoutProps { /** Applies a data-hook HTML attribute that can be used in the tests. */ dataHook?: string; /** Hides the footer that contains the action buttons. */ hideFooter?: boolean; /** Defines the main action button text. */ confirmText?: ReactNode; /** Add a prefix icon for the main action button. */ confirmPrefixIcon?: IconElement; /** Add a suffix icon for the main action button. */ confirmSuffixIcon?: IconElement; /** Defines the secondary action button text. */ cancelText?: ReactNode; /** Add a prefix icon for the secondary action button. */ cancelPrefixIcon?: IconElement; /** Add a suffix icon for the secondary action button. */ cancelSuffixIcon?: IconElement; /** Controls the color theme of the action buttons. `'blue'` uses the `'standard'` button skin, `'purple'` uses `'premium'` and `'red'` uses `'destructive'`. * @default 'blue' */ theme?: MessageBoxFunctionalLayoutTheme; /** Called when the main action (confirm) is clicked. */ onOk?: MouseEventHandler; /** Called when the secondary action (cancel) is clicked. */ onCancel?: MouseEventHandler; /** Called when the close button is clicked. */ onClose?: MouseEventHandler; /** Specify exact width. */ width?: string; /** * Specify exact margin. Use to fine tune position inside other elements. * When used inside ``, beware that `` is a flex container, therefore specific flex item CSS rules apply for this margin. */ margin?: string; /** Defines the modals's header title. */ title?: ReactNode; /** The content to be displayed. can be text or some node. */ children?: ReactNode; /** Max height. When supplied, enables internal scrolling in the component. */ maxHeight?: string | number; /** Defines the buttons size. */ buttonsHeight?: ButtonSize; /** Show/hide the close button. */ closeButton?: boolean; /** Defines the secondary action button. */ disableCancel?: boolean; /** Defines the main action button. */ disableConfirmation?: boolean; /** Removes the content padding. Used in custom modal that defines it's own padding. */ noBodyPadding?: boolean; /** A render slot to display a foot note. */ footerBottomChildren?: ReactNode; /** Stretches the component to a full screen mode (with some padding) */ fullscreen?: boolean; /** Changes the internal padding to be used with `` component. */ withEmptyState?: boolean; /** Used to display some side component in the footer, for example `` */ sideActions?: ReactNode; /** Used to display an illustration on the left side. */ image?: ReactNode; } //# sourceMappingURL=MessageBoxFunctionalLayout.types.d.ts.map