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,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface FocusStateProps {
|
|
3
|
+
target: React.RefObject<HTMLElement>;
|
|
4
|
+
onEnter?: (node: HTMLElement) => void;
|
|
5
|
+
onExit?: (node: HTMLElement) => void;
|
|
6
|
+
}
|
|
7
|
+
declare function useFocusState(props: FocusStateProps): {
|
|
8
|
+
active: boolean;
|
|
9
|
+
focusItemValue: string | number | null | undefined;
|
|
10
|
+
setFocusItemValue: import("react").Dispatch<import("react").SetStateAction<string | number | null | undefined>>;
|
|
11
|
+
triggerProps: {
|
|
12
|
+
onEnter: (...args: any[]) => any;
|
|
13
|
+
onExit: (...args: any[]) => any;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default useFocusState;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _react = require("react");
|
|
7
|
+
var _utils = require("../../utils");
|
|
8
|
+
function useFocusState(props) {
|
|
9
|
+
var target = props.target;
|
|
10
|
+
var _useState = (0, _react.useState)(false),
|
|
11
|
+
active = _useState[0],
|
|
12
|
+
setActive = _useState[1];
|
|
13
|
+
var _useState2 = (0, _react.useState)(null),
|
|
14
|
+
focusItemValue = _useState2[0],
|
|
15
|
+
setFocusItemValue = _useState2[1];
|
|
16
|
+
var focusTarget = (0, _utils.useEventCallback)(function () {
|
|
17
|
+
var _target$current;
|
|
18
|
+
(_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
|
|
19
|
+
});
|
|
20
|
+
var onEnter = (0, _utils.useEventCallback)(function (node) {
|
|
21
|
+
var _props$onEnter;
|
|
22
|
+
setActive(true);
|
|
23
|
+
(_props$onEnter = props.onEnter) === null || _props$onEnter === void 0 ? void 0 : _props$onEnter.call(props, node);
|
|
24
|
+
});
|
|
25
|
+
var onExit = (0, _utils.useEventCallback)(function (node) {
|
|
26
|
+
var _props$onExit;
|
|
27
|
+
setActive(false);
|
|
28
|
+
focusTarget();
|
|
29
|
+
(_props$onExit = props.onExit) === null || _props$onExit === void 0 ? void 0 : _props$onExit.call(props, node);
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
active: active,
|
|
33
|
+
focusItemValue: focusItemValue,
|
|
34
|
+
setFocusItemValue: setFocusItemValue,
|
|
35
|
+
triggerProps: {
|
|
36
|
+
onEnter: onEnter,
|
|
37
|
+
onExit: onExit
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
var _default = useFocusState;
|
|
42
|
+
exports.default = _default;
|
|
@@ -82,6 +82,10 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
82
82
|
onShortcutClick?: (range: RangeType<Date>, event: React.MouseEvent) => void;
|
|
83
83
|
/** Called when clean */
|
|
84
84
|
onClean?: (event: React.MouseEvent) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Custom rendering of the selected date.
|
|
87
|
+
*/
|
|
88
|
+
renderValue?: (value: Date, format: string) => string;
|
|
85
89
|
/**
|
|
86
90
|
* Custom rendering calendar cell content.
|
|
87
91
|
*
|
|
@@ -24,6 +24,7 @@ var _utils = require("../utils");
|
|
|
24
24
|
var _dateUtils = require("../utils/dateUtils");
|
|
25
25
|
var _Picker = require("../internals/Picker");
|
|
26
26
|
var _OverlayTrigger = require("../internals/Overlay/OverlayTrigger");
|
|
27
|
+
var _Input = _interopRequireDefault(require("../Input"));
|
|
27
28
|
var _DateInput = _interopRequireDefault(require("../DateInput"));
|
|
28
29
|
var _InputGroup = _interopRequireDefault(require("../InputGroup"));
|
|
29
30
|
var _utils2 = require("./utils");
|
|
@@ -94,11 +95,12 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
94
95
|
onToggleTimeDropdown = props.onToggleTimeDropdown,
|
|
95
96
|
onShortcutClick = props.onShortcutClick,
|
|
96
97
|
renderCell = props.renderCell,
|
|
98
|
+
renderValue = props.renderValue,
|
|
97
99
|
DEPRECATED_disabledDate = props.disabledDate,
|
|
98
100
|
DEPRECATED_disabledHours = props.disabledHours,
|
|
99
101
|
DEPRECATED_disabledMinutes = props.disabledMinutes,
|
|
100
102
|
DEPRECATED_disabledSeconds = props.disabledSeconds,
|
|
101
|
-
restProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "size", "caretAs", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEntered", "onExited", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"]);
|
|
103
|
+
restProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "size", "caretAs", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEntered", "onExited", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "renderValue", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"]);
|
|
102
104
|
var id = (0, _utils.useUniqueId)('rs-', idProp);
|
|
103
105
|
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
104
106
|
trigger = _usePickerRef.trigger,
|
|
@@ -463,6 +465,19 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
463
465
|
ariaProps = _partitionHTMLProps[0],
|
|
464
466
|
rest = _partitionHTMLProps[1];
|
|
465
467
|
var invalidValue = value && isErrorValue(value);
|
|
468
|
+
|
|
469
|
+
// Custom rendering of the selected value
|
|
470
|
+
var customValue = null;
|
|
471
|
+
|
|
472
|
+
// Input box is read-only when the component is uneditable or loading state
|
|
473
|
+
var inputReadOnly = readOnly || !editable || loading || false;
|
|
474
|
+
if (typeof renderValue === 'function' && value) {
|
|
475
|
+
customValue = renderValue(value, formatStr);
|
|
476
|
+
|
|
477
|
+
// If the custom rendering value, the input box is read-only
|
|
478
|
+
inputReadOnly = true;
|
|
479
|
+
}
|
|
480
|
+
var TargetInput = customValue ? _Input.default : _DateInput.default;
|
|
466
481
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
467
482
|
trigger: "active",
|
|
468
483
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
@@ -483,24 +498,24 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
483
498
|
}) : /*#__PURE__*/_react.default.createElement(_InputGroup.default, (0, _extends2.default)({}, (0, _utils2.getRestProps)(rest, usedClassNamePropKeys), {
|
|
484
499
|
inside: true,
|
|
485
500
|
size: size,
|
|
501
|
+
disabled: disabled,
|
|
486
502
|
onClick: handleClick
|
|
487
503
|
}), /*#__PURE__*/_react.default.createElement(_Picker.PickerLabel, {
|
|
488
504
|
className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["label"]))),
|
|
489
505
|
id: id + "-label"
|
|
490
|
-
}, label), /*#__PURE__*/_react.default.createElement(
|
|
506
|
+
}, label), /*#__PURE__*/_react.default.createElement(TargetInput, (0, _extends2.default)({
|
|
491
507
|
"aria-haspopup": "dialog",
|
|
492
508
|
"aria-invalid": invalidValue,
|
|
493
509
|
"aria-labelledby": label ? id + "-label" : undefined
|
|
494
510
|
}, ariaProps, {
|
|
495
511
|
ref: target,
|
|
496
512
|
id: id,
|
|
497
|
-
value: value,
|
|
513
|
+
value: customValue || value,
|
|
498
514
|
format: formatStr,
|
|
499
515
|
placeholder: placeholder ? placeholder : formatStr,
|
|
500
516
|
disabled: disabled,
|
|
501
517
|
onChange: handleInputChange,
|
|
502
|
-
readOnly:
|
|
503
|
-
plaintext: plaintext,
|
|
518
|
+
readOnly: inputReadOnly,
|
|
504
519
|
onKeyDown: handleInputKeyDown
|
|
505
520
|
})), /*#__PURE__*/_react.default.createElement(_Picker.PickerIndicator, {
|
|
506
521
|
loading: loading,
|
|
@@ -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> {
|
|
@@ -27,8 +27,10 @@ var _utils2 = require("./utils");
|
|
|
27
27
|
var _propTypes2 = require("../internals/propTypes");
|
|
28
28
|
var _DateRangePickerContext = _interopRequireDefault(require("./DateRangePickerContext"));
|
|
29
29
|
var _DateRangeInput = _interopRequireDefault(require("../DateRangeInput"));
|
|
30
|
+
var _Input = _interopRequireDefault(require("../Input"));
|
|
30
31
|
var _InputGroup = _interopRequireDefault(require("../InputGroup"));
|
|
31
32
|
var _Header = _interopRequireDefault(require("./Header"));
|
|
33
|
+
var _useDateDisabled = _interopRequireDefault(require("./hooks/useDateDisabled"));
|
|
32
34
|
var _templateObject;
|
|
33
35
|
/**
|
|
34
36
|
* A date range picker allows you to select a date range from a calendar.
|
|
@@ -54,7 +56,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
54
56
|
defaultValue = props.defaultValue,
|
|
55
57
|
plaintext = props.plaintext,
|
|
56
58
|
disabled = props.disabled,
|
|
57
|
-
|
|
59
|
+
DEPRECATED_disabledDate = props.disabledDate,
|
|
58
60
|
shouldDisableDate = props.shouldDisableDate,
|
|
59
61
|
_props$format = props.format,
|
|
60
62
|
formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
|
|
@@ -96,7 +98,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
96
98
|
onSelect = props.onSelect,
|
|
97
99
|
onShortcutClick = props.onShortcutClick,
|
|
98
100
|
renderTitle = props.renderTitle,
|
|
99
|
-
|
|
101
|
+
renderValue = props.renderValue,
|
|
102
|
+
restProps = (0, _objectWithoutPropertiesLoose2.default)(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"]);
|
|
100
103
|
var id = (0, _utils.useUniqueId)('rs-', idProp);
|
|
101
104
|
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
102
105
|
trigger = _usePickerRef.trigger,
|
|
@@ -150,6 +153,12 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
150
153
|
* so declare a Ref to temporarily store the `selectValue` of the first click.
|
|
151
154
|
*/
|
|
152
155
|
var selectRangeValueRef = (0, _react.useRef)(null);
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
*
|
|
159
|
+
* The key of the currently active calendar panel.
|
|
160
|
+
* Used to switch when only one calendar panel is displayed.
|
|
161
|
+
*/
|
|
153
162
|
var _useState5 = (0, _react.useState)(),
|
|
154
163
|
activeCalendarKey = _useState5[0],
|
|
155
164
|
setActiveCalendarKey = _useState5[1];
|
|
@@ -198,9 +207,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
198
207
|
setSelectedDates(nextCalendarDate);
|
|
199
208
|
}
|
|
200
209
|
};
|
|
201
|
-
|
|
202
|
-
// if valueProp changed then update selectValue/hoverValue
|
|
203
210
|
(0, _react.useEffect)(function () {
|
|
211
|
+
// If value changes, update the selected and hover date values on the calendar panel.
|
|
204
212
|
setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
|
|
205
213
|
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
206
214
|
}, [valueProp]);
|
|
@@ -481,41 +489,39 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
481
489
|
});
|
|
482
490
|
setDateRange(event, selectValue);
|
|
483
491
|
});
|
|
484
|
-
var isDateDisabled =
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
492
|
+
var isDateDisabled = (0, _useDateDisabled.default)({
|
|
493
|
+
shouldDisableDate: shouldDisableDate,
|
|
494
|
+
DEPRECATED_disabledDate: DEPRECATED_disabledDate
|
|
495
|
+
});
|
|
496
|
+
var disableByRange = function disableByRange(start, end, target) {
|
|
497
|
+
if (isDateDisabled) {
|
|
498
|
+
// If the date is between the start and the end the button is disabled
|
|
499
|
+
while ((0, _dateUtils.isBefore)(start, end) || (0, _dateUtils.isSameDay)(start, end)) {
|
|
500
|
+
if (isDateDisabled(start, {
|
|
501
|
+
selectDate: selectedDates,
|
|
502
|
+
selectedDone: isSelectedIdle,
|
|
503
|
+
target: target
|
|
504
|
+
})) {
|
|
505
|
+
return true;
|
|
506
|
+
}
|
|
507
|
+
start = (0, _dateUtils.addDays)(start, 1);
|
|
508
|
+
}
|
|
493
509
|
}
|
|
494
510
|
return false;
|
|
495
511
|
};
|
|
496
|
-
var
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
})) {
|
|
512
|
+
var disableOkButton = function disableOkButton() {
|
|
513
|
+
var _trigger$current;
|
|
514
|
+
var _ref4 = ((_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.getState()) || {},
|
|
515
|
+
open = _ref4.open;
|
|
516
|
+
if (open) {
|
|
517
|
+
var start = selectedDates[0],
|
|
518
|
+
end = selectedDates[1];
|
|
519
|
+
if (!start || !end || !isSelectedIdle) {
|
|
505
520
|
return true;
|
|
506
521
|
}
|
|
507
|
-
start = (0, _dateUtils.addDays)(start, 1);
|
|
508
522
|
}
|
|
509
523
|
return false;
|
|
510
524
|
};
|
|
511
|
-
var disableOkButton = function disableOkButton() {
|
|
512
|
-
var start = selectedDates[0],
|
|
513
|
-
end = selectedDates[1];
|
|
514
|
-
if (!start || !end || !isSelectedIdle) {
|
|
515
|
-
return true;
|
|
516
|
-
}
|
|
517
|
-
return disableByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
518
|
-
};
|
|
519
525
|
var disableShortcut = function disableShortcut(value) {
|
|
520
526
|
if (value === void 0) {
|
|
521
527
|
value = [];
|
|
@@ -526,26 +532,33 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
526
532
|
if (!start || !end) {
|
|
527
533
|
return true;
|
|
528
534
|
}
|
|
529
|
-
return
|
|
535
|
+
return disableByRange(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
530
536
|
};
|
|
531
537
|
var handleClose = (0, _utils.useEventCallback)(function () {
|
|
532
|
-
var _trigger$
|
|
533
|
-
(_trigger$
|
|
538
|
+
var _trigger$current2, _trigger$current2$clo;
|
|
539
|
+
(_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);
|
|
534
540
|
});
|
|
535
541
|
var handleInputKeyDown = (0, _utils.useEventCallback)(function (event) {
|
|
536
542
|
(0, _Picker.onMenuKeyDown)(event, {
|
|
537
543
|
esc: handleClose,
|
|
538
544
|
enter: function enter() {
|
|
539
|
-
var _trigger$
|
|
540
|
-
var
|
|
541
|
-
open =
|
|
545
|
+
var _trigger$current3;
|
|
546
|
+
var _ref5 = ((_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : _trigger$current3.getState()) || {},
|
|
547
|
+
open = _ref5.open;
|
|
542
548
|
if (!open) {
|
|
543
|
-
var _trigger$
|
|
544
|
-
(_trigger$
|
|
549
|
+
var _trigger$current4;
|
|
550
|
+
(_trigger$current4 = trigger.current) === null || _trigger$current4 === void 0 ? void 0 : _trigger$current4.open();
|
|
545
551
|
}
|
|
546
552
|
}
|
|
547
553
|
});
|
|
548
554
|
});
|
|
555
|
+
var disableCalendarDate = isDateDisabled ? function (date, values, type) {
|
|
556
|
+
return isDateDisabled(date, {
|
|
557
|
+
selectDate: values,
|
|
558
|
+
selectedDone: isSelectedIdle,
|
|
559
|
+
target: type
|
|
560
|
+
});
|
|
561
|
+
} : undefined;
|
|
549
562
|
var renderCalendarOverlay = function renderCalendarOverlay(positionProps, speakerRef) {
|
|
550
563
|
var left = positionProps.left,
|
|
551
564
|
top = positionProps.top,
|
|
@@ -566,13 +579,6 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
566
579
|
left: left,
|
|
567
580
|
top: top
|
|
568
581
|
});
|
|
569
|
-
var disabledDate = function disabledDate(date, values, type) {
|
|
570
|
-
return isDateDisabled(date, {
|
|
571
|
-
selectDate: values,
|
|
572
|
-
selectedDone: isSelectedIdle,
|
|
573
|
-
target: type
|
|
574
|
-
});
|
|
575
|
-
};
|
|
576
582
|
var calendarProps = {
|
|
577
583
|
locale: locale,
|
|
578
584
|
isoWeek: isoWeek,
|
|
@@ -584,12 +590,12 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
584
590
|
format: formatStr,
|
|
585
591
|
value: selectedDates,
|
|
586
592
|
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
593
|
+
disabledDate: disableCalendarDate,
|
|
587
594
|
onSelect: handleSelectDate,
|
|
588
595
|
onChangeCalendarMonth: onChangeCalendarMonth,
|
|
589
596
|
onChangeCalendarTime: onChangeCalendarTime,
|
|
590
597
|
onToggleMeridian: onToggleMeridian,
|
|
591
598
|
onMouseMove: onMouseMove,
|
|
592
|
-
disabledDate: disabledDate,
|
|
593
599
|
renderTitle: renderTitle
|
|
594
600
|
};
|
|
595
601
|
var getCalendars = function getCalendars() {
|
|
@@ -697,7 +703,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
697
703
|
selectedDone: isSelectedIdle,
|
|
698
704
|
target: _utils.DATERANGE_DISABLED_TARGET.INPUT
|
|
699
705
|
};
|
|
700
|
-
if (isDateDisabled(startDate, disabledOptions) || isDateDisabled(endDate, disabledOptions)) {
|
|
706
|
+
if (isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(startDate, disabledOptions) || isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(endDate, disabledOptions)) {
|
|
701
707
|
return true;
|
|
702
708
|
}
|
|
703
709
|
return false;
|
|
@@ -710,6 +716,19 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
710
716
|
rest = _partitionHTMLProps[1];
|
|
711
717
|
var showCleanButton = cleanable && hasValue && !readOnly;
|
|
712
718
|
var invalidValue = value && isErrorValue(value);
|
|
719
|
+
|
|
720
|
+
// Custom rendering of the selected value
|
|
721
|
+
var customValue = null;
|
|
722
|
+
|
|
723
|
+
// Input box is read-only when the component is uneditable or loading state
|
|
724
|
+
var inputReadOnly = readOnly || !editable || loading || false;
|
|
725
|
+
if (typeof renderValue === 'function' && value) {
|
|
726
|
+
customValue = renderValue(value, formatStr);
|
|
727
|
+
|
|
728
|
+
// If the custom rendering value, the input box is read-only
|
|
729
|
+
inputReadOnly = true;
|
|
730
|
+
}
|
|
731
|
+
var TargetInput = customValue ? _Input.default : _DateRangeInput.default;
|
|
713
732
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
714
733
|
trigger: "active",
|
|
715
734
|
ref: trigger,
|
|
@@ -729,23 +748,24 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
729
748
|
plaintext: plaintext
|
|
730
749
|
}) : /*#__PURE__*/_react.default.createElement(_InputGroup.default, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _dateUtils.calendarOnlyProps)), {
|
|
731
750
|
inside: true,
|
|
751
|
+
disabled: disabled,
|
|
732
752
|
size: size
|
|
733
753
|
}), /*#__PURE__*/_react.default.createElement(_Picker.PickerLabel, {
|
|
734
754
|
className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["label"]))),
|
|
735
755
|
id: id + "-label"
|
|
736
|
-
}, label), /*#__PURE__*/_react.default.createElement(
|
|
756
|
+
}, label), /*#__PURE__*/_react.default.createElement(TargetInput, (0, _extends2.default)({
|
|
737
757
|
"aria-haspopup": "dialog",
|
|
738
758
|
"aria-invalid": invalidValue,
|
|
739
759
|
"aria-labelledby": label ? id + "-label" : undefined
|
|
740
760
|
}, ariaProps, {
|
|
741
761
|
ref: target,
|
|
742
762
|
id: id,
|
|
743
|
-
value: value,
|
|
763
|
+
value: customValue || value,
|
|
744
764
|
character: character,
|
|
745
765
|
format: formatStr,
|
|
746
766
|
placeholder: placeholder ? placeholder : rangeFormatStr,
|
|
747
767
|
disabled: disabled,
|
|
748
|
-
readOnly:
|
|
768
|
+
readOnly: inputReadOnly,
|
|
749
769
|
plaintext: plaintext,
|
|
750
770
|
htmlSize: getInputHtmlSize(),
|
|
751
771
|
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,31 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _react = require("react");
|
|
7
|
+
/**
|
|
8
|
+
* Returns a function that determines whether a date is disabled and is compatible with the deprecated `disabledDate` prop.
|
|
9
|
+
*/
|
|
10
|
+
function useDateDisabled(props) {
|
|
11
|
+
var shouldDisableDate = props.shouldDisableDate,
|
|
12
|
+
DEPRECATED_disabledDate = props.DEPRECATED_disabledDate;
|
|
13
|
+
var isDateDisabled = (0, _react.useCallback)(function (date, options) {
|
|
14
|
+
var selectDate = options.selectDate,
|
|
15
|
+
selectedDone = options.selectedDone,
|
|
16
|
+
target = options.target;
|
|
17
|
+
if (typeof shouldDisableDate === 'function') {
|
|
18
|
+
return shouldDisableDate(date, selectDate, selectedDone, target);
|
|
19
|
+
}
|
|
20
|
+
if (typeof DEPRECATED_disabledDate === 'function') {
|
|
21
|
+
return DEPRECATED_disabledDate(date, selectDate, selectedDone, target);
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
24
|
+
}, [shouldDisableDate, DEPRECATED_disabledDate]);
|
|
25
|
+
if (shouldDisableDate || DEPRECATED_disabledDate) {
|
|
26
|
+
return isDateDisabled;
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
var _default = useDateDisabled;
|
|
31
|
+
exports.default = _default;
|
|
@@ -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;
|