UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

67 lines (66 loc) 3.45 kB
import { PropsOf } from "../utils/types.js"; import "../utils/index.js"; import { ThemingProps } from "../theme/types.js"; import "../theme/index.js"; import { SystemProps } from "../system/system.js"; import "../system/index.js"; import { IconProp, IconProps } from "../icon/icon.types.js"; import "../icon/index.js"; import { BoxProps } from "../box/box.types.js"; import "../box/index.js"; import { ButtonProps, IconButtonProps } from "../button/button.types.js"; import "../button/index.js"; import { HeadingProps } from "../heading/heading.types.js"; import "../heading/index.js"; import { ModalProps } from "../modal/modal.types.js"; import "../modal/index.js"; import { JSX } from "react"; //#region src/dialog/dialog.types.d.ts type DialogBodyProps = PropsOf<'div', BoxProps>; type DialogCancelButtonProps = PropsOf<'button', ButtonProps>; type DialogCloseButtonProps = PropsOf<'button', IconButtonProps>; type DialogContext = Pick<DialogProps, 'icon' | 'isOpen' | 'onClose' | 'size' | 'status' | 'variant'> & { bodyId?: string; titleId?: string; }; type DialogFooterProps = PropsOf<'div', BoxProps & Pick<DialogProps, 'cancelButton' | 'submitButton'>>; type DialogHeaderProps = PropsOf<'div', BoxProps & Pick<DialogProps, 'closeButton' | 'icon' | 'title'>>; type DialogIconProps = PropsOf<'svg', IconProps>; type DialogPlacement = 'left' | 'center' | 'right'; type DialogProps = SystemProps & ThemingProps<'Dialog'> & Pick<ModalProps, 'isOpen' | 'onClose'> & { /** Socket for the main Dialog content. */ body?: string | number | DialogBodyProps | JSX.Element; /** Socket for a cancel button in the Dialog Footer. */ cancelButton?: DialogCancelButtonProps | JSX.Element; /** Socket for a close icon button in the Dialog Header. */ closeButton?: boolean | DialogCloseButtonProps | JSX.Element; /** Clicking Backdrop element will not trigger 'onClose'. */ disableBackdropClose?: boolean; /** Socket for a footer with buttons below Dialog Body. */ footer?: DialogFooterProps | JSX.Element; /** Socket for a header with title and icon above the Dialog Body */ header?: DialogHeaderProps | JSX.Element; /** Socket for a custom icon in the Dialog Header. */ icon?: IconProp | DialogIconProps | JSX.Element; /** The props being passed into the internal Modal component. */ modalProps?: ModalProps; /** Position of the dialog @default center */ placement?: DialogPlacement; /** Adds an icon for a given status, such as error or warning. */ status?: DialogStatus; /** Socket for a submit button in the Dialog Footer. */ submitButton?: DialogSubmitButtonProps | JSX.Element; /** Socket for a title in the Dialog Header. */ title?: HeadingProps['text'] | DialogTitleProps | JSX.Element; /** Modal type for z-index calculation ('dialog' or 'drawer'). @default 'dialog' */ modalType?: Extract<ModalProps['type'], 'dialog' | 'drawer'>; }; type DialogStatus = 'danger' | 'error' | 'info' | 'warning'; type DialogStatusMapping = Record<string, { iconProps: IconProps; }>; type DialogSubmitButtonProps = PropsOf<'button', ButtonProps>; type DialogTitleProps = PropsOf<'h4', HeadingProps>; //#endregion export { DialogBodyProps, DialogCancelButtonProps, DialogCloseButtonProps, DialogContext, DialogFooterProps, DialogHeaderProps, DialogIconProps, DialogPlacement, DialogProps, DialogStatus, DialogStatusMapping, DialogSubmitButtonProps, DialogTitleProps }; //# sourceMappingURL=dialog.types.d.ts.map