@para-ui/core 5.0.0-beta.9 → 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/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.js +1 -1
- package/es/DynamicMultiBox/rowForm.d.ts +2 -2
- package/es/Empty/component.json +123 -0
- package/es/Empty/index.css +1 -1
- package/es/Empty/index.d.ts +2 -2
- package/es/Empty/index.js +27 -26
- package/es/Empty/style/index.css +1 -1
- package/es/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.js +1 -1
- package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
- package/lib/Empty/component.json +123 -0
- package/lib/Empty/index.css +1 -1
- package/lib/Empty/index.d.ts +2 -2
- package/lib/Empty/index.js +1 -1
- package/lib/Empty/style/index.css +1 -1
- package/lib/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
package/lib/Select/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export interface SelectOption extends SelectOptionBase {
|
|
|
10
10
|
children?: SelectOption[];
|
|
11
11
|
}
|
|
12
12
|
/** Select 共享 props —— 不含随 multiple 变化的 value/defaultValue/onChange/onEnter/multiple */
|
|
13
|
-
export interface SelectBaseProps<T extends SelectOptionValue = SelectOptionValue> extends HelperTextDetailProps {
|
|
13
|
+
export interface SelectBaseProps<T extends SelectOptionValue = SelectOptionValue, Item extends SelectOptionBase = SelectOptionBase> extends HelperTextDetailProps {
|
|
14
14
|
/** 样式class */
|
|
15
15
|
className?: string;
|
|
16
16
|
/** style */
|
|
@@ -44,13 +44,13 @@ export interface SelectBaseProps<T extends SelectOptionValue = SelectOptionValue
|
|
|
44
44
|
/** 是否必填 */
|
|
45
45
|
required?: boolean;
|
|
46
46
|
/** 下拉选项数组 */
|
|
47
|
-
list:
|
|
47
|
+
list: Item[];
|
|
48
48
|
/**
|
|
49
49
|
* 自定义渲染
|
|
50
50
|
* item: 当前想数据
|
|
51
51
|
* type: true 下拉选项 false 已选项 more: 更多选项
|
|
52
52
|
* */
|
|
53
|
-
renderContent?: (item:
|
|
53
|
+
renderContent?: (item: Item, type: boolean | 'more') => ReactNode;
|
|
54
54
|
/** 下拉选中是否有图标, 默认有 */
|
|
55
55
|
selectCheckIcon?: boolean;
|
|
56
56
|
/** 显示名字段 */
|
|
@@ -74,7 +74,7 @@ export interface SelectBaseProps<T extends SelectOptionValue = SelectOptionValue
|
|
|
74
74
|
/** 更多className */
|
|
75
75
|
morePopoverClassName?: string;
|
|
76
76
|
/** 返回输入建议的方法 */
|
|
77
|
-
fetchSuggestions?: (val: string, cb: (data:
|
|
77
|
+
fetchSuggestions?: (val: string, cb: (data: Item[]) => void) => void;
|
|
78
78
|
/** 搜索框输入框回车事件 */
|
|
79
79
|
onEnterInput?: (val: string) => void;
|
|
80
80
|
/** 点击清空内容回调 */
|
|
@@ -85,7 +85,7 @@ export interface SelectBaseProps<T extends SelectOptionValue = SelectOptionValue
|
|
|
85
85
|
blurChangeValueBol?: boolean;
|
|
86
86
|
}
|
|
87
87
|
/** 单选模式 */
|
|
88
|
-
export interface SelectSingleProps<T extends SelectOptionValue = SelectOptionValue> extends SelectBaseProps<T> {
|
|
88
|
+
export interface SelectSingleProps<T extends SelectOptionValue = SelectOptionValue, Item extends SelectOptionBase = SelectOptionBase> extends SelectBaseProps<T, Item> {
|
|
89
89
|
/** 是否多选(未传或 false 为单选) */
|
|
90
90
|
multiple?: false;
|
|
91
91
|
/** 默认值(单选) */
|
|
@@ -99,7 +99,7 @@ export interface SelectSingleProps<T extends SelectOptionValue = SelectOptionVal
|
|
|
99
99
|
onEnter?: (val: T) => void;
|
|
100
100
|
}
|
|
101
101
|
/** 多选模式 */
|
|
102
|
-
export interface SelectMultipleProps<T extends SelectOptionValue = SelectOptionValue> extends SelectBaseProps<T> {
|
|
102
|
+
export interface SelectMultipleProps<T extends SelectOptionValue = SelectOptionValue, Item extends SelectOptionBase = SelectOptionBase> extends SelectBaseProps<T, Item> {
|
|
103
103
|
/** 是否多选 */
|
|
104
104
|
multiple: true;
|
|
105
105
|
/** 默认值(多选) */
|
|
@@ -115,7 +115,10 @@ export interface SelectMultipleProps<T extends SelectOptionValue = SelectOptionV
|
|
|
115
115
|
* Select 的 props
|
|
116
116
|
* - `multiple` 未传或为 `false`:value / defaultValue 为 `T`,onChange/onEnter 入参为 `T`(清空时 `undefined`)
|
|
117
117
|
* - `multiple` 为 `true`:value / defaultValue 为 `T[]`,onChange/onEnter 入参为 `T[]`(清空时 `[]`)
|
|
118
|
+
* - 第二个泛型参数 `Item` 描述 `list` 行项的具体类型,默认 `SelectOptionBase`,
|
|
119
|
+
* 可传业务侧 DTO 接口(如 `{ label, value, id, time }`)以承载 `renderContent` /
|
|
120
|
+
* `fetchSuggestions` 的端到端类型推导。
|
|
118
121
|
*/
|
|
119
|
-
export type SelectProps<T extends SelectOptionValue = SelectOptionValue> = SelectSingleProps<T> | SelectMultipleProps<T>;
|
|
120
|
-
declare function Select<T extends SelectOptionValue = SelectOptionValue>(outerProps: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
122
|
+
export type SelectProps<T extends SelectOptionValue = SelectOptionValue, Item extends SelectOptionBase = SelectOptionBase> = SelectSingleProps<T, Item> | SelectMultipleProps<T, Item>;
|
|
123
|
+
declare function Select<T extends SelectOptionValue = SelectOptionValue, Item extends SelectOptionBase = SelectOptionBase>(outerProps: SelectProps<T, Item>): import("react/jsx-runtime").JSX.Element;
|
|
121
124
|
export default Select;
|
package/lib/Select/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const o=require("../_virtual/jsx-runtime.js"),c=require("react"),St=require("../Empty/index.js"),Rt=require("../Label/index.js"),wt=require("../Dropdown/index.js"),te=require("@paraview/lib"),$t=require("../GlobalContext/index.js"),Je=require("../node_modules/@para-ui/icons/Close/index.js"),bt=require("../node_modules/@para-ui/icons/CloseCircleF/index.js"),kt=require("../node_modules/@para-ui/icons/Down/index.js"),Nt=require("../node_modules/@para-ui/icons/Check/index.js"),Mt=require("../GlobalContext/useFormatMessage.js"),qt=require("./lang/index.js"),ae=require("../AutoTips/index.js"),Dt=require("../Loading/index.js"),Tt=require("../Popover/index.js"),Lt=require("../Search/index.js"),Ot=require("../Tooltip/index.js"),Pt=require("../HelperText/index.js"),It=require("../Hooks/useGlobalProps.js"),x=require("../GlobalContext/constant.js");;/* empty css */const Vt=(U,h,D)=>{const C=document.createElement("span");C.id="referenceSpan";const S={width:0,height:0};S.width=C.offsetWidth,S.height=C.offsetHeight,C.style.visibility="hidden",C.style.fontSize=U,C.style.fontFamily=h,C.style.display="inline-block";const V=document.getElementById("referenceSpan");return V&&document.body.removeChild(V),document.body.appendChild(C),typeof C.textContent<"u"?C.textContent=D:C.innerText=D,S.width=parseFloat(window.getComputedStyle(C).width)-S.width,S.height=parseFloat(window.getComputedStyle(C).height)-S.height,document.body.removeChild(C),S},We=(U,h)=>{const D=c.useRef(!1);c.useEffect(()=>{D.current?U():D.current=!0},h)};function Ft(U){const h=U,{className:D,style:C,showSelect:S=!0,allowClear:V=!1,emptyProps:se,size:F="large",labelMode:G="outside",labelTooltip:J,placeholder:oe="",searchPlaceholder:Ce,label:z="",input:T=!1,disabled:d=!1,disabledTooltip:ge,multiple:p=!1,required:_=!1,labelSign:L,error:Ee=!1,hideErrorDom:Qe,helperText:Xe="",list:ne,showName:$="label",showValue:b="value",childrenName:k="children",value:w,onChange:v,overLine:ye=!1,search:O=!1,searchModel:g="inside",selectPopoverClassName:Se,morePopoverClassName:Re,fetchSuggestions:we,searchInputProps:j,onEnter:H,onEnterInput:$e,onClear:ue,getPopupContainer:Ye,renderContent:R,selectCheckIcon:pe=!0,blurChangeValueBol:le=!1}=It.default(h,"Select"),me=(e=[])=>{const s=[];for(let t=0,l=e.length;t<l;t++){const n=e[t];if(typeof n=="object"&&n!==null)s.push(n);else{const a={[$]:n,[b]:n};s.push(a)}}return s},Ze=()=>{let e=[];return h.defaultValue!==void 0&&(p?e=te.DeepClone(h.defaultValue||[]):e=h.defaultValue===""?[]:[h.defaultValue]),w!==void 0&&(p?e=te.DeepClone(w||[]):e=w===""?[]:[w]),e},be=()=>{const e=me(ne),s={};for(let t=0,l=e.length;t<l;t++){const n=e[t];if(n[k]&&n[k].length>0){const a=n[k];for(let u=0,y=a.length;u<y;u++){const f=a[u],q=String(f[b]);s[q]=f}}else{const a=String(n[b]);s[a]=n}}return s},B=c.useRef(null),[ke]=c.useState(`${x.$prefixCls}-select-${te.UUID()}`),[W]=c.useState(`select-popover-${te.UUID()}`),[P,Q]=c.useState(!1),[X,de]=c.useState(!1),[r,N]=c.useState(Ze()),[K,et]=c.useState([]),[E,tt]=c.useState(be()),[M,fe]=c.useState(null),[xe,Ne]=c.useState(!1),[m,A]=c.useState(""),[I,Me]=c.useState(!1),[Y,re]=c.useState(!1),[he,st]=c.useState(!1),Z=c.useRef(null),[i]=c.useState({valueCom:[],listCom:[],searchModel:"inside",openMore:!1}),{language:qe,locale:De}=c.useContext($t.default),Te=Mt.default("Select",qt.default);i.valueCom=[...r],i.listCom=K,i.searchModel=g,i.openMore=xe,c.useEffect(()=>()=>{clearTimeout(i.searchTimer),clearTimeout(i.timer),clearTimeout(i.scrollTimer),clearTimeout(i.dropDownTimer)},[]),We(()=>{if(w===void 0){N([]);return}N(p?te.DeepClone(w||[]):w===""?[]:[w])},[w,p]),c.useEffect(()=>{ie()},[r,w]),c.useEffect(()=>{if(g==="outside"&&p)return Me(!0);Me(ye)},[ye,g,p,T]),We(()=>{tt(be())},[ne]),c.useEffect(()=>(!I&&p?window.addEventListener("resize",ie):window.removeEventListener("resize",ie),()=>{window.removeEventListener("resize",ie)}),[I,p]),c.useEffect(()=>{r&&r.length>0?de(!0):(de(!1),g==="outside"&&de(m!==""))},[O,m,g,r,T]),c.useEffect(()=>{if(P)if(re(!0),we)we(m,e=>{const s=me(e);Oe(s,!0),re(!1)});else{const e=me(ne);Oe(e),re(!1)}},[O,m,ne,P]),c.useEffect(()=>(P?(clearTimeout(i.openTimer),i.openTimer=setTimeout(()=>{Pe(),window.addEventListener("keydown",ve)})):(A(""),window.removeEventListener("keydown",ve)),()=>{clearTimeout(i.openTimer),window.removeEventListener("keydown",ve)}),[P]),c.useEffect(()=>{d!==!0&&p&&g==="outside"&&mt(m)},[m,p,d,g,T]);const Le=e=>{if(e===null||e===0)return;e===void 0&&(e=i.valueCom.length);const s=document.querySelector(`.${ke} > .select-content > .check-select-content`);if(s)if(s.scrollHeight>s.clientHeight){const t=Number(e)-1;fe(t),Le(t)}else i.valueCom.length<=e&&Fe()},ie=()=>{if(i.valueCom.length===0)return fe(null);clearTimeout(i.timer),i.timer=setTimeout(()=>{fe(i.valueCom.length),Le()},50)},Oe=(e,s)=>{const t=[],l=[...e];for(let n=0,a=l.length;n<a;n++){const u={...l[n]};if(u[k]&&u[k].length>0){const y=u[k],f=[];for(let q=0,ee=y.length;q<ee;q++){const je=y[q];(s||Ve(je))&&f.push(je)}f.length>0&&(u[k]=f,t.push(u))}else(s||Ve(u))&&t.push(u)}et(t),re(!1),st(t.length===0)},Pe=()=>{const e=Z&&Z.current;i.searchModel!=="inside"&&e&&e.focus({preventScroll:!0})},Ie=(e,s)=>{let t=e;const l=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector);if(!l)return null;for(;t&&!l.call(t,s);)t=t.parentElement;return t},Ve=e=>{let s=!0;if(m.trim()==="")return s;const t=e[$];return t&&(typeof t=="number"||typeof t=="string")?t.toString().toLowerCase().indexOf(m.trim().toLowerCase())===-1&&(s=!1):s=!1,s},ot=()=>{d!==!0&&Q(!0)},nt=()=>{Q(!1)},lt=e=>{Ne(!0),Q(!1),e.stopPropagation()},Fe=()=>{i.openMore&&Ne(!1)},ce=(e,s)=>t=>{const l=e[b];if(!(typeof d=="object"&&d.indexOf(l)!==-1))if(p){const n=i.valueCom.indexOf(l);n!==-1?i.valueCom.splice(n,1):i.valueCom.push(l),h.value===void 0&&N([...i.valueCom]),v&&v([...i.valueCom],t),s&&H&&H([...i.valueCom]),Pe()}else h.value===void 0&&N([l]),v&&v(l,t),s&&H&&H(l),nt(),A("")},ze=(e,s)=>t=>{e||(e={[b]:s,children:[]}),ce(e)(t),t.stopPropagation()},rt=()=>{let e=`${x.$prefixCls}-select`;return p&&!I&&(e+=` ${ke}`),D&&(e+=` ${D}`),F&&(e+=` ${x.$prefixCls}-select-${F}`),Ee&&(e+=` ${x.$prefixCls}-select-error`),d===!0&&(e+=` ${x.$prefixCls}-select-disabled`),P&&(e+=` ${x.$prefixCls}-select-open`),p&&(e+=` ${x.$prefixCls}-select-multiple`),I&&(e+=` ${x.$prefixCls}-select-over-line`),S&&(e+=` ${x.$prefixCls}-select-show-select`),r.length>0&&(e+=` ${x.$prefixCls}-select-value`),V&&(e+=` ${x.$prefixCls}-select-allow-clear`),e},it=()=>{let e=`${x.$prefixCls}-select-popover ${x.$prefixCls}-scrollbar-small`;return F&&(e+=` ${x.$prefixCls}-select-popover-${F}`),p?e+=` ${x.$prefixCls}-select-popover-multiple`:e+=` ${x.$prefixCls}-select-popover-radio`,Se&&(e+=` ${Se}`),S||(e+=` ${x.$prefixCls}-select-popover-hide`),e},ct=()=>{let e=`${x.$prefixCls}-select-more-popover ${x.$prefixCls}-scrollbar-small`;return F&&(e+=` ${x.$prefixCls}-select-more-popover-${F}`),Re&&(e+=` ${Re}`),e},at=e=>{A(e.target.value),j&&j.onChange&&j.onChange(e)},ut=(e,s)=>{A(e),s&&j?.onChange&&j.onChange(s)},_e=e=>{if(e.keyCode===13){$e&&$e(m);const s=document.querySelector(`.${W} .select-popover-list`);if(s){const t=s.querySelector(".select-popover-list-item-hover");if(s.querySelector(".select-popover-list-item-keydown")||t)return}if(h.input&&m.trim()!==""){if(p){const t=[...r,m];h.value===void 0&&N(t),v&&v(t,e)}else h.value===void 0&&N([m]),v&&v(m,e);A("")}}j&&j.onKeyDown&&j.onKeyDown(e)},pt=e=>{if(h.input&&le&&m.trim()!==""){if(p){const s=[...r,m];h.value===void 0&&N(s),v&&v(s,e)}else h.value===void 0&&N([m]),v&&v(m,e);A("")}i.inputOpen=!1,j&&j.onBlur?.(e)},mt=e=>{const s=Z&&Z.current;if(!s)return null;const t=window.getComputedStyle(s),l=t.fontFamily,n=t.fontSize;let u=Vt(n,l,e).width;u<10&&(u=10),s.style.width=`${u}px`},He=e=>{const{selectDom:s,keyCode:t,currentKeydownDom:l}=e;let n=null,a="nextElementSibling",u=".select-popover-list > div",y=".select-popover-list-item";if(t===38&&(a="previousElementSibling",u=".select-popover-list > div:last-child",y=".select-popover-list-item:last-child"),!l)n=s.querySelector(u);else if(n=l[a],n){if(n.className.indexOf("select-popover-list-group-label")!==-1){const f=l.parentElement;f&&(n=f[a],n||(n=s.querySelector(u)))}}else{const f=l.parentElement;f&&f.className&&f.className.indexOf("select-popover-list-group")!==-1?(n=f[a],n||(n=s.querySelector(u))):n=s.querySelector(u)}if(n)if(n.className.indexOf("select-popover-list-group")!==-1){const f=n.querySelector(y);f&&(f.classList.add("select-popover-list-item-keydown"),Be(f,s))}else n.classList.add("select-popover-list-item-keydown"),Be(n,s)},Be=(e,s)=>{clearTimeout(i.scrollTimer);const t=s.clientHeight,n=e.offsetTop+e.clientHeight-t;i.scroll=!0,n>0?s.scrollTop=n:s.scrollTop=0,i.scrollTimer=setTimeout(()=>{i.scroll=!1},100)},ve=e=>{const s=document.querySelector(`.${W} .select-popover-list`);if(!s)return;const t=s.querySelector(".select-popover-list-item-select"),l=s.querySelector(".select-popover-list-item-hover"),n=s.querySelector(".select-popover-list-item-keydown");let a=t;if(l&&(a=l),e.keyCode===13){const u=n||l;if(u){const y=u.dataset.val;ce(E[y],!0)({target:n})}else H&&w!==void 0&&H(w)}n&&(a=n,n.classList.remove("select-popover-list-item-keydown")),e.keyCode===40&&He({selectDom:s,keyCode:e.keyCode,currentKeydownDom:a}),e.keyCode===38&&He({selectDom:s,keyCode:e.keyCode,currentKeydownDom:a})},Ke=e=>{if(i.scroll)return;const s=Ie(e.target,".select-popover-list-item");if(!s)return;s.classList.add("select-popover-list-item-hover");const t=document.querySelector(`.${W}`);if(!t)return;const l=t.querySelector(".select-popover-list-item-keydown");l&&l.classList.remove("select-popover-list-item-keydown")},Ae=e=>{const s=Ie(e.target,".select-popover-list-item");s&&s.classList.remove("select-popover-list-item-hover")},dt=c.useMemo(()=>{const e=!!(z||_||L),s=()=>{let t="select-label";return J&&J.className&&(t+=` ${J.className}`),t};return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:G==="outside"&&e&&o.jsxRuntimeExports.jsx(Rt.default,{label:z,required:_,labelSign:L,...J,className:s()})})},[G,z,L,_,J]),ft=c.useMemo(()=>{const e=()=>G==="outside"?oe:o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[z||oe,_&&o.jsxRuntimeExports.jsx("span",{className:"select-required",children:"*"}),L&&o.jsxRuntimeExports.jsx("span",{children:L})]});return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:!X&&o.jsxRuntimeExports.jsx("span",{className:"select-label-placeholder",children:e()})})},[X,G,oe,z,L,_]),Ue=e=>{if(d===!0)return null;const s=`${e}-search-outside`;return g==="outside"?o.jsxRuntimeExports.jsx("input",{...j,onClick:t=>{i.inputOpen=!0,j&&j.onClick?.(t)},onBlur:pt,className:s,value:m,onChange:at,onKeyDown:_e,ref:Z}):null},xt=c.useMemo(()=>{const e=()=>{if(m!==""&&(g==="outside"||T))return null;const s=String(r[0]),t=E[s]&&E[s][$]||r[0],l=R&&R(E[s],!1);return I?l||t:o.jsxRuntimeExports.jsx(ae.default,{placement:"top-start",children:l||t})};return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:!p&&o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx("div",{className:"radio-select-content",children:e()}),Ue("radio")]})})},[p,X,I,E,r,$,O,g,m,d,T,j,R,le]),ht=c.useMemo(()=>{const e=s=>{const t=String(r[s]),l=E[t]&&E[t][$]||r[s];return R&&R(E[t],!1)||l};return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:p&&o.jsxRuntimeExports.jsxs("div",{className:"check-select-content",children:[r&&r.map((s,t)=>{if(M!==null&&M<=t)return null;let l=!0;(d===!0||typeof d=="object"&&d.indexOf(r[t])!==-1)&&(l=!1);let n="check-select-content-item check-select-content-item-select";return l||(n+=" check-select-content-item-noclose"),o.jsxRuntimeExports.jsxs("div",{className:n,children:[o.jsxRuntimeExports.jsx("span",{children:o.jsxRuntimeExports.jsx(ae.default,{placement:"top-start",children:e(t)})}),l&&o.jsxRuntimeExports.jsx(Je.Close,{onClick:ze(E[String(r[t])],r[t])})]},t)}),(()=>{if(M!==null&&r.length>M)return o.jsxRuntimeExports.jsx("div",{className:"check-select-content-item check-select-content-item-more",onClick:lt,children:o.jsxRuntimeExports.jsxs("span",{children:["+",r.length-M]})})})(),Ue("check")]})})},[p,X,r,M,E,d,v,m,O,g,T,j,R,le]),vt=e=>{e.stopPropagation();const s=[];let t;if(p&&(t=[],d instanceof Array))for(let l=0,n=r.length;l<n;l++){const a=r[l];d.indexOf(a)!==-1&&(t.push(a),s.push(a))}h.value===void 0&&N(s),v&&v(t,e),Q(!1),ue&&ue()},jt=()=>{if(r.length>0&&d!==!0&&V)return o.jsxRuntimeExports.jsx("span",{className:"clean-up-icon",onClick:vt,children:o.jsxRuntimeExports.jsx(bt.CloseCircleF,{})})},Ct=()=>{const e=s=>{const t=String(r[s]),l=E[t]&&E[t][$]||r[s];return R&&R(E[t],"more")||l};return o.jsxRuntimeExports.jsxs("div",{className:"select-more",children:[o.jsxRuntimeExports.jsx("div",{className:"select-more-title",children:o.jsxRuntimeExports.jsx("span",{children:Te({id:"more"})})}),o.jsxRuntimeExports.jsx("div",{className:"select-more-content",children:r&&r.map((s,t)=>{if(M!==null&&M>t)return null;let l=!0;return(d===!0||typeof d=="object"&&d.indexOf(r[t])!==-1)&&(l=!1),o.jsxRuntimeExports.jsxs("div",{className:"select-more-content-item",children:[o.jsxRuntimeExports.jsx("span",{children:o.jsxRuntimeExports.jsx(ae.default,{placement:"top-start",children:e(t)})}),l&&o.jsxRuntimeExports.jsx(Je.Close,{onClick:ze(E[String(r[t])],r[t])})]},t)})})]})},Ge=c.useMemo(()=>o.jsxRuntimeExports.jsx(Tt.Popover,{placement:"bottom-end",visible:xe,content:Ct(),onVisibleChange:Fe,overlayClassName:ct(),children:o.jsxRuntimeExports.jsxs("div",{className:"select-content",onClick:ot,ref:B,children:[ft,o.jsxRuntimeExports.jsxs("span",{className:"select-svg",children:[o.jsxRuntimeExports.jsx(kt.Down,{}),jt()]}),xt,ht]})}),[B,X,G,oe,z,L,_,I,E,r,$,p,M,d,v,m,g,T,S,j,V,ue,xe,R,le]),gt=c.useMemo(()=>{const e=()=>{let t="select-popover-list";return Y&&(t+=" select-popover-list-loading"),t},s=t=>{const l=t[$]||t[b],n=R&&R(t,!0);return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx("span",{className:"select-popover-list-item-label",children:o.jsxRuntimeExports.jsx(ae.default,{placement:"top-start",children:n||l})}),p&&pe&&o.jsxRuntimeExports.jsx("span",{className:"select-popover-list-item-svg",children:o.jsxRuntimeExports.jsx(Nt.Check,{})})]})};return o.jsxRuntimeExports.jsxs("div",{className:e(),style:{outline:"1px solid transparent"},children:[K&&K.length>0?o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:K.map((t,l)=>{if(t[k]&&t[k].length>0){const u=t[k];return o.jsxRuntimeExports.jsxs("div",{className:"select-popover-list-group",children:[o.jsxRuntimeExports.jsx("span",{className:"select-popover-list-group-label",children:t[$]||t[b]}),u.map((y,f)=>{const q=y[b];let ee="select-popover-list-item";return r.indexOf(q)!==-1&&(ee+=" select-popover-list-item-select"),typeof d=="object"&&d.indexOf(q)!==-1&&(ee+=" select-popover-list-item-disabled"),o.jsxRuntimeExports.jsx("div",{onClick:ce(y),className:ee,onMouseEnter:Ke,onMouseLeave:Ae,"data-val":q,children:s(y)},f)})]},l)}const n=t[b];let a="select-popover-list-item";return r.indexOf(n)!==-1&&(a+=" select-popover-list-item-select"),typeof d=="object"&&d.indexOf(n)!==-1&&(a+=" select-popover-list-item-disabled"),o.jsxRuntimeExports.jsx("div",{onClick:ce(t),className:a,onMouseEnter:Ke,onMouseLeave:Ae,"data-val":n,children:s(t)},l)})}):!Y&&he&&o.jsxRuntimeExports.jsx("div",{className:"select-nodata",children:o.jsxRuntimeExports.jsx(St.default,{...se,size:se?.size||"small"})}),Y&&o.jsxRuntimeExports.jsx(Dt.Loading,{})]})},[K,$,b,r,v,p,Y,qe,De,se,he,R,pe]),Et=c.useMemo(()=>{if(!S)return"";const e=()=>{let s=`select-popover-content ${W}`;return O&&g==="inside"&&(s+=" select-popover-content-search"),s};return o.jsxRuntimeExports.jsxs("div",{style:{width:`${B&&B.current?B.current.offsetWidth:0}px`},className:e(),children:[O&&g==="inside"&&o.jsxRuntimeExports.jsx(Lt.Search,{placeholder:Ce||Te({id:"searchPlaceholder"}),onKeydown:_e,value:m,onChange:ut,className:"select-popover-search"}),gt]})},[P,B,K,k,b,$,r,m,O,W,g,p,Ce,S,Y,j,qe,De,se,he,R,pe]),yt=()=>o.jsxRuntimeExports.jsx(wt.Dropdown,{visible:P,placement:"bottomLeft",trigger:["click"],overlay:o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:Et}),overlayClassName:it(),getPopupContainer:Ye,onVisibleChange:e=>{e||(clearTimeout(i.dropDownTimer),i.dropDownTimer=setTimeout(()=>{i.inputOpen||Q(!1)},0))},children:ge?o.jsxRuntimeExports.jsx(Ot.Tooltip,{disabled:!0,...ge,children:Ge}):Ge});return o.jsxRuntimeExports.jsxs("div",{className:rt(),style:C,children:[dt,yt(),o.jsxRuntimeExports.jsx(Pt.default,{className:"select-error-text",error:Ee,helperText:Xe,hideErrorDom:Qe})]})}exports.default=Ft;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const o=require("../_virtual/jsx-runtime.js"),c=require("react"),wt=require("../Empty/index.js"),$t=require("../Label/index.js"),bt=require("../Dropdown/index.js"),oe=require("@snack-kit/lib"),kt=require("../GlobalContext/index.js"),Qe=require("../node_modules/@para-ui/icons/Close/index.js"),Nt=require("../node_modules/@para-ui/icons/CloseCircleF/index.js"),Mt=require("../node_modules/@para-ui/icons/Down/index.js"),Dt=require("../node_modules/@para-ui/icons/Check/index.js"),qt=require("../GlobalContext/useFormatMessage.js"),Tt=require("./lang/index.js"),pe=require("../AutoTips/index.js"),Lt=require("../Loading/index.js"),Ot=require("../Popover/index.js"),Pt=require("../Search/index.js"),Ft=require("../Tooltip/index.js"),It=require("../HelperText/index.js"),Vt=require("../Hooks/useGlobalProps.js"),h=require("../GlobalContext/constant.js");;/* empty css */const E=(D,f)=>D[f],zt=(D,f,N)=>{D[f]=N},_t=(D,f,N)=>{const g=document.createElement("span");g.id="referenceSpan";const R={width:0,height:0};R.width=g.offsetWidth,R.height=g.offsetHeight,g.style.visibility="hidden",g.style.fontSize=D,g.style.fontFamily=f,g.style.display="inline-block";const z=document.getElementById("referenceSpan");return z&&document.body.removeChild(z),document.body.appendChild(g),typeof g.textContent<"u"?g.textContent=N:g.innerText=N,R.width=parseFloat(window.getComputedStyle(g).width)-R.width,R.height=parseFloat(window.getComputedStyle(g).height)-R.height,document.body.removeChild(g),R},Xe=(D,f)=>{const N=c.useRef(!1);c.useEffect(()=>{N.current?D():N.current=!0},f)};function Ht(D){const f=D,{className:N,style:g,showSelect:R=!0,allowClear:z=!1,emptyProps:ne,size:_="large",labelMode:J="outside",labelTooltip:W,placeholder:le="",searchPlaceholder:Ee,label:H="",input:O=!1,disabled:m=!1,disabledTooltip:ye,multiple:p=!1,required:B=!1,labelSign:P,error:Se=!1,hideErrorDom:Ye,helperText:Ze="",list:re,showName:b="label",showValue:k="value",childrenName:Q="children",value:$,onChange:j,overLine:Re=!1,search:F=!1,searchModel:y="inside",selectPopoverClassName:we,morePopoverClassName:$e,fetchSuggestions:be,searchInputProps:C,onEnter:K,onEnterInput:ke,onClear:de,getPopupContainer:et,renderContent:w,selectCheckIcon:me=!0,blurChangeValueBol:ie=!1}=Vt.default(f,"Select"),fe=(e=[])=>{const s=[];for(let t=0,l=e.length;t<l;t++){const n=e[t];if(typeof n=="object"&&n!==null)s.push(n);else{const u={[b]:n,[k]:n};s.push(u)}}return s},tt=()=>{let e=[];return f.defaultValue!==void 0&&(p?e=oe.DeepClone(f.defaultValue||[]):e=f.defaultValue===""?[]:[f.defaultValue]),$!==void 0&&(p?e=oe.DeepClone($||[]):e=$===""?[]:[$]),e},Ne=()=>{const e=fe(re),s={};for(let t=0,l=e.length;t<l;t++){const n=e[t],u=E(n,Q);if(u&&u.length>0){const a=u;for(let S=0,x=a.length;S<x;S++){const T=a[S],L=String(E(T,k));s[L]=T}}else{const a=String(E(n,k));s[a]=n}}return s},A=c.useRef(null),[Me]=c.useState(`${h.$prefixCls}-select-${oe.UUID()}`),[X]=c.useState(`select-popover-${oe.UUID()}`),[I,Y]=c.useState(!1),[Z,xe]=c.useState(!1),[r,M]=c.useState(tt()),[U,st]=c.useState([]),[v,ot]=c.useState(Ne()),[q,he]=c.useState(null),[ve,De]=c.useState(!1),[d,G]=c.useState(""),[V,qe]=c.useState(!1),[ee,ce]=c.useState(!1),[je,nt]=c.useState(!1),te=c.useRef(null),[i]=c.useState({valueCom:[],listCom:[],searchModel:"inside",openMore:!1}),{language:Te,locale:Le}=c.useContext(kt.default),Oe=qt.default("Select",Tt.default);i.valueCom=[...r],i.listCom=U,i.searchModel=y,i.openMore=ve,c.useEffect(()=>()=>{clearTimeout(i.searchTimer),clearTimeout(i.timer),clearTimeout(i.scrollTimer),clearTimeout(i.dropDownTimer)},[]),Xe(()=>{if($===void 0){M([]);return}M(p?oe.DeepClone($||[]):$===""?[]:[$])},[$,p]),c.useEffect(()=>{ae()},[r,$]),c.useEffect(()=>{if(y==="outside"&&p)return qe(!0);qe(Re)},[Re,y,p,O]),Xe(()=>{ot(Ne())},[re]),c.useEffect(()=>(!V&&p?window.addEventListener("resize",ae):window.removeEventListener("resize",ae),()=>{window.removeEventListener("resize",ae)}),[V,p]),c.useEffect(()=>{r&&r.length>0?xe(!0):(xe(!1),y==="outside"&&xe(d!==""))},[F,d,y,r,O]),c.useEffect(()=>{if(I)if(ce(!0),be)be(d,e=>{const s=fe(e);Fe(s,!0),ce(!1)});else{const e=fe(re);Fe(e),ce(!1)}},[F,d,re,I]),c.useEffect(()=>(I?(clearTimeout(i.openTimer),i.openTimer=setTimeout(()=>{Ie(),window.addEventListener("keydown",Ce)})):(G(""),window.removeEventListener("keydown",Ce)),()=>{clearTimeout(i.openTimer),window.removeEventListener("keydown",Ce)}),[I]),c.useEffect(()=>{m!==!0&&p&&y==="outside"&&ft(d)},[d,p,m,y,O]);const Pe=e=>{if(e===null||e===0)return;e===void 0&&(e=i.valueCom.length);const s=document.querySelector(`.${Me} > .select-content > .check-select-content`);if(s)if(s.scrollHeight>s.clientHeight){const t=Number(e)-1;he(t),Pe(t)}else i.valueCom.length<=e&&_e()},ae=()=>{if(i.valueCom.length===0)return he(null);clearTimeout(i.timer),i.timer=setTimeout(()=>{he(i.valueCom.length),Pe()},50)},Fe=(e,s)=>{const t=[],l=[...e];for(let n=0,u=l.length;n<u;n++){const a={...l[n]},S=E(a,Q);if(S&&S.length>0){const x=S,T=[];for(let L=0,se=x.length;L<se;L++){const ge=x[L];(s||ze(ge))&&T.push(ge)}T.length>0&&(zt(a,Q,T),t.push(a))}else(s||ze(a))&&t.push(a)}st(t),ce(!1),nt(t.length===0)},Ie=()=>{const e=te&&te.current;i.searchModel!=="inside"&&e&&e.focus({preventScroll:!0})},Ve=(e,s)=>{let t=e;const l=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector);if(!l)return null;for(;t&&!l.call(t,s);)t=t.parentElement;return t},ze=e=>{let s=!0;if(d.trim()==="")return s;const t=E(e,b);return t&&(typeof t=="number"||typeof t=="string")?t.toString().toLowerCase().indexOf(d.trim().toLowerCase())===-1&&(s=!1):s=!1,s},lt=()=>{m!==!0&&Y(!0)},rt=()=>{Y(!1)},it=e=>{De(!0),Y(!1),e.stopPropagation()},_e=()=>{i.openMore&&De(!1)},ue=(e,s)=>t=>{const l=E(e,k);if(!(typeof m=="object"&&m.indexOf(l)!==-1))if(p){const n=i.valueCom.indexOf(l);n!==-1?i.valueCom.splice(n,1):i.valueCom.push(l),f.value===void 0&&M([...i.valueCom]),j&&j([...i.valueCom],t),s&&K&&K([...i.valueCom]),Ie()}else f.value===void 0&&M([l]),j&&j(l,t),s&&K&&K(l),rt(),G("")},He=(e,s)=>t=>{e||(e={[k]:s,children:[]}),ue(e)(t),t.stopPropagation()},ct=()=>{let e=`${h.$prefixCls}-select`;return p&&!V&&(e+=` ${Me}`),N&&(e+=` ${N}`),_&&(e+=` ${h.$prefixCls}-select-${_}`),Se&&(e+=` ${h.$prefixCls}-select-error`),m===!0&&(e+=` ${h.$prefixCls}-select-disabled`),I&&(e+=` ${h.$prefixCls}-select-open`),p&&(e+=` ${h.$prefixCls}-select-multiple`),V&&(e+=` ${h.$prefixCls}-select-over-line`),R&&(e+=` ${h.$prefixCls}-select-show-select`),r.length>0&&(e+=` ${h.$prefixCls}-select-value`),z&&(e+=` ${h.$prefixCls}-select-allow-clear`),e},at=()=>{let e=`${h.$prefixCls}-select-popover ${h.$prefixCls}-scrollbar-small`;return _&&(e+=` ${h.$prefixCls}-select-popover-${_}`),p?e+=` ${h.$prefixCls}-select-popover-multiple`:e+=` ${h.$prefixCls}-select-popover-radio`,we&&(e+=` ${we}`),R||(e+=` ${h.$prefixCls}-select-popover-hide`),e},ut=()=>{let e=`${h.$prefixCls}-select-more-popover ${h.$prefixCls}-scrollbar-small`;return _&&(e+=` ${h.$prefixCls}-select-more-popover-${_}`),$e&&(e+=` ${$e}`),e},pt=e=>{G(e.target.value),C&&C.onChange&&C.onChange(e)},dt=(e,s)=>{G(e),s&&C?.onChange&&C.onChange(s)},Be=e=>{if(e.keyCode===13){ke&&ke(d);const s=document.querySelector(`.${X} .select-popover-list`);if(s){const t=s.querySelector(".select-popover-list-item-hover");if(s.querySelector(".select-popover-list-item-keydown")||t)return}if(f.input&&d.trim()!==""){if(p){const t=[...r,d];f.value===void 0&&M(t),j&&j(t,e)}else f.value===void 0&&M([d]),j&&j(d,e);G("")}}C&&C.onKeyDown&&C.onKeyDown(e)},mt=e=>{if(f.input&&ie&&d.trim()!==""){if(p){const s=[...r,d];f.value===void 0&&M(s),j&&j(s,e)}else f.value===void 0&&M([d]),j&&j(d,e);G("")}i.inputOpen=!1,C&&C.onBlur?.(e)},ft=e=>{const s=te&&te.current;if(!s)return null;const t=window.getComputedStyle(s),l=t.fontFamily,n=t.fontSize;let a=_t(n,l,e).width;a<10&&(a=10),s.style.width=`${a}px`},Ke=e=>{const{selectDom:s,keyCode:t,currentKeydownDom:l}=e;let n=null,u="nextElementSibling",a=".select-popover-list > div",S=".select-popover-list-item";if(t===38&&(u="previousElementSibling",a=".select-popover-list > div:last-child",S=".select-popover-list-item:last-child"),!l)n=s.querySelector(a);else if(n=l[u],n){if(n.className.indexOf("select-popover-list-group-label")!==-1){const x=l.parentElement;x&&(n=x[u],n||(n=s.querySelector(a)))}}else{const x=l.parentElement;x&&x.className&&x.className.indexOf("select-popover-list-group")!==-1?(n=x[u],n||(n=s.querySelector(a))):n=s.querySelector(a)}if(n)if(n.className.indexOf("select-popover-list-group")!==-1){const x=n.querySelector(S);x&&(x.classList.add("select-popover-list-item-keydown"),Ae(x,s))}else n.classList.add("select-popover-list-item-keydown"),Ae(n,s)},Ae=(e,s)=>{clearTimeout(i.scrollTimer);const t=s.clientHeight,n=e.offsetTop+e.clientHeight-t;i.scroll=!0,n>0?s.scrollTop=n:s.scrollTop=0,i.scrollTimer=setTimeout(()=>{i.scroll=!1},100)},Ce=e=>{const s=document.querySelector(`.${X} .select-popover-list`);if(!s)return;const t=s.querySelector(".select-popover-list-item-select"),l=s.querySelector(".select-popover-list-item-hover"),n=s.querySelector(".select-popover-list-item-keydown");let u=t;if(l&&(u=l),e.keyCode===13){const a=n||l;if(a){const S=a.dataset.val;ue(v[S],!0)({target:n})}else K&&$!==void 0&&K($)}n&&(u=n,n.classList.remove("select-popover-list-item-keydown")),e.keyCode===40&&Ke({selectDom:s,keyCode:e.keyCode,currentKeydownDom:u}),e.keyCode===38&&Ke({selectDom:s,keyCode:e.keyCode,currentKeydownDom:u})},Ue=e=>{if(i.scroll)return;const s=Ve(e.target,".select-popover-list-item");if(!s)return;s.classList.add("select-popover-list-item-hover");const t=document.querySelector(`.${X}`);if(!t)return;const l=t.querySelector(".select-popover-list-item-keydown");l&&l.classList.remove("select-popover-list-item-keydown")},Ge=e=>{const s=Ve(e.target,".select-popover-list-item");s&&s.classList.remove("select-popover-list-item-hover")},xt=c.useMemo(()=>{const e=!!(H||B||P),s=()=>{let t="select-label";return W&&W.className&&(t+=` ${W.className}`),t};return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:J==="outside"&&e&&o.jsxRuntimeExports.jsx($t.default,{label:H,required:B,labelSign:P,...W,className:s()})})},[J,H,P,B,W]),ht=c.useMemo(()=>{const e=()=>J==="outside"?le:o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[H||le,B&&o.jsxRuntimeExports.jsx("span",{className:"select-required",children:"*"}),P&&o.jsxRuntimeExports.jsx("span",{children:P})]});return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:!Z&&o.jsxRuntimeExports.jsx("span",{className:"select-label-placeholder",children:e()})})},[Z,J,le,H,P,B]),Je=e=>{if(m===!0)return null;const s=`${e}-search-outside`;return y==="outside"?o.jsxRuntimeExports.jsx("input",{...C,onClick:t=>{i.inputOpen=!0,C&&C.onClick?.(t)},onBlur:mt,className:s,value:d,onChange:pt,onKeyDown:Be,ref:te}):null},vt=c.useMemo(()=>{const e=()=>{if(d!==""&&(y==="outside"||O))return null;const s=String(r[0]),t=v[s]&&E(v[s],b)||r[0],l=v[s]!==void 0&&w&&w(v[s],!1);return V?l||t:o.jsxRuntimeExports.jsx(pe.default,{placement:"top-start",children:l||t})};return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:!p&&o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx("div",{className:"radio-select-content",children:e()}),Je("radio")]})})},[p,Z,V,v,r,b,F,y,d,m,O,C,w,ie]),jt=c.useMemo(()=>{const e=s=>{const t=String(r[s]),l=v[t]&&E(v[t],b)||r[s];return v[t]!==void 0&&w&&w(v[t],!1)||l};return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:p&&o.jsxRuntimeExports.jsxs("div",{className:"check-select-content",children:[r&&r.map((s,t)=>{if(q!==null&&q<=t)return null;let l=!0;(m===!0||typeof m=="object"&&m.indexOf(r[t])!==-1)&&(l=!1);let n="check-select-content-item check-select-content-item-select";return l||(n+=" check-select-content-item-noclose"),o.jsxRuntimeExports.jsxs("div",{className:n,children:[o.jsxRuntimeExports.jsx("span",{children:o.jsxRuntimeExports.jsx(pe.default,{placement:"top-start",children:e(t)})}),l&&o.jsxRuntimeExports.jsx(Qe.Close,{onClick:He(v[String(r[t])],r[t])})]},t)}),(()=>{if(q!==null&&r.length>q)return o.jsxRuntimeExports.jsx("div",{className:"check-select-content-item check-select-content-item-more",onClick:it,children:o.jsxRuntimeExports.jsxs("span",{children:["+",r.length-q]})})})(),Je("check")]})})},[p,Z,r,q,v,m,j,d,F,y,O,C,w,ie]),Ct=e=>{e.stopPropagation();const s=[];let t;if(p&&(t=[],m instanceof Array))for(let l=0,n=r.length;l<n;l++){const u=r[l];m.indexOf(u)!==-1&&(t.push(u),s.push(u))}f.value===void 0&&M(s),j&&j(t,e),Y(!1),de&&de()},gt=()=>{if(r.length>0&&m!==!0&&z)return o.jsxRuntimeExports.jsx("span",{className:"clean-up-icon",onClick:Ct,children:o.jsxRuntimeExports.jsx(Nt.CloseCircleF,{})})},Et=()=>{const e=s=>{const t=String(r[s]),l=v[t]&&E(v[t],b)||r[s];return v[t]!==void 0&&w&&w(v[t],"more")||l};return o.jsxRuntimeExports.jsxs("div",{className:"select-more",children:[o.jsxRuntimeExports.jsx("div",{className:"select-more-title",children:o.jsxRuntimeExports.jsx("span",{children:Oe({id:"more"})})}),o.jsxRuntimeExports.jsx("div",{className:"select-more-content",children:r&&r.map((s,t)=>{if(q!==null&&q>t)return null;let l=!0;return(m===!0||typeof m=="object"&&m.indexOf(r[t])!==-1)&&(l=!1),o.jsxRuntimeExports.jsxs("div",{className:"select-more-content-item",children:[o.jsxRuntimeExports.jsx("span",{children:o.jsxRuntimeExports.jsx(pe.default,{placement:"top-start",children:e(t)})}),l&&o.jsxRuntimeExports.jsx(Qe.Close,{onClick:He(v[String(r[t])],r[t])})]},t)})})]})},We=c.useMemo(()=>o.jsxRuntimeExports.jsx(Ot.Popover,{placement:"bottom-end",visible:ve,content:Et(),onVisibleChange:_e,overlayClassName:ut(),children:o.jsxRuntimeExports.jsxs("div",{className:"select-content",onClick:lt,ref:A,children:[ht,o.jsxRuntimeExports.jsxs("span",{className:"select-svg",children:[o.jsxRuntimeExports.jsx(Mt.Down,{}),gt()]}),vt,jt]})}),[A,Z,J,le,H,P,B,V,v,r,b,p,q,m,j,d,y,O,R,C,z,de,ve,w,ie]),yt=c.useMemo(()=>{const e=()=>{let t="select-popover-list";return ee&&(t+=" select-popover-list-loading"),t},s=t=>{const l=E(t,b)||E(t,k),n=w&&w(t,!0);return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx("span",{className:"select-popover-list-item-label",children:o.jsxRuntimeExports.jsx(pe.default,{placement:"top-start",children:n||l})}),p&&me&&o.jsxRuntimeExports.jsx("span",{className:"select-popover-list-item-svg",children:o.jsxRuntimeExports.jsx(Dt.Check,{})})]})};return o.jsxRuntimeExports.jsxs("div",{className:e(),style:{outline:"1px solid transparent"},children:[U&&U.length>0?o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:U.map((t,l)=>{const n=E(t,Q);if(n&&n.length>0){const S=n;return o.jsxRuntimeExports.jsxs("div",{className:"select-popover-list-group",children:[o.jsxRuntimeExports.jsx("span",{className:"select-popover-list-group-label",children:E(t,b)||E(t,k)}),S.map((x,T)=>{const L=E(x,k);let se="select-popover-list-item";return r.indexOf(L)!==-1&&(se+=" select-popover-list-item-select"),typeof m=="object"&&m.indexOf(L)!==-1&&(se+=" select-popover-list-item-disabled"),o.jsxRuntimeExports.jsx("div",{onClick:ue(x),className:se,onMouseEnter:Ue,onMouseLeave:Ge,"data-val":L,children:s(x)},T)})]},l)}const u=E(t,k);let a="select-popover-list-item";return r.indexOf(u)!==-1&&(a+=" select-popover-list-item-select"),typeof m=="object"&&m.indexOf(u)!==-1&&(a+=" select-popover-list-item-disabled"),o.jsxRuntimeExports.jsx("div",{onClick:ue(t),className:a,onMouseEnter:Ue,onMouseLeave:Ge,"data-val":u,children:s(t)},l)})}):!ee&&je&&o.jsxRuntimeExports.jsx("div",{className:"select-nodata",children:o.jsxRuntimeExports.jsx(wt.default,{...ne,size:ne?.size||"small"})}),ee&&o.jsxRuntimeExports.jsx(Lt.Loading,{})]})},[U,b,k,r,j,p,ee,Te,Le,ne,je,w,me]),St=c.useMemo(()=>{if(!R)return"";const e=()=>{let s=`select-popover-content ${X}`;return F&&y==="inside"&&(s+=" select-popover-content-search"),s};return o.jsxRuntimeExports.jsxs("div",{style:{width:`${A&&A.current?A.current.offsetWidth:0}px`},className:e(),children:[F&&y==="inside"&&o.jsxRuntimeExports.jsx(Pt.Search,{placeholder:Ee||Oe({id:"searchPlaceholder"}),onKeydown:Be,value:d,onChange:dt,className:"select-popover-search"}),yt]})},[I,A,U,Q,k,b,r,d,F,X,y,p,Ee,R,ee,C,Te,Le,ne,je,w,me]),Rt=()=>o.jsxRuntimeExports.jsx(bt.Dropdown,{visible:I,placement:"bottomLeft",trigger:["click"],overlay:o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:St}),overlayClassName:at(),getPopupContainer:et,onVisibleChange:e=>{e||(clearTimeout(i.dropDownTimer),i.dropDownTimer=setTimeout(()=>{i.inputOpen||Y(!1)},0))},children:ye?o.jsxRuntimeExports.jsx(Ft.Tooltip,{disabled:!0,...ye,children:We}):We});return o.jsxRuntimeExports.jsxs("div",{className:ct(),style:g,children:[xt,Rt(),o.jsxRuntimeExports.jsx(It.default,{className:"select-error-text",error:Se,helperText:Ze,hideErrorDom:Ye})]})}exports.default=Ht;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SelectInput",
|
|
3
|
+
"category": "Data Entry",
|
|
4
|
+
"description": "下拉输入框,结合下拉选择和文本输入",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"组合输入",
|
|
8
|
+
"带搜索的选择"
|
|
9
|
+
],
|
|
10
|
+
"useCases": [
|
|
11
|
+
"分类选择",
|
|
12
|
+
"带输入的下拉",
|
|
13
|
+
"联想输入"
|
|
14
|
+
],
|
|
15
|
+
"riskLevel": "normal"
|
|
16
|
+
},
|
|
17
|
+
"variants": {
|
|
18
|
+
"default": {
|
|
19
|
+
"meaning": "默认样式"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"states": [
|
|
23
|
+
"default",
|
|
24
|
+
"disabled",
|
|
25
|
+
"error"
|
|
26
|
+
],
|
|
27
|
+
"idealProps": {
|
|
28
|
+
"value": {
|
|
29
|
+
"type": "any",
|
|
30
|
+
"description": "受控值;multiple=true 时为数组,multiple=false(默认)时为单值;必须配合 onChange。**单值类型**:list 项 value 字段值(string / number 取决于 SelectOptionBase.value 实际类型)"
|
|
31
|
+
},
|
|
32
|
+
"defaultValue": {
|
|
33
|
+
"type": "any",
|
|
34
|
+
"description": "非受控默认值;类型规则同 value"
|
|
35
|
+
},
|
|
36
|
+
"onChange": {
|
|
37
|
+
"type": "(val, e) => void",
|
|
38
|
+
"description": "值变化回调。**实际签名**(协议 SI1):multiple=false → `(val: string | undefined, e: SyntheticEvent) => void`(清空时 val 为 undefined);multiple=true → `(val: string[], e) => void`。**val 是 list 项 value 字段值**(不是整个对象);业务 `(next: string) => void` 透传桥接:`onChange={(val) => onChange((val ?? '') as string)}` 显式过 undefined"
|
|
39
|
+
},
|
|
40
|
+
"list": {
|
|
41
|
+
"type": "SelectOptionBase[]",
|
|
42
|
+
"itemSchema": {
|
|
43
|
+
"label": { "type": "ReactNode", "required": true, "description": "选项显示文案" },
|
|
44
|
+
"value": { "type": "any", "required": true, "description": "选项值(onChange 回调的 val 是此字段值)" },
|
|
45
|
+
"children": { "type": "any[]", "description": "子选项" },
|
|
46
|
+
"disabled": { "type": "boolean", "description": "是否禁用" }
|
|
47
|
+
},
|
|
48
|
+
"description": "下拉选项数组;项 = `{ label: ReactNode, value: any, children?: any[], disabled?: boolean }`。空数组或不传时 showSelect 自动 false。**string[] 转换**(协议 SI5):`options.map(opt => ({label: opt, value: opt}))`"
|
|
49
|
+
},
|
|
50
|
+
"multiple": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"default": false,
|
|
53
|
+
"description": "多选模式;true 时 value 必须为数组"
|
|
54
|
+
},
|
|
55
|
+
"showSelect": {
|
|
56
|
+
"type": "boolean",
|
|
57
|
+
"description": "是否显示下拉浮层;未显式传时,有 list 自动 true,无 list 自动 false。显式 false 退化为纯输入框"
|
|
58
|
+
},
|
|
59
|
+
"showName": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"default": "label",
|
|
62
|
+
"description": "list 项中显示名字段名"
|
|
63
|
+
},
|
|
64
|
+
"showValue": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"default": "value",
|
|
67
|
+
"description": "list 项中选中值字段名"
|
|
68
|
+
},
|
|
69
|
+
"searchModel": {
|
|
70
|
+
"type": "'outside' | 'inside'",
|
|
71
|
+
"values": ["outside", "inside"],
|
|
72
|
+
"default": "inside",
|
|
73
|
+
"description": "搜索框位置(协议 SI3);outside=输入框永远显示在触发按钮位置(联想标签 / 主搜);inside=输入框在浮层展开后才显示(二级筛选)。**fetchSuggestions / 联想推荐 outside**"
|
|
74
|
+
},
|
|
75
|
+
"fetchSuggestions": {
|
|
76
|
+
"type": "(val: string, cb: (data: SelectOptionBase[]) => void) => void",
|
|
77
|
+
"description": "异步联想搜索;与 list 互斥。**搭配 searchModel='outside'**(协议 SI3 / SI4)"
|
|
78
|
+
},
|
|
79
|
+
"onEnterInput": {
|
|
80
|
+
"type": "(val: string) => void",
|
|
81
|
+
"description": "回车事件;val=当前输入框原始文本(非 list 项 value)。**输入新分类必传**(协议 SI4):用户输入下拉外文本时 onChange 不触发,只有 onEnterInput 能捕获"
|
|
82
|
+
},
|
|
83
|
+
"blurChangeValueBol": {
|
|
84
|
+
"type": "boolean",
|
|
85
|
+
"default": false,
|
|
86
|
+
"description": "失焦时是否将输入框文本写回 value;适合搜索式输入立即生效场景"
|
|
87
|
+
},
|
|
88
|
+
"labelMode": {
|
|
89
|
+
"type": "'outside' | 'inside'",
|
|
90
|
+
"values": ["outside", "inside"],
|
|
91
|
+
"default": "outside",
|
|
92
|
+
"description": "标题位置(注:此 prop 命名与 searchModel 不同语义)"
|
|
93
|
+
},
|
|
94
|
+
"overLine": {
|
|
95
|
+
"type": "boolean",
|
|
96
|
+
"default": false,
|
|
97
|
+
"description": "已选项是否换行;true=超出 chip 换行,false=单行 + 折叠 '+N'"
|
|
98
|
+
},
|
|
99
|
+
"disabled": {
|
|
100
|
+
"type": "boolean | any[]",
|
|
101
|
+
"description": "禁用;布尔禁全部,数组按 value 禁用部分选项"
|
|
102
|
+
},
|
|
103
|
+
"size": {
|
|
104
|
+
"type": "'small' | 'medium' | 'large'",
|
|
105
|
+
"values": ["small", "medium", "large"],
|
|
106
|
+
"default": "large",
|
|
107
|
+
"description": "尺寸"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"crossPropInteractions": [
|
|
111
|
+
"multiple + onChange 签名 = 两套 union(false 时 val 可 undefined / true 时 val: string[])",
|
|
112
|
+
"fetchSuggestions + searchModel = 推荐配 outside(协议 SI3)",
|
|
113
|
+
"showSelect=false → 强制 searchModel='outside'(纯输入框模式)",
|
|
114
|
+
"onEnterInput + outside = 输入新分类的标准组合(协议 SI4)",
|
|
115
|
+
"list 项 value + showValue = 决定 onChange val 实际类型"
|
|
116
|
+
],
|
|
117
|
+
"commonMisconceptions": [
|
|
118
|
+
"❌ onChange 单参直接透传 `onChange={onChange}` — 实际是双参 + val 可 undefined,TS 不符",
|
|
119
|
+
"❌ onChange val 是整个 SelectOptionBase 对象 — 实际是 value 字段值",
|
|
120
|
+
"❌ outside 模式下纯输入回车自动 onChange — 实际需要 onEnterInput 捕获",
|
|
121
|
+
"❌ fetchSuggestions 默认走 outside — 默认 inside,需显式 searchModel='outside'",
|
|
122
|
+
"❌ string[] 直接传 list — 必须 map 成 SelectOptionBase[] {label, value}"
|
|
123
|
+
],
|
|
124
|
+
"do": [
|
|
125
|
+
"在需要选择并输入的场景使用(比 Select 更自由,比 TextField 带下拉)",
|
|
126
|
+
"支持联想搜索:配合 fetchSuggestions + searchModel='outside' 实现外部输入即触发联想",
|
|
127
|
+
"输入新值回车捕获:配合 onEnterInput 处理用户输入了下拉列表外的文本场景",
|
|
128
|
+
"list 必须传 SelectOptionBase[]:string[] 数组先 map 成 `{label: opt, value: opt}` 形式"
|
|
129
|
+
],
|
|
130
|
+
"dont": [
|
|
131
|
+
"选项过多时不分页(应配合 fetchSuggestions 做异步分页)",
|
|
132
|
+
"忽略键盘操作(onEnterInput 是捕获回车新建条目的关键入口)",
|
|
133
|
+
"直接把 string[] 传给 list——必须 map 成 `[{label, value}]` 形式(协议 SI5)"
|
|
134
|
+
],
|
|
135
|
+
"events": {
|
|
136
|
+
"onChange": {
|
|
137
|
+
"signature": "(val: T | T[] | undefined, e: React.SyntheticEvent) => void",
|
|
138
|
+
"asyncSupported": false,
|
|
139
|
+
"examples": [
|
|
140
|
+
"单选时 val 为选中项 value 字段值(清空时 val 为 undefined,不是 '')",
|
|
141
|
+
"多选时 val 为已选项 value 字段值数组",
|
|
142
|
+
"受控桥接:onChange={(val) => setVal((val ?? '') as string)}"
|
|
143
|
+
],
|
|
144
|
+
"commonMistakes": [
|
|
145
|
+
"直接传 onChange={setValue} 时 TS 报签名不匹配——需要 (val, _e) => setValue(val ?? '')",
|
|
146
|
+
"期望输入框回车触发 onChange——outside 模式下用户输入未选中选项时不触发 onChange,只触发 onEnterInput",
|
|
147
|
+
"误以为 val 是整个 SelectOptionBase 对象——val 是 value 字段值(由 showValue 决定)"
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"onEnterInput": {
|
|
151
|
+
"signature": "(val: string) => void",
|
|
152
|
+
"asyncSupported": false,
|
|
153
|
+
"examples": [
|
|
154
|
+
"用户在输入框回车时触发,val 为输入框的原始字符串",
|
|
155
|
+
"新建标签场景:onEnterInput={(newTag) => setTags([...tags, newTag])}"
|
|
156
|
+
],
|
|
157
|
+
"commonMistakes": [
|
|
158
|
+
"与 onChange 混淆——onEnterInput 是捕获「选项外文本回车」,onChange 是选项选中",
|
|
159
|
+
"忘记传 onEnterInput 导致用户输入新值回车无任何响应"
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"typescriptPitfalls": [
|
|
164
|
+
{
|
|
165
|
+
"issue": "onChange 签名有第二参 e: SyntheticEvent,单参函数直接传报 TS 错误",
|
|
166
|
+
"wrong": "onChange={setVal} // setVal: (v: string) => void,缺少 e 参数",
|
|
167
|
+
"right": "onChange={(val, _e) => setVal(val ?? '')} // 显式声明两参,_e 忽略"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"issue": "list 传 string[] 直接报 TS 不兼容 SelectOptionBase[]",
|
|
171
|
+
"wrong": "list={['option1', 'option2']} // string 不满足 SelectOptionBase 接口",
|
|
172
|
+
"right": "list={['option1', 'option2'].map(s => ({ label: s, value: s }))} // 转换为 SelectOptionBase[]"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"issue": "SelectInput extends SelectProps(Single | Multiple 联合),在泛型 T 未能被推断时 onChange 的 val 参数可能隐式 any(TS7006),需要显式标注参数类型",
|
|
176
|
+
"wrong": "onChange={(val, _e) => setValue(val as string)} // TS7006: val 隐式 any(泛型推断失败时)",
|
|
177
|
+
"right": "// 单选模式:\nonChange={(val: string | undefined, _e: React.SyntheticEvent) => setValue(val)}\n// 多选模式:\nonChange={(val: string[], _e: React.SyntheticEvent) => setValues(val ?? [])}"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"mapping": {
|
|
181
|
+
"realComponent": "SelectInput",
|
|
182
|
+
"adapter": null
|
|
183
|
+
}
|
|
184
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FunctionComponent } from 'react';
|
|
2
1
|
import { SelectProps } from '../Select';
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { SelectOptionBase, SelectOptionValue } from '../Utils/type';
|
|
3
|
+
export interface SelectInputProps<T extends SelectOptionValue = SelectOptionValue, Item extends SelectOptionBase = SelectOptionBase> extends Omit<SelectProps<T, Item>, 'list'> {
|
|
4
|
+
list?: Item[];
|
|
5
5
|
}
|
|
6
|
-
export declare
|
|
6
|
+
export declare function SelectInput<T extends SelectOptionValue = SelectOptionValue, Item extends SelectOptionBase = SelectOptionBase>(props: SelectInputProps<T, Item>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default SelectInput;
|
package/lib/SelectInput/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("../_virtual/jsx-runtime.js"),c=require("../Select/index.js"),n=require("../GlobalContext/constant.js")
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("../_virtual/jsx-runtime.js"),c=require("../Select/index.js"),n=require("../GlobalContext/constant.js");function l(e){const s=()=>{let t=`${n.$prefixCls}-select-input`;return e.className&&(t+=` ${e.className}`),t};return u.jsxRuntimeExports.jsx(c.default,{...e,list:e.list||[],className:s(),showSelect:!!e.showSelect||!(!e.list||e.list.length===0),searchModel:e.showSelect===!1?"outside":e.searchModel,search:!0,input:!0})}exports.SelectInput=l;exports.default=l;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Selector",
|
|
3
|
+
"category": "Data Entry",
|
|
4
|
+
"description": "选择器组件,支持分页、搜索、多选等功能",
|
|
5
|
+
"semantic": {
|
|
6
|
+
"intent": [
|
|
7
|
+
"复杂选择",
|
|
8
|
+
"数据筛选"
|
|
9
|
+
],
|
|
10
|
+
"useCases": [
|
|
11
|
+
"人员选择",
|
|
12
|
+
"组织选择",
|
|
13
|
+
"资源分配"
|
|
14
|
+
],
|
|
15
|
+
"riskLevel": "normal"
|
|
16
|
+
},
|
|
17
|
+
"variants": {
|
|
18
|
+
"lr": {
|
|
19
|
+
"meaning": "左右布局"
|
|
20
|
+
},
|
|
21
|
+
"tb": {
|
|
22
|
+
"meaning": "上下布局"
|
|
23
|
+
},
|
|
24
|
+
"list": {
|
|
25
|
+
"meaning": "列表布局"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"states": [
|
|
29
|
+
"default",
|
|
30
|
+
"disabled",
|
|
31
|
+
"error"
|
|
32
|
+
],
|
|
33
|
+
"idealProps": {
|
|
34
|
+
"value": {
|
|
35
|
+
"type": "Record<string, any>[] | Record<string, any>",
|
|
36
|
+
"description": "受控值;radio 模式为单对象(初始无选可传 null),check 模式为对象数组;无 selectMode 时无效。**最小回显格式**(协议 S1):value 对象只需含 rowKey 字段即可匹配回显;外部 string[] keys 反查 = `items.filter(it => keys.includes(it[rowKey]))`"
|
|
37
|
+
},
|
|
38
|
+
"defaultValue": {
|
|
39
|
+
"type": "Record<string, any>[] | Record<string, any>",
|
|
40
|
+
"description": "非受控默认值;类型规则同 value"
|
|
41
|
+
},
|
|
42
|
+
"onChange": {
|
|
43
|
+
"type": "(val, node, rowData) => void",
|
|
44
|
+
"description": "值变化回调;**radio 模式 val 为 Record<string,any>**(单对象 / null),**check 模式 val 为 Record<string,any>[]**(数组 / null);node=出站处理后数据(若传 backDataFieldConfig 则字段映射)、rowData=原始;**出站 keys 提取**:`val.map(it => it[rowKey])`(协议 S1);onSelect 返回 true 时不触发"
|
|
45
|
+
},
|
|
46
|
+
"onSelect": {
|
|
47
|
+
"type": "(item, bol, isAllCheck) => boolean | Promise<boolean>",
|
|
48
|
+
"description": "勾选事件;返回 true 阻断 onChange(二次确认场景);先于 onChange 触发"
|
|
49
|
+
},
|
|
50
|
+
"layout": {
|
|
51
|
+
"type": "'lr' | 'tb' | 'list'",
|
|
52
|
+
"values": ["lr", "tb", "list"],
|
|
53
|
+
"default": "lr",
|
|
54
|
+
"description": "布局;lr=左右、tb=上下、list=纯列表(无已选区,适合内嵌)。**三种 layout 的 value/onChange 受控行为完全一致**(协议 S4),只有视觉差异"
|
|
55
|
+
},
|
|
56
|
+
"selectMode": {
|
|
57
|
+
"type": "'radio' | 'check'",
|
|
58
|
+
"values": ["radio", "check"],
|
|
59
|
+
"description": "选择模式;radio=单选;check=多选+全选;undefined=只读浏览"
|
|
60
|
+
},
|
|
61
|
+
"nodeMode": {
|
|
62
|
+
"type": "'leaf' | 'branch'",
|
|
63
|
+
"values": ["leaf", "branch"],
|
|
64
|
+
"default": "branch",
|
|
65
|
+
"description": "节点选择粒度;leaf=只选叶子;branch=分支/叶子皆可"
|
|
66
|
+
},
|
|
67
|
+
"rowKey": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"default": "'key'",
|
|
70
|
+
"description": "唯一标识字段(协议 S2);**影响 disabled/disabledChild 数组匹配 + value 对象匹配 + 缓存 + 出站 val.key**;data 用 id 时必须传 `rowKey='id'`"
|
|
71
|
+
},
|
|
72
|
+
"data": {
|
|
73
|
+
"type": "SelectorAnyJson[]",
|
|
74
|
+
"description": "本地数据源;与 url 互斥"
|
|
75
|
+
},
|
|
76
|
+
"url": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"description": "远程数据请求地址;搭配 method/params/paramsCallback 使用"
|
|
79
|
+
},
|
|
80
|
+
"pagination": {
|
|
81
|
+
"type": "boolean",
|
|
82
|
+
"default": false,
|
|
83
|
+
"description": "是否远程分页;仅 url 模式生效"
|
|
84
|
+
},
|
|
85
|
+
"search": {
|
|
86
|
+
"type": "boolean",
|
|
87
|
+
"default": false,
|
|
88
|
+
"description": "是否显示搜索框。**本地 data 模式内置关键词过滤无需 onSearch**(协议 S5);url 远程自动重发请求;自定义场景传 onSearch"
|
|
89
|
+
},
|
|
90
|
+
"searchTrigger": {
|
|
91
|
+
"type": "'onChange' | 'onEnter'",
|
|
92
|
+
"values": ["onChange", "onEnter"],
|
|
93
|
+
"default": "onChange",
|
|
94
|
+
"description": "搜索触发时机;onEnter 适合远程节流"
|
|
95
|
+
},
|
|
96
|
+
"fieldConfig": {
|
|
97
|
+
"type": "SelectorFieldConfigProps",
|
|
98
|
+
"description": "入站字段映射(mainTitle/subTitle/img/tag/info/children/parentId/key/type · 省略时自动应用默认值,详见 api.ts default 列)"
|
|
99
|
+
},
|
|
100
|
+
"backDataFieldConfig": {
|
|
101
|
+
"type": "SelectorFieldConfigProps",
|
|
102
|
+
"description": "出站字段映射;onChange 数据字段名转换;默认同 fieldConfig(出站字段名与入站一致)"
|
|
103
|
+
},
|
|
104
|
+
"disabled": {
|
|
105
|
+
"type": "string[] | boolean",
|
|
106
|
+
"default": false,
|
|
107
|
+
"description": "禁用;布尔禁全部,数组按 rowKey 禁用部分"
|
|
108
|
+
},
|
|
109
|
+
"isAllCheck": {
|
|
110
|
+
"type": "boolean",
|
|
111
|
+
"default": true,
|
|
112
|
+
"description": "复选模式下是否显示全选;仅 selectMode=check 生效"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"crossPropInteractions": [
|
|
116
|
+
"value + rowKey = 最小回显对象只需含 rowKey 字段(默认 'key')",
|
|
117
|
+
"selectMode + value 类型:radio→单对象/null,check→对象数组/null",
|
|
118
|
+
"layout='list' + value/onChange = 受控行为与 lr/tb 完全一致(协议 S4)",
|
|
119
|
+
"search + 本地 data = 内置过滤,无需 onSearch;+ url = 自动重发请求",
|
|
120
|
+
"rowKey + data + disabled[] = 三者用同一字段名匹配,改 rowKey 须全链路对齐"
|
|
121
|
+
],
|
|
122
|
+
"commonMisconceptions": [
|
|
123
|
+
"❌ value 必须传完整对象(label/subTitle 等)— 仅需 rowKey 字段即可回显",
|
|
124
|
+
"❌ 本地 data + search 必须传 onSearch — 组件内置过滤,本地场景省略 onSearch",
|
|
125
|
+
"❌ layout='list' 不支持受控 value/onChange — 三种 layout 行为一致",
|
|
126
|
+
"❌ radio 模式初始无选不能传 null — 可传 null 或省略 value prop",
|
|
127
|
+
"❌ data 用 id 字段不改 rowKey — 必须传 rowKey='id' 否则静默 fail"
|
|
128
|
+
],
|
|
129
|
+
"do": [
|
|
130
|
+
"支持服务端分页和搜索",
|
|
131
|
+
"提供面包屑导航",
|
|
132
|
+
"selectMode=check 多选场景显式传 value 数组 + onChange 接数组",
|
|
133
|
+
"data 本地数据源场景与 url 远程数据源场景二选一,不要同时传"
|
|
134
|
+
],
|
|
135
|
+
"dont": [
|
|
136
|
+
"数据量大时不分页",
|
|
137
|
+
"忽略禁用状态",
|
|
138
|
+
"selectMode 切换为 radio 时仍把 value 设为数组(类型不匹配)",
|
|
139
|
+
"onSelect 返回 true 阻断 onChange 后忘记自行更新 value(导致 UI 与 state 不同步)"
|
|
140
|
+
],
|
|
141
|
+
"events": {
|
|
142
|
+
"onChange": {
|
|
143
|
+
"signature": "(val: SelectorAnyJson[] | SelectorAnyJson | null, node: SelectorAnyJson, rowData: SelectorAnyJson) => void",
|
|
144
|
+
"asyncSupported": false,
|
|
145
|
+
"examples": [
|
|
146
|
+
"radio 模式:val 是单个 Record<string,any>,出站取 key 用 val[rowKey]",
|
|
147
|
+
"check 模式:val 是 Record<string,any>[],出站取 key 列表用 val.map(it => it[rowKey])",
|
|
148
|
+
"清空时 val 为 null——受控外部 string[] 兜底:setSelected(val ? val.map(it => it[rowKey]) : [])"
|
|
149
|
+
],
|
|
150
|
+
"commonMistakes": [
|
|
151
|
+
"误把 val 当 rowKey string[] 使用——onChange 返回对象/数组,取 key 需 val[rowKey] 或 map",
|
|
152
|
+
"忘记 rowKey 对齐——data 用 id 字段时传了 rowKey='id' 但 onChange 还用 val.key 取值(实际是 val.id)",
|
|
153
|
+
"radio 模式期望 val 是数组——radio 模式 val 始终是单对象(或 null),不是 [item]"
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
"onSelect": {
|
|
157
|
+
"signature": "(item: SelectorAnyJson | SelectorAnyJson[], bol: boolean, isAllCheck: boolean) => Promise<boolean | void> | (boolean | void)",
|
|
158
|
+
"asyncSupported": true,
|
|
159
|
+
"examples": [
|
|
160
|
+
"返回 true 阻断 onChange:二次确认场景在 onSelect 里弹 Dialog,确认后手动调用 onChange 逻辑",
|
|
161
|
+
"返回 void/false 不阻断,onChange 正常触发",
|
|
162
|
+
"全选时 item 是 SelectorAnyJson[](当前页所有项),isAllCheck=true"
|
|
163
|
+
],
|
|
164
|
+
"commonMistakes": [
|
|
165
|
+
"返回 true 阻断 onChange 后忘记自行更新 value——UI 与 state 不同步",
|
|
166
|
+
"误以为 onSelect 和 onChange 是同一回调——onSelect 先触发且返回值控制是否触发 onChange"
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
"onSearch": {
|
|
170
|
+
"signature": "(val: string, reqParams: SearchFuncProps) => Promise<SearchReqDataProps> | SearchReqDataProps",
|
|
171
|
+
"asyncSupported": true,
|
|
172
|
+
"examples": [
|
|
173
|
+
"自定义搜索:return { data: { data: filteredList } }(不分页)",
|
|
174
|
+
"分页搜索:return { data: { data: { list: arr, total: 100 } } }(pagination=true)"
|
|
175
|
+
],
|
|
176
|
+
"commonMistakes": [
|
|
177
|
+
"本地 data 场景传了 onSearch——本地模式内置过滤无需 onSearch,传了会覆盖内置逻辑",
|
|
178
|
+
"返回格式错误:不分页应返回 data.data = SelectorAnyJson[],分页应返回 data.data = { list, total }"
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"typescriptPitfalls": [
|
|
183
|
+
{
|
|
184
|
+
"issue": "data 用非 key 字段作唯一 ID 时忘记传 rowKey,导致选中值匹配静默失败",
|
|
185
|
+
"wrong": "data={[{ id: '1', label: 'A' }]} value={[{ id: '1' }]} // 内部用 .key 匹配,id 字段被忽略",
|
|
186
|
+
"right": "data={[{ id: '1', label: 'A' }]} rowKey='id' value={[{ id: '1' }]} // rowKey 告知用 id 字段"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"issue": "radio 模式 value 传对象数组,check 模式 value 传单对象——类型反了",
|
|
190
|
+
"wrong": "selectMode='radio' value={[{ key: '1' }]} // radio 应为单对象",
|
|
191
|
+
"right": "selectMode='radio' value={{ key: '1' }} // 单对象;check 模式才用数组"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"issue": "disabled 数组传整个对象而非 rowKey 值列表,禁用匹配不生效",
|
|
195
|
+
"wrong": "disabled={[{ key: '1', label: 'A' }]} // src 内部 disabled.indexOf(item.key) 查 string/number",
|
|
196
|
+
"right": "disabled={['1', '2']} // 传 rowKey 值的 string[] 列表"
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"mapping": {
|
|
200
|
+
"realComponent": "Selector",
|
|
201
|
+
"adapter": null
|
|
202
|
+
}
|
|
203
|
+
}
|
package/lib/Selector/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const z=require("../_virtual/jsx-runtime.js"),d=require("react"),ir=require("./selectorMain/index.js"),lr=require("./selectorData/index.js"),Le=require("./util.js"),ke=require("@paraview/lib"),fr=require("../Hooks/useGlobalProps.js"),dr=require("../GlobalContext/useFormatMessage.js"),R=require("../GlobalContext/constant.js"),hr=require("./lang/index.js"),mr=require("../HelperText/index.js");;/* empty css */const je=(c,V)=>({mainTitle:"label",children:"children",parentId:"parentId",key:V,type:"type",...c}),gr=c=>{const{className:V,style:W,rowKey:L="key",layout:k="lr",nodeMode:_="branch",selectMode:b,refresh:X,ctx:Y,url:w,method:Z="Get",value:B,defaultValue:ee,data:A,pagination:ve=!1,size:$=10,isLazy:re=!1,isAllCheck:xe=!0,disabled:S,disabledChild:Pe,detail:F,detailRender:te,backDataFieldConfig:Te,search:Ie,searchPlaceholder:ze,searchTrigger:Re="onChange",breadcrumbs:Ve=!0,breadcrumbsSeparator:Be,breadcrumbsHead:N,showbreadcrumbsHead:ae=!0,groupType:ne,groupRange:$e="search",emptyProps:ce,selectRenderItem:Ee,selectRender:He,onChange:se,onSelect:E,onSearch:oe,onRefresh:J,error:ue=!1,hideErrorDom:Me=!0,helperText:_e="",mainHeader:we}=fr.default(c,"Selector"),ie=dr.default("Selector",hr.default),C=je(c.fieldConfig,L),y={...C,...Te},[le,H]=d.useState([]),[Ae,M]=d.useState(!1),[j,Fe]=d.useState([]),[fe,Ne]=d.useState({}),[v,D]=d.useState([]),[Je,x]=d.useState(!1),[Oe,de]=d.useState({val:""}),[Ke,O]=d.useState([]),[Ge,he]=d.useState(!1),[Qe,P]=d.useState(!0),[Ue,me]=d.useState(),e=d.useRef({jsonData:{},jsonDataCopy:{},oneDataList:[],currentSourceData:[],selectValueJson:{},breadcrumbsList:[],reqId:Math.random().toString(),reqParams:{size:$,pagination:!1,isLazy:!1},noLazyReq:!1,reqTimer:null,page:1,searchVal:"",beforeSearchBreadcrumbs:null,searchConfig:{page:1,size:$,reqId:Math.random().toString(),currentSourceData:[]}});e.current.searchConfig.size=$,e.current.reqParams.size=$,e.current.reqParams.pagination=ve,e.current.reqParams.isLazy=re;const T=c.data||!e.current.reqParams.isLazy&&e.current.noLazyReq;d.useEffect(()=>(ee!==void 0&&G(ee),()=>{e.current.reqTimer&&clearTimeout(e.current.reqTimer)}),[]),d.useEffect(()=>{B!==void 0&&G(B)},[B]),d.useEffect(()=>{if(A){const r=p(A,!1);e.current.oneDataList=r,e.current.currentSourceData=r,D([]),q()}},[A]),d.useEffect(()=>{w&&(D([]),q())},[w]),d.useEffect(()=>{e.current.reqTimer&&clearTimeout(e.current.reqTimer),c.url&&ke.Cancel(e.current.reqId),e.current.reqTimer=setTimeout(()=>{if(T){const r=e.current.currentSourceData;if(e.current.reqParams.pagination){const a=r.slice(0,e.current.page*e.current.reqParams.size);H(a),e.current.page*e.current.reqParams.size>=r.length?M(!1):M(!0)}else H(r);P(!1)}if(c.url){const r={method:Z,url:c.url,ctx:Y,uuid:e.current.reqId,data:{parentId:ge(),...c.params}};e.current.reqParams.isLazy?(e.current.reqParams.pagination&&(r.data.size=e.current.reqParams.size,r.data.page=e.current.page),be(c.paramsCallback?c.paramsCallback(r):r)):e.current.noLazyReq||be(c.paramsCallback?c.paramsCallback(r):r)}},50)},[Ue]),d.useEffect(()=>{X&&K()},[X]);const K=()=>{T||(e.current.currentSourceData=[]),q()},We=(r,a)=>{let t={key:r[L],parentId:r[C.parentId],type:r[C.type],img:r[C.img],mainTitle:r[C.mainTitle],subTitle:r[C.subTitle],tag:r[C.tag],children:[],disabled:!1,disabledChild:!1,choice:b!==void 0,detail:F,leaf:_==="leaf",data:r};return c.handNodeInfo&&(t=c.handNodeInfo(t,a)),t},p=(r,a,t)=>{const n=[],s={},o=h=>{for(let l=0,i=h.length;l<i;l++){const g=h[l],f=g[L]||"",m=We(g,!!t);s[f]=m;const U=C.children;e.current.jsonDataCopy[f]=g,e.current.jsonData[f]=m,g[U]&&o(g[U])}};o(r);const u=Object.keys(s);for(let h=0,l=u.length;h<l;h++){const i=u[h],g=s[i],f=g.parentId||"";if(a){n.push(g);continue}f&&s[f]?(s[f].children||(s[f].children=[]),s[f].children.push(g)):n.push(g)}return n},ge=()=>{let r;return e.current.breadcrumbsList.length>0?r=e.current.breadcrumbsList[e.current.breadcrumbsList.length-1].value:c.breadcrumbsHead&&(r=c.breadcrumbsHead.value),ae&&e.current.breadcrumbsList.length===1&&(r=void 0,c.breadcrumbsHead&&(r=c.breadcrumbsHead.value)),r},be=async r=>{P(!0);const{data:a,err:t}=await Le.reqFunc(r);if(t){P(!1),e.current.reqParams.isLazy&&e.current.reqParams.pagination&&e.current.page!==1&&(e.current.page=e.current.page-1);return}if(c.requestCallback){c.requestCallback(a,n=>{P(!1),Ce(n)});return}P(!1),Ce(a)},Ce=r=>{if(e.current.reqParams.isLazy)if(e.current.reqParams.pagination){const a=r.data||{},t=a.list||[],n=a.total,s=p(t,!0),o=[...e.current.currentSourceData,...s];e.current.currentSourceData=o,H(o),e.current.page*e.current.reqParams.size>=n?M(!1):M(!0)}else{const a=r.data||[],t=p(a,!0);e.current.currentSourceData=t,H(t)}else{e.current.noLazyReq=!0;const a=r.data||[],t=p(a,!1);e.current.oneDataList=t,e.current.currentSourceData=t,q()}},q=()=>{e.current.page=1,me(Math.random())},G=r=>{let a=r?[r]:[];r instanceof Array&&(a=[...r]);const t=ke.ArrayToObject(y.key,a);e.current.selectValueJson=t,Ne(t),Fe([...a])},Xe=(r,a)=>{let t=[...v];a&&(t=[],e.current.beforeSearchBreadcrumbs===null&&(e.current.beforeSearchBreadcrumbs=[...v])),t.push({label:r.mainTitle,value:r.key||""}),D(t)},Ye=(r,a)=>{Xe(r,a),T?(e.current.currentSourceData=r.children||[],q()):e.current.reqParams.isLazy&&(e.current.reqParams.pagination&&(e.current.currentSourceData=[]),q())},Q=r=>{const a=["key","img","mainTitle","subTitle","tag"];c.groupType&&c.groupType.length>0&&a.push("type");const t={};for(let n=0,s=a.length;n<s;n++){const o=a[n],u=y[o];u&&(t[u]=r[o])}return t},I=(r,a,t,n)=>{se&&se(r,t,n),B==null&&G(r||[])},Ze=async r=>{const a=r.key||"";if(b==="radio"&&fe[a])return;const t=e.current.selectValueJson[a];if(!(E&&await E(r,b==="radio"?!0:!t,!1))){if(b==="radio"){const n=Q(r);I(n,[n],e.current.jsonData[a],e.current.jsonDataCopy[a])}if(b==="check"){const n=[],s={},o={};for(let u=0,h=j.length;u<h;u++){const l=j[u];if(!t||r.key!==l[y.key]){const i=l[y.key]||"";s[i]=e.current.jsonData[i],o[i]=e.current.jsonDataCopy[i],n.push(l)}}if(!t){const u=Q(r);s[a]=e.current.jsonData[a],o[a]=e.current.jsonDataCopy[a],n.push(u)}I(n,n,s,o)}}},er=r=>!!(S&&(S===!0||S instanceof Array&&r.key&&S.indexOf(r.key)!==-1)||r.disabled),rr=async r=>{const a=[...le],t=[...j],n=[],s={},o={},u=[],h=[];for(let i=0,g=a.length;i<g;i++){const f=a[i],m=f.key||"";er(f)||(r?e.current.selectValueJson[m]||(t.push(Q(f)),h.push(f)):e.current.selectValueJson[m]&&(u.push(m),h.push(f)))}for(let i=0,g=t.length;i<g;i++){const f=t[i],m=f[y.key]||"";r?(s[m]=e.current.jsonData[m],o[m]=e.current.jsonDataCopy[m]):u.indexOf(m)===-1&&(s[m]=e.current.jsonData[m],o[m]=e.current.jsonDataCopy[m],n.push(f))}const l=r?t:n;E&&await E(h,!!r,!1)||I(l,l,s,o)},tr=r=>{if(r){e.current.searchConfig.page=e.current.searchConfig.page+1,qe();return}e.current.page=e.current.page+1,me(Math.random())},Se=()=>{const r=[...v],a=N||{label:ie({id:"root"}),value:"_paraui_first_floor"};return e.current.searchVal&&r.unshift({label:c.searchBreadcrumbs?c.searchBreadcrumbs:ie({id:"searchResult"}),value:"_paraui_search"}),ae&&r.unshift(a),e.current.breadcrumbsList=r,r},ar=r=>{const a=[];for(let t=0,n=v.length;t<n;t++){const s=v[t];if(a.push(s),s.value===r.value)break}return a},nr=r=>{const a=e.current.breadcrumbsList;if(a.length===0||r.value===a[a.length-1].value)return;const t=r.value||"",n=N?N.value:"_paraui_first_floor";if(r.value==="_paraui_search"){de({val:e.current.searchVal}),D([...e.current.beforeSearchBreadcrumbs||[]]);return}if(e.current.beforeSearchBreadcrumbs&&r.value===n&&(e.current.searchVal="",e.current.beforeSearchBreadcrumbs=null,de({val:""}),Se()),D(t===n?[]:ar(r)),T)if(t===n)e.current.currentSourceData=[...e.current.oneDataList];else{const s=e.current.jsonData[t];e.current.currentSourceData=s[C.children]||[]}else e.current.reqParams.isLazy&&e.current.reqParams.pagination&&(e.current.currentSourceData=[]);q()},ye=r=>{const a=r.isTree;if(e.current.reqParams.pagination){const t=r.data||{},n=t.list||[],s=t.total,o=p(n,!a,!0),u=[...e.current.searchConfig.currentSourceData,...o];e.current.searchConfig.currentSourceData=u,O(u),e.current.searchConfig.page*e.current.searchConfig.size>=s?he(!1):he(!0)}else{const t=r.data||[],n=p(t,!a,!0);e.current.searchConfig.currentSourceData=n,O(n)}},De=r=>{const{data:a,err:t}=r;if(t){x(!1),e.current.reqParams.pagination&&e.current.searchConfig.page!==1&&(e.current.searchConfig.page=e.current.searchConfig.page-1);return}if(c.requestCallback){c.requestCallback(a,n=>{x(!1),ye(n)},!0);return}x(!1),ye(a)},qe=async()=>{if(oe){const t={};e.current.reqParams.pagination&&(t.size=e.current.searchConfig.size,t.page=e.current.searchConfig.page);const n=await oe(e.current.searchVal,t);De(n);return}let r={method:Z,url:c.url||"",ctx:Y,uuid:e.current.reqId,data:{searchKey:e.current.searchVal?.trim(),...c.params}};e.current.reqParams.pagination&&(r.data.size=e.current.searchConfig.size,r.data.page=e.current.searchConfig.page),r=c.paramsCallback?c.paramsCallback(r,!0):r;const a=await Le.reqFunc(r);De(a)},cr=(r,a)=>{let t=a;const n=s=>{for(let o=0,u=s.length;o<u;o++){const h=s[o],l=h[L],i=h.children||[];if(l===r){t=i;return}n(i)}};return n(a),t},sr=async(r,a)=>{if(x(!0),e.current.searchVal=r,r===""){if(O([]),x(!1),e.current.beforeSearchBreadcrumbs){if(e.current.breadcrumbsList=[...e.current.beforeSearchBreadcrumbs],D([...e.current.beforeSearchBreadcrumbs]),e.current.beforeSearchBreadcrumbs=null,T){const t=ge(),n=cr(t,e.current.oneDataList);e.current.currentSourceData=n}K()}a&&(K(),J&&J());return}e.current.searchConfig.page=1,e.current.searchConfig.currentSourceData=[],qe()},or=(r,a)=>{if(b==="radio"&&I(null,[],{},{}),b==="check"){const t=[...j];t.splice(a,1);const n={},s={};for(let o=0,u=t.length;o<u;o++){const l=t[o][y.key]||"";n[l]=e.current.jsonData[l],s[l]=e.current.jsonDataCopy[l]}I(t,t,n,s)}},pe=()=>z.jsxRuntimeExports.jsx(lr.default,{layout:k==="tb"?"tag":"node",backDataFieldConfig:y,groupType:ne,handSelectorNodeInfo:c.handSelectorNodeInfo,list:j,nodeMode:_,detail:F,detailRender:te,emptyProps:ce,onClose:or,selectDataTitleRender:c.selectDataTitleRender,selectRenderItem:Ee,selectRender:He,disabled:S}),ur=()=>{let r=`${R.$prefixCls}-selector`;return V&&(r+=` ${V}`),k&&(r+=` ${R.$prefixCls}-selector-${k}`),b&&(r+=` ${R.$prefixCls}-selector-${b}`),S===!0&&(r+=` ${R.$prefixCls}-selector-disabled`),ue&&(r+=` ${R.$prefixCls}-selector-error`),r};return z.jsxRuntimeExports.jsxs("div",{className:ur(),style:W,children:[z.jsxRuntimeExports.jsxs("div",{className:"selector-content",children:[k==="tb"&&pe(),z.jsxRuntimeExports.jsx(ir.default,{url:w,rowKey:L,value:fe,loadMore:Ae,isAllCheck:xe,list:le,groupType:ne,groupRange:$e,fieldConfig:C,nodeMode:_,selectMode:b,isLazy:re,detail:F,detailRender:te,search:Ie,searchTrigger:Re,searchPlaceholder:ze,searchLoading:Je,searchVal:Oe,disabled:S,disabledChild:Pe,loading:Qe,searchLoadMore:Ge,searchList:Ke,breadcrumbs:Ve,breadcrumbsSeparator:Be,breadcrumbsList:Se(),emptyProps:ce,mainHeader:we,onLevel:Ye,onSelect:Ze,onLoad:tr,onAllCheck:rr,onClickBreadcrumbs:nr,onSearch:sr,onRefresh:J}),k==="lr"&&pe()]}),z.jsxRuntimeExports.jsx(mr.default,{error:ue,helperText:_e,hideErrorDom:Me})]})};exports.default=gr;exports.handFieldConfig=je;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const z=require("../_virtual/jsx-runtime.js"),d=require("react"),ur=require("./selectorMain/index.js"),ir=require("./selectorData/index.js"),Le=require("./util.js"),lr=require("@snack-kit/lib"),fr=require("../Utils/snack-kit-shims.js"),dr=require("../Hooks/useGlobalProps.js"),hr=require("../GlobalContext/useFormatMessage.js"),R=require("../GlobalContext/constant.js"),mr=require("./lang/index.js"),gr=require("../HelperText/index.js");;/* empty css */const ke=(c,V)=>({mainTitle:"label",children:"children",parentId:"parentId",key:V,type:"type",...c}),br=c=>{const{className:V,style:W,rowKey:L="key",layout:k="lr",nodeMode:A="branch",selectMode:b,refresh:X,ctx:Y,url:w,method:Z="Get",value:B,defaultValue:ee,data:M,pagination:je=!1,size:E=10,isLazy:re=!1,isAllCheck:ve=!0,disabled:S,disabledChild:xe,detail:F,detailRender:te,backDataFieldConfig:Ie,search:Pe,searchPlaceholder:Te,searchTrigger:ze="onChange",breadcrumbs:Re=!0,breadcrumbsSeparator:Ve,breadcrumbsHead:N,showbreadcrumbsHead:ae=!0,groupType:ne,groupRange:Be="search",emptyProps:ce,selectRenderItem:Ee,selectRender:$e,onChange:se,onSelect:$,onSearch:oe,onRefresh:J,error:ue=!1,hideErrorDom:He=!0,helperText:_e="",mainHeader:Ae}=dr.default(c,"Selector"),ie=hr.default("Selector",mr.default),C=ke(c.fieldConfig,L),y={...C,...Ie},[le,H]=d.useState([]),[we,_]=d.useState(!1),[j,Me]=d.useState([]),[fe,Fe]=d.useState({}),[v,D]=d.useState([]),[Ne,x]=d.useState(!1),[Je,de]=d.useState({val:""}),[Oe,O]=d.useState([]),[Ke,he]=d.useState(!1),[Ge,I]=d.useState(!0),[Qe,me]=d.useState(),e=d.useRef({jsonData:{},jsonDataCopy:{},oneDataList:[],currentSourceData:[],selectValueJson:{},breadcrumbsList:[],reqId:"",reqParams:{size:E,pagination:!1,isLazy:!1},noLazyReq:!1,reqTimer:null,page:1,searchVal:"",beforeSearchBreadcrumbs:null,searchConfig:{page:1,size:E,reqId:"",currentSourceData:[]}});e.current.searchConfig.size=E,e.current.reqParams.size=E,e.current.reqParams.pagination=je,e.current.reqParams.isLazy=re;const P=c.data||!e.current.reqParams.isLazy&&e.current.noLazyReq;d.useEffect(()=>(ee!==void 0&&G(ee),()=>{e.current.reqTimer&&clearTimeout(e.current.reqTimer)}),[]),d.useEffect(()=>{B!==void 0&&G(B)},[B]),d.useEffect(()=>{if(M){const r=p(M,!1);e.current.oneDataList=r,e.current.currentSourceData=r,D([]),q()}},[M]),d.useEffect(()=>{w&&(D([]),q())},[w]),d.useEffect(()=>{e.current.reqTimer&&clearTimeout(e.current.reqTimer),c.url&&lr.Cancel(e.current.reqId),e.current.reqTimer=setTimeout(()=>{if(P){const r=e.current.currentSourceData;if(e.current.reqParams.pagination){const a=r.slice(0,e.current.page*e.current.reqParams.size);H(a),e.current.page*e.current.reqParams.size>=r.length?_(!1):_(!0)}else H(r);I(!1)}if(c.url){const r={method:Z,url:c.url,ctx:Y,onCancelId:a=>{e.current.reqId=a},data:{parentId:ge(),...c.params}};e.current.reqParams.isLazy?(e.current.reqParams.pagination&&(r.data.size=e.current.reqParams.size,r.data.page=e.current.page),be(c.paramsCallback?c.paramsCallback(r):r)):e.current.noLazyReq||be(c.paramsCallback?c.paramsCallback(r):r)}},50)},[Qe]),d.useEffect(()=>{X&&K()},[X]);const K=()=>{P||(e.current.currentSourceData=[]),q()},Ue=(r,a)=>{let t={key:r[L],parentId:r[C.parentId],type:r[C.type],img:r[C.img],mainTitle:r[C.mainTitle],subTitle:r[C.subTitle],tag:r[C.tag],children:[],disabled:!1,disabledChild:!1,choice:b!==void 0,detail:F,leaf:A==="leaf",data:r};return c.handNodeInfo&&(t=c.handNodeInfo(t,a)),t},p=(r,a,t)=>{const n=[],s={},o=h=>{for(let l=0,i=h.length;l<i;l++){const g=h[l],f=g[L]||"",m=Ue(g,!!t);s[f]=m;const U=C.children;e.current.jsonDataCopy[f]=g,e.current.jsonData[f]=m,g[U]&&o(g[U])}};o(r);const u=Object.keys(s);for(let h=0,l=u.length;h<l;h++){const i=u[h],g=s[i],f=g.parentId||"";if(a){n.push(g);continue}f&&s[f]?(s[f].children||(s[f].children=[]),s[f].children.push(g)):n.push(g)}return n},ge=()=>{let r;return e.current.breadcrumbsList.length>0?r=e.current.breadcrumbsList[e.current.breadcrumbsList.length-1].value:c.breadcrumbsHead&&(r=c.breadcrumbsHead.value),ae&&e.current.breadcrumbsList.length===1&&(r=void 0,c.breadcrumbsHead&&(r=c.breadcrumbsHead.value)),r},be=async r=>{I(!0);const{data:a,error:t}=await Le.reqFunc(r);if(t){I(!1),e.current.reqParams.isLazy&&e.current.reqParams.pagination&&e.current.page!==1&&(e.current.page=e.current.page-1);return}if(c.requestCallback){c.requestCallback(a,n=>{I(!1),Ce(n)});return}I(!1),Ce(a)},Ce=r=>{if(e.current.reqParams.isLazy)if(e.current.reqParams.pagination){const a=r.data||{},t=a.list||[],n=a.total,s=p(t,!0),o=[...e.current.currentSourceData,...s];e.current.currentSourceData=o,H(o),e.current.page*e.current.reqParams.size>=n?_(!1):_(!0)}else{const a=r.data||[],t=p(a,!0);e.current.currentSourceData=t,H(t)}else{e.current.noLazyReq=!0;const a=r.data||[],t=p(a,!1);e.current.oneDataList=t,e.current.currentSourceData=t,q()}},q=()=>{e.current.page=1,me(Math.random())},G=r=>{let a=r?Array.isArray(r)?r:[r]:[];r instanceof Array&&(a=[...r]);const t=fr.ArrayToObject(y.key,a);e.current.selectValueJson=t,Fe(t),Me([...a])},We=(r,a)=>{let t=[...v];a&&(t=[],e.current.beforeSearchBreadcrumbs===null&&(e.current.beforeSearchBreadcrumbs=[...v])),t.push({label:r.mainTitle,value:r.key||""}),D(t)},Xe=(r,a)=>{We(r,a),P?(e.current.currentSourceData=r.children||[],q()):e.current.reqParams.isLazy&&(e.current.reqParams.pagination&&(e.current.currentSourceData=[]),q())},Q=r=>{const a=["key","img","mainTitle","subTitle","tag"];c.groupType&&c.groupType.length>0&&a.push("type");const t={};for(let n=0,s=a.length;n<s;n++){const o=a[n],u=y[o];u&&(t[u]=r[o])}return t},T=(r,a,t,n)=>{se&&se(r,t,n),B==null&&G(r||[])},Ye=async r=>{const a=r.key||"";if(b==="radio"&&fe[a])return;const t=e.current.selectValueJson[a];if(!($&&await $(r,b==="radio"?!0:!t,!1))){if(b==="radio"){const n=Q(r);T(n,[n],e.current.jsonData[a],e.current.jsonDataCopy[a])}if(b==="check"){const n=[],s={},o={};for(let u=0,h=j.length;u<h;u++){const l=j[u];if(!t||r.key!==l[y.key]){const i=l[y.key]||"";s[i]=e.current.jsonData[i],o[i]=e.current.jsonDataCopy[i],n.push(l)}}if(!t){const u=Q(r);s[a]=e.current.jsonData[a],o[a]=e.current.jsonDataCopy[a],n.push(u)}T(n,n,s,o)}}},Ze=r=>!!(S&&(S===!0||S instanceof Array&&r.key&&S.indexOf(r.key)!==-1)||r.disabled),er=async r=>{const a=[...le],t=[...j],n=[],s={},o={},u=[],h=[];for(let i=0,g=a.length;i<g;i++){const f=a[i],m=f.key||"";Ze(f)||(r?e.current.selectValueJson[m]||(t.push(Q(f)),h.push(f)):e.current.selectValueJson[m]&&(u.push(m),h.push(f)))}for(let i=0,g=t.length;i<g;i++){const f=t[i],m=f[y.key]||"";r?(s[m]=e.current.jsonData[m],o[m]=e.current.jsonDataCopy[m]):u.indexOf(m)===-1&&(s[m]=e.current.jsonData[m],o[m]=e.current.jsonDataCopy[m],n.push(f))}const l=r?t:n;$&&await $(h,!!r,!1)||T(l,l,s,o)},rr=r=>{if(r){e.current.searchConfig.page=e.current.searchConfig.page+1,qe();return}e.current.page=e.current.page+1,me(Math.random())},Se=()=>{const r=[...v],a=N||{label:ie({id:"root"}),value:"_paraui_first_floor"};return e.current.searchVal&&r.unshift({label:c.searchBreadcrumbs?c.searchBreadcrumbs:ie({id:"searchResult"}),value:"_paraui_search"}),ae&&r.unshift(a),e.current.breadcrumbsList=r,r},tr=r=>{const a=[];for(let t=0,n=v.length;t<n;t++){const s=v[t];if(a.push(s),s.value===r.value)break}return a},ar=r=>{const a=e.current.breadcrumbsList;if(a.length===0||r.value===a[a.length-1].value)return;const t=r.value||"",n=N?N.value:"_paraui_first_floor";if(r.value==="_paraui_search"){de({val:e.current.searchVal}),D([...e.current.beforeSearchBreadcrumbs||[]]);return}if(e.current.beforeSearchBreadcrumbs&&r.value===n&&(e.current.searchVal="",e.current.beforeSearchBreadcrumbs=null,de({val:""}),Se()),D(t===n?[]:tr(r)),P)if(t===n)e.current.currentSourceData=[...e.current.oneDataList];else{const s=e.current.jsonData[t];e.current.currentSourceData=s[C.children]||[]}else e.current.reqParams.isLazy&&e.current.reqParams.pagination&&(e.current.currentSourceData=[]);q()},ye=r=>{const a=r.isTree;if(e.current.reqParams.pagination){const t=r.data||{},n=t.list||[],s=t.total,o=p(n,!a,!0),u=[...e.current.searchConfig.currentSourceData,...o];e.current.searchConfig.currentSourceData=u,O(u),e.current.searchConfig.page*e.current.searchConfig.size>=s?he(!1):he(!0)}else{const t=r.data||[],n=p(t,!a,!0);e.current.searchConfig.currentSourceData=n,O(n)}},De=r=>{const{data:a,error:t}=r;if(t){x(!1),e.current.reqParams.pagination&&e.current.searchConfig.page!==1&&(e.current.searchConfig.page=e.current.searchConfig.page-1);return}if(c.requestCallback){c.requestCallback(a,n=>{x(!1),ye(n)},!0);return}x(!1),ye(a)},qe=async()=>{if(oe){const t={};e.current.reqParams.pagination&&(t.size=e.current.searchConfig.size,t.page=e.current.searchConfig.page);const n=await oe(e.current.searchVal,t);De(n);return}let r={method:Z,url:c.url||"",ctx:Y,onCancelId:t=>{e.current.reqId=t},data:{searchKey:e.current.searchVal?.trim(),...c.params}};e.current.reqParams.pagination&&(r.data.size=e.current.searchConfig.size,r.data.page=e.current.searchConfig.page),r=c.paramsCallback?c.paramsCallback(r,!0):r;const a=await Le.reqFunc(r);De(a)},nr=(r,a)=>{let t=a;const n=s=>{for(let o=0,u=s.length;o<u;o++){const h=s[o],l=h[L],i=h.children||[];if(l===r){t=i;return}n(i)}};return n(a),t},cr=async(r,a)=>{if(x(!0),e.current.searchVal=r,r===""){if(O([]),x(!1),e.current.beforeSearchBreadcrumbs){if(e.current.breadcrumbsList=[...e.current.beforeSearchBreadcrumbs],D([...e.current.beforeSearchBreadcrumbs]),e.current.beforeSearchBreadcrumbs=null,P){const t=ge(),n=nr(t,e.current.oneDataList);e.current.currentSourceData=n}K()}a&&(K(),J&&J());return}e.current.searchConfig.page=1,e.current.searchConfig.currentSourceData=[],qe()},sr=(r,a)=>{if(b==="radio"&&T(null,[],{},{}),b==="check"){const t=[...j];t.splice(a,1);const n={},s={};for(let o=0,u=t.length;o<u;o++){const l=t[o][y.key]||"";n[l]=e.current.jsonData[l],s[l]=e.current.jsonDataCopy[l]}T(t,t,n,s)}},pe=()=>z.jsxRuntimeExports.jsx(ir.default,{layout:k==="tb"?"tag":"node",backDataFieldConfig:y,groupType:ne,handSelectorNodeInfo:c.handSelectorNodeInfo,list:j,nodeMode:A,detail:F,detailRender:te,emptyProps:ce,onClose:sr,selectDataTitleRender:c.selectDataTitleRender,selectRenderItem:Ee,selectRender:$e,disabled:S}),or=()=>{let r=`${R.$prefixCls}-selector`;return V&&(r+=` ${V}`),k&&(r+=` ${R.$prefixCls}-selector-${k}`),b&&(r+=` ${R.$prefixCls}-selector-${b}`),S===!0&&(r+=` ${R.$prefixCls}-selector-disabled`),ue&&(r+=` ${R.$prefixCls}-selector-error`),r};return z.jsxRuntimeExports.jsxs("div",{className:or(),style:W,children:[z.jsxRuntimeExports.jsxs("div",{className:"selector-content",children:[k==="tb"&&pe(),z.jsxRuntimeExports.jsx(ur.default,{url:w,rowKey:L,value:fe,loadMore:we,isAllCheck:ve,list:le,groupType:ne,groupRange:Be,fieldConfig:C,nodeMode:A,selectMode:b,isLazy:re,detail:F,detailRender:te,search:Pe,searchTrigger:ze,searchPlaceholder:Te,searchLoading:Ne,searchVal:Je,disabled:S,disabledChild:xe,loading:Ge,searchLoadMore:Ke,searchList:Oe,breadcrumbs:Re,breadcrumbsSeparator:Ve,breadcrumbsList:Se(),emptyProps:ce,mainHeader:Ae,onLevel:Xe,onSelect:Ye,onLoad:rr,onAllCheck:er,onClickBreadcrumbs:ar,onSearch:cr,onRefresh:J}),k==="lr"&&pe()]}),z.jsxRuntimeExports.jsx(gr.default,{error:ue,helperText:_e,hideErrorDom:He})]})};exports.default=br;exports.handFieldConfig=ke;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|