rsuite 5.60.2 → 5.61.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/Accordion/styles/index.css +4 -4
- package/AutoComplete/styles/index.css +58 -22
- package/Button/styles/index.css +12 -8
- package/Button/styles/mixin.less +1 -1
- package/CHANGELOG.md +25 -0
- package/Calendar/styles/index.css +16 -15
- package/CascadeTree/styles/index.css +11 -9
- package/CascadeTree/styles/index.less +7 -0
- package/CascadeTree/styles/search.less +0 -10
- package/Cascader/styles/index.css +60 -31
- package/CheckPicker/styles/index.css +59 -27
- package/CheckPicker/styles/index.less +3 -3
- package/CheckTree/styles/index.css +160 -134
- package/CheckTree/styles/index.less +141 -1
- package/CheckTreePicker/styles/index.css +170 -126
- package/CheckTreePicker/styles/index.less +8 -181
- package/Checkbox/styles/index.css +7 -8
- package/Checkbox/styles/index.less +1 -5
- package/DateInput/styles/index.css +4 -4
- package/DatePicker/styles/index.css +62 -26
- package/DateRangeInput/styles/index.css +4 -4
- package/DateRangePicker/styles/index.css +67 -26
- package/DateRangePicker/styles/index.less +2 -0
- package/Dropdown/styles/index.css +14 -13
- package/Highlight/package.json +7 -0
- package/Highlight/styles/index.css +8 -0
- package/Highlight/styles/index.less +6 -0
- package/IconButton/styles/index.css +11 -10
- package/Input/styles/index.css +4 -4
- package/InputGroup/styles/index.css +18 -17
- package/InputGroup/styles/index.less +1 -1
- package/InputNumber/styles/index.css +19 -18
- package/InputPicker/styles/index.css +58 -22
- package/MultiCascadeTree/styles/index.css +61 -36
- package/MultiCascadeTree/styles/index.less +1 -1
- package/MultiCascader/styles/index.css +704 -679
- package/MultiCascader/styles/index.less +0 -1
- package/Nav/styles/index.css +15 -14
- package/Navbar/styles/index.css +14 -13
- package/Pagination/styles/index.css +62 -26
- package/Panel/styles/index.css +4 -4
- package/Placeholder/styles/index.css +2 -3
- package/Placeholder/styles/index.less +2 -3
- package/README.md +21 -39
- package/Radio/styles/index.css +7 -7
- package/Radio/styles/index.less +1 -5
- package/RangeSlider/styles/index.css +1 -1
- package/Rate/styles/index.css +1 -1
- package/Rate/styles/index.less +1 -1
- package/SelectPicker/styles/index.css +58 -22
- package/Slider/styles/index.css +1 -1
- package/Slider/styles/index.less +1 -1
- package/Steps/styles/index.css +6 -1
- package/Steps/styles/index.less +2 -1
- package/Tabs/styles/index.css +15 -14
- package/TagInput/styles/index.css +59 -27
- package/TagPicker/styles/index.css +59 -27
- package/Toggle/styles/index.css +10 -7
- package/Tree/styles/indent-line.less +8 -0
- package/Tree/styles/index.css +140 -141
- package/Tree/styles/index.less +188 -1
- package/Tree/styles/toggle.less +36 -0
- package/TreePicker/styles/index.css +142 -134
- package/TreePicker/styles/index.less +4 -234
- package/Uploader/styles/index.css +12 -11
- package/cjs/@types/common.d.ts +41 -4
- package/cjs/AutoComplete/AutoComplete.js +2 -1
- package/cjs/CascadeTree/CascadeTree.js +8 -7
- package/cjs/CascadeTree/SearchView.js +7 -14
- package/cjs/CascadeTree/hooks/usePaths.js +4 -4
- package/cjs/CascadeTree/hooks/useSearch.js +2 -1
- package/cjs/CascadeTree/utils.d.ts +0 -11
- package/cjs/CascadeTree/utils.js +0 -23
- package/cjs/Cascader/Cascader.js +17 -16
- package/cjs/CheckPicker/CheckPicker.js +26 -29
- package/cjs/CheckTree/CheckTree.d.ts +16 -0
- package/cjs/CheckTree/CheckTree.js +112 -0
- package/cjs/CheckTree/CheckTreeNode.d.ts +72 -0
- package/cjs/CheckTree/CheckTreeNode.js +117 -0
- package/cjs/CheckTree/CheckTreeView.d.ts +70 -0
- package/cjs/CheckTree/CheckTreeView.js +310 -0
- package/cjs/CheckTree/hooks/useTreeCheckState.d.ts +10 -0
- package/cjs/CheckTree/hooks/useTreeCheckState.js +93 -0
- package/cjs/CheckTree/hooks/useTreeNodeProps.d.ts +22 -0
- package/cjs/CheckTree/hooks/useTreeNodeProps.js +59 -0
- package/cjs/CheckTree/hooks/useTreeValue.d.ts +5 -0
- package/cjs/CheckTree/hooks/useTreeValue.js +21 -0
- package/cjs/CheckTree/index.d.ts +2 -14
- package/cjs/CheckTree/index.js +2 -23
- package/cjs/CheckTree/utils.d.ts +53 -0
- package/cjs/{CheckTreePicker → CheckTree}/utils.js +76 -26
- package/cjs/CheckTreePicker/CheckTreePicker.d.ts +30 -12
- package/cjs/CheckTreePicker/CheckTreePicker.js +153 -603
- package/cjs/CheckTreePicker/hooks/useFocusState.d.ts +16 -0
- package/cjs/CheckTreePicker/hooks/useFocusState.js +42 -0
- package/cjs/DatePicker/DatePicker.d.ts +4 -0
- package/cjs/DatePicker/DatePicker.js +20 -5
- package/cjs/DatePicker/types.d.ts +0 -4
- package/cjs/DateRangePicker/DateRangePicker.d.ts +51 -23
- package/cjs/DateRangePicker/DateRangePicker.js +71 -51
- package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +16 -0
- package/cjs/DateRangePicker/hooks/useDateDisabled.js +31 -0
- package/cjs/DateRangePicker/types.d.ts +1 -0
- package/cjs/Highlight/Highlight.d.ts +14 -0
- package/cjs/Highlight/Highlight.js +58 -0
- package/cjs/Highlight/index.d.ts +3 -0
- package/cjs/Highlight/index.js +9 -0
- package/cjs/Highlight/utils/highlightText.d.ts +5 -0
- package/cjs/Highlight/utils/highlightText.js +29 -0
- package/cjs/InputPicker/InputPicker.js +37 -41
- package/cjs/MultiCascadeTree/SearchView.js +6 -14
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +15 -1
- package/cjs/MultiCascadeTree/hooks/useColumnData.js +2 -2
- package/cjs/MultiCascadeTree/hooks/useFlattenData.js +3 -3
- package/cjs/MultiCascadeTree/hooks/useSearch.js +2 -1
- package/cjs/MultiCascadeTree/utils.d.ts +4 -4
- package/cjs/MultiCascadeTree/utils.js +20 -11
- package/cjs/MultiCascader/MultiCascader.js +12 -12
- package/cjs/SelectPicker/SelectPicker.js +2 -6
- package/cjs/Tree/IndentLine.d.ts +3 -0
- package/cjs/Tree/IndentLine.js +18 -0
- package/cjs/Tree/Tree.d.ts +4 -92
- package/cjs/Tree/Tree.js +79 -20
- package/cjs/Tree/TreeNode.d.ts +101 -0
- package/cjs/Tree/TreeNode.js +147 -0
- package/cjs/Tree/TreeNodeToggle.d.ts +9 -0
- package/cjs/Tree/TreeNodeToggle.js +56 -0
- package/cjs/Tree/TreeProvider.d.ts +52 -0
- package/cjs/Tree/TreeProvider.js +84 -0
- package/cjs/Tree/TreeView.d.ts +68 -0
- package/cjs/Tree/TreeView.js +305 -0
- package/cjs/Tree/hooks/useExpandTree.d.ts +60 -0
- package/cjs/Tree/hooks/useExpandTree.js +77 -0
- package/cjs/Tree/hooks/useFlattenTree.d.ts +42 -0
- package/cjs/Tree/hooks/useFlattenTree.js +98 -0
- package/cjs/Tree/hooks/useFocusTree.d.ts +24 -0
- package/cjs/Tree/hooks/useFocusTree.js +158 -0
- package/cjs/Tree/hooks/useForceUpdate.d.ts +2 -0
- package/cjs/Tree/hooks/useForceUpdate.js +16 -0
- package/cjs/Tree/hooks/useTreeDrag.d.ts +32 -0
- package/cjs/Tree/hooks/useTreeDrag.js +268 -0
- package/cjs/Tree/hooks/useTreeNodeProps.d.ts +29 -0
- package/cjs/Tree/hooks/useTreeNodeProps.js +83 -0
- package/cjs/Tree/hooks/useTreeNodeRefs.d.ts +6 -0
- package/cjs/Tree/hooks/useTreeNodeRefs.js +22 -0
- package/cjs/Tree/hooks/useTreeSearch.d.ts +18 -0
- package/cjs/Tree/hooks/useTreeSearch.js +74 -0
- package/cjs/Tree/hooks/useTreeWithChildren.d.ts +14 -0
- package/cjs/Tree/hooks/useTreeWithChildren.js +64 -0
- package/cjs/Tree/hooks/useVirtualizedTreeData.d.ts +7 -0
- package/cjs/Tree/hooks/useVirtualizedTreeData.js +82 -0
- package/cjs/Tree/types.d.ts +257 -0
- package/cjs/Tree/types.js +33 -0
- package/cjs/Tree/utils/flattenTree.d.ts +25 -0
- package/cjs/Tree/utils/flattenTree.js +95 -0
- package/cjs/Tree/utils/focusableTree.d.ts +55 -0
- package/cjs/Tree/utils/focusableTree.js +157 -0
- package/cjs/Tree/utils/formatNodeRefKey.d.ts +4 -0
- package/cjs/Tree/utils/formatNodeRefKey.js +11 -0
- package/cjs/Tree/utils/getExpandItemValues.d.ts +11 -0
- package/cjs/Tree/utils/getExpandItemValues.js +21 -0
- package/cjs/Tree/utils/getNodeParentKeys.d.ts +5 -0
- package/cjs/Tree/utils/getNodeParentKeys.js +21 -0
- package/cjs/Tree/utils/getTreeActiveNode.d.ts +5 -0
- package/cjs/Tree/utils/getTreeActiveNode.js +21 -0
- package/cjs/Tree/utils/hasVisibleChildren.d.ts +5 -0
- package/cjs/Tree/utils/hasVisibleChildren.js +16 -0
- package/cjs/Tree/utils/indentTreeNode.d.ts +3 -0
- package/cjs/Tree/utils/indentTreeNode.js +18 -0
- package/cjs/Tree/utils/index.d.ts +11 -0
- package/cjs/Tree/utils/index.js +35 -0
- package/cjs/Tree/utils/isExpand.d.ts +6 -0
- package/cjs/Tree/utils/isExpand.js +14 -0
- package/cjs/Tree/utils/isSearching.d.ts +1 -0
- package/cjs/Tree/utils/isSearching.js +10 -0
- package/cjs/Tree/utils/treeKeyboardInteractions.d.ts +21 -0
- package/cjs/Tree/utils/treeKeyboardInteractions.js +49 -0
- package/cjs/TreePicker/TreePicker.d.ts +27 -21
- package/cjs/TreePicker/TreePicker.js +155 -575
- package/cjs/TreePicker/hooks/useFocusState.d.ts +20 -0
- package/cjs/TreePicker/hooks/useFocusState.js +53 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +3 -1
- package/cjs/internals/Picker/Listbox.d.ts +40 -10
- package/cjs/internals/Picker/Listbox.js +21 -16
- package/cjs/internals/Picker/PickerIndicator.d.ts +2 -1
- package/cjs/internals/Picker/PickerIndicator.js +7 -3
- package/cjs/internals/Picker/hooks/useFocusItemValue.js +4 -4
- package/cjs/internals/Picker/hooks/usePickerRef.d.ts +1 -4
- package/cjs/internals/Picker/hooks/usePickerRef.js +3 -20
- package/cjs/internals/Picker/index.d.ts +0 -1
- package/cjs/internals/Picker/index.js +1 -4
- package/cjs/internals/Picker/utils.js +12 -12
- package/cjs/internals/{Picker → Tree}/TreeView.js +1 -1
- package/cjs/internals/Tree/index.d.ts +1 -0
- package/cjs/internals/Tree/index.js +8 -0
- package/cjs/internals/Tree/utils/filterNodesOfTree.d.ts +5 -0
- package/cjs/internals/Tree/utils/filterNodesOfTree.js +31 -0
- package/cjs/internals/Tree/utils/findNodeOfTree.d.ts +1 -0
- package/cjs/internals/Tree/utils/findNodeOfTree.js +26 -0
- package/cjs/internals/Tree/utils/getParentMap.d.ts +15 -0
- package/cjs/internals/Tree/utils/getParentMap.js +52 -0
- package/cjs/internals/Tree/utils/getPathTowardsItem.d.ts +4 -0
- package/cjs/internals/Tree/utils/getPathTowardsItem.js +16 -0
- package/cjs/internals/Tree/utils/index.d.ts +4 -0
- package/cjs/internals/Tree/utils/index.js +14 -0
- package/cjs/internals/Windowing/List.d.ts +1 -0
- package/cjs/internals/Windowing/List.js +5 -1
- package/cjs/internals/Windowing/index.d.ts +1 -1
- package/cjs/internals/Windowing/index.js +4 -2
- package/cjs/internals/hooks/index.d.ts +1 -0
- package/cjs/internals/hooks/index.js +8 -0
- package/cjs/internals/hooks/useFoucsVirtualListItem.d.ts +7 -0
- package/cjs/internals/hooks/useFoucsVirtualListItem.js +26 -0
- package/cjs/{utils → internals/utils}/getSafeRegExpString.d.ts +1 -1
- package/cjs/{utils → internals/utils}/getSafeRegExpString.js +1 -1
- package/cjs/internals/utils/index.d.ts +2 -0
- package/cjs/internals/utils/index.js +9 -0
- package/cjs/internals/utils/stringifyReactNode.d.ts +2 -0
- package/cjs/internals/utils/stringifyReactNode.js +17 -0
- package/cjs/utils/constants.d.ts +0 -2
- package/cjs/utils/constants.js +1 -6
- package/cjs/utils/getDataGroupBy.js +3 -3
- package/cjs/utils/index.d.ts +0 -3
- package/cjs/utils/index.js +1 -10
- package/cjs/utils/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/rsuite-no-reset-rtl.css +292 -300
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +294 -304
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +293 -301
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +295 -305
- package/dist/rsuite.js +611 -116
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +41 -4
- package/esm/AutoComplete/AutoComplete.js +2 -1
- package/esm/CascadeTree/CascadeTree.js +2 -1
- package/esm/CascadeTree/SearchView.js +6 -13
- package/esm/CascadeTree/hooks/usePaths.js +1 -1
- package/esm/CascadeTree/hooks/useSearch.js +2 -1
- package/esm/CascadeTree/utils.d.ts +0 -11
- package/esm/CascadeTree/utils.js +0 -22
- package/esm/Cascader/Cascader.js +2 -1
- package/esm/CheckPicker/CheckPicker.js +4 -7
- package/esm/CheckTree/CheckTree.d.ts +16 -0
- package/esm/CheckTree/CheckTree.js +105 -0
- package/esm/CheckTree/CheckTreeNode.d.ts +72 -0
- package/esm/CheckTree/CheckTreeNode.js +110 -0
- package/esm/CheckTree/CheckTreeView.d.ts +70 -0
- package/esm/CheckTree/CheckTreeView.js +304 -0
- package/esm/CheckTree/hooks/useTreeCheckState.d.ts +10 -0
- package/esm/CheckTree/hooks/useTreeCheckState.js +87 -0
- package/esm/CheckTree/hooks/useTreeNodeProps.d.ts +22 -0
- package/esm/CheckTree/hooks/useTreeNodeProps.js +52 -0
- package/esm/CheckTree/hooks/useTreeValue.d.ts +5 -0
- package/esm/CheckTree/hooks/useTreeValue.js +16 -0
- package/esm/CheckTree/index.d.ts +2 -14
- package/esm/CheckTree/index.js +1 -21
- package/esm/CheckTree/utils.d.ts +53 -0
- package/esm/{CheckTreePicker → CheckTree}/utils.js +72 -22
- package/esm/CheckTreePicker/CheckTreePicker.d.ts +30 -12
- package/esm/CheckTreePicker/CheckTreePicker.js +156 -607
- package/esm/CheckTreePicker/hooks/useFocusState.d.ts +16 -0
- package/esm/CheckTreePicker/hooks/useFocusState.js +37 -0
- package/esm/DatePicker/DatePicker.d.ts +4 -0
- package/esm/DatePicker/DatePicker.js +20 -5
- package/esm/DatePicker/types.d.ts +0 -4
- package/esm/DateRangePicker/DateRangePicker.d.ts +51 -23
- package/esm/DateRangePicker/DateRangePicker.js +71 -51
- package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +16 -0
- package/esm/DateRangePicker/hooks/useDateDisabled.js +26 -0
- package/esm/DateRangePicker/types.d.ts +1 -0
- package/esm/Highlight/Highlight.d.ts +14 -0
- package/esm/Highlight/Highlight.js +52 -0
- package/esm/Highlight/index.d.ts +3 -0
- package/esm/Highlight/index.js +3 -0
- package/esm/Highlight/utils/highlightText.d.ts +5 -0
- package/esm/Highlight/utils/highlightText.js +25 -0
- package/esm/InputPicker/InputPicker.js +3 -7
- package/esm/MultiCascadeTree/SearchView.js +6 -14
- package/esm/MultiCascadeTree/hooks/useCascadeValue.js +15 -1
- package/esm/MultiCascadeTree/hooks/useColumnData.js +1 -1
- package/esm/MultiCascadeTree/hooks/useFlattenData.js +1 -1
- package/esm/MultiCascadeTree/hooks/useSearch.js +2 -1
- package/esm/MultiCascadeTree/utils.d.ts +4 -4
- package/esm/MultiCascadeTree/utils.js +18 -9
- package/esm/MultiCascader/MultiCascader.js +1 -1
- package/esm/SelectPicker/SelectPicker.js +2 -6
- package/esm/Tree/IndentLine.d.ts +3 -0
- package/esm/Tree/IndentLine.js +12 -0
- package/esm/Tree/Tree.d.ts +4 -92
- package/esm/Tree/Tree.js +78 -18
- package/esm/Tree/TreeNode.d.ts +101 -0
- package/esm/Tree/TreeNode.js +141 -0
- package/esm/Tree/TreeNodeToggle.d.ts +9 -0
- package/esm/Tree/TreeNodeToggle.js +50 -0
- package/esm/Tree/TreeProvider.d.ts +52 -0
- package/esm/Tree/TreeProvider.js +74 -0
- package/esm/Tree/TreeView.d.ts +68 -0
- package/esm/Tree/TreeView.js +299 -0
- package/esm/Tree/hooks/useExpandTree.d.ts +60 -0
- package/esm/Tree/hooks/useExpandTree.js +70 -0
- package/esm/Tree/hooks/useFlattenTree.d.ts +42 -0
- package/esm/Tree/hooks/useFlattenTree.js +92 -0
- package/esm/Tree/hooks/useFocusTree.d.ts +24 -0
- package/esm/Tree/hooks/useFocusTree.js +153 -0
- package/esm/Tree/hooks/useForceUpdate.d.ts +2 -0
- package/esm/Tree/hooks/useForceUpdate.js +11 -0
- package/esm/Tree/hooks/useTreeDrag.d.ts +32 -0
- package/esm/Tree/hooks/useTreeDrag.js +264 -0
- package/esm/Tree/hooks/useTreeNodeProps.d.ts +29 -0
- package/esm/Tree/hooks/useTreeNodeProps.js +76 -0
- package/esm/Tree/hooks/useTreeNodeRefs.d.ts +6 -0
- package/esm/Tree/hooks/useTreeNodeRefs.js +18 -0
- package/esm/Tree/hooks/useTreeSearch.d.ts +18 -0
- package/esm/Tree/hooks/useTreeSearch.js +69 -0
- package/esm/Tree/hooks/useTreeWithChildren.d.ts +14 -0
- package/esm/Tree/hooks/useTreeWithChildren.js +59 -0
- package/esm/Tree/hooks/useVirtualizedTreeData.d.ts +7 -0
- package/esm/Tree/hooks/useVirtualizedTreeData.js +77 -0
- package/esm/Tree/types.d.ts +257 -0
- package/esm/Tree/types.js +30 -0
- package/esm/Tree/utils/flattenTree.d.ts +25 -0
- package/esm/Tree/utils/flattenTree.js +88 -0
- package/esm/Tree/utils/focusableTree.d.ts +55 -0
- package/esm/Tree/utils/focusableTree.js +146 -0
- package/esm/Tree/utils/formatNodeRefKey.d.ts +4 -0
- package/esm/Tree/utils/formatNodeRefKey.js +7 -0
- package/esm/Tree/utils/getExpandItemValues.d.ts +11 -0
- package/esm/Tree/utils/getExpandItemValues.js +17 -0
- package/esm/Tree/utils/getNodeParentKeys.d.ts +5 -0
- package/esm/Tree/utils/getNodeParentKeys.js +17 -0
- package/esm/Tree/utils/getTreeActiveNode.d.ts +5 -0
- package/esm/Tree/utils/getTreeActiveNode.js +16 -0
- package/esm/Tree/utils/hasVisibleChildren.d.ts +5 -0
- package/esm/Tree/utils/hasVisibleChildren.js +12 -0
- package/esm/Tree/utils/indentTreeNode.d.ts +3 -0
- package/esm/Tree/utils/indentTreeNode.js +14 -0
- package/esm/Tree/utils/index.d.ts +11 -0
- package/esm/Tree/utils/index.js +14 -0
- package/esm/Tree/utils/isExpand.d.ts +6 -0
- package/esm/Tree/utils/isExpand.js +11 -0
- package/esm/Tree/utils/isSearching.d.ts +1 -0
- package/esm/Tree/utils/isSearching.js +5 -0
- package/esm/Tree/utils/treeKeyboardInteractions.d.ts +21 -0
- package/esm/Tree/utils/treeKeyboardInteractions.js +43 -0
- package/esm/TreePicker/TreePicker.d.ts +27 -21
- package/esm/TreePicker/TreePicker.js +158 -579
- package/esm/TreePicker/hooks/useFocusState.d.ts +20 -0
- package/esm/TreePicker/hooks/useFocusState.js +48 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/internals/Picker/Listbox.d.ts +40 -10
- package/esm/internals/Picker/Listbox.js +22 -16
- package/esm/internals/Picker/PickerIndicator.d.ts +2 -1
- package/esm/internals/Picker/PickerIndicator.js +7 -3
- package/esm/internals/Picker/hooks/useFocusItemValue.js +1 -1
- package/esm/internals/Picker/hooks/usePickerRef.d.ts +1 -4
- package/esm/internals/Picker/hooks/usePickerRef.js +3 -20
- package/esm/internals/Picker/index.d.ts +0 -1
- package/esm/internals/Picker/index.js +0 -1
- package/esm/internals/Picker/utils.js +1 -1
- package/esm/internals/{Picker → Tree}/TreeView.js +1 -1
- package/esm/internals/Tree/index.d.ts +1 -0
- package/esm/internals/Tree/index.js +2 -0
- package/esm/internals/Tree/utils/filterNodesOfTree.d.ts +5 -0
- package/esm/internals/Tree/utils/filterNodesOfTree.js +26 -0
- package/esm/internals/Tree/utils/findNodeOfTree.d.ts +1 -0
- package/esm/internals/Tree/utils/findNodeOfTree.js +22 -0
- package/esm/internals/Tree/utils/getParentMap.d.ts +15 -0
- package/esm/internals/Tree/utils/getParentMap.js +47 -0
- package/esm/internals/Tree/utils/getPathTowardsItem.d.ts +4 -0
- package/esm/internals/Tree/utils/getPathTowardsItem.js +12 -0
- package/esm/internals/Tree/utils/index.d.ts +4 -0
- package/esm/internals/Tree/utils/index.js +5 -0
- package/esm/internals/Windowing/List.d.ts +1 -0
- package/esm/internals/Windowing/List.js +3 -0
- package/esm/internals/Windowing/index.d.ts +1 -1
- package/esm/internals/Windowing/index.js +1 -1
- package/esm/internals/hooks/index.d.ts +1 -0
- package/esm/internals/hooks/index.js +2 -0
- package/esm/internals/hooks/useFoucsVirtualListItem.d.ts +7 -0
- package/esm/internals/hooks/useFoucsVirtualListItem.js +22 -0
- package/esm/{utils → internals/utils}/getSafeRegExpString.d.ts +1 -1
- package/esm/{utils → internals/utils}/getSafeRegExpString.js +1 -1
- package/esm/internals/utils/index.d.ts +2 -0
- package/esm/internals/utils/index.js +3 -0
- package/esm/internals/utils/stringifyReactNode.d.ts +2 -0
- package/esm/internals/utils/stringifyReactNode.js +12 -0
- package/esm/utils/constants.d.ts +0 -2
- package/esm/utils/constants.js +0 -3
- package/esm/utils/getDataGroupBy.js +1 -1
- package/esm/utils/index.d.ts +0 -3
- package/esm/utils/index.js +0 -3
- package/esm/utils/useIsomorphicLayoutEffect.d.ts +2 -2
- package/internals/Picker/styles/index.less +27 -1
- package/package.json +1 -1
- package/styles/color-modes/dark.less +5 -1
- package/styles/color-modes/high-contrast.less +8 -2
- package/styles/color-modes/light.less +10 -5
- package/styles/index.less +1 -0
- package/TreePicker/styles/mixin.less +0 -7
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +0 -28
- package/cjs/CheckTreePicker/CheckTreeNode.js +0 -140
- package/cjs/CheckTreePicker/utils.d.ts +0 -44
- package/cjs/Tree/TreeContext.d.ts +0 -6
- package/cjs/Tree/TreeContext.js +0 -10
- package/cjs/TreePicker/TreeNode.d.ts +0 -36
- package/cjs/TreePicker/TreeNode.js +0 -174
- package/cjs/utils/appendTooltip.d.ts +0 -10
- package/cjs/utils/appendTooltip.js +0 -20
- package/cjs/utils/stringToObject.d.ts +0 -2
- package/cjs/utils/stringToObject.js +0 -19
- package/cjs/utils/treeUtils.d.ts +0 -304
- package/cjs/utils/treeUtils.js +0 -1095
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +0 -28
- package/esm/CheckTreePicker/CheckTreeNode.js +0 -133
- package/esm/CheckTreePicker/utils.d.ts +0 -44
- package/esm/Tree/TreeContext.d.ts +0 -6
- package/esm/Tree/TreeContext.js +0 -4
- package/esm/TreePicker/TreeNode.d.ts +0 -36
- package/esm/TreePicker/TreeNode.js +0 -167
- package/esm/utils/appendTooltip.d.ts +0 -10
- package/esm/utils/appendTooltip.js +0 -15
- package/esm/utils/stringToObject.d.ts +0 -2
- package/esm/utils/stringToObject.js +0 -14
- package/esm/utils/treeUtils.d.ts +0 -304
- package/esm/utils/treeUtils.js +0 -1043
- /package/cjs/internals/{Picker → Tree}/TreeView.d.ts +0 -0
- /package/esm/internals/{Picker → Tree}/TreeView.d.ts +0 -0
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
--rs-btn-default-active-bg: var(--rs-gray-300);
|
|
52
52
|
--rs-btn-default-active-text: var(--rs-gray-900);
|
|
53
53
|
--rs-btn-default-disabled-bg: var(--rs-gray-50);
|
|
54
|
-
--rs-btn-default-disabled-text: var(--rs-gray-
|
|
54
|
+
--rs-btn-default-disabled-text: var(--rs-gray-600);
|
|
55
55
|
--rs-btn-primary-bg: var(--rs-primary-500);
|
|
56
56
|
--rs-btn-primary-text: var(--rs-gray-0);
|
|
57
57
|
--rs-btn-primary-hover-bg: var(--rs-primary-600);
|
|
@@ -236,7 +236,8 @@
|
|
|
236
236
|
--rs-btn-default-active-bg: transparent;
|
|
237
237
|
--rs-btn-default-active-text: var(--rs-primary-200);
|
|
238
238
|
--rs-btn-default-disabled-bg: transparent;
|
|
239
|
-
--rs-btn-default-disabled-text: var(--rs-primary-
|
|
239
|
+
--rs-btn-default-disabled-text: var(--rs-primary-900);
|
|
240
|
+
--rs-btn-default-disabled-boreder-color: var(--rs-gray-100);
|
|
240
241
|
--rs-btn-primary-bg: var(--rs-primary-500);
|
|
241
242
|
--rs-btn-primary-text: var(--rs-gray-900);
|
|
242
243
|
--rs-btn-primary-hover-bg: var(--rs-primary-400);
|
|
@@ -383,14 +384,14 @@
|
|
|
383
384
|
.rs-btn:disabled,
|
|
384
385
|
.rs-btn.rs-btn-disabled {
|
|
385
386
|
cursor: not-allowed;
|
|
386
|
-
color: #
|
|
387
|
+
color: #8e8e93;
|
|
387
388
|
color: var(--rs-btn-default-disabled-text);
|
|
388
389
|
background-color: #f7f7fa;
|
|
389
390
|
background-color: var(--rs-btn-default-disabled-bg);
|
|
390
391
|
}
|
|
391
392
|
.rs-theme-high-contrast .rs-btn:disabled,
|
|
392
393
|
.rs-theme-high-contrast .rs-btn.rs-btn-disabled {
|
|
393
|
-
|
|
394
|
+
border-color: var(--rs-btn-default-disabled-boreder-color);
|
|
394
395
|
}
|
|
395
396
|
@media not all and (min-resolution: 0.001dpcm) {
|
|
396
397
|
.rs-btn {
|
|
@@ -438,7 +439,7 @@
|
|
|
438
439
|
}
|
|
439
440
|
.rs-theme-high-contrast .rs-btn-primary:disabled,
|
|
440
441
|
.rs-theme-high-contrast .rs-btn-primary.rs-btn-disabled {
|
|
441
|
-
|
|
442
|
+
border-color: var(--rs-btn-default-disabled-boreder-color);
|
|
442
443
|
}
|
|
443
444
|
.rs-btn-subtle {
|
|
444
445
|
color: #575757;
|
|
@@ -468,7 +469,7 @@
|
|
|
468
469
|
}
|
|
469
470
|
.rs-theme-high-contrast .rs-btn-subtle:disabled,
|
|
470
471
|
.rs-theme-high-contrast .rs-btn-subtle.rs-btn-disabled {
|
|
471
|
-
|
|
472
|
+
border-color: var(--rs-btn-default-disabled-boreder-color);
|
|
472
473
|
}
|
|
473
474
|
.rs-btn-link {
|
|
474
475
|
color: #1675e0;
|
|
@@ -499,7 +500,7 @@
|
|
|
499
500
|
}
|
|
500
501
|
.rs-theme-high-contrast .rs-btn-link:disabled,
|
|
501
502
|
.rs-theme-high-contrast .rs-btn-link.rs-btn-disabled {
|
|
502
|
-
|
|
503
|
+
border-color: var(--rs-btn-default-disabled-boreder-color);
|
|
503
504
|
}
|
|
504
505
|
.rs-btn-ghost {
|
|
505
506
|
color: #1675e0;
|
|
@@ -541,7 +542,7 @@
|
|
|
541
542
|
}
|
|
542
543
|
.rs-theme-high-contrast .rs-btn-ghost:disabled,
|
|
543
544
|
.rs-theme-high-contrast .rs-btn-ghost.rs-btn-disabled {
|
|
544
|
-
|
|
545
|
+
border-color: var(--rs-btn-default-disabled-boreder-color);
|
|
545
546
|
}
|
|
546
547
|
.rs-btn-red {
|
|
547
548
|
--rs-btn-primary-bg: var(--rs-red-500);
|
|
@@ -1439,14 +1440,14 @@
|
|
|
1439
1440
|
.rs-uploader-picture .rs-uploader-trigger-btn:disabled,
|
|
1440
1441
|
.rs-uploader-picture .rs-uploader-trigger-btn.rs-btn-disabled {
|
|
1441
1442
|
cursor: not-allowed;
|
|
1442
|
-
color: #
|
|
1443
|
+
color: #8e8e93;
|
|
1443
1444
|
color: var(--rs-btn-default-disabled-text);
|
|
1444
1445
|
background-color: #f7f7fa;
|
|
1445
1446
|
background-color: var(--rs-btn-default-disabled-bg);
|
|
1446
1447
|
}
|
|
1447
1448
|
.rs-theme-high-contrast .rs-uploader-picture .rs-uploader-trigger-btn:disabled,
|
|
1448
1449
|
.rs-theme-high-contrast .rs-uploader-picture .rs-uploader-trigger-btn.rs-btn-disabled {
|
|
1449
|
-
|
|
1450
|
+
border-color: var(--rs-btn-default-disabled-boreder-color);
|
|
1450
1451
|
}
|
|
1451
1452
|
@media not all and (min-resolution: 0.001dpcm) {
|
|
1452
1453
|
.rs-uploader-picture .rs-uploader-trigger-btn {
|
|
@@ -1477,7 +1478,7 @@
|
|
|
1477
1478
|
}
|
|
1478
1479
|
.rs-theme-high-contrast .rs-uploader-picture .rs-uploader-trigger-btn:disabled,
|
|
1479
1480
|
.rs-theme-high-contrast .rs-uploader-picture .rs-uploader-trigger-btn.rs-btn-disabled {
|
|
1480
|
-
|
|
1481
|
+
border-color: var(--rs-btn-default-disabled-boreder-color);
|
|
1481
1482
|
}
|
|
1482
1483
|
.rs-uploader-picture .rs-uploader-trigger.rs-uploader-trigger-disabled .rs-uploader-trigger-btn {
|
|
1483
1484
|
color: #575757 !important;
|
package/cjs/@types/common.d.ts
CHANGED
|
@@ -88,6 +88,29 @@ export interface PickerBaseProps<L = any> extends WithAsProps, AnimationEventPro
|
|
|
88
88
|
/** Custom render extra footer */
|
|
89
89
|
renderExtraFooter?: () => React.ReactNode;
|
|
90
90
|
}
|
|
91
|
+
export interface DeprecatedPickerProps {
|
|
92
|
+
/**
|
|
93
|
+
* Custom menu class name
|
|
94
|
+
* @deprecated Use `popupClassName` instead
|
|
95
|
+
*/
|
|
96
|
+
menuClassName?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Custom menu style
|
|
99
|
+
* @deprecated Use `popupStyle` instead
|
|
100
|
+
*/
|
|
101
|
+
menuStyle?: React.CSSProperties;
|
|
102
|
+
/**
|
|
103
|
+
* Picker menu auto width
|
|
104
|
+
*
|
|
105
|
+
* @deprecated Use `popupAutoWidth` instead
|
|
106
|
+
*/
|
|
107
|
+
menuAutoWidth?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Custom render tree
|
|
110
|
+
* @deprecated Use `renderTree` instead
|
|
111
|
+
*/
|
|
112
|
+
renderMenu?: (menu: React.ReactNode) => React.ReactNode;
|
|
113
|
+
}
|
|
91
114
|
export interface FormControlBaseProps<ValueType = React.InputHTMLAttributes<HTMLInputElement>['value']> {
|
|
92
115
|
/** Name of the form field */
|
|
93
116
|
name?: string;
|
|
@@ -109,14 +132,28 @@ export interface FormControlBaseProps<ValueType = React.InputHTMLAttributes<HTML
|
|
|
109
132
|
readOnly?: boolean;
|
|
110
133
|
}
|
|
111
134
|
export declare type ToArray<V> = V extends any[] ? V : V[];
|
|
135
|
+
/**
|
|
136
|
+
* Represents the data properties for a component.
|
|
137
|
+
*/
|
|
112
138
|
export interface DataProps<TData> {
|
|
113
|
-
/**
|
|
139
|
+
/**
|
|
140
|
+
* The data of the component.
|
|
141
|
+
*/
|
|
114
142
|
data: TData[];
|
|
115
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* The key to use for setting the option value in the data.
|
|
145
|
+
* @default value
|
|
146
|
+
*/
|
|
116
147
|
valueKey?: string;
|
|
117
|
-
/**
|
|
148
|
+
/**
|
|
149
|
+
* The key to use for displaying the options in the data.
|
|
150
|
+
* @default label
|
|
151
|
+
*/
|
|
118
152
|
labelKey?: string;
|
|
119
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* The key to use for setting the children in the data.
|
|
155
|
+
* @default children
|
|
156
|
+
*/
|
|
120
157
|
childrenKey?: string;
|
|
121
158
|
}
|
|
122
159
|
export interface FormControlPickerProps<T = any, L = any, D = Record<string, any>, I = T> extends PickerBaseProps<L>, FormControlBaseProps<T>, DataProps<D> {
|
|
@@ -178,7 +178,8 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
178
178
|
onSelect: handleItemSelect,
|
|
179
179
|
renderMenuItem: renderMenuItem,
|
|
180
180
|
data: items,
|
|
181
|
-
className: menuClassName
|
|
181
|
+
className: menuClassName,
|
|
182
|
+
query: value
|
|
182
183
|
});
|
|
183
184
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
184
185
|
ref: (0, _utils.mergeRefs)(overlay, speakerRef),
|
|
@@ -8,8 +8,9 @@ exports.default = void 0;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var
|
|
12
|
-
var
|
|
11
|
+
var _utils = require("../internals/Tree/utils");
|
|
12
|
+
var _utils2 = require("../Tree/utils");
|
|
13
|
+
var _utils3 = require("../utils");
|
|
13
14
|
var _useMap = require("../utils/useMap");
|
|
14
15
|
var _TreeView = _interopRequireDefault(require("./TreeView"));
|
|
15
16
|
var _SearchView = _interopRequireDefault(require("./SearchView"));
|
|
@@ -47,14 +48,14 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
47
48
|
onChange = props.onChange,
|
|
48
49
|
getChildren = props.getChildren,
|
|
49
50
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "defaultValue", "className", "classPrefix", "childrenKey", "valueKey", "labelKey", "value", "disabledItemValues", "columnWidth", "columnHeight", "searchable", "renderTreeNode", "renderColumn", "onSelect", "onSearch", "onChange", "getChildren"]);
|
|
50
|
-
var _ref = (0,
|
|
51
|
+
var _ref = (0, _utils3.useControlled)(valueProp, defaultValue),
|
|
51
52
|
value = _ref[0],
|
|
52
53
|
setValue = _ref[1]; // Store the children of each node
|
|
53
54
|
var childrenMap = (0, _useMap.useMap)();
|
|
54
55
|
|
|
55
56
|
// Store the parent of each node
|
|
56
57
|
var parentMap = (0, _react.useMemo)(function () {
|
|
57
|
-
return (0,
|
|
58
|
+
return (0, _utils.getParentMap)(data, function (item) {
|
|
58
59
|
var _childrenMap$get;
|
|
59
60
|
return (_childrenMap$get = childrenMap.get(item)) !== null && _childrenMap$get !== void 0 ? _childrenMap$get : item[childrenKey];
|
|
60
61
|
});
|
|
@@ -62,7 +63,7 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
62
63
|
|
|
63
64
|
// Flatten the tree data
|
|
64
65
|
var flattenedData = (0, _react.useMemo)(function () {
|
|
65
|
-
return (0,
|
|
66
|
+
return (0, _utils2.flattenTree)(data, function (item) {
|
|
66
67
|
var _childrenMap$get2;
|
|
67
68
|
return (_childrenMap$get2 = childrenMap.get(item)) !== null && _childrenMap$get2 !== void 0 ? _childrenMap$get2 : item[childrenKey];
|
|
68
69
|
});
|
|
@@ -111,7 +112,7 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
111
112
|
}),
|
|
112
113
|
columns = _usePaths.columns,
|
|
113
114
|
pathTowardsActiveItem = _usePaths.pathTowardsActiveItem;
|
|
114
|
-
var _useClassNames = (0,
|
|
115
|
+
var _useClassNames = (0, _utils3.useClassNames)(classPrefix),
|
|
115
116
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
116
117
|
merge = _useClassNames.merge;
|
|
117
118
|
var classes = merge(className, withClassPrefix());
|
|
@@ -129,7 +130,7 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
129
130
|
searchKeyword = _useSearch.searchKeyword,
|
|
130
131
|
setSearchKeyword = _useSearch.setSearchKeyword,
|
|
131
132
|
handleSearch = _useSearch.handleSearch;
|
|
132
|
-
var handleSearchRowSelect = (0,
|
|
133
|
+
var handleSearchRowSelect = (0, _utils3.useEventCallback)(function (item, items, event) {
|
|
133
134
|
var _item$childrenKey;
|
|
134
135
|
var node = {
|
|
135
136
|
itemData: item,
|
|
@@ -8,8 +8,8 @@ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
8
8
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _utils = require("../utils");
|
|
11
|
-
var
|
|
12
|
-
var
|
|
11
|
+
var _utils2 = require("../internals/Tree/utils");
|
|
12
|
+
var _Highlight = _interopRequireDefault(require("../Highlight"));
|
|
13
13
|
var _SearchBox = _interopRequireDefault(require("../internals/SearchBox"));
|
|
14
14
|
function SearchView(props) {
|
|
15
15
|
var _props$as = props.as,
|
|
@@ -38,22 +38,15 @@ function SearchView(props) {
|
|
|
38
38
|
var _useCustom = (0, _utils.useCustom)('Picker'),
|
|
39
39
|
locale = _useCustom.locale;
|
|
40
40
|
var renderSearchRow = function renderSearchRow(item, key) {
|
|
41
|
-
var items = (0,
|
|
41
|
+
var items = (0, _utils2.getPathTowardsItem)(item, function (item) {
|
|
42
42
|
return parentMap.get(item);
|
|
43
43
|
});
|
|
44
44
|
var formattedNodes = items.map(function (itemData) {
|
|
45
45
|
var _extends2;
|
|
46
|
-
var label = (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
render: function render(patch, index) {
|
|
51
|
-
return /*#__PURE__*/_react.default.createElement("span", {
|
|
52
|
-
key: index,
|
|
53
|
-
className: prefix('match')
|
|
54
|
-
}, patch);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
46
|
+
var label = /*#__PURE__*/_react.default.createElement(_Highlight.default, {
|
|
47
|
+
as: "span",
|
|
48
|
+
query: searchKeyword
|
|
49
|
+
}, itemData[labelKey]);
|
|
57
50
|
return (0, _extends3.default)({}, itemData, (_extends2 = {}, _extends2[labelKey] = label, _extends2));
|
|
58
51
|
});
|
|
59
52
|
var disabled = disabledItemValues.some(function (value) {
|
|
@@ -5,8 +5,8 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.usePaths = usePaths;
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
var
|
|
9
|
-
var
|
|
8
|
+
var _utils = require("../../internals/Tree/utils");
|
|
9
|
+
var _utils2 = require("../utils");
|
|
10
10
|
/**
|
|
11
11
|
* A Hook to get the selected path of Tree.
|
|
12
12
|
*
|
|
@@ -22,10 +22,10 @@ function usePaths(_ref) {
|
|
|
22
22
|
getParent = _ref.getParent,
|
|
23
23
|
getChildren = _ref.getChildren;
|
|
24
24
|
var pathTowardsSelectedItem = (0, _react.useMemo)(function () {
|
|
25
|
-
return (0,
|
|
25
|
+
return (0, _utils.getPathTowardsItem)(selectedItem, getParent);
|
|
26
26
|
}, [getParent, selectedItem]);
|
|
27
27
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
28
|
-
return (0,
|
|
28
|
+
return (0, _utils2.getColumnsAndPaths)(data, activeItem, {
|
|
29
29
|
getParent: getParent,
|
|
30
30
|
getChildren: getChildren
|
|
31
31
|
});
|
|
@@ -5,6 +5,7 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _react = require("react");
|
|
7
7
|
var _utils = require("../../utils");
|
|
8
|
+
var _utils2 = require("../../internals/utils");
|
|
8
9
|
function useSearch(props) {
|
|
9
10
|
var _useState = (0, _react.useState)(''),
|
|
10
11
|
searchKeyword = _useState[0],
|
|
@@ -16,7 +17,7 @@ function useSearch(props) {
|
|
|
16
17
|
parentSelectable = props.parentSelectable,
|
|
17
18
|
onSearch = props.onSearch;
|
|
18
19
|
var someKeyword = function someKeyword(item, keyword) {
|
|
19
|
-
if (item[labelKey].match(new RegExp((0,
|
|
20
|
+
if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {
|
|
20
21
|
return true;
|
|
21
22
|
}
|
|
22
23
|
var parent = parentMap.get(item);
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { ItemDataType } from '../@types/common';
|
|
3
1
|
declare type GetColumnsAndPathsOptions<T> = {
|
|
4
2
|
getParent: (item: T) => T | undefined;
|
|
5
3
|
getChildren: (item: T) => readonly T[] | undefined;
|
|
@@ -20,13 +18,4 @@ export declare function getColumnsAndPaths<T extends Record<string, unknown>>(it
|
|
|
20
18
|
columns: (readonly T[])[];
|
|
21
19
|
path: T[];
|
|
22
20
|
};
|
|
23
|
-
/**
|
|
24
|
-
* Highlight the search keyword in the label
|
|
25
|
-
*/
|
|
26
|
-
export declare function highlightLabel<T>(props: {
|
|
27
|
-
item: ItemDataType<T>;
|
|
28
|
-
labelKey: string;
|
|
29
|
-
searchKeyword: string;
|
|
30
|
-
render: (patch: React.ReactNode, index: number) => React.ReactNode;
|
|
31
|
-
}): import("react").ReactNode[];
|
|
32
21
|
export {};
|
package/cjs/CascadeTree/utils.js
CHANGED
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.getColumnsAndPaths = getColumnsAndPaths;
|
|
6
|
-
exports.highlightLabel = highlightLabel;
|
|
7
|
-
var _utils = require("../utils");
|
|
8
6
|
/**
|
|
9
7
|
* Calculate columns to be displayed:
|
|
10
8
|
*
|
|
@@ -42,25 +40,4 @@ function getColumnsAndPaths(items, pathTarget, options) {
|
|
|
42
40
|
columns: columns,
|
|
43
41
|
path: path
|
|
44
42
|
};
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Highlight the search keyword in the label
|
|
49
|
-
*/
|
|
50
|
-
function highlightLabel(props) {
|
|
51
|
-
var item = props.item,
|
|
52
|
-
searchKeyword = props.searchKeyword,
|
|
53
|
-
labelKey = props.labelKey,
|
|
54
|
-
render = props.render;
|
|
55
|
-
var regx = new RegExp((0, _utils.getSafeRegExpString)(searchKeyword), 'ig');
|
|
56
|
-
var labelElements = [];
|
|
57
|
-
var strArr = item[labelKey].split(regx);
|
|
58
|
-
var highStrArr = item[labelKey].match(regx);
|
|
59
|
-
for (var i = 0; i < strArr.length; i++) {
|
|
60
|
-
labelElements.push(strArr[i]);
|
|
61
|
-
if (highStrArr !== null && highStrArr !== void 0 && highStrArr[i]) {
|
|
62
|
-
labelElements.push(render(highStrArr[i], i));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return labelElements;
|
|
66
43
|
}
|
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -16,9 +16,10 @@ var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
|
16
16
|
var _TreeView = _interopRequireDefault(require("../CascadeTree/TreeView"));
|
|
17
17
|
var _SearchView = _interopRequireDefault(require("../CascadeTree/SearchView"));
|
|
18
18
|
var _hooks = require("../CascadeTree/hooks");
|
|
19
|
-
var
|
|
19
|
+
var _utils = require("../Tree/utils");
|
|
20
|
+
var _utils2 = require("../internals/Tree/utils");
|
|
20
21
|
var _propTypes2 = require("../internals/propTypes");
|
|
21
|
-
var
|
|
22
|
+
var _utils3 = require("../utils");
|
|
22
23
|
var _Picker = require("../internals/Picker");
|
|
23
24
|
var _useMap = require("../utils/useMap");
|
|
24
25
|
var _useActive2 = _interopRequireDefault(require("./useActive"));
|
|
@@ -89,14 +90,14 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
89
90
|
target = _usePickerRef.target,
|
|
90
91
|
overlay = _usePickerRef.overlay,
|
|
91
92
|
searchInput = _usePickerRef.searchInput;
|
|
92
|
-
var _ref = (0,
|
|
93
|
+
var _ref = (0, _utils3.useControlled)(valueProp, defaultValue),
|
|
93
94
|
value = _ref[0],
|
|
94
95
|
setValue = _ref[1]; // Store the children of each node
|
|
95
96
|
var childrenMap = (0, _useMap.useMap)();
|
|
96
97
|
|
|
97
98
|
// Store the parent of each node
|
|
98
99
|
var parentMap = (0, _react.useMemo)(function () {
|
|
99
|
-
return (0,
|
|
100
|
+
return (0, _utils2.getParentMap)(data, function (item) {
|
|
100
101
|
var _childrenMap$get;
|
|
101
102
|
return (_childrenMap$get = childrenMap.get(item)) !== null && _childrenMap$get !== void 0 ? _childrenMap$get : item[childrenKey];
|
|
102
103
|
});
|
|
@@ -104,7 +105,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
104
105
|
|
|
105
106
|
// Flatten the tree data
|
|
106
107
|
var flattenedData = (0, _react.useMemo)(function () {
|
|
107
|
-
return (0,
|
|
108
|
+
return (0, _utils.flattenTree)(data, function (item) {
|
|
108
109
|
var _childrenMap$get2;
|
|
109
110
|
return (_childrenMap$get2 = childrenMap.get(item)) !== null && _childrenMap$get2 !== void 0 ? _childrenMap$get2 : item[childrenKey];
|
|
110
111
|
});
|
|
@@ -131,7 +132,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
131
132
|
}
|
|
132
133
|
|
|
133
134
|
// When the parent is optional, the value and the displayed path are updated.
|
|
134
|
-
if (parentSelectable && !(0,
|
|
135
|
+
if (parentSelectable && !(0, _utils3.shallowEqual)(value, nextValue)) {
|
|
135
136
|
setValue(nextValue);
|
|
136
137
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
137
138
|
}
|
|
@@ -168,7 +169,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
168
169
|
columns = _usePaths.columns,
|
|
169
170
|
pathTowardsActiveItem = _usePaths.pathTowardsActiveItem,
|
|
170
171
|
pathTowardsSelectedItem = _usePaths.pathTowardsSelectedItem;
|
|
171
|
-
var _useCustom = (0,
|
|
172
|
+
var _useCustom = (0, _utils3.useCustom)('Picker', overrideLocale),
|
|
172
173
|
locale = _useCustom.locale,
|
|
173
174
|
rtl = _useCustom.rtl;
|
|
174
175
|
/**
|
|
@@ -176,7 +177,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
176
177
|
* 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
|
|
177
178
|
*/
|
|
178
179
|
var hasValue = pathTowardsSelectedItem.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);
|
|
179
|
-
var _useClassNames = (0,
|
|
180
|
+
var _useClassNames = (0, _utils3.useClassNames)(classPrefix),
|
|
180
181
|
prefix = _useClassNames.prefix,
|
|
181
182
|
merge = _useClassNames.merge;
|
|
182
183
|
var onFocusItemCallback = (0, _react.useCallback)(function (value) {
|
|
@@ -237,22 +238,22 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
237
238
|
active = _useActive.active,
|
|
238
239
|
handleEntered = _useActive.handleEntered,
|
|
239
240
|
handleExited = _useActive.handleExited;
|
|
240
|
-
var handleClose = (0,
|
|
241
|
+
var handleClose = (0, _utils3.useEventCallback)(function () {
|
|
241
242
|
var _trigger$current2, _target$current, _target$current$focus;
|
|
242
243
|
(_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.close();
|
|
243
244
|
|
|
244
245
|
// The focus is on the trigger button after closing
|
|
245
246
|
(_target$current = target.current) === null || _target$current === void 0 ? void 0 : (_target$current$focus = _target$current.focus) === null || _target$current$focus === void 0 ? void 0 : _target$current$focus.call(_target$current);
|
|
246
247
|
});
|
|
247
|
-
var handleClean = (0,
|
|
248
|
+
var handleClean = (0, _utils3.useEventCallback)(function (event) {
|
|
248
249
|
if (disabled || !target.current) {
|
|
249
250
|
return;
|
|
250
251
|
}
|
|
251
252
|
setValue(null);
|
|
252
253
|
onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
|
|
253
254
|
});
|
|
254
|
-
var handleMenuPressEnter = (0,
|
|
255
|
-
var focusItem = (0,
|
|
255
|
+
var handleMenuPressEnter = (0, _utils3.useEventCallback)(function (event) {
|
|
256
|
+
var focusItem = (0, _utils2.findNodeOfTree)(data, function (item) {
|
|
256
257
|
return item[valueKey] === focusItemValue;
|
|
257
258
|
});
|
|
258
259
|
var isLeafNode = focusItem && !focusItem[childrenKey];
|
|
@@ -261,7 +262,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
261
262
|
if (pathTowardsActiveItem.length) {
|
|
262
263
|
setLayer(pathTowardsActiveItem.length - 1);
|
|
263
264
|
}
|
|
264
|
-
if (!(0,
|
|
265
|
+
if (!(0, _utils3.shallowEqual)(value, focusItemValue)) {
|
|
265
266
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(focusItem, pathTowardsActiveItem, event);
|
|
266
267
|
onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);
|
|
267
268
|
}
|
|
@@ -283,7 +284,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
283
284
|
/**
|
|
284
285
|
* The search structure option is processed after being selected.
|
|
285
286
|
*/
|
|
286
|
-
var handleSearchRowSelect = (0,
|
|
287
|
+
var handleSearchRowSelect = (0, _utils3.useEventCallback)(function (itemData, nodes, event) {
|
|
287
288
|
var nextValue = itemData[valueKey];
|
|
288
289
|
handleClose();
|
|
289
290
|
setSearchKeyword('');
|
|
@@ -320,7 +321,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
320
321
|
});
|
|
321
322
|
var classes = merge(className, DEPRECATED_menuClassName, popupClassName, prefix('popup-cascader'));
|
|
322
323
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
323
|
-
ref: (0,
|
|
324
|
+
ref: (0, _utils3.mergeRefs)(overlay, speakerRef),
|
|
324
325
|
className: classes,
|
|
325
326
|
style: styles,
|
|
326
327
|
target: trigger,
|
|
@@ -404,7 +405,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
404
405
|
as: toggleAs,
|
|
405
406
|
appearance: appearance,
|
|
406
407
|
disabled: disabled,
|
|
407
|
-
onClean: (0,
|
|
408
|
+
onClean: (0, _utils3.createChainedFunction)(handleClean, onClean),
|
|
408
409
|
onKeyDown: onPickerKeyDown,
|
|
409
410
|
cleanable: cleanable && !disabled,
|
|
410
411
|
hasValue: hasValue,
|
|
@@ -11,14 +11,13 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _clone = _interopRequireDefault(require("lodash/clone"));
|
|
14
|
-
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
15
14
|
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
16
15
|
var _remove = _interopRequireDefault(require("lodash/remove"));
|
|
17
16
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
18
17
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
19
18
|
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
20
|
-
var
|
|
21
|
-
var
|
|
19
|
+
var _utils = require("../internals/Tree/utils");
|
|
20
|
+
var _utils2 = require("../utils");
|
|
22
21
|
var _getDataGroupBy = require("../utils/getDataGroupBy");
|
|
23
22
|
var _Picker = require("../internals/Picker");
|
|
24
23
|
var _SearchBox = _interopRequireDefault(require("../internals/SearchBox"));
|
|
@@ -93,9 +92,9 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
93
92
|
overlay = _usePickerRef.overlay,
|
|
94
93
|
list = _usePickerRef.list,
|
|
95
94
|
searchInput = _usePickerRef.searchInput;
|
|
96
|
-
var _useCustom = (0,
|
|
95
|
+
var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),
|
|
97
96
|
locale = _useCustom.locale;
|
|
98
|
-
var _useControlled = (0,
|
|
97
|
+
var _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue || []),
|
|
99
98
|
value = _useControlled[0],
|
|
100
99
|
setValue = _useControlled[1]; // Used to hover the focuse item when trigger `onKeydown`
|
|
101
100
|
var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value === null || value === void 0 ? void 0 : value[0], {
|
|
@@ -108,7 +107,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
108
107
|
focusItemValue = _useFocusItemValue.focusItemValue,
|
|
109
108
|
setFocusItemValue = _useFocusItemValue.setFocusItemValue,
|
|
110
109
|
onFocusItem = _useFocusItemValue.onKeyDown;
|
|
111
|
-
var handleSearchCallback = (0,
|
|
110
|
+
var handleSearchCallback = (0, _utils2.useEventCallback)(function (searchKeyword, filteredData, event) {
|
|
112
111
|
var _filteredData$;
|
|
113
112
|
// The first option after filtering is the focus.
|
|
114
113
|
setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);
|
|
@@ -147,10 +146,10 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
147
146
|
}
|
|
148
147
|
setStickyItems(nextStickyItems);
|
|
149
148
|
};
|
|
150
|
-
var handleChangeValue = (0,
|
|
149
|
+
var handleChangeValue = (0, _utils2.useEventCallback)(function (value, event) {
|
|
151
150
|
onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
|
|
152
151
|
});
|
|
153
|
-
var handleClean = (0,
|
|
152
|
+
var handleClean = (0, _utils2.useEventCallback)(function (event) {
|
|
154
153
|
if (disabled || !cleanable) {
|
|
155
154
|
return;
|
|
156
155
|
}
|
|
@@ -164,16 +163,16 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
164
163
|
return;
|
|
165
164
|
}
|
|
166
165
|
if (!nextValue.some(function (v) {
|
|
167
|
-
return (0,
|
|
166
|
+
return (0, _utils2.shallowEqual)(v, focusItemValue);
|
|
168
167
|
})) {
|
|
169
168
|
nextValue.push(focusItemValue);
|
|
170
169
|
} else {
|
|
171
170
|
(0, _remove.default)(nextValue, function (itemVal) {
|
|
172
|
-
return (0,
|
|
171
|
+
return (0, _utils2.shallowEqual)(itemVal, focusItemValue);
|
|
173
172
|
});
|
|
174
173
|
}
|
|
175
174
|
var focusItem = data.find(function (item) {
|
|
176
|
-
return (0,
|
|
175
|
+
return (0, _utils2.shallowEqual)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);
|
|
177
176
|
});
|
|
178
177
|
setValue(nextValue);
|
|
179
178
|
handleSelect(nextValue, focusItem, event);
|
|
@@ -191,16 +190,16 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
191
190
|
onMenuPressEnter: handleMenuPressEnter,
|
|
192
191
|
onMenuPressBackspace: handleClean
|
|
193
192
|
}, rest));
|
|
194
|
-
var handleSelect = (0,
|
|
193
|
+
var handleSelect = (0, _utils2.useEventCallback)(function (nextItemValue, item, event) {
|
|
195
194
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextItemValue, item, event);
|
|
196
195
|
});
|
|
197
|
-
var handleItemSelect = (0,
|
|
196
|
+
var handleItemSelect = (0, _utils2.useEventCallback)(function (nextItemValue, item, event, checked) {
|
|
198
197
|
var nextValue = (0, _clone.default)(value);
|
|
199
198
|
if (checked) {
|
|
200
199
|
nextValue.push(nextItemValue);
|
|
201
200
|
} else {
|
|
202
201
|
(0, _remove.default)(nextValue, function (itemVal) {
|
|
203
|
-
return (0,
|
|
202
|
+
return (0, _utils2.shallowEqual)(itemVal, nextItemValue);
|
|
204
203
|
});
|
|
205
204
|
}
|
|
206
205
|
setValue(nextValue);
|
|
@@ -208,17 +207,17 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
208
207
|
handleSelect(nextValue, item, event);
|
|
209
208
|
handleChangeValue(nextValue, event);
|
|
210
209
|
});
|
|
211
|
-
var handleEntered = (0,
|
|
210
|
+
var handleEntered = (0, _utils2.useEventCallback)(function () {
|
|
212
211
|
setActive(true);
|
|
213
212
|
});
|
|
214
|
-
var handleExited = (0,
|
|
213
|
+
var handleExited = (0, _utils2.useEventCallback)(function () {
|
|
215
214
|
resetSearch();
|
|
216
215
|
setFocusItemValue(null);
|
|
217
216
|
setActive(false);
|
|
218
217
|
});
|
|
219
218
|
var selectedItems = data.filter(function (item) {
|
|
220
219
|
return value === null || value === void 0 ? void 0 : value.some(function (val) {
|
|
221
|
-
return (0,
|
|
220
|
+
return (0, _utils2.shallowEqual)(item[valueKey], val);
|
|
222
221
|
});
|
|
223
222
|
}) || [];
|
|
224
223
|
|
|
@@ -227,7 +226,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
227
226
|
* 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
|
|
228
227
|
*/
|
|
229
228
|
var hasValue = selectedItems.length > 0 || (value === null || value === void 0 ? void 0 : value.length) > 0 && (0, _isFunction.default)(renderValue);
|
|
230
|
-
var _useClassNames = (0,
|
|
229
|
+
var _useClassNames = (0, _utils2.useClassNames)(classPrefix),
|
|
231
230
|
prefix = _useClassNames.prefix,
|
|
232
231
|
merge = _useClassNames.merge;
|
|
233
232
|
var selectedElement = placeholder;
|
|
@@ -259,10 +258,10 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
259
258
|
var items = filteredData;
|
|
260
259
|
var filteredStickyItems = [];
|
|
261
260
|
if (stickyItems) {
|
|
262
|
-
filteredStickyItems = (0,
|
|
261
|
+
filteredStickyItems = (0, _utils.filterNodesOfTree)(stickyItems, function (item) {
|
|
263
262
|
return checkShouldDisplay(item);
|
|
264
263
|
});
|
|
265
|
-
items = (0,
|
|
264
|
+
items = (0, _utils.filterNodesOfTree)(data, function (item) {
|
|
266
265
|
return checkShouldDisplay(item) && !stickyItems.some(function (v) {
|
|
267
266
|
return v[valueKey] === item[valueKey];
|
|
268
267
|
});
|
|
@@ -288,19 +287,17 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
288
287
|
listItemAs: _Picker.ListCheckItem,
|
|
289
288
|
activeItemValues: value,
|
|
290
289
|
focusItemValue: focusItemValue,
|
|
291
|
-
data: [].concat(filteredStickyItems, items)
|
|
292
|
-
// `group` is redundant so long as `groupBy` exists
|
|
293
|
-
,
|
|
294
|
-
group: !(0, _isUndefined.default)(groupBy),
|
|
290
|
+
data: [].concat(filteredStickyItems, items),
|
|
295
291
|
groupBy: groupBy,
|
|
296
292
|
onSelect: handleItemSelect,
|
|
297
293
|
onGroupTitleClick: onGroupTitleClick,
|
|
298
|
-
virtualized: virtualized
|
|
294
|
+
virtualized: virtualized,
|
|
295
|
+
query: searchKeyword
|
|
299
296
|
}) : /*#__PURE__*/_react.default.createElement("div", {
|
|
300
297
|
className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
|
|
301
298
|
}, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
|
|
302
299
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
303
|
-
ref: (0,
|
|
300
|
+
ref: (0, _utils2.mergeRefs)(overlay, speakerRef),
|
|
304
301
|
autoWidth: menuAutoWidth,
|
|
305
302
|
className: classes,
|
|
306
303
|
style: styles,
|
|
@@ -329,9 +326,9 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
329
326
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
330
327
|
ref: trigger,
|
|
331
328
|
placement: placement,
|
|
332
|
-
onEnter: (0,
|
|
333
|
-
onEntered: (0,
|
|
334
|
-
onExited: (0,
|
|
329
|
+
onEnter: (0, _utils2.createChainedFunction)(initStickyItems, onEnter),
|
|
330
|
+
onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEntered),
|
|
331
|
+
onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),
|
|
335
332
|
speaker: renderPopup
|
|
336
333
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
337
334
|
className: classes,
|