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
|
@@ -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;
|
|
@@ -132,7 +132,9 @@ var useDateField = function useDateField(format, localize, date) {
|
|
|
132
132
|
if (typeof value === 'number') {
|
|
133
133
|
value = padNumber(value, pattern.length);
|
|
134
134
|
}
|
|
135
|
-
|
|
135
|
+
if (typeof value !== 'undefined') {
|
|
136
|
+
str = str.replace(pattern, value);
|
|
137
|
+
}
|
|
136
138
|
}
|
|
137
139
|
});
|
|
138
140
|
return str;
|
|
@@ -12,9 +12,11 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
12
12
|
var _Input = _interopRequireDefault(require("../Input"));
|
|
13
13
|
var _utils = require("../utils");
|
|
14
14
|
var _utils2 = require("./utils");
|
|
15
|
-
var _useDateInputState2 = _interopRequireDefault(require("./useDateInputState"));
|
|
16
|
-
var _useKeyboardInputEvent = _interopRequireDefault(require("./useKeyboardInputEvent"));
|
|
17
|
-
var _useIsFocused2 = _interopRequireDefault(require("./useIsFocused"));
|
|
15
|
+
var _useDateInputState2 = _interopRequireDefault(require("./hooks/useDateInputState"));
|
|
16
|
+
var _useKeyboardInputEvent = _interopRequireDefault(require("./hooks/useKeyboardInputEvent"));
|
|
17
|
+
var _useIsFocused2 = _interopRequireDefault(require("./hooks/useIsFocused"));
|
|
18
|
+
var _useFieldCursor2 = _interopRequireDefault(require("./hooks/useFieldCursor"));
|
|
19
|
+
var _useSelectedState2 = _interopRequireDefault(require("./hooks/useSelectedState"));
|
|
18
20
|
/**
|
|
19
21
|
* The DateInput component lets users select a date with the keyboard.
|
|
20
22
|
* @version 5.58.0
|
|
@@ -32,13 +34,9 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
32
34
|
onFocus = props.onFocus,
|
|
33
35
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["format", "value", "defaultValue", "placeholder", "onChange", "onKeyDown", "onBlur", "onFocus"]);
|
|
34
36
|
var inputRef = (0, _react.useRef)();
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
selectionEnd: 0
|
|
39
|
-
}),
|
|
40
|
-
selectedState = _useState[0],
|
|
41
|
-
setSelectedState = _useState[1];
|
|
37
|
+
var _useSelectedState = (0, _useSelectedState2.default)(),
|
|
38
|
+
selectedState = _useSelectedState.selectedState,
|
|
39
|
+
setSelectedState = _useSelectedState.setSelectedState;
|
|
42
40
|
var _useCustom = (0, _utils.useCustom)('Calendar'),
|
|
43
41
|
locale = _useCustom.locale;
|
|
44
42
|
var dateLocale = locale.dateLocale;
|
|
@@ -58,6 +56,10 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
58
56
|
getDateField = _useDateInputState.getDateField,
|
|
59
57
|
toDateString = _useDateInputState.toDateString,
|
|
60
58
|
isEmptyValue = _useDateInputState.isEmptyValue;
|
|
59
|
+
var _useFieldCursor = (0, _useFieldCursor2.default)(formatStr, valueProp),
|
|
60
|
+
isMoveCursor = _useFieldCursor.isMoveCursor,
|
|
61
|
+
increment = _useFieldCursor.increment,
|
|
62
|
+
reset = _useFieldCursor.reset;
|
|
61
63
|
var dateString = toDateString();
|
|
62
64
|
var keyPressOptions = (0, _react.useMemo)(function () {
|
|
63
65
|
return {
|
|
@@ -80,8 +82,9 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
80
82
|
input: input,
|
|
81
83
|
direction: direction
|
|
82
84
|
}));
|
|
83
|
-
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
84
85
|
setSelectedState(state);
|
|
86
|
+
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
87
|
+
reset();
|
|
85
88
|
});
|
|
86
89
|
var onSegmentValueChange = (0, _utils.useEventCallback)(function (event) {
|
|
87
90
|
var input = event.target;
|
|
@@ -104,6 +107,7 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
104
107
|
if (!pattern) {
|
|
105
108
|
return;
|
|
106
109
|
}
|
|
110
|
+
increment();
|
|
107
111
|
var field = getDateField(pattern);
|
|
108
112
|
var value = parseInt(key, 10);
|
|
109
113
|
var padValue = parseInt("" + (field.value || '') + key, 10);
|
|
@@ -113,10 +117,6 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
113
117
|
if ((0, _utils2.validateDateTime)(field.name, padValue)) {
|
|
114
118
|
newValue = padValue;
|
|
115
119
|
}
|
|
116
|
-
if (pattern === 'M') {
|
|
117
|
-
// Month cannot be less than 1.
|
|
118
|
-
newValue = Math.max(1, newValue);
|
|
119
|
-
}
|
|
120
120
|
setDateField(pattern, newValue, function (date) {
|
|
121
121
|
return handleChange(date, event);
|
|
122
122
|
});
|
|
@@ -132,7 +132,7 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
132
132
|
setSelectionRange(nextState.selectionStart, nextState.selectionEnd);
|
|
133
133
|
|
|
134
134
|
// If the field is full value, move the cursor to the next field
|
|
135
|
-
if ((
|
|
135
|
+
if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {
|
|
136
136
|
onSegmentChange(event, 'right');
|
|
137
137
|
}
|
|
138
138
|
});
|
|
@@ -148,6 +148,7 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
148
148
|
setDateField(selectedState.selectedPattern, null, function (date) {
|
|
149
149
|
return handleChange(date, event);
|
|
150
150
|
});
|
|
151
|
+
reset();
|
|
151
152
|
}
|
|
152
153
|
});
|
|
153
154
|
var handleClick = (0, _utils.useEventCallback)(function (event) {
|
|
@@ -7,8 +7,8 @@ exports.useDateInputState = useDateInputState;
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _startCase = _interopRequireDefault(require("lodash/startCase"));
|
|
10
|
-
var _dateUtils = require("
|
|
11
|
-
var _DateField = require("
|
|
10
|
+
var _dateUtils = require("../../utils/dateUtils");
|
|
11
|
+
var _DateField = require("../DateField");
|
|
12
12
|
function useDateInputState(_ref) {
|
|
13
13
|
var formatStr = _ref.formatStr,
|
|
14
14
|
locale = _ref.locale,
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.useFieldCursor = useFieldCursor;
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _utils = require("../utils");
|
|
10
|
+
var _useUpdateEffect = _interopRequireDefault(require("../../utils/useUpdateEffect"));
|
|
11
|
+
function useFieldCursor(format, value) {
|
|
12
|
+
var typeCount = (0, _react.useRef)(0);
|
|
13
|
+
var increment = function increment() {
|
|
14
|
+
typeCount.current += 1;
|
|
15
|
+
};
|
|
16
|
+
var reset = function reset() {
|
|
17
|
+
typeCount.current = 0;
|
|
18
|
+
};
|
|
19
|
+
var isMoveCursor = (0, _react.useCallback)(function (value, pattern) {
|
|
20
|
+
var patternGroup = (0, _utils.getPatternGroups)(format, pattern);
|
|
21
|
+
if (value.toString().length === patternGroup.length) {
|
|
22
|
+
return true;
|
|
23
|
+
} else if (pattern === 'y' && typeCount.current === 4) {
|
|
24
|
+
return true;
|
|
25
|
+
} else if (pattern !== 'y' && typeCount.current === 2) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
switch (pattern) {
|
|
29
|
+
case 'M':
|
|
30
|
+
return parseInt(value + "0") > 12;
|
|
31
|
+
case 'd':
|
|
32
|
+
return parseInt(value + "0") > 31;
|
|
33
|
+
case 'H':
|
|
34
|
+
return parseInt(value + "0") > 23;
|
|
35
|
+
case 'h':
|
|
36
|
+
return parseInt(value + "0") > 12;
|
|
37
|
+
case 'm':
|
|
38
|
+
case 's':
|
|
39
|
+
return parseInt(value + "0") > 59;
|
|
40
|
+
default:
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}, [format]);
|
|
44
|
+
(0, _useUpdateEffect.default)(function () {
|
|
45
|
+
if (!value) {
|
|
46
|
+
reset();
|
|
47
|
+
}
|
|
48
|
+
}, [value]);
|
|
49
|
+
return {
|
|
50
|
+
increment: increment,
|
|
51
|
+
reset: reset,
|
|
52
|
+
isMoveCursor: isMoveCursor
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
var _default = useFieldCursor;
|
|
56
|
+
exports.default = _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare function useSelectedState(): {
|
|
3
|
+
selectedState: {
|
|
4
|
+
selectedPattern: string;
|
|
5
|
+
selectionStart: number;
|
|
6
|
+
selectionEnd: number;
|
|
7
|
+
};
|
|
8
|
+
setSelectedState: import("react").Dispatch<import("react").SetStateAction<{
|
|
9
|
+
selectedPattern: string;
|
|
10
|
+
selectionStart: number;
|
|
11
|
+
selectionEnd: number;
|
|
12
|
+
}>>;
|
|
13
|
+
};
|
|
14
|
+
export default useSelectedState;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.useSelectedState = useSelectedState;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var defaultSelectedState = {
|
|
9
|
+
selectedPattern: 'y',
|
|
10
|
+
selectionStart: 0,
|
|
11
|
+
selectionEnd: 0
|
|
12
|
+
};
|
|
13
|
+
function useSelectedState() {
|
|
14
|
+
var _useState = (0, _react.useState)(defaultSelectedState),
|
|
15
|
+
selectedState = _useState[0],
|
|
16
|
+
setSelectedState = _useState[1];
|
|
17
|
+
return {
|
|
18
|
+
selectedState: selectedState,
|
|
19
|
+
setSelectedState: setSelectedState
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
var _default = useSelectedState;
|
|
23
|
+
exports.default = _default;
|
package/cjs/DateInput/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import DateInput from './DateInput';
|
|
2
|
-
export { useDateInputState } from './useDateInputState';
|
|
3
|
-
export { useKeyboardInputEvent } from './useKeyboardInputEvent';
|
|
4
|
-
export { useIsFocused } from './useIsFocused';
|
|
2
|
+
export { useDateInputState } from './hooks/useDateInputState';
|
|
3
|
+
export { useKeyboardInputEvent } from './hooks/useKeyboardInputEvent';
|
|
4
|
+
export { useIsFocused } from './hooks/useIsFocused';
|
|
5
|
+
export { useSelectedState } from './hooks/useSelectedState';
|
|
6
|
+
export { useFieldCursor } from './hooks/useFieldCursor';
|
|
5
7
|
export * from './utils';
|
|
6
8
|
export type { DateInputProps } from './DateInput';
|
|
7
9
|
export default DateInput;
|
package/cjs/DateInput/index.js
CHANGED
|
@@ -6,16 +6,22 @@ exports.__esModule = true;
|
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
useDateInputState: true,
|
|
8
8
|
useKeyboardInputEvent: true,
|
|
9
|
-
useIsFocused: true
|
|
9
|
+
useIsFocused: true,
|
|
10
|
+
useSelectedState: true,
|
|
11
|
+
useFieldCursor: true
|
|
10
12
|
};
|
|
11
|
-
exports.default = exports.useIsFocused = exports.useKeyboardInputEvent = exports.useDateInputState = void 0;
|
|
13
|
+
exports.default = exports.useFieldCursor = exports.useSelectedState = exports.useIsFocused = exports.useKeyboardInputEvent = exports.useDateInputState = void 0;
|
|
12
14
|
var _DateInput = _interopRequireDefault(require("./DateInput"));
|
|
13
|
-
var _useDateInputState = require("./useDateInputState");
|
|
15
|
+
var _useDateInputState = require("./hooks/useDateInputState");
|
|
14
16
|
exports.useDateInputState = _useDateInputState.useDateInputState;
|
|
15
|
-
var _useKeyboardInputEvent = require("./useKeyboardInputEvent");
|
|
17
|
+
var _useKeyboardInputEvent = require("./hooks/useKeyboardInputEvent");
|
|
16
18
|
exports.useKeyboardInputEvent = _useKeyboardInputEvent.useKeyboardInputEvent;
|
|
17
|
-
var _useIsFocused = require("./useIsFocused");
|
|
19
|
+
var _useIsFocused = require("./hooks/useIsFocused");
|
|
18
20
|
exports.useIsFocused = _useIsFocused.useIsFocused;
|
|
21
|
+
var _useSelectedState = require("./hooks/useSelectedState");
|
|
22
|
+
exports.useSelectedState = _useSelectedState.useSelectedState;
|
|
23
|
+
var _useFieldCursor = require("./hooks/useFieldCursor");
|
|
24
|
+
exports.useFieldCursor = _useFieldCursor.useFieldCursor;
|
|
19
25
|
var _utils = require("./utils");
|
|
20
26
|
Object.keys(_utils).forEach(function (key) {
|
|
21
27
|
if (key === "default" || key === "__esModule") return;
|
package/cjs/DateInput/utils.d.ts
CHANGED
|
@@ -58,6 +58,5 @@ export declare function getInputSelectedState(options: SelectedStateOptions): {
|
|
|
58
58
|
};
|
|
59
59
|
export declare function validateDateTime(type: string, value: number): boolean;
|
|
60
60
|
export declare function modifyDate(date: Date, type: string, value: number): Date;
|
|
61
|
-
export declare function isFieldFullValue(formatStr: string, value: number, pattern: string): boolean;
|
|
62
61
|
export declare function useInputSelection(input: React.RefObject<any>): (selectionStart: number, selectionEnd: number) => void;
|
|
63
62
|
export {};
|
package/cjs/DateInput/utils.js
CHANGED
|
@@ -10,7 +10,6 @@ exports.isCursorAfterMonth = isCursorAfterMonth;
|
|
|
10
10
|
exports.getInputSelectedState = getInputSelectedState;
|
|
11
11
|
exports.validateDateTime = validateDateTime;
|
|
12
12
|
exports.modifyDate = modifyDate;
|
|
13
|
-
exports.isFieldFullValue = isFieldFullValue;
|
|
14
13
|
exports.useInputSelection = useInputSelection;
|
|
15
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
16
15
|
var _dateUtils = require("../utils/dateUtils");
|
|
@@ -228,31 +227,10 @@ function modifyDate(date, type, value) {
|
|
|
228
227
|
}
|
|
229
228
|
return date;
|
|
230
229
|
}
|
|
231
|
-
function isFieldFullValue(formatStr, value, pattern) {
|
|
232
|
-
var patternGroup = getPatternGroups(formatStr, pattern);
|
|
233
|
-
if (value.toString().length === patternGroup.length) {
|
|
234
|
-
return true;
|
|
235
|
-
}
|
|
236
|
-
switch (pattern) {
|
|
237
|
-
case 'M':
|
|
238
|
-
return parseInt(value + "0") > 12;
|
|
239
|
-
case 'd':
|
|
240
|
-
return parseInt(value + "0") > 31;
|
|
241
|
-
case 'H':
|
|
242
|
-
return parseInt(value + "0") > 23;
|
|
243
|
-
case 'h':
|
|
244
|
-
return parseInt(value + "0") > 12;
|
|
245
|
-
case 'm':
|
|
246
|
-
case 's':
|
|
247
|
-
return parseInt(value + "0") > 59;
|
|
248
|
-
default:
|
|
249
|
-
return false;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
var isTestEnvironment = typeof process !== 'undefined' && undefined === 'test';
|
|
253
230
|
function useInputSelection(input) {
|
|
254
231
|
return function setSelectionRange(selectionStart, selectionEnd) {
|
|
255
|
-
|
|
232
|
+
var isTest = input.current.dataset.test === 'true';
|
|
233
|
+
if (isTest) {
|
|
256
234
|
(0, _utils.safeSetSelection)(input.current, selectionStart, selectionEnd);
|
|
257
235
|
return;
|
|
258
236
|
}
|
|
@@ -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,
|
|
@@ -40,13 +40,9 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
40
40
|
merge = _useClassNames.merge;
|
|
41
41
|
var classes = merge(className, withClassPrefix());
|
|
42
42
|
var inputRef = (0, _react.useRef)();
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
selectionEnd: 0
|
|
47
|
-
}),
|
|
48
|
-
selectedState = _useState[0],
|
|
49
|
-
setSelectedState = _useState[1];
|
|
43
|
+
var _useSelectedState = (0, _DateInput.useSelectedState)(),
|
|
44
|
+
selectedState = _useSelectedState.selectedState,
|
|
45
|
+
setSelectedState = _useSelectedState.setSelectedState;
|
|
50
46
|
var _useCustom = (0, _utils.useCustom)('Calendar'),
|
|
51
47
|
locale = _useCustom.locale;
|
|
52
48
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
@@ -55,9 +51,9 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
55
51
|
value = _useControlled[0],
|
|
56
52
|
setValue = _useControlled[1],
|
|
57
53
|
isControlled = _useControlled[2];
|
|
58
|
-
var
|
|
59
|
-
dateType =
|
|
60
|
-
setDateType =
|
|
54
|
+
var _useState = (0, _react.useState)(_utils2.DateType.Start),
|
|
55
|
+
dateType = _useState[0],
|
|
56
|
+
setDateType = _useState[1];
|
|
61
57
|
var dateInputOptions = {
|
|
62
58
|
formatStr: formatStr,
|
|
63
59
|
locale: dateLocale,
|
|
@@ -69,6 +65,10 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
69
65
|
var endDateState = (0, _DateInput.useDateInputState)((0, _extends2.default)({}, dateInputOptions, {
|
|
70
66
|
date: (value === null || value === void 0 ? void 0 : value[1]) || null
|
|
71
67
|
}));
|
|
68
|
+
var _useFieldCursor = (0, _DateInput.useFieldCursor)(formatStr, valueProp),
|
|
69
|
+
isMoveCursor = _useFieldCursor.isMoveCursor,
|
|
70
|
+
increment = _useFieldCursor.increment,
|
|
71
|
+
reset = _useFieldCursor.reset;
|
|
72
72
|
var getActiveState = function getActiveState(type) {
|
|
73
73
|
if (type === void 0) {
|
|
74
74
|
type = dateType;
|
|
@@ -122,8 +122,9 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
122
122
|
input: input,
|
|
123
123
|
direction: direction
|
|
124
124
|
}));
|
|
125
|
-
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
126
125
|
setSelectedState(state);
|
|
126
|
+
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
127
|
+
reset();
|
|
127
128
|
});
|
|
128
129
|
var onSegmentValueChange = (0, _utils.useEventCallback)(function (event) {
|
|
129
130
|
var input = event.target;
|
|
@@ -146,6 +147,7 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
146
147
|
if (!pattern) {
|
|
147
148
|
return;
|
|
148
149
|
}
|
|
150
|
+
increment();
|
|
149
151
|
var field = getActiveState().getDateField(pattern);
|
|
150
152
|
var value = parseInt(key, 10);
|
|
151
153
|
var padValue = parseInt("" + (field.value || '') + key, 10);
|
|
@@ -155,10 +157,6 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
155
157
|
if ((0, _DateInput.validateDateTime)(field.name, padValue)) {
|
|
156
158
|
newValue = padValue;
|
|
157
159
|
}
|
|
158
|
-
if (pattern === 'M') {
|
|
159
|
-
// Month cannot be less than 1.
|
|
160
|
-
newValue = Math.max(1, newValue);
|
|
161
|
-
}
|
|
162
160
|
getActiveState().setDateField(pattern, newValue, function (date) {
|
|
163
161
|
return handleChange(date, event);
|
|
164
162
|
});
|
|
@@ -174,7 +172,7 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
174
172
|
setSelectionRange(nextState.selectionStart, nextState.selectionEnd);
|
|
175
173
|
|
|
176
174
|
// If the field is full value, move the cursor to the next field
|
|
177
|
-
if ((
|
|
175
|
+
if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {
|
|
178
176
|
onSegmentChange(event, 'right');
|
|
179
177
|
}
|
|
180
178
|
});
|
|
@@ -190,6 +188,7 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
190
188
|
getActiveState().setDateField(selectedState.selectedPattern, null, function (date) {
|
|
191
189
|
return handleChange(date, event);
|
|
192
190
|
});
|
|
191
|
+
reset();
|
|
193
192
|
}
|
|
194
193
|
});
|
|
195
194
|
var handleClick = (0, _utils.useEventCallback)(function (event) {
|
|
@@ -198,7 +197,7 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
198
197
|
return;
|
|
199
198
|
}
|
|
200
199
|
var cursorIndex = input.selectionStart === renderedValue.length ? 0 : input.selectionStart;
|
|
201
|
-
var dateType = (0, _utils2.getDateType)(renderedValue, character, cursorIndex);
|
|
200
|
+
var dateType = (0, _utils2.getDateType)(renderedValue || rangeFormatStr, character, cursorIndex);
|
|
202
201
|
var state = (0, _utils2.getInputSelectedState)((0, _extends2.default)({}, keyPressOptions, {
|
|
203
202
|
dateType: dateType,
|
|
204
203
|
selectedMonth: getActiveState(dateType).dateField.month,
|