@wix/design-system
Version:
@wix/design-system
58 lines (52 loc) • 1.87 kB
TypeScript
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> {}