@para-ui/core 5.0.0-beta.8 → 5.0.0
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/ExpressionInput/component.json +79 -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/README.md +0 -5
- 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/batchEdit/index.js +1 -1
- 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 +25 -25
- 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.d.ts +2 -2
- package/es/DynamicMultiBox/index.js +1 -1
- package/es/DynamicMultiBox/interface.d.ts +76 -76
- 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/ExpressionInput/HighlightOverlay.d.ts +8 -0
- package/es/ExpressionInput/HighlightOverlay.js +27 -0
- package/es/ExpressionInput/Popup.d.ts +19 -0
- package/es/ExpressionInput/Popup.js +93 -0
- package/es/ExpressionInput/component.json +79 -0
- package/es/ExpressionInput/detectChainAtCursor.d.ts +17 -0
- package/es/ExpressionInput/detectChainAtCursor.js +31 -0
- package/es/ExpressionInput/filterCandidatesByPartial.d.ts +2 -0
- package/es/ExpressionInput/filterCandidatesByPartial.js +15 -0
- package/es/ExpressionInput/highlightSegments.d.ts +9 -0
- package/es/ExpressionInput/highlightSegments.js +14 -0
- package/es/ExpressionInput/index.css +1 -0
- package/es/ExpressionInput/index.d.ts +5 -0
- package/es/ExpressionInput/index.js +178 -0
- package/es/ExpressionInput/interface.d.ts +52 -0
- package/es/ExpressionInput/isExpressionValue.d.ts +5 -0
- package/es/ExpressionInput/isExpressionValue.js +18 -0
- package/es/ExpressionInput/lang/en_US.d.ts +4 -0
- package/es/ExpressionInput/lang/en_US.js +7 -0
- package/es/ExpressionInput/lang/index.d.ts +9 -0
- package/es/ExpressionInput/lang/index.js +10 -0
- package/es/ExpressionInput/lang/zh_CN.d.ts +4 -0
- package/es/ExpressionInput/lang/zh_CN.js +7 -0
- package/es/ExpressionInput/style/css.js +1 -0
- package/es/ExpressionInput/style/index.css +1 -0
- package/es/ExpressionInput/style/index.js +1 -0
- package/es/ExpressionInput/useExpressionInput.d.ts +26 -0
- package/es/ExpressionInput/useExpressionInput.js +59 -0
- 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/InputCode/index.js +1 -1
- package/es/InputLang/component.json +205 -0
- package/es/InputLang/index.js +2 -2
- package/es/InputNumber/component.json +162 -0
- package/es/InputNumber/index.d.ts +13 -7
- package/es/InputNumber/index.js +152 -144
- 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 +19 -19
- 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.d.ts +15 -7
- package/es/RangeInput/index.js +120 -103
- 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.d.ts +11 -8
- package/es/Select/index.js +441 -438
- package/es/SelectInput/component.json +184 -0
- package/es/SelectInput/index.d.ts +4 -4
- package/es/SelectInput/index.js +8 -8
- 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 -6
- package/es/_virtual/index.js +5 -3
- package/es/_virtual/index2.js +2 -5
- package/es/index.d.ts +4 -0
- package/es/index.js +152 -150
- package/es/locale/en-US.d.ts +3 -0
- package/es/locale/en-US.js +3 -0
- 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 +3 -0
- package/es/locale/zh-CN.js +3 -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.d.ts +2 -2
- package/lib/DynamicMultiBox/index.js +1 -1
- package/lib/DynamicMultiBox/interface.d.ts +76 -76
- 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/ExpressionInput/HighlightOverlay.d.ts +8 -0
- package/lib/ExpressionInput/HighlightOverlay.js +2 -0
- package/lib/ExpressionInput/Popup.d.ts +19 -0
- package/lib/ExpressionInput/Popup.js +2 -0
- package/lib/ExpressionInput/component.json +79 -0
- package/lib/ExpressionInput/detectChainAtCursor.d.ts +17 -0
- package/lib/ExpressionInput/detectChainAtCursor.js +2 -0
- package/lib/ExpressionInput/filterCandidatesByPartial.d.ts +2 -0
- package/lib/ExpressionInput/filterCandidatesByPartial.js +2 -0
- package/lib/ExpressionInput/highlightSegments.d.ts +9 -0
- package/lib/ExpressionInput/highlightSegments.js +2 -0
- package/lib/ExpressionInput/index.css +1 -0
- package/lib/ExpressionInput/index.d.ts +5 -0
- package/lib/ExpressionInput/index.js +2 -0
- package/lib/ExpressionInput/interface.d.ts +52 -0
- package/lib/ExpressionInput/isExpressionValue.d.ts +5 -0
- package/lib/ExpressionInput/isExpressionValue.js +2 -0
- package/lib/ExpressionInput/lang/en_US.d.ts +4 -0
- package/lib/ExpressionInput/lang/en_US.js +2 -0
- package/lib/ExpressionInput/lang/index.d.ts +9 -0
- package/lib/ExpressionInput/lang/index.js +2 -0
- package/lib/ExpressionInput/lang/zh_CN.d.ts +4 -0
- package/lib/ExpressionInput/lang/zh_CN.js +2 -0
- package/lib/ExpressionInput/style/css.js +1 -0
- package/lib/ExpressionInput/style/index.css +1 -0
- package/lib/ExpressionInput/style/index.js +1 -0
- package/lib/ExpressionInput/useExpressionInput.d.ts +26 -0
- package/lib/ExpressionInput/useExpressionInput.js +2 -0
- 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/InputNumber/index.d.ts +13 -7
- package/lib/InputNumber/index.js +1 -1
- 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.d.ts +15 -7
- 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.d.ts +11 -8
- package/lib/Select/index.js +1 -1
- package/lib/SelectInput/component.json +184 -0
- package/lib/SelectInput/index.d.ts +4 -4
- package/lib/SelectInput/index.js +1 -1
- 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 -6
- package/lib/_virtual/index.js +1 -1
- package/lib/_virtual/index2.js +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.js +1 -1
- package/lib/locale/en-US.d.ts +3 -0
- package/lib/locale/en-US.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 +3 -0
- package/lib/locale/zh-CN.js +1 -1
- 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 +24 -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/{InputCode → CodeEditor}/index.css +0 -0
- /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,166 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Collapse",
|
|
3
|
+
"category": "Data Display",
|
|
4
|
+
"description": "折叠面板,可以折叠/展开的内容区域",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"收纳内容",
|
|
8
|
+
"分块展示",
|
|
9
|
+
"节省空间"
|
|
10
|
+
],
|
|
11
|
+
"useCases": [
|
|
12
|
+
"常见问题 (FAQ)",
|
|
13
|
+
"复杂表单分组",
|
|
14
|
+
"信息详情"
|
|
15
|
+
],
|
|
16
|
+
"riskLevel": "low"
|
|
17
|
+
},
|
|
18
|
+
"variants": {
|
|
19
|
+
"default": {
|
|
20
|
+
"meaning": "标准折叠面板"
|
|
21
|
+
},
|
|
22
|
+
"ghost": {
|
|
23
|
+
"meaning": "无边框模式"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"states": [
|
|
27
|
+
"active",
|
|
28
|
+
"disabled"
|
|
29
|
+
],
|
|
30
|
+
"idealProps": {
|
|
31
|
+
"activeKey": {
|
|
32
|
+
"type": "string | number | Array<string | number>",
|
|
33
|
+
"description": "当前激活面板的 key。accordion=true 时传 string/number;accordion=false(默认)时传数组(多面板同时展开)"
|
|
34
|
+
},
|
|
35
|
+
"defaultActiveKey": {
|
|
36
|
+
"type": "string | number | Array<string | number>",
|
|
37
|
+
"description": "非受控模式初始展开面板 key。同 activeKey 类型规则"
|
|
38
|
+
},
|
|
39
|
+
"accordion": {
|
|
40
|
+
"type": "boolean",
|
|
41
|
+
"default": false,
|
|
42
|
+
"description": "手风琴模式:true 时同时只展开一个面板,点击已展开面板会收起所有面板,onChange 收到空字符串"
|
|
43
|
+
},
|
|
44
|
+
"onChange": {
|
|
45
|
+
"type": "(key: string | string[]) => void",
|
|
46
|
+
"description": "切换回调:accordion=true 时传 string(被展开 key 或空字符串表示全收起);accordion=false 时传 string[](当前展开 key 集合)"
|
|
47
|
+
},
|
|
48
|
+
"expandIconPosition": {
|
|
49
|
+
"type": "'left' | 'right'",
|
|
50
|
+
"values": ["left", "right"],
|
|
51
|
+
"default": "left",
|
|
52
|
+
"description": "切换图标位置"
|
|
53
|
+
},
|
|
54
|
+
"expandIcon": {
|
|
55
|
+
"type": "(panelProps: PanelProps) => ReactNode",
|
|
56
|
+
"description": "自定义切换图标"
|
|
57
|
+
},
|
|
58
|
+
"children": {
|
|
59
|
+
"type": "Collapse.Panel[]",
|
|
60
|
+
"description": "Collapse 用 <Collapse><Collapse.Panel header key>content</Collapse.Panel></Collapse> 复合子组件风格(非 items 数组)。const { Panel } = Collapse 后写 Panel"
|
|
61
|
+
},
|
|
62
|
+
"collapsible": {
|
|
63
|
+
"type": "'header' | 'disabled'",
|
|
64
|
+
"description": "所有子面板的折叠触发方式(src/Collapse/index.tsx:30 interface 实证):'header' 点击 header 区域触发;'disabled' 禁用所有面板折叠(单个 Panel 可通过 Panel.collapsible 覆盖)"
|
|
65
|
+
},
|
|
66
|
+
"destroyInactivePanel": {
|
|
67
|
+
"type": "boolean",
|
|
68
|
+
"default": false,
|
|
69
|
+
"description": "销毁折叠隐藏的面板 DOM(src/Collapse/index.tsx:32 interface 实证)。true 时折叠的面板内容从 DOM 移除(节省内存);false 时保留 DOM(切换速度更快)。与 Panel.forceRender 互斥:forceRender=true 强制渲染优先级高于 destroyInactivePanel"
|
|
70
|
+
},
|
|
71
|
+
"className": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "自定义类名(src/Collapse/index.tsx:20,68,101 实证,追加到根容器 className)"
|
|
74
|
+
},
|
|
75
|
+
"style": {
|
|
76
|
+
"type": "React.CSSProperties",
|
|
77
|
+
"description": "自定义样式(src/Collapse/index.tsx:22 interface 声明,透传到根容器)"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"subComponents": {
|
|
81
|
+
"Panel": {
|
|
82
|
+
"import": "const { Panel } = Collapse",
|
|
83
|
+
"props": {
|
|
84
|
+
"key": {
|
|
85
|
+
"type": "string | number",
|
|
86
|
+
"required": true,
|
|
87
|
+
"description": "对应 activeKey 的标识"
|
|
88
|
+
},
|
|
89
|
+
"header": {
|
|
90
|
+
"type": "ReactNode",
|
|
91
|
+
"required": true,
|
|
92
|
+
"description": "面板头文本/节点(不是 label 字段)"
|
|
93
|
+
},
|
|
94
|
+
"children": {
|
|
95
|
+
"type": "ReactNode",
|
|
96
|
+
"description": "展开后显示的内容(不是 content 字段)"
|
|
97
|
+
},
|
|
98
|
+
"collapsible": {
|
|
99
|
+
"type": "'header' | 'disabled'",
|
|
100
|
+
"description": "该面板的折叠触发方式(src/Collapse/index.tsx:31,60 实证):'disabled' 时该面板不可展开/收起。**推荐用此 prop 替代已 deprecated 的 `disabled` prop**(src 内部将 disabled=true 自动转换为 collapsible='disabled',见 src/Collapse/index.tsx:76-81)"
|
|
101
|
+
},
|
|
102
|
+
"disabled": {
|
|
103
|
+
"type": "boolean",
|
|
104
|
+
"description": "⚠️ **@deprecated — 改用 `collapsible='disabled'`(src/Collapse/index.tsx:55 注释实证:`@deprecated Use collapsible=\"disabled\" instead`)**。仍可用,src 内部自动转换为 collapsible='disabled'"
|
|
105
|
+
},
|
|
106
|
+
"extra": {
|
|
107
|
+
"type": "ReactNode",
|
|
108
|
+
"description": "面板头右上角自定义内容"
|
|
109
|
+
},
|
|
110
|
+
"forceRender": {
|
|
111
|
+
"type": "boolean",
|
|
112
|
+
"default": false,
|
|
113
|
+
"description": "true 时被折叠面板的内容也始终渲染(用于隐藏内容需保活)"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"do": [
|
|
119
|
+
"整理复杂或次要信息——主要场景用 FAQ / 表单分组 / 详情展开",
|
|
120
|
+
"Panel 的 key 建议用稳定的字符串 ID,避免用数组下标(下标变化会导致状态错乱)",
|
|
121
|
+
"需要禁用单个面板:用 Panel.collapsible='disabled' 而非 Panel.disabled(disabled 已标记 @deprecated)",
|
|
122
|
+
"手风琴模式(accordion=true):onChange 的参数是 string(展开项 key 或空字符串),非数组"
|
|
123
|
+
],
|
|
124
|
+
"dont": [
|
|
125
|
+
"Collapse 嵌套过深(2层以上会产生严重的视觉噪音,改用 Table 展开行或 Drawer)",
|
|
126
|
+
"核心关键信息隐藏在折叠内容中(除非空间极度受限)",
|
|
127
|
+
"混淆 accordion 模式下 onChange 返回类型——accordion=true 时是 string,accordion=false 时是 string[]"
|
|
128
|
+
],
|
|
129
|
+
"events": {
|
|
130
|
+
"onChange": {
|
|
131
|
+
"signature": "(key: string | string[]) => void",
|
|
132
|
+
"asyncSupported": false,
|
|
133
|
+
"examples": [
|
|
134
|
+
"受控模式:const [activeKey, setActiveKey] = useState<string[]>([]); <Collapse activeKey={activeKey} onChange={(k) => setActiveKey(k as string[])} />",
|
|
135
|
+
"手风琴模式:onChange 收到 string(被展开项的 key),全部收起时收到空字符串 ''",
|
|
136
|
+
"非手风琴模式:onChange 收到 string[](当前所有展开面板的 key 集合)"
|
|
137
|
+
],
|
|
138
|
+
"commonMistakes": [
|
|
139
|
+
"accordion=true 时把 onChange 的参数当 string[] 处理——手风琴模式下是 string,不是数组",
|
|
140
|
+
"非受控模式下(只传 defaultActiveKey)同时监听 onChange 期望能控制展开状态——defaultActiveKey 是非受控初始值,内部维护状态,受控需改传 activeKey",
|
|
141
|
+
"期望 onChange 在初始化时触发一次——只有用户操作时触发,挂载不触发"
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"typescriptPitfalls": [
|
|
146
|
+
{
|
|
147
|
+
"issue": "accordion 模式下 onChange 参数类型是 string 不是 string[],混用会运行时报错",
|
|
148
|
+
"wrong": "// accordion=true 时:\nonChange={(keys) => setActiveKey(keys)} // keys 实际是 string,.join 等数组方法会报错",
|
|
149
|
+
"right": "// accordion 模式:\n<Collapse accordion onChange={(key) => setActiveKey(key as string)} />"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"issue": "Panel.disabled 已 @deprecated,严格 TS 配置下会产生警告,改用 collapsible='disabled'",
|
|
153
|
+
"wrong": "<Collapse.Panel key='1' header='标题' disabled>内容</Collapse.Panel>",
|
|
154
|
+
"right": "<Collapse.Panel key='1' header='标题' collapsible='disabled'>内容</Collapse.Panel>"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"issue": "activeKey 类型需要与 accordion 模式匹配,混用 string/string[] 会导致类型错误",
|
|
158
|
+
"wrong": "// accordion=true 时传数组:\n<Collapse accordion activeKey={['panel-1']} /> // TS 警告且行为不符合预期",
|
|
159
|
+
"right": "// accordion 时传 string,非 accordion 时传 string[]:\n<Collapse accordion activeKey={activeKeyStr} onChange={(k) => setActiveKeyStr(k as string)} />"
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
"mapping": {
|
|
163
|
+
"realComponent": "Collapse",
|
|
164
|
+
"adapter": null
|
|
165
|
+
}
|
|
166
|
+
}
|
package/lib/Collapse/index.d.ts
CHANGED
package/lib/Collapse/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const t=require("../_virtual/jsx-runtime.js"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const t=require("../_virtual/jsx-runtime.js"),h=require("rc-collapse"),j=require("./collapsePanel.js"),r=require("./util.js"),q=require("../node_modules/@para-ui/icons/Right/index.js"),v=require("./motion.js"),c=require("../GlobalContext/constant.js");;/* empty css */const a=l=>{const{className:i="",expandIconPosition:d="left"}=l,p=()=>{const{children:e}=l;return r.toArray(e).map((n,o)=>{const s=n;if(s.props?.disabled){const f=s.key||String(o),{disabled:C,collapsible:b}=s.props,g={...r.omit(s.props,["disabled"]),key:f,collapsible:b??(C?"disabled":void 0)};return r.cloneElement(s,g)}return s})},u=(e={})=>{const{expandIcon:n}=l,o=n?n(e):t.jsxRuntimeExports.jsx(q.Right,{className:"collapse-expand-svg"});return t.jsxRuntimeExports.jsx("div",{className:"collapse-svg-box",children:o})},x=()=>{let e=`${c.$prefixCls}-collapse`;return i&&(e+=` ${i}`),d&&(e+=` ${c.$prefixCls}-collapse-svg-${d}`),e},m={...v.default,motionAppear:!1,leavedClassName:"collapse-content-hidden"};return t.jsxRuntimeExports.jsx(h,{openMotion:m,...l,expandIcon:u,prefixCls:`${c.$rcPrefixCls}-collapse`,className:x(),children:p()})};a.Panel=j.CollapsePanelProps;exports.Collapse=a;exports.default=a;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "CollapseBox",
|
|
3
|
+
"category": "Layout",
|
|
4
|
+
"description": "折叠盒子,用于控制内容的展开/收起动画",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"动画容器",
|
|
8
|
+
"展开收起"
|
|
9
|
+
],
|
|
10
|
+
"useCases": [
|
|
11
|
+
"手风琴",
|
|
12
|
+
"下拉内容",
|
|
13
|
+
"详情展开"
|
|
14
|
+
],
|
|
15
|
+
"riskLevel": "low"
|
|
16
|
+
},
|
|
17
|
+
"variants": {
|
|
18
|
+
"default": {
|
|
19
|
+
"meaning": "默认样式"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"states": [
|
|
23
|
+
"expanded",
|
|
24
|
+
"collapsed"
|
|
25
|
+
],
|
|
26
|
+
"idealProps": {
|
|
27
|
+
"in": {
|
|
28
|
+
"type": "boolean",
|
|
29
|
+
"default": false,
|
|
30
|
+
"description": "【核心受控 prop】控制展开/收起状态;true=展开渲染 children,false=收起;父层需用 useState<boolean> 维护此状态(R21 §5.1 4 high 揭示此 prop 必须在 docs 显式列出)"
|
|
31
|
+
},
|
|
32
|
+
"children": {
|
|
33
|
+
"type": "React.ReactNode",
|
|
34
|
+
"description": "折叠区域内容;接受任意 ReactNode(多个并列元素亦可,内部已包 wrapper div 测高度)"
|
|
35
|
+
},
|
|
36
|
+
"collapsedHeight": {
|
|
37
|
+
"type": "string | number",
|
|
38
|
+
"default": "0px",
|
|
39
|
+
"description": "收起状态最小高度;默认 0px 等同完全隐藏;常用 '60px' 实现部分预览;与 unmountOnExit=true 同传时失效(子树被卸载)"
|
|
40
|
+
},
|
|
41
|
+
"unmountOnExit": {
|
|
42
|
+
"type": "boolean",
|
|
43
|
+
"default": false,
|
|
44
|
+
"description": "收起时是否卸载子节点(true=卸载,false=保留 DOM);与 collapsedHeight 互斥:true 时 collapsedHeight 无效"
|
|
45
|
+
},
|
|
46
|
+
"timeout": {
|
|
47
|
+
"type": "'auto' | number | { appear?: number; enter?: number; exit?: number }",
|
|
48
|
+
"default": "'auto'",
|
|
49
|
+
"description": "动画时长(ms);'auto' 按内容高度计算;number 时 enter/exit 共用;{enter, exit} 分别指定;不支持 'fast'/'slow' 字符串关键字"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"do": [
|
|
53
|
+
"用于需要平滑展开/收起动画的场景,通过 `in` prop 控制展开状态(父组件用 useState<boolean> 维护)",
|
|
54
|
+
"设置 collapsedHeight(如 '60px')实现内容预览折叠效果,同时保持收起时不完全消失",
|
|
55
|
+
"需要节省性能时设置 unmountOnExit=true,收起时卸载子树(但与 collapsedHeight 互斥——unmountOnExit=true 时 collapsedHeight 无效)"
|
|
56
|
+
],
|
|
57
|
+
"dont": [
|
|
58
|
+
"同时设置 unmountOnExit=true 和 collapsedHeight——两者互斥,unmountOnExit=true 时子树卸载,collapsedHeight 无效",
|
|
59
|
+
"频繁(>10次/秒)切换 in 状态——动画计时器不会被提前中断,快速切换会产生视觉抖动",
|
|
60
|
+
"在不需要动画的场景使用(直接用 CSS display:none 或 conditional render 性能更好)"
|
|
61
|
+
],
|
|
62
|
+
"events": {},
|
|
63
|
+
"typescriptPitfalls": [
|
|
64
|
+
{
|
|
65
|
+
"issue": "in prop 是关键字,需要用引号或通过变量传入;TypeScript 下直接写 in= 可能触发解析问题",
|
|
66
|
+
"wrong": "// 变量名与关键字冲突:\nconst in = true; // TS 语法错误,in 是保留关键字",
|
|
67
|
+
"right": "// 用非关键字变量名:\nconst isOpen = true; <CollapseBox in={isOpen}>"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"issue": "timeout 的对象形式类型是 { appear?: number; enter?: number; exit?: number },不支持字符串关键字",
|
|
71
|
+
"wrong": "<CollapseBox timeout='fast' /> // TS 报错:'fast' 不在联合类型中",
|
|
72
|
+
"right": "<CollapseBox timeout='auto' /> // 只有 'auto' 是字符串关键字;具体毫秒用 number"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"issue": "collapsedHeight 同时接受 string 和 number,number 类型会被转为带 px 后缀的字符串",
|
|
76
|
+
"wrong": "// 期望传百分比:\ncollapsedHeight={50} // 解析为 '50px' 而非 '50%'",
|
|
77
|
+
"right": "// 百分比需传字符串:\ncollapsedHeight='50%' // 或 collapsedHeight='60px'"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"mapping": {
|
|
81
|
+
"realComponent": "CollapseBox",
|
|
82
|
+
"adapter": null
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "CollapseLayout",
|
|
3
|
+
"category": "Layout",
|
|
4
|
+
"description": "折叠布局,支持分区域折叠的布局组件",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"分区布局",
|
|
8
|
+
"可伸缩面板"
|
|
9
|
+
],
|
|
10
|
+
"useCases": [
|
|
11
|
+
"侧边栏",
|
|
12
|
+
"详情面板",
|
|
13
|
+
"代码编辑器"
|
|
14
|
+
],
|
|
15
|
+
"riskLevel": "low"
|
|
16
|
+
},
|
|
17
|
+
"variants": {
|
|
18
|
+
"left": {
|
|
19
|
+
"meaning": "左侧折叠"
|
|
20
|
+
},
|
|
21
|
+
"right": {
|
|
22
|
+
"meaning": "右侧折叠"
|
|
23
|
+
},
|
|
24
|
+
"top": {
|
|
25
|
+
"meaning": "顶部折叠"
|
|
26
|
+
},
|
|
27
|
+
"bottom": {
|
|
28
|
+
"meaning": "底部折叠"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"states": [
|
|
32
|
+
"expanded",
|
|
33
|
+
"collapsed"
|
|
34
|
+
],
|
|
35
|
+
"idealProps": {
|
|
36
|
+
"type": {
|
|
37
|
+
"type": "enum",
|
|
38
|
+
"values": [
|
|
39
|
+
"left",
|
|
40
|
+
"right",
|
|
41
|
+
"top",
|
|
42
|
+
"bottom"
|
|
43
|
+
],
|
|
44
|
+
"default": "left",
|
|
45
|
+
"description": "可折叠侧(displayContent)的位置;left/top displayContent 在前,right/bottom 在后"
|
|
46
|
+
},
|
|
47
|
+
"open": {
|
|
48
|
+
"type": "boolean",
|
|
49
|
+
"default": false,
|
|
50
|
+
"description": "软受控展开状态;父改 open 强制同步,但用户点击不反向通知父端(双向同步需配合 onClickBtn)"
|
|
51
|
+
},
|
|
52
|
+
"zoomLength": {
|
|
53
|
+
"type": "number",
|
|
54
|
+
"default": 0,
|
|
55
|
+
"description": "可折叠侧最大尺寸(横向时宽,纵向时高,单位由 unit 决定);0=不显示可折叠侧"
|
|
56
|
+
},
|
|
57
|
+
"minDragLength": {
|
|
58
|
+
"type": "number",
|
|
59
|
+
"default": 100,
|
|
60
|
+
"description": "拖拽分隔条时的最小尺寸(单位固定 px,与 unit 无关)"
|
|
61
|
+
},
|
|
62
|
+
"unit": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"default": "px",
|
|
65
|
+
"description": "zoomLength / spacing 的尺寸单位(px/rem/%);不影响 minDragLength"
|
|
66
|
+
},
|
|
67
|
+
"spacing": {
|
|
68
|
+
"type": "number",
|
|
69
|
+
"default": 20,
|
|
70
|
+
"description": "defaultContent 与 displayContent 间距(单位同 unit)"
|
|
71
|
+
},
|
|
72
|
+
"defaultContent": {
|
|
73
|
+
"type": "ReactNode",
|
|
74
|
+
"description": "自适应侧内容(始终占据剩余空间)"
|
|
75
|
+
},
|
|
76
|
+
"displayContent": {
|
|
77
|
+
"type": "ReactNode",
|
|
78
|
+
"description": "可折叠侧内容(尺寸由 zoomLength / 拖拽决定)"
|
|
79
|
+
},
|
|
80
|
+
"showLabel": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"description": "收起态时按钮文字"
|
|
83
|
+
},
|
|
84
|
+
"hideLabel": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"description": "展开态时按钮文字"
|
|
87
|
+
},
|
|
88
|
+
"onClickBtn": {
|
|
89
|
+
"type": "function",
|
|
90
|
+
"signature": "(bol?: boolean, duration?: number) => void",
|
|
91
|
+
"description": "切换按钮回调;bol=新状态(true 展开),duration=动画 ms(内部根据可折叠侧尺寸计算)"
|
|
92
|
+
},
|
|
93
|
+
"onDragEnd": {
|
|
94
|
+
"type": "function",
|
|
95
|
+
"signature": "() => void",
|
|
96
|
+
"description": "用户拖拽分隔条结束回调(松开鼠标触发,不带新尺寸)"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"do": [
|
|
100
|
+
"用于需要可折叠侧边栏的场景(如代码编辑器左侧文件树)——传 type='left'、defaultContent=主内容、displayContent=侧栏内容、zoomLength=侧栏宽度",
|
|
101
|
+
"支持拖拽调整大小:用户拖动分隔条时组件内部更新 zoomLength;拖拽结束后通过 onDragEnd 回调通知父组件",
|
|
102
|
+
"配合 onClickBtn 监听折叠/展开按钮点击:onClickBtn(bol, duration) 的 bol=新展开状态,duration=动画毫秒数(按内容尺寸计算)"
|
|
103
|
+
],
|
|
104
|
+
"dont": [
|
|
105
|
+
"嵌套多层 CollapseLayout(嵌套会导致 zoomLength/spacing 计算混乱)",
|
|
106
|
+
"把 open prop 当做完全受控——open 是软受控(父改 open 会同步),但用户点击按钮后不会反向通知父端;双向同步需配合 onClickBtn 回调"
|
|
107
|
+
],
|
|
108
|
+
"events": {
|
|
109
|
+
"onClickBtn": {
|
|
110
|
+
"signature": "(bol?: boolean, duration?: number) => void",
|
|
111
|
+
"asyncSupported": false,
|
|
112
|
+
"examples": [
|
|
113
|
+
"监听展开/收起切换:onClickBtn={(isOpen, animMs) => { setOpen(isOpen); console.log('动画时长', animMs, 'ms'); }}",
|
|
114
|
+
"bol=true 表示点击后变为展开状态,bol=false 表示变为收起状态",
|
|
115
|
+
"duration 由组件内部根据可折叠侧当前尺寸计算(高度/宽度越大动画越长)"
|
|
116
|
+
],
|
|
117
|
+
"commonMistakes": [
|
|
118
|
+
"期望 open prop 变化时触发 onClickBtn——只有用户点击按钮才触发,外部修改 open 不触发",
|
|
119
|
+
"假设 onClickBtn 不传时用户点击无效——不传 onClickBtn 时用户点击仍然工作,只是父端感知不到状态变化"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"onDragEnd": {
|
|
123
|
+
"signature": "() => void",
|
|
124
|
+
"asyncSupported": false,
|
|
125
|
+
"examples": [
|
|
126
|
+
"拖拽结束后保存新尺寸:onDragEnd={() => saveLayout(constData.current.zoomLength)}",
|
|
127
|
+
"注意:onDragEnd 不携带新的 zoomLength 值,需在外部另行记录"
|
|
128
|
+
],
|
|
129
|
+
"commonMistakes": [
|
|
130
|
+
"期望 onDragEnd 回调携带新的尺寸值——实际是无参回调,新尺寸由组件内部 constData.current.zoomLength 维护,外部感知需另起方案"
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"typescriptPitfalls": [
|
|
135
|
+
{
|
|
136
|
+
"issue": "zoomLength 和 spacing 的单位由 unit prop 决定,minDragLength 单位固定为 px",
|
|
137
|
+
"wrong": "// 错误:以为 minDragLength 受 unit='rem' 影响\nzoomLength={20} unit='rem' minDragLength={5} // minDragLength=5 依然是 px,不是 rem",
|
|
138
|
+
"right": "// minDragLength 始终 px,zoomLength/spacing 受 unit 影响:\nzoomLength={20} unit='rem' minDragLength={100} // 最小拖拽 100px"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"issue": "open prop 是软受控,不传时组件内部自维护展开状态",
|
|
142
|
+
"wrong": "// 仅传 open 不传 onClickBtn,以为可以完全受控\n<CollapseLayout open={externalOpen} /> // 用户点击后内部状态更新但外部 externalOpen 不变,下次 open 变化时会强制同步覆盖",
|
|
143
|
+
"right": "// 双向同步需配合 onClickBtn:\n<CollapseLayout open={isOpen} onClickBtn={(bol) => setIsOpen(!!bol)} />"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"issue": "defaultContent 和 displayContent 是 ReactNode 类型,不是 children",
|
|
147
|
+
"wrong": "<CollapseLayout><MySidebar /></CollapseLayout> // children 不渲染",
|
|
148
|
+
"right": "<CollapseLayout defaultContent={<MainContent />} displayContent={<Sidebar />} />"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"mapping": {
|
|
152
|
+
"realComponent": "CollapseLayout",
|
|
153
|
+
"adapter": null
|
|
154
|
+
}
|
|
155
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ColorPicker",
|
|
3
|
+
"category": "Data Entry",
|
|
4
|
+
"description": "颜色选择器,提供 SketchPicker/ChromePicker/SwatchesPicker/CompactPicker 四种变体,输出 hex/rgb/hsl 等多种格式",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"颜色选择",
|
|
8
|
+
"主题定制"
|
|
9
|
+
],
|
|
10
|
+
"useCases": [
|
|
11
|
+
"设计工具",
|
|
12
|
+
"个性化设置",
|
|
13
|
+
"图表配色"
|
|
14
|
+
],
|
|
15
|
+
"riskLevel": "low"
|
|
16
|
+
},
|
|
17
|
+
"variants": {
|
|
18
|
+
"SketchPicker": {
|
|
19
|
+
"meaning": "default export · 完整调色板 + 预设色板 + clear/onClear 自定义清除按钮"
|
|
20
|
+
},
|
|
21
|
+
"ChromePicker": {
|
|
22
|
+
"meaning": "具名 export · Chrome 浏览器风格 + hex/rgb/hsl 切换 · 无 clear"
|
|
23
|
+
},
|
|
24
|
+
"SwatchesPicker": {
|
|
25
|
+
"meaning": "具名 export · 色样网格 · 无调色板/无透明度"
|
|
26
|
+
},
|
|
27
|
+
"CompactPicker": {
|
|
28
|
+
"meaning": "具名 export · 紧凑色板 + hex 输入 · 无透明度"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"states": [
|
|
32
|
+
"default"
|
|
33
|
+
],
|
|
34
|
+
"idealProps": {
|
|
35
|
+
"color": {
|
|
36
|
+
"type": "string | HSLColor | RGBColor",
|
|
37
|
+
"description": "受控当前颜色;string 接受 hex(3/4/6/8 位)"
|
|
38
|
+
},
|
|
39
|
+
"onChange": {
|
|
40
|
+
"type": "function",
|
|
41
|
+
"signature": "(color: ColorResult, event?: ChangeEvent) => void",
|
|
42
|
+
"description": "实时颜色变化(每次拖动/输入都触发,高频);color 是 ColorResult { hex, rgb, hsl, hsv, source }"
|
|
43
|
+
},
|
|
44
|
+
"onChangeComplete": {
|
|
45
|
+
"type": "function",
|
|
46
|
+
"signature": "(color: ColorResult, event?: ChangeEvent) => void",
|
|
47
|
+
"description": "完成态回调(仅鼠标释放/失焦触发,低频);用于避免高频副作用"
|
|
48
|
+
},
|
|
49
|
+
"clear": {
|
|
50
|
+
"type": "boolean",
|
|
51
|
+
"default": false,
|
|
52
|
+
"description": "仅 SketchPicker 有效;开启右下角清除方块"
|
|
53
|
+
},
|
|
54
|
+
"onClear": {
|
|
55
|
+
"type": "function",
|
|
56
|
+
"signature": "() => void",
|
|
57
|
+
"description": "仅 SketchPicker;clear=true 时点击清除按钮触发,业务方需自行 setColor 重置"
|
|
58
|
+
},
|
|
59
|
+
"disableAlpha": {
|
|
60
|
+
"type": "boolean",
|
|
61
|
+
"default": false,
|
|
62
|
+
"description": "禁用透明度滑块(影响 ColorResult.rgb/hsl/hsv 是否含 a)"
|
|
63
|
+
},
|
|
64
|
+
"presetColors": {
|
|
65
|
+
"type": "string[]",
|
|
66
|
+
"description": "预设色板;传 [] 隐藏(SketchPicker/SwatchesPicker 有效)"
|
|
67
|
+
},
|
|
68
|
+
"width": {
|
|
69
|
+
"type": "string | number",
|
|
70
|
+
"description": "picker 整体宽度"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"do": [
|
|
74
|
+
"默认 export 为 SketchPicker(功能最完整);需要 Chrome 风格用 ChromePicker,紧凑色板用 CompactPicker,仅色样网格用 SwatchesPicker",
|
|
75
|
+
"高频更新场景(onChange 触发频繁)建议用 onChangeComplete 避免副作用(如 API 调用)被每次拖动触发",
|
|
76
|
+
"需要清除按钮:传 clear={true} + onClear 回调(仅 SketchPicker 支持);onClear 触发时自行 setColor 重置颜色值"
|
|
77
|
+
],
|
|
78
|
+
"dont": [
|
|
79
|
+
"在移动端使用 SketchPicker / ChromePicker——触摸精度有限,改用 SwatchesPicker(固定色板)",
|
|
80
|
+
"忽略颜色对比度验证——选色后需业务方自行检查 WCAG 对比度",
|
|
81
|
+
"把 onChange 的 color 参数当 string 直接用——实际是 ColorResult 对象,取 hex 值需用 color.hex"
|
|
82
|
+
],
|
|
83
|
+
"events": {
|
|
84
|
+
"onChange": {
|
|
85
|
+
"signature": "(color: ColorResult, event?: ChangeEvent) => void",
|
|
86
|
+
"asyncSupported": false,
|
|
87
|
+
"examples": [
|
|
88
|
+
"取 hex 值:<SketchPicker onChange={(color) => setHex(color.hex)} />",
|
|
89
|
+
"取 rgba:onChange={(color) => setRgba(`rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`)}",
|
|
90
|
+
"高频触发(每次拖动都触发),需要低频回调改用 onChangeComplete"
|
|
91
|
+
],
|
|
92
|
+
"commonMistakes": [
|
|
93
|
+
"把 color 参数当 string 用——color 是 ColorResult 对象,取 hex 值需 color.hex(含 # 前缀),取 rgb 需 color.rgb.r/g/b",
|
|
94
|
+
"直接把 onChange 当 onChangeComplete 用——onChange 在拖动过程中高频触发,onChangeComplete 仅在鼠标释放时触发",
|
|
95
|
+
"disableAlpha=true 时仍期望 color.rgb.a 有值——禁用透明度后 a 字段可能为 undefined"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"onChangeComplete": {
|
|
99
|
+
"signature": "(color: ColorResult, event?: ChangeEvent) => void",
|
|
100
|
+
"asyncSupported": false,
|
|
101
|
+
"examples": [
|
|
102
|
+
"低频保存:<SketchPicker onChangeComplete={(color) => saveColor(color.hex)} />",
|
|
103
|
+
"只在鼠标释放/输入失焦时触发,适合触发 API 调用或状态持久化"
|
|
104
|
+
],
|
|
105
|
+
"commonMistakes": [
|
|
106
|
+
"把 onChangeComplete 和 onChange 都传,在 onChange 里做副作用——重复触发,只需传一个"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"onClear": {
|
|
110
|
+
"signature": "() => void",
|
|
111
|
+
"asyncSupported": false,
|
|
112
|
+
"examples": [
|
|
113
|
+
"仅 SketchPicker 有效:<SketchPicker clear onClear={() => setColor(undefined)} />",
|
|
114
|
+
"onClear 触发时组件不自动清空 color prop,需业务方 setColor 重置"
|
|
115
|
+
],
|
|
116
|
+
"commonMistakes": [
|
|
117
|
+
"ChromePicker/CompactPicker/SwatchesPicker 传 clear/onClear 无效——这两个 prop 仅 SketchPicker 支持"
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"typescriptPitfalls": [
|
|
122
|
+
{
|
|
123
|
+
"issue": "onChange 的 color 参数是 ColorResult 对象,不是字符串,直接作为 string 使用会 TS 报错",
|
|
124
|
+
"wrong": "onChange={(color) => setHex(color)} // color 是 ColorResult 对象,不是 string",
|
|
125
|
+
"right": "onChange={(color) => setHex(color.hex)} // 取 hex 字符串"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"issue": "clear/onClear 仅 SketchPicker(默认 export)支持,传给其他变体无效且 TS 可能报类型错误",
|
|
129
|
+
"wrong": "import { ChromePicker } from '@para-ui/core'; <ChromePicker clear onClear={...} /> // ChromePicker 无这两个 prop",
|
|
130
|
+
"right": "import ColorPicker from '@para-ui/core'; // 默认 export 是 SketchPicker\n<ColorPicker clear onClear={() => setColor(undefined)} />"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"issue": "presetColors 传 [] 隐藏预设色板,而非传 null/undefined",
|
|
134
|
+
"wrong": "<ColorPicker presetColors={null} /> // TS 类型错误:null 不是 string[]",
|
|
135
|
+
"right": "<ColorPicker presetColors={[]} /> // 传空数组隐藏预设色板区域"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"mapping": {
|
|
139
|
+
"realComponent": "ColorPicker",
|
|
140
|
+
"adapter": null
|
|
141
|
+
}
|
|
142
|
+
}
|