@para-ui/core 5.0.0-beta.11 → 5.0.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +315 -0
- package/AlignBox/component.json +89 -0
- package/Anchor/component.json +130 -0
- package/Argv/component.json +216 -0
- package/AutoBox/component.json +133 -0
- package/AutoButton/component.json +109 -0
- package/AutoTips/component.json +121 -0
- package/Badge/component.json +92 -0
- package/Breadcrumbs/component.json +142 -0
- package/Button/component.json +168 -0
- package/ButtonGroup/component.json +132 -0
- package/Card/component.json +162 -0
- package/Carousel/component.json +142 -0
- package/Cascader/component.json +196 -0
- package/Checkbox/component.json +138 -0
- package/CheckboxGroup/component.json +152 -0
- package/CodeEditor/component.json +189 -0
- package/Collapse/component.json +166 -0
- package/CollapseBox/component.json +84 -0
- package/CollapseLayout/component.json +155 -0
- package/ColorPicker/component.json +142 -0
- package/ComboSelect/component.json +181 -0
- package/Container/component.json +111 -0
- package/ContentBox/component.json +81 -0
- package/CopyText/component.json +118 -0
- package/CycleSelector/component.json +98 -0
- package/DatePicker/component.json +192 -0
- package/Descriptions/component.json +142 -0
- package/Desktop/component.json +171 -0
- package/DragVerify/component.json +114 -0
- package/Drawer/component.json +200 -0
- package/Dropdown/component.json +147 -0
- package/DynamicMultiBox/component.json +278 -0
- package/Empty/component.json +123 -0
- package/FieldForm/component.json +196 -0
- package/Form/component.json +161 -0
- package/FormItem/component.json +171 -0
- package/FunctionModal/component.json +197 -0
- package/Help/component.json +118 -0
- package/HelperText/component.json +126 -0
- package/Image/component.json +165 -0
- package/InputCode/component.json +191 -0
- package/InputLang/component.json +205 -0
- package/InputNumber/component.json +162 -0
- package/Label/component.json +126 -0
- package/Loading/component.json +91 -0
- package/Menu/component.json +180 -0
- package/Message/component.json +246 -0
- package/Modal/component.json +277 -0
- package/MultiBox/component.json +216 -0
- package/Notification/component.json +184 -0
- package/OperateBtn/component.json +134 -0
- package/PageHeader/component.json +112 -0
- package/Pagination/component.json +181 -0
- package/PasswordRules/component.json +105 -0
- package/PopConfirm/component.json +227 -0
- package/PopMenu/component.json +131 -0
- package/Popover/component.json +165 -0
- package/Progress/component.json +161 -0
- package/Prompt/component.json +144 -0
- package/Querying/component.json +96 -0
- package/QuickReply/component.json +129 -0
- package/Radio/component.json +136 -0
- package/RadioGroup/component.json +149 -0
- package/RangeInput/component.json +198 -0
- package/Result/component.json +104 -0
- package/ScrollBar/component.json +115 -0
- package/Search/component.json +177 -0
- package/Select/component.json +244 -0
- package/SelectInput/component.json +184 -0
- package/Selector/component.json +203 -0
- package/SelectorPicker/component.json +179 -0
- package/SingleBox/component.json +151 -0
- package/Slider/component.json +181 -0
- package/SortBox/component.json +108 -0
- package/Status/component.json +104 -0
- package/Stepper/component.json +129 -0
- package/Switch/component.json +207 -0
- package/Table/component.json +547 -0
- package/Tabs/component.json +227 -0
- package/Tag/component.json +221 -0
- package/TextEditor/component.json +186 -0
- package/TextField/component.json +290 -0
- package/TimePicker/component.json +176 -0
- package/Timeline/component.json +110 -0
- package/Title/component.json +156 -0
- package/ToggleButton/component.json +153 -0
- package/Tooltip/component.json +176 -0
- package/Transfer/component.json +157 -0
- package/Tree/component.json +512 -0
- package/Upload/component.json +450 -0
- package/ai-workflows/01-crud-list-multi-drawer.md +278 -0
- package/ai-workflows/02-rbac-operation-buttons.md +290 -0
- package/ai-workflows/03-complex-form-async-cascade.md +350 -0
- package/ai-workflows/04-array-field-form.md +281 -0
- package/ai-workflows/05-popconfirm-async-message-queue.md +333 -0
- package/ai-workflows/06-modal-drawer-form-workflow.md +385 -0
- package/ai-workflows/07-search-filter-table-trio.md +387 -0
- package/ai-workflows/08-table-advanced-features.md +365 -0
- package/ai-workflows/09-batch-operation-export-progress.md +367 -0
- package/ai-workflows/10-cross-component-state-coordination.md +412 -0
- package/es/AlignBox/component.json +89 -0
- package/es/AlignBox/index.css +1 -1
- package/es/AlignBox/index.d.ts +6 -2
- package/es/AlignBox/index.js +1 -1
- package/es/AlignBox/style/index.css +1 -1
- package/es/Anchor/anchorMenu/index.d.ts +2 -1
- package/es/Anchor/anchorMenu/index.js +36 -33
- package/es/Anchor/component.json +130 -0
- package/es/Anchor/index.js +52 -49
- package/es/Anchor/type.d.ts +8 -4
- package/es/Argv/component.json +216 -0
- package/es/Argv/dataGenerator/index.js +1 -1
- package/es/Argv/index.d.ts +5 -6
- package/es/Argv/index.js +1 -1
- package/es/AutoBox/component.json +133 -0
- package/es/AutoBox/index.d.ts +3 -3
- package/es/AutoBox/index.js +1 -1
- package/es/AutoBox/protal.d.ts +2 -2
- package/es/AutoBox/protal.js +33 -30
- package/es/AutoButton/component.json +109 -0
- package/es/AutoButton/index.js +1 -1
- package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
- package/es/AutoTips/autoTipsMultiline/index.js +1 -1
- package/es/AutoTips/component.json +121 -0
- package/es/AutoTips/index.js +1 -1
- package/es/Badge/component.json +92 -0
- package/es/Breadcrumbs/component.json +142 -0
- package/es/Breadcrumbs/index.js +1 -1
- package/es/Button/SplitButton.d.ts +2 -2
- package/es/Button/component.json +168 -0
- package/es/Button/index.js +44 -44
- package/es/ButtonGroup/component.json +132 -0
- package/es/ButtonGroup/index.d.ts +1 -1
- package/es/Card/component.json +162 -0
- package/es/Card/index.d.ts +2 -2
- package/es/Card/index.js +2 -2
- package/es/Carousel/component.json +142 -0
- package/es/Carousel/index.d.ts +1 -1
- package/es/Cascader/Cascader.js +1 -1
- package/es/Cascader/OptionList/Column.js +1 -1
- package/es/Cascader/OptionList/index.js +1 -1
- package/es/Cascader/component.json +196 -0
- package/es/Cascader/hooks/useEntities.js +7 -7
- package/es/Cascader/interface.d.ts +1 -0
- package/es/Cascader/utils/commonUtil.d.ts +1 -1
- package/es/Cascader/utils/commonUtil.js +16 -16
- package/es/Cascader/utils/treeUtil.d.ts +14 -5
- package/es/Cascader/utils/treeUtil.js +1 -1
- package/es/Checkbox/component.json +138 -0
- package/es/CheckboxGroup/component.json +152 -0
- package/es/CheckboxGroup/index.js +1 -1
- package/es/CodeEditor/component.json +189 -0
- package/es/CodeEditor/index.d.ts +11 -10
- package/es/CodeEditor/index.js +19 -19
- package/es/Collapse/component.json +166 -0
- package/es/Collapse/index.d.ts +1 -1
- package/es/Collapse/index.js +23 -22
- package/es/CollapseBox/component.json +84 -0
- package/es/CollapseLayout/component.json +155 -0
- package/es/ColorPicker/component.json +142 -0
- package/es/ComboSelect/component.json +181 -0
- package/es/ComboSelect/index.js +115 -109
- package/es/ComboSelect/interface.d.ts +2 -2
- package/es/ComboSelect/utils.d.ts +3 -3
- package/es/ComboSelect/utils.js +1 -1
- package/es/Container/component.json +111 -0
- package/es/ContentBox/component.json +81 -0
- package/es/CopyText/component.json +118 -0
- package/es/CycleSelector/component.json +98 -0
- package/es/CycleSelector/index.js +14 -13
- package/es/DatePicker/component.json +192 -0
- package/es/DatePicker/generatePicker/generateRangePicker.js +11 -11
- package/es/DatePicker/generatePicker/generateSinglePicker.js +2 -2
- package/es/Descriptions/component.json +142 -0
- package/es/Descriptions/index.d.ts +1 -1
- package/es/Desktop/component.json +171 -0
- package/es/Desktop/index.js +1 -1
- package/es/DragVerify/component.json +114 -0
- package/es/DragVerify/index.js +19 -19
- package/es/Drawer/component.json +200 -0
- package/es/Drawer/index.js +86 -86
- package/es/Drawer/interface.d.ts +1 -1
- package/es/Drawer/util.d.ts +1 -6
- package/es/Drawer/util.js +9 -6
- package/es/Dropdown/component.json +147 -0
- package/es/Dropdown/index.js +1 -1
- package/es/DynamicMultiBox/component.json +278 -0
- package/es/DynamicMultiBox/formItem.d.ts +1 -1
- package/es/DynamicMultiBox/index.js +1 -1
- package/es/DynamicMultiBox/rowForm.d.ts +2 -2
- package/es/Empty/component.json +123 -0
- package/es/Empty/index.css +1 -1
- package/es/Empty/index.d.ts +2 -2
- package/es/Empty/index.js +27 -26
- package/es/Empty/style/index.css +1 -1
- package/es/FieldForm/FieldFormItem/ItemHolder.js +1 -1
- package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
- package/es/FieldForm/FieldFormItem/StatusProvider.js +1 -1
- package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
- package/es/FieldForm/Form.d.ts +2 -2
- package/es/FieldForm/Form.js +1 -1
- package/es/FieldForm/FormItemInput.js +1 -1
- package/es/FieldForm/FormItemLabel.js +1 -1
- package/es/FieldForm/FormList.d.ts +2 -2
- package/es/FieldForm/component.json +196 -0
- package/es/FieldForm/context.d.ts +5 -1
- package/es/FieldForm/context.js +2 -2
- package/es/FieldForm/hooks/useForm.d.ts +4 -3
- package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
- package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
- package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
- package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
- package/es/FieldForm/hooks/useItemRef.js +6 -6
- package/es/Form/component.json +161 -0
- package/es/Form/index.d.ts +52 -49
- package/es/Form/index.js +1 -1
- package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
- package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
- package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
- package/es/FormItem/compoments/formFile/index.js +8 -8
- package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
- package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
- package/es/FormItem/component.json +171 -0
- package/es/FormItem/index.d.ts +5 -5
- package/es/FormItem/index.js +23 -23
- package/es/FormItem/itemType.js +1 -1
- package/es/FunctionModal/component.json +197 -0
- package/es/FunctionModal/dialog.d.ts +1 -1
- package/es/FunctionModal/modalContext.d.ts +4 -1
- package/es/GlobalContext/confirmLocale.js +1 -1
- package/es/GlobalContext/index.js +1 -1
- package/es/Help/component.json +118 -0
- package/es/HelperText/component.json +126 -0
- package/es/Image/PreviewGroup.js +1 -1
- package/es/Image/component.json +165 -0
- package/es/Image/index.js +1 -1
- package/es/InputCode/component.json +191 -0
- package/es/InputCode/index.d.ts +2 -2
- package/es/InputLang/component.json +205 -0
- package/es/InputLang/index.js +2 -2
- package/es/InputNumber/component.json +162 -0
- package/es/Label/component.json +126 -0
- package/es/Label/index.d.ts +2 -2
- package/es/Loading/component.json +91 -0
- package/es/Menu/component.json +180 -0
- package/es/Menu/verticalMenuList.js +1 -1
- package/es/Message/component.json +246 -0
- package/es/Message/index.d.ts +2 -2
- package/es/Message/index.js +2 -2
- package/es/Modal/Confirm/index.d.ts +1 -1
- package/es/Modal/Confirm/index.js +1 -1
- package/es/Modal/component.json +277 -0
- package/es/Modal/index.d.ts +85 -5
- package/es/Modal/index.js +159 -122
- package/es/Modal/interface.d.ts +1 -0
- package/es/MultiBox/component.json +216 -0
- package/es/MultiBox/index.js +19 -14
- package/es/Notification/component.json +184 -0
- package/es/OperateBtn/component.json +134 -0
- package/es/OperateBtn/index.d.ts +3 -3
- package/es/PageHeader/component.json +112 -0
- package/es/PageHeader/horizontalMeun.js +1 -1
- package/es/PageHeader/horizontalMeunRight.js +1 -1
- package/es/Pagination/component.json +181 -0
- package/es/Pagination/index.js +15 -15
- package/es/ParauiProvider/index.js +1 -1
- package/es/PasswordRules/component.json +105 -0
- package/es/PasswordRules/index.d.ts +4 -4
- package/es/PopConfirm/component.json +227 -0
- package/es/PopConfirm/index.d.ts +1 -1
- package/es/PopConfirm/index.js +1 -1
- package/es/PopMenu/component.json +131 -0
- package/es/PopMenu/hooks.d.ts +1 -1
- package/es/PopMenu/index.js +8 -8
- package/es/Popover/component.json +165 -0
- package/es/Popover/index.js +1 -1
- package/es/Progress/component.json +161 -0
- package/es/Prompt/component.json +144 -0
- package/es/Querying/component.json +96 -0
- package/es/Querying/index.css +1 -1
- package/es/Querying/index.d.ts +2 -2
- package/es/Querying/index.js +20 -19
- package/es/Querying/style/index.css +1 -1
- package/es/QuickReply/QuickReplyCode/index.js +1 -1
- package/es/QuickReply/component.json +129 -0
- package/es/QuickReply/index.d.ts +1 -1
- package/es/Radio/component.json +136 -0
- package/es/RadioGroup/component.json +149 -0
- package/es/RangeInput/component.json +198 -0
- package/es/RangeInput/index.js +20 -20
- package/es/Result/component.json +104 -0
- package/es/ScrollBar/component.json +115 -0
- package/es/Search/component.json +177 -0
- package/es/Search/index.d.ts +1 -1
- package/es/Select/component.json +244 -0
- package/es/Select/index.js +114 -114
- package/es/SelectInput/component.json +184 -0
- package/es/Selector/component.json +203 -0
- package/es/Selector/index.js +56 -50
- package/es/Selector/interface.d.ts +2 -2
- package/es/Selector/selectorData/index.js +1 -1
- package/es/Selector/selectorMain/index.js +3 -3
- package/es/Selector/selectorNode/index.js +1 -1
- package/es/Selector/util.d.ts +3 -3
- package/es/Selector/util.js +6 -12
- package/es/SelectorPicker/component.json +179 -0
- package/es/SelectorPicker/index.d.ts +5 -5
- package/es/SelectorPicker/index.js +15 -15
- package/es/SingleBox/component.json +151 -0
- package/es/SingleBox/index.d.ts +2 -2
- package/es/Slider/component.json +181 -0
- package/es/SortBox/component.json +108 -0
- package/es/Status/component.json +104 -0
- package/es/Stepper/component.json +129 -0
- package/es/Stepper/index.d.ts +2 -2
- package/es/Switch/component.json +207 -0
- package/es/Switch/index.css +1 -1
- package/es/Switch/index.d.ts +3 -2
- package/es/Switch/index.js +60 -59
- package/es/Switch/style/index.css +1 -1
- package/es/Table/component.json +547 -0
- package/es/Table/index.d.ts +2 -2
- package/es/Table/index.js +385 -382
- package/es/Table/interface.d.ts +30 -0
- package/es/Table/tableHead.js +1 -1
- package/es/Table/util.d.ts +1 -1
- package/es/Table/util.js +3 -12
- package/es/Tabs/component.json +227 -0
- package/es/Tag/component.json +221 -0
- package/es/Tag/index.css +1 -1
- package/es/Tag/index.d.ts +1 -1
- package/es/Tag/index.js +20 -20
- package/es/Tag/style/index.css +1 -1
- package/es/TextEditor/component.json +186 -0
- package/es/TextEditor/index.d.ts +5 -5
- package/es/TextEditor/index.js +1 -1
- package/es/TextField/component.json +290 -0
- package/es/TextField/index.d.ts +2 -2
- package/es/TextField/index.js +1 -1
- package/es/TimePicker/component.json +176 -0
- package/es/Timeline/component.json +110 -0
- package/es/Title/component.json +156 -0
- package/es/ToggleButton/component.json +153 -0
- package/es/ToggleButton/index.js +1 -1
- package/es/Tooltip/component.json +176 -0
- package/es/Tooltip/index.js +58 -53
- package/es/Tooltip/interface.d.ts +14 -1
- package/es/Tooltip/utils.js +6 -6
- package/es/Transfer/component.json +157 -0
- package/es/Tree/OperateBar/index.js +1 -1
- package/es/Tree/Tree.js +3 -3
- package/es/Tree/component.json +512 -0
- package/es/Tree/interface.d.ts +1 -1
- package/es/Upload/component.json +450 -0
- package/es/Upload/util.js +1 -1
- package/es/Utils/snack-kit-shims.d.ts +18 -0
- package/es/Utils/snack-kit-shims.js +19 -0
- package/es/Utils/type.d.ts +0 -2
- package/es/_virtual/index.js +5 -3
- package/es/_virtual/index2.js +2 -5
- package/es/index.d.ts +2 -0
- package/es/index.js +1 -1
- package/es/locale/en_US.d.ts +361 -0
- package/es/locale/en_US.js +364 -0
- package/es/locale/index.d.ts +1 -723
- package/es/locale/index2.js +10 -0
- package/es/locale/zh_CN.d.ts +361 -0
- package/es/locale/zh_CN.js +364 -0
- package/es/node_modules/classnames/index.js +1 -1
- package/lib/AlignBox/component.json +89 -0
- package/lib/AlignBox/index.css +1 -1
- package/lib/AlignBox/index.d.ts +6 -2
- package/lib/AlignBox/index.js +1 -1
- package/lib/AlignBox/style/index.css +1 -1
- package/lib/Anchor/anchorMenu/index.d.ts +2 -1
- package/lib/Anchor/anchorMenu/index.js +1 -1
- package/lib/Anchor/component.json +130 -0
- package/lib/Anchor/index.js +1 -1
- package/lib/Anchor/type.d.ts +8 -4
- package/lib/Argv/component.json +216 -0
- package/lib/Argv/dataGenerator/index.js +1 -1
- package/lib/Argv/index.d.ts +5 -6
- package/lib/Argv/index.js +1 -1
- package/lib/AutoBox/component.json +133 -0
- package/lib/AutoBox/index.d.ts +3 -3
- package/lib/AutoBox/index.js +1 -1
- package/lib/AutoBox/protal.d.ts +2 -2
- package/lib/AutoBox/protal.js +1 -1
- package/lib/AutoButton/component.json +109 -0
- package/lib/AutoButton/index.js +1 -1
- package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
- package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
- package/lib/AutoTips/component.json +121 -0
- package/lib/AutoTips/index.js +1 -1
- package/lib/Badge/component.json +92 -0
- package/lib/Breadcrumbs/component.json +142 -0
- package/lib/Breadcrumbs/index.js +1 -1
- package/lib/Button/SplitButton.d.ts +2 -2
- package/lib/Button/component.json +168 -0
- package/lib/Button/index.js +1 -1
- package/lib/ButtonGroup/component.json +132 -0
- package/lib/ButtonGroup/index.d.ts +1 -1
- package/lib/Card/component.json +162 -0
- package/lib/Card/index.d.ts +2 -2
- package/lib/Card/index.js +1 -1
- package/lib/Carousel/component.json +142 -0
- package/lib/Carousel/index.d.ts +1 -1
- package/lib/Cascader/Cascader.js +1 -1
- package/lib/Cascader/OptionList/Column.js +1 -1
- package/lib/Cascader/OptionList/index.js +1 -1
- package/lib/Cascader/component.json +196 -0
- package/lib/Cascader/hooks/useEntities.js +1 -1
- package/lib/Cascader/interface.d.ts +1 -0
- package/lib/Cascader/utils/commonUtil.d.ts +1 -1
- package/lib/Cascader/utils/commonUtil.js +1 -1
- package/lib/Cascader/utils/treeUtil.d.ts +14 -5
- package/lib/Cascader/utils/treeUtil.js +1 -1
- package/lib/Checkbox/component.json +138 -0
- package/lib/CheckboxGroup/component.json +152 -0
- package/lib/CheckboxGroup/index.js +1 -1
- package/lib/CodeEditor/component.json +189 -0
- package/lib/CodeEditor/index.d.ts +11 -10
- package/lib/CodeEditor/index.js +1 -1
- package/lib/Collapse/component.json +166 -0
- package/lib/Collapse/index.d.ts +1 -1
- package/lib/Collapse/index.js +1 -1
- package/lib/CollapseBox/component.json +84 -0
- package/lib/CollapseLayout/component.json +155 -0
- package/lib/ColorPicker/component.json +142 -0
- package/lib/ComboSelect/component.json +181 -0
- package/lib/ComboSelect/index.js +1 -1
- package/lib/ComboSelect/interface.d.ts +2 -2
- package/lib/ComboSelect/utils.d.ts +3 -3
- package/lib/ComboSelect/utils.js +1 -1
- package/lib/Container/component.json +111 -0
- package/lib/ContentBox/component.json +81 -0
- package/lib/CopyText/component.json +118 -0
- package/lib/CycleSelector/component.json +98 -0
- package/lib/CycleSelector/index.js +1 -1
- package/lib/DatePicker/component.json +192 -0
- package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
- package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
- package/lib/Descriptions/component.json +142 -0
- package/lib/Descriptions/index.d.ts +1 -1
- package/lib/Desktop/component.json +171 -0
- package/lib/Desktop/index.js +1 -1
- package/lib/DragVerify/component.json +114 -0
- package/lib/DragVerify/index.js +1 -1
- package/lib/Drawer/component.json +200 -0
- package/lib/Drawer/index.js +1 -1
- package/lib/Drawer/interface.d.ts +1 -1
- package/lib/Drawer/util.d.ts +1 -6
- package/lib/Drawer/util.js +1 -1
- package/lib/Dropdown/component.json +147 -0
- package/lib/Dropdown/index.js +1 -1
- package/lib/DynamicMultiBox/component.json +278 -0
- package/lib/DynamicMultiBox/formItem.d.ts +1 -1
- package/lib/DynamicMultiBox/index.js +1 -1
- package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
- package/lib/Empty/component.json +123 -0
- package/lib/Empty/index.css +1 -1
- package/lib/Empty/index.d.ts +2 -2
- package/lib/Empty/index.js +1 -1
- package/lib/Empty/style/index.css +1 -1
- package/lib/FieldForm/FieldFormItem/ItemHolder.js +1 -1
- package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
- package/lib/FieldForm/FieldFormItem/StatusProvider.js +1 -1
- package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
- package/lib/FieldForm/Form.d.ts +2 -2
- package/lib/FieldForm/Form.js +1 -1
- package/lib/FieldForm/FormItemInput.js +1 -1
- package/lib/FieldForm/FormItemLabel.js +1 -1
- package/lib/FieldForm/FormList.d.ts +2 -2
- package/lib/FieldForm/component.json +196 -0
- package/lib/FieldForm/context.d.ts +5 -1
- package/lib/FieldForm/context.js +1 -1
- package/lib/FieldForm/hooks/useForm.d.ts +4 -3
- package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
- package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
- package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
- package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
- package/lib/FieldForm/hooks/useItemRef.js +1 -1
- package/lib/Form/component.json +161 -0
- package/lib/Form/index.d.ts +52 -49
- package/lib/Form/index.js +1 -1
- package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
- package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
- package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
- package/lib/FormItem/compoments/formFile/index.js +1 -1
- package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
- package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
- package/lib/FormItem/component.json +171 -0
- package/lib/FormItem/index.d.ts +5 -5
- package/lib/FormItem/index.js +1 -1
- package/lib/FormItem/itemType.js +1 -1
- package/lib/FunctionModal/component.json +197 -0
- package/lib/FunctionModal/dialog.d.ts +1 -1
- package/lib/FunctionModal/modalContext.d.ts +4 -1
- package/lib/GlobalContext/confirmLocale.js +1 -1
- package/lib/GlobalContext/index.js +1 -1
- package/lib/Help/component.json +118 -0
- package/lib/HelperText/component.json +126 -0
- package/lib/Image/PreviewGroup.js +1 -1
- package/lib/Image/component.json +165 -0
- package/lib/Image/index.js +1 -1
- package/lib/InputCode/component.json +191 -0
- package/lib/InputCode/index.d.ts +2 -2
- package/lib/InputLang/component.json +205 -0
- package/lib/InputLang/index.js +1 -1
- package/lib/InputNumber/component.json +162 -0
- package/lib/Label/component.json +126 -0
- package/lib/Label/index.d.ts +2 -2
- package/lib/Loading/component.json +91 -0
- package/lib/Menu/component.json +180 -0
- package/lib/Menu/verticalMenuList.js +1 -1
- package/lib/Message/component.json +246 -0
- package/lib/Message/index.d.ts +2 -2
- package/lib/Message/index.js +1 -1
- package/lib/Modal/Confirm/index.d.ts +1 -1
- package/lib/Modal/Confirm/index.js +1 -1
- package/lib/Modal/component.json +277 -0
- package/lib/Modal/index.d.ts +85 -5
- package/lib/Modal/index.js +1 -1
- package/lib/Modal/interface.d.ts +1 -0
- package/lib/MultiBox/component.json +216 -0
- package/lib/MultiBox/index.js +1 -1
- package/lib/Notification/component.json +184 -0
- package/lib/OperateBtn/component.json +134 -0
- package/lib/OperateBtn/index.d.ts +3 -3
- package/lib/PageHeader/component.json +112 -0
- package/lib/PageHeader/horizontalMeun.js +1 -1
- package/lib/PageHeader/horizontalMeunRight.js +1 -1
- package/lib/Pagination/component.json +181 -0
- package/lib/Pagination/index.js +1 -1
- package/lib/ParauiProvider/index.js +1 -1
- package/lib/PasswordRules/component.json +105 -0
- package/lib/PasswordRules/index.d.ts +4 -4
- package/lib/PopConfirm/component.json +227 -0
- package/lib/PopConfirm/index.d.ts +1 -1
- package/lib/PopConfirm/index.js +1 -1
- package/lib/PopMenu/component.json +131 -0
- package/lib/PopMenu/hooks.d.ts +1 -1
- package/lib/PopMenu/index.js +1 -1
- package/lib/Popover/component.json +165 -0
- package/lib/Popover/index.js +1 -1
- package/lib/Progress/component.json +161 -0
- package/lib/Prompt/component.json +144 -0
- package/lib/Querying/component.json +96 -0
- package/lib/Querying/index.css +1 -1
- package/lib/Querying/index.d.ts +2 -2
- package/lib/Querying/index.js +1 -1
- package/lib/Querying/style/index.css +1 -1
- package/lib/QuickReply/QuickReplyCode/index.js +1 -1
- package/lib/QuickReply/component.json +129 -0
- package/lib/QuickReply/index.d.ts +1 -1
- package/lib/Radio/component.json +136 -0
- package/lib/RadioGroup/component.json +149 -0
- package/lib/RangeInput/component.json +198 -0
- package/lib/RangeInput/index.js +1 -1
- package/lib/Result/component.json +104 -0
- package/lib/ScrollBar/component.json +115 -0
- package/lib/Search/component.json +177 -0
- package/lib/Search/index.d.ts +1 -1
- package/lib/Select/component.json +244 -0
- package/lib/Select/index.js +1 -1
- package/lib/SelectInput/component.json +184 -0
- package/lib/Selector/component.json +203 -0
- package/lib/Selector/index.js +1 -1
- package/lib/Selector/interface.d.ts +2 -2
- package/lib/Selector/selectorData/index.js +1 -1
- package/lib/Selector/selectorMain/index.js +1 -1
- package/lib/Selector/selectorNode/index.js +1 -1
- package/lib/Selector/util.d.ts +3 -3
- package/lib/Selector/util.js +1 -1
- package/lib/SelectorPicker/component.json +179 -0
- package/lib/SelectorPicker/index.d.ts +5 -5
- package/lib/SelectorPicker/index.js +1 -1
- package/lib/SingleBox/component.json +151 -0
- package/lib/SingleBox/index.d.ts +2 -2
- package/lib/Slider/component.json +181 -0
- package/lib/SortBox/component.json +108 -0
- package/lib/Status/component.json +104 -0
- package/lib/Stepper/component.json +129 -0
- package/lib/Stepper/index.d.ts +2 -2
- package/lib/Switch/component.json +207 -0
- package/lib/Switch/index.css +1 -1
- package/lib/Switch/index.d.ts +3 -2
- package/lib/Switch/index.js +1 -1
- package/lib/Switch/style/index.css +1 -1
- package/lib/Table/component.json +547 -0
- package/lib/Table/index.d.ts +2 -2
- package/lib/Table/index.js +1 -1
- package/lib/Table/interface.d.ts +30 -0
- package/lib/Table/tableHead.js +1 -1
- package/lib/Table/util.d.ts +1 -1
- package/lib/Table/util.js +1 -1
- package/lib/Tabs/component.json +227 -0
- package/lib/Tag/component.json +221 -0
- package/lib/Tag/index.css +1 -1
- package/lib/Tag/index.d.ts +1 -1
- package/lib/Tag/index.js +1 -1
- package/lib/Tag/style/index.css +1 -1
- package/lib/TextEditor/component.json +186 -0
- package/lib/TextEditor/index.d.ts +5 -5
- package/lib/TextEditor/index.js +1 -1
- package/lib/TextField/component.json +290 -0
- package/lib/TextField/index.d.ts +2 -2
- package/lib/TextField/index.js +1 -1
- package/lib/TimePicker/component.json +176 -0
- package/lib/Timeline/component.json +110 -0
- package/lib/Title/component.json +156 -0
- package/lib/ToggleButton/component.json +153 -0
- package/lib/ToggleButton/index.js +1 -1
- package/lib/Tooltip/component.json +176 -0
- package/lib/Tooltip/index.js +1 -1
- package/lib/Tooltip/interface.d.ts +14 -1
- package/lib/Tooltip/utils.js +1 -1
- package/lib/Transfer/component.json +157 -0
- package/lib/Tree/OperateBar/index.js +2 -2
- package/lib/Tree/Tree.js +1 -1
- package/lib/Tree/component.json +512 -0
- package/lib/Tree/interface.d.ts +1 -1
- package/lib/Upload/component.json +450 -0
- package/lib/Upload/util.js +1 -1
- package/lib/Utils/snack-kit-shims.d.ts +18 -0
- package/lib/Utils/snack-kit-shims.js +2 -0
- package/lib/Utils/type.d.ts +0 -2
- package/lib/_virtual/index.js +1 -1
- package/lib/_virtual/index2.js +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +1 -1
- package/lib/locale/en_US.d.ts +361 -0
- package/lib/locale/en_US.js +2 -0
- package/lib/locale/index.d.ts +1 -723
- package/lib/locale/index2.js +2 -0
- package/lib/locale/zh_CN.d.ts +361 -0
- package/lib/locale/zh_CN.js +2 -0
- package/lib/node_modules/classnames/index.js +1 -1
- package/package.json +11 -4
- package/es/_virtual/index3.js +0 -5
- package/es/_virtual/index4.js +0 -5
- package/es/node_modules/@para-snack/core/dist/index.js +0 -5231
- package/lib/_virtual/index3.js +0 -2
- package/lib/_virtual/index4.js +0 -2
- package/lib/node_modules/@para-snack/core/dist/index.js +0 -20
- /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
- /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
- /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
- /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Modal",
|
|
3
|
+
"category": "Feedback",
|
|
4
|
+
"description": "模态对话框,用于需用户处理事务,又不希望跳转页面的场景",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"通知",
|
|
8
|
+
"确认",
|
|
9
|
+
"复杂输入",
|
|
10
|
+
"详情查看"
|
|
11
|
+
],
|
|
12
|
+
"useCases": [
|
|
13
|
+
"删除确认",
|
|
14
|
+
"表单填写",
|
|
15
|
+
"信息详情",
|
|
16
|
+
"重要预警"
|
|
17
|
+
],
|
|
18
|
+
"riskLevel": "high"
|
|
19
|
+
},
|
|
20
|
+
"variants": {
|
|
21
|
+
"confirm": {
|
|
22
|
+
"meaning": "确认框,通常只包含文本和确定/取消按钮"
|
|
23
|
+
},
|
|
24
|
+
"info": {
|
|
25
|
+
"meaning": "信息框,展示详情或通知"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"states": [
|
|
29
|
+
"open",
|
|
30
|
+
"loading"
|
|
31
|
+
],
|
|
32
|
+
"idealProps": {
|
|
33
|
+
"open": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"default": false,
|
|
36
|
+
"description": "模态框是否可见。**`visible` 是同义旧别名**(src:33-35 二者都存在),新代码推荐用 open。**Modal 完全受控**(DEFECT-008):src/Modal/index.tsx:160-167 handleCancel/handleOk **不修改 open 内部状态**,只调 props.onCancel/onOk;父组件必须自行 setOpen(false) 才会关闭。不存在\"非受控自动关闭\"模式。未传 `open` 时可用 `defaultOpen` 启用非受控模式(v5.x.next 议题 #2 新增)"
|
|
37
|
+
},
|
|
38
|
+
"defaultOpen": {
|
|
39
|
+
"type": "boolean",
|
|
40
|
+
"description": "**(v5.x.next 议题 #2 引入)** 非受控模式初始 open 值。未传 `open` 时启用非受控 — Modal 内部维护 open state,关闭路径自动 setOpen(false),业务方不需要手动管理 open state(公告类/一次性 Modal 推荐)。与 React `<input defaultValue>` 惯例一致。同时传 open + defaultOpen → open 优先,dev warn 提示"
|
|
41
|
+
},
|
|
42
|
+
"visible": {
|
|
43
|
+
"type": "boolean",
|
|
44
|
+
"default": false,
|
|
45
|
+
"description": "**@deprecated v5.x.next 改用 `open`(命名对齐业界 antd5/Chakra/Radix/MUI);v6.0 移除(BREAKING-CHANGES §B-Modal-props-rework 子条 #3-A)。** `open` 的旧别名;与 open 二选一即可,新代码推荐用 open"
|
|
46
|
+
},
|
|
47
|
+
"title": {
|
|
48
|
+
"type": "ReactNode",
|
|
49
|
+
"description": "标题"
|
|
50
|
+
},
|
|
51
|
+
"onOk": {
|
|
52
|
+
"type": "function",
|
|
53
|
+
"signature": "() => void",
|
|
54
|
+
"description": "**@deprecated v5.x.next 改用 `onSubmit`(语义更清晰:submit 比 ok 更准确表达\"确认提交\"行为,对齐表单语义);v6.0 移除(BREAKING-CHANGES §B-Modal-props-rework)。** 点击确定回调(旧名)"
|
|
55
|
+
},
|
|
56
|
+
"onSubmit": {
|
|
57
|
+
"type": "function",
|
|
58
|
+
"signature": "(e?: React.MouseEvent) => void | Promise<void>",
|
|
59
|
+
"description": "**(v5.x.next 议题 #M1 引入)** 点击确定回调(推荐新 API,语义清晰)。与 `onOk` 同义但 submit 比 ok 更准确表达\"确认提交\"行为。同时传 `onOk + onSubmit` → `onSubmit` 优先调用,`onOk` 跳过(避免业务函数重复触发);仅传 `onOk` → 旧行为不变(onOk 仍触发)。dev 环境若检测到只传 `onOk` 会 console.warn 1 次提示迁移"
|
|
60
|
+
},
|
|
61
|
+
"onCancel": {
|
|
62
|
+
"type": "function",
|
|
63
|
+
"signature": "() => boolean | void",
|
|
64
|
+
"description": "点击取消、ESC、遮罩、右上角叉的回调;返回 false 阻止关闭"
|
|
65
|
+
},
|
|
66
|
+
"onClose": {
|
|
67
|
+
"type": "function",
|
|
68
|
+
"signature": "(reason: 'cancel' | 'ok' | 'esc' | 'mask' | 'x') => void",
|
|
69
|
+
"description": "@deprecated v5.x.next 改用 onDismiss + onOk + onCancel 三回调;v6.0 移除。**(R6 §B3 阶段 1 引入,最低支持版本 5.x.next)** 任意路径关闭统一回调,reason 字面联合区分关闭来源。**与 onCancel/onOk 共存为叠加触发**(src 实证):取消按钮 → onCancel + onClose('cancel');确定按钮 → onOk + onClose('ok');ESC/蒙层/X → onCancel + onClose('esc'|'mask'|'x')。**推荐写法** — 业务方在 onClose 里统一 setOpen(false) + reason 分支(埋点 / 重置 state),不再写 `onCancel={fn} onOk={fn}` 双绑兜底;若旧代码 onOk + onClose 共存,onOk 应只处理 'ok' 路径(submit),onClose 处理其他 4 种,避免业务函数重复触发(R3 4/9 + R5 5/9 sub-agent 持续踩坑)。**X 按钮在 showCancel=false 时仍显示并触发 reason='x'**(X 由 hideHeader 控制,不受 showCancel 影响);**Modal 完全受控** — onClose 未传或未在 onClose 内 setOpen(false),Modal 不会自动关闭。阶段 3 v6 移除单独 onCancel/onOk(BREAKING)。详见 BREAKING-CHANGES §B3 + discussions/Modal-unified-onClose.md"
|
|
70
|
+
},
|
|
71
|
+
"onDismiss": {
|
|
72
|
+
"type": "function",
|
|
73
|
+
"signature": "(reason: ModalDismissReason) => void",
|
|
74
|
+
"description": "**(v5.x.next γ 方案 议题 #1 引入)** 非按钮关闭路径(X/ESC/蒙层)的专用回调。仅传 onDismiss(不传 onClose)时走新单触发行为:X 按钮仅调 `onDismiss('x')`,ESC 仅调 `onDismiss('esc')`,蒙层仅调 `onDismiss('mask')`。**onOk/onCancel/onDismiss 三回调职责互斥**(对比旧 onClose 5 路径统一触发会导致双触发)。推荐迁移路径:删 onClose,改用 onDismiss 处理非按钮路径。详见 BREAKING-CHANGES §B-Modal-props-rework"
|
|
75
|
+
},
|
|
76
|
+
"showCancel": {
|
|
77
|
+
"type": "boolean",
|
|
78
|
+
"default": true,
|
|
79
|
+
"description": "是否显示取消按钮。**仅控制取消按钮显隐**,不影响右上角 X 按钮(X 由 hideHeader 控制;showCancel=false 时 X 仍显示并仍可点击触发关闭走 onClose reason='x' / onCancel 路径)。showCancel=false 时 onCancel 可省略(走 onClose 统一处理)"
|
|
80
|
+
},
|
|
81
|
+
"showActions": {
|
|
82
|
+
"type": "boolean",
|
|
83
|
+
"default": true,
|
|
84
|
+
"description": "是否显示底部 actions 按钮区(确定 + 取消按钮统一区域)。**典型场景**:登录/复杂表单内嵌时设为 false 隐藏默认底部,业务自行在 children 内放置提交按钮"
|
|
85
|
+
},
|
|
86
|
+
"confirmLoading": {
|
|
87
|
+
"type": "boolean",
|
|
88
|
+
"default": false,
|
|
89
|
+
"description": "确定按钮 loading 状态(顶层快捷方式,等价于 okButtonProps={{ loading }})。**loading 期间确定按钮自动 disabled 不响应点击**(src/Modal/index.tsx:258 透传 Button.loading,Button 自身已 `disabled={disabled \\|\\| hasLoading}`,见 BREAKING-CHANGES §A2)——业务无需再叠 okButtonProps.disabled。"
|
|
90
|
+
},
|
|
91
|
+
"destroyOnClose": {
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"default": false,
|
|
94
|
+
"description": "关闭时销毁子元素;下次打开重建。表单类内嵌内容用此 prop 重置状态"
|
|
95
|
+
},
|
|
96
|
+
"maskClosable": {
|
|
97
|
+
"type": "boolean",
|
|
98
|
+
"default": false,
|
|
99
|
+
"description": "点击蒙层是否允许关闭。**与 disableBackdropClick 是同一能力的双 prop(DEFECT-001)**,src 实际:`!disableBackdropClick \\|\\| maskClosable`。**强烈推荐用 disableBackdropClick 替代 maskClosable**——后者是冗余且易混淆"
|
|
100
|
+
},
|
|
101
|
+
"closeOnBackdrop": {
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"description": "**(R6 §B6 阶段 1 引入)** 是否允许蒙层点击关闭(正向命名,业界对齐 antd `maskClosable` / chakra `closeOnOverlayClick`)。显式传值优先 — 未传时 fallback 旧 `disableBackdropClick`(默认 true 即禁用,反业界直觉)。**推荐用 closeOnBackdrop={true}** 替代 `disableBackdropClick={false}` 双重否定写法。阶段 3 v6 移除 disableBackdropClick 后默认 true。详见 BREAKING-CHANGES §B6"
|
|
104
|
+
},
|
|
105
|
+
"disableBackdropClick": {
|
|
106
|
+
"type": "boolean",
|
|
107
|
+
"default": true,
|
|
108
|
+
"description": "**@deprecated v5.x.next 改用 `closeOnBackdrop`(正向命名,业界对齐);v6 移除(BREAKING-CHANGES §B6 阶段 3)**。⚠️ 默认 true(即默认禁用蒙层点击关闭)——与多数 Modal 库默认允许的直觉相反(DEFECT-002,R5 9/9 sub-agent 全部明确感知反业界直觉)。需要允许点击遮罩关闭推荐显式传 `closeOnBackdrop={true}`(新 prop) 或旧写法 `disableBackdropClick={false}`(deprecated)"
|
|
109
|
+
},
|
|
110
|
+
"closeOnEsc": {
|
|
111
|
+
"type": "boolean",
|
|
112
|
+
"description": "**(R6 §B6 阶段 1 引入)** 是否允许 Escape 键关闭(正向命名,业界对齐 antd `keyboard` / chakra `closeOnEsc`)。显式传值优先 — 未传时 fallback 旧 `disableEscapeKeyDown`(默认 true 即禁用,反业界直觉)。**推荐用 closeOnEsc={true}** 替代 `disableEscapeKeyDown={false}` 双重否定。阶段 3 v6 移除 disableEscapeKeyDown 后默认 true。详见 BREAKING-CHANGES §B6"
|
|
113
|
+
},
|
|
114
|
+
"disableEscapeKeyDown": {
|
|
115
|
+
"type": "boolean",
|
|
116
|
+
"default": true,
|
|
117
|
+
"description": "**@deprecated v5.x.next 改用 `closeOnEsc`(正向命名,业界对齐);v6 移除(BREAKING-CHANGES §B6 阶段 3)**。⚠️ 默认 true(即默认禁用 ESC 关闭)——同样与多数库直觉相反"
|
|
118
|
+
},
|
|
119
|
+
"restoreFocusOnClose": {
|
|
120
|
+
"type": "boolean",
|
|
121
|
+
"description": "**(R6 §B6 阶段 1 引入)** 关闭后是否将焦点恢复到原触发元素(正向命名,业界对齐 mui `restoreFocus`)。等价 `focusTriggerAfterClose` 的正向 alias — 显式传值优先,未传时 fallback `focusTriggerAfterClose`(默认 true)。**推荐用 restoreFocusOnClose** 命名;v6 路径只保留 restoreFocusOnClose。详见 BREAKING-CHANGES §B6"
|
|
122
|
+
},
|
|
123
|
+
"size": {
|
|
124
|
+
"type": "enum",
|
|
125
|
+
"values": [
|
|
126
|
+
"sm",
|
|
127
|
+
"md",
|
|
128
|
+
"lg",
|
|
129
|
+
"auto",
|
|
130
|
+
"fullScreen"
|
|
131
|
+
],
|
|
132
|
+
"default": "md",
|
|
133
|
+
"description": "尺寸枚举。**`size='fullScreen'` 与独立 prop `fullScreen={true}` 是同一能力的双 prop(DEFECT-003)**——src 实际 `fullScreen \\|\\| size === 'fullScreen'`。**推荐用 size='fullScreen'**(与其他尺寸取值同 prop,更一致)"
|
|
134
|
+
},
|
|
135
|
+
"fullScreen": {
|
|
136
|
+
"type": "boolean",
|
|
137
|
+
"default": false,
|
|
138
|
+
"description": "全屏开关;与 size='fullScreen' 同义,推荐用 size='fullScreen'。**全屏模式内容区高度行为**:启用时 dialog 容器追加 `.{prefix}-fullscreen` 类,内容区自动 height: 100vh + overflow: auto;contentStyle padding 由父级控制,无需业务方再写 style 撑高"
|
|
139
|
+
},
|
|
140
|
+
"centered": {
|
|
141
|
+
"type": "boolean",
|
|
142
|
+
"default": true,
|
|
143
|
+
"description": "**Modal 默认垂直居中**(DEFECT-004:src/Modal/index.tsx:64+129+301 实证,默认值 true,启用时根容器追加 `.{prefix}-centered` 类)。无需 style transform 等 hack 实现居中——直接使用默认即可。如需顶部对齐请显式传 `centered={false}`。"
|
|
144
|
+
},
|
|
145
|
+
"style": {
|
|
146
|
+
"type": "React.CSSProperties",
|
|
147
|
+
"description": "落在 Modal **dialog 外层容器**(DEFECT-007:与 contentStyle 区分,后者仅作用于内容区 DOM)。常用于覆盖整体边距 / z-index / position 等容器级属性。"
|
|
148
|
+
},
|
|
149
|
+
"contentStyle": {
|
|
150
|
+
"type": "React.CSSProperties",
|
|
151
|
+
"description": "落在 Modal **内容区 DOM 节点**(DEFECT-007:src/Modal/index.tsx:224 实证)。覆盖 contentHeight 等内容区限定样式。需要整体 dialog 样式请用 style。"
|
|
152
|
+
},
|
|
153
|
+
"width": {
|
|
154
|
+
"type": "string | number",
|
|
155
|
+
"description": "Modal dialog 容器整体宽度。与 `contentWidth` 区分:contentWidth 仅控制内容区,width 控制整体——业务侧『自定义宽度』优先用 width"
|
|
156
|
+
},
|
|
157
|
+
"okText": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"description": "确认按钮文字"
|
|
160
|
+
},
|
|
161
|
+
"cancelText": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"description": "取消按钮文字"
|
|
164
|
+
},
|
|
165
|
+
"actions": {
|
|
166
|
+
"type": "function | ReactNode",
|
|
167
|
+
"signature": "((buttons: ReactNode[]) => ReactNode[]) | ReactNode",
|
|
168
|
+
"description": "⚠️ **完全自定义底部操作栏**(src/Modal/index.tsx:69 实证)。两种用法:① 传 `ReactNode` 完全替换底部按钮区(隐藏默认确定/取消按钮,渲染自定义内容);② 传函数 `(buttons) => ReactNode[]` 接收默认按钮数组后按需增删/改造再返回。**与 `footer` 区分**:`footer` 语义相同但 actions 是更语义化的命名(两者 src 并存,任选一即可)。**与 `showActions` 区分**:showActions=false 是整体隐藏,actions 是替换内容——需要完全自定义按钮组合时用 actions,需要隐藏整个底部区域时用 showActions=false"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"do": [
|
|
172
|
+
"保持模态框内容简洁,避免过于复杂的流程",
|
|
173
|
+
"**新代码统一用 `open` 而非 `visible`**——visible 是旧别名",
|
|
174
|
+
"**`onDismiss` + `onOk` + `onCancel` 三回调首推(v5.x.next γ 方案)**:`onDismiss` 处理非按钮路径(X/ESC/蒙层),`onOk` 处理确定按钮,`onCancel` 处理取消按钮,三者职责互斥,无双触发问题",
|
|
175
|
+
"**旧写法(不推荐)**:`onClose(reason)` 顶层回调在任意路径关闭时触发,v5.x.next 已标 @deprecated,v6.0 移除。如仍使用,在 onClose 里统一 setOpen(false) + reason 分支(reason ∈ 'cancel'|'ok'|'esc'|'mask'|'x')",
|
|
176
|
+
"**全屏模态用 `size='fullScreen'`**——与其他尺寸取值同 prop;fullScreen={true} 是冗余别名",
|
|
177
|
+
"**点击蒙层关闭:用 `closeOnBackdrop={true}`(R6 §B6 阶段 1 推荐,正向命名,业界对齐)** — 替代旧 `disableBackdropClick={false}` 双重否定写法;`maskClosable` 仍是冗余双 prop,推荐用 closeOnBackdrop。同理 `closeOnEsc={true}` 替代 `disableEscapeKeyDown={false}`;`restoreFocusOnClose` 替代旧 `focusTriggerAfterClose` 正向 alias",
|
|
178
|
+
"**Modal 默认垂直居中**(centered=true)——无需 style transform 居中 hack。需要顶部对齐显式传 centered={false}",
|
|
179
|
+
"整体 dialog 样式用 `style`,内容区限定样式用 `contentStyle`——两者作用 DOM 节点不同(DEFECT-007)",
|
|
180
|
+
"整体宽度自定义用 `width`(不是 contentWidth——后者仅控制内容区)",
|
|
181
|
+
"重要操作(如不可逆删除)应使 ESC + 蒙层都不能关闭——保留默认 `closeOnEsc=undefined / closeOnBackdrop=undefined`(fallback 旧 disable* 默认 true 即锁定);旧写法 `disableEscapeKeyDown=true / disableBackdropClick=true` 仍工作但不推荐",
|
|
182
|
+
"需要关闭后重置内嵌表单状态时使用 `destroyOnClose={true}`",
|
|
183
|
+
"确定按钮 loading 状态用 `confirmLoading={true}`——loading 期间按钮自动 disabled,业务无需再叠 okButtonProps.disabled"
|
|
184
|
+
],
|
|
185
|
+
"dont": [
|
|
186
|
+
"在模态框上再叠加模态框(多层嵌套)",
|
|
187
|
+
"在模态框中放置过长的表单(应考虑独立页面)",
|
|
188
|
+
"不要混用 visible 与 open 双 prop——只传一个",
|
|
189
|
+
"不要既传 fullScreen 又传 size='fullScreen'——只传一个,推荐 size",
|
|
190
|
+
"不要既传 disableBackdropClick 又传 maskClosable——只传一个,推荐 closeOnBackdrop(R6 §B6 阶段 1 引入正向命名)",
|
|
191
|
+
"不要假设 disableBackdropClick / disableEscapeKeyDown 默认值是 false——它们默认 true(即默认禁用),与多数库直觉相反;v6 路径已 rename 为 closeOnBackdrop / closeOnEsc / restoreFocusOnClose 正向 prop"
|
|
192
|
+
],
|
|
193
|
+
"events": {
|
|
194
|
+
"onSubmit": {
|
|
195
|
+
"signature": "(e?: React.MouseEvent<HTMLElement>) => void | Promise<void>",
|
|
196
|
+
"asyncSupported": true,
|
|
197
|
+
"examples": [
|
|
198
|
+
"推荐新写法:async onSubmit 处理异步提交,confirmLoading 配合显示 loading 状态",
|
|
199
|
+
"onSubmit 与 onOk 同义,同时传时 onSubmit 优先,onOk 被跳过(src/Modal/index.tsx:230-234 实证)",
|
|
200
|
+
"表单提交场景:onSubmit 内调 formRef.current.check?.(),失败 return,成功后关闭 Modal"
|
|
201
|
+
],
|
|
202
|
+
"commonMistakes": [
|
|
203
|
+
"同时传 onOk + onSubmit,期望两者都执行 → src 优先调 onSubmit,onOk 被跳过",
|
|
204
|
+
"假设 async onSubmit 执行完成后 Modal 自动关闭 → Modal 完全受控,必须在 onSubmit 内手动 setOpen(false)",
|
|
205
|
+
"传 onOk 而不传 onSubmit 时触发 dev warn → src 检测到仅有 onOk 会 console.warn 一次提示迁移到 onSubmit"
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
"onCancel": {
|
|
209
|
+
"signature": "(e?: React.MouseEvent<HTMLElement>) => boolean | void",
|
|
210
|
+
"asyncSupported": false,
|
|
211
|
+
"examples": [
|
|
212
|
+
"点击取消按钮触发,业务方在回调里 setOpen(false) 关闭 Modal",
|
|
213
|
+
"返回 false 阻止关闭(src/Modal/index.tsx:interface 签名实证)",
|
|
214
|
+
"showCancel=false 时用户无法触发 onCancel,X/ESC/蒙层改走 onDismiss"
|
|
215
|
+
],
|
|
216
|
+
"commonMistakes": [
|
|
217
|
+
"假设 onCancel 在 X 按钮/ESC/蒙层点击时也触发 → v5.x.next 新模式下传了 onDismiss 且不传 onClose 时,X/ESC/mask 仅调 onDismiss,不双触发 onCancel",
|
|
218
|
+
"不在 onCancel 内 setOpen(false) → Modal 是完全受控组件,不自动关闭",
|
|
219
|
+
"假设 onCancel 和 onClose 等价 → onClose 是 deprecated 的统一路径回调(v6 移除),onCancel 只绑取消按钮"
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
"onDismiss": {
|
|
223
|
+
"signature": "(reason: 'esc' | 'mask' | 'x') => void",
|
|
224
|
+
"asyncSupported": false,
|
|
225
|
+
"examples": [
|
|
226
|
+
"推荐新写法(v5.x.next):`onDismiss={(r) => { if (r !== 'esc') setOpen(false); }}` 区分关闭来源",
|
|
227
|
+
"仅传 onDismiss 不传 onClose → 新单触发行为:X/ESC/mask 只调 onDismiss,不再同时触发 onCancel",
|
|
228
|
+
"同时传 onClose(无论是否传 onDismiss)→ 旧兼容行为:维持 R6 双触发(onCancel + onClose)"
|
|
229
|
+
],
|
|
230
|
+
"commonMistakes": [
|
|
231
|
+
"假设 onDismiss 的 reason 包含 'cancel' 或 'ok' → ModalDismissReason 只有 'esc' | 'mask' | 'x',按钮路径不走这里",
|
|
232
|
+
"同时传 onClose + onDismiss 并期望单触发 → 同时传 onClose 时维持旧双触发行为,只有删 onClose 才能用新单触发",
|
|
233
|
+
"在 onDismiss 内不 setOpen(false) → Modal 完全受控,必须手动关闭"
|
|
234
|
+
]
|
|
235
|
+
},
|
|
236
|
+
"onClose": {
|
|
237
|
+
"signature": "(reason: 'cancel' | 'ok' | 'esc' | 'mask' | 'x') => void",
|
|
238
|
+
"asyncSupported": false,
|
|
239
|
+
"examples": [
|
|
240
|
+
"(旧写法,已 @deprecated)统一处理所有关闭路径,reason 区分来源",
|
|
241
|
+
"迁移示例:删 onClose 改用 onDismiss + onOk + onCancel 三回调",
|
|
242
|
+
"如仍使用:`onClose={(r) => { setOpen(false); if (r==='ok') submit(); }}` 在 onClose 里统一 setOpen + 分支处理"
|
|
243
|
+
],
|
|
244
|
+
"commonMistakes": [
|
|
245
|
+
"传了 onClose 后期望 onOk + onClose('ok') 不重复触发业务逻辑 → 两者叠加触发(src:230-237 实证),需在 onOk 只做提交,在 onClose 里判断 reason='ok' 再 setOpen(false)",
|
|
246
|
+
"在 v6 前就依赖 onClose 的确定/取消路径 → v6.0 移除 onClose,应迁移到新三回调模式",
|
|
247
|
+
"假设 onClose 在 Modal 组件 unmount 时触发 → onClose 仅在用户主动关闭时触发,不是生命周期回调"
|
|
248
|
+
]
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
"typescriptPitfalls": [
|
|
252
|
+
{
|
|
253
|
+
"issue": "ModalCloseReason 和 ModalDismissReason 是不同的类型,不能混用",
|
|
254
|
+
"wrong": "onDismiss={(reason: 'cancel' | 'ok' | 'esc' | 'mask' | 'x') => ...} // onDismiss 参数是 ModalDismissReason,无 'cancel'/'ok'",
|
|
255
|
+
"right": "import { ModalDismissReason } from '@para-ui/core'; onDismiss={(reason: ModalDismissReason) => ...} // ModalDismissReason = 'esc' | 'mask' | 'x'"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"issue": "disableBackdropClick / disableEscapeKeyDown 默认值是 true(禁用),与多数库默认允许的直觉相反",
|
|
259
|
+
"wrong": "// 期望默认允许点击蒙层关闭 → 实际默认 disableBackdropClick=true 即禁用蒙层关闭",
|
|
260
|
+
"right": "<Modal closeOnBackdrop={true} closeOnEsc={true} /> // 正向命名,明确允许蒙层和ESC关闭(src/Modal/index.tsx:201-204 实证)"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"issue": "onSubmit 支持 async,onOk 的旧签名不明确支持 Promise",
|
|
264
|
+
"wrong": "onOk={async () => { await doSubmit(); setOpen(false); }} // onOk 已 deprecated,且类型签名不含 Promise",
|
|
265
|
+
"right": "onSubmit={async (e) => { await doSubmit(); setOpen(false); }} // onSubmit 签名: (e?) => void | Promise<void>"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"issue": "actions prop 接受函数形式时返回值类型是 ReactNode[] 不是 ReactNode",
|
|
269
|
+
"wrong": "actions={(btns) => <div>{btns}</div>} // 返回 ReactNode,TS 报类型不匹配",
|
|
270
|
+
"right": "actions={(btns) => [...btns, <Button key='extra'>额外按钮</Button>]} // 返回 ReactNode[] 数组"
|
|
271
|
+
}
|
|
272
|
+
],
|
|
273
|
+
"mapping": {
|
|
274
|
+
"realComponent": "Modal",
|
|
275
|
+
"adapter": null
|
|
276
|
+
}
|
|
277
|
+
}
|
package/lib/Modal/index.d.ts
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
import { default as React, ReactNode } from 'react';
|
|
2
2
|
import { ButtonProps } from '../Button';
|
|
3
3
|
import { Confirm, ConfirmObject } from './Confirm';
|
|
4
|
+
import { ModalDismissReason } from './interface';
|
|
4
5
|
type ModalSize = 'sm' | 'md' | 'lg' | 'auto' | 'fullScreen';
|
|
6
|
+
/**
|
|
7
|
+
* Modal onClose 关闭路径标识(R6 §B3 阶段 1 引入,见 BREAKING-CHANGES §B3 + discussions/Modal-unified-onClose.md)
|
|
8
|
+
* - 'cancel' = 取消按钮
|
|
9
|
+
* - 'ok' = 确定按钮
|
|
10
|
+
* - 'esc' = 键盘 Escape 关闭(若 keyboard 启用)
|
|
11
|
+
* - 'mask' = 蒙层点击关闭(若 maskClosable 启用)
|
|
12
|
+
* - 'x' = 右上角 X 按钮
|
|
13
|
+
*/
|
|
14
|
+
export type ModalCloseReason = 'cancel' | 'ok' | 'esc' | 'mask' | 'x';
|
|
5
15
|
export interface ModalProps {
|
|
6
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated v5.x.next 改用 `open`(命名对齐业界 antd5/Chakra/Radix/MUI);v6.0 移除 visible prop + fallback。详见 BREAKING-CHANGES §B-Modal-props-rework 子条 #3-A
|
|
18
|
+
* `open` 的旧别名;与 open 二选一即可,新代码推荐用 open
|
|
19
|
+
*/
|
|
7
20
|
visible?: boolean;
|
|
8
21
|
/** 打开 */
|
|
9
22
|
open?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* **(v5.x.next 议题 #2 引入)** 非受控模式初始 open 值。
|
|
25
|
+
* 未传 `open`(且未传 `visible`)时启用非受控 — Modal 内部维护 open state,
|
|
26
|
+
* 关闭路径自动 setOpen(false),业务方不需要手动管理 open state。
|
|
27
|
+
* 与 React `<input defaultValue>` 惯例一致。
|
|
28
|
+
* 同时传 open + defaultOpen → open 优先(受控模式),dev warn 提示。
|
|
29
|
+
*/
|
|
30
|
+
defaultOpen?: boolean;
|
|
10
31
|
/** 确定按钮 loading */
|
|
11
32
|
confirmLoading?: boolean;
|
|
12
33
|
/** 标题 */
|
|
@@ -27,10 +48,48 @@ export interface ModalProps {
|
|
|
27
48
|
showCancel?: boolean;
|
|
28
49
|
/** 是否显示右上角的关闭按钮 */
|
|
29
50
|
closable?: boolean;
|
|
30
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated v5.x.next 改用 `onSubmit`(语义更清晰:submit 比 ok 更准确表达"确认提交"行为,对齐表单语义);v6.0 移除 onOk。详见 BREAKING-CHANGES §B-Modal-props-rework
|
|
53
|
+
* 点击确定回调(旧名)
|
|
54
|
+
*/
|
|
31
55
|
onOk?: (e?: React.MouseEvent<HTMLElement>) => void;
|
|
56
|
+
/**
|
|
57
|
+
* **(v5.x.next 议题 #M1 引入)** 点击确定回调(推荐新 API,语义清晰)。
|
|
58
|
+
* 与 `onOk` 同义但 submit 比 ok 更准确表达"确认提交"行为。同时传 `onOk + onSubmit` → `onSubmit` 优先调用,`onOk` 跳过(避免业务函数重复触发);
|
|
59
|
+
* 仅传 `onOk` → 旧行为不变(onOk 仍触发)。dev 环境若检测到只传 `onOk` 会 console.warn 1 次提示迁移。
|
|
60
|
+
*/
|
|
61
|
+
onSubmit?: (e?: React.MouseEvent<HTMLElement>) => void | Promise<void>;
|
|
32
62
|
/** 点击模态框右上角叉、取消按钮,return false 不关闭 */
|
|
33
63
|
onCancel?: (e?: React.MouseEvent<HTMLElement>) => boolean | void;
|
|
64
|
+
/**
|
|
65
|
+
* @deprecated v5.x.next 改用 onDismiss(X/ESC/mask)+ onOk(确定)+ onCancel(取消)三回调职责互斥;v6.0 移除 onClose。详见 BREAKING-CHANGES §B-Modal-props-rework
|
|
66
|
+
*
|
|
67
|
+
* **(R6 §B3 阶段 1 引入)** 任意路径关闭都触发的统一回调,reason 区分关闭来源(`'cancel' | 'ok' | 'esc' | 'mask' | 'x'`)。
|
|
68
|
+
*
|
|
69
|
+
* 与 onCancel/onOk 共存(阶段 3 v6 移除单独 onCancel/onOk → BREAKING):
|
|
70
|
+
* - 取消按钮关闭 → 同时调 onCancel + onClose('cancel')
|
|
71
|
+
* - 确定按钮关闭 → 同时调 onOk + onClose('ok')
|
|
72
|
+
* - ESC 关闭 → 同时调 onCancel + onClose('esc')
|
|
73
|
+
* - 蒙层关闭 → 同时调 onCancel + onClose('mask')
|
|
74
|
+
* - X 按钮关闭 → 同时调 onCancel + onClose('x')
|
|
75
|
+
*
|
|
76
|
+
* 推荐写法 — 业务方在 onClose 里统一 setOpen(false) + reason 分支(埋点 / 重置 state 等),不再写双绑 `onCancel={fn} onOk={fn}` 兜底。
|
|
77
|
+
* 详见 BREAKING-CHANGES §B3 + discussions/Modal-unified-onClose.md
|
|
78
|
+
*/
|
|
79
|
+
onClose?: (reason: ModalCloseReason) => void;
|
|
80
|
+
/**
|
|
81
|
+
* **(v5.x.next γ 方案 议题 #1 引入)** 非按钮关闭路径(X / ESC / 蒙层)的专用回调。
|
|
82
|
+
* 职责显式互斥:
|
|
83
|
+
* - onOk = 仅确定按钮
|
|
84
|
+
* - onCancel = 仅取消按钮
|
|
85
|
+
* - onDismiss = 仅 X / ESC / mask 三种"非按钮关闭"
|
|
86
|
+
*
|
|
87
|
+
* 仅传 onDismiss(不传 onClose)→ 新单触发行为:3 个非按钮路径仅调 onDismiss,不双触发。
|
|
88
|
+
* 同时传 onClose(无论是否也传 onDismiss)→ 旧兼容行为:维持 R6 双触发(onCancel + onClose)。
|
|
89
|
+
* 迁移时推荐:删 onClose,改用 onDismiss(理由见 discussions/Modal-props-rework.md §3.1)。
|
|
90
|
+
* 详见 BREAKING-CHANGES §B-Modal-props-rework。
|
|
91
|
+
*/
|
|
92
|
+
onDismiss?: (reason: ModalDismissReason) => void;
|
|
34
93
|
afterClose?: () => void;
|
|
35
94
|
/** 大小 */
|
|
36
95
|
size?: ModalSize;
|
|
@@ -40,13 +99,20 @@ export interface ModalProps {
|
|
|
40
99
|
width?: string | number;
|
|
41
100
|
/** 确认按钮文字 */
|
|
42
101
|
okText?: ReactNode;
|
|
43
|
-
/** 确认按钮类型 */
|
|
44
|
-
okType?: string;
|
|
45
102
|
/** 取消按钮文字 */
|
|
46
103
|
cancelText?: ReactNode;
|
|
47
104
|
/** 点击蒙层是否允许关闭 */
|
|
48
105
|
maskClosable?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* @deprecated v5.x.next 改用 `closeOnBackdrop`(正向命名,业界对齐 antd `maskClosable` / chakra `closeOnOverlayClick`);v6 移除。
|
|
108
|
+
* 默认 `true`(即默认禁用蒙层关闭),与多数 Modal 库默认开放的直觉相反。详见 BREAKING-CHANGES §B6。
|
|
109
|
+
*/
|
|
49
110
|
disableBackdropClick?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* **(R6 §B6 阶段 1 引入)** 是否允许蒙层点击关闭(正向命名,业界对齐)。显式传值优先 — 未传时 fallback 旧 `disableBackdropClick`(默认 true 即禁用)。
|
|
113
|
+
* 阶段 3 v6 移除 `disableBackdropClick` 后默认 `true`(允许蒙层关闭)。详见 BREAKING-CHANGES §B6
|
|
114
|
+
*/
|
|
115
|
+
closeOnBackdrop?: boolean;
|
|
50
116
|
/** 强制渲染 Modal */
|
|
51
117
|
forceRender?: boolean;
|
|
52
118
|
/** 确定按钮属性 */
|
|
@@ -73,7 +139,21 @@ export interface ModalProps {
|
|
|
73
139
|
mask?: boolean;
|
|
74
140
|
/** 是否支持键盘esc关闭 */
|
|
75
141
|
keyboard?: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* @deprecated v5.x.next 改用 `closeOnEsc`(正向命名,业界对齐 antd `keyboard` / chakra `closeOnEsc`);v6 移除。
|
|
144
|
+
* 默认 `true`(即默认禁用 ESC 关闭),与多数 Modal 库默认开放的直觉相反。详见 BREAKING-CHANGES §B6。
|
|
145
|
+
*/
|
|
76
146
|
disableEscapeKeyDown?: boolean;
|
|
147
|
+
/**
|
|
148
|
+
* **(R6 §B6 阶段 1 引入)** 是否允许 Escape 键关闭(正向命名,业界对齐)。显式传值优先 — 未传时 fallback 旧 `disableEscapeKeyDown`(默认 true 即禁用)。
|
|
149
|
+
* 阶段 3 v6 移除 `disableEscapeKeyDown` 后默认 `true`(允许 ESC 关闭)。详见 BREAKING-CHANGES §B6
|
|
150
|
+
*/
|
|
151
|
+
closeOnEsc?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* **(R6 §B6 阶段 1 引入)** 关闭后是否将焦点恢复到原触发元素(正向命名,业界对齐 mui `restoreFocus`)。等价 `focusTriggerAfterClose` 的正向 alias — 显式传值优先,未传时 fallback `focusTriggerAfterClose`(默认 true)。
|
|
154
|
+
* 注:`disableEnforceFocus` 仅 component.json/api.ts 文档层警示词,src 实际控制由 `focusTriggerAfterClose` 反向承担;v6 路径只保留 `restoreFocusOnClose`。详见 BREAKING-CHANGES §B6
|
|
155
|
+
*/
|
|
156
|
+
restoreFocusOnClose?: boolean;
|
|
77
157
|
/** 右上角关闭图标 */
|
|
78
158
|
closeIcon?: ReactNode;
|
|
79
159
|
/** 自定义渲染对话框 */
|
|
@@ -90,7 +170,7 @@ export interface ModalProps {
|
|
|
90
170
|
contentHeight?: number | string;
|
|
91
171
|
/** 内容样式 */
|
|
92
172
|
contentStyle?: React.CSSProperties;
|
|
93
|
-
[name: string]:
|
|
173
|
+
[name: string]: unknown;
|
|
94
174
|
}
|
|
95
175
|
export declare const Modal: React.FC<ModalProps>;
|
|
96
176
|
export { Confirm };
|
package/lib/Modal/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const o=require("../_virtual/jsx-runtime.js"),s=require("react"),ye=require("rc-dialog"),x=require("../Button/index.js"),Me=require("../node_modules/@para-ui/icons/Close/index.js"),$e=require("../GlobalContext/useFormatMessage.js"),Ae=require("./lang/index.js"),qe=require("./Confirm/index.js"),D=require("clsx"),H=require("../GlobalContext/constant.js"),ze=require("../AutoTips/index.js");;/* empty css */let C;const De=e=>{C={x:e.pageX,y:e.pageY},setTimeout(()=>{C=null},100)};window.document.documentElement&&document.documentElement.addEventListener("click",De,!0);const F=e=>{const{open:d,visible:f,defaultOpen:E,closeIcon:_,centered:G=!0,focusTriggerAfterClose:I=!0,title:T,footer:P,showActions:V=!0,actions:K,header:h,hideHeader:W=!1,showCancel:X=!0,maskClosable:L=!1,disableBackdropClick:Y=!0,closeOnBackdrop:k,keyboard:J=!1,disableEscapeKeyDown:Q=!0,closeOnEsc:p,restoreFocusOnClose:v,fullScreen:U,customizeSize:Z,style:ee,bodyStyle:ne,contentWidth:te,contentHeight:g,contentStyle:N,size:r="md",children:oe,closable:se=!0,mask:R=!0,...le}=e,O=$e.default("Modal",Ae.default),S=e.onClose!==void 0,j=s.useRef(!1);s.useEffect(()=>{process.env.NODE_ENV!=="production"&&S&&!j.current&&(j.current=!0,console.warn("[Modal] onClose 已在 v5.x.next 标记为 @deprecated,将在 v6.0 移除。请迁移到 onDismiss(处理 X/ESC/mask 关闭)+ onOk(确定按钮)+ onCancel(取消按钮)三回调模式。详见 BREAKING-CHANGES §B-Modal-props-rework。"))},[S]);const w=f!==void 0,b=s.useRef(!1);s.useEffect(()=>{process.env.NODE_ENV!=="production"&&w&&!b.current&&(b.current=!0,console.warn("[Modal] visible 已在 v5.x.next 标记为 @deprecated,将在 v6.0 移除。请改用 open prop。详见 BREAKING-CHANGES §B-Modal-props-rework 子条 #3-A"))},[w]);const B=e.onOk!==void 0,y=e.onSubmit!==void 0,M=s.useRef(!1);s.useEffect(()=>{process.env.NODE_ENV!=="production"&&B&&!y&&!M.current&&(M.current=!0,console.warn("[Modal] onOk 已在 v5.x.next 标记为 @deprecated,将在 v6.0 移除。请改用 onSubmit prop(语义更清晰)。详见 BREAKING-CHANGES §B-Modal-props-rework"))},[B,y]);const l=d!==void 0||f!==void 0,[re,a]=s.useState(E??!1),ie=l?d??f??!1:re,$=E!==void 0,A=d!==void 0;s.useEffect(()=>{process.env.NODE_ENV!=="production"&&A&&$&&console.warn("[Modal] 同时传 open + defaultOpen,defaultOpen 被忽略(open 优先,受控模式)。详见 BREAKING-CHANGES §B-Modal-props-rework 子条 #2")},[A,$]);const q=s.useRef(l);s.useEffect(()=>{q.current!==l&&(process.env.NODE_ENV!=="production"&&console.warn("[Modal] open 受控/非受控状态运行时切换,React 不支持此模式,请保持一致。"),q.current=l)},[l]);const ce=U||r==="fullScreen",t=`${H.$prefixCls}-modal`,ae=p!==void 0?p:!Q,ue=k!==void 0?k:!Y,de=v!==void 0?v:I,fe=n=>{e.onCancel?.(n),e.onClose?.("cancel"),l||a(!1)},me=n=>{e.onClose!==void 0?(e.onCancel?.(n),e.onClose("x")):e.onDismiss?.("x"),l||a(!1)},xe=n=>{const i=n&&n.type==="keydown"?"esc":"mask";e.onClose!==void 0?(e.onCancel?.(n),e.onClose(i)):e.onDismiss?.(i),l||a(!1)},Ce=n=>{e.onSubmit?e.onSubmit(n):e.onOk?.(n),e.onClose?.("ok"),l||a(!1)},Ee=()=>{const n={sm:`${t}-sm`,md:`${t}-md`,lg:`${t}-lg`,auto:`${t}-auto`,fullScreen:`${t}-fullscreen`};if(!N)return ce?n.fullScreen:n[r]},he=()=>!r||r==="fullScreen"||r==="auto"?void 0:{sm:{width:430,maxHeight:118},md:{width:486,maxHeight:478},lg:{width:948,maxHeight:478}}[r],ke=()=>R?`${t}-with-mask`:`${t}-without-mask`,pe=()=>({...Z,...ee}),ve=()=>{const{maxHeight:n,width:i}=he()||{};return{maxHeight:g||n||"calc(100vh - 142px)",width:te||i,height:g,...ne,...N}},ge=()=>{if(W)return null;if(h)return h;const n=se&&o.jsxRuntimeExports.jsx(x.Button.IconButton,{onClick:me,className:`${t}-close`,variant:"outlined",size:"small",children:_||o.jsxRuntimeExports.jsx(Me.Close,{className:`${t}-close-icon`})});return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(ze.default,{className:`${t}-title-text`,children:T}),n]})},Ne=()=>{if(!V)return null;const{okText:n,cancelText:i,okButtonProps:Se,cancelButtonProps:je,confirmLoading:we=!1}=e,be=o.jsxRuntimeExports.jsx(x.Button,{variant:"contained",size:"large",loading:we,onClick:Ce,...Se,children:n??O({id:"ok"})}),z=[X&&o.jsxRuntimeExports.jsx(x.Button,{variant:"outlined",size:"large",onClick:fe,...je,children:i??O({id:"cancel"})}),be],u=K??P;if(typeof u=="function"){const c=u(z);return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:Array.isArray(c)?c.map((m,Be)=>o.jsxRuntimeExports.jsx(s.Fragment,{children:m},Be)):c})}else if(u)return u;return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:z.map((c,m)=>o.jsxRuntimeExports.jsx(s.Fragment,{children:c},m))})},Re=D(e.wrapClassName,{[`${t}-centered`]:G}),Oe=D(e.className,`${H.$prefixCls}-scrollbar-small`,Ee(),ke());return o.jsxRuntimeExports.jsx(ye,{...le,mask:R,visible:ie,title:ge(),footer:Ne(),style:pe(),bodyStyle:ve(),prefixCls:t,className:Oe,wrapClassName:Re,mousePosition:C,onClose:xe,closable:!1,closeIcon:null,maskClosable:ue||L,keyboard:ae||J,focusTriggerAfterClose:de,transitionName:`${t}-zoom`,maskTransitionName:`${t}-fade`,children:oe})};exports.Confirm=qe.Confirm;exports.Modal=F;exports.default=F;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ModalDismissReason = 'esc' | 'mask' | 'x';
|