// @definition CAT_UI.d.ts interface ReactElement

{ type: T; props: P; key: string | null; } interface Element extends ReactElement { } interface ReactPortal extends ReactElement { children: ReactNode } type ReactNode = ReactElement | string | number | Iterable | ReactPortal | boolean | null | undefined; interface CSSProperties { [string]: any } interface InputProps { style?: CSSProperties; className?: string | string[]; /** * @zh 允许清空输入框 * @en Whether allow clear value */ allowClear?: boolean; /** * @zh 是否禁用 * @en Whether the input is disabled */ disabled?: boolean; /** * @zh 是否只读 * @en Whether the input is readOnly */ readOnly?: boolean; /** * @zh 默认值 * @en The initial input content */ defaultValue?: string; /** * @zh 输入框提示文字 * @en Input box prompt text */ placeholder?: string; /** * @zh 是否是错误状态.(废弃,下个大版本移除,使用 status='error' 替代) * @en Whether the input is error.(Deprecated, removed in the next major version, use status='error' instead) * @deprecated status="error" */ error?: boolean; /** * @zh 状态 * @en Status * @version 2.45.0 */ status?: 'error' | 'warning'; /** * @zh 设置宽度自适应。minWidth 默认为 0,maxWidth 默认为 100% * @en auto width. minWidth defaults to 0, maxWidth defaults to 100% * @version 2.54.0 */ autoWidth?: boolean | { minWidth?: CSSProperties['minWidth']; maxWidth?: CSSProperties['maxWidth']; }; /** /** * @zh 输入时的回调 * @en Callback when user input */ onChange?: (value: string, e: any) => void; /** * @zh 点击清除按钮的回调 * @en Callback when click clear button */ onClear?: () => void; /** * @zh 按下回车键的回调 * @en Callback when press enter key */ onPressEnter?: (e: any) => void; /** * @zh 指定 normalize 执行的时机 * @en Specify the timing of normalize execution * @version 2.50.0 * @defaultValue ['onBlur'] */ normalizeTrigger?: ('onBlur' | 'onPressEnter')[]; /** * @zh 在指定时机对用户输入的值进行格式化处理。前后值不一致时,会触发 onChange * @en Format the value entered by the user at the specified time, and when the previous and subsequent values are inconsistent, onChange will be triggered * @version 2.50.0 */ normalize?: (value: string) => string; /** * @zh 输入框前添加元素 * @en The label text displayed before (on the left side of) the input field */ addBefore?: ReactNode; /** * @zh 输入框后添加元素 * @en The label text displayed after (on the right side of) the input field */ addAfter?: ReactNode; /** * @zh 添加前缀文字或者图标 * @en The prefix icon or text for the Input */ prefix?: ReactNode; /** * @zh 添加后缀文字或者图标 * @en The suffix icon or text for the Input */ suffix?: ReactNode; /** * @zh 输入框的值,受控模式 * @en The input content value */ value?: string; /** * @zh 输入框前添加元素的样式 * @en The additional css style of the `addBefore` element */ beforeStyle?: object; /** * @zh 输入框后添加元素的样式 * @en The additional css style of the `addAfter` element */ afterStyle?: object; /** * @zh 输入框的尺寸 * @en The size of the input box * @defaultValue default */ size?: 'mini' | 'small' | 'default' | 'large'; /** * @zh 自定义输入框高度 * @en Custom input height */ height?: number | string; /** * @zh 输入框最大输入的长度;设置 `errorOnly`为 `true` 后,超过 `maxLength` 会展示 `error` 状态,并不限制用户输入。 * @en The max content length;After setting `errorOnly` to `true`, if `maxLength` is exceeded, the `error` status will be displayed, and user input will not be restricted. * @version `errorOnly` in 2.23.0 */ maxLength?: number | { length: number; errorOnly?: boolean; }; /** * @zh 配合 `maxLength`,显示字数统计 * @en With `maxLength`, Show word count. */ showWordLimit?: boolean; /** * @zh `allowClear` 时配置清除按钮的图标。 * @en Configure the icon of the clear button when `allowClear`. * @version 2.50.0 */ clearIcon?: ReactNode; } interface ButtonProps { style?: CSSProperties; className?: string | string[]; children?: ReactNode; /** * @zh * 按钮主要分为六种按钮类型:主要按钮、次级按钮、虚框按钮、文字按钮、线性按钮,`default` 为次级按钮。 * @en * A variety of button types are available: `primary`, `secondary`, `dashed`, * `text`, `linear` and `default` which is the secondary. * @defaultValue default */ type?: 'default' | 'primary' | 'secondary' | 'dashed' | 'text' | 'outline'; /** * @zh 按钮状态 * @en Status of the button * @defaultValue default */ status?: 'warning' | 'danger' | 'success' | 'default'; /** * @zh 按钮的尺寸 * @en Size of the button * @defaultValue default */ size?: 'mini' | 'small' | 'default' | 'large'; /** * @zh 按钮形状,`circle` - 圆形, `round` - 全圆角, `square` - 长方形 * @en Three button shapes are available: `circle`, `round` and `square` * @defaultValue square */ shape?: 'circle' | 'round' | 'square'; /** * @zh 添加跳转链接,设置此属性,button表现跟a标签一致 * @en The button behaves like `` with href as target url. */ href?: string; /** * @zh a 链接的 target 属性,href 存在时生效 * @en The target attribute of the link, which takes effect when href exists. */ target?: string; /** * @zh a 链接的原生属性,href 存在时生效 * @en The native attribute of the link, which takes effect when href exists */ anchorProps?: HTMLProps; /** * @zh 是否禁用 * @en Whether to disable the button */ disabled?: boolean; /** * @zh 按钮是否是加载状态 * @en Whether the button is in the loading state */ loading?: boolean; /** * @zh 当 loading 的时候,不改变按钮的宽度。 * @en The width of the button remains unchanged on loading */ loadingFixedWidth?: boolean; /** * @zh 设置按钮的图标 * @en Icon of the button */ icon?: ReactNode; /** * @zh 只有图标,按钮宽高相等。如果指定 `icon` 且没有 children,`iconOnly` 默认为 true * @en Whether to show icon only, in which case the button width and height are equal. If `icon` is specified and there are no children, `iconOnly` defaults to `true` */ iconOnly?: boolean; /** * @zh 按钮宽度随容器自适应。 * @en Whether the width of the button should adapt to the container. */ long?: boolean; /** * @zh 点击按钮的回调 * @en Callback fired when the button is clicked */ onClick?: (e: Event) => void; } interface CheckboxProps { style?: CSSProperties; className?: string | string[]; /** * @zh 是否禁用 * @en Whether to disable */ disabled?: boolean; /** * @zh 错误样式 * @en Whether to show in error style */ error?: boolean; /** * @zh 是否选中 * @en Whether the checkbox is checked */ checked?: boolean; /** * @zh 默认是否选中 * @en To set default checked */ defaultChecked?: boolean; /** * @zh 半选状态 * @en The indeterminate state of checkbox */ indeterminate?: boolean; /** * @zh 点击复选框的回调 * @en Callback when the state changes */ onChange?: (checked: boolean, e: Event) => void; /** * @zh 复选框的 value 属性 * @en To set checkbox value */ value?: T; /** * @zh 自定义 IconCheck * @en Custom IconCheck * @version 2.43.0 */ icon?: ReactNode; checkboxGroupValue?: T[]; onGroupChange?: (value: T, checked: boolean) => void; isCheckboxGroup?: boolean; children?: ReactNode | ((value: { checked: boolean; indeterminate: boolean; }) => ReactNode); } interface SelectProps { /** * @zh 选择框的默认值 * @en To set default value */ defaultValue?: string | string[] | number | number[] | LabeledValue | LabeledValue[]; /** * @zh 选择器的值(受控模式) * @en To set value */ value?: string | string[] | number | number[] | LabeledValue | LabeledValue[]; /** * @zh 输入框的值(受控模式) * @en To set input value */ inputValue?: string; /** * @zh 是否开启多选模式或标签模式 (**`tags` 推荐使用 `mode: multiple; allowCreate: true` 替代,下一大版本将移除此模式**) * @en Set mode of Select(**`tags` recommends using `mode: multiple; allowCreate: true` instead, this mode will be removed in the next major version**) */ mode?: 'multiple' | 'tags'; /** * @zh 指定可选项 * @en Select options * @version `extra` in 2.2.0 */ options?: (string | number | { label: ReactNode | string; value: string | number; disabled?: boolean; extra?: any; })[]; /** * @zh 设置 `onChange` 回调中 `value` 的格式。默认是string,设置为true时候,value格式为: { label: string, value: string } * @en Whether to embed label in value, turn the format of value from string to `{ value: string, label: ReactNode }` */ labelInValue?: boolean; /** * @zh 是否根据输入的值筛选数据。如果传入函数的话,接收 `inputValue` 和 `option` 两个参数,当option符合筛选条件时,返回 `true`,反之返回 `false`。 * @en If it's true, filter options by input value. If it's a function, filter options base on the function. * @defaultValue true */ filterOption?: boolean | ((inputValue: string, option: ReactElement) => boolean); /** * @zh * 定制回显内容。返回值将会显示在下拉框内。若 `value` 对应的 `Option` 不存在,则第一个参数是 null * @en * Customize the content that will be displayed in the Select. * If the `Option` corresponding to `value` does not exist, the first parameter will be `null` */ renderFormat?: (option: OptionInfo | null, value: string | number | LabeledValue) => ReactNode; /** * @zh 是否默认高亮第一个选项 * @en Whether to highlight the first option by default * @defaultValue true */ defaultActiveFirstOption?: boolean; /** * @zh 是否允许通过输入创建新的选项。 * @en Whether to allow new options to be created by input. * @version 2.13.0, `{ formatter }` in 2.54.0 */ allowCreate?: boolean | { formatter: (inputValue: string, creating: boolean) => SelectProps['options'][number]; }; /** * @zh 是否在隐藏的时候销毁 DOM 结构 * @en Whether to destroy the DOM when hiding * @defaultValue true */ unmountOnExit?: boolean; /** * @zh 下拉框是否默认打开。 * @en Whether to show dropdown by default. * @version 2.14.0 */ defaultPopupVisible?: boolean; /** * @zh 控制下拉框是否打开。 * @en Whether to show dropdown. * @version 2.6.0 */ popupVisible?: boolean; /** * @zh 没有数据时显示的内容 * @en Specify content to show when no result matches. */ notFoundContent?: ReactNode; /** * @zh 在多选模式下自动分词的分隔符。 * @en Separator used to tokenize on `multiple` mode. */ tokenSeparators?: string[]; /** * @zh 弹出框挂载的父节点。 * @en To set the container of the dropdown. */ getPopupContainer?: (node: HTMLElement) => Element; /** * @zh 触发方式。 * @en The trigger mode which executes the dropdown action. * @defaultValue click */ trigger?: TriggerProps['trigger']; /** * @zh 自定义触发元素。 * @en The trigger element which executes the dropdown action. * @version `() => ReactNode` in 2.31.0 */ triggerElement?: ReactNode | ((params: { value: any; option: OptionInfo | OptionInfo[]; }) => ReactNode); /** * @zh 可以接受所有 `Trigger` 的 `Props` * @en Pass all `Trigger` component properties */ triggerProps?: Partial; /** * @zh 自定义弹出内容。 * @en Customize dropdown content */ dropdownRender?: (menu: ReactNode) => ReactNode; /** * @zh 下拉列表的样式。 * @en The style of dropdown menu. */ dropdownMenuStyle?: CSSProperties; /** * @zh 下拉列表的类。 * @en The className of dropdown menu. */ dropdownMenuClassName?: string | string[]; /** * @zh 传递虚拟滚动属性。 * @en Pass properties used by VirtualList. * @version 2.1.0 */ virtualListProps?: AvailableVirtualListProps; /** * @zh 点击选择框的回调 * @en Callback when select an option or input value change. */ onChange?: (value: any, option: OptionInfo | OptionInfo[]) => void; /** * @zh 选中选项时触发的回调,(只在 `multiple` 模式下触发)。 * @en Called when an option is selected. Only called for `multiple` mode. * @version 2.52.0 */ onSelect?: (value: string | number | LabeledValue, option: OptionInfo) => void; /** * @zh 取消选中的时候触发的回调,(只在 `multiple` 模式下触发)。 * @en Called when an option is deselected. Only called for `multiple` mode. */ onDeselect?: (value: string | number | LabeledValue, option: OptionInfo) => void; /** * @zh 点击清除时触发,参数是当前下拉框的展开状态。 * @en Called when clear */ onClear?: (visible: boolean) => void; /** * @zh 搜索时的回调 * @en Callback when input changed */ onSearch?: (value: string, reason: InputValueChangeReason) => void; /** * @zh 获得焦点时的回调 * @en Callback when get focus */ onFocus?: (e: any) => void; /** * @zh 失去焦点时的回调 * @en Callback when lose focus */ onBlur?: (e: any) => void; /** * @zh 下拉框的滚动监听函数,参数为滚动元素。 * @en Callback when dropdown scrolls. */ onPopupScroll?: (elem: any) => void; /** * @zh 下拉框收起展开时触发 * @en Callback when visibility of dropdown is changed. */ onVisibleChange?: (visible: boolean) => void; /** * @zh 输入框文本改变的回调。 * @en Callback when the value of input is changed. * @version 2.3.0 */ onInputValueChange?: (value: string, reason: InputValueChangeReason) => void; /** * @zh 输入框文本粘贴的回调。 * @en Callback when the you paste text in input box. * @version 2.9.0 */ onPaste?: (e: any) => void; } interface DrawerProps { style?: CSSProperties; className?: string | string[]; /** * @zh 设置抽屉的 zIndex * @en Set the zIndex of the drawer * @version 2.42.0 */ zIndex?: number; children?: ReactNode; /** * @zh 设置外层容器的类名 * @en The additional class name of the container of the drawer dialog */ wrapClassName?: string | string[]; /** * @zh 弹出框的标题(设置为 null 时,不显示标题栏) * @en The title element. Drawer will not render the title element when `title` is `null` */ title?: ReactNode; /** * @zh 自定义按钮确认和取消按钮,为 null 的话没有按钮组 * @en The footer element. Drawer will not render the footer element when `footer` is `null` */ footer?: ReactNode; /** * @zh 头部的样式 * @en The additional css style for header * @version 2.9.0 */ headerStyle?: CSSProperties; /** * @zh 内容区域的样式 * @en The additional css style for content * @version 2.9.0 */ bodyStyle?: CSSProperties; /** * @zh 设置遮罩层的样式 * @en Style of the drawer mask */ maskStyle?: CSSProperties; /** * @zh 确认按钮文案 * @en Text of the OK button */ okText?: ReactNode; /** * @zh 取消按钮文案 * @en Text of the Cancel button */ cancelText?: ReactNode; /** * @zh 确认按钮的 props * @en The props of `ok` button * @version 2.26.0 */ okButtonProps?: ButtonProps; /** * @zh 取消按钮的 props * @en The props of `cancel` button * @version 2.26.0 */ cancelButtonProps?: ButtonProps; /** * @zh 抽屉的方向 `top` `right` `bottom` `left` * @en The placement of the drawer: `top` `right` `bottom` `left` * @defaultValue right */ placement?: 'top' | 'right' | 'bottom' | 'left'; /** * @zh 抽屉的宽度,`placement`为 `left` `right` 时生效 * @en The width of the drawer dialog. Only works when `placement` is `left` or `right` * @defaultValue 250 */ width?: string | number; /** * @zh 抽屉的高度,`placement`为 `top` `bottom` 时生效 * @en The height of the drawer dialog. Only works when `placement` is `top` or `bottom` * @defaultValue 250 */ height?: string | number; /** * @zh 按 `ESC` 键关闭 * @en Whether to enable pressing `ESC` to close the drawer. * @defaultValue true * @version 2.10.0 */ escToExit?: boolean; /** * @zh 是否显示遮罩 * @en Whether to show mask * @defaultValue true */ mask?: boolean; /** * @zh 是否显示弹出框 * @en Visibility of the drawer */ visible?: boolean; /** * @zh 是否显示右上角关闭按钮 * @en Whether to show the close button on top-right of the drawer dialog * @defaultValue true */ closable?: boolean; /** * @zh 自定义右上角关闭按钮 * @en Custom the close button on top-right of the drawer dialog * @version 2.49.0 */ closeIcon?: ReactNode; /** * @zh 点击蒙层是否可以关闭 * @en Whether to close the drawer when the mask is clicked * @defaultValue true */ maskClosable?: boolean; /** * @zh 确认按钮是否为加载中状态 * @en Whether the OK button is in loading state */ confirmLoading?: boolean; /** * @zh 是否在初次打开对话框时才渲染 dom。 * @en Whether to render the drawer component only when it is opened initially. * @defaultValue true */ mountOnEnter?: boolean; /** * @zh 是否在隐藏的时候销毁 DOM 结构 * @en Whether to unmount component when hidden */ unmountOnExit?: boolean; /** * @zh 点击确认按钮的回调 * @en Callback when the OK button is clicked */ onOk?: (e: Event) => void; /** * @zh 关闭弹出框的回调 * @en Callback when the Cancel button is clicked */ onCancel?: (e: MouseEvent | Event) => void; /** * @zh 抽屉打开之后的回调 * @en Callback when drawer is opened */ afterOpen?: () => void; /** * @zh 抽屉关闭之后的回调 * @en Callback when drawer is closed */ afterClose?: () => void; /** * @zh 指定弹出框挂载的父节点 * @en Parent node which the drawer should be rendered to. * @defaultValue () => document.body */ getPopupContainer?: () => Element; /** * @zh 抽屉里的弹出框 `Select` `Tooltip` 等挂载的容器,默认挂载在对话框内。 * @en Set the mount node for popup such as `Select`, `Tooltip`, etc. Default to the drawer dialog. */ getChildrenPopupContainer?: (node: HTMLElement) => Element; /** * @zh 是否默认聚焦第一个可聚焦元素,只在 `focusLock` 开启时生效。 * @en Whether to focus on the first focusable element by default. Only works when `focusLock` is turned on. * @defaultValue true * @version 2.13.0 */ autoFocus?: boolean; /** * @zh 是否将焦点锁定在弹出框内。 * @en Whether to lock the focus in the drawer box. * @defaultValue true * @version 2.13.0 */ focusLock?: boolean; } interface TypographyProps { style?: CSSProperties; className?: string | string[]; children?: ReactNode; } interface CommonProps extends TypographyProps { /** * @zh 文本类型 * @en Text type */ type?: 'primary' | 'secondary' | 'success' | 'error' | 'warning'; /** * @zh 粗体 * @en Bold style */ bold?: boolean; /** * @zh 禁用状态 * @en Disabled style */ disabled?: boolean; /** * @zh 标记样式 * @en Mark style */ mark?: boolean | { color: string; }; /** * @zh 下划线样式 * @en Underline style */ underline?: boolean; /** * @zh 删除线样式 * @en Strikethrough style */ delete?: boolean; /** * @zh 代码块样式 * @en Code block style */ code?: boolean; } interface TypographyTextProps extends CommonProps {}; interface TypographyTitleProps extends CommonProps { /** * @zh 标题级别,相当于 `h1` `h2` `h3` `h4` `h5` `h6` * @en Heading level, equivalent to `h1` `h2` `h3` `h4` `h5` `h6` * @defaultValue 1 */ heading?: 1 | 2 | 3 | 4 | 5 | 6; } interface TypographyParagraphProps extends CommonProps { /** * @zh 长引用 * @en Blockquote style */ blockquote?: boolean; /** * @zh * 段落的的行高,长文本(大于5行)的时候推荐使用默认行高,短文本(小于等于3行)推荐使用 `close` 紧密的行高。 * @en * The line height of the paragraph. The default line height is recommended for long text (more than 5 lines), * and the close line height of `close` is recommended for short text (less than or equal to 3 lines). * @defaultValue default */ spacing?: 'default' | 'close'; } interface TableProps { /** 是否显示单元格边框 */ borderCell?: boolean, /** 默认展开所有可展开行 */ defaultExpandAllRows?: boolean, /** 鼠标悬浮高亮 */ hover?: boolean, /** 是否显示表头 */ showHeader?: boolean, /** 斑马纹 */ stripe?: boolean, /** 表格布局固定 */ tableLayoutFixed?: boolean, /** 开启虚拟滚动 */ virtualized?: boolean, /** 树形数据缩进 */ indentSize?: number, /** 树形子节点字段名 */ childrenColumnName?: string, /** 分页、排序、筛选变化回调 */ onChange?: ( pagination: any, sorter: any | any[], filters: any, extra: { currentData: any[]; currentAllData: any[]; action: string } ) => void, /** 分页位置 */ pagePosition?: 'br' | 'bl' | 'tr' | 'tl' | 'topCenter' | 'bottomCenter', /** 表格尺寸 */ size?: 'default' | 'middle' | 'small' | 'mini', /** 空数据提示 */ noDataElement?: string | ReactNode, /** 空内容占位符 */ placeholder?: ReactNode, /** 边框配置 */ border?: boolean | { wrapper?: boolean; headerCell?: boolean; bodyCell?: boolean; cell?: boolean }, className?: string | string[], /** 列配置 */ columns?: any[], /** 覆盖原生标签 */ components?: any, /** 表格数据 */ data?: any[], /** 默认展开行 key */ defaultExpandedRowKeys?: (string | number)[], /** 受控展开行 key */ expandedRowKeys?: (string | number)[], /** 展开列配置 */ expandProps?: { expandRowByClick?: boolean; strictTreeData?: boolean; width?: number; columnTitle?: ReactNode; icon?: (props: { expanded: boolean; record: any }) => ReactNode; rowExpandable?: (record: any) => boolean; }, /** 加载状态 */ loading?: boolean | any, /** 表头行事件 */ onHeaderRow?: (columns: any[], index: number) => any, /** 分页配置 */ pagination?: any | boolean, /** 行选择配置 */ rowSelection?: { checkAll?: boolean; checkCrossPage?: boolean; checkStrictly?: boolean; fixed?: boolean; preserveSelectedRowKeys?: boolean; columnWidth?: number; type?: 'checkbox' | 'radio'; columnTitle?: string | ReactNode; selectedRowKeys?: (string | number)[]; checkboxProps?: (record: any) => any; onChange?: (selectedRowKeys: (string | number)[], selectedRows: any[]) => void; onSelect?: (selected: boolean, record: any, selectedRows: any[]) => void; onSelectAll?: (selected: boolean, selectedRows: any[]) => void; renderCell?: (originNode: ReactNode, checked: boolean, record: any) => ReactNode; }, /** 滚动配置 */ scroll?: { x?: number | string | boolean; y?: number | string | boolean }, /** 排序提示 */ showSorterTooltip?: boolean | any, style?: CSSProperties, /** 虚拟滚动配置 */ virtualListProps?: any, /** 展开行渲染 */ expandedRowRender?: (record: any, index: number) => ReactNode, /** 表格底部 */ footer?: (currentPageDate: any[]) => ReactNode, /** 行展开关闭回调 */ onExpand?: (record: any, expanded: boolean) => void, /** 展开行变化回调 */ onExpandedRowsChange?: (expandedRows: (string | number)[]) => void, /** 表身行事件 */ onRow?: (record: any, index: number) => any, /** 自定义分页 */ renderPagination?: (paginationNode?: ReactNode) => ReactNode, /** 行类名 */ rowClassName?: (record: any, index: number) => string, /** 行 key */ rowKey?: string | ((record: any) => string | number), /** 总结栏 */ summary?: (currentData?: any[]) => ReactNode, } interface ModalProps { /** 垂直水平居中 */ alignCenter?: boolean, /** 是否默认聚焦首个可聚焦元素 */ autoFocus?: boolean, /** 是否显示右上角关闭按钮 */ closable?: boolean, /** 确认按钮加载状态 */ confirmLoading?: boolean, /** 按ESC关闭 */ escToExit?: boolean, /** 是否锁定焦点在弹窗内 */ focusLock?: boolean, /** 是否显示遮罩 */ mask?: boolean, /** 点击遮罩是否可关闭 */ maskClosable?: boolean, /** 初次打开时才渲染DOM */ mountOnEnter?: boolean, /** 简洁模式 */ simple?: boolean, /** 隐藏后是否销毁DOM */ unmountOnExit?: boolean, /** 是否可见 */ visible?: boolean, /** 取消按钮文案 */ cancelText?: ReactNode, /** 自定义关闭图标 */ closeIcon?: ReactNode, /** 确认按钮文案 */ okText?: ReactNode, /** 弹窗标题 */ title?: string | ReactNode, /** 取消按钮Props */ cancelButtonProps?: ButtonProps, className?: string | string[], /** 遮罩样式 */ maskStyle?: CSSProperties, /** 确认按钮Props */ okButtonProps?: ButtonProps, /** 点击确认回调 */ onOk?: (e?: MouseEvent) => Promise | void, style?: CSSProperties, /** 弹窗外层类名 */ wrapClassName?: string | string[], /** 弹窗外层样式 */ wrapStyle?: CSSProperties, /** 关闭后回调 */ afterClose?: () => void, /** 打开后回调 */ afterOpen?: () => void, /** 自定义页脚 */ footer?: ReactNode | ((cancelButtonNode: ReactNode, okButtonNode: ReactNode) => ReactNode), /** 内部弹出组件挂载容器 */ getChildrenPopupContainer?: (node: HTMLElement) => Element, /** 弹窗挂载节点 */ getPopupContainer?: () => Element, /** 自定义渲染弹窗 */ modalRender?: (modalNode: ReactNode) => ReactNode, /** 关闭弹窗回调 */ onCancel?: () => void, } interface DOMAttributes { children?: ReactNode | undefined; dangerouslySetInnerHTML?: { // Should be InnerHTML['innerHTML']. // But unfortunately we're mixing renderer-specific type declarations. __html: string | TrustedHTML; } | undefined; // Clipboard Events onCopy?: ClipboardEventHandler | undefined; onCopyCapture?: ClipboardEventHandler | undefined; onCut?: ClipboardEventHandler | undefined; onCutCapture?: ClipboardEventHandler | undefined; onPaste?: ClipboardEventHandler | undefined; onPasteCapture?: ClipboardEventHandler | undefined; // Composition Events onCompositionEnd?: CompositionEventHandler | undefined; onCompositionEndCapture?: CompositionEventHandler | undefined; onCompositionStart?: CompositionEventHandler | undefined; onCompositionStartCapture?: CompositionEventHandler | undefined; onCompositionUpdate?: CompositionEventHandler | undefined; onCompositionUpdateCapture?: CompositionEventHandler | undefined; // Focus Events onFocus?: FocusEventHandler | undefined; onFocusCapture?: FocusEventHandler | undefined; onBlur?: FocusEventHandler | undefined; onBlurCapture?: FocusEventHandler | undefined; // Form Events onChange?: FormEventHandler | undefined; onChangeCapture?: FormEventHandler | undefined; onBeforeInput?: InputEventHandler | undefined; onBeforeInputCapture?: FormEventHandler | undefined; onInput?: FormEventHandler | undefined; onInputCapture?: FormEventHandler | undefined; onReset?: FormEventHandler | undefined; onResetCapture?: FormEventHandler | undefined; onSubmit?: FormEventHandler | undefined; onSubmitCapture?: FormEventHandler | undefined; onInvalid?: FormEventHandler | undefined; onInvalidCapture?: FormEventHandler | undefined; // Image Events onLoad?: ReactEventHandler | undefined; onLoadCapture?: ReactEventHandler | undefined; onError?: ReactEventHandler | undefined; // also a Media Event onErrorCapture?: ReactEventHandler | undefined; // also a Media Event // Keyboard Events onKeyDown?: KeyboardEventHandler | undefined; onKeyDownCapture?: KeyboardEventHandler | undefined; /** @deprecated Use `onKeyUp` or `onKeyDown` instead */ onKeyPress?: KeyboardEventHandler | undefined; /** @deprecated Use `onKeyUpCapture` or `onKeyDownCapture` instead */ onKeyPressCapture?: KeyboardEventHandler | undefined; onKeyUp?: KeyboardEventHandler | undefined; onKeyUpCapture?: KeyboardEventHandler | undefined; // Media Events onAbort?: ReactEventHandler | undefined; onAbortCapture?: ReactEventHandler | undefined; onCanPlay?: ReactEventHandler | undefined; onCanPlayCapture?: ReactEventHandler | undefined; onCanPlayThrough?: ReactEventHandler | undefined; onCanPlayThroughCapture?: ReactEventHandler | undefined; onDurationChange?: ReactEventHandler | undefined; onDurationChangeCapture?: ReactEventHandler | undefined; onEmptied?: ReactEventHandler | undefined; onEmptiedCapture?: ReactEventHandler | undefined; onEncrypted?: ReactEventHandler | undefined; onEncryptedCapture?: ReactEventHandler | undefined; onEnded?: ReactEventHandler | undefined; onEndedCapture?: ReactEventHandler | undefined; onLoadedData?: ReactEventHandler | undefined; onLoadedDataCapture?: ReactEventHandler | undefined; onLoadedMetadata?: ReactEventHandler | undefined; onLoadedMetadataCapture?: ReactEventHandler | undefined; onLoadStart?: ReactEventHandler | undefined; onLoadStartCapture?: ReactEventHandler | undefined; onPause?: ReactEventHandler | undefined; onPauseCapture?: ReactEventHandler | undefined; onPlay?: ReactEventHandler | undefined; onPlayCapture?: ReactEventHandler | undefined; onPlaying?: ReactEventHandler | undefined; onPlayingCapture?: ReactEventHandler | undefined; onProgress?: ReactEventHandler | undefined; onProgressCapture?: ReactEventHandler | undefined; onRateChange?: ReactEventHandler | undefined; onRateChangeCapture?: ReactEventHandler | undefined; onSeeked?: ReactEventHandler | undefined; onSeekedCapture?: ReactEventHandler | undefined; onSeeking?: ReactEventHandler | undefined; onSeekingCapture?: ReactEventHandler | undefined; onStalled?: ReactEventHandler | undefined; onStalledCapture?: ReactEventHandler | undefined; onSuspend?: ReactEventHandler | undefined; onSuspendCapture?: ReactEventHandler | undefined; onTimeUpdate?: ReactEventHandler | undefined; onTimeUpdateCapture?: ReactEventHandler | undefined; onVolumeChange?: ReactEventHandler | undefined; onVolumeChangeCapture?: ReactEventHandler | undefined; onWaiting?: ReactEventHandler | undefined; onWaitingCapture?: ReactEventHandler | undefined; // MouseEvents onAuxClick?: MouseEventHandler | undefined; onAuxClickCapture?: MouseEventHandler | undefined; onClick?: MouseEventHandler | undefined; onClickCapture?: MouseEventHandler | undefined; onContextMenu?: MouseEventHandler | undefined; onContextMenuCapture?: MouseEventHandler | undefined; onDoubleClick?: MouseEventHandler | undefined; onDoubleClickCapture?: MouseEventHandler | undefined; onDrag?: DragEventHandler | undefined; onDragCapture?: DragEventHandler | undefined; onDragEnd?: DragEventHandler | undefined; onDragEndCapture?: DragEventHandler | undefined; onDragEnter?: DragEventHandler | undefined; onDragEnterCapture?: DragEventHandler | undefined; onDragExit?: DragEventHandler | undefined; onDragExitCapture?: DragEventHandler | undefined; onDragLeave?: DragEventHandler | undefined; onDragLeaveCapture?: DragEventHandler | undefined; onDragOver?: DragEventHandler | undefined; onDragOverCapture?: DragEventHandler | undefined; onDragStart?: DragEventHandler | undefined; onDragStartCapture?: DragEventHandler | undefined; onDrop?: DragEventHandler | undefined; onDropCapture?: DragEventHandler | undefined; onMouseDown?: MouseEventHandler | undefined; onMouseDownCapture?: MouseEventHandler | undefined; onMouseEnter?: MouseEventHandler | undefined; onMouseLeave?: MouseEventHandler | undefined; onMouseMove?: MouseEventHandler | undefined; onMouseMoveCapture?: MouseEventHandler | undefined; onMouseOut?: MouseEventHandler | undefined; onMouseOutCapture?: MouseEventHandler | undefined; onMouseOver?: MouseEventHandler | undefined; onMouseOverCapture?: MouseEventHandler | undefined; onMouseUp?: MouseEventHandler | undefined; onMouseUpCapture?: MouseEventHandler | undefined; // Selection Events onSelect?: ReactEventHandler | undefined; onSelectCapture?: ReactEventHandler | undefined; // Touch Events onTouchCancel?: TouchEventHandler | undefined; onTouchCancelCapture?: TouchEventHandler | undefined; onTouchEnd?: TouchEventHandler | undefined; onTouchEndCapture?: TouchEventHandler | undefined; onTouchMove?: TouchEventHandler | undefined; onTouchMoveCapture?: TouchEventHandler | undefined; onTouchStart?: TouchEventHandler | undefined; onTouchStartCapture?: TouchEventHandler | undefined; // Pointer Events onPointerDown?: PointerEventHandler | undefined; onPointerDownCapture?: PointerEventHandler | undefined; onPointerMove?: PointerEventHandler | undefined; onPointerMoveCapture?: PointerEventHandler | undefined; onPointerUp?: PointerEventHandler | undefined; onPointerUpCapture?: PointerEventHandler | undefined; onPointerCancel?: PointerEventHandler | undefined; onPointerCancelCapture?: PointerEventHandler | undefined; onPointerEnter?: PointerEventHandler | undefined; onPointerLeave?: PointerEventHandler | undefined; onPointerOver?: PointerEventHandler | undefined; onPointerOverCapture?: PointerEventHandler | undefined; onPointerOut?: PointerEventHandler | undefined; onPointerOutCapture?: PointerEventHandler | undefined; onGotPointerCapture?: PointerEventHandler | undefined; onGotPointerCaptureCapture?: PointerEventHandler | undefined; onLostPointerCapture?: PointerEventHandler | undefined; onLostPointerCaptureCapture?: PointerEventHandler | undefined; // UI Events onScroll?: UIEventHandler | undefined; onScrollCapture?: UIEventHandler | undefined; // Wheel Events onWheel?: WheelEventHandler | undefined; onWheelCapture?: WheelEventHandler | undefined; // Animation Events onAnimationStart?: AnimationEventHandler | undefined; onAnimationStartCapture?: AnimationEventHandler | undefined; onAnimationEnd?: AnimationEventHandler | undefined; onAnimationEndCapture?: AnimationEventHandler | undefined; onAnimationIteration?: AnimationEventHandler | undefined; onAnimationIterationCapture?: AnimationEventHandler | undefined; // Transition Events onTransitionEnd?: TransitionEventHandler | undefined; onTransitionEndCapture?: TransitionEventHandler | undefined; } interface AriaAttributes { /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ "aria-activedescendant"?: string | undefined; /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ "aria-atomic"?: Booleanish | undefined; /** * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be * presented if they are made. */ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined; /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ /** * Defines a string value that labels the current element, which is intended to be converted into Braille. * @see aria-label. */ "aria-braillelabel"?: string | undefined; /** * Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille. * @see aria-roledescription. */ "aria-brailleroledescription"?: string | undefined; "aria-busy"?: Booleanish | undefined; /** * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. * @see aria-pressed @see aria-selected. */ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined; /** * Defines the total number of columns in a table, grid, or treegrid. * @see aria-colindex. */ "aria-colcount"?: number | undefined; /** * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. * @see aria-colcount @see aria-colspan. */ "aria-colindex"?: number | undefined; /** * Defines a human readable text alternative of aria-colindex. * @see aria-rowindextext. */ "aria-colindextext"?: string | undefined; /** * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-colindex @see aria-rowspan. */ "aria-colspan"?: number | undefined; /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see aria-owns. */ "aria-controls"?: string | undefined; /** Indicates the element that represents the current item within a container or set of related elements. */ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined; /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby */ "aria-describedby"?: string | undefined; /** * Defines a string value that describes or annotates the current element. * @see related aria-describedby. */ "aria-description"?: string | undefined; /** * Identifies the element that provides a detailed, extended description for the object. * @see aria-describedby. */ "aria-details"?: string | undefined; /** * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. * @see aria-hidden @see aria-readonly. */ "aria-disabled"?: Booleanish | undefined; /** * Indicates what functions can be performed when a dragged object is released on the drop target. * @deprecated in ARIA 1.1 */ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined; /** * Identifies the element that provides an error message for the object. * @see aria-invalid @see aria-describedby. */ "aria-errormessage"?: string | undefined; /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ "aria-expanded"?: Booleanish | undefined; /** * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, * allows assistive technology to override the general default of reading in document source order. */ "aria-flowto"?: string | undefined; /** * Indicates an element's "grabbed" state in a drag-and-drop operation. * @deprecated in ARIA 1.1 */ "aria-grabbed"?: Booleanish | undefined; /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined; /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. */ "aria-hidden"?: Booleanish | undefined; /** * Indicates the entered value does not conform to the format expected by the application. * @see aria-errormessage. */ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined; /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ "aria-keyshortcuts"?: string | undefined; /** * Defines a string value that labels the current element. * @see aria-labelledby. */ "aria-label"?: string | undefined; /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby. */ "aria-labelledby"?: string | undefined; /** Defines the hierarchical level of an element within a structure. */ "aria-level"?: number | undefined; /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ "aria-live"?: "off" | "assertive" | "polite" | undefined; /** Indicates whether an element is modal when displayed. */ "aria-modal"?: Booleanish | undefined; /** Indicates whether a text box accepts multiple lines of input or only a single line. */ "aria-multiline"?: Booleanish | undefined; /** Indicates that the user may select more than one item from the current selectable descendants. */ "aria-multiselectable"?: Booleanish | undefined; /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ "aria-orientation"?: "horizontal" | "vertical" | undefined; /** * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. * @see aria-controls. */ "aria-owns"?: string | undefined; /** * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. * A hint could be a sample value or a brief description of the expected format. */ "aria-placeholder"?: string | undefined; /** * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-setsize. */ "aria-posinset"?: number | undefined; /** * Indicates the current "pressed" state of toggle buttons. * @see aria-checked @see aria-selected. */ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined; /** * Indicates that the element is not editable, but is otherwise operable. * @see aria-disabled. */ "aria-readonly"?: Booleanish | undefined; /** * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. * @see aria-atomic. */ "aria-relevant"?: | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined; /** Indicates that user input is required on the element before a form may be submitted. */ "aria-required"?: Booleanish | undefined; /** Defines a human-readable, author-localized description for the role of an element. */ "aria-roledescription"?: string | undefined; /** * Defines the total number of rows in a table, grid, or treegrid. * @see aria-rowindex. */ "aria-rowcount"?: number | undefined; /** * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. * @see aria-rowcount @see aria-rowspan. */ "aria-rowindex"?: number | undefined; /** * Defines a human readable text alternative of aria-rowindex. * @see aria-colindextext. */ "aria-rowindextext"?: string | undefined; /** * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-rowindex @see aria-colspan. */ "aria-rowspan"?: number | undefined; /** * Indicates the current "selected" state of various widgets. * @see aria-checked @see aria-pressed. */ "aria-selected"?: Booleanish | undefined; /** * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-posinset. */ "aria-setsize"?: number | undefined; /** Indicates if items in a table or grid are sorted in ascending or descending order. */ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined; /** Defines the maximum allowed value for a range widget. */ "aria-valuemax"?: number | undefined; /** Defines the minimum allowed value for a range widget. */ "aria-valuemin"?: number | undefined; /** * Defines the current value for a range widget. * @see aria-valuetext. */ "aria-valuenow"?: number | undefined; /** Defines the human readable text alternative of aria-valuenow for a range widget. */ "aria-valuetext"?: string | undefined; } interface HTMLAttributes extends AriaAttributes, DOMAttributes { // React-specific Attributes defaultChecked?: boolean | undefined; defaultValue?: string | number | readonly string[] | undefined; suppressContentEditableWarning?: boolean | undefined; suppressHydrationWarning?: boolean | undefined; // Standard HTML Attributes accessKey?: string | undefined; autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}); autoFocus?: boolean | undefined; className?: string | undefined; contentEditable?: Booleanish | "inherit" | "plaintext-only" | undefined; contextMenu?: string | undefined; dir?: string | undefined; draggable?: Booleanish | undefined; enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined; hidden?: boolean | undefined; id?: string | undefined; lang?: string | undefined; nonce?: string | undefined; slot?: string | undefined; spellCheck?: Booleanish | undefined; style?: CSSProperties | undefined; tabIndex?: number | undefined; title?: string | undefined; translate?: "yes" | "no" | undefined; // Unknown radioGroup?: string | undefined; // , // WAI-ARIA role?: AriaRole | undefined; // RDFa Attributes about?: string | undefined; content?: string | undefined; datatype?: string | undefined; inlist?: any; prefix?: string | undefined; property?: string | undefined; rel?: string | undefined; resource?: string | undefined; rev?: string | undefined; typeof?: string | undefined; vocab?: string | undefined; // Non-standard Attributes autoCorrect?: string | undefined; autoSave?: string | undefined; color?: string | undefined; itemProp?: string | undefined; itemScope?: boolean | undefined; itemType?: string | undefined; itemID?: string | undefined; itemRef?: string | undefined; results?: number | undefined; security?: string | undefined; unselectable?: "on" | "off" | undefined; // Living Standard /** * Hints at the type of data that might be entered by the user while editing the element or its contents * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute} */ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined; /** * Specify that a standard HTML element should behave like a defined custom built-in element * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is} */ is?: string | undefined; /** * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/exportparts} */ exportparts?: string | undefined; /** * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/part} */ part?: string | undefined; } interface SVGAttributes extends AriaAttributes, DOMAttributes { // React-specific Attributes suppressHydrationWarning?: boolean | undefined; // Attributes which also defined in HTMLAttributes // See comment in SVGDOMPropertyConfig.js className?: string | undefined; color?: string | undefined; height?: number | string | undefined; id?: string | undefined; lang?: string | undefined; max?: number | string | undefined; media?: string | undefined; method?: string | undefined; min?: number | string | undefined; name?: string | undefined; style?: CSSProperties | undefined; target?: string | undefined; type?: string | undefined; width?: number | string | undefined; // Other HTML properties supported by SVG elements in browsers role?: AriaRole | undefined; tabIndex?: number | undefined; crossOrigin?: CrossOrigin; // SVG Specific attributes accentHeight?: number | string | undefined; accumulate?: "none" | "sum" | undefined; additive?: "replace" | "sum" | undefined; alignmentBaseline?: | "auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "inherit" | undefined; allowReorder?: "no" | "yes" | undefined; alphabetic?: number | string | undefined; amplitude?: number | string | undefined; arabicForm?: "initial" | "medial" | "terminal" | "isolated" | undefined; ascent?: number | string | undefined; attributeName?: string | undefined; attributeType?: string | undefined; autoReverse?: Booleanish | undefined; azimuth?: number | string | undefined; baseFrequency?: number | string | undefined; baselineShift?: number | string | undefined; baseProfile?: number | string | undefined; bbox?: number | string | undefined; begin?: number | string | undefined; bias?: number | string | undefined; by?: number | string | undefined; calcMode?: number | string | undefined; capHeight?: number | string | undefined; clip?: number | string | undefined; clipPath?: string | undefined; clipPathUnits?: number | string | undefined; clipRule?: number | string | undefined; colorInterpolation?: number | string | undefined; colorInterpolationFilters?: "auto" | "sRGB" | "linearRGB" | "inherit" | undefined; colorProfile?: number | string | undefined; colorRendering?: number | string | undefined; contentScriptType?: number | string | undefined; contentStyleType?: number | string | undefined; cursor?: number | string | undefined; cx?: number | string | undefined; cy?: number | string | undefined; d?: string | undefined; decelerate?: number | string | undefined; descent?: number | string | undefined; diffuseConstant?: number | string | undefined; direction?: number | string | undefined; display?: number | string | undefined; divisor?: number | string | undefined; dominantBaseline?: | "auto" | "use-script" | "no-change" | "reset-size" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "central" | "middle" | "text-after-edge" | "text-before-edge" | "inherit" | undefined; dur?: number | string | undefined; dx?: number | string | undefined; dy?: number | string | undefined; edgeMode?: number | string | undefined; elevation?: number | string | undefined; enableBackground?: number | string | undefined; end?: number | string | undefined; exponent?: number | string | undefined; externalResourcesRequired?: Booleanish | undefined; fill?: string | undefined; fillOpacity?: number | string | undefined; fillRule?: "nonzero" | "evenodd" | "inherit" | undefined; filter?: string | undefined; filterRes?: number | string | undefined; filterUnits?: number | string | undefined; floodColor?: number | string | undefined; floodOpacity?: number | string | undefined; focusable?: Booleanish | "auto" | undefined; fontFamily?: string | undefined; fontSize?: number | string | undefined; fontSizeAdjust?: number | string | undefined; fontStretch?: number | string | undefined; fontStyle?: number | string | undefined; fontVariant?: number | string | undefined; fontWeight?: number | string | undefined; format?: number | string | undefined; fr?: number | string | undefined; from?: number | string | undefined; fx?: number | string | undefined; fy?: number | string | undefined; g1?: number | string | undefined; g2?: number | string | undefined; glyphName?: number | string | undefined; glyphOrientationHorizontal?: number | string | undefined; glyphOrientationVertical?: number | string | undefined; glyphRef?: number | string | undefined; gradientTransform?: string | undefined; gradientUnits?: string | undefined; hanging?: number | string | undefined; horizAdvX?: number | string | undefined; horizOriginX?: number | string | undefined; href?: string | undefined; ideographic?: number | string | undefined; imageRendering?: number | string | undefined; in2?: number | string | undefined; in?: string | undefined; intercept?: number | string | undefined; k1?: number | string | undefined; k2?: number | string | undefined; k3?: number | string | undefined; k4?: number | string | undefined; k?: number | string | undefined; kernelMatrix?: number | string | undefined; kernelUnitLength?: number | string | undefined; kerning?: number | string | undefined; keyPoints?: number | string | undefined; keySplines?: number | string | undefined; keyTimes?: number | string | undefined; lengthAdjust?: number | string | undefined; letterSpacing?: number | string | undefined; lightingColor?: number | string | undefined; limitingConeAngle?: number | string | undefined; local?: number | string | undefined; markerEnd?: string | undefined; markerHeight?: number | string | undefined; markerMid?: string | undefined; markerStart?: string | undefined; markerUnits?: number | string | undefined; markerWidth?: number | string | undefined; mask?: string | undefined; maskContentUnits?: number | string | undefined; maskUnits?: number | string | undefined; mathematical?: number | string | undefined; mode?: number | string | undefined; numOctaves?: number | string | undefined; offset?: number | string | undefined; opacity?: number | string | undefined; operator?: number | string | undefined; order?: number | string | undefined; orient?: number | string | undefined; orientation?: number | string | undefined; origin?: number | string | undefined; overflow?: number | string | undefined; overlinePosition?: number | string | undefined; overlineThickness?: number | string | undefined; paintOrder?: number | string | undefined; panose1?: number | string | undefined; path?: string | undefined; pathLength?: number | string | undefined; patternContentUnits?: string | undefined; patternTransform?: number | string | undefined; patternUnits?: string | undefined; pointerEvents?: number | string | undefined; points?: string | undefined; pointsAtX?: number | string | undefined; pointsAtY?: number | string | undefined; pointsAtZ?: number | string | undefined; preserveAlpha?: Booleanish | undefined; preserveAspectRatio?: string | undefined; primitiveUnits?: number | string | undefined; r?: number | string | undefined; radius?: number | string | undefined; refX?: number | string | undefined; refY?: number | string | undefined; renderingIntent?: number | string | undefined; repeatCount?: number | string | undefined; repeatDur?: number | string | undefined; requiredExtensions?: number | string | undefined; requiredFeatures?: number | string | undefined; restart?: number | string | undefined; result?: string | undefined; rotate?: number | string | undefined; rx?: number | string | undefined; ry?: number | string | undefined; scale?: number | string | undefined; seed?: number | string | undefined; shapeRendering?: number | string | undefined; slope?: number | string | undefined; spacing?: number | string | undefined; specularConstant?: number | string | undefined; specularExponent?: number | string | undefined; speed?: number | string | undefined; spreadMethod?: string | undefined; startOffset?: number | string | undefined; stdDeviation?: number | string | undefined; stemh?: number | string | undefined; stemv?: number | string | undefined; stitchTiles?: number | string | undefined; stopColor?: string | undefined; stopOpacity?: number | string | undefined; strikethroughPosition?: number | string | undefined; strikethroughThickness?: number | string | undefined; string?: number | string | undefined; stroke?: string | undefined; strokeDasharray?: string | number | undefined; strokeDashoffset?: string | number | undefined; strokeLinecap?: "butt" | "round" | "square" | "inherit" | undefined; strokeLinejoin?: "miter" | "round" | "bevel" | "inherit" | undefined; strokeMiterlimit?: number | string | undefined; strokeOpacity?: number | string | undefined; strokeWidth?: number | string | undefined; surfaceScale?: number | string | undefined; systemLanguage?: number | string | undefined; tableValues?: number | string | undefined; targetX?: number | string | undefined; targetY?: number | string | undefined; textAnchor?: "start" | "middle" | "end" | "inherit" | undefined; textDecoration?: number | string | undefined; textLength?: number | string | undefined; textRendering?: number | string | undefined; to?: number | string | undefined; transform?: string | undefined; transformOrigin?: string | undefined; u1?: number | string | undefined; u2?: number | string | undefined; underlinePosition?: number | string | undefined; underlineThickness?: number | string | undefined; unicode?: number | string | undefined; unicodeBidi?: number | string | undefined; unicodeRange?: number | string | undefined; unitsPerEm?: number | string | undefined; vAlphabetic?: number | string | undefined; values?: string | undefined; vectorEffect?: number | string | undefined; version?: string | undefined; vertAdvY?: number | string | undefined; vertOriginX?: number | string | undefined; vertOriginY?: number | string | undefined; vHanging?: number | string | undefined; vIdeographic?: number | string | undefined; viewBox?: string | undefined; viewTarget?: number | string | undefined; visibility?: number | string | undefined; vMathematical?: number | string | undefined; widths?: number | string | undefined; wordSpacing?: number | string | undefined; writingMode?: number | string | undefined; x1?: number | string | undefined; x2?: number | string | undefined; x?: number | string | undefined; xChannelSelector?: string | undefined; xHeight?: number | string | undefined; xlinkActuate?: string | undefined; xlinkArcrole?: string | undefined; xlinkHref?: string | undefined; xlinkRole?: string | undefined; xlinkShow?: string | undefined; xlinkTitle?: string | undefined; xlinkType?: string | undefined; xmlBase?: string | undefined; xmlLang?: string | undefined; xmlns?: string | undefined; xmlnsXlink?: string | undefined; xmlSpace?: string | undefined; y1?: number | string | undefined; y2?: number | string | undefined; y?: number | string | undefined; yChannelSelector?: string | undefined; z?: number | string | undefined; zoomAndPan?: string | undefined; } interface ImgHTMLAttributes extends HTMLAttributes { alt?: string | undefined; crossOrigin?: CrossOrigin; decoding?: "async" | "auto" | "sync" | undefined; fetchPriority?: "high" | "low" | "auto"; height?: number | string | undefined; loading?: "eager" | "lazy" | undefined; referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; sizes?: string | undefined; src?: string | undefined; srcSet?: string | undefined; useMap?: string | undefined; width?: number | string | undefined; } interface IconProps extends SVGAttributes { style?: CSSProperties; spin?: boolean; } interface MessageProps { style?: CSSProperties; className?: string | string[]; /** * @zh 消息弹出动画的类名,见 react-transition-group 的 `classNames` * @en ClassNames of react-transition-group of the message pop-up animation, see `classNames` */ transitionClassNames?: string; /** * @zh 动画持续时间,见 react-transition-group 的 `timeout` * @en timeout of `react-transition-group` of the message pop-up animation, see `timeout` * @defaultValue {enter: 100, exit: 300} * @version 2.43.0 */ transitionTimeout?: { enter?: number; exit?: number; }; /** * @zh 消息内容 * @en Message content */ content: ReactNode | string; /** * @zh 是否显示图标 * @en Whether to show the icon * @defaultValue true */ showIcon?: boolean; /** * @zh 自定义图标 * @en Custom icon */ icon?: ReactNode; /** * @zh 自动关闭的时间,单位为 `ms` * @en Automatic shutdown time, the unit is `ms` * @defaultValue 3000 */ duration?: number; /** * @zh 关闭时的回调 * @en Callback when close */ onClose?: () => void; /** * @zh 当前消息的唯一标识,可以用来更新消息 * @en The unique identifier of the current message, which can be used to update the message */ id?: string; /** * @zh 消息的位置,分为 `top` 上方和 `bottom` 下方 * @en The position of the message */ position?: 'top' | 'bottom'; /** * @zh 是否显示关闭按钮 * @en Whether to show the close button * @defaultValue true */ closable?: boolean; /** * @zh 自定义右上角关闭按钮 * @en Custom the close button on top-right of the drawer dialog * @version 2.50.0 */ closeIcon?: ReactNode; type?: string; } interface NotificationProps { style?: CSSProperties; className?: string | string; /** * @zh 通知标题 * @en Notification title */ title?: ReactNode | string; /** * @zh 通知内容 * @en Notification content */ content: ReactNode | string; /** * @zh 是否显示图标 * @en Whether to show the icon * @defaultValue true */ showIcon?: boolean; /** * @zh 自定义图标 * @en Custom icon */ icon?: ReactNode; /** * @zh 自动关闭的时间,单位为 `ms` * @en Automatic shutdown time, the unit is `ms` * @defaultValue 3000 */ duration?: number; /** * @zh 关闭时的回调 * @en Callback when close */ onClose?: () => void; /** * @zh 当前通知的唯一标识,可以用来更新消息 * @en The unique identifier of the current notification, which can be used to update the message */ id?: string; /** * @zh 消息的位置,分为 `topLeft` 左上方、`topRight` 右上方、`bottomLeft` 左下方和 `bottomRight` 右下方 * @en The position of the message */ position?: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight'; /** * @zh 添加操作按钮 * @en Add action button */ btn?: ReactNode; /** * @zh 是否显示关闭按钮 * @en Whether to show the close button * @defaultValue true */ closable?: boolean; /** * @zh 自定义右上角关闭按钮 * @en Custom the close button on top-right of the drawer dialog * @version 2.50.0 */ closeIcon?: ReactNode; type?: string; } interface ImagePreviewActionProps { /** 是否禁用 */ disabled?: boolean, /** 唯一标识 */ key: string, /** 名称 */ name?: string, /** 内容 */ content: ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 支持自定义外围元素 */ getContainer?: (actionElement: ReactNode) => ReactNode } interface Icon { IconArrowDown(props?: IconProps): ReactNode; IconArrowFall(props?: IconProps): ReactNode; IconArrowLeft(props?: IconProps): ReactNode; IconArrowRight(props?: IconProps): ReactNode; IconArrowRise(props?: IconProps): ReactNode; IconArrowUp(props?: IconProps): ReactNode; IconCaretDown(props?: IconProps): ReactNode; IconCaretLeft(props?: IconProps): ReactNode; IconCaretRight(props?: IconProps): ReactNode; IconCaretUp(props?: IconProps): ReactNode; IconDoubleDown(props?: IconProps): ReactNode; IconDoubleLeft(props?: IconProps): ReactNode; IconDoubleRight(props?: IconProps): ReactNode; IconDoubleUp(props?: IconProps): ReactNode; IconDownCircle(props?: IconProps): ReactNode; IconDown(props?: IconProps): ReactNode; IconDragArrow(props?: IconProps): ReactNode; IconExpand(props?: IconProps): ReactNode; IconLeftCircle(props?: IconProps): ReactNode; IconLeft(props?: IconProps): ReactNode; IconMenuFold(props?: IconProps): ReactNode; IconMenuUnfold(props?: IconProps): ReactNode; IconRightCircle(props?: IconProps): ReactNode; IconRight(props?: IconProps): ReactNode; IconRotateLeft(props?: IconProps): ReactNode; IconRotateRight(props?: IconProps): ReactNode; IconShrink(props?: IconProps): ReactNode; IconSwap(props?: IconProps): ReactNode; IconToBottom(props?: IconProps): ReactNode; IconToLeft(props?: IconProps): ReactNode; IconToRight(props?: IconProps): ReactNode; IconToTop(props?: IconProps): ReactNode; IconUpCircle(props?: IconProps): ReactNode; IconUp(props?: IconProps): ReactNode; IconCheckCircleFill(props?: IconProps): ReactNode; IconCloseCircleFill(props?: IconProps): ReactNode; IconExclamationCircleFill(props?: IconProps): ReactNode; IconExclamationPolygonFill(props?: IconProps): ReactNode; IconInfoCircleFill(props?: IconProps): ReactNode; IconMinusCircleFill(props?: IconProps): ReactNode; IconPlusCircleFill(props?: IconProps): ReactNode; IconQuestionCircleFill(props?: IconProps): ReactNode; IconCheckCircle(props?: IconProps): ReactNode; IconCheckSquare(props?: IconProps): ReactNode; IconCheck(props?: IconProps): ReactNode; IconClockCircle(props?: IconProps): ReactNode; IconCloseCircle(props?: IconProps): ReactNode; IconClose(props?: IconProps): ReactNode; IconExclamationCircle(props?: IconProps): ReactNode; IconExclamation(props?: IconProps): ReactNode; IconInfoCircle(props?: IconProps): ReactNode; IconInfo(props?: IconProps): ReactNode; IconMinusCircle(props?: IconProps): ReactNode; IconMinus(props?: IconProps): ReactNode; IconPlusCircle(props?: IconProps): ReactNode; IconPlus(props?: IconProps): ReactNode; IconQuestionCircle(props?: IconProps): ReactNode; IconQuestion(props?: IconProps): ReactNode; IconStop(props?: IconProps): ReactNode; IconHeartFill(props?: IconProps): ReactNode; IconStarFill(props?: IconProps): ReactNode; IconThumbDownFill(props?: IconProps): ReactNode; IconThumbUpFill(props?: IconProps): ReactNode; IconAt(props?: IconProps): ReactNode; IconCloudDownload(props?: IconProps): ReactNode; IconCodeBlock(props?: IconProps): ReactNode; IconCodeSquare(props?: IconProps): ReactNode; IconCode(props?: IconProps): ReactNode; IconCustomerService(props?: IconProps): ReactNode; IconDownload(props?: IconProps): ReactNode; IconExport(props?: IconProps): ReactNode; IconEyeInvisible(props?: IconProps): ReactNode; IconEye(props?: IconProps): ReactNode; IconHeart(props?: IconProps): ReactNode; IconHistory(props?: IconProps): ReactNode; IconHome(props?: IconProps): ReactNode; IconImport(props?: IconProps): ReactNode; IconLaunch(props?: IconProps): ReactNode; IconList(props?: IconProps): ReactNode; IconMessageBanned(props?: IconProps): ReactNode; IconMessage(props?: IconProps): ReactNode; IconMoreVertical(props?: IconProps): ReactNode; IconMore(props?: IconProps): ReactNode; IconPoweroff(props?: IconProps): ReactNode; IconRefresh(props?: IconProps): ReactNode; IconReply(props?: IconProps): ReactNode; IconSave(props?: IconProps): ReactNode; IconScan(props?: IconProps): ReactNode; IconSearch(props?: IconProps): ReactNode; IconSelectAll(props?: IconProps): ReactNode; IconSend(props?: IconProps): ReactNode; IconSettings(props?: IconProps): ReactNode; IconShareAlt(props?: IconProps): ReactNode; IconShareExternal(props?: IconProps): ReactNode; IconShareInternal(props?: IconProps): ReactNode; IconStar(props?: IconProps): ReactNode; IconSync(props?: IconProps): ReactNode; IconThumbDown(props?: IconProps): ReactNode; IconThumbUp(props?: IconProps): ReactNode; IconTranslate(props?: IconProps): ReactNode; IconUpload(props?: IconProps): ReactNode; IconVoice(props?: IconProps): ReactNode; IconAlignCenter(props?: IconProps): ReactNode; IconAlignLeft(props?: IconProps): ReactNode; IconAlignRight(props?: IconProps): ReactNode; IconAttachment(props?: IconProps): ReactNode; IconBgColors(props?: IconProps): ReactNode; IconBold(props?: IconProps): ReactNode; IconBrush(props?: IconProps): ReactNode; IconCopy(props?: IconProps): ReactNode; IconDelete(props?: IconProps): ReactNode; IconEdit(props?: IconProps): ReactNode; IconEraser(props?: IconProps): ReactNode; IconFilter(props?: IconProps): ReactNode; IconFindReplace(props?: IconProps): ReactNode; IconFontColors(props?: IconProps): ReactNode; IconFormula(props?: IconProps): ReactNode; IconH1(props?: IconProps): ReactNode; IconH2(props?: IconProps): ReactNode; IconH3(props?: IconProps): ReactNode; IconH4(props?: IconProps): ReactNode; IconH5(props?: IconProps): ReactNode; IconH6(props?: IconProps): ReactNode; IconH7(props?: IconProps): ReactNode; IconHighlight(props?: IconProps): ReactNode; IconItalic(props?: IconProps): ReactNode; IconLineHeight(props?: IconProps): ReactNode; IconLink(props?: IconProps): ReactNode; IconObliqueLine(props?: IconProps): ReactNode; IconOrderedList(props?: IconProps): ReactNode; IconOriginalSize(props?: IconProps): ReactNode; IconPaste(props?: IconProps): ReactNode; IconQuote(props?: IconProps): ReactNode; IconRedo(props?: IconProps): ReactNode; IconScissor(props?: IconProps): ReactNode; IconSortAscending(props?: IconProps): ReactNode; IconSortDescending(props?: IconProps): ReactNode; IconSort(props?: IconProps): ReactNode; IconStrikethrough(props?: IconProps): ReactNode; IconUnderline(props?: IconProps): ReactNode; IconUndo(props?: IconProps): ReactNode; IconUnorderedList(props?: IconProps): ReactNode; IconZoomIn(props?: IconProps): ReactNode; IconZoomOut(props?: IconProps): ReactNode; IconMuteFill(props?: IconProps): ReactNode; IconPauseCircleFill(props?: IconProps): ReactNode; IconPlayArrowFill(props?: IconProps): ReactNode; IconPlayCircleFill(props?: IconProps): ReactNode; IconSkipNextFill(props?: IconProps): ReactNode; IconSkipPreviousFill(props?: IconProps): ReactNode; IconSoundFill(props?: IconProps): ReactNode; IconBackward(props?: IconProps): ReactNode; IconForward(props?: IconProps): ReactNode; IconFullscreenExit(props?: IconProps): ReactNode; IconFullscreen(props?: IconProps): ReactNode; IconLiveBroadcast(props?: IconProps): ReactNode; IconMusic(props?: IconProps): ReactNode; IconMute(props?: IconProps): ReactNode; IconPauseCircle(props?: IconProps): ReactNode; IconPause(props?: IconProps): ReactNode; IconPlayArrow(props?: IconProps): ReactNode; IconPlayCircle(props?: IconProps): ReactNode; IconRecordStop(props?: IconProps): ReactNode; IconRecord(props?: IconProps): ReactNode; IconSkipNext(props?: IconProps): ReactNode; IconSkipPrevious(props?: IconProps): ReactNode; IconSound(props?: IconProps): ReactNode; IconBytedanceColor(props?: IconProps): ReactNode; IconLarkColor(props?: IconProps): ReactNode; IconTiktokColor(props?: IconProps): ReactNode; IconXiguaColor(props?: IconProps): ReactNode; IconFaceBookCircleFill(props?: IconProps): ReactNode; IconFacebookSquareFill(props?: IconProps): ReactNode; IconGoogleCircleFill(props?: IconProps): ReactNode; IconQqCircleFill(props?: IconProps): ReactNode; IconTwitterCircleFill(props?: IconProps): ReactNode; IconWeiboCircleFill(props?: IconProps): ReactNode; IconAlipayCircle(props?: IconProps): ReactNode; IconCodeSandbox(props?: IconProps): ReactNode; IconCodepen(props?: IconProps): ReactNode; IconFacebook(props?: IconProps): ReactNode; IconGithub(props?: IconProps): ReactNode; IconGitlab(props?: IconProps): ReactNode; IconGoogle(props?: IconProps): ReactNode; IconQqZone(props?: IconProps): ReactNode; IconQq(props?: IconProps): ReactNode; IconTwitter(props?: IconProps): ReactNode; IconWechat(props?: IconProps): ReactNode; IconWechatpay(props?: IconProps): ReactNode; IconWeibo(props?: IconProps): ReactNode; IconChineseFill(props?: IconProps): ReactNode; IconEnglishFill(props?: IconProps): ReactNode; IconFaceFrownFill(props?: IconProps): ReactNode; IconFaceMehFill(props?: IconProps): ReactNode; IconFaceSmileFill(props?: IconProps): ReactNode; IconMoonFill(props?: IconProps): ReactNode; IconPenFill(props?: IconProps): ReactNode; IconSunFill(props?: IconProps): ReactNode; IconApps(props?: IconProps): ReactNode; IconArchive(props?: IconProps): ReactNode; IconBook(props?: IconProps): ReactNode; IconBranch(props?: IconProps): ReactNode; IconBug(props?: IconProps): ReactNode; IconBulb(props?: IconProps): ReactNode; IconCalendarClock(props?: IconProps): ReactNode; IconCalendar(props?: IconProps): ReactNode; IconCamera(props?: IconProps): ReactNode; IconCloud(props?: IconProps): ReactNode; IconCommand(props?: IconProps): ReactNode; IconCommon(props?: IconProps): ReactNode; IconCompass(props?: IconProps): ReactNode; IconCopyright(props?: IconProps): ReactNode; IconDashboard(props?: IconProps): ReactNode; IconDesktop(props?: IconProps): ReactNode; IconDice(props?: IconProps): ReactNode; IconDragDotVertical(props?: IconProps): ReactNode; IconDragDot(props?: IconProps): ReactNode; IconDriveFile(props?: IconProps): ReactNode; IconEar(props?: IconProps): ReactNode; IconEmail(props?: IconProps): ReactNode; IconEmpty(props?: IconProps): ReactNode; IconExperiment(props?: IconProps): ReactNode; IconFileAudio(props?: IconProps): ReactNode; IconFileImage(props?: IconProps): ReactNode; IconFilePdf(props?: IconProps): ReactNode; IconFileVideo(props?: IconProps): ReactNode; IconFile(props?: IconProps): ReactNode; IconFire(props?: IconProps): ReactNode; IconFolderAdd(props?: IconProps): ReactNode; IconFolderDelete(props?: IconProps): ReactNode; IconFolder(props?: IconProps): ReactNode; IconGift(props?: IconProps): ReactNode; IconIdcard(props?: IconProps): ReactNode; IconImageClose(props?: IconProps): ReactNode; IconImage(props?: IconProps): ReactNode; IconInteraction(props?: IconProps): ReactNode; IconLanguage(props?: IconProps): ReactNode; IconLayout(props?: IconProps): ReactNode; IconLoading(props?: IconProps): ReactNode; IconLocation(props?: IconProps): ReactNode; IconLock(props?: IconProps): ReactNode; IconLoop(props?: IconProps): ReactNode; IconMan(props?: IconProps): ReactNode; IconMenu(props?: IconProps): ReactNode; IconMindMapping(props?: IconProps): ReactNode; IconMobile(props?: IconProps): ReactNode; IconMoon(props?: IconProps): ReactNode; IconMosaic(props?: IconProps): ReactNode; IconNav(props?: IconProps): ReactNode; IconNotificationClose(props?: IconProps): ReactNode; IconNotification(props?: IconProps): ReactNode; IconPalette(props?: IconProps): ReactNode; IconPen(props?: IconProps): ReactNode; IconPhone(props?: IconProps): ReactNode; IconPrinter(props?: IconProps): ReactNode; IconPublic(props?: IconProps): ReactNode; IconPushpin(props?: IconProps): ReactNode; IconQrcode(props?: IconProps): ReactNode; IconRobotAdd(props?: IconProps): ReactNode; IconRobot(props?: IconProps): ReactNode; IconSafe(props?: IconProps): ReactNode; IconSchedule(props?: IconProps): ReactNode; IconShake(props?: IconProps): ReactNode; IconSkin(props?: IconProps): ReactNode; IconStamp(props?: IconProps): ReactNode; IconStorage(props?: IconProps): ReactNode; IconSubscribeAdd(props?: IconProps): ReactNode; IconSubscribe(props?: IconProps): ReactNode; IconSubscribed(props?: IconProps): ReactNode; IconSun(props?: IconProps): ReactNode; IconTag(props?: IconProps): ReactNode; IconTags(props?: IconProps): ReactNode; IconThunderbolt(props?: IconProps): ReactNode; IconTool(props?: IconProps): ReactNode; IconTrophy(props?: IconProps): ReactNode; IconUnlock(props?: IconProps): ReactNode; IconUserAdd(props?: IconProps): ReactNode; IconUserGroup(props?: IconProps): ReactNode; IconUser(props?: IconProps): ReactNode; IconVideoCamera(props?: IconProps): ReactNode; IconWifi(props?: IconProps): ReactNode; IconWoman(props?: IconProps): ReactNode; ScriptCat(props: ImgHTMLAttributes): ReactNode; } class AST { shadowRoot!: ShadowRoot; container!: HTMLDivElement; static moudles: any; Notification!: ProxyHandler | notificationFuncType; Message!: ProxyHandler | messageFuncType; constructor(parentNode: HTMLElement) #createShadow(parentNode = document.body): void #assignMoudles(): void #initProxy(): void createApp(code: string | FunctionComponent<{}>, argument?: {}): ReactElement addStyle(styleString: string): void render(app: string | number | boolean | ReactElement> | Iterable | ReactPortal | null | undefined): void } declare var CAT_UI: AST & { create(options: { style?: string; appendStyle?: string; zIndex?: boolean; render?: () => ReactNode[] | ReactNode; onReady?: (panel: UIPage) => void; }): HTMLDivElement; createPopup(): HTMLDivElement; createPanel(options: { min: boolean; onMin?: (min: boolean) => void; minButton?: boolean; point?: { x: number; y: number; }; header?: { title?: () => JSX.Element | JSX.Element | string; icon?: JSX.Element; style?: React.CSSProperties; }; footer?: { version?: string; }; routes?: RouteObject[]; onReady?: (panel: UIPanel) => void; }): HTMLDivElement; createElement(type: string, props?: any, ...children: ReactNode[]): React.DOMElement; el(type: string, props?: any, ...children: ReactNode[]): React.DOMElement; useEffect(effect: React.EffectCallback, deps?: React.DependencyList): void; useState(data?: T): [T, React.Dispatch>]; useRef(data?: T): React.MutableRefObject; Router: { createRouter(routes: RouteObject[], opts?: any): any, Outlet(): ReactNode, RouterProvider(props: any): ReactNode, Link(text: JSX.Element, props?: LinkProps): ReactNode, }; Draggable(element: ReactNode, props: { className?: string; }): ReactNode; Typography: ((text: string, props?: TypographyProps) => ReactNode) & { Text: (text: string, props: TypographyTextProps) => ReactNode, Title: (text: string, props: TypographyTitleProps) => ReactNode, Paragraph: (text: string, props: TypographyParagraphProps) => ReactNode, }; Text: (text: string, props: TypographyTextProps) => ReactNode; Input(props?: InputProps): ReactNode; Button(text: string, props?: ButtonProps): ReactNode; Checkbox(text: string, props?: CheckboxProps): ReactNode; Select(options: JSX.Element[], props?: SelectProps): ReactNode; Space(element: ReactNode, props?: { style?: CSSProperties; className?: string | string[]; /** * @zh 对齐方式 * @en Alignment of items */ align?: 'start' | 'end' | 'center' | 'baseline'; /** * @zh 间距方向 * @en The space direction * @defaultValue horizontal */ direction?: 'vertical' | 'horizontal'; /** * @zh 尺寸。( `2.15.0` 开始支持数组形式 ) * @en The space size. ( Array format add in `2.15.0` ) * @defaultValue small */ size?: SpaceSize | SpaceSize[]; /** * @zh 环绕类型的间距,用于折行的场景。 * @en Whether to wrap line automatic */ wrap?: boolean; /** * @zh 设置分隔符 * @en Set separator * @version 2.22.0 */ split?: ReactNode; }): ReactNode; Divider(children?: ReactNode, props?: { style?: CSSProperties; className?: string | string[]; /** * @zh 分割线的类型,是水平还是竖直,分别对应 `horizontal` 和 `vertical` * @en Two types are available: `horizontal` and `vertical` * @defaultValue horizontal */ type?: 'horizontal' | 'vertical'; /** * @zh 分割线文字的位置 * @en The position of description content in Divider * @defaultValue center */ orientation?: 'left' | 'right' | 'center'; }): ReactNode; Drawer(children: ReactNode, props?: { style?: CSSProperties; className?: string | string[]; /** * @zh 设置抽屉的 zIndex * @en Set the zIndex of the drawer * @version 2.42.0 */ zIndex?: number; children?: ReactNode; /** * @zh 设置外层容器的类名 * @en The additional class name of the container of the drawer dialog */ wrapClassName?: string | string[]; /** * @zh 弹出框的标题(设置为 null 时,不显示标题栏) * @en The title element. Drawer will not render the title element when `title` is `null` */ title?: ReactNode; /** * @zh 自定义按钮确认和取消按钮,为 null 的话没有按钮组 * @en The footer element. Drawer will not render the footer element when `footer` is `null` */ footer?: ReactNode; /** * @zh 头部的样式 * @en The additional css style for header * @version 2.9.0 */ headerStyle?: CSSProperties; /** * @zh 内容区域的样式 * @en The additional css style for content * @version 2.9.0 */ bodyStyle?: CSSProperties; /** * @zh 设置遮罩层的样式 * @en Style of the drawer mask */ maskStyle?: CSSProperties; /** * @zh 确认按钮文案 * @en Text of the OK button */ okText?: ReactNode; /** * @zh 取消按钮文案 * @en Text of the Cancel button */ cancelText?: ReactNode; /** * @zh 确认按钮的 props * @en The props of `ok` button * @version 2.26.0 */ okButtonProps?: ButtonProps; /** * @zh 取消按钮的 props * @en The props of `cancel` button * @version 2.26.0 */ cancelButtonProps?: ButtonProps; /** * @zh 抽屉的方向 `top` `right` `bottom` `left` * @en The placement of the drawer: `top` `right` `bottom` `left` * @defaultValue right */ placement?: 'top' | 'right' | 'bottom' | 'left'; /** * @zh 抽屉的宽度,`placement`为 `left` `right` 时生效 * @en The width of the drawer dialog. Only works when `placement` is `left` or `right` * @defaultValue 250 */ width?: string | number; /** * @zh 抽屉的高度,`placement`为 `top` `bottom` 时生效 * @en The height of the drawer dialog. Only works when `placement` is `top` or `bottom` * @defaultValue 250 */ height?: string | number; /** * @zh 按 `ESC` 键关闭 * @en Whether to enable pressing `ESC` to close the drawer. * @defaultValue true * @version 2.10.0 */ escToExit?: boolean; /** * @zh 是否显示遮罩 * @en Whether to show mask * @defaultValue true */ mask?: boolean; /** * @zh 是否显示弹出框 * @en Visibility of the drawer */ visible?: boolean; /** * @zh 是否显示右上角关闭按钮 * @en Whether to show the close button on top-right of the drawer dialog * @defaultValue true */ closable?: boolean; /** * @zh 自定义右上角关闭按钮 * @en Custom the close button on top-right of the drawer dialog * @version 2.49.0 */ closeIcon?: ReactNode; /** * @zh 点击蒙层是否可以关闭 * @en Whether to close the drawer when the mask is clicked * @defaultValue true */ maskClosable?: boolean; /** * @zh 确认按钮是否为加载中状态 * @en Whether the OK button is in loading state */ confirmLoading?: boolean; /** * @zh 是否在初次打开对话框时才渲染 dom。 * @en Whether to render the drawer component only when it is opened initially. * @defaultValue true */ mountOnEnter?: boolean; /** * @zh 是否在隐藏的时候销毁 DOM 结构 * @en Whether to unmount component when hidden */ unmountOnExit?: boolean; /** * @zh 点击确认按钮的回调 * @en Callback when the OK button is clicked */ onOk?: (e: Event) => void; /** * @zh 关闭弹出框的回调 * @en Callback when the Cancel button is clicked */ onCancel?: (e: MouseEvent | Event) => void; /** * @zh 抽屉打开之后的回调 * @en Callback when drawer is opened */ afterOpen?: () => void; /** * @zh 抽屉关闭之后的回调 * @en Callback when drawer is closed */ afterClose?: () => void; /** * @zh 指定弹出框挂载的父节点 * @en Parent node which the drawer should be rendered to. * @defaultValue () => document.body */ getPopupContainer?: () => Element; /** * @zh 抽屉里的弹出框 `Select` `Tooltip` 等挂载的容器,默认挂载在对话框内。 * @en Set the mount node for popup such as `Select`, `Tooltip`, etc. Default to the drawer dialog. */ getChildrenPopupContainer?: (node: HTMLElement) => Element; /** * @zh 是否默认聚焦第一个可聚焦元素,只在 `focusLock` 开启时生效。 * @en Whether to focus on the first focusable element by default. Only works when `focusLock` is turned on. * @defaultValue true * @version 2.13.0 */ autoFocus?: boolean; /** * @zh 是否将焦点锁定在弹出框内。 * @en Whether to lock the focus in the drawer box. * @defaultValue true * @version 2.13.0 */ focusLock?: boolean; }): ReactNode; Table(props: TableProps): ReactNode; Modal(children?: ReactNode, props?: ModalProps): ReactNode; Message: { info(config: MessageProps | string): void, normal(config: MessageProps | string): void, success(config: MessageProps | string): void, warning(config: MessageProps | string): void, error(config: MessageProps | string): void, }; Notification: { info(config: NotificationProps): ReactNode, normal(config: NotificationProps): ReactNode, success(config: NotificationProps): ReactNode, warning(config: NotificationProps): ReactNode, error(config: NotificationProps): ReactNode, }; Icon: Icon; moudles: { useState(data?: T): [T, React.Dispatch>]; useRef(data?: T): React.MutableRefObject; useEffect(effect: React.EffectCallback, deps?: React.DependencyList): void; Draggable(), Calendar(), ConfigProvider(), DatePicker(), Message(), Notification(), PageHeader(), Portal(), Radio(), TimePicker(), Tree(), Trigger(), Descriptions(), Icon: Icon, Affix: { render(props: { /** 距离窗口底部达到指定偏移量后触发 */ offsetBottom?: number, /** 距离窗口顶部达到指定偏移量后触发,默认值:0 */ offsetTop?: number, /** 给 fixed 的元素设置 className(2.8.0) */ affixClassName?: string | string[], /** 给 fixed 的元素设置 style,注意不要设置 position/top/width/height(2.8.0) */ affixStyle?: CSSProperties, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 固定状态发生改变时触发,参数:是否固定 */ onChange?: (affixed: boolean) => void, /** 滚动容器,默认值:() => window */ target?: () => HTMLElement | null | Window, /** target 的外层滚动元素,解决非 window 容器滚动时固钉跑出问题 */ targetContainer?: () => HTMLElement | null | Window, /** 子节点 */ children: React.ReactNode | React.ReactNode[], }) } Alert: { render(props: { /** 是否顶部公告 */ banner?: boolean, /** 是否可关闭 */ closable?: boolean, /** 是否显示图标 */ showIcon?: boolean, /** 提示类型 */ type?: 'info' | 'success' | 'warning' | 'error', /** 自定义操作项 */ action?: ReactNode, /** 自定义关闭按钮 */ closeElement?: ReactNode, /** 内容 */ content?: ReactNode, /** 自定义图标 */ icon?: ReactNode, /** 标题 */ title?: ReactNode, /** 类名 */ className?: string | string[], /** 样式 */ style?: CSSProperties, /** 关闭动画结束回调 */ afterClose?: () => void, /** 关闭时回调 */ onClose?: (e: any) => void, children: ReactNode | ReactNode[], }) }, Anchor: { render(props: { /** 是否固定。为 true 时锚点会嵌套在固钉组件内 */ affix?: boolean, /** 是否平滑滚动 */ animation?: boolean, /** 是否改变 hash,为 false 时点击锚点不修改页面 hash */ hash?: boolean, /** 是否无左侧轴线样式 */ lineless?: boolean, /** 固钉距离窗口底部偏移量 */ offsetBottom?: number, /** 固钉距离窗口顶部偏移量 */ offsetTop?: number, /** 容器基准线相对顶部偏移量,未设置时为容器高度一半(2.22.0) */ targetOffset?: number, /** 滚动边界值,到达该距离停止滚动;也可指定对齐位置 */ boundary?: number | 'end' | 'start' | 'center' | 'nearest', /** 锚点方向(2.51.0) */ direction?: 'vertical' | 'horizontal', /** 固钉组件样式 */ affixStyle?: CSSProperties, /** 节点类名 */ className?: string | string[], /** 滚动容器(选择器 / DOM / window) */ scrollContainer?: string | HTMLElement | Window, /** 节点样式 */ style?: CSSProperties, /** 滚动切换锚点或点击锚点时触发 */ onChange?: (newLink: string, oldLink: string) => void, /** 点击锚点时触发 */ onSelect?: (newLink: string, oldLink: string) => void, children: ReactNode | ReactNode[] }), Link: { render(props: { /** 锚点链接 */ href?: string, /** 文本内容(支持字符串或自定义 React 节点) */ title: string | ReactNode, /** 节点类名(支持字符串或字符串数组) */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) } }, AutoComplete: { render(props: { /** 是否允许一键清除 */ allowClear?: boolean, /** 是否默认高亮第一个选项 */ defaultActiveFirstOption?: boolean, /** 是否禁用 */ disabled?: boolean, /** 是否是错误状态。(废弃,下个大版本移除,使用 status='error' 替代) */ error?: boolean, /** 是否处于加载状态。(2.10.0) */ loading?: boolean, /** strict: true 的时候大小写敏感 */ strict?: boolean, /** 自动补全组件的默认值 */ defaultValue?: string, /** 输入框提示 */ placeholder?: string, /** 自动补全组件的值(受控模式) */ value?: string, /** 状态(2.45.0) */ status?: 'error' | 'warning', /** 节点类名 */ className?: string | string[], /** 自动完成的数据源 */ data?: (string | { value: string; name: string;[key: string]: any } | ReactNode)[], /** 传递 Input 组件的属性。(2.10.0) */ inputProps?: Partial, /** 节点样式 */ style?: CSSProperties, /** 可以接受所有 Trigger 的 Props */ triggerProps?: Partial, /** 传递虚拟滚动属性。(2.2.0) */ virtualListProps?: AvailableVirtualListProps, /** 自定义弹出内容。 */ dropdownRender?: (menu: ReactNode) => ReactNode, /** 是否根据输入的值筛选数据 */ filterOption?: boolean | ((inputValue: string, option: ReactElement) => boolean), /** 弹出框挂载的父节点。 */ getPopupContainer?: (node: HTMLElement) => Element, /** 失去焦点的回调 */ onBlur?: (event: any) => void, /** 输入或者点击补全项,value 改变时的回调 */ onChange?: (value: string, option?: OptionInfo) => void, /** 聚焦时的回调 */ onFocus?: (event: any) => void, /** 按下回车键的回调(activeOption in 2.25.1) */ onPressEnter?: (event: any, activeOption?: OptionInfo) => void, /** 搜索补全时的回调 */ onSearch?: (value: string) => void, /** 点击补全项时的回调 */ onSelect?: (value: string, option: OptionInfo) => void, /** 自定义触发元素(() => ReactElement in 2.31.0) */ triggerElement?: ReactElement | (({ value }: { value: string }) => ReactElement), /** 自定义输入框/数据源 */ children: ReactNode | ReactNode[], }) }, Avatar: { render(props: { /** 是否自动根据头像尺寸调整字体大小。 */ autoFixFontSize?: boolean, /** 头像的尺寸大小,单位是 px */ size?: number, /** 头像的形状,有圆形(circle)和正方形(square)两种 */ shape?: 'circle' | 'square', /** 可点击的头像交互类型。 */ triggerType?: 'mask' | 'button', /** 可点击的头像交互图标。 */ triggerIcon?: ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 交互图标的样式 */ triggerIconStyle?: CSSProperties, /** 点击回调 */ onClick?: (e: any) => void, children: ReactNode | ReactNode[], }), Group: { render(props: { /** 是否自动根据头像尺寸调整字体大小,优先级低于 Avatar 组件本身 */ autoFixFontSize?: boolean, /** 头像组内的头像 z-index 递增,默认递减(2.3.0) */ zIndexAscend?: boolean, /** 头像组最多显示的头像数量,多余头像以 +x 展示(2.4.0) */ maxCount?: number, /** 头像尺寸,单位 px,优先级低于 Avatar 组件本身 */ size?: number, /** 头像形状,优先级低于 Avatar 组件本身 */ shape?: 'circle' | 'square', /** 节点类名 */ className?: string | string[], /** 多余头像气泡的 TriggerProps(2.4.0) */ maxPopoverTriggerProps?: TriggerProps, /** 多余头像样式(2.4.0) */ maxStyle?: CSSProperties, /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) } }, BackTop: { render(props: { /** 滚动到顶部的时间 */ duration?: number, /** 滚动到该高度时显示返回顶部按钮 */ visibleHeight?: number, /** 滚动到顶部的缓动方式 */ easing?: string, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 点击返回顶部时的回调函数 */ onClick?: () => void, /** 设置需要监听滚动事件的元素 */ target?: () => HTMLElement | Window, children: ReactNode | ReactNode[], }) }, Badge: { render(props: { /** 显示为小红点 */ dot?: boolean, /** 徽标最大显示数值,超出显示 + */ maxCount?: number, /** 自定义提示内容 */ text?: string, /** 内置颜色或自定义色值 */ color?: 'red' | 'orangered' | 'orange' | 'gold' | 'lime' | 'green' | 'cyan' | 'arcoblue' | 'purple' | 'pinkpurple' | 'magenta' | 'gray' | string, /** 徽标的状态类型 */ status?: 'default' | 'processing' | 'success' | 'warning' | 'error', /** 徽标显示的数字 */ count?: number | ReactNode, /** 节点类名 */ className?: string | string[], /** 徽标的类名 */ dotClassName?: string | string[], /** 徽标的样式 */ dotStyle?: CSSProperties, /** 设置徽标位置的偏移 [x, y] */ offset?: [number, number], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) }, Breadcrumb: { render(props: { /** 最多渲染的面包屑数量 */ maxCount?: number, /** 指定分割符 */ separator?: string | ReactNode, /** 节点类名 */ className?: string | string[], /** 直接设置下拉菜单 */ routes?: RouteProps[], /** 节点样式 */ style?: CSSProperties, /** routes 时生效,自定义渲染面包屑 */ itemRender?: (route: RouteProps, routes: RouteProps[], paths: string[]) => ReactNode, children: ReactNode | ReactNode[], }), Item: { render(props: { /** 超链接地址(2.40.0) */ href?: string, /** 下拉菜单的内容 */ droplist?: DropdownProps['droplist'], /** 节点类名 */ className?: string | string[], /** 下拉菜单的属性 DropdownProps */ dropdownProps?: DropdownProps, /** 节点样式 */ style?: CSSProperties, /** 标签名,可以是 html 标签或是组件(2.40.0) */ tagName?: string | React.FC | React.ComponentClass, /** 点击回调(2.40.0) */ onClick?: (e: any) => void, children: ReactNode | ReactNode[], }) } }, Button: { render(props: { /** 是否禁用 */ disabled?: boolean, /** 只有图标,按钮宽高相等。若指定 icon 且无 children,默认为 true */ iconOnly?: boolean, /** 按钮是否处于加载状态 */ loading?: boolean, /** 加载时不改变按钮宽度 */ loadingFixedWidth?: boolean, /** 按钮宽度随容器自适应 */ long?: boolean, /** 跳转链接,设置后表现为 a 标签 */ href?: string, /** a 链接 target 属性,href 存在时生效 */ target?: string, /** 按钮原生 html type 类型 */ htmlType?: 'button' | 'submit' | 'reset', /** 按钮形状 */ shape?: 'circle' | 'round' | 'square', /** 按钮尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 按钮状态 */ status?: 'warning' | 'danger' | 'success' | 'default', /** 按钮样式类型 */ type?: 'default' | 'primary' | 'secondary' | 'dashed' | 'text' | 'outline', /** 按钮图标 */ icon?: ReactNode, /** a 链接原生属性,href 存在时生效 */ anchorProps?: HTMLProps, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 点击按钮回调 */ onClick?: (e: Event) => void, children: ReactNode | ReactNode[], }) }, Card: { render(props: { /** 是否有边框 */ bordered?: boolean, /** 是否可悬浮 */ hoverable?: boolean, /** 是否为加载中 */ loading?: boolean, /** 卡片尺寸 */ size?: 'default' | 'small', /** 卡片封面 */ cover?: ReactNode, /** 卡片右上角操作区域 */ extra?: string | ReactNode, /** 卡片标题 */ title?: string | ReactNode, /** 卡片底部操作组 */ actions?: ReactNode[], /** 内容区域自定义样式 */ bodyStyle?: CSSProperties, /** 节点类名 */ className?: string | string[], /** 自定义标题区域样式 */ headerStyle?: CSSProperties, /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }), Meta: { render(props: { /** 头像 */ avatar?: ReactNode, /** 描述 */ description?: string | ReactNode, /** 标题 */ title?: string | ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) }, Grid: { render(props: { /** 是否可以悬浮 */ hoverable?: boolean, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) } }, Carousel: { render(props: { /** 是否仅渲染满足动画效果的最少数量的 children(2.21.0) */ miniRender?: boolean, /** 当前展示索引 */ currentIndex?: number, /** 幻灯片移动速率(ms) */ moveSpeed?: number, /** 过渡速度曲线 */ timingFunc?: string, /** 切换动画 */ animation?: 'slide' | 'card' | 'fade', /** 幻灯片移动方向 */ direction?: 'horizontal' | 'vertical', /** 指示器位置 */ indicatorPosition?: 'bottom' | 'top' | 'left' | 'right' | 'outer' | 'outer-right', /** 指示器类型 */ indicatorType?: 'line' | 'dot' | 'slider' | 'never', /** 切换箭头显示时机 */ showArrow?: 'always' | 'hover' | 'never', /** 幻灯片切换触发方式 */ trigger?: 'click' | 'hover', /** 切换箭头样式 */ arrowClassName?: string | string[], /** 是否自动循环展示 */ autoPlay?: boolean | { interval?: number; hoverToPause?: boolean }, /** 用于获得带有 API 方法的 Carousel 引用(2.16.1) */ carousel?: MutableRefObject, /** 节点类名 */ className?: string | string[], /** 自定义图标(2.25.0) */ icons?: { prev?: ReactNode; next?: ReactNode }, /** 指示器的样式 */ indicatorClassName?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 幻灯片发生切换时的回调函数(isManual in 2.4.0) */ onChange?: (index: number, prevIndex: number, isManual: boolean) => void, children: ReactNode | ReactNode[], }) }, Cascader: { render(props: { /** 允许清除值 */ allowClear?: boolean, /** 是否为内部标签变化添加动画(2.15.0) */ animation?: boolean, /** 是否需要边框 */ bordered?: boolean, /** 每次选择是否改变值,多选时设 true 会取消父子关联 */ changeOnSelect?: boolean, /** 是否默认高亮搜索结果第一个选项(2.37.0) */ defaultActiveFirstOption?: boolean, /** 默认下拉框展开状态 */ defaultPopupVisible?: boolean, /** 是否禁用 */ disabled?: boolean, /** 是否可拖拽排序 Tag(2.27.0) */ dragToSort?: boolean, /** 是否错误状态(已废弃,使用 status='error') */ error?: boolean, /** 是否加载中 */ loading?: boolean, /** 控制下拉框展开收起 */ popupVisible?: boolean, /** 选中项子级为空时是否渲染下一级 */ showEmptyChildren?: boolean, /** 隐藏后是否销毁 DOM 结构 */ unmountOnExit?: boolean, /** 输入框的值(2.34.0) */ inputValue?: string, /** 选择框默认文字 */ placeholder?: string, /** 宽度自适应配置(2.54.0) */ autoWidth?: boolean | { minWidth?: CSSProperties['minWidth']; maxWidth?: CSSProperties['maxWidth'] }, /** 回填方式:父节点 / 子节点(2.31.0) */ checkedStrategy?: 'parent' | 'child', /** 展开下一级触发方式 */ expandTrigger?: 'click' | 'hover', /** 最多显示 tag 数量,支持响应式(2.37.0 / 2.62.0) */ maxTagCount?: number | 'responsive' | { count: number | 'responsive' render?: (invisibleTagCount: number) => ReactNode showPopover?: boolean | Partial }, /** 是否开启多选 */ mode?: 'multiple', /** 是否可搜索,支持搜索面板与自定义渲染 */ showSearch?: boolean | { panelMode?: 'cascader' | 'select' renderOption?: (inputValue: string, option: NodeProps, options: extraOptions) => ReactNode retainInputValue?: boolean retainInputValueWhileSelect?: boolean }, /** 选择器尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 状态(2.45.0) */ status?: 'error' | 'warning', /** 虚拟滚动配置(2.35.0) */ virtualListProps?: Pick, 'threshold' | 'isStaticItemHeight'>, /** 选择框前添加元素(2.41.0) */ addBefore?: ReactNode, /** 清除按钮自定义图标(2.26.0) */ clearIcon?: ReactNode, /** 无数据时展示内容 */ notFoundContent?: ReactNode, /** 前缀(2.11.0) */ prefix?: ReactNode, /** 自定义后缀图标 */ suffixIcon?: ReactNode, /** 自定义箭头图标,设 null 不显示 */ arrowIcon?: ReactNode | null, /** 节点类名 */ className?: string | string[], /** 默认选中值 */ defaultValue?: (string | string[])[], /** 下拉列表自定义类名(2.35.0) */ dropdownMenuClassName?: string | string[], /** 菜单列样式(2.35.0) */ dropdownMenuColumnStyle?: CSSProperties, /** 自定义 label/value/children 等字段名 */ fieldNames?: FieldNamesType, /** 自定义搜索过滤逻辑 */ filterOption?: (inputValue: string, option: NodeProps) => boolean, /** 图标配置(2.50.0) */ icons?: { loading?: ReactNode; checked?: ReactNode; next?: ReactNode }, /** 动态加载数据 */ loadMore?: (pathValue: string[], level: number) => Promise, /** 级联数据源 */ options?: T[], /** 多选删除图标,设 null 不显示 */ removeIcon?: ReactNode | null, /** 自定义每一层级底部 */ renderFooter?: (level: number, activeOption: NodeProps | null) => ReactNode, /** 自定义选项展示 */ renderOption?: (option: NodeProps, level: number) => ReactNode, /** 节点样式 */ style?: CSSProperties, /** 传递 Trigger 组件属性 */ triggerProps?: Partial, /** 选中值 */ value?: (string | string[])[], /** 自定义下拉菜单每一列(2.15.0) */ dropdownColumnRender?: (menu: ReactNode, level: number) => ReactNode, /** 自定义整个下拉菜单 */ dropdownRender?: (menu: ReactNode) => ReactNode, /** 弹出框挂载节点 */ getPopupContainer?: (node: HTMLElement) => Element, /** 选择变化回调 */ onChange?: (value: (string | string[])[], selectedOptions, extra: { dropdownVisible?: boolean }) => void, /** 点击清除时触发 */ onClear?: (visible: boolean) => void, /** 点击下拉框回调 */ onClick?: (e: any) => void, /** 输入值变化(2.34.0) */ onInputValueChange?: (inputValue: string, reason: InputValueChangeReason) => void, /** 键盘按下回调(2.40.0) */ onKeyDown?: (e: any) => void, /** 搜索回调(2.20.0) */ onSearch?: (inputValue: string, reason: InputValueChangeReason) => void, /** 下拉显隐变化回调 */ onVisibleChange?: (visible: boolean) => void, /** 格式化显示内容 */ renderFormat?: (valueShow: any[], options?: OptionProps[]) => ReactNode, /** 自定义标签渲染(2.15.0 新增 index、values) */ renderTag?: ( props: { value: any; label: ReactNode; closable: boolean; onClose: (event) => void }, index: number, values: ObjectValueType[] ) => ReactNode, children: ReactNode | ReactNode[], }) }, Checkbox: { render(props: { /** 是否选中 */ checked?: boolean, /** 默认是否选中 */ defaultChecked?: boolean, /** 是否禁用 */ disabled?: boolean, /** 错误样式 */ error?: boolean, /** 半选状态 */ indeterminate?: boolean, /** 自定义选中图标(2.43.0) */ icon?: ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 复选框 value */ value?: string | number, /** 选中状态变化回调 */ onChange?: (checked: boolean, e: Event) => void, children: ReactNode | ReactNode[], }), Group: { render(props: { /** 整组禁用 */ disabled?: boolean, /** 布局方向 */ direction?: 'horizontal' | 'vertical', /** 节点类名 */ className?: string | string[], /** 默认选中项 */ defaultValue?: (string | number)[], /** 可选项配置 */ options?: (string | number | { label: ReactNode value: string | number disabled?: boolean icon?: ReactNode })[], /** 节点样式 */ style?: CSSProperties, /** 选中项(受控) */ value?: (string | number)[], /** 变化回调 */ onChange?: (value: (string | number)[], e: Event) => void, children: ReactNode | ReactNode[], }) }, useCheckbox: ( values: T[], defaultSelected?: T[] ) => { selected: T[] setSelected: (value: T[]) => void setValueSelected: (value: T | T[], selected?: boolean) => void selectAll: () => void unSelectAll: () => void isSelected: (value: T) => boolean toggle: (value?: T | T[]) => void isAllSelected: () => boolean isPartialSelected: () => boolean } }, Collapse: { render(props: { /** 是否手风琴模式,只展开一个面板 */ accordion?: boolean, /** 是否显示边框 */ bordered?: boolean, /** 面板折叠时是否销毁节点 */ destroyOnHide?: boolean, /** 是否懒加载,默认不渲染隐藏面板 */ lazyload?: boolean, /** 展开图标位置 */ expandIconPosition?: 'left' | 'right', /** 可触发折叠的区域(2.41.0) */ triggerRegion?: 'header' | 'icon', /** 自定义全局展开图标 */ expandIcon?: ReactNode, /** 当前展开的面板 key(受控) */ activeKey?: string | string[], /** 节点类名 */ className?: string | string[], /** 默认展开的面板 key */ defaultActiveKey?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 面板展开/收起变化回调 */ onChange?: (key: string, keys: string[], e: any) => void, children: ReactNode | ReactNode[], }), Item: { render(props: { /** 当前面板折叠时销毁节点,优先级高于父组件 */ destroyOnHide?: boolean, /** 是否禁用当前面板 */ disabled?: boolean, /** 是否显示展开按钮 */ showExpandIcon?: boolean, /** 面板唯一标识,对应 activeKey(必填) */ name: string, /** 自定义当前面板展开图标 */ expandIcon?: ReactNode, /** 头部右侧额外节点 */ extra?: ReactNode, /** 面板头部内容 */ header?: ReactNode, /** 节点类名 */ className?: string | string[], /** 内容区域样式(2.15.0) */ contentStyle?: CSSProperties, /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) } }, Comment: { render(props: { /** 日期和操作按钮的对齐方式 */ align?: 'left' | 'right' | { datetime?: 'left' | 'right'; actions?: 'left' | 'right'; }, /** 操作列表 */ actions?: ReactNode, /** 作者名 */ author?: ReactNode, /** 头像 */ avatar?: ReactNode, /** 评论内容 */ content?: ReactNode, /** 时间描述 */ datetime?: ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) }, Divider: { render(props: { /** 文字位置 */ orientation?: 'left' | 'right' | 'center', /** 分割线方向:水平/竖直 */ type?: 'horizontal' | 'vertical', /** 类名 */ className?: string | string[], /** 样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) }, Drawer: { render(props: { /** 默认聚焦首个可聚焦元素(2.13.0) */ autoFocus?: boolean, /** 是否显示关闭按钮 */ closable?: boolean, /** 确认按钮加载态 */ confirmLoading?: boolean, /** ESC 关闭(2.10.0) */ escToExit?: boolean, /** 焦点锁定(2.13.0) */ focusLock?: boolean, /** 是否显示遮罩 */ mask?: boolean, /** 点击蒙层可关闭 */ maskClosable?: boolean, /** 首次打开才渲染 DOM */ mountOnEnter?: boolean, /** 隐藏时销毁 DOM */ unmountOnExit?: boolean, /** 是否显示 */ visible?: boolean, /** 层级(2.42.0) */ zIndex?: number, /** 弹出方向 */ placement?: 'top' | 'right' | 'bottom' | 'left', /** 取消按钮文字 */ cancelText?: ReactNode, /** 自定义关闭图标(2.49.0) */ closeIcon?: ReactNode, /** 自定义底部,null 则无按钮 */ footer?: ReactNode, /** 确认按钮文字 */ okText?: ReactNode, /** 标题,null 不显示头部 */ title?: ReactNode, /** 内容区域样式(2.9.0) */ bodyStyle?: CSSProperties, /** 取消按钮 props(2.26.0) */ cancelButtonProps?: ButtonProps, className?: string | string[], /** 头部样式(2.9.0) */ headerStyle?: CSSProperties, /** 上下方向高度 */ height?: string | number, /** 遮罩样式 */ maskStyle?: CSSProperties, /** 确认按钮 props(2.26.0) */ okButtonProps?: ButtonProps, style?: CSSProperties, /** 左右方向宽度 */ width?: string | number, /** 外层容器类名 */ wrapClassName?: string | string[], /** 关闭动画结束回调 */ afterClose?: () => void, /** 打开动画结束回调 */ afterOpen?: () => void, /** 内部弹出层挂载节点 */ getChildrenPopupContainer?: (node: HTMLElement) => Element, /** 抽屉自身挂载节点 */ getPopupContainer?: () => Element, /** 取消/关闭回调 */ onCancel?: (e: MouseEvent | Event) => void, /** 确认回调 */ onOk?: (e: Event) => void, children: ReactNode | ReactNode[], }) }, Dropdown: { render(props: { /** 默认是否展开 */ defaultPopupVisible?: boolean, /** 是否禁用(2.16.0) */ disabled?: boolean, /** 受控展开状态 */ popupVisible?: boolean, /** 隐藏后销毁 DOM */ unmountOnExit?: boolean, /** 弹出位置 */ position?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br', /** 触发方式 */ trigger?: TriggerProps['trigger'], /** 下拉菜单内容 */ droplist?: ReactNode, /** 透传 Trigger 属性 */ triggerProps?: Partial, /** 弹出层挂载节点 */ getPopupContainer?: (node: HTMLElement) => Element, /** 显隐变化回调 */ onVisibleChange?: (visible: boolean) => void, children: ReactNode | ReactNode[], }), Button: { render(props: { defaultPopupVisible?: boolean, disabled?: boolean, popupVisible?: boolean, unmountOnExit?: boolean, position?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br', /** 按钮尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', trigger?: TriggerProps['trigger'], /** 按钮类型 */ type?: 'default' | 'primary' | 'secondary' | 'dashed' | 'outline' | 'text', droplist?: ReactNode, /** 下拉图标 */ icon?: ReactNode, /** 左侧按钮 Props */ buttonProps?: ButtonProps, className?: string | string[], style?: CSSProperties, triggerProps?: Partial, /** 自定义左右按钮 */ buttonsRender?: (buttons: ReactNode[]) => ReactNode[], getPopupContainer?: (node: HTMLElement) => Element, /** 左侧按钮点击 */ onClick?: (e: Event) => void, onVisibleChange?: (visible: boolean) => void, children: ReactNode | ReactNode[], }) } }, Empty: { render(props: { /** 自定义图片地址 */ imgSrc?: string, /** 空状态描述文案 */ description?: ReactNode, /** 自定义图标 */ icon?: ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }) }, Form: { render(props: { /** 统一禁用表单控件 */ disabled?: boolean, /** 控件 ID 前缀 */ id?: string, /** 标签对齐 */ labelAlign?: 'left' | 'right', /** 布局方式 */ layout?: 'horizontal' | 'vertical' | 'inline', /** 是否显示必选星号及位置 */ requiredSymbol?: boolean | { position: 'start' | 'end' }, /** 全局尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 标签后是否显示冒号 */ colon?: boolean | ReactNode, className?: string | string[], /** 表单实例 */ form?: FormInstance, /** 表单初始值 */ initialValues?: Partial, /** 标签栅格布局 */ labelCol?: ColProps, /** 表单值变化(用户操作触发) */ onChange?: (value: Partial, values: Partial) => void, /** 任意字段变化触发 */ onValuesChange?: (value: Partial, values: Partial) => void, /** 校验失败滚动到第一个错误 */ scrollToFirstError?: boolean | ScrollIntoViewOptions, style?: CSSProperties, /** 校验提示模板 */ validateMessages?: Partial, /** 全局校验触发时机 */ validateTrigger?: string | string[], /** 外层容器标签 */ wrapper?: ComponentType, /** 控件栅格布局 */ wrapperCol?: ColProps, /** 外层容器属性 */ wrapperProps?: IndexedObject, /** 提交成功回调 */ onSubmit?: (values: FormData) => void, /** 提交校验失败回调 */ onSubmitFailed?: (errors: { [key: string]: FieldError }) => void, children: ReactNode | ReactNode[], }), Item: { render(props: { /** 当前项禁用 */ disabled?: boolean, /** 校验反馈图标 */ hasFeedback?: boolean, /** 隐藏字段但保留值 */ hidden?: boolean, /** 是否必选 */ required?: boolean, /** 取值触发时机 */ trigger?: string, /** 子组件值属性名 */ triggerPropName?: string, /** 当前项标签对齐 */ labelAlign?: 'left' | 'right', /** 当前项布局 */ layout?: 'horizontal' | 'vertical' | 'inline', /** 当前项必选星号 */ requiredSymbol?: boolean | { position: 'start' | 'end' }, /** 校验状态 */ validateStatus?: 'success' | 'warning' | 'error' | 'validating', /** 当前项冒号 */ colon?: boolean | ReactNode, /** 额外提示 */ extra?: ReactNode, /** 校验提示文案 */ help?: ReactNode, /** 标签文本 */ label?: ReactNode, children?: ReactNode | FormItemChildrenFn, className?: string | string[], /** 依赖字段 */ dependencies?: string[], /** 字段名 */ field?: FieldKey, /** 当前项初始值 */ initialValue?: FieldValue, /** 当前项标签栅格 */ labelCol?: ColProps, /** 值转换存入表单 */ normalize?: (value, prevValue, allValues) => any, /** 不渲染样式只绑定字段 */ noStyle?: boolean | { showErrorTip: boolean }, /** 校验规则 */ rules?: RulesProps[], /** 是否随表单更新重渲染 */ shouldUpdate?: boolean | ((prev, curr, info) => boolean), style?: CSSProperties, /** 标签提示 */ tooltip?: ReactNode | TooltipProps & { icon?: ReactElement }, /** 当前项校验触发时机 */ validateTrigger?: string | string[], /** 当前项控件栅格 */ wrapperCol?: ColProps, /** 表单值转出给控件 */ formatter?: (value) => any, /** 自定义事件取值 */ getValueFromEvent?: (...args) => FieldValue, children: ReactNode | ReactNode[], }) }, List: { render(props: { noStyle?: FormItemProps['noStyle'], /** 列表字段名(必填) */ field: FieldKey, initialValue?: SubFieldValue[], rules?: RulesProps[], /** 动态列表渲染 */ children: (fields, operation) => ReactNode, }) }, Provider: { render(props: { /** 内部任意表单提交触发 */ onFormSubmit?: (id, values, { forms }) => void, /** 内部任意表单值变化触发 */ onFormValuesChange?: (id, changedValues, { forms }) => void, children: ReactNode | ReactNode[], }) } }, Grid: { render(props: { /** 是否折叠 */ collapsed?: boolean, /** 折叠时显示行数 */ collapsedRows?: number, /** 节点类名 */ className?: string | string[], /** 列间距 */ colGap?: number | ResponsiveValue, /** 每行列数 */ cols?: number | ResponsiveValue, /** 行间距 */ rowGap?: number | ResponsiveValue, /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[], }), Row: { render(props: { /** 作为普通 div,不渲染 Grid 相关类名 */ div?: boolean, /** 垂直对齐方式 align-items */ align?: 'start' | 'center' | 'end' | 'stretch', /** 水平对齐方式 justify-content */ justify?: 'start' | 'center' | 'end' | 'space-around' | 'space-between', /** 节点类名 */ className?: string | string[], /** 栅格间隔,支持数字、响应式对象、[水平, 垂直] */ gutter?: GridRowGutter | GridRowGutter[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Col: { render(props: { /** 左侧间隔格数 */ offset?: number, /** 排序 */ order?: number, /** 向左排序(2.20.0) */ pull?: number, /** 向右排序(2.20.0) */ push?: number, /** 所占栅格数 */ span?: number, /** 节点类名 */ className?: string | string[], /** flex 属性 */ flex?: FlexType, /** ≥992px 响应式配置 */ lg?: number | Record, /** ≥768px 响应式配置 */ md?: number | Record, /** ≥576px 响应式配置 */ sm?: number | Record, /** 节点样式 */ style?: CSSProperties, /** ≥1200px 响应式配置 */ xl?: number | Record, /** <576px 响应式配置 */ xs?: number | Record, /** ≥1600px 响应式配置 */ xxl?: number | Record, /** ≥2000px 响应式配置(2.40.0) */ xxxl?: number | Record, children: ReactNode | ReactNode[] }) }, GridItem: { render(props: { /** 是否为后缀元素 */ suffix?: boolean, /** 节点类名 */ className?: string | string[], /** 左侧间隔格数 */ offset?: number | ResponsiveValue, /** 跨越格数 */ span?: number | ResponsiveValue, /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, }, Image: { render(props: { /** 是否开启预览 */ preview?: boolean, /** 是否开启简洁模式 */ simple?: boolean, /** 使用 PreviewGroup 时的预览索引 */ index?: number, /** 描述 */ description?: string, /** 图片获取地址 */ src?: string, /** 标题 */ title?: string, /** 底部显示的位置 */ footerPosition?: 'inner' | 'outer', /** error 状态下显示的内容 */ error?: ReactNode, /** 加载过渡效果 */ loader?: boolean | ReactNode, /** 额外操作 */ actions?: ReactNode[], /** 节点类名 */ className?: string | string[], /** 图片显示高度 */ height?: string | number, /** 开启懒加载 */ lazyload?: boolean | IntersectionObserverInit, /** loader 的样式 */ loaderClassName?: string | string[], /** 图片加载失败时触发 */ onError?: (ev: SyntheticEvent) => void, /** 图片加载完成时触发 */ onLoad?: (ev: SyntheticEvent) => void, /** 预览的配置项 */ previewProps?: Partial, /** 节点样式 */ style?: CSSProperties, /** 图片显示宽度 */ width?: string | number, children: ReactNode | ReactNode[] }), Preview: { render(props: { /** 是否显示关闭按钮 */ closable?: boolean, /** 默认是否可见,非受控 */ defaultVisible?: boolean, /** 按 ESC 键关闭预览 */ escToExit?: boolean, /** 点击 mask 是否触发关闭 */ maskClosable?: boolean, /** 开启位置修正 */ resetTranslate?: boolean, /** 是否可见,受控属性 */ visible?: boolean, /** 触发 toolbar 切换为 simple 模式的宽度 */ breakPoint?: number, /** 图片获取地址 */ src: string, /** 图片属性,透传至预览弹窗中的 img 标签上 */ imgAttributes?: Omit, 'src'>, /** 自定义图片预览区域的额外节点 */ extra?: ReactNode, /** 额外操作 */ actions?: ImagePreviewActionProps[], /** 控制条的布局 */ actionsLayout?: string[], /** 节点类名 */ className?: string | string[], /** 预览缩放百分比 */ scales?: number[], /** 节点样式 */ style?: CSSProperties, /** 弹出层挂载的节点 */ getPopupContainer?: () => HTMLElement, /** 自定义 IMG 元素的渲染 */ imageRender?: (originalNode: ReactElement) => ReactNode, /** 切换可见状态触发的事件 */ onVisibleChange?: (visible: boolean, preVisible: boolean) => void }) }, PreviewGroup: { render(props: { /** 是否显示关闭按钮 */ closable?: boolean, /** 默认是否可见,非受控 */ defaultVisible?: boolean, /** 按 ESC 键关闭预览 */ escToExit?: boolean, /** 是否渲染图片列表,用于提前加载图片 */ forceRender?: boolean, /** 是否无限循环 */ infinite?: boolean, /** 点击 mask 是否触发关闭 */ maskClosable?: boolean, /** 开启位置修正 */ resetTranslate?: boolean, /** 是否可见,受控属性 */ visible?: boolean, /** 触发 toolbar 切换为 simple 模式的宽度 */ breakPoint?: number, /** 当前展示的图片的下标 */ current?: number, /** 第一张展示的图片的下标 */ defaultCurrent?: number, /** 图片属性,透传至预览弹窗中的 img 标签上 */ imgAttributes?: Omit, 'src'>, /** 自定义图片预览区域的额外节点 */ extra?: ReactNode, /** 额外操作 */ actions?: ImagePreviewActionProps[], /** 控制条的布局 */ actionsLayout?: string[], /** 节点类名 */ className?: string | string[], /** 预览缩放百分比 */ scales?: number[], /** 图片列表 */ srcList?: string[], /** 节点样式 */ style?: CSSProperties, /** 弹出层挂载的节点 */ getPopupContainer?: () => HTMLElement, /** 自定义 IMG 元素的渲染 */ imageRender?: (originalNode: ReactElement) => ReactNode, /** 切换图片触发的事件 */ onChange?: (index: number) => void, /** 切换可见状态触发的事件 */ onVisibleChange?: (visible: boolean, preVisible: boolean) => void }) } }, Input: { render(props: { /** 允许清空输入框 */ allowClear?: boolean, /** 是否禁用 */ disabled?: boolean, /** 是否是错误状态(废弃) */ error?: boolean, /** 是否只读 */ readOnly?: boolean, /** 配合 maxLength 显示字数统计 */ showWordLimit?: boolean, /** 默认值 */ defaultValue?: string, /** 输入框提示文字 */ placeholder?: string, /** 输入框的值,受控模式 */ value?: string, /** 设置宽度自适应 */ autoWidth?: boolean | { minWidth?: CSSProperties['minWidth'], maxWidth?: CSSProperties['maxWidth'] }, /** 指定 normalize 执行的时机 */ normalizeTrigger?: ('onBlur' | 'onPressEnter')[], /** 输入框的尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 状态 */ status?: 'error' | 'warning', /** 输入框后添加元素 */ addAfter?: ReactNode, /** 输入框前添加元素 */ addBefore?: ReactNode, /** 配置清除按钮的图标 */ clearIcon?: ReactNode, /** 添加前缀文字或者图标 */ prefix?: ReactNode, /** 添加后缀文字或者图标 */ suffix?: ReactNode, /** 输入框后添加元素的样式 */ afterStyle?: object, /** 输入框前添加元素的样式 */ beforeStyle?: object, /** 节点类名 */ className?: string | string[], /** 自定义输入框高度 */ height?: number | string, /** 输入框最大输入的长度 */ maxLength?: number | { length: number; errorOnly?: boolean }, /** 节点样式 */ style?: CSSProperties, /** 对用户输入的值进行格式化处理 */ normalize?: (value: string) => string, /** 输入时的回调 */ onChange?: (value: string, e: any) => void, /** 点击清除按钮的回调 */ onClear?: () => void, /** 按下回车键的回调 */ onPressEnter?: (e: any) => void, children: ReactNode | ReactNode[] }), TextArea: { render(props: { /** 允许清空输入框 */ allowClear?: boolean, /** 是否禁用 */ disabled?: boolean, /** 是否是错误状态(废弃) */ error?: boolean, /** 默认值 */ defaultValue?: string, /** 输入框提示文字 */ placeholder?: string, /** 值 */ value?: string, /** 状态 */ status?: 'error' | 'warning', /** 配置清除按钮的图标 */ clearIcon?: ReactNode, /** 是否自动调整输入框的高度 */ autoSize?: boolean | { minRows?: number; maxRows?: number }, /** 节点类名 */ className?: string | string[], /** 输入框最大输入的长度 */ maxLength?: number | { length: number; errorOnly?: boolean }, /** 节点样式 */ style?: CSSProperties, /** 外层容器样式 */ wrapperStyle?: CSSProperties, /** 输入时的回调 */ onChange?: (value: string, e: any) => void, /** 点击清除按钮的回调 */ onClear?: () => void, /** 按下回车键的回调 */ onPressEnter?: (e: any) => void, children: ReactNode | ReactNode[] }) }, Group: { render(props: { /** 是否使用紧凑模式 */ compact?: boolean, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Search: { render(props: { /** 搜索时展示加载状态 */ loading?: boolean, /** 搜索按钮 */ searchButton?: boolean | ReactNode, /** 点击搜索按钮的回调 */ onSearch?: (value: string) => void, /** 以下继承 Input 所有属性 */ allowClear?: boolean, disabled?: boolean, error?: boolean, readOnly?: boolean, showWordLimit?: boolean, defaultValue?: string, placeholder?: string, value?: string, autoWidth?: boolean | { minWidth?: CSSProperties['minWidth'], maxWidth?: CSSProperties['maxWidth'] }, normalizeTrigger?: ('onBlur' | 'onPressEnter')[], size?: 'mini' | 'small' | 'default' | 'large', status?: 'error' | 'warning', addAfter?: ReactNode, addBefore?: ReactNode, clearIcon?: ReactNode, prefix?: ReactNode, suffix?: ReactNode, afterStyle?: object, beforeStyle?: object, className?: string | string[], height?: number | string, maxLength?: number | { length: number; errorOnly?: boolean }, style?: CSSProperties, normalize?: (value: string) => string, onChange?: (value: string, e: any) => void, onClear?: () => void, onPressEnter?: (e: any) => void, children: ReactNode | ReactNode[] }) }, Password: { render(props: { /** 初始是否显示 */ defaultVisibility?: boolean, /** 是否显示 */ visibility?: boolean, /** 是否显示切换密码可见状态的按钮 */ visibilityToggle?: boolean, /** visibility 改变时触发 */ onVisibilityChange?: (visibility: boolean) => void, /** 以下继承 Input 所有属性 */ allowClear?: boolean, disabled?: boolean, error?: boolean, readOnly?: boolean, showWordLimit?: boolean, defaultValue?: string, placeholder?: string, value?: string, autoWidth?: boolean | { minWidth?: CSSProperties['minWidth'], maxWidth?: CSSProperties['maxWidth'] }, normalizeTrigger?: ('onBlur' | 'onPressEnter')[], size?: 'mini' | 'small' | 'default' | 'large', status?: 'error' | 'warning', addAfter?: ReactNode, addBefore?: ReactNode, clearIcon?: ReactNode, prefix?: ReactNode, suffix?: ReactNode, afterStyle?: object, beforeStyle?: object, className?: string | string[], height?: number | string, maxLength?: number | { length: number; errorOnly?: boolean }, style?: CSSProperties, normalize?: (value: string) => string, onChange?: (value: string, e: any) => void, onClear?: () => void, onPressEnter?: (e: any) => void, children: ReactNode | ReactNode[] }) } }, InputNumber: { render(props: { /** 是否禁用 */ disabled?: boolean, /** 错误状态 */ error?: boolean, /** 隐藏右侧按钮 */ hideControl?: boolean, /** 是否只读 */ readOnly?: boolean, /** 严格模式下,onChange 回调将返回字符串类型 */ strictMode?: boolean, /** 最大值 */ max?: number, /** 最小值 */ min?: number, /** 数字精度 */ precision?: number, /** 数字变化步长 */ step?: number, /** 默认显示文案 */ placeholder?: string, /** 按钮展示模式 */ mode?: 'embed' | 'button', /** 数字输入框尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 显示前缀 */ prefix?: ReactNode, /** 显示后缀 */ suffix?: ReactNode, /** 节点类名 */ className?: string | string[], /** 初始值 */ defaultValue?: number | string, /** 配置图标 */ icons?: { up?: ReactNode; down?: ReactNode; plus?: ReactNode; minus?: ReactNode }, /** 节点样式 */ style?: CSSProperties, /** 当前值 */ value?: undefined | number | string, /** 定义输入框展示值 */ formatter?: (value: number | string, info: { userTyping: boolean; input: string }) => string, /** 输入框失去聚焦事件的回调 */ onBlur?: (e: any) => void, /** 变化回调 */ onChange?: (value: number, reason?: "manual" | "increase" | "decrease" | "outOfRange") => void, /** 输入框聚焦事件的回调 */ onFocus?: (e: any) => void, /** 键盘事件回调 */ onKeyDown?: (e: Event) => void, /** 从 formatter 转换为数字 */ parser?: (value: string) => number | string, children: ReactNode | ReactNode[] }) }, InputTag: { render(props: { /** 是否允许清除 */ allowClear?: boolean, /** 内部标签变化是否添加动画 */ animation?: boolean, /** 自动聚焦 */ autoFocus?: boolean, /** 是否禁用 */ disabled?: boolean, /** 是否可拖拽排序 */ dragToSort?: boolean, /** 是否错误状态(废弃) */ error?: boolean, /** 传入/回调值为 { label, value } 格式 */ labelInValue?: boolean, /** 是否只读 */ readOnly?: boolean, /** 失焦时自动保存输入文本 */ saveOnBlur?: boolean, /** 输入框内的值 */ inputValue?: string, /** 占位提示文案 */ placeholder?: string, /** 最多显示标签数量 */ maxTagCount?: number | 'responsive' | { count: number | 'responsive', render?: (invisibleTagCount: number, value: any[]) => ReactNode, popoverProps?: Partial }, /** 组件尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 校验状态 */ status?: 'error' | 'warning', /** 输入框后添加元素 */ addAfter?: ReactNode, /** 输入框前添加元素 */ addBefore?: ReactNode, /** 前缀图标/文字 */ prefix?: ReactNode, /** 后缀图标/文字 */ suffix?: ReactNode, /** 节点类名 */ className?: string | string[], /** 默认值 */ defaultValue?: any[], /** 自定义图标 */ icon?: { removeIcon?: ReactNode; clearIcon?: ReactNode }, /** 节点样式 */ style?: CSSProperties, /** 自动分词分隔符 */ tokenSeparators?: string[], /** 校验函数 */ validate?: (inputValue: string, values: any[]) => boolean | Promise | any | Promise, /** 控件值 */ value?: any[], /** 失去焦点回调 */ onBlur?: (e: any) => void, /** 值改变回调 */ onChange?: (value: any[], reason: "add" | "remove" | "clear" | "sort") => void, /** 清除回调 */ onClear?: () => void, /** 点击回调 */ onClick?: (e: any) => void, /** 聚焦回调 */ onFocus?: (e: any) => void, /** 输入变化回调 */ onInputChange?: (inputValue: string, event?: any) => void, /** 键盘按下回调 */ onKeyDown?: (e: any) => void, /** 粘贴回调 */ onPaste?: (e: any) => void, /** 回车回调 */ onPressEnter?: (e: any) => void, /** 移除标签回调 */ onRemove?: (value: any, index: number, event: any) => void, /** 自定义标签渲染 */ renderTag?: ( props: { value: any; label: ReactNode; closable: boolean; onClose: (event: any) => void }, index: number, values: { value?: any; label?: ReactNode; closable?: boolean }[] ) => ReactNode, children: ReactNode | ReactNode[] }) }, Layout: { render(props: { /** 子元素包含 Sider,用于服务端渲染避免样式闪动 */ hasSider?: boolean, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }), Header: { render(props: { /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Footer: { render(props: { /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Content: { render(props: { /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Sider: { render(props: { /** 当前收起状态 */ collapsed?: boolean, /** 是否可收起 */ collapsible?: boolean, /** 是否默认收起 */ defaultCollapsed?: boolean, /** 翻转折叠提示箭头 */ reverseArrow?: boolean, /** 收缩宽度 */ collapsedWidth?: number, /** 展开/收起回调 */ onCollapse?: (collapse: boolean, type: 'clickTrigger' | 'responsive') => void, /** 主题颜色 */ theme?: 'dark' | 'light', /** 自定义折叠触发器,null 则隐藏 */ trigger?: string | ReactNode, /** 响应式断点 */ breakpoint?: "xxxl" | "xxl" | "xl" | "lg" | "md" | "sm" | "xs", /** 节点类名 */ className?: string | string[], /** ResizeBox 相关参数 */ resizeBoxProps?: ResizeBoxProps, /** 调整方向 */ resizeDirections?: string[], /** 节点样式 */ style?: CSSProperties, /** 宽度 */ width?: number | string, /** 响应式断点触发回调 */ onBreakpoint?: (broken: boolean) => void, children: ReactNode | ReactNode[] }) } }, Link: { render(props: { /** 是否禁用 */ disabled?: boolean, /** 悬浮是否有底色 */ hoverable?: boolean, /** 状态类型 */ status?: 'error' | 'success' | 'warning', /** 节点类名 */ className?: string | string[], /** 显示图标 */ icon?: ReactNode | boolean, /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, List: { render(props: { /** 是否显示边框 */ bordered?: boolean, /** 列表项是否可悬浮 */ hoverable?: boolean, /** 是否加载中 */ loading?: boolean, /** 是否显示分割线 */ split?: boolean, /** 滚动加载默认当前页 */ defaultCurrent?: number, /** 触发底部加载的距离阈值 */ offsetBottom?: number, /** 节流延时 */ throttleDelay?: number, /** 列表尺寸 */ size?: 'small' | 'default' | 'large', children?: ReactNode, /** 列表底部 */ footer?: ReactNode, /** 列表头部 */ header?: ReactNode, /** 无数据显示内容 */ noDataElement?: ReactNode, /** 滚动加载提示 */ scrollLoading?: string | ReactNode, className?: string | string[], /** 数据源 */ dataSource?: any[], /** 列表栅格配置 */ grid?: { column?: number; gutter?: number; justify?: 'start' | 'center' | 'end' | 'space-around' | 'space-between'; align?: 'start' | 'center' | 'end' | 'stretch'; span?: number; offset?: number; order?: number; pull?: number; push?: number; xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number; }, /** 列表 ref */ listRef?: MutableRefObject<{ dom: HTMLDivElement; scrollIntoView: (index: number) => void; }>, /** 分页配置 */ pagination?: boolean | Record, style?: CSSProperties, /** 虚拟列表配置 */ virtualListProps?: Pick< any, 'height' | 'itemHeight' | 'threshold' | 'isStaticItemHeight' | 'scrollOptions' | 'onScroll' | 'wrapperChild' >, /** 外层容器类名 */ wrapperClassName?: string | string[], /** 外层容器样式 */ wrapperStyle?: CSSProperties, /** 列表滚动回调 */ onListScroll?: (elem: Element) => void, /** 滚动到底部触发 */ onReachBottom?: (currentPage: number) => void, /** 列表项渲染 */ render?: (item: any, index: number) => ReactNode, children: ReactNode | ReactNode[] }), Item: { render(props: { /** 操作组布局方向 */ actionLayout?: 'horizontal' | 'vertical', /** 右侧额外内容 */ extra?: ReactNode, /** 列表项操作组 */ actions?: ReactNode[], className?: string | string[], style?: CSSProperties, children: ReactNode | ReactNode[] }), Meta: { render(props: { /** 头像/图标 */ avatar?: ReactNode, /** 描述内容 */ description?: ReactNode, /** 标题 */ title?: ReactNode, className?: string | string[], style?: CSSProperties, children: ReactNode | ReactNode[] }) } } }, Mentions: { render(props: { /** 弹出框是否与输入框对齐 */ alignTextarea?: boolean, /** 允许清空输入框 */ allowClear?: boolean, /** 是否禁用 */ disabled?: boolean, /** 是否错误状态(废弃) */ error?: boolean, /** 输入框默认值 */ defaultValue?: string, /** 输入框提示文字 */ placeholder?: string, /** 选中项前后分隔符 */ split?: string, /** 输入框的值 */ value?: string, /** 下拉框弹出位置 */ position?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br', /** 校验状态 */ status?: 'error' | 'warning', /** 清除按钮图标 */ clearIcon?: ReactNode, /** 无数据时显示内容 */ notFoundContent?: ReactNode, /** 是否自动调整高度 */ autoSize?: boolean | { minRows?: number; maxRows?: number }, className?: string | string[], /** 下拉可选项 */ options?: (string | number | { label: ReactNode | string; value: string | number; disabled?: boolean })[], /** 触发关键字 */ prefix?: string | string[], style?: CSSProperties, /** 触发器配置 */ triggerProps?: Partial, /** 外层容器样式 */ wrapperStyle?: CSSProperties, /** 筛选选项 */ filterOption?: false | ((inputValue: string, option: any) => boolean), /** 弹出层挂载节点 */ getPopupContainer?: (node: HTMLElement) => HTMLElement, /** 失焦回调 */ onBlur?: (e: any) => void, /** 值变化回调 */ onChange?: (value: string) => void, /** 清除回调 */ onClear?: () => void, /** 聚焦回调 */ onFocus?: (e: any) => void, /** 回车回调 */ onPressEnter?: (e: any) => void, /** 搜索回调 */ onSearch?: (text: string, prefix: string) => void, children: ReactNode | ReactNode[] }) }, Menu: { render(props: { /** 开启手风琴效果 */ accordion?: boolean, /** 默认展开所有多级菜单 */ autoOpen?: boolean, /** 自动滚动选中项到可见区域 */ autoScrollIntoView?: boolean, /** 是否水平折叠收起菜单 */ collapse?: boolean, /** 是否内置折叠按钮 */ hasCollapseButton?: boolean, /** 菜单选项是否可选 */ selectable?: boolean, /** 层级缩进量 */ levelIndent?: number, /** 菜单类型 */ mode?: 'vertical' | 'horizontal' | 'pop' | 'popButton', /** 菜单风格 */ theme?: 'light' | 'dark', className?: string | string[], /** 初始展开的子菜单 key */ defaultOpenKeys?: string[], /** 初始选中的菜单项 key */ defaultSelectedKeys?: string[], /** 水平菜单是否自动溢出省略 */ ellipsis?: boolean | { text?: ReactNode }, /** 自定义图标 */ icons?: { horizontalArrowDown?: ReactNode | null; popArrowRight?: ReactNode | null; collapseDefault?: ReactNode | null; collapseActive?: ReactNode | null; }, /** 受控展开的子菜单 key */ openKeys?: string[], /** 滚动配置 */ scrollConfig?: { [key: string]: any }, /** 受控选中的菜单项 key */ selectedKeys?: string[], style?: CSSProperties, /** 弹出提示配置 */ tooltipProps?: Partial, /** 弹出触发器配置 */ triggerProps?: Partial, /** 点击菜单项回调 */ onClickMenuItem?: (key: string, event: any, keyPath: string[]) => any, /** 点击子菜单标题回调 */ onClickSubMenu?: (key: string, openKeys: string[], keyPath: string[]) => void, /** 折叠状态改变回调 */ onCollapseChange?: (collapse: boolean) => void, /** 省略状态变化回调 */ onEllipsisChange?: (status: { lastVisibleIndex: number; overflowNodes: ReactNode[] }) => void, children: ReactNode | ReactNode[] }), SubMenu: { render(props: { /** 子菜单标题是否可选中 */ selectable?: boolean, /** 唯一标识 */ key: string, /** 子菜单标题 */ title?: string | ReactNode, className?: string | string[], style?: CSSProperties, /** 触发器配置 */ triggerProps?: Partial, /** 是否强制弹出模式 */ popup?: boolean | ((level: number) => boolean), children: ReactNode | ReactNode[] }) }, ItemGroup: { render(props: { /** 菜单组标题 */ title?: string | ReactNode, className?: string | string[], style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Item: { render(props: { /** 是否禁用 */ disabled?: boolean, /** 唯一标识 */ key: string, className?: string | string[], style?: CSSProperties, /** 最外层标签 */ wrapper?: string | React.FC | React.ComponentClass, /** 折叠时 tooltip 展示节点 */ renderItemInTooltip?: () => ReactNode, children: ReactNode | ReactNode[] }) } }, Modal: { render(props: ModalProps & { children: ReactNode | ReactNode[] }) }, Pagination: { render(props: { /** 是否禁用 */ disabled?: boolean, /** 只有一页时是否隐藏 */ hideOnSinglePage?: boolean, /** 切换每页条数时重置页码为1 */ pageSizeChangeResetCurrent?: boolean, /** 是否显示快速跳转输入框 */ showJumper?: boolean, /** 是否显示更多页码提示 */ showMore?: boolean, /** 精简分页模式 */ simple?: boolean, /** 是否可切换每页条数 */ sizeCanChange?: boolean, /** 当前页与省略号之间的页码个数 */ bufferSize?: number, /** 当前页码(受控) */ current?: number, /** 默认当前页码 */ defaultCurrent?: number, /** 默认每页条数 */ defaultPageSize?: number, /** 每页条数(受控) */ pageSize?: number, /** 数据总条数 */ total?: number, /** 自定义分页按钮结构 */ itemRender?: (page: number, type: 'page' | 'more' | 'prev' | 'next', originElement: ReactNode) => ReactNode, /** 分页器尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 选中页按钮样式 */ activePageItemStyle?: CSSProperties, className?: string | string[], /** 自定义图标 */ icons?: { prev?: ReactNode; next?: ReactNode; more?: ReactNode }, /** 分页按钮样式 */ pageItemStyle?: CSSProperties, /** 下拉选择框配置 */ selectProps?: Partial, /** 每页条数可选配置 */ sizeOptions?: number[], style?: CSSProperties, /** 页码或条数变化回调 */ onChange?: (pageNumber: number, pageSize: number) => void, /** 每页条数变化回调 */ onPageSizeChange?: (size: number, current: number) => void, /** 是否显示总数据量 */ showTotal?: boolean | ((total: number, range: number[]) => ReactNode), children: ReactNode | ReactNode[] }) }, Popconfirm: { render(props: { /** 是否自动聚焦弹窗内可聚焦元素 */ autoFocus?: boolean, /** 默认弹窗可见状态 */ defaultPopupVisible?: boolean, /** 是否禁用 */ disabled?: boolean, /** 是否锁定焦点在弹窗内 */ focusLock?: boolean, /** 弹窗可见状态(受控) */ popupVisible?: boolean, /** 隐藏时是否销毁 DOM */ unmountOnExit?: boolean, /** 确认按钮类型 */ okType?: ButtonProps['type'], /** 弹出方位 */ position?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br' | 'left' | 'lt' | 'lb' | 'right' | 'rt' | 'rb', /** 触发方式 */ trigger?: TriggerProps['trigger'], /** 取消按钮文字 */ cancelText?: ReactNode, /** 标题前图标 */ icon?: ReactNode, /** 确认按钮文字 */ okText?: ReactNode, /** 取消按钮 props */ cancelButtonProps?: ButtonProps, className?: string | string[], /** 确认按钮 props */ okButtonProps?: ButtonProps, /** 点击确认回调 */ onOk?: (e: React.MouseEvent) => Promise | void, style?: CSSProperties, /** 触发器参数 */ triggerProps?: Partial, /** 弹窗内容 */ content?: ReactNode | (() => ReactNode), /** 弹窗挂载节点 */ getPopupContainer?: (node: HTMLElement) => Element, /** 点击取消回调 */ onCancel?: (e: React.MouseEvent) => void, /** 显隐变化回调 */ onVisibleChange?: (visible: boolean) => void, /** 标题 */ title?: ReactNode | (() => ReactNode), children: ReactNode | ReactNode[] }) }, Popover: { render(props: { /** 失去焦点时关闭弹出框 */ blurToHide?: boolean, /** 默认弹出框状态 */ defaultPopupVisible?: boolean, /** 是否禁用 */ disabled?: boolean, /** 鼠标移入弹出框时保持显示 */ popupHoverStay?: boolean, /** 弹出框显示状态(受控) */ popupVisible?: boolean, /** 隐藏时销毁 DOM */ unmountOnExit?: boolean, /** 打开时附加的类名前缀 */ childrenPrefix?: string, /** 弹出层背景色 */ color?: string, /** 弹出方位 */ position?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br' | 'left' | 'lt' | 'lb' | 'right' | 'rt' | 'rb', /** 触发方式 */ trigger?: TriggerProps['trigger'], /** 弹出内容 */ content?: ReactNode, className?: string | string[], style?: CSSProperties, /** 触发器透传参数 */ triggerProps?: Partial, /** 弹出框挂载节点 */ getPopupContainer?: (node: HTMLElement) => Element, /** 显隐状态变化回调 */ onVisibleChange?: (visible: boolean) => void, /** 标题 */ title?: ReactNode | (() => ReactNode), children: ReactNode | ReactNode[] }) }, Progress: { render(props: { /** 动画效果,仅 line 类型可用 */ animation?: boolean, /** 是否显示缓冲区,仅 line 类型加载中有效 */ buffer?: boolean, /** 是否展示进度文本 */ showText?: boolean, /** 进度百分比(必填) */ percent: number, /** 步骤进度条 */ steps?: number, /** 进度条线宽 */ strokeWidth?: number, /** 剩余进度条颜色 */ trailColor?: string, /** 进度条尺寸 */ size?: 'small' | 'default' | 'mini' | 'large', /** 进度条状态 */ status?: 'success' | 'error' | 'normal' | 'warning', /** 进度条类型 */ type?: 'line' | 'circle', /** 缓冲区颜色 */ bufferColor?: string | object, className?: string | string[], /** 进度条颜色,支持渐变色 */ color?: string | { [key: string]: string }, style?: CSSProperties, /** 进度条宽度,circle 仅支持数字 */ width?: string | number, /** 自定义进度文本 */ formatText?: (percent: number) => ReactNode, children: ReactNode | ReactNode[] }) }, Rate: { render(props: { /** 是否允许清除 */ allowClear?: boolean, /** 是否允许半选 */ allowHalf?: boolean, /** 是否禁用 */ disabled?: boolean, /** 笑脸分级 */ grading?: boolean, /** 是否只读 */ readonly?: boolean, /** 星星总数 */ count?: number, /** 默认值 */ defaultValue?: number, /** 受控值 */ value?: number, className?: string | string[], style?: CSSProperties, /** 每项提示文字 */ tooltips?: string[], /** 自定义图标/字符 */ character?: ReactNode | ((index: number) => ReactNode), /** 选择回调 */ onChange?: (value: number) => void, /** 悬停变化回调 */ onHoverChange?: (value: number) => void, children: ReactNode | ReactNode[] }) }, ResizeBox: { render(props: { /** 高度,受控 */ height?: number, /** 宽度,受控 */ width?: number, /** 渲染标签 */ component?: string, /** 可伸缩方向 */ directions?: Array<'left' | 'right' | 'top' | 'bottom'>, className?: string | string[], /** 自定义各方向图标 */ resizeIcons?: { top?: ReactNode; bottom?: ReactNode; left?: ReactNode; right?: ReactNode; }, /** 自定义各方向拖拽触发器 */ resizeTriggers?: { top?: ReactNode; bottom?: ReactNode; left?: ReactNode; right?: ReactNode; }, style?: CSSProperties, /** 拖拽中回调 */ onMoving?: (e: MouseEvent, size: { width: number; height: number }) => void, /** 拖拽结束 */ onMovingEnd?: () => void, /** 拖拽开始 */ onMovingStart?: () => void, children: ReactNode | ReactNode[] }), Split: { render(props: { /** 是否禁用 */ disabled?: boolean, /** 渲染标签 */ component?: string, /** 分割方向 */ direction?: 'horizontal' | 'vertical' | 'horizontal-reverse' | 'vertical-reverse', /** 拖拽图标 */ icon?: ReactNode, /** 触发器内容 */ trigger?: ReactNode, className?: string | string[], /** 最大尺寸 */ max?: number | string, /** 最小尺寸 */ min?: number | string, /** 左右/上下面板 */ panes: ReactNode[], /** 分割比例/像素 */ size?: number | string, style?: CSSProperties, /** 拖拽中 */ onMoving?: (e: MouseEvent, size: number | string) => void, /** 拖拽结束 */ onMovingEnd?: () => void, /** 拖拽开始 */ onMovingStart?: () => void, /** 面板大小变化 */ onPaneResize?: (paneContainers: HTMLElement[]) => void, children: ReactNode | ReactNode[] }) }, SplitGroup: { render(props: { /** 渲染标签 */ component?: string, /** 分割方向 */ direction?: 'horizontal' | 'vertical', /** 拖拽图标 */ icon?: ReactNode, className?: string | string[], /** 多面板配置 */ panes: Array<{ disabled?: boolean; resizable?: boolean; content: ReactNode; collapsible?: boolean | { prev?: boolean | { onClick?: (e: any, collapsed: boolean, activeIndex: number, direction: 'prev' | 'next') => void; icon?: ReactNode; }; next?: boolean | { onClick?: (e: any, collapsed: boolean, activeIndex: number, direction: 'prev' | 'next') => void; icon?: ReactNode; }; }; max?: number | string; min?: number | string; size?: number | string; trigger?: (prevNode: ReactNode, resizeNode: ReactNode, nextNode: ReactNode) => ReactNode; }>, style?: CSSProperties, /** 拖拽中 */ onMoving?: (e: MouseEvent, size: string[], activeIndex: number) => void, /** 拖拽结束 */ onMovingEnd?: (activeIndex: number) => void, /** 拖拽开始 */ onMovingStart?: (activeIndex: number) => void, /** 面板 resize 回调 */ onPaneResize?: (paneContainers: HTMLElement[]) => void, children: ReactNode | ReactNode[] }) } }, Result: { render(props: { /** 状态类型,为 null 时无默认图标与背景色 */ status?: 'success' | 'error' | 'info' | 'warning' | '404' | '403' | '500' | null, /** 额外内容区域 */ extra?: ReactNode, /** 自定义图标 */ icon?: ReactNode, /** 子标题 */ subTitle?: ReactNode, /** 主标题 */ title?: ReactNode, className?: string | string[], style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Select: { render(props: { /** 允许清除值 */ allowClear?: boolean, /** 标签变化动画 */ animation?: boolean, /** 是否显示边框 */ bordered?: boolean, /** 默认高亮第一个选项 */ defaultActiveFirstOption?: boolean, /** 默认下拉是否打开 */ defaultPopupVisible?: boolean, /** 是否禁用 */ disabled?: boolean, /** 拖拽排序标签 */ dragToSort?: boolean, /** 错误状态(废弃) */ error?: boolean, /** 回调 value 为 { label, value } 格式 */ labelInValue?: boolean, /** 加载状态 */ loading?: boolean, /** 控制下拉是否打开(受控) */ popupVisible?: boolean, /** 隐藏时销毁 DOM */ unmountOnExit?: boolean, /** 输入框值(受控) */ inputValue?: string, /** 占位提示文字 */ placeholder?: string, /** 允许创建新选项 */ allowCreate?: boolean | { formatter: (inputValue: string, creating: boolean) => any }, /** 宽度自适应 */ autoWidth?: boolean | { minWidth?: CSSProperties['minWidth'], maxWidth?: CSSProperties['maxWidth'] }, /** 最多显示标签数量 */ maxTagCount?: number | 'responsive' | { count: number | 'responsive', render?: (invisibleTagCount: number) => ReactNode }, /** 多选/标签模式 */ mode?: 'multiple' | 'tags', /** 尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 校验状态 */ status?: 'error' | 'warning', /** 触发方式 */ trigger?: TriggerProps['trigger'], /** 选择框前元素 */ addBefore?: ReactNode, /** 清除按钮图标 */ clearIcon?: ReactNode, /** 无数据提示 */ notFoundContent?: ReactNode, /** 前缀 */ prefix?: ReactNode, /** 后缀图标 */ suffixIcon?: ReactNode, /** 箭头图标 */ arrowIcon?: ReactNode | null, className?: string | string[], /** 默认值 */ defaultValue?: string | string[] | number | number[] | { label: ReactNode; value: string | number }, /** 下拉菜单类名 */ dropdownMenuClassName?: string | string[], /** 下拉菜单样式 */ dropdownMenuStyle?: CSSProperties, /** 可选项 */ options?: (string | number | { label: ReactNode | string, value: string | number, disabled?: boolean, extra?: any })[], /** 多选删除图标 */ removeIcon?: ReactNode | null, /** 单选可搜索 */ showSearch?: boolean | { retainInputValue?: boolean, retainInputValueWhileSelect?: boolean }, style?: CSSProperties, /** 分词分隔符 */ tokenSeparators?: string[], /** 触发器透传参数 */ triggerProps?: Partial, /** 受控值 */ value?: string | string[] | number | number[] | { label: ReactNode; value: string | number }, /** 虚拟滚动配置 */ virtualListProps?: Pick, /** 自定义下拉渲染 */ dropdownRender?: (menu: ReactNode) => ReactNode, /** 选项过滤 */ filterOption?: boolean | ((inputValue: string, option: any) => boolean), /** 下拉挂载节点 */ getPopupContainer?: (node: HTMLElement) => Element, /** 失焦回调 */ onBlur?: (e: any) => void, /** 值变化回调 */ onChange?: (value: any, option: any) => void, /** 清除回调 */ onClear?: (visible: boolean) => void, /** 点击回调 */ onClick?: (e: any) => void, /** 取消选中(多选) */ onDeselect?: (value: any, option: any) => void, /** 聚焦回调 */ onFocus?: (e: any) => void, /** 输入值变化 */ onInputValueChange?: (value: string, reason: 'manual' | 'optionChecked' | 'optionListHide' | 'tokenSeparator') => void, /** 键盘按下 */ onKeyDown?: (e: any) => void, /** 粘贴回调 */ onPaste?: (e: any) => void, /** 下拉滚动 */ onPopupScroll?: (elem: any) => void, /** 搜索回调 */ onSearch?: (value: string, reason: 'manual' | 'optionChecked' | 'optionListHide' | 'tokenSeparator') => void, /** 选中回调(多选) */ onSelect?: (value: any, option: any) => void, /** 显隐变化 */ onVisibleChange?: (visible: boolean) => void, /** 自定义回显 */ renderFormat?: (option: any | null, value: any) => ReactNode, /** 自定义标签渲染 */ renderTag?: ( props: { value: any; label: ReactNode; closable: boolean; onClose: (e: any) => void }, index: number, values: { value?: any; label?: ReactNode; closable?: boolean }[] ) => ReactNode, /** 自定义触发元素 */ triggerElement?: ReactNode | ((params: { value: any; option: any }) => ReactNode), children: ReactNode | ReactNode[] }), Option: { render(props: { /** 是否禁用 */ disabled?: boolean, className?: string | string[], /** 自定义数据 */ extra?: any, style?: CSSProperties, /** 选项值(必填) */ value: string | number, children: ReactNode | ReactNode[] }) }, OptGroup: { render(props: { /** 分组标题 */ label?: ReactNode, className?: string | string[], style?: CSSProperties, children: ReactNode | ReactNode[] }) } }, Skeleton: { render(props: { /** 是否显示动画效果 */ animation?: boolean, /** 是否显示占位骨架 */ loading?: boolean, /** 节点类名 */ className?: string | string[], /** 图片占位配置 */ image?: boolean | { style?: CSSProperties, className?: string, shape?: "circle" | "square", size?: "small" | "default" | "large", position?: "left" | "right", prefixCls?: string }, /** 节点样式 */ style?: CSSProperties, /** 文本占位配置 */ text?: boolean | { style?: CSSProperties, className?: string, rows?: number, width?: number | string | (string | number)[], prefixCls?: string }, children: ReactNode | ReactNode[] }) }, Slider: { render(props: { /** 是否禁用 */ disabled?: boolean, /** 只能选择标签值,忽略 step */ onlyMarkValue?: boolean, /** 反向坐标轴 */ reverse?: boolean, /** 是否显示步长刻度线 */ showTicks?: boolean, /** 控制提示框显隐 */ tooltipVisible?: boolean, /** 是否竖直方向 */ vertical?: boolean, /** 最大值 */ max?: number, /** 最小值 */ min?: number, /** 步长 */ step?: number, /** 提示框位置 */ tooltipPosition?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br' | 'left' | 'lt' | 'lb' | 'right' | 'rt' | 'rb', /** 格式化提示内容 */ formatTooltip?: (value: number) => string | ReactNode, className?: string | string[], /** 默认值 */ defaultValue?: number | number[], /** 刻度标签 */ marks?: Record, /** 是否范围选择 */ range?: boolean | { draggableBar: boolean }, /** 是否显示输入框 */ showInput?: boolean | Record | Record[], style?: CSSProperties, /** 当前值 */ value?: number | number[], /** 区间步长与宽度配置 */ getIntervalConfig?: (range: number[], index: number) => { step?: number; width?: number | string }, /** 提示框挂载节点 */ getTooltipContainer?: () => Element, /** 拖拽结束后触发 */ onAfterChange?: (val: number | number[]) => void, /** 值变化触发 */ onChange?: (val: number | number[]) => void, children: ReactNode | ReactNode[] }) }, Space: { render(props: { /** 环绕类型的间距,用于折行场景 */ wrap?: boolean, /** 对齐方式 */ align?: 'start' | 'end' | 'center' | 'baseline', /** 间距方向 */ direction?: 'vertical' | 'horizontal', /** 设置分隔符 */ split?: ReactNode, /** 节点类名 */ className?: string | string[], /** 尺寸,支持数组形式 */ size?: "mini" | "small" | "medium" | "large" | number | ("mini" | "small" | "medium" | "large" | number)[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Spin: { render(props: { /** 是否为块级元素 */ block?: boolean, /** 是否使用点类型的动画 */ dot?: boolean, /** 是否为加载状态 */ loading?: boolean, /** 延迟显示加载的时间 ms */ delay?: number, /** 加载动画的尺寸 */ size?: number, /** 自定义加载元素, 无旋转效果 */ element?: ReactNode, /** 自定义图标,会自动旋转 */ icon?: ReactNode, /** 加载提示文案 */ tip?: string | ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Statistic: { render(props: { /** 数字动态变大效果 */ countUp?: boolean, /** 显示千位分隔符 */ groupSeparator?: boolean, /** 是否加载中 */ loading?: boolean, /** 动态变大过渡时间 ms */ countDuration?: number, /** 数字动画起始值 */ countFrom?: number, /** 小数精度 */ precision?: number, /** dayjs 格式化字符串 */ format?: string, /** 自定义渲染函数 */ renderFormat?: (value: string | number | any, formattedValue: string) => ReactNode, /** 额外展示内容 */ extra?: ReactNode, /** 数值前缀 */ prefix?: string | ReactNode, /** 数值后缀 */ suffix?: string | ReactNode, /** 统计标题 */ title?: string | ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 小数部分样式 */ styleDecimal?: CSSProperties, /** 数值样式 */ styleValue?: CSSProperties, /** 显示数值 */ value?: string | number | any, children: ReactNode | ReactNode[] }), Countdown: { render(props: { /** 是否开始倒计时 */ start?: boolean, /** dayjs 时间格式 */ format?: string, /** 倒计时标题 */ title?: string | ReactNode, /** 节点类名 */ className?: string | string[], /** 基准当前时间 */ now?: number | string | Date | any, /** 节点样式 */ style?: CSSProperties, /** 数值样式 */ styleValue?: CSSProperties, /** 目标倒计时时间 */ value?: number | string | Date | any, /** 倒计时结束回调 */ onFinish?: () => void, /** 自定义倒计时渲染 */ renderFormat?: (valueDiff: number, formattedDiff: string) => ReactNode, children: ReactNode | ReactNode[] }) } }, Steps: { render(props: { /** 无连接线模式 */ lineless?: boolean, /** 当前步数 */ current?: number, /** 显示方向 */ direction?: 'vertical' | 'horizontal', /** 标签文字位置 */ labelPlacement?: 'horizontal' | 'vertical', /** 步骤条尺寸 */ size?: 'default' | 'small', /** 当前节点状态 */ status?: 'wait' | 'process' | 'finish' | 'error', /** 节点样式类型 */ type?: 'default' | 'arrow' | 'dot' | 'navigation', /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 自定义步骤节点,不支持箭头模式 */ customDot?: (IconDot: ReactNode, stepConfig: { index: number; status: string; title: ReactNode; description: ReactNode; }) => ReactNode, /** 步骤切换回调 */ onChange?: (current: number, id: any) => void, children: ReactNode | ReactNode[] }), Step: { render(props: { /** 是否禁用当前步骤点击 */ disabled?: boolean, /** 节点状态 */ status?: 'wait' | 'process' | 'finish' | 'error', /** 节点描述 */ description?: string | ReactNode, /** 节点标题 */ title?: string | ReactNode, /** 节点类名 */ className?: string | string[], /** 节点 ID */ id?: any, /** 节点样式 */ style?: CSSProperties, /** 点击回调 */ onClick?: (index: number, id: any, e: any) => void, children: ReactNode | ReactNode[] }) } }, Switch: { render(props: { /** 开关是否打开(受控) */ checked?: boolean, /** 默认是否选中 */ defaultChecked?: boolean, /** 是否禁用 */ disabled?: boolean, /** 加载中状态 */ loading?: boolean, /** 开关尺寸 */ size?: 'small' | 'default', /** 样式类型 */ type?: 'circle' | 'round' | 'line', /** 开启时图标 */ checkedIcon?: ReactNode, /** 开启时文案 */ checkedText?: ReactNode, /** 关闭时图标 */ uncheckedIcon?: ReactNode, /** 关闭时文案 */ uncheckedText?: ReactNode, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, /** 状态变化回调 */ onChange?: (value: boolean, event: any) => void, children: ReactNode | ReactNode[] }) }, Table: { render(props: TableProps & { children: ReactNode | ReactNode[] }) }, Tabs: { render(props: { /** 隐藏时是否销毁 DOM,TabPane 优先级更高 */ destroyOnHide?: boolean, /** 是否可增删标签,仅 card / card-gutter 生效 */ editable?: boolean, /** 头部是否有内边距,仅 line / text 类型 */ headerPadding?: boolean, /** 高度撑满容器,仅水平模式 */ justify?: boolean, /** 懒加载隐藏面板 */ lazyload?: boolean, /** 是否显示新增按钮 */ showAddButton?: boolean, /** 当前激活 tab key(受控) */ activeTab?: string, /** 默认激活 tab key */ defaultActiveTab?: string, /** 方向,已废弃,使用 tabPosition */ direction?: 'horizontal' | 'vertical', /** 自定义下划线尺寸 */ inkBarSize?: { width?: CSSProperties['width']; height?: CSSProperties['height'] }, /** 溢出方式:滚动 / 下拉 */ overflow?: 'scroll' | 'dropdown', /** 选中项滚动位置 */ scrollPosition?: 'start' | 'end' | 'center' | 'auto' | number, /** 尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 选项卡位置 */ tabPosition?: 'left' | 'right' | 'top' | 'bottom', /** 样式类型 */ type?: 'line' | 'card' | 'card-gutter' | 'text' | 'rounded' | 'capsule', /** 自定义添加按钮 */ addButton?: ReactNode, /** 自定义删除按钮 */ deleteButton?: ReactNode, /** 右侧额外内容 */ extra?: ReactNode, /** 过渡动画 */ animation?: boolean | { tabPane?: boolean; inkBar?: boolean }, className?: string | string[], /** 图标配置 */ icons?: { add?: ReactNode; delete?: ReactNode; prev?: ReactNode; next?: ReactNode; dropdown?: ReactNode; }, /** 增删后是否自动滚动 */ scrollAfterEdit?: { delete?: boolean; add?: boolean }, style?: CSSProperties, /** 添加标签回调 */ onAddTab?: () => void, /** 切换回调 */ onChange?: (key: string) => void, /** 点击标签回调 */ onClickTab?: (key: string) => void, /** 删除标签回调 */ onDeleteTab?: (key: string) => void, /** 自定义整个标签头 */ renderTabHeader?: (tabProps: any, DefaultTabHeader: any) => ReactElement, /** 自定义单个标签标题 */ renderTabTitle?: ( tabTitle: ReactNode, info: { key: string | number; isActive: boolean; disabled: boolean; editable: boolean } ) => ReactNode, children: ReactNode | ReactNode[] }), TabPane: { render(props: { /** 是否可关闭 */ closable?: boolean, /** 隐藏时销毁 DOM,优先级高于 Tabs */ destroyOnHide?: boolean, /** 是否禁用 */ disabled?: boolean, /** 标签标题(必填) */ title: string | ReactNode, className?: string | string[], style?: CSSProperties, children: ReactNode | ReactNode[] }) } }, Tag: { render(props: { /** 是否可选中 */ checkable?: boolean, /** 是否选中(受控) */ checked?: boolean, /** 是否可关闭 */ closable?: boolean, /** 默认是否选中 */ defaultChecked?: boolean, /** 显示隐藏 */ visible?: boolean, /** 背景色 */ color?: string, /** 尺寸 */ size?: 'small' | 'default' | 'medium' | 'large', /** 自定义关闭图标 */ closeIcon?: ReactNode, /** 前置图标 */ icon?: ReactNode, /** 是否显示边框 */ bordered?: boolean, className?: string | string[], /** 关闭回调 */ onClose?: (e: any) => Promise | void, style?: CSSProperties, /** 选中状态变化回调 */ onCheck?: (checked: boolean) => void, children: ReactNode | ReactNode[] }) }, Timeline: { render(props: { /** 是否倒序排列 */ reverse?: boolean, /** 时间轴方向 */ direction?: 'horizontal' | 'vertical', /** 标签文本位置 */ labelPosition?: 'relative' | 'same', /** 展示模式 */ mode?: 'left' | 'right' | 'top' | 'bottom' | 'alternate', /** 幽灵节点配置 */ pending?: boolean | ReactNode, /** 自定义幽灵节点图标 */ pendingDot?: ReactNode, className?: string | string[], style?: CSSProperties, children: ReactNode | ReactNode[] }), Item: { render(props: { /** 自动适配节点尺寸 */ autoFixDotSize?: boolean, /** 节点颜色 */ dotColor?: string, /** 轴线颜色 */ lineColor?: string, /** 节点类型:空心/实心 */ dotType?: 'hollow' | 'solid', /** 标签位置,mode=alternate 时生效 */ labelPosition?: 'relative' | 'same', /** 轴线类型 */ lineType?: 'solid' | 'dashed' | 'dotted', /** 自定义节点 */ dot?: string | ReactNode, /** 标签文本 */ label?: string | ReactNode, className?: string | string[], style?: CSSProperties, children: ReactNode | ReactNode[] }) } }, Tooltip: { render(props: { /** 失去焦点时关闭浮层 */ blurToHide?: boolean, /** 默认浮层可见状态 */ defaultPopupVisible?: boolean, /** 是否禁用提示 */ disabled?: boolean, /** 是否为迷你尺寸 */ mini?: boolean, /** 鼠标移入浮层时保持显示 */ popupHoverStay?: boolean, /** 浮层显示状态(受控) */ popupVisible?: boolean, /** 隐藏时销毁 DOM */ unmountOnExit?: boolean, /** 打开时附加的类名前缀 */ childrenPrefix?: string, /** 弹出层背景色 */ color?: string, /** 弹出方位 */ position?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br' | 'left' | 'lt' | 'lb' | 'right' | 'rt' | 'rb', /** 触发方式 */ trigger?: TriggerProps['trigger'], /** 提示内容 */ content?: ReactNode, className?: string | string[], style?: CSSProperties, /** 触发器透传参数 */ triggerProps?: Partial, /** 浮层挂载节点 */ getPopupContainer?: (node: HTMLElement) => Element, /** 显隐状态变化回调 */ onVisibleChange?: (visible: boolean) => void, children: ReactNode | ReactNode[] }) }, Transfer: { render(props: { /** 是否禁用整个穿梭框 */ disabled?: boolean, /** 列表项是否可拖拽排序 */ draggable?: boolean, /** 是否为单向穿梭模式 */ oneWay?: boolean, /** 选项在左右栏移动时的回调 */ onChange?: (newTargetKeys: string[], direction: 'source' | 'target', moveKeys: string[]) => void, /** 搜索框输入时回调 */ onSearch?: (value: string, type?: 'source' | 'target') => void, className?: string | string[], /** 穿梭框数据源 */ dataSource?: Array<{ key: string; value: string; disabled?: boolean }>, /** 默认选中项 */ defaultSelectedKeys?: string[], /** 默认显示在右侧栏的项 */ defaultTargetKeys?: string[], /** 左右列表样式 */ listStyle?: CSSProperties | CSSProperties[], /** 拖拽结束回调 */ onDragEnd?: (e: DragEvent, item: any) => void, /** 拖拽离开可释放区域回调 */ onDragLeave?: (e: DragEvent, item: any) => void, /** 拖拽经过可释放区域回调 */ onDragOver?: (e: DragEvent, item: any) => void, /** 拖拽开始回调 */ onDragStart?: (e: DragEvent, item: any) => void, /** 拖拽释放回调 */ onDrop?: (info: { e: DragEvent; dragItem: any; dropItem: any; dropPosition: number }) => void, /** 中间操作区样式 */ operationStyle?: CSSProperties, /** 穿梭按钮文案 */ operationTexts?: string[] | ReactNode[], /** 分页配置 */ pagination?: boolean | any | Array, /** 搜索框占位符 */ searchPlaceholder?: string | string[], /** 当前选中项(受控) */ selectedKeys?: string[], /** 是否显示底部重置按钮 */ showFooter?: boolean | ReactNode | Array, /** 是否显示搜索框 */ showSearch?: boolean | any | Array, /** 简单模式配置 */ simple?: boolean | { retainSelectedItems?: boolean }, style?: CSSProperties, /** 右侧栏数据 key(受控) */ targetKeys?: string[], /** 左右栏标题 */ titleTexts?: Array, /** 虚拟滚动配置 */ virtualListProps?: any, /** 自定义列表渲染 */ children?: (props: any) => ReactNode, /** 自定义搜索过滤逻辑 */ filterOption?: (inputValue: string, item: any) => boolean, /** 点击重置按钮回调 */ onResetData?: () => void, /** 选中状态变化回调 */ onSelectChange?: (leftSelectedKeys: string[], rightSelectedKeys: string[]) => void, /** 自定义每项渲染 */ render?: (item: any) => any, children: ReactNode | ReactNode[] }), Item: { render(props: { /** 唯一标识(必填) */ key: string, /** 选项值(必填) */ value: string, /** 是否禁用当前项 */ disabled?: boolean, children: ReactNode | ReactNode[] }) } }, TreeSelect: { render(props: { /** 是否允许清除选中值 */ allowClear?: boolean, /** 内部标签变化动画 */ animation?: boolean, /** 是否显示边框 */ bordered?: boolean, /** 是否禁用 */ disabled?: boolean, /** 多选标签是否可拖拽排序 */ dragToSort?: boolean, /** 回调 value 包含 label 与 value */ labelInValue?: boolean, /** 加载状态 */ loading?: boolean, /** 是否多选 */ multiple?: boolean, /** 下拉框显隐受控 */ popupVisible?: boolean, /** 是否显示复选框 */ treeCheckable?: boolean, /** 父子节点选中是否严格关联 */ treeCheckStrictly?: boolean, /** 隐藏后是否销毁 DOM */ unmountOnExit?: boolean, /** 搜索输入框受控值 */ inputValue?: string, /** 占位提示文字 */ placeholder?: string, /** 宽度自适应配置 */ autoWidth?: boolean | { minWidth?: CSSProperties['width']; maxWidth?: CSSProperties['width']; }, /** 自定义树节点字段映射 */ fieldNames?: { key?: string; title?: string; disabled?: string; children?: string; isLeaf?: string; }, /** 多选时最多显示标签数 */ maxTagCount?: number | 'responsive' | { count: number | 'responsive'; render?: (invisibleTagCount: number) => ReactNode; }, /** 选择器尺寸 */ size?: 'mini' | 'small' | 'default' | 'large', /** 校验状态 */ status?: 'error' | 'warning', /** 复选后回显策略 */ treeCheckedStrategy?: 'all' | 'parent' | 'child', /** 选择框前置内容 */ addBefore?: ReactNode, /** 自定义清除图标 */ clearIcon?: ReactNode, /** 无数据提示 */ notFoundContent?: ReactNode, /** 前缀内容 */ prefix?: ReactNode, /** 自定义后缀图标 */ suffixIcon?: ReactNode, /** 自定义箭头图标 */ arrowIcon?: ReactNode | null, className?: string | string[], /** 默认选中值 */ defaultValue?: string | string[] | { label: ReactNode; value: string; disabled?: boolean; } | Array, /** 下拉菜单样式 */ dropdownMenuStyle?: CSSProperties, /** 多选删除图标 */ removeIcon?: ReactNode | null, /** 是否可搜索 */ showSearch?: boolean | { retainInputValue?: boolean; retainInputValueWhileSelect?: boolean; }, style?: CSSProperties, /** 树形数据源 */ treeData?: Array, /** 透传 Tree 组件属性 */ treeProps?: Partial, /** 透传 Trigger 组件属性 */ triggerProps?: Partial, /** 选中值受控 */ value?: string | string[] | any | Array, /** 自定义下拉内容 */ dropdownRender?: (dom: ReactNode) => ReactNode, /** 自定义树节点筛选 */ filterTreeNode?: (inputText: string, treeNode: any) => boolean | void, /** 下拉挂载节点 */ getPopupContainer?: (node: HTMLElement) => Element, /** 动态加载子节点 */ loadMore?: (treeNode: any, dataRef: any) => void, /** 选中值变化回调 */ onChange?: (value: any, extra: { trigger?: any; checked?: boolean; selected?: boolean; }) => void, /** 清除回调 */ onClear?: (visible: boolean) => void, /** 点击回调 */ onClick?: (e: any) => void, /** 搜索值变化回调 */ onInputValueChange?: (value: string, reason: | 'manual' | 'optionChecked' | 'optionListHide' ) => void, /** 键盘按下回调 */ onKeyDown?: (e: any) => void, /** 搜索回调 */ onSearch?: (inputValue: string) => void, /** 下拉显隐变化回调 */ onVisibleChange?: (visible: boolean) => void, /** 自定义选中回显 */ renderFormat?: (option: any | null, value: any) => ReactNode, /** 自定义多选标签渲染 */ renderTag?: ( props: { value: any; label: ReactNode; closable: boolean; onClose: (e: any) => void }, index: number, values: Array<{ value?: any; label?: ReactNode; closable?: boolean }> ) => ReactNode, /** 自定义触发元素 */ triggerElement?: ReactNode | ((params: { value: any }) => ReactNode), children: ReactNode | ReactNode[] }) }, Typography: { render(props: { /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }), Title: { render(props: { /** 粗体 */ bold?: boolean, /** 代码块样式 */ code?: boolean, /** 删除线样式 */ delete?: boolean, /** 禁用状态 */ disabled?: boolean, /** 下划线样式 */ underline?: boolean, /** 文本类型 */ type?: 'primary' | 'secondary' | 'success' | 'error' | 'warning', /** 自动溢出省略 */ ellipsis?: boolean | Record, /** 标题级别 h1-h6 */ heading?: 1 | 2 | 3 | 4 | 5 | 6, /** 标记样式 */ mark?: boolean | { color: string }, /** 开启复制功能 */ copyable?: boolean | { text?: string, onCopy?: (text: string, e: any) => void, icon?: ReactNode, tooltips?: [ReactNode, ReactNode], tooltipProps?: Record }, /** 开启可编辑功能 */ editable?: boolean | { editing?: boolean, tooltipProps?: Record, onStart?: (text: string, e: any) => void, onChange?: (text: string) => void, onEnd?: (text: string) => void }, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Paragraph: { render(props: { /** 长引用 */ blockquote?: boolean, /** 粗体 */ bold?: boolean, /** 代码块样式 */ code?: boolean, /** 删除线样式 */ delete?: boolean, /** 禁用状态 */ disabled?: boolean, /** 下划线样式 */ underline?: boolean, /** 段落行高疏密 */ spacing?: 'default' | 'close', /** 文本类型 */ type?: 'primary' | 'secondary' | 'success' | 'error' | 'warning', /** 自动溢出省略 */ ellipsis?: boolean | Record, /** 标记样式 */ mark?: boolean | { color: string }, /** 开启复制功能 */ copyable?: boolean | { text?: string, onCopy?: (text: string, e: any) => void, icon?: ReactNode, tooltips?: [ReactNode, ReactNode], tooltipProps?: Record }, /** 开启可编辑功能 */ editable?: boolean | { editing?: boolean, tooltipProps?: Record, onStart?: (text: string, e: any) => void, onChange?: (text: string) => void, onEnd?: (text: string) => void }, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Text: { render(props: { /** 粗体 */ bold?: boolean, /** 代码块样式 */ code?: boolean, /** 删除线样式 */ delete?: boolean, /** 禁用状态 */ disabled?: boolean, /** 下划线样式 */ underline?: boolean, /** 文本类型 */ type?: 'primary' | 'secondary' | 'success' | 'error' | 'warning', /** 自动溢出省略 */ ellipsis?: boolean | Record, /** 标记样式 */ mark?: boolean | { color: string }, /** 开启复制功能 */ copyable?: boolean | { text?: string, onCopy?: (text: string, e: any) => void, icon?: ReactNode, tooltips?: [ReactNode, ReactNode], tooltipProps?: Record }, /** 开启可编辑功能 */ editable?: boolean | { editing?: boolean, tooltipProps?: Record, onStart?: (text: string, e: any) => void, onChange?: (text: string) => void, onEnd?: (text: string) => void }, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) }, Ellipsis: { render(props: { /** 默认展开 */ defaultExpanded?: boolean, /** 是否禁用省略功能 */ disabled?: boolean, /** 是否展开(受控) */ expanded?: boolean, /** 显示省略的行数 */ rows?: number, /** 是否显示展开/折叠按钮 */ expandable?: boolean | { single?: boolean }, /** 是否显示弹出提示 */ showTooltip?: boolean | Record, /** 自定义操控按钮渲染 */ expandRender?: (expanded: boolean) => ReactNode, /** 省略状态变化回调 */ onEllipsis?: (isEllipsis: boolean) => void, /** 折叠/展开状态变化回调 */ onExpand?: (isExpand: boolean, ev: Event) => void, /** 节点类名 */ className?: string | string[], /** 节点样式 */ style?: CSSProperties, children: ReactNode | ReactNode[] }) } }, Upload: { render(props: { /** 选中文件后是否自动上传 */ autoUpload?: boolean, /** 是否支持文件夹上传 */ directory?: boolean, /** 是否禁用上传 */ disabled?: boolean, /** 是否开启拖拽上传 */ drag?: boolean, /** 是否启用内置图片预览,仅 picture-card 生效 */ imagePreview?: boolean, /** 是否支持文件多选 */ multiple?: boolean, /** 上传请求是否携带 cookie */ withCredentials?: boolean, /** 上传接口地址 */ action?: string, /** 上传请求方法 */ method?: string, /** 文件列表展示类型 */ listType?: 'text' | 'picture-list' | 'picture-card', /** 提示文字 */ tip?: string | ReactNode, /** 接受上传的文件类型 */ accept?: string | { type: string; strict?: boolean }, /** 上传前回调,可拦截上传 */ beforeUpload?: (file: File, filesList: File[]) => boolean | Promise, /** 节点类名 */ className?: string | string[], /** 默认文件列表 */ defaultFileList?: Array, /** 受控文件列表 */ fileList?: Array, /** 上传请求头 */ headers?: object, /** 限制上传数量 */ limit?: number | { maxCount: number; hideOnExceedLimit?: boolean }, /** 删除文件回调 */ onRemove?: (file: any, fileList: any[]) => void | boolean | Promise, /** 进度条配置 */ progressProps?: Partial, /** 是否显示上传列表 */ showUploadList?: boolean | Record, /** 节点样式 */ style?: CSSProperties, /** 自定义上传请求 */ customRequest?: (options: any) => any | void, /** 上传额外参数 */ data?: object | ((...args: any[]) => object), /** 上传文件字段名 */ name?: string | ((...args: any[]) => string), /** 文件状态变化回调 */ onChange?: (fileList: any[], file: any) => void, /** 拖拽离开区域回调 */ onDragLeave?: (e: DragEvent) => void, /** 拖拽悬停回调 */ onDragOver?: (e: DragEvent) => void, /** 拖拽放下回调 */ onDrop?: (e: DragEvent) => void, /** 超出上传限制回调 */ onExceedLimit?: (files: File[], fileList: any[]) => void, /** 预览文件回调 */ onPreview?: (file: any) => void, /** 上传进度回调 */ onProgress?: (file: any, e?: ProgressEvent) => void, /** 重新上传回调 */ onReupload?: (file: any) => void, /** 自定义上传列表项 */ renderUploadItem?: (originNode: ReactNode, file: any, fileList: any[]) => ReactNode, /** 自定义整个上传列表 */ renderUploadList?: (fileList: any[], uploadListProps: any) => ReactNode, children: ReactNode | ReactNode[] }) }, }; } // @definition CAT_UI.d.ts