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
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { shallowEqual } from '../../utils';
|
|
3
|
+
// Active tree node selector
|
|
4
|
+
var SELECTED_TREEITEM_SELECTOR = '[role="treeitem"][aria-selected="true"]';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Retrieves the focusable items from the filtered data based on the provided props.
|
|
8
|
+
* Excludes nodes that are not visible or are disabled.
|
|
9
|
+
*/
|
|
10
|
+
export var getFocusableItems = function getFocusableItems(filteredData, props, isSearching) {
|
|
11
|
+
var disabledItemValues = props.disabledItemValues,
|
|
12
|
+
valueKey = props.valueKey,
|
|
13
|
+
childrenKey = props.childrenKey,
|
|
14
|
+
expandItemValues = props.expandItemValues;
|
|
15
|
+
var items = [];
|
|
16
|
+
var loop = function loop(nodes) {
|
|
17
|
+
nodes.forEach(function (node) {
|
|
18
|
+
var disabled = disabledItemValues.some(function (disabledItem) {
|
|
19
|
+
return shallowEqual(disabledItem, node[valueKey]);
|
|
20
|
+
});
|
|
21
|
+
if (!disabled && node.visible) {
|
|
22
|
+
items.push(node);
|
|
23
|
+
}
|
|
24
|
+
// always expand when searching
|
|
25
|
+
var expand = isSearching ? true : expandItemValues.includes(node[valueKey]);
|
|
26
|
+
if (node[childrenKey] && expand) {
|
|
27
|
+
loop(node[childrenKey]);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
loop(filteredData);
|
|
32
|
+
return items;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Returns the index of the active item in the focusItems array.
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
var getActiveIndex = function getActiveIndex(focusItemValue, focusItems, valueKey) {
|
|
40
|
+
var activeIndex = -1;
|
|
41
|
+
focusItems.forEach(function (item, index) {
|
|
42
|
+
if (shallowEqual(item[valueKey], focusItemValue)) {
|
|
43
|
+
activeIndex = index;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return activeIndex;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Retrieves the active item from the flattened nodes based on the provided focus item value.
|
|
51
|
+
*/
|
|
52
|
+
export var getActiveItem = function getActiveItem(focusItemValue, flattenedNodes, valueKey) {
|
|
53
|
+
var nodeData = null;
|
|
54
|
+
var activeNode = Object.values(flattenedNodes).find(function (node) {
|
|
55
|
+
return shallowEqual(node[valueKey], focusItemValue);
|
|
56
|
+
});
|
|
57
|
+
if (activeNode) {
|
|
58
|
+
nodeData = activeNode;
|
|
59
|
+
}
|
|
60
|
+
return nodeData;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Focuses on a specific tree node element.
|
|
65
|
+
*
|
|
66
|
+
*/
|
|
67
|
+
export var focusTreeNode = function focusTreeNode(refKey, treeNodeRefs) {
|
|
68
|
+
var _treeItem$focus;
|
|
69
|
+
var treeItem = treeNodeRefs[refKey];
|
|
70
|
+
treeItem === null || treeItem === void 0 ? void 0 : (_treeItem$focus = treeItem.focus) === null || _treeItem$focus === void 0 ? void 0 : _treeItem$focus.call(treeItem);
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Focuses on the next item in a tree.
|
|
74
|
+
*/
|
|
75
|
+
export var focusNextItem = function focusNextItem(props) {
|
|
76
|
+
var focusItemValue = props.focusItemValue,
|
|
77
|
+
focusableItems = props.focusableItems,
|
|
78
|
+
treeNodesRefs = props.treeNodesRefs,
|
|
79
|
+
valueKey = props.valueKey;
|
|
80
|
+
var activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);
|
|
81
|
+
if (focusableItems.length === 0) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
var nextIndex = activeIndex === focusableItems.length - 1 ? 0 : activeIndex + 1;
|
|
85
|
+
var value = focusableItems[nextIndex][valueKey];
|
|
86
|
+
focusTreeNode(focusableItems[nextIndex].refKey, treeNodesRefs);
|
|
87
|
+
return value;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Focuses on the previous item in a tree.
|
|
92
|
+
*/
|
|
93
|
+
export var focusPreviousItem = function focusPreviousItem(props) {
|
|
94
|
+
var focusItemValue = props.focusItemValue,
|
|
95
|
+
focusableItems = props.focusableItems,
|
|
96
|
+
treeNodesRefs = props.treeNodesRefs,
|
|
97
|
+
valueKey = props.valueKey;
|
|
98
|
+
var activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);
|
|
99
|
+
if (focusableItems.length === 0) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
var prevIndex = activeIndex === 0 ? focusableItems.length - 1 : activeIndex - 1;
|
|
103
|
+
prevIndex = prevIndex >= 0 ? prevIndex : 0;
|
|
104
|
+
var value = focusableItems[prevIndex][valueKey];
|
|
105
|
+
focusTreeNode(focusableItems[prevIndex].refKey, treeNodesRefs);
|
|
106
|
+
return value;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Returns the index of the first visible node in the tree that matches the given value.
|
|
111
|
+
*/
|
|
112
|
+
var getScrollToIndex = function getScrollToIndex(nodes, value, valueKey) {
|
|
113
|
+
return nodes.filter(function (n) {
|
|
114
|
+
return n.visible;
|
|
115
|
+
}).findIndex(function (item) {
|
|
116
|
+
return item[valueKey] === value;
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Scrolls the list to the active tree node.
|
|
121
|
+
*
|
|
122
|
+
* @param props - The props object containing the necessary parameters.
|
|
123
|
+
*/
|
|
124
|
+
export function scrollToActiveTreeNode(props) {
|
|
125
|
+
var list = props.list,
|
|
126
|
+
value = props.value,
|
|
127
|
+
valueKey = props.valueKey,
|
|
128
|
+
virtualized = props.virtualized,
|
|
129
|
+
formattedNodes = props.formattedNodes;
|
|
130
|
+
if (virtualized && value) {
|
|
131
|
+
var _list$scrollToItem;
|
|
132
|
+
var scrollIndex = getScrollToIndex(formattedNodes, value, valueKey);
|
|
133
|
+
list === null || list === void 0 ? void 0 : (_list$scrollToItem = list.scrollToItem) === null || _list$scrollToItem === void 0 ? void 0 : _list$scrollToItem.call(list, scrollIndex);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export var focusCurrentItem = function focusCurrentItem(props) {
|
|
137
|
+
var _props$selector = props.selector,
|
|
138
|
+
selector = _props$selector === void 0 ? SELECTED_TREEITEM_SELECTOR : _props$selector,
|
|
139
|
+
container = props.container;
|
|
140
|
+
var activeItem = container === null || container === void 0 ? void 0 : container.querySelector(selector);
|
|
141
|
+
if (activeItem) {
|
|
142
|
+
var _activeItem$focus, _activeItem$dataset;
|
|
143
|
+
activeItem === null || activeItem === void 0 ? void 0 : (_activeItem$focus = activeItem.focus) === null || _activeItem$focus === void 0 ? void 0 : _activeItem$focus.call(activeItem);
|
|
144
|
+
return (_activeItem$dataset = activeItem.dataset) === null || _activeItem$dataset === void 0 ? void 0 : _activeItem$dataset.key;
|
|
145
|
+
}
|
|
146
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface ExpandOptions<T> {
|
|
2
|
+
node: Record<string, unknown>;
|
|
3
|
+
isExpand: boolean;
|
|
4
|
+
expandItemValues: T[];
|
|
5
|
+
valueKey: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Returns an array of expanded item values.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getExpandItemValues<T>({ node, isExpand, expandItemValues, valueKey }: ExpandOptions<T>): T[];
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* Returns an array of expanded item values.
|
|
4
|
+
*/
|
|
5
|
+
export function getExpandItemValues(_ref) {
|
|
6
|
+
var node = _ref.node,
|
|
7
|
+
isExpand = _ref.isExpand,
|
|
8
|
+
expandItemValues = _ref.expandItemValues,
|
|
9
|
+
valueKey = _ref.valueKey;
|
|
10
|
+
var newExpandItemValues = new Set(expandItemValues);
|
|
11
|
+
if (isExpand) {
|
|
12
|
+
newExpandItemValues.add(node[valueKey]);
|
|
13
|
+
} else {
|
|
14
|
+
newExpandItemValues.delete(node[valueKey]);
|
|
15
|
+
}
|
|
16
|
+
return Array.from(newExpandItemValues);
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieves an array of parent keys for a given node in a tree.
|
|
4
|
+
*/
|
|
5
|
+
export function getNodeParentKeys(nodes, node, valueKey) {
|
|
6
|
+
var parentKeys = [];
|
|
7
|
+
var traverse = function traverse(node) {
|
|
8
|
+
var _node$parent;
|
|
9
|
+
if (node !== null && node !== void 0 && (_node$parent = node.parent) !== null && _node$parent !== void 0 && _node$parent.refKey) {
|
|
10
|
+
var _node$parent2;
|
|
11
|
+
traverse(nodes[node.parent.refKey]);
|
|
12
|
+
parentKeys.push(node === null || node === void 0 ? void 0 : (_node$parent2 = node.parent) === null || _node$parent2 === void 0 ? void 0 : _node$parent2[valueKey]);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
traverse(node);
|
|
16
|
+
return parentKeys;
|
|
17
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TreeNodeMap } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieves the active node from a tree based on the provided value and value key.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getTreeActiveNode<T extends number | string | undefined | null>(nodes: TreeNodeMap, value: T, valueKey: string): import("../types").TreeNode | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import shallowEqual from '../../utils/shallowEqual';
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the active node from a tree based on the provided value and value key.
|
|
5
|
+
*/
|
|
6
|
+
export function getTreeActiveNode(nodes, value, valueKey) {
|
|
7
|
+
if (typeof value === 'undefined') {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
for (var refKey in nodes) {
|
|
11
|
+
var node = nodes[refKey];
|
|
12
|
+
if (shallowEqual(node[valueKey], value)) {
|
|
13
|
+
return node;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* Checks if a node has visible children.
|
|
4
|
+
*/
|
|
5
|
+
export function hasVisibleChildren(node, childrenKey) {
|
|
6
|
+
if (!Array.isArray(node[childrenKey])) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
return node[childrenKey].some(function (child) {
|
|
10
|
+
return child.visible;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
export function indentTreeNode(rtl, layer, absolute) {
|
|
3
|
+
var _ref2;
|
|
4
|
+
if (absolute === void 0) {
|
|
5
|
+
absolute = false;
|
|
6
|
+
}
|
|
7
|
+
// layer start from 1
|
|
8
|
+
var offset = layer * 26;
|
|
9
|
+
if (absolute) {
|
|
10
|
+
var _ref;
|
|
11
|
+
return _ref = {}, _ref[rtl ? 'right' : 'left'] = offset, _ref;
|
|
12
|
+
}
|
|
13
|
+
return _ref2 = {}, _ref2[rtl ? 'paddingRight' : 'paddingLeft'] = offset, _ref2;
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { getNodeParentKeys } from './getNodeParentKeys';
|
|
2
|
+
export { UNSAFE_flattenTree, flattenTree, WalkTreeStrategy } from './flattenTree';
|
|
3
|
+
export { hasVisibleChildren } from './hasVisibleChildren';
|
|
4
|
+
export { getExpandItemValues } from './getExpandItemValues';
|
|
5
|
+
export { getTreeActiveNode } from './getTreeActiveNode';
|
|
6
|
+
export { formatNodeRefKey } from './formatNodeRefKey';
|
|
7
|
+
export { indentTreeNode } from './indentTreeNode';
|
|
8
|
+
export { isSearching } from './isSearching';
|
|
9
|
+
export { isExpand } from './isExpand';
|
|
10
|
+
export { getFocusableItems, getActiveItem, focusNextItem, focusPreviousItem, focusTreeNode, focusCurrentItem } from './focusableTree';
|
|
11
|
+
export { handleLeftArrow, handleRightArrow } from './treeKeyboardInteractions';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
export { getNodeParentKeys } from './getNodeParentKeys';
|
|
3
|
+
export { UNSAFE_flattenTree, flattenTree, WalkTreeStrategy } from './flattenTree';
|
|
4
|
+
export { hasVisibleChildren } from './hasVisibleChildren';
|
|
5
|
+
export { getExpandItemValues } from './getExpandItemValues';
|
|
6
|
+
export { getTreeActiveNode } from './getTreeActiveNode';
|
|
7
|
+
export { formatNodeRefKey } from './formatNodeRefKey';
|
|
8
|
+
export { indentTreeNode } from './indentTreeNode';
|
|
9
|
+
export { isSearching } from './isSearching';
|
|
10
|
+
export { isExpand } from './isExpand';
|
|
11
|
+
|
|
12
|
+
// Utility functions for managing focusable items in a tree.
|
|
13
|
+
export { getFocusableItems, getActiveItem, focusNextItem, focusPreviousItem, focusTreeNode, focusCurrentItem } from './focusableTree';
|
|
14
|
+
export { handleLeftArrow, handleRightArrow } from './treeKeyboardInteractions';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines whether the tree node should be expanded based on the search keyword and expand flag.
|
|
3
|
+
* If a search keyword is provided, the node is always expanded.
|
|
4
|
+
* Otherwise, the node is expanded if the expand flag is true.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isExpand(searchKeyword: string, expand: boolean): boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { isSearching } from './isSearching';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Determines whether the tree node should be expanded based on the search keyword and expand flag.
|
|
6
|
+
* If a search keyword is provided, the node is always expanded.
|
|
7
|
+
* Otherwise, the node is expanded if the expand flag is true.
|
|
8
|
+
*/
|
|
9
|
+
export function isExpand(searchKeyword, expand) {
|
|
10
|
+
return isSearching(searchKeyword) ? true : expand;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isSearching(searchKeyword?: string): boolean;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TreeNode } from '../types';
|
|
2
|
+
export interface ArrowHandlerProps {
|
|
3
|
+
focusItem: TreeNode;
|
|
4
|
+
expand: boolean;
|
|
5
|
+
childrenKey: string;
|
|
6
|
+
onExpand?: (focusItem: TreeNode, expanded: boolean) => void;
|
|
7
|
+
onFocusItem: () => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Handles the left arrow key press event for tree navigation.
|
|
11
|
+
* If the focus item is expanded, it collapses it. If the focus item is not expanded and has a parent,
|
|
12
|
+
* it moves the focus to the parent item.
|
|
13
|
+
*/
|
|
14
|
+
export declare function handleLeftArrow(props: ArrowHandlerProps): void;
|
|
15
|
+
/**
|
|
16
|
+
* Handles the right arrow key press event for tree navigation.
|
|
17
|
+
* If the focused item has children and is collapsed, it expands the item.
|
|
18
|
+
* If the focused item has children and is expanded, it moves the focus to the next sibling.
|
|
19
|
+
* If the focused item does not have children, it does nothing.
|
|
20
|
+
*/
|
|
21
|
+
export declare function handleRightArrow(props: ArrowHandlerProps): void;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import isEmpty from 'lodash/isEmpty';
|
|
3
|
+
/**
|
|
4
|
+
* Handles the left arrow key press event for tree navigation.
|
|
5
|
+
* If the focus item is expanded, it collapses it. If the focus item is not expanded and has a parent,
|
|
6
|
+
* it moves the focus to the parent item.
|
|
7
|
+
*/
|
|
8
|
+
export function handleLeftArrow(props) {
|
|
9
|
+
var focusItem = props.focusItem,
|
|
10
|
+
expand = props.expand,
|
|
11
|
+
onExpand = props.onExpand,
|
|
12
|
+
onFocusItem = props.onFocusItem;
|
|
13
|
+
if (isEmpty(focusItem)) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (expand) {
|
|
17
|
+
onExpand === null || onExpand === void 0 ? void 0 : onExpand(focusItem, expand);
|
|
18
|
+
} else if (focusItem !== null && focusItem !== void 0 && focusItem.parent) {
|
|
19
|
+
onFocusItem();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Handles the right arrow key press event for tree navigation.
|
|
25
|
+
* If the focused item has children and is collapsed, it expands the item.
|
|
26
|
+
* If the focused item has children and is expanded, it moves the focus to the next sibling.
|
|
27
|
+
* If the focused item does not have children, it does nothing.
|
|
28
|
+
*/
|
|
29
|
+
export function handleRightArrow(props) {
|
|
30
|
+
var focusItem = props.focusItem,
|
|
31
|
+
expand = props.expand,
|
|
32
|
+
childrenKey = props.childrenKey,
|
|
33
|
+
onExpand = props.onExpand,
|
|
34
|
+
onFocusItem = props.onFocusItem;
|
|
35
|
+
if (isEmpty(focusItem) || !Array.isArray(focusItem[childrenKey])) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (!expand) {
|
|
39
|
+
onExpand === null || onExpand === void 0 ? void 0 : onExpand(focusItem, expand);
|
|
40
|
+
} else {
|
|
41
|
+
onFocusItem();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
3
|
import { PickerComponent, PickerToggleProps } from '../internals/Picker';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
4
|
+
import { TreeNode } from '../Tree/types';
|
|
5
|
+
import { type TreeViewProps } from '../Tree/TreeView';
|
|
6
|
+
import type { FormControlPickerProps, DeprecatedPickerProps } from '../@types/common';
|
|
7
|
+
import type { TreeExtraProps } from '../Tree/types';
|
|
8
|
+
export interface TreePickerProps<V = number | string | null> extends TreeViewProps<V>, TreeExtraProps, DeprecatedPickerProps, FormControlPickerProps<V, PickerLocale, TreeNode>, Pick<PickerToggleProps, 'caretAs' | 'loading'> {
|
|
9
|
+
/**
|
|
10
|
+
* Custom render selected items
|
|
11
|
+
*/
|
|
12
|
+
renderValue?: (value: V, selectedNode: TreeNode, selectedElement: React.ReactNode) => React.ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Custom popup style
|
|
15
|
+
*/
|
|
16
|
+
popupClassName?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Custom popup style
|
|
19
|
+
*/
|
|
20
|
+
popupStyle?: React.CSSProperties;
|
|
21
|
+
/**
|
|
22
|
+
* The height of the tree
|
|
23
|
+
*/
|
|
24
|
+
treeHeight?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Popup auto width
|
|
27
|
+
*
|
|
28
|
+
* @default true
|
|
29
|
+
*/
|
|
30
|
+
popupAutoWidth?: boolean;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
27
33
|
* The `TreePicker` component is used for selecting single options which are organized in a tree structure.
|