@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
TypeScript
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