UNPKG

@wix/design-system

Version:

@wix/design-system

58 lines (52 loc) 1.87 kB
import * as React from 'react'; export type ModalPreviewLayoutSkin = 'dark' | 'light'; export interface ModalPreviewLayoutProps { /** Applied as data-hook HTML attribute that can be used in the tests */ dataHook?: string; /** component to be displayed in header strip to preform actions relevant to the displayed content */ actions?: React.ReactNode; /** title text to be displayed in the header strip */ title?: string; /** modal content displayed mid-screen*/ children: React.ReactNode; /** callback for when the modal is closed */ onClose: () => void; /** boolean to determine whether closing the overlay on click * @default true */ shouldCloseOnOverlayClick?: boolean; /** Tooltip close button text */ closeButtonTooltipText?: string; /** ARIA label for close button */ closeButtonAriaLabel?: string; /** Previous button props * ##### onClick signature: * function(childIndexDisplayed: number) => void * * `childIndexDisplayed`: the index of the child component displayed. */ prevButtonProps?: PrevButtonProps; /** Next button props * ##### onClick signature: * function(childIndexDisplayed: number) => void * * `childIndexDisplayed`: the index of the child component displayed. */ nextButtonProps?: NextButtonProps; /** Controls the skin of the component * @default 'dark' */ skin?: ModalPreviewLayoutSkin; /** * Pass an index to start rendering from a specific child component. * @default 0 */ startDisplayingAtChildIndex?: number; } export type PrevButtonProps = { onClick?: (childIndexDisplayed: number) => {}; tooltipText?: React.ReactNode; }; export type NextButtonProps = { onClick?: (childIndexDisplayed: number) => {}; tooltipText?: React.ReactNode; }; export default class ModalPreviewLayout extends React.PureComponent<ModalPreviewLayoutProps> {}