wix-style-react
Version:
wix-style-react
38 lines • 2 kB
TypeScript
import * as React from 'react';
import { ButtonProps, ButtonSize } from '../Button';
import { BaseModalLayoutProps, ModalTheme } from '../BaseModalLayout';
export interface AnnouncementModalLayoutProps extends BaseModalLayoutProps {
/** The modal's title */
title?: React.ReactNode;
/** The modal's subtitle */
subtitle?: React.ReactNode;
/** the content you want to render in the modal, children passed directly will be treated as `content` as well */
content?: React.ReactNode;
/** a text for the primary action button */
primaryButtonText?: React.ReactNode;
/** Passed to the primary action button as props without any filter / mutation */
primaryButtonProps?: Omit<ButtonProps, 'dataHook'>;
/** a callback for when the primary action button is clicked */
primaryButtonOnClick?(): void;
/** a text for the secondary action button */
secondaryButtonText?: React.ReactNode;
/** Passed to the secondary button as props without any filter / mutation */
secondaryButtonProps?: Omit<ButtonProps, 'dataHook'>;
/** callback for when the secondary action button is clicked */
secondaryButtonOnClick?(): void;
/** will determine the action buttons size*/
actionsSize?: ButtonSize;
/** side actions node, to be rendered as the first element on the same row as the action buttons */
sideActions?: React.ReactNode;
/** a footnote node, to be rendered at the very bottom of the modal */
footnote?: React.ReactNode;
/** The illustration src or the illustration node itself */
illustration?: React.ReactNode;
/** When not provided, the primary link will not be rendered */
linkText?: React.ReactNode;
/** callback for when the link is clicked */
linkOnClick?: () => void;
/** a global theme for the modal, will be applied as stylable state and will affect footer buttons skin */
theme?: Exclude<ModalTheme, 'destructive'>;
}
//# sourceMappingURL=AnnouncementModalLayout.types.d.ts.map