rsuite 5.60.1 → 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 +37 -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 +63 -26
- package/DatePicker/styles/index.less +1 -0
- package/DateRangeInput/styles/index.css +4 -4
- package/DateRangePicker/styles/index.css +69 -26
- package/DateRangePicker/styles/index.less +3 -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/LICENSE +1 -1
- 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 +53 -90
- package/Radio/styles/index.css +7 -7
- package/Radio/styles/index.less +1 -5
- package/RangeSlider/styles/index.css +2 -2
- 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 +2 -2
- package/Slider/styles/index.less +2 -2
- 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 +16 -8
- package/Toggle/styles/index.less +2 -1
- 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/DateInput/DateField.js +3 -1
- package/cjs/DateInput/DateInput.js +17 -16
- package/{esm/DateInput → cjs/DateInput/hooks}/useDateInputState.d.ts +1 -1
- package/cjs/DateInput/{useDateInputState.js → hooks/useDateInputState.js} +2 -2
- package/cjs/DateInput/hooks/useFieldCursor.d.ts +6 -0
- package/cjs/DateInput/hooks/useFieldCursor.js +56 -0
- package/cjs/DateInput/hooks/useSelectedState.d.ts +14 -0
- package/cjs/DateInput/hooks/useSelectedState.js +23 -0
- package/cjs/DateInput/index.d.ts +5 -3
- package/cjs/DateInput/index.js +11 -5
- package/cjs/DateInput/utils.d.ts +0 -1
- package/cjs/DateInput/utils.js +2 -24
- 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/DateRangeInput/DateRangeInput.js +16 -17
- 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 +301 -302
- 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 +303 -306
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +302 -303
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +304 -307
- package/dist/rsuite.js +657 -140
- 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/DateInput/DateField.js +3 -1
- package/esm/DateInput/DateInput.js +19 -18
- package/{cjs/DateInput → esm/DateInput/hooks}/useDateInputState.d.ts +1 -1
- package/esm/DateInput/{useDateInputState.js → hooks/useDateInputState.js} +2 -2
- package/esm/DateInput/hooks/useFieldCursor.d.ts +6 -0
- package/esm/DateInput/hooks/useFieldCursor.js +49 -0
- package/esm/DateInput/hooks/useSelectedState.d.ts +14 -0
- package/esm/DateInput/hooks/useSelectedState.js +17 -0
- package/esm/DateInput/index.d.ts +5 -3
- package/esm/DateInput/index.js +5 -3
- package/esm/DateInput/utils.d.ts +0 -1
- package/esm/DateInput/utils.js +2 -23
- 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/DateRangeInput/DateRangeInput.js +17 -18
- 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 +2 -2
- 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/DateInput/{useIsFocused.d.ts → hooks/useIsFocused.d.ts} +0 -0
- /package/cjs/DateInput/{useIsFocused.js → hooks/useIsFocused.js} +0 -0
- /package/cjs/DateInput/{useKeyboardInputEvent.d.ts → hooks/useKeyboardInputEvent.d.ts} +0 -0
- /package/cjs/DateInput/{useKeyboardInputEvent.js → hooks/useKeyboardInputEvent.js} +0 -0
- /package/cjs/internals/{Picker → Tree}/TreeView.d.ts +0 -0
- /package/esm/DateInput/{useIsFocused.d.ts → hooks/useIsFocused.d.ts} +0 -0
- /package/esm/DateInput/{useIsFocused.js → hooks/useIsFocused.js} +0 -0
- /package/esm/DateInput/{useKeyboardInputEvent.d.ts → hooks/useKeyboardInputEvent.d.ts} +0 -0
- /package/esm/DateInput/{useKeyboardInputEvent.js → hooks/useKeyboardInputEvent.js} +0 -0
- /package/esm/internals/{Picker → Tree}/TreeView.d.ts +0 -0
|
@@ -4,33 +4,38 @@ import { DateRangePickerLocale } from '../locales';
|
|
|
4
4
|
import { PickerComponent } from '../internals/Picker';
|
|
5
5
|
import { DisabledDateFunction, RangeType, DateRange } from './types';
|
|
6
6
|
export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLocale>, FormControlBaseProps<DateRange | null> {
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Custom caret component
|
|
9
|
+
*/
|
|
8
10
|
caretAs?: React.ElementType | null;
|
|
9
11
|
/** Predefined date ranges */
|
|
10
12
|
ranges?: RangeType[];
|
|
11
13
|
/**
|
|
12
14
|
* Format of the date displayed in the input box
|
|
13
|
-
*
|
|
14
15
|
* @default 'yyyy-MM-dd'
|
|
15
16
|
*/
|
|
16
17
|
format?: string;
|
|
17
18
|
/**
|
|
18
19
|
* Rendered as an input, the date can be entered via the keyboard.
|
|
19
|
-
*
|
|
20
20
|
* @default true
|
|
21
21
|
*/
|
|
22
22
|
editable?: boolean;
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* The date range that will be selected when you click on the date
|
|
25
|
+
*/
|
|
24
26
|
hoverRange?: 'week' | 'month' | ((date: Date) => DateRange);
|
|
25
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Whether to click once on selected date range,Can be used with hoverRange
|
|
29
|
+
*/
|
|
26
30
|
oneTap?: boolean;
|
|
27
31
|
/**
|
|
28
32
|
* ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day
|
|
29
|
-
*
|
|
30
33
|
* @see https://en.wikipedia.org/wiki/ISO_week_date
|
|
31
34
|
*/
|
|
32
35
|
isoWeek?: boolean;
|
|
33
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* A label displayed at the beginning of toggle button
|
|
38
|
+
*/
|
|
34
39
|
label?: React.ReactNode;
|
|
35
40
|
/**
|
|
36
41
|
* Set the upper limit of the available year relative to the current selection date.
|
|
@@ -38,15 +43,25 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
38
43
|
* @default 1000
|
|
39
44
|
*/
|
|
40
45
|
limitEndYear?: number;
|
|
41
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Set the lower limit of the available year relative to the current selection date
|
|
48
|
+
*/
|
|
42
49
|
limitStartYear?: number;
|
|
43
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Whether to display a loading state indicator
|
|
52
|
+
*/
|
|
44
53
|
loading?: boolean;
|
|
45
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* to show week numbers
|
|
56
|
+
*/
|
|
46
57
|
showWeekNumbers?: boolean;
|
|
47
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* Show only one calendar select
|
|
60
|
+
*/
|
|
48
61
|
showOneCalendar?: boolean;
|
|
49
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Meridian format
|
|
64
|
+
*/
|
|
50
65
|
showMeridian?: boolean;
|
|
51
66
|
/**
|
|
52
67
|
* Whether to display the formatted date range at the header of the calendar
|
|
@@ -54,13 +69,17 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
54
69
|
* @version 5.52.0
|
|
55
70
|
*/
|
|
56
71
|
showHeader?: boolean;
|
|
57
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Set default date for calendar
|
|
74
|
+
*/
|
|
58
75
|
defaultCalendarValue?: DateRange;
|
|
59
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* The character that separates two dates
|
|
78
|
+
* @default ' ~ '
|
|
79
|
+
*/
|
|
60
80
|
character?: string;
|
|
61
81
|
/**
|
|
62
82
|
* Disabled date
|
|
63
|
-
*
|
|
64
83
|
* @deprecated Use {@link shouldDisableDate} instead
|
|
65
84
|
*/
|
|
66
85
|
disabledDate?: DisabledDateFunction;
|
|
@@ -68,20 +87,29 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
68
87
|
* Whether a date cell is disabled
|
|
69
88
|
*/
|
|
70
89
|
shouldDisableDate?: DisabledDateFunction;
|
|
71
|
-
/**
|
|
90
|
+
/**
|
|
91
|
+
* Called when the option is selected
|
|
92
|
+
*/
|
|
72
93
|
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
73
|
-
/**
|
|
94
|
+
/**
|
|
95
|
+
* Called after clicking the OK button
|
|
96
|
+
*/
|
|
74
97
|
onOk?: (date: DateRange, event: React.SyntheticEvent) => void;
|
|
75
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Called after clicking the shortcut button
|
|
100
|
+
*/
|
|
76
101
|
onShortcutClick?: (range: RangeType, event: React.MouseEvent) => void;
|
|
77
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Called when the value is cleared
|
|
104
|
+
*/
|
|
78
105
|
onClean?: (event: React.MouseEvent) => void;
|
|
79
106
|
/**
|
|
80
|
-
* Custom
|
|
81
|
-
|
|
107
|
+
* Custom rendering of the selected date range.
|
|
108
|
+
*/
|
|
109
|
+
renderValue?: (value: DateRange, format: string) => string;
|
|
110
|
+
/**
|
|
111
|
+
* Custom render for calendar title
|
|
82
112
|
*/
|
|
83
|
-
renderValue?: (value: DateRange, format: string) => React.ReactNode;
|
|
84
|
-
/** Custom render for calendar title */
|
|
85
113
|
renderTitle?: (date: Date) => React.ReactNode;
|
|
86
114
|
}
|
|
87
115
|
export interface DateRangePickerComponent extends PickerComponent<DateRangePickerProps> {
|
|
@@ -22,8 +22,10 @@ import { getSafeCalendarDate, getMonthHoverRange, getWeekHoverRange, isSameRange
|
|
|
22
22
|
import { deprecatePropTypeNew, oneOf } from '../internals/propTypes';
|
|
23
23
|
import DateRangePickerContext from './DateRangePickerContext';
|
|
24
24
|
import DateRangeInput from '../DateRangeInput';
|
|
25
|
+
import Input from '../Input';
|
|
25
26
|
import InputGroup from '../InputGroup';
|
|
26
27
|
import Header from './Header';
|
|
28
|
+
import useDateDisabled from './hooks/useDateDisabled';
|
|
27
29
|
/**
|
|
28
30
|
* A date range picker allows you to select a date range from a calendar.
|
|
29
31
|
*
|
|
@@ -48,7 +50,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
48
50
|
defaultValue = props.defaultValue,
|
|
49
51
|
plaintext = props.plaintext,
|
|
50
52
|
disabled = props.disabled,
|
|
51
|
-
|
|
53
|
+
DEPRECATED_disabledDate = props.disabledDate,
|
|
52
54
|
shouldDisableDate = props.shouldDisableDate,
|
|
53
55
|
_props$format = props.format,
|
|
54
56
|
formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
|
|
@@ -90,7 +92,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
90
92
|
onSelect = props.onSelect,
|
|
91
93
|
onShortcutClick = props.onShortcutClick,
|
|
92
94
|
renderTitle = props.renderTitle,
|
|
93
|
-
|
|
95
|
+
renderValue = props.renderValue,
|
|
96
|
+
restProps = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "id", "isoWeek", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showHeader", "style", "size", "caretAs", "value", "onChange", "onClean", "onEnter", "onEntered", "onExited", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue"]);
|
|
94
97
|
var id = useUniqueId('rs-', idProp);
|
|
95
98
|
var _usePickerRef = usePickerRef(ref),
|
|
96
99
|
trigger = _usePickerRef.trigger,
|
|
@@ -144,6 +147,12 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
144
147
|
* so declare a Ref to temporarily store the `selectValue` of the first click.
|
|
145
148
|
*/
|
|
146
149
|
var selectRangeValueRef = useRef(null);
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
*
|
|
153
|
+
* The key of the currently active calendar panel.
|
|
154
|
+
* Used to switch when only one calendar panel is displayed.
|
|
155
|
+
*/
|
|
147
156
|
var _useState5 = useState(),
|
|
148
157
|
activeCalendarKey = _useState5[0],
|
|
149
158
|
setActiveCalendarKey = _useState5[1];
|
|
@@ -192,9 +201,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
192
201
|
setSelectedDates(nextCalendarDate);
|
|
193
202
|
}
|
|
194
203
|
};
|
|
195
|
-
|
|
196
|
-
// if valueProp changed then update selectValue/hoverValue
|
|
197
204
|
useEffect(function () {
|
|
205
|
+
// If value changes, update the selected and hover date values on the calendar panel.
|
|
198
206
|
setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
|
|
199
207
|
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
200
208
|
}, [valueProp]);
|
|
@@ -475,41 +483,39 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
475
483
|
});
|
|
476
484
|
setDateRange(event, selectValue);
|
|
477
485
|
});
|
|
478
|
-
var isDateDisabled =
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
486
|
+
var isDateDisabled = useDateDisabled({
|
|
487
|
+
shouldDisableDate: shouldDisableDate,
|
|
488
|
+
DEPRECATED_disabledDate: DEPRECATED_disabledDate
|
|
489
|
+
});
|
|
490
|
+
var disableByRange = function disableByRange(start, end, target) {
|
|
491
|
+
if (isDateDisabled) {
|
|
492
|
+
// If the date is between the start and the end the button is disabled
|
|
493
|
+
while (isBefore(start, end) || isSameDay(start, end)) {
|
|
494
|
+
if (isDateDisabled(start, {
|
|
495
|
+
selectDate: selectedDates,
|
|
496
|
+
selectedDone: isSelectedIdle,
|
|
497
|
+
target: target
|
|
498
|
+
})) {
|
|
499
|
+
return true;
|
|
500
|
+
}
|
|
501
|
+
start = addDays(start, 1);
|
|
502
|
+
}
|
|
487
503
|
}
|
|
488
504
|
return false;
|
|
489
505
|
};
|
|
490
|
-
var
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
})) {
|
|
506
|
+
var disableOkButton = function disableOkButton() {
|
|
507
|
+
var _trigger$current;
|
|
508
|
+
var _ref4 = ((_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.getState()) || {},
|
|
509
|
+
open = _ref4.open;
|
|
510
|
+
if (open) {
|
|
511
|
+
var start = selectedDates[0],
|
|
512
|
+
end = selectedDates[1];
|
|
513
|
+
if (!start || !end || !isSelectedIdle) {
|
|
499
514
|
return true;
|
|
500
515
|
}
|
|
501
|
-
start = addDays(start, 1);
|
|
502
516
|
}
|
|
503
517
|
return false;
|
|
504
518
|
};
|
|
505
|
-
var disableOkButton = function disableOkButton() {
|
|
506
|
-
var start = selectedDates[0],
|
|
507
|
-
end = selectedDates[1];
|
|
508
|
-
if (!start || !end || !isSelectedIdle) {
|
|
509
|
-
return true;
|
|
510
|
-
}
|
|
511
|
-
return disableByBetween(start, end, TARGET.TOOLBAR_BUTTON_OK);
|
|
512
|
-
};
|
|
513
519
|
var disableShortcut = function disableShortcut(value) {
|
|
514
520
|
if (value === void 0) {
|
|
515
521
|
value = [];
|
|
@@ -520,26 +526,33 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
520
526
|
if (!start || !end) {
|
|
521
527
|
return true;
|
|
522
528
|
}
|
|
523
|
-
return
|
|
529
|
+
return disableByRange(start, end, TARGET.TOOLBAR_SHORTCUT);
|
|
524
530
|
};
|
|
525
531
|
var handleClose = useEventCallback(function () {
|
|
526
|
-
var _trigger$
|
|
527
|
-
(_trigger$
|
|
532
|
+
var _trigger$current2, _trigger$current2$clo;
|
|
533
|
+
(_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$clo = _trigger$current2.close) === null || _trigger$current2$clo === void 0 ? void 0 : _trigger$current2$clo.call(_trigger$current2);
|
|
528
534
|
});
|
|
529
535
|
var handleInputKeyDown = useEventCallback(function (event) {
|
|
530
536
|
onMenuKeyDown(event, {
|
|
531
537
|
esc: handleClose,
|
|
532
538
|
enter: function enter() {
|
|
533
|
-
var _trigger$
|
|
534
|
-
var
|
|
535
|
-
open =
|
|
539
|
+
var _trigger$current3;
|
|
540
|
+
var _ref5 = ((_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : _trigger$current3.getState()) || {},
|
|
541
|
+
open = _ref5.open;
|
|
536
542
|
if (!open) {
|
|
537
|
-
var _trigger$
|
|
538
|
-
(_trigger$
|
|
543
|
+
var _trigger$current4;
|
|
544
|
+
(_trigger$current4 = trigger.current) === null || _trigger$current4 === void 0 ? void 0 : _trigger$current4.open();
|
|
539
545
|
}
|
|
540
546
|
}
|
|
541
547
|
});
|
|
542
548
|
});
|
|
549
|
+
var disableCalendarDate = isDateDisabled ? function (date, values, type) {
|
|
550
|
+
return isDateDisabled(date, {
|
|
551
|
+
selectDate: values,
|
|
552
|
+
selectedDone: isSelectedIdle,
|
|
553
|
+
target: type
|
|
554
|
+
});
|
|
555
|
+
} : undefined;
|
|
543
556
|
var renderCalendarOverlay = function renderCalendarOverlay(positionProps, speakerRef) {
|
|
544
557
|
var left = positionProps.left,
|
|
545
558
|
top = positionProps.top,
|
|
@@ -560,13 +573,6 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
560
573
|
left: left,
|
|
561
574
|
top: top
|
|
562
575
|
});
|
|
563
|
-
var disabledDate = function disabledDate(date, values, type) {
|
|
564
|
-
return isDateDisabled(date, {
|
|
565
|
-
selectDate: values,
|
|
566
|
-
selectedDone: isSelectedIdle,
|
|
567
|
-
target: type
|
|
568
|
-
});
|
|
569
|
-
};
|
|
570
576
|
var calendarProps = {
|
|
571
577
|
locale: locale,
|
|
572
578
|
isoWeek: isoWeek,
|
|
@@ -578,12 +584,12 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
578
584
|
format: formatStr,
|
|
579
585
|
value: selectedDates,
|
|
580
586
|
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
587
|
+
disabledDate: disableCalendarDate,
|
|
581
588
|
onSelect: handleSelectDate,
|
|
582
589
|
onChangeCalendarMonth: onChangeCalendarMonth,
|
|
583
590
|
onChangeCalendarTime: onChangeCalendarTime,
|
|
584
591
|
onToggleMeridian: onToggleMeridian,
|
|
585
592
|
onMouseMove: onMouseMove,
|
|
586
|
-
disabledDate: disabledDate,
|
|
587
593
|
renderTitle: renderTitle
|
|
588
594
|
};
|
|
589
595
|
var getCalendars = function getCalendars() {
|
|
@@ -691,7 +697,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
691
697
|
selectedDone: isSelectedIdle,
|
|
692
698
|
target: TARGET.INPUT
|
|
693
699
|
};
|
|
694
|
-
if (isDateDisabled(startDate, disabledOptions) || isDateDisabled(endDate, disabledOptions)) {
|
|
700
|
+
if (isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(startDate, disabledOptions) || isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(endDate, disabledOptions)) {
|
|
695
701
|
return true;
|
|
696
702
|
}
|
|
697
703
|
return false;
|
|
@@ -704,6 +710,19 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
704
710
|
rest = _partitionHTMLProps[1];
|
|
705
711
|
var showCleanButton = cleanable && hasValue && !readOnly;
|
|
706
712
|
var invalidValue = value && isErrorValue(value);
|
|
713
|
+
|
|
714
|
+
// Custom rendering of the selected value
|
|
715
|
+
var customValue = null;
|
|
716
|
+
|
|
717
|
+
// Input box is read-only when the component is uneditable or loading state
|
|
718
|
+
var inputReadOnly = readOnly || !editable || loading || false;
|
|
719
|
+
if (typeof renderValue === 'function' && value) {
|
|
720
|
+
customValue = renderValue(value, formatStr);
|
|
721
|
+
|
|
722
|
+
// If the custom rendering value, the input box is read-only
|
|
723
|
+
inputReadOnly = true;
|
|
724
|
+
}
|
|
725
|
+
var TargetInput = customValue ? Input : DateRangeInput;
|
|
707
726
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
708
727
|
trigger: "active",
|
|
709
728
|
ref: trigger,
|
|
@@ -723,23 +742,24 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
723
742
|
plaintext: plaintext
|
|
724
743
|
}) : /*#__PURE__*/React.createElement(InputGroup, _extends({}, omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys, calendarOnlyProps)), {
|
|
725
744
|
inside: true,
|
|
745
|
+
disabled: disabled,
|
|
726
746
|
size: size
|
|
727
747
|
}), /*#__PURE__*/React.createElement(PickerLabel, {
|
|
728
748
|
className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["label"]))),
|
|
729
749
|
id: id + "-label"
|
|
730
|
-
}, label), /*#__PURE__*/React.createElement(
|
|
750
|
+
}, label), /*#__PURE__*/React.createElement(TargetInput, _extends({
|
|
731
751
|
"aria-haspopup": "dialog",
|
|
732
752
|
"aria-invalid": invalidValue,
|
|
733
753
|
"aria-labelledby": label ? id + "-label" : undefined
|
|
734
754
|
}, ariaProps, {
|
|
735
755
|
ref: target,
|
|
736
756
|
id: id,
|
|
737
|
-
value: value,
|
|
757
|
+
value: customValue || value,
|
|
738
758
|
character: character,
|
|
739
759
|
format: formatStr,
|
|
740
760
|
placeholder: placeholder ? placeholder : rangeFormatStr,
|
|
741
761
|
disabled: disabled,
|
|
742
|
-
readOnly:
|
|
762
|
+
readOnly: inputReadOnly,
|
|
743
763
|
plaintext: plaintext,
|
|
744
764
|
htmlSize: getInputHtmlSize(),
|
|
745
765
|
onChange: handleInputChange,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DATERANGE_DISABLED_TARGET as TARGET } from '../../utils';
|
|
2
|
+
import { DisabledDateFunction, SelectedDatesState } from '../types';
|
|
3
|
+
interface UseDateDisabledProps {
|
|
4
|
+
shouldDisableDate?: DisabledDateFunction;
|
|
5
|
+
DEPRECATED_disabledDate?: DisabledDateFunction;
|
|
6
|
+
}
|
|
7
|
+
interface DateDisabledOptions {
|
|
8
|
+
selectDate?: SelectedDatesState;
|
|
9
|
+
selectedDone?: boolean;
|
|
10
|
+
target?: TARGET;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Returns a function that determines whether a date is disabled and is compatible with the deprecated `disabledDate` prop.
|
|
14
|
+
*/
|
|
15
|
+
declare function useDateDisabled(props: UseDateDisabledProps): ((date: Date, options: DateDisabledOptions) => boolean) | undefined;
|
|
16
|
+
export default useDateDisabled;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Returns a function that determines whether a date is disabled and is compatible with the deprecated `disabledDate` prop.
|
|
5
|
+
*/
|
|
6
|
+
function useDateDisabled(props) {
|
|
7
|
+
var shouldDisableDate = props.shouldDisableDate,
|
|
8
|
+
DEPRECATED_disabledDate = props.DEPRECATED_disabledDate;
|
|
9
|
+
var isDateDisabled = useCallback(function (date, options) {
|
|
10
|
+
var selectDate = options.selectDate,
|
|
11
|
+
selectedDone = options.selectedDone,
|
|
12
|
+
target = options.target;
|
|
13
|
+
if (typeof shouldDisableDate === 'function') {
|
|
14
|
+
return shouldDisableDate(date, selectDate, selectedDone, target);
|
|
15
|
+
}
|
|
16
|
+
if (typeof DEPRECATED_disabledDate === 'function') {
|
|
17
|
+
return DEPRECATED_disabledDate(date, selectDate, selectedDone, target);
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}, [shouldDisableDate, DEPRECATED_disabledDate]);
|
|
21
|
+
if (shouldDisableDate || DEPRECATED_disabledDate) {
|
|
22
|
+
return isDateDisabled;
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
export default useDateDisabled;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
|
+
export interface HighlightProps extends WithAsProps {
|
|
4
|
+
query?: string | string[];
|
|
5
|
+
renderMark?: (match: string, index: number) => React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* Highlight the matching text in the content.
|
|
10
|
+
*
|
|
11
|
+
* @see https://rsuitejs.com/components/highlight
|
|
12
|
+
*/
|
|
13
|
+
declare const Highlight: RsRefForwardingComponent<'div', HighlightProps>;
|
|
14
|
+
export default Highlight;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { useClassNames } from '../utils';
|
|
7
|
+
import { highlightText } from './utils/highlightText';
|
|
8
|
+
import { stringifyReactNode } from '../internals/utils';
|
|
9
|
+
function defaultRenderMark(match, index) {
|
|
10
|
+
return /*#__PURE__*/React.createElement("mark", {
|
|
11
|
+
key: index,
|
|
12
|
+
className: "rs-highlight-mark"
|
|
13
|
+
}, match);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* Highlight the matching text in the content.
|
|
19
|
+
*
|
|
20
|
+
* @see https://rsuitejs.com/components/highlight
|
|
21
|
+
*/
|
|
22
|
+
var Highlight = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
23
|
+
var _props$as = props.as,
|
|
24
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
25
|
+
_props$classPrefix = props.classPrefix,
|
|
26
|
+
classPrefix = _props$classPrefix === void 0 ? 'highlight' : _props$classPrefix,
|
|
27
|
+
className = props.className,
|
|
28
|
+
children = props.children,
|
|
29
|
+
query = props.query,
|
|
30
|
+
_props$renderMark = props.renderMark,
|
|
31
|
+
renderMark = _props$renderMark === void 0 ? defaultRenderMark : _props$renderMark,
|
|
32
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "children", "query", "renderMark"]);
|
|
33
|
+
var _useClassNames = useClassNames(classPrefix),
|
|
34
|
+
withClassPrefix = _useClassNames.withClassPrefix,
|
|
35
|
+
merge = _useClassNames.merge;
|
|
36
|
+
var classes = merge(className, withClassPrefix());
|
|
37
|
+
var text = stringifyReactNode(children);
|
|
38
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
39
|
+
ref: ref,
|
|
40
|
+
className: classes
|
|
41
|
+
}, rest), highlightText(text, {
|
|
42
|
+
query: query,
|
|
43
|
+
renderMark: renderMark
|
|
44
|
+
}));
|
|
45
|
+
});
|
|
46
|
+
Highlight.displayName = 'Highlight';
|
|
47
|
+
Highlight.propTypes = {
|
|
48
|
+
className: PropTypes.string,
|
|
49
|
+
classPrefix: PropTypes.string,
|
|
50
|
+
as: PropTypes.elementType
|
|
51
|
+
};
|
|
52
|
+
export default Highlight;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { getSafeRegExpString } from '../../internals/utils';
|
|
3
|
+
export function highlightText(text, props) {
|
|
4
|
+
var query = props.query,
|
|
5
|
+
renderMark = props.renderMark;
|
|
6
|
+
if (!query || !text) {
|
|
7
|
+
return text;
|
|
8
|
+
}
|
|
9
|
+
var queries = Array.isArray(query) ? query : [query];
|
|
10
|
+
var regx = new RegExp(queries.map(function (q) {
|
|
11
|
+
return getSafeRegExpString(q);
|
|
12
|
+
}).join('|'), 'ig');
|
|
13
|
+
var texts = [];
|
|
14
|
+
var strArr = text.split(regx);
|
|
15
|
+
var highStrArr = text.match(regx);
|
|
16
|
+
for (var i = 0; i < strArr.length; i++) {
|
|
17
|
+
if (strArr[i]) {
|
|
18
|
+
texts.push(strArr[i]);
|
|
19
|
+
}
|
|
20
|
+
if (highStrArr !== null && highStrArr !== void 0 && highStrArr[i]) {
|
|
21
|
+
texts.push(renderMark(highStrArr[i], i));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return texts;
|
|
25
|
+
}
|
|
@@ -5,7 +5,6 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
5
5
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
6
6
|
import React, { useEffect } from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
-
import isUndefined from 'lodash/isUndefined';
|
|
9
8
|
import isNil from 'lodash/isNil';
|
|
10
9
|
import isFunction from 'lodash/isFunction';
|
|
11
10
|
import remove from 'lodash/remove';
|
|
@@ -14,7 +13,7 @@ import isArray from 'lodash/isArray';
|
|
|
14
13
|
import omit from 'lodash/omit';
|
|
15
14
|
import pick from 'lodash/pick';
|
|
16
15
|
import shallowEqual from '../utils/shallowEqual';
|
|
17
|
-
import { filterNodesOfTree } from '../utils
|
|
16
|
+
import { filterNodesOfTree } from '../internals/Tree/utils';
|
|
18
17
|
import Plaintext from '../internals/Plaintext';
|
|
19
18
|
import { createChainedFunction, tplTransform, useClassNames, useCustom, useControlled, useEventCallback, mergeRefs, isOneOf, KEY_VALUES } from '../utils';
|
|
20
19
|
import { oneOf } from '../internals/propTypes';
|
|
@@ -553,11 +552,8 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
553
552
|
activeItemValues: multi ? value : [value],
|
|
554
553
|
focusItemValue: focusItemValue,
|
|
555
554
|
maxHeight: menuMaxHeight,
|
|
556
|
-
data: items
|
|
557
|
-
|
|
558
|
-
// `group` is redundant so long as `groupBy` exists
|
|
559
|
-
,
|
|
560
|
-
group: !isUndefined(groupBy),
|
|
555
|
+
data: items,
|
|
556
|
+
query: searchKeyword,
|
|
561
557
|
groupBy: groupBy,
|
|
562
558
|
onSelect: multi ? handleCheckTag : handleSelectItem,
|
|
563
559
|
renderMenuGroup: renderMenuGroup,
|
|
@@ -3,11 +3,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { useClassNames, useCustom } from '../utils';
|
|
6
|
-
import { getNodeParents } from '../utils/treeUtils';
|
|
7
6
|
import SearchBox from '../internals/SearchBox';
|
|
8
7
|
import Checkbox from '../Checkbox';
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
8
|
+
import Highlight from '../Highlight';
|
|
9
|
+
import { isSomeChildChecked, getNodeParents } from './utils';
|
|
11
10
|
function SearchView(props) {
|
|
12
11
|
var _props$as = props.as,
|
|
13
12
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -37,17 +36,10 @@ function SearchView(props) {
|
|
|
37
36
|
var renderSearchRow = function renderSearchRow(item, key) {
|
|
38
37
|
var _extends2;
|
|
39
38
|
var nodes = getNodeParents(item);
|
|
40
|
-
var label =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
render: function render(patch, index) {
|
|
45
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
46
|
-
key: index,
|
|
47
|
-
className: prefix('match')
|
|
48
|
-
}, patch);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
39
|
+
var label = /*#__PURE__*/React.createElement(Highlight, {
|
|
40
|
+
as: "span",
|
|
41
|
+
query: searchKeyword
|
|
42
|
+
}, item[labelKey]);
|
|
51
43
|
nodes.push(_extends({}, item, (_extends2 = {}, _extends2[labelKey] = label, _extends2)));
|
|
52
44
|
var active = value.some(function (value) {
|
|
53
45
|
if (cascade) {
|
|
@@ -3,7 +3,21 @@ import { useState, useEffect, useCallback } from 'react';
|
|
|
3
3
|
import uniq from 'lodash/uniq';
|
|
4
4
|
import remove from 'lodash/remove';
|
|
5
5
|
import { useEventCallback } from '../../utils';
|
|
6
|
-
import {
|
|
6
|
+
import { removeAllChildrenValue, getOtherItemValuesByUnselectChild } from '../utils';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Get all parents of a node
|
|
10
|
+
* @param node
|
|
11
|
+
*/
|
|
12
|
+
var getParents = function getParents(node) {
|
|
13
|
+
var parents = [];
|
|
14
|
+
if (!node.parent) {
|
|
15
|
+
return parents;
|
|
16
|
+
}
|
|
17
|
+
parents.push(node.parent);
|
|
18
|
+
parents = parents.concat(getParents(node.parent));
|
|
19
|
+
return parents;
|
|
20
|
+
};
|
|
7
21
|
|
|
8
22
|
/**
|
|
9
23
|
* A hook that converts the value into a cascading value
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useState, useCallback, useEffect } from 'react';
|
|
3
|
-
import { UNSAFE_flattenTree } from '../../utils
|
|
3
|
+
import { UNSAFE_flattenTree } from '../../Tree/utils';
|
|
4
4
|
import { attachParent } from '../../utils/attachParent';
|
|
5
5
|
/**
|
|
6
6
|
* A hook to flatten tree structure data
|