import type { CustomElement } from '..'; import { type JSXElement } from '../basic-config'; import type { ButtonProps } from '../button'; /** * API * @since 2.6.0 */ export interface ModalProps { /** 是否打开模态框 */ open?: OpenStateKey; /** 开启关闭的回调函数 */ onOpenChange?: (open: OpenStateKey) => void; /** 点击遮罩关闭 * @default true */ maskClosable?: boolean; /** 通过 `esc` 按键关闭 * @default true */ escClosable?: boolean; /** * 自定义关闭图标, 设置为 null 或 false 时隐藏关闭按钮 */ closeIcon?: JSXElement | (() => JSXElement); /** 内容 */ content?: JSXElement | (() => JSXElement); /** 标题 */ title?: JSXElement | (() => JSXElement); /** 遮罩模糊 * @default false */ maskBlur?: boolean; okText?: string | false | null; cancelText?: string | false | null; onCancel?(): Promise | boolean; onOk?(e: MouseEvent | Event): Promise | boolean; okProps?: Omit; cancelProps?: Omit; centered?: boolean; } /** * OpenStateKey */ export declare enum OpenState { /** 完全关闭 */ closed = "closed", /** 正在关闭 */ closeing = "closeing", /** 打开 */ open = "open" } export type OpenStateKey = keyof typeof OpenState; export type ModalElement = CustomElement; declare function Modal(_: ModalProps): import("solid-js").JSX.Element; declare namespace Modal { var registry: () => void; var open: (options: ModalProps) => void; } export default Modal;