@para-ui/core 5.0.0-beta.12 → 5.0.0-beta.14
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/codemods/modal-onCancel-to-onDismiss.js +69 -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 +50 -47
- package/es/Anchor/type.d.ts +8 -4
- package/es/Argv/component.json +216 -0
- package/es/Argv/index.d.ts +5 -6
- 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 +32 -29
- 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/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 +188 -180
- 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/CodeEditor/component.json +189 -0
- package/es/CodeEditor/index.d.ts +10 -9
- package/es/Collapse/component.json +166 -0
- package/es/Collapse/index.d.ts +1 -1
- package/es/Collapse/index.js +41 -33
- 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 +299 -287
- package/es/ComboSelect/interface.d.ts +6 -3
- 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.d.ts +0 -8
- package/es/DatePicker/generatePicker/generateRangePicker.js +73 -65
- package/es/DatePicker/generatePicker/generateSinglePicker.js +1 -1
- package/es/DatePicker/generatePicker/index.d.ts +11 -4
- package/es/Descriptions/component.json +142 -0
- package/es/Descriptions/index.d.ts +1 -1
- package/es/Desktop/component.json +171 -0
- 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/DynamicMultiBox/component.json +278 -0
- package/es/DynamicMultiBox/formItem.d.ts +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/MemoInput.d.ts +2 -2
- package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
- package/es/FieldForm/Form.d.ts +2 -2
- 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/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/Help/component.json +118 -0
- package/es/HelperText/component.json +126 -0
- package/es/Image/component.json +165 -0
- 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 +1 -1
- 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/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 +81 -75
- package/es/Modal/component.json +277 -0
- package/es/Modal/index.d.ts +97 -6
- package/es/Modal/index.js +174 -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/Pagination/component.json +181 -0
- package/es/Pagination/index.js +15 -15
- 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/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 +1 -1
- 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 +113 -113
- package/es/SelectInput/component.json +184 -0
- package/es/Selector/component.json +203 -0
- package/es/Selector/index.js +28 -27
- package/es/Selector/interface.d.ts +1 -1
- package/es/Selector/selectorMain/index.js +2 -2
- package/es/Selector/selectorNode/index.js +1 -1
- package/es/Selector/util.d.ts +2 -2
- 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 +414 -414
- package/es/Table/interface.d.ts +6 -0
- 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/TextField/component.json +290 -0
- package/es/TextField/index.d.ts +2 -2
- 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/Tooltip/component.json +176 -0
- package/es/Tooltip/index.js +74 -63
- 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/component.json +512 -0
- package/es/Upload/component.json +450 -0
- package/es/Utils/type.d.ts +0 -2
- 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/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/index.d.ts +5 -6
- 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/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/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/CodeEditor/component.json +189 -0
- package/lib/CodeEditor/index.d.ts +10 -9
- 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 +6 -3
- 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.d.ts +0 -8
- package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
- package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
- package/lib/DatePicker/generatePicker/index.d.ts +11 -4
- package/lib/Descriptions/component.json +142 -0
- package/lib/Descriptions/index.d.ts +1 -1
- package/lib/Desktop/component.json +171 -0
- 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/DynamicMultiBox/component.json +278 -0
- package/lib/DynamicMultiBox/formItem.d.ts +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/MemoInput.d.ts +2 -2
- package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
- package/lib/FieldForm/Form.d.ts +2 -2
- 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/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/Help/component.json +118 -0
- package/lib/HelperText/component.json +126 -0
- package/lib/Image/component.json +165 -0
- 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/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 +97 -6
- 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/Pagination/component.json +181 -0
- package/lib/Pagination/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/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 +1 -1
- package/lib/Selector/selectorMain/index.js +1 -1
- package/lib/Selector/selectorNode/index.js +1 -1
- package/lib/Selector/util.d.ts +2 -2
- 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 +6 -0
- 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/TextField/component.json +290 -0
- package/lib/TextField/index.d.ts +2 -2
- 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/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/component.json +512 -0
- package/lib/Upload/component.json +450 -0
- package/lib/Utils/type.d.ts +0 -2
- 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/package.json +10 -3
- /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,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SortBox",
|
|
3
|
+
"category": "Data Entry",
|
|
4
|
+
"description": "排序盒子,支持拖拽排序;每行内置 Drag 图标作为拖拽 handle",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"拖拽排序",
|
|
8
|
+
"列表排序"
|
|
9
|
+
],
|
|
10
|
+
"useCases": [
|
|
11
|
+
"自定义排序",
|
|
12
|
+
"优先级调整",
|
|
13
|
+
"列表管理",
|
|
14
|
+
"待办排序"
|
|
15
|
+
],
|
|
16
|
+
"riskLevel": "low"
|
|
17
|
+
},
|
|
18
|
+
"variants": {
|
|
19
|
+
"border": {
|
|
20
|
+
"meaning": "边框样式;每行细边框"
|
|
21
|
+
},
|
|
22
|
+
"none": {
|
|
23
|
+
"meaning": "无样式;清爽布局无边框无背景"
|
|
24
|
+
},
|
|
25
|
+
"fill": {
|
|
26
|
+
"meaning": "填充样式(默认);每行带填充背景"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"states": [
|
|
30
|
+
"default",
|
|
31
|
+
"dragging"
|
|
32
|
+
],
|
|
33
|
+
"idealProps": {
|
|
34
|
+
"list": {
|
|
35
|
+
"type": "SortBoxListItemProps[]",
|
|
36
|
+
"itemSchema": {
|
|
37
|
+
"render": { "type": "ReactNode", "description": "该行渲染内容(任意 ReactNode,组件内部加 left padding 视觉)" },
|
|
38
|
+
"id": { "type": "string | number", "description": "建议显式提供,用于 react-sortablejs key 唯一;未提供时 fallback 到数组 index" }
|
|
39
|
+
},
|
|
40
|
+
"description": "排序列表数据;SortBoxListItemProps 是开放接口(src/SortBox/index.tsx:13 已 export):render?: ReactNode(该行渲染内容) + 任意扩展字段 [name]: unknown(挂业务模型,如 _todo / _card);id 字段建议显式提供(string|number),未提供时 src handleList line 82-84 用 array index fallback"
|
|
41
|
+
},
|
|
42
|
+
"onSort": {
|
|
43
|
+
"type": "function",
|
|
44
|
+
"signature": "(list: SortBoxListItemProps[]) => void",
|
|
45
|
+
"description": "排序变化回调;⚠️ list 参数 = 【排序后的完整数组】,不是 sort 映射对象 / 不是 diff;src/SortBox/index.tsx:78 实证。业务侧从 list 项的扩展字段(如 _todo)取回业务模型透传父组件"
|
|
46
|
+
},
|
|
47
|
+
"type": {
|
|
48
|
+
"type": "'border' | 'none' | 'fill'",
|
|
49
|
+
"values": ["border", "none", "fill"],
|
|
50
|
+
"default": "'fill'",
|
|
51
|
+
"description": "视觉类型;fill 填充背景 / border 细边框 / none 无视觉装饰"
|
|
52
|
+
},
|
|
53
|
+
"marginBottom": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"default": "'10px'",
|
|
56
|
+
"description": "相邻 sort-item 之间下边距;CSS 单位字符串"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"do": [
|
|
60
|
+
"把业务模型挂在 SortBoxListItemProps 扩展字段(如 _todo / _card),onSort 回调中取回",
|
|
61
|
+
"显式提供 id 字段(string|number,保证 react-sortablejs key 唯一)",
|
|
62
|
+
"render 字段装载该行 UI(任意 ReactNode,组件内部加 left padding 视觉)",
|
|
63
|
+
"保存用户排序结果(直接保存 nextList 排序或映射回业务 id 列表)"
|
|
64
|
+
],
|
|
65
|
+
"dont": [
|
|
66
|
+
"**不要把 onSort 参数当 sort 映射对象用** — 它是排序后的完整数组",
|
|
67
|
+
"列表项过多(> 100)时性能差(react-sortablejs 限制)",
|
|
68
|
+
"拖拽 handle 是固定的 .sort-icon 右侧 Drag 图标 — 不要自己实现拖拽逻辑",
|
|
69
|
+
"不要在 render 内放复杂表单组件(拖拽冲突)"
|
|
70
|
+
],
|
|
71
|
+
"events": {
|
|
72
|
+
"onSort": {
|
|
73
|
+
"signature": "(list: SortBoxListItemProps[]) => void",
|
|
74
|
+
"asyncSupported": false,
|
|
75
|
+
"examples": [
|
|
76
|
+
"排序结束后触发,list 是排序后的完整数组(新顺序)",
|
|
77
|
+
"取业务 id 列表:onSort={(newList) => setOrderIds(newList.map(it => it._id))}",
|
|
78
|
+
"替换父组件 state:onSort={(newList) => setItems(newList)}"
|
|
79
|
+
],
|
|
80
|
+
"commonMistakes": [
|
|
81
|
+
"把 list 参数当 diff/映射对象用——它是排序后的完整数组,不是变更集合",
|
|
82
|
+
"不传 onSort 时期望 SortBox 自己维护顺序——SortBox 是受控组件,必须在 onSort 里更新外部 list state",
|
|
83
|
+
"忘记显式提供 list 项的 id 字段——不提供时 fallback 到 index,拖拽后 React key 可能冲突"
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"typescriptPitfalls": [
|
|
88
|
+
{
|
|
89
|
+
"issue": "SortBoxListItemProps 索引签名允许任意字段,但 render 字段是 ReactNode 不是 string",
|
|
90
|
+
"wrong": "list={[{ render: 'plain text', id: 1 }]} // render 是 ReactNode,但 TS 接受 string(因为 ReactNode 包含 string)",
|
|
91
|
+
"right": "list={[{ render: <span>内容</span>, id: 1 }]} // 推荐传 ReactNode 而非纯字符串"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"issue": "onSort 返回的 list 是同一个数组(splice 就地修改后复制),直接赋给受控 list 可能引发渲染问题",
|
|
95
|
+
"wrong": "onSort={(newList) => setList(newList)} // newList 是就地修改后的扩展数组",
|
|
96
|
+
"right": "onSort={(newList) => setList([...newList])} // 解构保证新引用触发重渲"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"issue": "SortBoxProps 的 list 类型是 SortBoxListItemProps[],扩展字段类型是 unknown",
|
|
100
|
+
"wrong": "onSort={(newList) => console.log(newList[0].myField.name)} // unknown 类型,.name 报错",
|
|
101
|
+
"right": "onSort={(newList) => { const item = newList[0] as MyItem; console.log(item.myField.name); }}"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"mapping": {
|
|
105
|
+
"realComponent": "SortBox",
|
|
106
|
+
"adapter": null
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Status",
|
|
3
|
+
"category": "Data Display",
|
|
4
|
+
"description": "状态标签,用于展示状态信息",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"状态展示",
|
|
8
|
+
"信息标记"
|
|
9
|
+
],
|
|
10
|
+
"useCases": [
|
|
11
|
+
"任务状态",
|
|
12
|
+
"审批状态",
|
|
13
|
+
"系统状态"
|
|
14
|
+
],
|
|
15
|
+
"riskLevel": "low"
|
|
16
|
+
},
|
|
17
|
+
"variants": {
|
|
18
|
+
"info": {
|
|
19
|
+
"meaning": "信息"
|
|
20
|
+
},
|
|
21
|
+
"success": {
|
|
22
|
+
"meaning": "成功"
|
|
23
|
+
},
|
|
24
|
+
"warning": {
|
|
25
|
+
"meaning": "警告"
|
|
26
|
+
},
|
|
27
|
+
"error": {
|
|
28
|
+
"meaning": "错误"
|
|
29
|
+
},
|
|
30
|
+
"completed": {
|
|
31
|
+
"meaning": "完成"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"states": [
|
|
35
|
+
"default"
|
|
36
|
+
],
|
|
37
|
+
"idealProps": {
|
|
38
|
+
"status": {
|
|
39
|
+
"type": "enum",
|
|
40
|
+
"values": [
|
|
41
|
+
"info",
|
|
42
|
+
"success",
|
|
43
|
+
"warning",
|
|
44
|
+
"error",
|
|
45
|
+
"completed"
|
|
46
|
+
],
|
|
47
|
+
"default": "info",
|
|
48
|
+
"description": "状态"
|
|
49
|
+
},
|
|
50
|
+
"text": {
|
|
51
|
+
"type": "ReactNode",
|
|
52
|
+
"description": "文本"
|
|
53
|
+
},
|
|
54
|
+
"icon": {
|
|
55
|
+
"type": "ReactNode | 'success' | 'error'",
|
|
56
|
+
"description": "自定义状态图标(src/Status/index.tsx:23 实证:`ReactNode | iconType`,iconType = 'success' | 'error'——传字符串 'success'/'error' 时渲染内置 SVG 图标,传 ReactNode 时直接渲染;**icon 存在时 status 样式类不生效**,src:37 `status && !icon && ...` 实证)"
|
|
57
|
+
},
|
|
58
|
+
"color": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"description": "自定义状态圆点颜色(src/Status/index.tsx:29,67-73 实证)。⚠️ **仅在未传 icon 时生效**(默认圆点模式):传任意合法 CSS 颜色值(hex/rgb/色名),渲染为原色实心圆点 + 0.1 alpha 光晕背景;不传时由 status 对应预设 CSS 类控制颜色"
|
|
61
|
+
},
|
|
62
|
+
"className": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "自定义类名(src/Status/index.tsx:25 interface 声明,透传到根 span 元素)"
|
|
65
|
+
},
|
|
66
|
+
"style": {
|
|
67
|
+
"type": "React.CSSProperties",
|
|
68
|
+
"description": "自定义样式(src/Status/index.tsx:27 interface 声明,透传到根 span 元素)"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"do": [
|
|
72
|
+
"使用语义化的颜色(info/success/warning/error/completed 对应不同预设圆点颜色)",
|
|
73
|
+
"保持状态文案简短(status-text 无宽度限制,过长影响布局)",
|
|
74
|
+
"自定义颜色时用 color prop 传 CSS 色值(hex/rgb/名称)——组件自动生成 0.1 alpha 光晕背景",
|
|
75
|
+
"需要图标型 Status 时传 icon='success' 或 icon='error' 使用内置 SVG;传 ReactNode 显示自定义图标"
|
|
76
|
+
],
|
|
77
|
+
"dont": [
|
|
78
|
+
"状态颜色混乱(不同语义用了相同颜色导致用户混淆)",
|
|
79
|
+
"**不要同时传 icon 和 status**——icon 存在时 status 对应的 CSS 样式类不追加(src:37 实证 `status && !icon`),两者视觉上会冲突",
|
|
80
|
+
"不要把 icon 传 'warning'/'info'/'completed' 字符串——内置 icon 只有 'success' 和 'error' 两种,传其他字符串渲染 null"
|
|
81
|
+
],
|
|
82
|
+
"events": {},
|
|
83
|
+
"typescriptPitfalls": [
|
|
84
|
+
{
|
|
85
|
+
"issue": "icon prop 类型是 ReactNode | 'success' | 'error',传其他字符串(如 'warning')TS 可能不报错但运行时渲染 null",
|
|
86
|
+
"wrong": "icon='warning' // 字符串不在 iconType 枚举内,switch 走 default 分支返回 null",
|
|
87
|
+
"right": "icon={<WarningIcon />} // 传 ReactNode;内置字符串仅 'success' | 'error'"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"issue": "status 和 icon 同时传时 status 样式类不生效(src:37 条件 `status && !icon`)",
|
|
91
|
+
"wrong": "<Status status='error' icon={<CustomIcon />} /> // 期望 error 颜色,实际 status class 未追加",
|
|
92
|
+
"right": "<Status icon={<CustomIcon />} /> // 纯自定义图标时只传 icon;需要预设色时只传 status"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"issue": "color prop 仅在未传 icon 时生效(圆点模式),传 icon 后 color 无视觉效果",
|
|
96
|
+
"wrong": "<Status icon='success' color='#ff0000' /> // 图标模式 color 不影响图标颜色",
|
|
97
|
+
"right": "<Status status='error' color='#ff0000' /> // color 在圆点模式(无 icon)下生效"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"mapping": {
|
|
101
|
+
"realComponent": "Status",
|
|
102
|
+
"adapter": null
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Stepper",
|
|
3
|
+
"category": "Navigation",
|
|
4
|
+
"description": "步骤条,引导用户分步完成任务",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"引导流程",
|
|
8
|
+
"展示进度",
|
|
9
|
+
"任务分拆"
|
|
10
|
+
],
|
|
11
|
+
"useCases": [
|
|
12
|
+
"注册流程",
|
|
13
|
+
"表单填写",
|
|
14
|
+
"购物结算"
|
|
15
|
+
],
|
|
16
|
+
"riskLevel": "low"
|
|
17
|
+
},
|
|
18
|
+
"variants": {
|
|
19
|
+
"default": {
|
|
20
|
+
"meaning": "标准步骤条"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"states": [
|
|
24
|
+
"wait",
|
|
25
|
+
"process",
|
|
26
|
+
"finish",
|
|
27
|
+
"error"
|
|
28
|
+
],
|
|
29
|
+
"idealProps": {
|
|
30
|
+
"current": {
|
|
31
|
+
"type": "number",
|
|
32
|
+
"default": 0,
|
|
33
|
+
"description": "当前选中步骤索引(0-based);超出 steps 范围时所有步骤显示 wait 状态。**Stepper 主组件无 onStepClick/onChange — 需要点击交互必须用 Stepper.Step.onClick**"
|
|
34
|
+
},
|
|
35
|
+
"steps": {
|
|
36
|
+
"type": "Array<string | StepItem>",
|
|
37
|
+
"itemSchema": {
|
|
38
|
+
"label": { "type": "ReactNode", "description": "步骤标题(字段名是 label,不是 title)" },
|
|
39
|
+
"icon": { "type": "ReactNode", "description": "步骤图标(不传则显示数字编号)" },
|
|
40
|
+
"description": { "type": "ReactNode", "description": "步骤描述" }
|
|
41
|
+
},
|
|
42
|
+
"description": "步骤数据;StepItem 对象项字段名是 **label**(不是 title);与 children 二选一,steps 优先级高"
|
|
43
|
+
},
|
|
44
|
+
"children": {
|
|
45
|
+
"type": "React.ReactNode (Stepper.Step[])",
|
|
46
|
+
"description": "命令式步骤;不传 steps 时生效;Stepper.Step 字段名是 **title**(不是 label),支持 onClick / status / disabled / subTitle"
|
|
47
|
+
},
|
|
48
|
+
"direction": {
|
|
49
|
+
"type": "'horizontal' | 'vertical'",
|
|
50
|
+
"values": ["horizontal", "vertical"],
|
|
51
|
+
"default": "horizontal",
|
|
52
|
+
"description": "步骤条方向;vertical 模式下 description 显示在右侧"
|
|
53
|
+
},
|
|
54
|
+
"errorStep": {
|
|
55
|
+
"type": "number",
|
|
56
|
+
"description": "错误步骤索引(0-based);不传时无错误状态(注意 ≠ 默认 0);与 current 互相独立可同时设"
|
|
57
|
+
},
|
|
58
|
+
"className": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"description": "外层 cls"
|
|
61
|
+
},
|
|
62
|
+
"style": {
|
|
63
|
+
"type": "React.CSSProperties",
|
|
64
|
+
"description": "外层 style"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"stepItemShape": {
|
|
68
|
+
"label": "React.ReactNode — 步骤标题(字段名 label,不是 title)",
|
|
69
|
+
"icon": "React.ReactNode — 步骤图标(不传则显示数字编号)",
|
|
70
|
+
"description": "React.ReactNode — 步骤描述"
|
|
71
|
+
},
|
|
72
|
+
"stepChildShape": {
|
|
73
|
+
"title": "React.ReactNode — Stepper.Step 用 title(不是 label)",
|
|
74
|
+
"description": "React.ReactNode",
|
|
75
|
+
"subTitle": "React.ReactNode — 子标题",
|
|
76
|
+
"icon": "React.ReactNode",
|
|
77
|
+
"status": "'wait' | 'process' | 'finish' | 'error'",
|
|
78
|
+
"disabled": "boolean — 禁用点击(true 时 onClick 不触发)",
|
|
79
|
+
"onClick": "React.MouseEventHandler<HTMLElement> — 点击切换的唯一回调入口"
|
|
80
|
+
},
|
|
81
|
+
"do": [
|
|
82
|
+
"将复杂任务拆分为 3-5 个步骤",
|
|
83
|
+
"明确标示当前状态和下一步操作",
|
|
84
|
+
"点击切换步骤时用 Stepper.Step children 写法 + onClick prop(主组件无 onChange/onStepClick)",
|
|
85
|
+
"steps 数组写法时字段名用 label(不是 title);Stepper.Step children 写法时字段名用 title"
|
|
86
|
+
],
|
|
87
|
+
"dont": [
|
|
88
|
+
"步骤过多 (>7) 导致用户失去耐心",
|
|
89
|
+
"随意跳跃步骤(非线性流程应慎用 Stepper)",
|
|
90
|
+
"在 steps 数组项中用 title 字段——steps 模式字段是 label;用 title 字段会静默 undefined"
|
|
91
|
+
],
|
|
92
|
+
"events": {
|
|
93
|
+
"onClick": {
|
|
94
|
+
"signature": "React.MouseEventHandler<HTMLElement>",
|
|
95
|
+
"asyncSupported": false,
|
|
96
|
+
"examples": [
|
|
97
|
+
"Stepper.Step 的 onClick 是步骤点击交互的唯一入口",
|
|
98
|
+
"<Stepper.Step title='步骤1' onClick={() => setCurrent(0)} />",
|
|
99
|
+
"主组件 <Stepper> 没有 onChange / onStepClick prop,必须用子 Step 的 onClick"
|
|
100
|
+
],
|
|
101
|
+
"commonMistakes": [
|
|
102
|
+
"在主组件 <Stepper> 上传 onChange / onStepClick——这些 prop 不存在,静默无效",
|
|
103
|
+
"steps 数组写法无法直接为每步设置 onClick——需切换到 Stepper.Step children 写法",
|
|
104
|
+
"disabled=true 的 Step onClick 不触发——src 基于 rc-steps,disabled 屏蔽点击"
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"typescriptPitfalls": [
|
|
109
|
+
{
|
|
110
|
+
"issue": "steps 数组项字段名是 label(不是 title);Stepper.Step children 写法字段名是 title(不是 label)",
|
|
111
|
+
"wrong": "steps={[{ title: '步骤1' }]} // steps 模式字段是 label,title 被忽略显示 undefined",
|
|
112
|
+
"right": "steps={[{ label: '步骤1' }]} // steps 数组模式用 label"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"issue": "errorStep 不传时默认无错误,不是 0——容易误以为「默认第 0 步出错」",
|
|
116
|
+
"wrong": "// 不传 errorStep 期望第 0 步正常 → 实际 undefined 表示无错,行为正确但误以为需传 errorStep=-1",
|
|
117
|
+
"right": "// 不需要错误步骤时完全不传 errorStep;需要时传对应的 0-based 索引"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"issue": "Stepper.Step 的 StepProps 与 StepItem 字段重叠但命名不同(description 相同,但 title vs label)",
|
|
121
|
+
"wrong": "// 同时用 steps 数组 + Stepper.Step children,期望 title 和 label 互通 → 各自独立",
|
|
122
|
+
"right": "// steps 模式和 children 模式二选一;steps 用 label,children 用 title"
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"mapping": {
|
|
126
|
+
"realComponent": "Stepper",
|
|
127
|
+
"adapter": null
|
|
128
|
+
}
|
|
129
|
+
}
|
package/es/Stepper/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ type StepItem = string | {
|
|
|
4
4
|
label?: React.ReactNode;
|
|
5
5
|
icon?: React.ReactNode;
|
|
6
6
|
description?: React.ReactNode;
|
|
7
|
-
[name: string]:
|
|
7
|
+
[name: string]: unknown /** 步骤状态 */;
|
|
8
8
|
};
|
|
9
9
|
export interface StepperProps {
|
|
10
10
|
/** cls */
|
|
@@ -22,7 +22,7 @@ export interface StepperProps {
|
|
|
22
22
|
* icon : Array<{ label: string, icon: ReactNode }>
|
|
23
23
|
*/
|
|
24
24
|
steps?: StepItem[];
|
|
25
|
-
[name: string]:
|
|
25
|
+
[name: string]: unknown;
|
|
26
26
|
}
|
|
27
27
|
export interface StepProps {
|
|
28
28
|
/** 步骤cls */
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Switch",
|
|
3
|
+
"category": "Data Entry",
|
|
4
|
+
"description": "开关选择器,表示两种相互对立的状态间的切换",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"功能开关",
|
|
8
|
+
"状态切换",
|
|
9
|
+
"即时生效"
|
|
10
|
+
],
|
|
11
|
+
"useCases": [
|
|
12
|
+
"深色模式",
|
|
13
|
+
"消息推送",
|
|
14
|
+
"Wi-Fi 开关"
|
|
15
|
+
],
|
|
16
|
+
"riskLevel": "low"
|
|
17
|
+
},
|
|
18
|
+
"variants": {
|
|
19
|
+
"default": {
|
|
20
|
+
"meaning": "标准开关(向后兼容同义,与 medium 视觉等价)"
|
|
21
|
+
},
|
|
22
|
+
"medium": {
|
|
23
|
+
"meaning": "标准开关(2026-05-08 跨组件命名 epic §3.1 选项 B 新增,与 default 视觉等价,推荐新代码使用)"
|
|
24
|
+
},
|
|
25
|
+
"small": {
|
|
26
|
+
"meaning": "小号开关"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"states": [
|
|
30
|
+
"checked",
|
|
31
|
+
"unchecked",
|
|
32
|
+
"disabled",
|
|
33
|
+
"loading"
|
|
34
|
+
],
|
|
35
|
+
"idealProps": {
|
|
36
|
+
"size": {
|
|
37
|
+
"type": "enum",
|
|
38
|
+
"values": [
|
|
39
|
+
"small",
|
|
40
|
+
"medium",
|
|
41
|
+
"default"
|
|
42
|
+
],
|
|
43
|
+
"default": "default",
|
|
44
|
+
"description": "开关大小。三档 small / medium / default(2026-05-08 跨组件命名 epic §3.1 选项 B 实施,medium 为新增同义视觉档,与 default 视觉等价;'default' 为向后兼容同义,新代码建议用 'medium')。**当前状态(R23):'small' 视觉档已生效**(min-width 28 / height 14,见 src/Switch/index.tsx clsx),与 'default' 视觉真正区分(BREAKING-CHANGES §A4 已落地)"
|
|
45
|
+
},
|
|
46
|
+
"checked": {
|
|
47
|
+
"type": "boolean",
|
|
48
|
+
"description": "受控模式:是否选中。与 onChange 配合使用实现受控 Switch"
|
|
49
|
+
},
|
|
50
|
+
"defaultChecked": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"description": "非受控模式:初始是否选中(不传 checked 时生效)"
|
|
53
|
+
},
|
|
54
|
+
"onChange": {
|
|
55
|
+
"type": "function",
|
|
56
|
+
"signature": "(checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void",
|
|
57
|
+
"description": "切换时回调。第一个参数 checked 是切换后的新状态(true=开 / false=关),类型是 boolean。❌ 常见错误:onChange={(value) => ...} 漏类型标注会引发 TS7006;正确写法:onChange={(checked: boolean) => setState(checked)}"
|
|
58
|
+
},
|
|
59
|
+
"onClick": {
|
|
60
|
+
"type": "function",
|
|
61
|
+
"signature": "(checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void",
|
|
62
|
+
"description": "点击时回调(包含禁用态)。参数同 onChange"
|
|
63
|
+
},
|
|
64
|
+
"checkedChildren": {
|
|
65
|
+
"type": "ReactNode",
|
|
66
|
+
"description": "选中时开关内显示的内容(渲染在 **轨道(track)内** 不在圆球内 · rc-switch 标准行为)"
|
|
67
|
+
},
|
|
68
|
+
"unCheckedChildren": {
|
|
69
|
+
"type": "ReactNode",
|
|
70
|
+
"description": "非选中时开关内显示的内容(同 checkedChildren · 渲染在轨道内)"
|
|
71
|
+
},
|
|
72
|
+
"loading": {
|
|
73
|
+
"type": "boolean",
|
|
74
|
+
"default": false,
|
|
75
|
+
"description": "加载中状态。开关不可点击并显示 loading 图标"
|
|
76
|
+
},
|
|
77
|
+
"loadingTitle": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "loading 状态下 Tooltip 提示文案(默认国际化文案)"
|
|
80
|
+
},
|
|
81
|
+
"disabled": {
|
|
82
|
+
"type": "boolean",
|
|
83
|
+
"default": false,
|
|
84
|
+
"description": "是否禁用"
|
|
85
|
+
},
|
|
86
|
+
"autoFocus": {
|
|
87
|
+
"type": "boolean",
|
|
88
|
+
"description": "自动获得焦点"
|
|
89
|
+
},
|
|
90
|
+
"label": {
|
|
91
|
+
"type": "ReactNode",
|
|
92
|
+
"description": "开关标题。传入后开关外层渲染 Label 容器"
|
|
93
|
+
},
|
|
94
|
+
"desc": {
|
|
95
|
+
"type": "ReactNode",
|
|
96
|
+
"description": "开关描述文本(默认 labelPlacement=top 时垂直排在 label 下方;同行排布需 labelPlacement=start/end)"
|
|
97
|
+
},
|
|
98
|
+
"labelPlacement": {
|
|
99
|
+
"type": "enum",
|
|
100
|
+
"values": ["top", "bottom", "start", "end"],
|
|
101
|
+
"default": "top",
|
|
102
|
+
"description": "标题相对于开关的位置。LTR 语义:start=左侧 / end=右侧 / top=上方 / bottom=下方"
|
|
103
|
+
},
|
|
104
|
+
"descPlacement": {
|
|
105
|
+
"type": "enum",
|
|
106
|
+
"values": ["start", "end"],
|
|
107
|
+
"default": "start",
|
|
108
|
+
"description": "描述相对于标题的位置"
|
|
109
|
+
},
|
|
110
|
+
"supText": {
|
|
111
|
+
"type": "ReactNode",
|
|
112
|
+
"description": "辅助文本,渲染在开关旁"
|
|
113
|
+
},
|
|
114
|
+
"error": {
|
|
115
|
+
"type": "boolean",
|
|
116
|
+
"default": false,
|
|
117
|
+
"description": "是否显示错误状态(红色错误样式,配合 supText / desc 使用);仅 UI 反馈,不阻止 onChange"
|
|
118
|
+
},
|
|
119
|
+
"required": {
|
|
120
|
+
"type": "boolean",
|
|
121
|
+
"default": false,
|
|
122
|
+
"description": "是否必填(配合 label 渲染红色 * 标记;仅 UI 提示,实际校验需配合外部 form)"
|
|
123
|
+
},
|
|
124
|
+
"labelTooltip": {
|
|
125
|
+
"type": "LabelTooltipProps",
|
|
126
|
+
"shape": "{ tooltip: ReactNode, ... }",
|
|
127
|
+
"description": "标题帮助提示配置。**字段名是 `tooltip`** · 与 disabledTooltip 的 `title` 字段名不同"
|
|
128
|
+
},
|
|
129
|
+
"descTooltip": {
|
|
130
|
+
"type": "LabelTooltipProps",
|
|
131
|
+
"shape": "{ tooltip: ReactNode, ... }",
|
|
132
|
+
"description": "描述帮助提示配置。同 labelTooltip · 字段名 `tooltip`"
|
|
133
|
+
},
|
|
134
|
+
"disabledTooltip": {
|
|
135
|
+
"type": "TooltipProps",
|
|
136
|
+
"shape": "{ title: ReactNode, placement?: string, arrow?: boolean, ... }",
|
|
137
|
+
"description": "禁用状态下 Tooltip 提示配置。**字段名是 `title`**(完整 TooltipProps shape,与 labelTooltip.tooltip 字段名不同 · 易混淆点)"
|
|
138
|
+
},
|
|
139
|
+
"className": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"description": "自定义类名"
|
|
142
|
+
},
|
|
143
|
+
"style": {
|
|
144
|
+
"type": "React.CSSProperties",
|
|
145
|
+
"description": "自定义样式"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"do": [
|
|
149
|
+
"表示立刻生效的状态切换",
|
|
150
|
+
"使用 loading 状态处理异步切换(loading=true 时自动禁用点击)",
|
|
151
|
+
"受控模式:checked + onChange 配合;非受控模式:defaultChecked(不传 checked)",
|
|
152
|
+
"size='medium' 是新代码推荐写法(与 'default' 视觉等价,'default' 是向后兼容同义词)"
|
|
153
|
+
],
|
|
154
|
+
"dont": [
|
|
155
|
+
"用 Switch 替代 Checkbox(Switch 通常 imply 立即生效)",
|
|
156
|
+
"Switch 内部文案过长(checkedChildren / unCheckedChildren 渲染在轨道内,文案超出影响宽度)",
|
|
157
|
+
"混用受控和非受控——同时传 checked 和 defaultChecked 时以 checked 为准,defaultChecked 被忽略"
|
|
158
|
+
],
|
|
159
|
+
"events": {
|
|
160
|
+
"onChange": {
|
|
161
|
+
"signature": "(checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void",
|
|
162
|
+
"asyncSupported": false,
|
|
163
|
+
"examples": [
|
|
164
|
+
"受控用法:onChange={(checked) => setEnabled(checked)}",
|
|
165
|
+
"异步切换:onChange={async (checked) => { setLoading(true); await save(checked); setLoading(false); }}",
|
|
166
|
+
"checked 是切换后的新状态(true=开 / false=关),不是 event"
|
|
167
|
+
],
|
|
168
|
+
"commonMistakes": [
|
|
169
|
+
"按原生 input 习惯写 onChange={(e) => setState(e.target.checked)}——Switch.onChange 第一参是 boolean,不是 event",
|
|
170
|
+
"loading=true 时期望 onChange 触发——loading 状态下 disabled 属性自动追加,onClick/onChange 均不触发",
|
|
171
|
+
"忘记第二参 event 的类型是 MouseEvent | KeyboardEvent(键盘 Enter/Space 也触发 onChange)"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"onClick": {
|
|
175
|
+
"signature": "(checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void",
|
|
176
|
+
"asyncSupported": false,
|
|
177
|
+
"examples": [
|
|
178
|
+
"与 onChange 区别:onClick 包含禁用态点击,onChange 只在非禁用时触发",
|
|
179
|
+
"onClick={(checked) => trackEvent('switch_click', { value: checked })}"
|
|
180
|
+
],
|
|
181
|
+
"commonMistakes": [
|
|
182
|
+
"用 onClick 做状态更新——应用 onChange;onClick 仅用于点击埋点等副作用"
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"typescriptPitfalls": [
|
|
187
|
+
{
|
|
188
|
+
"issue": "size='default' 是向后兼容同义词,新代码建议用 'medium' 避免歧义",
|
|
189
|
+
"wrong": "size='large' // Switch 没有 'large',只有 'small'/'medium'/'default'",
|
|
190
|
+
"right": "size='medium' // 标准尺寸;'default' 等价于 'medium' 仅保留向后兼容"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"issue": "labelTooltip 和 disabledTooltip 字段名不同:labelTooltip 用 tooltip 字段,disabledTooltip 用 title 字段",
|
|
194
|
+
"wrong": "disabledTooltip={{ tooltip: '无权限' }} // disabledTooltip 字段是 title 不是 tooltip",
|
|
195
|
+
"right": "disabledTooltip={{ title: '无权限' }} // TooltipProps 格式;labelTooltip={{ tooltip: '帮助' }}"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"issue": "onChange 第一参类型是 boolean,直接传给期望 string 或 number 的 state setter 报 TS 错",
|
|
199
|
+
"wrong": "onChange={setStatus} // setStatus: (v: string) => void,boolean 不兼容 string",
|
|
200
|
+
"right": "onChange={(checked) => setStatus(checked ? 'on' : 'off')} // 显式转换"
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
"mapping": {
|
|
204
|
+
"realComponent": "Switch",
|
|
205
|
+
"adapter": null
|
|
206
|
+
}
|
|
207
|
+
}
|
package/es/Switch/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.paraui-v4-switch{position:relative;display:inline-block;width:32px;height:16px;vertical-align:middle;background-color:transparent;border:0;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.paraui-v4-switch .component-switch{border:none;cursor:pointer}.paraui-v4-switch:before{position:absolute;top:0;left:0;width:100%;height:16px;border-radius:8px;background-color:#a1a8b3;content:"";transition:all .2s}a .paraui-v4-switch:focus{outline:0;box-shadow:none}.paraui-v4-switch.component-switch-checked:focus{box-shadow:none}.paraui-v4-switch:focus:hover{box-shadow:none}.paraui-v4-switch.component-switch-checked:before{background-color:#2e65e6}.paraui-v4-switch-loading *,.paraui-v4-switch.component-switch-disabled *{box-shadow:none}.paraui-v4-switch-loading .component-switch-inner:before,.paraui-v4-switch.component-switch-disabled .component-switch-inner:before{position:absolute;top:0;left:0;width:100%;height:16px;background-color:#ffffff80;content:"";z-index:100}.paraui-v4-switch .component-switch-inner{display:block;margin:0 7px 0 25px;font-size:14px;transition:margin .2s}.paraui-v4-switch.component-switch-checked .component-switch-inner{margin:0 25px 0 7px}.paraui-v4-switch .component-switch-handle{position:absolute;top:2px;left:2px;width:12px;height:12px;transition:all .2s ease-in-out}.paraui-v4-switch .component-switch-handle:before{position:absolute;inset:0;background-color:#fff;border-radius:9px;box-shadow:none;transition:all .2s ease-in-out;content:""}.paraui-v4-switch.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}.paraui-v4-switch.component-switch-checked .component-switch-handle:before{background-color:#fff}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active .component-switch-handle:before{right:-30%;left:0}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active.component-switch-checked .component-switch-handle:before{right:0;left:-30%}.paraui-v4-switch .component-switch-loading-icon{position:relative;top:1px;color:#2e65e6;font-size:10px;vertical-align:top;animation:switchLoadingCircle 1s infinite linear}.paraui-v4-switch.component-switch-checked .component-switch-loading-icon{color:#2e65e6}.paraui-v4-switch-small{min-width:28px;height:14px;line-height:14px}.paraui-v4-switch-small .component-switch-inner{margin:0 5px 0 18px;font-size:14px}.paraui-v4-switch-small .component-switch-handle{width:12px;height:12px;top:3px;left:2px}.paraui-v4-switch-small .component-switch-loading-icon{top:1.5px;font-size:9px}.paraui-v4-switch-small.component-switch-checked .component-switch-inner{margin:0 18px 0 5px}.paraui-v4-switch-small.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}@keyframes switchLoadingCircle{to{transform:rotate(360deg)}}.paraui-v4-switch-disabled:before{background-color:#a1a8b3}.paraui-v4-switch-disabled.component-switch-checked:before{background-color:#97b2f2}.component-label-box{display:flex;align-items:center}.component-label-box .sup-text{color:#5c6573;font-size:14px;margin-left:10px;line-height:16px}.component-label-box .sup-text>a{text-decoration:none;cursor:pointer;color:#2e65e6}.component-label-box .sup-text>a:hover{color:#5783eb}.paraui-v4-switch-label{display:inline-flex;align-items:flex-end}.paraui-v4-switch-label .component-disabled-text{color:#5c6573}.paraui-v4-switch-label .component-desc-text{margin-bottom:0;margin-right:10px;line-height:16px;color:#1d2126}.paraui-v4-switch-label .component-desc-text .paraui-v4-help{line-height:1}.paraui-v4-switch-label .component-desc-text .paraui-v4-help svg{top:0}.paraui-v4-switch-label .paraui-v4-label-text-container{display:flex;flex-direction:column}.paraui-v4-switch-desc-end{flex-direction:row-reverse}.paraui-v4-switch-desc-end .component-desc-text{margin-right:0}.component-switch-disabled>div:nth-child(1):before{transition:all 2s ease-in-out}
|
|
1
|
+
@charset "UTF-8";.paraui-v4-switch{position:relative;display:inline-block;width:32px;height:16px;vertical-align:middle;background-color:transparent;border:0;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.paraui-v4-switch .component-switch{border:none;cursor:pointer}.paraui-v4-switch:before{position:absolute;top:0;left:0;width:100%;height:16px;border-radius:8px;background-color:#a1a8b3;content:"";transition:all .2s}a .paraui-v4-switch:focus{outline:0;box-shadow:none}.paraui-v4-switch.component-switch-checked:focus{box-shadow:none}.paraui-v4-switch:focus:hover{box-shadow:none}.paraui-v4-switch.component-switch-checked:before{background-color:#2e65e6}.paraui-v4-switch-loading *,.paraui-v4-switch.component-switch-disabled *{box-shadow:none}.paraui-v4-switch-loading .component-switch-inner:before,.paraui-v4-switch.component-switch-disabled .component-switch-inner:before{position:absolute;top:0;left:0;width:100%;height:16px;background-color:#ffffff80;content:"";z-index:100}.paraui-v4-switch .component-switch-inner{display:block;margin:0 7px 0 25px;font-size:14px;transition:margin .2s}.paraui-v4-switch.component-switch-checked .component-switch-inner{margin:0 25px 0 7px}.paraui-v4-switch .component-switch-handle{position:absolute;top:2px;left:2px;width:12px;height:12px;transition:all .2s ease-in-out}.paraui-v4-switch .component-switch-handle:before{position:absolute;inset:0;background-color:#fff;border-radius:9px;box-shadow:none;transition:all .2s ease-in-out;content:""}.paraui-v4-switch.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}.paraui-v4-switch.component-switch-checked .component-switch-handle:before{background-color:#fff}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active .component-switch-handle:before{right:-30%;left:0}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active.component-switch-checked .component-switch-handle:before{right:0;left:-30%}.paraui-v4-switch .component-switch-loading-icon{position:relative;top:1px;color:#2e65e6;font-size:10px;vertical-align:top;animation:switchLoadingCircle 1s infinite linear}.paraui-v4-switch.component-switch-checked .component-switch-loading-icon{color:#2e65e6}.paraui-v4-switch-medium{min-width:32px;height:16px;line-height:16px}.paraui-v4-switch-small{min-width:28px;height:14px;line-height:14px}.paraui-v4-switch-small .component-switch-inner{margin:0 5px 0 18px;font-size:14px}.paraui-v4-switch-small .component-switch-handle{width:12px;height:12px;top:3px;left:2px}.paraui-v4-switch-small .component-switch-loading-icon{top:1.5px;font-size:9px}.paraui-v4-switch-small.component-switch-checked .component-switch-inner{margin:0 18px 0 5px}.paraui-v4-switch-small.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}@keyframes switchLoadingCircle{to{transform:rotate(360deg)}}.paraui-v4-switch-disabled:before{background-color:#a1a8b3}.paraui-v4-switch-disabled.component-switch-checked:before{background-color:#97b2f2}.component-label-box{display:flex;align-items:center}.component-label-box .sup-text{color:#5c6573;font-size:14px;margin-left:10px;line-height:16px}.component-label-box .sup-text>a{text-decoration:none;cursor:pointer;color:#2e65e6}.component-label-box .sup-text>a:hover{color:#5783eb}.paraui-v4-switch-label{display:inline-flex;align-items:flex-end}.paraui-v4-switch-label .component-disabled-text{color:#5c6573}.paraui-v4-switch-label .component-desc-text{margin-bottom:0;margin-right:10px;line-height:16px;color:#1d2126}.paraui-v4-switch-label .component-desc-text .paraui-v4-help{line-height:1}.paraui-v4-switch-label .component-desc-text .paraui-v4-help svg{top:0}.paraui-v4-switch-label .paraui-v4-label-text-container{display:flex;flex-direction:column}.paraui-v4-switch-desc-end{flex-direction:row-reverse}.paraui-v4-switch-desc-end .component-desc-text{margin-right:0}.component-switch-disabled>div:nth-child(1):before{transition:all 2s ease-in-out}
|
package/es/Switch/index.d.ts
CHANGED
|
@@ -5,9 +5,10 @@ type SwitchChangeEventHandler = (checked: boolean, event: React.MouseEvent | Rea
|
|
|
5
5
|
type SwitchClickEventHandler = SwitchChangeEventHandler;
|
|
6
6
|
export interface SwitchProps {
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* 开关大小('medium' 与 'default' 视觉等价;'default' 为向后兼容同义,新代码建议用 'medium')
|
|
9
|
+
* 跨组件命名 epic §3.1 选项 B 实施(2026-05-08)
|
|
9
10
|
*/
|
|
10
|
-
size?: 'small' | 'default';
|
|
11
|
+
size?: 'small' | 'medium' | 'default';
|
|
11
12
|
/**
|
|
12
13
|
* 类名
|
|
13
14
|
*/
|