rsuite 5.40.0 → 5.41.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/CHANGELOG.md +20 -0
- package/Navbar/styles/index.less +1 -1
- package/SelectPicker/styles/index.less +4 -8
- package/cjs/@types/common.js +1 -0
- package/cjs/@types/utils.js +12 -2
- package/cjs/Affix/Affix.js +39 -59
- package/cjs/Affix/index.js +1 -3
- package/cjs/Animation/Bounce.js +4 -13
- package/cjs/Animation/Collapse.js +19 -40
- package/cjs/Animation/Fade.js +6 -15
- package/cjs/Animation/Slide.js +6 -15
- package/cjs/Animation/Transition.js +16 -83
- package/cjs/Animation/index.js +1 -7
- package/cjs/Animation/utils.js +1 -6
- package/cjs/AutoComplete/AutoComplete.js +55 -90
- package/cjs/AutoComplete/index.js +1 -3
- package/cjs/AutoComplete/utils.js +1 -9
- package/cjs/Avatar/Avatar.js +18 -32
- package/cjs/Avatar/index.js +1 -3
- package/cjs/AvatarGroup/AvatarGroup.js +13 -27
- package/cjs/AvatarGroup/index.js +1 -3
- package/cjs/Badge/Badge.js +14 -27
- package/cjs/Badge/index.js +1 -3
- package/cjs/Breadcrumb/Breadcrumb.js +19 -41
- package/cjs/Breadcrumb/BreadcrumbItem.js +14 -26
- package/cjs/Breadcrumb/index.js +1 -3
- package/cjs/Button/Button.js +22 -40
- package/cjs/Button/index.js +1 -3
- package/cjs/ButtonGroup/ButtonGroup.js +15 -26
- package/cjs/ButtonGroup/ButtonGroupContext.js +1 -4
- package/cjs/ButtonGroup/index.js +1 -4
- package/cjs/ButtonToolbar/ButtonToolbar.js +10 -20
- package/cjs/ButtonToolbar/index.js +1 -3
- package/cjs/Calendar/Calendar.js +24 -43
- package/cjs/Calendar/CalendarBody.js +14 -28
- package/cjs/Calendar/CalendarContainer.js +46 -69
- package/cjs/Calendar/CalendarContext.js +1 -6
- package/cjs/Calendar/CalendarHeader.js +32 -59
- package/cjs/Calendar/MonthDropdown.js +22 -45
- package/cjs/Calendar/MonthDropdownItem.js +16 -31
- package/cjs/Calendar/Table.js +10 -21
- package/cjs/Calendar/TableHeaderRow.js +11 -25
- package/cjs/Calendar/TableRow.js +35 -66
- package/cjs/Calendar/TimeDropdown.js +24 -64
- package/cjs/Calendar/index.js +1 -8
- package/cjs/Calendar/types.js +1 -0
- package/cjs/Calendar/useCalendarDate.js +3 -13
- package/cjs/Calendar/useCalendarState.js +3 -8
- package/cjs/Carousel/Carousel.js +40 -65
- package/cjs/Carousel/index.js +1 -3
- package/cjs/Cascader/Cascader.js +126 -197
- package/cjs/Cascader/DropdownMenu.js +33 -65
- package/cjs/Cascader/index.js +1 -3
- package/cjs/Cascader/utils.js +13 -24
- package/cjs/CheckPicker/CheckPicker.js +105 -156
- package/cjs/CheckPicker/index.js +1 -3
- package/cjs/CheckTree/index.js +1 -8
- package/cjs/CheckTreePicker/CheckTreeNode.js +28 -54
- package/cjs/CheckTreePicker/CheckTreePicker.js +165 -247
- package/cjs/CheckTreePicker/index.js +1 -3
- package/cjs/CheckTreePicker/utils.js +12 -52
- package/cjs/Checkbox/Checkbox.js +48 -77
- package/cjs/Checkbox/index.js +1 -3
- package/cjs/CheckboxGroup/CheckboxGroup.js +20 -38
- package/cjs/CheckboxGroup/CheckboxGroupContext.js +1 -4
- package/cjs/CheckboxGroup/index.js +1 -4
- package/cjs/CloseButton/CloseButton.js +10 -20
- package/cjs/CloseButton/index.js +1 -3
- package/cjs/Col/Col.js +10 -23
- package/cjs/Col/index.js +1 -3
- package/cjs/Container/Container.js +11 -24
- package/cjs/Container/index.js +1 -3
- package/cjs/Content/Content.js +1 -3
- package/cjs/Content/index.js +1 -3
- package/cjs/CustomProvider/CustomProvider.js +13 -28
- package/cjs/CustomProvider/FormattedDate.js +3 -9
- package/cjs/CustomProvider/index.js +1 -6
- package/cjs/DOMHelper/index.js +1 -7
- package/cjs/DOMHelper/isElement.js +1 -2
- package/cjs/DatePicker/DatePicker.js +108 -161
- package/cjs/DatePicker/PredefinedRanges.js +12 -29
- package/cjs/DatePicker/Toolbar.js +20 -36
- package/cjs/DatePicker/index.js +1 -3
- package/cjs/DatePicker/types.js +1 -0
- package/cjs/DatePicker/utils.js +5 -13
- package/cjs/DateRangePicker/Calendar.js +18 -28
- package/cjs/DateRangePicker/DateRangePicker.js +128 -207
- package/cjs/DateRangePicker/DateRangePickerContext.js +1 -6
- package/cjs/DateRangePicker/disabledDateUtils.js +9 -32
- package/cjs/DateRangePicker/index.js +1 -3
- package/cjs/DateRangePicker/types.js +1 -0
- package/cjs/DateRangePicker/utils.js +7 -20
- package/cjs/Disclosure/Disclosure.js +14 -34
- package/cjs/Disclosure/DisclosureButton.js +4 -12
- package/cjs/Disclosure/DisclosureContent.js +1 -5
- package/cjs/Disclosure/DisclosureContext.js +1 -6
- package/cjs/Disclosure/index.js +1 -3
- package/cjs/Disclosure/useDisclosureContext.js +1 -6
- package/cjs/Divider/Divider.js +11 -20
- package/cjs/Divider/index.js +1 -3
- package/cjs/Drawer/Drawer.js +10 -27
- package/cjs/Drawer/index.js +1 -3
- package/cjs/Dropdown/Dropdown.js +35 -68
- package/cjs/Dropdown/DropdownContext.js +1 -4
- package/cjs/Dropdown/DropdownItem.js +22 -49
- package/cjs/Dropdown/DropdownMenu.js +36 -63
- package/cjs/Dropdown/DropdownSeparator.js +8 -17
- package/cjs/Dropdown/DropdownState.js +1 -10
- package/cjs/Dropdown/DropdownToggle.js +17 -29
- package/cjs/Dropdown/index.js +1 -3
- package/cjs/Dropdown/useRenderDropdownItem.js +1 -5
- package/cjs/FlexboxGrid/FlexboxGrid.js +12 -22
- package/cjs/FlexboxGrid/FlexboxGridItem.js +12 -22
- package/cjs/FlexboxGrid/index.js +1 -3
- package/cjs/Footer/Footer.js +1 -3
- package/cjs/Footer/index.js +1 -3
- package/cjs/Form/Form.js +36 -76
- package/cjs/Form/FormContext.js +1 -8
- package/cjs/Form/index.js +1 -4
- package/cjs/Form/useFormClassNames.js +11 -14
- package/cjs/Form/useSchemaModel.js +2 -6
- package/cjs/FormControl/FormControl.js +50 -82
- package/cjs/FormControl/index.js +1 -3
- package/cjs/FormControl/useRegisterModel.js +1 -3
- package/cjs/FormControlLabel/FormControlLabel.js +10 -22
- package/cjs/FormControlLabel/index.js +1 -3
- package/cjs/FormErrorMessage/FormErrorMessage.js +12 -27
- package/cjs/FormErrorMessage/index.js +1 -3
- package/cjs/FormGroup/FormGroup.js +9 -21
- package/cjs/FormGroup/index.js +1 -3
- package/cjs/FormHelpText/FormHelpText.js +11 -28
- package/cjs/FormHelpText/index.js +1 -3
- package/cjs/Grid/Grid.js +10 -19
- package/cjs/Grid/index.js +1 -3
- package/cjs/Header/Header.js +1 -3
- package/cjs/Header/index.js +1 -3
- package/cjs/IconButton/IconButton.js +11 -21
- package/cjs/IconButton/index.js +1 -3
- package/cjs/Input/Input.js +26 -43
- package/cjs/Input/index.js +1 -3
- package/cjs/InputGroup/InputGroup.js +23 -39
- package/cjs/InputGroup/InputGroupAddon.js +9 -18
- package/cjs/InputGroup/InputGroupButton.js +7 -17
- package/cjs/InputGroup/index.js +1 -3
- package/cjs/InputNumber/InputNumber.js +42 -88
- package/cjs/InputNumber/index.js +1 -3
- package/cjs/InputPicker/InputAutosize.js +17 -42
- package/cjs/InputPicker/InputPicker.js +149 -250
- package/cjs/InputPicker/InputSearch.js +15 -28
- package/cjs/InputPicker/index.js +1 -3
- package/cjs/List/List.js +37 -51
- package/cjs/List/ListContext.js +1 -5
- package/cjs/List/ListItem.js +26 -40
- package/cjs/List/helper/AutoScroller.js +11 -21
- package/cjs/List/helper/useManager.js +1 -8
- package/cjs/List/helper/useSortHelper.js +58 -82
- package/cjs/List/helper/utils.js +6 -19
- package/cjs/List/index.js +1 -3
- package/cjs/Loader/Loader.js +17 -26
- package/cjs/Loader/index.js +1 -3
- package/cjs/MaskedInput/MaskedInput.js +2 -8
- package/cjs/MaskedInput/TextMask.js +14 -23
- package/cjs/MaskedInput/adjustCaretPosition.js +99 -70
- package/cjs/MaskedInput/conformToMask.js +79 -73
- package/cjs/MaskedInput/createTextMaskInputElement.js +65 -71
- package/cjs/MaskedInput/index.js +1 -3
- package/cjs/MaskedInput/types.js +1 -0
- package/cjs/MaskedInput/utilities.js +1 -8
- package/cjs/Menu/Menu.js +35 -79
- package/cjs/Menu/MenuContext.js +1 -8
- package/cjs/Menu/MenuItem.js +15 -26
- package/cjs/Menu/Menubar.js +13 -32
- package/cjs/Menu/index.js +1 -3
- package/cjs/Menu/useMenu.js +5 -34
- package/cjs/Message/Message.js +23 -45
- package/cjs/Message/index.js +1 -3
- package/cjs/Modal/Modal.js +70 -91
- package/cjs/Modal/ModalBody.js +11 -25
- package/cjs/Modal/ModalContext.js +1 -4
- package/cjs/Modal/ModalDialog.js +14 -26
- package/cjs/Modal/ModalFooter.js +1 -3
- package/cjs/Modal/ModalHeader.js +14 -29
- package/cjs/Modal/ModalTitle.js +9 -20
- package/cjs/Modal/index.js +1 -3
- package/cjs/Modal/utils.js +8 -19
- package/cjs/MultiCascader/DropdownMenu.js +38 -64
- package/cjs/MultiCascader/MultiCascader.js +129 -192
- package/cjs/MultiCascader/index.js +1 -3
- package/cjs/MultiCascader/utils.js +44 -106
- package/cjs/Nav/Nav.js +27 -69
- package/cjs/Nav/NavContext.js +1 -4
- package/cjs/Nav/NavDropdown.js +28 -60
- package/cjs/Nav/NavDropdownItem.js +20 -42
- package/cjs/Nav/NavDropdownMenu.js +26 -54
- package/cjs/Nav/NavDropdownToggle.js +12 -26
- package/cjs/Nav/NavItem.js +20 -39
- package/cjs/Nav/NavMenu.js +2 -28
- package/cjs/Nav/index.js +1 -3
- package/cjs/Navbar/Navbar.js +10 -23
- package/cjs/Navbar/NavbarBody.js +1 -6
- package/cjs/Navbar/NavbarBrand.js +1 -3
- package/cjs/Navbar/NavbarDropdown.js +25 -49
- package/cjs/Navbar/NavbarDropdownItem.js +18 -44
- package/cjs/Navbar/NavbarDropdownMenu.js +22 -51
- package/cjs/Navbar/NavbarDropdownToggle.js +12 -25
- package/cjs/Navbar/NavbarHeader.js +1 -6
- package/cjs/Navbar/NavbarItem.js +19 -35
- package/cjs/Navbar/index.js +1 -3
- package/cjs/Notification/Notification.js +20 -43
- package/cjs/Notification/index.js +1 -3
- package/cjs/Overlay/Modal.js +40 -79
- package/cjs/Overlay/ModalManager.js +1 -26
- package/cjs/Overlay/Overlay.js +28 -50
- package/cjs/Overlay/OverlayContext.js +1 -4
- package/cjs/Overlay/OverlayTrigger.js +67 -116
- package/cjs/Overlay/Position.js +25 -64
- package/cjs/Overlay/index.js +1 -3
- package/cjs/Overlay/positionUtils.js +25 -86
- package/cjs/Pagination/Pagination.js +30 -70
- package/cjs/Pagination/PaginationButton.js +15 -29
- package/cjs/Pagination/PaginationGroup.js +38 -63
- package/cjs/Pagination/index.js +1 -3
- package/cjs/Panel/Panel.js +37 -61
- package/cjs/Panel/index.js +1 -3
- package/cjs/PanelGroup/PanelGroup.js +16 -29
- package/cjs/PanelGroup/index.js +1 -3
- package/cjs/Picker/DropdownMenu.js +50 -93
- package/cjs/Picker/DropdownMenuCheckItem.js +22 -33
- package/cjs/Picker/DropdownMenuGroup.js +10 -22
- package/cjs/Picker/DropdownMenuItem.js +15 -26
- package/cjs/Picker/PickerOverlay.js +12 -28
- package/cjs/Picker/PickerToggle.js +57 -89
- package/cjs/Picker/PickerToggleTrigger.js +8 -19
- package/cjs/Picker/SearchBar.js +14 -26
- package/cjs/Picker/SelectedElement.js +9 -17
- package/cjs/Picker/ToggleButton.js +1 -6
- package/cjs/Picker/index.js +1 -24
- package/cjs/Picker/propTypes.js +1 -7
- package/cjs/Picker/types.js +1 -0
- package/cjs/Picker/utils.js +94 -200
- package/cjs/Placeholder/Placeholder.js +1 -5
- package/cjs/Placeholder/PlaceholderGraph.js +13 -22
- package/cjs/Placeholder/PlaceholderGrid.js +18 -34
- package/cjs/Placeholder/PlaceholderParagraph.js +17 -29
- package/cjs/Placeholder/index.js +1 -3
- package/cjs/Plaintext/Plaintext.js +14 -23
- package/cjs/Plaintext/index.js +1 -3
- package/cjs/Popover/Popover.js +16 -27
- package/cjs/Popover/index.js +1 -3
- package/cjs/Progress/Progress.js +1 -4
- package/cjs/Progress/ProgressCircle.js +30 -47
- package/cjs/Progress/ProgressLine.js +19 -29
- package/cjs/Progress/index.js +1 -3
- package/cjs/Radio/Radio.js +42 -62
- package/cjs/Radio/index.js +1 -3
- package/cjs/RadioGroup/RadioGroup.js +22 -37
- package/cjs/RadioGroup/index.js +1 -3
- package/cjs/RadioTile/RadioTile.js +30 -47
- package/cjs/RadioTile/index.js +1 -3
- package/cjs/RadioTileGroup/RadioTileGroup.js +17 -32
- package/cjs/RadioTileGroup/index.js +1 -3
- package/cjs/RangeSlider/RangeSlider.js +63 -104
- package/cjs/RangeSlider/index.js +1 -3
- package/cjs/Rate/Character.js +16 -31
- package/cjs/Rate/Rate.js +35 -62
- package/cjs/Rate/index.js +1 -3
- package/cjs/Rate/utils.js +1 -6
- package/cjs/Ripple/Ripple.js +16 -40
- package/cjs/Ripple/index.js +1 -3
- package/cjs/Row/Row.js +11 -22
- package/cjs/Row/index.js +1 -3
- package/cjs/SafeAnchor/SafeAnchor.js +8 -19
- package/cjs/SafeAnchor/index.js +1 -3
- package/cjs/Schema/Schema.js +1 -2
- package/cjs/Schema/index.js +1 -3
- package/cjs/SelectPicker/SelectPicker.js +136 -170
- package/cjs/SelectPicker/index.js +1 -3
- package/cjs/Sidebar/Sidebar.js +13 -26
- package/cjs/Sidebar/index.js +1 -3
- package/cjs/Sidenav/ExpandedSidenavDropdown.js +32 -54
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +19 -41
- package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +22 -46
- package/cjs/Sidenav/Node.js +1 -12
- package/cjs/Sidenav/Sidenav.js +22 -45
- package/cjs/Sidenav/SidenavBody.js +1 -3
- package/cjs/Sidenav/SidenavDropdown.js +39 -70
- package/cjs/Sidenav/SidenavDropdownCollapse.js +9 -22
- package/cjs/Sidenav/SidenavDropdownItem.js +19 -45
- package/cjs/Sidenav/SidenavDropdownMenu.js +26 -54
- package/cjs/Sidenav/SidenavDropdownToggle.js +12 -25
- package/cjs/Sidenav/SidenavHeader.js +1 -3
- package/cjs/Sidenav/SidenavItem.js +27 -55
- package/cjs/Sidenav/SidenavToggle.js +11 -31
- package/cjs/Sidenav/index.js +1 -3
- package/cjs/Slider/Graduated.js +14 -29
- package/cjs/Slider/Handle.js +27 -52
- package/cjs/Slider/Input.js +2 -8
- package/cjs/Slider/Mark.js +11 -20
- package/cjs/Slider/ProgressBar.js +14 -23
- package/cjs/Slider/Slider.js +51 -84
- package/cjs/Slider/index.js +1 -3
- package/cjs/Slider/utils.js +1 -6
- package/cjs/Stack/Stack.js +22 -35
- package/cjs/Stack/StackItem.js +11 -17
- package/cjs/Stack/index.js +1 -3
- package/cjs/Steps/StepItem.js +16 -32
- package/cjs/Steps/Steps.js +18 -32
- package/cjs/Steps/index.js +1 -3
- package/cjs/Table/Table.js +6 -16
- package/cjs/Table/index.js +1 -3
- package/cjs/Tag/Tag.js +16 -28
- package/cjs/Tag/index.js +1 -3
- package/cjs/TagGroup/TagGroup.js +1 -3
- package/cjs/TagGroup/index.js +1 -3
- package/cjs/TagInput/index.js +7 -14
- package/cjs/TagPicker/index.js +5 -12
- package/cjs/Timeline/Timeline.js +14 -29
- package/cjs/Timeline/TimelineItem.js +14 -23
- package/cjs/Timeline/index.js +1 -3
- package/cjs/Toggle/Toggle.js +26 -45
- package/cjs/Toggle/index.js +1 -3
- package/cjs/Tooltip/Tooltip.js +13 -22
- package/cjs/Tooltip/index.js +1 -3
- package/cjs/Tree/Tree.js +1 -10
- package/cjs/Tree/TreeContext.js +1 -4
- package/cjs/Tree/index.js +1 -3
- package/cjs/TreePicker/TreeNode.js +37 -60
- package/cjs/TreePicker/TreePicker.js +155 -231
- package/cjs/TreePicker/index.js +1 -3
- package/cjs/Uploader/UploadFileItem.js +37 -82
- package/cjs/Uploader/UploadTrigger.js +24 -46
- package/cjs/Uploader/Uploader.js +89 -141
- package/cjs/Uploader/index.js +1 -3
- package/cjs/Whisper/Whisper.js +8 -20
- package/cjs/Whisper/index.js +1 -3
- package/cjs/Windowing/AutoSizer.js +13 -33
- package/cjs/Windowing/List.d.ts +2 -2
- package/cjs/Windowing/List.js +6 -22
- package/cjs/Windowing/index.js +1 -7
- package/cjs/index.js +1 -164
- package/cjs/locales/ar_EG.js +1 -4
- package/cjs/locales/da_DK.js +1 -5
- package/cjs/locales/de_DE.js +1 -5
- package/cjs/locales/default.js +1 -5
- package/cjs/locales/en_GB.js +1 -3
- package/cjs/locales/en_US.js +1 -4
- package/cjs/locales/es_AR.js +1 -5
- package/cjs/locales/es_ES.js +1 -5
- package/cjs/locales/fa_IR.js +1 -4
- package/cjs/locales/fi_FI.js +1 -5
- package/cjs/locales/fr_FR.js +1 -4
- package/cjs/locales/hu_HU.js +1 -5
- package/cjs/locales/index.js +1 -47
- package/cjs/locales/it_IT.js +1 -5
- package/cjs/locales/ja_JP.js +1 -5
- package/cjs/locales/kk_KZ.js +1 -4
- package/cjs/locales/ko_KR.js +1 -5
- package/cjs/locales/ne_NP.js +1 -5
- package/cjs/locales/nl_NL.js +1 -4
- package/cjs/locales/pt_BR.js +1 -4
- package/cjs/locales/ru_RU.js +1 -4
- package/cjs/locales/sv_SE.js +1 -5
- package/cjs/locales/tr_TR.js +1 -4
- package/cjs/locales/zh_CN.js +1 -4
- package/cjs/locales/zh_TW.js +1 -4
- package/cjs/toaster/ToastContainer.js +29 -52
- package/cjs/toaster/ToastContext.js +1 -4
- package/cjs/toaster/index.js +1 -4
- package/cjs/toaster/toaster.js +4 -27
- package/cjs/toaster/useToaster.js +2 -8
- package/cjs/utils/BrowserDetection.js +7 -24
- package/cjs/utils/ReactChildren.js +2 -19
- package/cjs/utils/ajaxUpload.js +15 -33
- package/cjs/utils/appendTooltip.js +3 -9
- package/cjs/utils/attachParent.js +1 -1
- package/cjs/utils/clone.js +1 -2
- package/cjs/utils/composeFunctions.js +1 -3
- package/cjs/utils/constants.js +3 -8
- package/cjs/utils/createChainedFunction.js +2 -6
- package/cjs/utils/createComponent.js +12 -24
- package/cjs/utils/dateUtils.js +7 -121
- package/cjs/utils/deprecateComponent.js +1 -8
- package/cjs/utils/deprecatePropType.js +2 -9
- package/cjs/utils/dom.js +3 -2
- package/cjs/utils/events.js +2 -3
- package/cjs/utils/getDOMNode.js +16 -9
- package/cjs/utils/getDataGroupBy.d.ts +0 -23
- package/cjs/utils/getDataGroupBy.js +5 -44
- package/cjs/utils/getSafeRegExpString.js +1 -1
- package/cjs/utils/guid.js +1 -1
- package/cjs/utils/htmlPropsUtils.js +23 -20
- package/cjs/utils/index.js +1 -86
- package/cjs/utils/isOneOf.js +1 -2
- package/cjs/utils/mergeRefs.js +1 -2
- package/cjs/utils/placementPolyfill.js +2 -5
- package/cjs/utils/prefix.js +4 -15
- package/cjs/utils/previewFile.js +1 -6
- package/cjs/utils/propTypeChecker.js +1 -8
- package/cjs/utils/reactToString.js +1 -5
- package/cjs/utils/render.js +3 -10
- package/cjs/utils/scrollTopAnimation.js +1 -9
- package/cjs/utils/shallowEqual.js +8 -14
- package/cjs/utils/shallowEqualArray.js +1 -7
- package/cjs/utils/statusIcons.js +1 -9
- package/cjs/utils/stringToObject.js +1 -7
- package/cjs/utils/tplTransform.js +2 -7
- package/cjs/utils/treeUtils.js +112 -327
- package/cjs/utils/useClassNames.js +9 -15
- package/cjs/utils/useClickOutside.js +4 -8
- package/cjs/utils/useControlled.js +11 -7
- package/cjs/utils/useCustom.js +12 -25
- package/cjs/utils/useElementResize.js +1 -6
- package/cjs/utils/useEnsuredRef.js +1 -4
- package/cjs/utils/useEventCallback.js +1 -4
- package/cjs/utils/useEventListener.js +1 -5
- package/cjs/utils/useFocus.js +5 -6
- package/cjs/utils/useInternalId.js +1 -6
- package/cjs/utils/useIsMounted.js +1 -3
- package/cjs/utils/useMap.js +5 -7
- package/cjs/utils/useMount.js +1 -4
- package/cjs/utils/usePortal.js +7 -20
- package/cjs/utils/useRootClose.js +9 -19
- package/cjs/utils/useTimeout.js +3 -8
- package/cjs/utils/useToggleCaret.js +2 -14
- package/cjs/utils/useUniqueId.js +2 -9
- package/cjs/utils/useUpdateEffect.js +3 -5
- package/cjs/utils/useUpdatedRef.js +1 -2
- package/cjs/utils/useWillUnmount.js +3 -5
- package/cjs/utils/warnOnce.js +2 -2
- package/dist/rsuite-no-reset-rtl.css +23 -25
- 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 +23 -25
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +23 -25
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +23 -25
- package/dist/rsuite.js +394 -427
- 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.js +1 -0
- package/esm/@types/utils.js +14 -2
- package/esm/Affix/Affix.js +39 -50
- package/esm/Affix/index.js +1 -0
- package/esm/Animation/Bounce.js +4 -5
- package/esm/Animation/Collapse.js +19 -26
- package/esm/Animation/Fade.js +6 -7
- package/esm/Animation/Slide.js +6 -7
- package/esm/Animation/Transition.js +16 -69
- package/esm/Animation/index.js +1 -0
- package/esm/Animation/utils.js +1 -2
- package/esm/AutoComplete/AutoComplete.js +55 -75
- package/esm/AutoComplete/index.js +1 -0
- package/esm/AutoComplete/utils.js +1 -4
- package/esm/Avatar/Avatar.js +18 -22
- package/esm/Avatar/index.js +1 -0
- package/esm/AvatarGroup/AvatarGroup.js +13 -16
- package/esm/AvatarGroup/index.js +1 -0
- package/esm/Badge/Badge.js +14 -19
- package/esm/Badge/index.js +1 -0
- package/esm/Breadcrumb/Breadcrumb.js +19 -30
- package/esm/Breadcrumb/BreadcrumbItem.js +14 -17
- package/esm/Breadcrumb/index.js +1 -0
- package/esm/Button/Button.js +22 -28
- package/esm/Button/index.js +1 -0
- package/esm/ButtonGroup/ButtonGroup.js +15 -16
- package/esm/ButtonGroup/ButtonGroupContext.js +1 -0
- package/esm/ButtonGroup/index.js +1 -0
- package/esm/ButtonToolbar/ButtonToolbar.js +10 -12
- package/esm/ButtonToolbar/index.js +1 -0
- package/esm/Calendar/Calendar.js +24 -29
- package/esm/Calendar/CalendarBody.js +14 -18
- package/esm/Calendar/CalendarContainer.js +46 -51
- package/esm/Calendar/CalendarContext.js +1 -0
- package/esm/Calendar/CalendarHeader.js +32 -41
- package/esm/Calendar/MonthDropdown.js +22 -27
- package/esm/Calendar/MonthDropdownItem.js +16 -20
- package/esm/Calendar/Table.js +10 -11
- package/esm/Calendar/TableHeaderRow.js +11 -15
- package/esm/Calendar/TableRow.js +36 -50
- package/esm/Calendar/TimeDropdown.js +24 -48
- package/esm/Calendar/index.js +1 -0
- package/esm/Calendar/types.js +1 -0
- package/esm/Calendar/useCalendarDate.js +3 -11
- package/esm/Calendar/useCalendarState.js +3 -6
- package/esm/Carousel/Carousel.js +40 -52
- package/esm/Carousel/index.js +1 -0
- package/esm/Cascader/Cascader.js +126 -178
- package/esm/Cascader/DropdownMenu.js +33 -45
- package/esm/Cascader/index.js +1 -0
- package/esm/Cascader/utils.js +13 -22
- package/esm/CheckPicker/CheckPicker.js +105 -139
- package/esm/CheckPicker/index.js +1 -0
- package/esm/CheckTree/index.js +1 -0
- package/esm/CheckTreePicker/CheckTreeNode.js +28 -44
- package/esm/CheckTreePicker/CheckTreePicker.js +165 -232
- package/esm/CheckTreePicker/index.js +1 -0
- package/esm/CheckTreePicker/utils.js +12 -35
- package/esm/Checkbox/Checkbox.js +48 -66
- package/esm/Checkbox/index.js +1 -0
- package/esm/CheckboxGroup/CheckboxGroup.js +20 -25
- package/esm/CheckboxGroup/CheckboxGroupContext.js +1 -0
- package/esm/CheckboxGroup/index.js +1 -0
- package/esm/CloseButton/CloseButton.js +10 -13
- package/esm/CloseButton/index.js +1 -0
- package/esm/Col/Col.js +10 -13
- package/esm/Col/index.js +1 -0
- package/esm/Container/Container.js +11 -13
- package/esm/Container/index.js +1 -0
- package/esm/Content/Content.js +1 -1
- package/esm/Content/index.js +1 -0
- package/esm/CustomProvider/CustomProvider.js +13 -16
- package/esm/CustomProvider/FormattedDate.js +3 -6
- package/esm/CustomProvider/index.js +1 -0
- package/esm/DOMHelper/index.js +1 -2
- package/esm/DOMHelper/isElement.js +1 -1
- package/esm/DatePicker/DatePicker.js +108 -131
- package/esm/DatePicker/PredefinedRanges.js +12 -19
- package/esm/DatePicker/Toolbar.js +20 -26
- package/esm/DatePicker/index.js +1 -0
- package/esm/DatePicker/types.js +1 -0
- package/esm/DatePicker/utils.js +5 -8
- package/esm/DateRangePicker/Calendar.js +18 -18
- package/esm/DateRangePicker/DateRangePicker.js +128 -184
- package/esm/DateRangePicker/DateRangePickerContext.js +1 -0
- package/esm/DateRangePicker/disabledDateUtils.js +9 -24
- package/esm/DateRangePicker/index.js +1 -0
- package/esm/DateRangePicker/types.js +1 -0
- package/esm/DateRangePicker/utils.js +7 -12
- package/esm/Disclosure/Disclosure.js +13 -24
- package/esm/Disclosure/DisclosureButton.js +4 -7
- package/esm/Disclosure/DisclosureContent.js +1 -2
- package/esm/Disclosure/DisclosureContext.js +1 -2
- package/esm/Disclosure/index.js +1 -0
- package/esm/Disclosure/useDisclosureContext.js +1 -2
- package/esm/Divider/Divider.js +11 -12
- package/esm/Divider/index.js +1 -0
- package/esm/Drawer/Drawer.js +10 -11
- package/esm/Drawer/index.js +1 -0
- package/esm/Dropdown/Dropdown.js +35 -50
- package/esm/Dropdown/DropdownContext.js +1 -0
- package/esm/Dropdown/DropdownItem.js +22 -31
- package/esm/Dropdown/DropdownMenu.js +36 -49
- package/esm/Dropdown/DropdownSeparator.js +8 -10
- package/esm/Dropdown/DropdownState.js +1 -7
- package/esm/Dropdown/DropdownToggle.js +17 -17
- package/esm/Dropdown/index.js +1 -0
- package/esm/Dropdown/useRenderDropdownItem.js +1 -2
- package/esm/FlexboxGrid/FlexboxGrid.js +12 -13
- package/esm/FlexboxGrid/FlexboxGridItem.js +12 -14
- package/esm/FlexboxGrid/index.js +1 -0
- package/esm/Footer/Footer.js +1 -0
- package/esm/Footer/index.js +1 -0
- package/esm/Form/Form.js +36 -63
- package/esm/Form/FormContext.js +1 -0
- package/esm/Form/index.js +1 -0
- package/esm/Form/useFormClassNames.js +11 -13
- package/esm/Form/useSchemaModel.js +2 -4
- package/esm/FormControl/FormControl.js +48 -68
- package/esm/FormControl/index.js +1 -0
- package/esm/FormControl/useRegisterModel.js +1 -2
- package/esm/FormControlLabel/FormControlLabel.js +10 -12
- package/esm/FormControlLabel/index.js +1 -0
- package/esm/FormErrorMessage/FormErrorMessage.js +12 -18
- package/esm/FormErrorMessage/index.js +1 -0
- package/esm/FormGroup/FormGroup.js +9 -10
- package/esm/FormGroup/index.js +1 -0
- package/esm/FormHelpText/FormHelpText.js +11 -15
- package/esm/FormHelpText/index.js +1 -0
- package/esm/Grid/Grid.js +10 -11
- package/esm/Grid/index.js +1 -0
- package/esm/Header/Header.js +1 -0
- package/esm/Header/index.js +1 -0
- package/esm/IconButton/IconButton.js +11 -12
- package/esm/IconButton/index.js +1 -0
- package/esm/Input/Input.js +26 -32
- package/esm/Input/index.js +1 -0
- package/esm/InputGroup/InputGroup.js +23 -26
- package/esm/InputGroup/InputGroupAddon.js +9 -10
- package/esm/InputGroup/InputGroupButton.js +7 -9
- package/esm/InputGroup/index.js +1 -0
- package/esm/InputNumber/InputNumber.js +42 -72
- package/esm/InputNumber/index.js +1 -0
- package/esm/InputPicker/InputAutosize.js +17 -37
- package/esm/InputPicker/InputPicker.js +149 -225
- package/esm/InputPicker/InputSearch.js +15 -20
- package/esm/InputPicker/index.js +1 -0
- package/esm/List/List.js +37 -39
- package/esm/List/ListContext.js +1 -0
- package/esm/List/ListItem.js +26 -30
- package/esm/List/helper/AutoScroller.js +11 -21
- package/esm/List/helper/useManager.js +1 -6
- package/esm/List/helper/useSortHelper.js +58 -74
- package/esm/List/helper/utils.js +6 -11
- package/esm/List/index.js +1 -0
- package/esm/Loader/Loader.js +17 -19
- package/esm/Loader/index.js +1 -0
- package/esm/MaskedInput/MaskedInput.js +2 -1
- package/esm/MaskedInput/TextMask.js +12 -14
- package/esm/MaskedInput/adjustCaretPosition.js +99 -69
- package/esm/MaskedInput/conformToMask.js +79 -70
- package/esm/MaskedInput/createTextMaskInputElement.js +65 -62
- package/esm/MaskedInput/index.js +1 -0
- package/esm/MaskedInput/types.js +1 -0
- package/esm/MaskedInput/utilities.js +1 -6
- package/esm/Menu/Menu.js +35 -66
- package/esm/Menu/MenuContext.js +1 -4
- package/esm/Menu/MenuItem.js +15 -19
- package/esm/Menu/Menubar.js +13 -23
- package/esm/Menu/index.js +1 -0
- package/esm/Menu/useMenu.js +4 -27
- package/esm/Message/Message.js +23 -34
- package/esm/Message/index.js +1 -0
- package/esm/Modal/Modal.js +70 -69
- package/esm/Modal/ModalBody.js +11 -13
- package/esm/Modal/ModalContext.js +1 -0
- package/esm/Modal/ModalDialog.js +14 -18
- package/esm/Modal/ModalFooter.js +1 -0
- package/esm/Modal/ModalHeader.js +14 -16
- package/esm/Modal/ModalTitle.js +9 -10
- package/esm/Modal/index.js +1 -0
- package/esm/Modal/utils.js +8 -12
- package/esm/MultiCascader/DropdownMenu.js +38 -48
- package/esm/MultiCascader/MultiCascader.js +129 -174
- package/esm/MultiCascader/index.js +1 -0
- package/esm/MultiCascader/utils.js +44 -87
- package/esm/Nav/Nav.js +27 -45
- package/esm/Nav/NavContext.js +1 -0
- package/esm/Nav/NavDropdown.js +28 -44
- package/esm/Nav/NavDropdownItem.js +20 -31
- package/esm/Nav/NavDropdownMenu.js +26 -42
- package/esm/Nav/NavDropdownToggle.js +12 -15
- package/esm/Nav/NavItem.js +20 -28
- package/esm/Nav/NavMenu.js +2 -13
- package/esm/Nav/index.js +1 -0
- package/esm/Navbar/Navbar.js +10 -11
- package/esm/Navbar/NavbarBody.js +1 -0
- package/esm/Navbar/NavbarBrand.js +1 -0
- package/esm/Navbar/NavbarDropdown.js +25 -33
- package/esm/Navbar/NavbarDropdownItem.js +18 -30
- package/esm/Navbar/NavbarDropdownMenu.js +22 -37
- package/esm/Navbar/NavbarDropdownToggle.js +12 -14
- package/esm/Navbar/NavbarHeader.js +1 -0
- package/esm/Navbar/NavbarItem.js +19 -23
- package/esm/Navbar/index.js +1 -0
- package/esm/Notification/Notification.js +20 -32
- package/esm/Notification/index.js +1 -0
- package/esm/Overlay/Modal.js +40 -64
- package/esm/Overlay/ModalManager.js +1 -19
- package/esm/Overlay/Overlay.js +28 -37
- package/esm/Overlay/OverlayContext.js +1 -0
- package/esm/Overlay/OverlayTrigger.js +68 -101
- package/esm/Overlay/Position.js +25 -47
- package/esm/Overlay/index.js +1 -0
- package/esm/Overlay/positionUtils.js +25 -73
- package/esm/Pagination/Pagination.js +30 -55
- package/esm/Pagination/PaginationButton.js +15 -19
- package/esm/Pagination/PaginationGroup.js +38 -49
- package/esm/Pagination/index.js +1 -0
- package/esm/Panel/Panel.js +37 -49
- package/esm/Panel/index.js +1 -0
- package/esm/PanelGroup/PanelGroup.js +16 -18
- package/esm/PanelGroup/index.js +1 -0
- package/esm/Picker/DropdownMenu.js +50 -72
- package/esm/Picker/DropdownMenuCheckItem.js +22 -24
- package/esm/Picker/DropdownMenuGroup.js +10 -13
- package/esm/Picker/DropdownMenuItem.js +15 -18
- package/esm/Picker/PickerOverlay.js +12 -17
- package/esm/Picker/PickerToggle.js +57 -71
- package/esm/Picker/PickerToggleTrigger.js +8 -10
- package/esm/Picker/SearchBar.js +14 -15
- package/esm/Picker/SelectedElement.js +9 -14
- package/esm/Picker/ToggleButton.js +1 -0
- package/esm/Picker/index.js +1 -0
- package/esm/Picker/propTypes.js +1 -1
- package/esm/Picker/types.js +1 -0
- package/esm/Picker/utils.js +94 -182
- package/esm/Placeholder/Placeholder.js +1 -0
- package/esm/Placeholder/PlaceholderGraph.js +13 -16
- package/esm/Placeholder/PlaceholderGrid.js +18 -25
- package/esm/Placeholder/PlaceholderParagraph.js +17 -20
- package/esm/Placeholder/index.js +1 -0
- package/esm/Plaintext/Plaintext.js +14 -17
- package/esm/Plaintext/index.js +1 -0
- package/esm/Popover/Popover.js +16 -21
- package/esm/Popover/index.js +1 -0
- package/esm/Progress/Progress.js +1 -0
- package/esm/Progress/ProgressCircle.js +30 -39
- package/esm/Progress/ProgressLine.js +19 -21
- package/esm/Progress/index.js +1 -0
- package/esm/Radio/Radio.js +42 -52
- package/esm/Radio/index.js +1 -0
- package/esm/RadioGroup/RadioGroup.js +22 -25
- package/esm/RadioGroup/index.js +1 -0
- package/esm/RadioTile/RadioTile.js +30 -34
- package/esm/RadioTile/index.js +1 -0
- package/esm/RadioTileGroup/RadioTileGroup.js +17 -20
- package/esm/RadioTileGroup/index.js +1 -0
- package/esm/RangeSlider/RangeSlider.js +63 -86
- package/esm/RangeSlider/index.js +1 -0
- package/esm/Rate/Character.js +16 -21
- package/esm/Rate/Rate.js +35 -48
- package/esm/Rate/index.js +1 -0
- package/esm/Rate/utils.js +1 -2
- package/esm/Ripple/Ripple.js +16 -30
- package/esm/Ripple/index.js +1 -0
- package/esm/Row/Row.js +11 -14
- package/esm/Row/index.js +1 -0
- package/esm/SafeAnchor/SafeAnchor.js +8 -13
- package/esm/SafeAnchor/index.js +1 -0
- package/esm/Schema/Schema.js +1 -0
- package/esm/Schema/index.js +1 -0
- package/esm/SelectPicker/SelectPicker.js +137 -157
- package/esm/SelectPicker/index.js +1 -0
- package/esm/Sidebar/Sidebar.js +13 -18
- package/esm/Sidebar/index.js +1 -0
- package/esm/Sidenav/ExpandedSidenavDropdown.js +32 -35
- package/esm/Sidenav/ExpandedSidenavDropdownItem.js +19 -27
- package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +22 -29
- package/esm/Sidenav/Node.js +1 -10
- package/esm/Sidenav/Sidenav.js +22 -28
- package/esm/Sidenav/SidenavBody.js +1 -0
- package/esm/Sidenav/SidenavDropdown.js +39 -52
- package/esm/Sidenav/SidenavDropdownCollapse.js +9 -13
- package/esm/Sidenav/SidenavDropdownItem.js +19 -31
- package/esm/Sidenav/SidenavDropdownMenu.js +26 -41
- package/esm/Sidenav/SidenavDropdownToggle.js +12 -14
- package/esm/Sidenav/SidenavHeader.js +1 -0
- package/esm/Sidenav/SidenavItem.js +27 -37
- package/esm/Sidenav/SidenavToggle.js +11 -18
- package/esm/Sidenav/index.js +1 -0
- package/esm/Slider/Graduated.js +14 -21
- package/esm/Slider/Handle.js +27 -39
- package/esm/Slider/Input.js +2 -2
- package/esm/Slider/Mark.js +11 -14
- package/esm/Slider/ProgressBar.js +14 -18
- package/esm/Slider/Slider.js +51 -67
- package/esm/Slider/index.js +1 -0
- package/esm/Slider/utils.js +1 -5
- package/esm/Stack/Stack.js +22 -27
- package/esm/Stack/StackItem.js +11 -11
- package/esm/Stack/index.js +1 -0
- package/esm/Steps/StepItem.js +16 -22
- package/esm/Steps/Steps.js +18 -22
- package/esm/Steps/index.js +1 -0
- package/esm/Table/Table.js +6 -7
- package/esm/Table/index.js +1 -0
- package/esm/Tag/Tag.js +16 -19
- package/esm/Tag/index.js +1 -0
- package/esm/TagGroup/TagGroup.js +1 -0
- package/esm/TagGroup/index.js +1 -0
- package/esm/TagInput/index.js +7 -7
- package/esm/TagPicker/index.js +5 -5
- package/esm/Timeline/Timeline.js +14 -19
- package/esm/Timeline/TimelineItem.js +14 -15
- package/esm/Timeline/index.js +1 -0
- package/esm/Toggle/Toggle.js +26 -35
- package/esm/Toggle/index.js +1 -0
- package/esm/Tooltip/Tooltip.js +13 -16
- package/esm/Tooltip/index.js +1 -0
- package/esm/Tree/Tree.js +1 -3
- package/esm/Tree/TreeContext.js +1 -0
- package/esm/Tree/index.js +1 -0
- package/esm/TreePicker/TreeNode.js +37 -49
- package/esm/TreePicker/TreePicker.js +155 -218
- package/esm/TreePicker/index.js +1 -0
- package/esm/Uploader/UploadFileItem.js +37 -68
- package/esm/Uploader/UploadTrigger.js +24 -38
- package/esm/Uploader/Uploader.js +90 -132
- package/esm/Uploader/index.js +1 -0
- package/esm/Whisper/Whisper.js +8 -10
- package/esm/Whisper/index.js +1 -0
- package/esm/Windowing/AutoSizer.js +13 -24
- package/esm/Windowing/List.d.ts +2 -2
- package/esm/Windowing/List.js +6 -15
- package/esm/Windowing/index.js +1 -0
- package/esm/index.js +3 -0
- package/esm/locales/ar_EG.js +1 -0
- package/esm/locales/da_DK.js +1 -1
- package/esm/locales/de_DE.js +1 -1
- package/esm/locales/default.js +1 -1
- package/esm/locales/en_GB.js +1 -0
- package/esm/locales/en_US.js +1 -0
- package/esm/locales/es_AR.js +1 -1
- package/esm/locales/es_ES.js +1 -1
- package/esm/locales/fa_IR.js +1 -0
- package/esm/locales/fi_FI.js +1 -1
- package/esm/locales/fr_FR.js +1 -0
- package/esm/locales/hu_HU.js +1 -1
- package/esm/locales/index.js +1 -0
- package/esm/locales/it_IT.js +1 -1
- package/esm/locales/ja_JP.js +1 -1
- package/esm/locales/kk_KZ.js +1 -0
- package/esm/locales/ko_KR.js +1 -1
- package/esm/locales/ne_NP.js +1 -1
- package/esm/locales/nl_NL.js +1 -0
- package/esm/locales/pt_BR.js +1 -0
- package/esm/locales/ru_RU.js +1 -0
- package/esm/locales/sv_SE.js +1 -1
- package/esm/locales/tr_TR.js +1 -0
- package/esm/locales/zh_CN.js +1 -0
- package/esm/locales/zh_TW.js +1 -0
- package/esm/toaster/ToastContainer.js +29 -42
- package/esm/toaster/ToastContext.js +1 -0
- package/esm/toaster/index.js +1 -0
- package/esm/toaster/toaster.js +4 -22
- package/esm/toaster/useToaster.js +3 -5
- package/esm/utils/BrowserDetection.js +9 -9
- package/esm/utils/ReactChildren.js +2 -8
- package/esm/utils/ajaxUpload.js +15 -32
- package/esm/utils/appendTooltip.js +3 -3
- package/esm/utils/attachParent.js +1 -0
- package/esm/utils/clone.js +1 -1
- package/esm/utils/composeFunctions.js +1 -1
- package/esm/utils/constants.js +4 -7
- package/esm/utils/createChainedFunction.js +2 -5
- package/esm/utils/createComponent.js +12 -16
- package/esm/utils/dateUtils.js +7 -23
- package/esm/utils/deprecateComponent.js +2 -2
- package/esm/utils/deprecatePropType.js +4 -6
- package/esm/utils/dom.js +3 -1
- package/esm/utils/events.js +2 -1
- package/esm/utils/getDOMNode.js +15 -8
- package/esm/utils/getDataGroupBy.d.ts +0 -23
- package/esm/utils/getDataGroupBy.js +5 -39
- package/esm/utils/getSafeRegExpString.js +1 -0
- package/esm/utils/guid.js +1 -0
- package/esm/utils/htmlPropsUtils.js +23 -14
- package/esm/utils/index.js +2 -1
- package/esm/utils/isOneOf.js +1 -1
- package/esm/utils/mergeRefs.js +1 -1
- package/esm/utils/placementPolyfill.js +2 -4
- package/esm/utils/prefix.js +4 -4
- package/esm/utils/previewFile.js +1 -3
- package/esm/utils/propTypeChecker.js +1 -3
- package/esm/utils/reactToString.js +1 -2
- package/esm/utils/render.js +3 -5
- package/esm/utils/scrollTopAnimation.js +1 -5
- package/esm/utils/shallowEqual.js +8 -13
- package/esm/utils/shallowEqualArray.js +1 -5
- package/esm/utils/statusIcons.js +1 -0
- package/esm/utils/stringToObject.js +3 -4
- package/esm/utils/tplTransform.js +2 -4
- package/esm/utils/treeUtils.js +113 -265
- package/esm/utils/useClassNames.js +9 -9
- package/esm/utils/useClickOutside.js +4 -6
- package/esm/utils/useControlled.js +12 -6
- package/esm/utils/useCustom.js +12 -20
- package/esm/utils/useElementResize.js +2 -4
- package/esm/utils/useEnsuredRef.js +2 -3
- package/esm/utils/useEventCallback.js +2 -3
- package/esm/utils/useEventListener.js +2 -2
- package/esm/utils/useFocus.js +5 -4
- package/esm/utils/useInternalId.js +2 -3
- package/esm/utils/useIsMounted.js +1 -2
- package/esm/utils/useMap.js +5 -5
- package/esm/utils/useMount.js +1 -3
- package/esm/utils/usePortal.js +7 -13
- package/esm/utils/useRootClose.js +9 -13
- package/esm/utils/useTimeout.js +3 -7
- package/esm/utils/useToggleCaret.js +2 -7
- package/esm/utils/useUniqueId.js +2 -4
- package/esm/utils/useUpdateEffect.js +3 -4
- package/esm/utils/useUpdatedRef.js +2 -1
- package/esm/utils/useWillUnmount.js +4 -2
- package/esm/utils/warnOnce.js +2 -2
- package/package.json +2 -2
- package/styles/color-modes/light.less +4 -4
- package/styles/mixins/listbox.less +0 -2
- package/cjs/SelectPicker/Listbox.d.ts +0 -34
- package/cjs/SelectPicker/Listbox.js +0 -263
- package/cjs/SelectPicker/ListboxOption.d.ts +0 -11
- package/cjs/SelectPicker/ListboxOption.js +0 -50
- package/cjs/SelectPicker/ListboxOptionGroup.d.ts +0 -9
- package/cjs/SelectPicker/ListboxOptionGroup.js +0 -69
- package/esm/SelectPicker/Listbox.d.ts +0 -34
- package/esm/SelectPicker/Listbox.js +0 -240
- package/esm/SelectPicker/ListboxOption.d.ts +0 -11
- package/esm/SelectPicker/ListboxOption.js +0 -37
- package/esm/SelectPicker/ListboxOptionGroup.d.ts +0 -9
- package/esm/SelectPicker/ListboxOptionGroup.js +0 -53
|
@@ -1,138 +1,108 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
6
|
exports.__esModule = true;
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
13
|
-
|
|
14
10
|
var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
|
|
15
|
-
|
|
16
11
|
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
17
|
-
|
|
18
12
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
19
|
-
|
|
20
13
|
var _partial = _interopRequireDefault(require("lodash/partial"));
|
|
21
|
-
|
|
22
14
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
23
|
-
|
|
24
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
27
|
-
|
|
28
17
|
var _CustomProvider = require("../CustomProvider");
|
|
29
|
-
|
|
30
18
|
var _Toolbar = _interopRequireDefault(require("../DatePicker/Toolbar"));
|
|
31
|
-
|
|
32
19
|
var _PredefinedRanges = _interopRequireDefault(require("../DatePicker/PredefinedRanges"));
|
|
33
|
-
|
|
34
20
|
var _Stack = _interopRequireDefault(require("../Stack"));
|
|
35
|
-
|
|
36
21
|
var _Picker = require("../Picker");
|
|
37
|
-
|
|
38
22
|
var _utils = require("../utils");
|
|
39
|
-
|
|
40
23
|
var _dateUtils = require("../utils/dateUtils");
|
|
41
|
-
|
|
42
24
|
var _Calendar2 = _interopRequireDefault(require("./Calendar"));
|
|
43
|
-
|
|
44
25
|
var disabledDateUtils = _interopRequireWildcard(require("./disabledDateUtils"));
|
|
45
|
-
|
|
46
26
|
var _utils2 = require("./utils");
|
|
47
|
-
|
|
48
27
|
var _deprecatePropType = require("../utils/deprecatePropType");
|
|
49
|
-
|
|
50
28
|
var _DateRangePickerContext = _interopRequireDefault(require("./DateRangePickerContext"));
|
|
51
|
-
|
|
52
29
|
var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
53
30
|
var _ref, _ref2, _merge;
|
|
54
|
-
|
|
55
31
|
var _props$as = props.as,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
32
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
33
|
+
_props$classPrefix = props.classPrefix,
|
|
34
|
+
classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
|
|
35
|
+
className = props.className,
|
|
36
|
+
_props$appearance = props.appearance,
|
|
37
|
+
appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
|
|
38
|
+
_props$editable = props.editable,
|
|
39
|
+
editable = _props$editable === void 0 ? true : _props$editable,
|
|
40
|
+
_props$cleanable = props.cleanable,
|
|
41
|
+
cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
|
|
42
|
+
_props$character = props.character,
|
|
43
|
+
character = _props$character === void 0 ? ' ~ ' : _props$character,
|
|
44
|
+
defaultCalendarValue = props.defaultCalendarValue,
|
|
45
|
+
defaultValue = props.defaultValue,
|
|
46
|
+
disabled = props.disabled,
|
|
47
|
+
DEPRECATED_disabledDateProp = props.disabledDate,
|
|
48
|
+
shouldDisableDate = props.shouldDisableDate,
|
|
49
|
+
_props$format = props.format,
|
|
50
|
+
formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
|
|
51
|
+
hoverRange = props.hoverRange,
|
|
52
|
+
_props$isoWeek = props.isoWeek,
|
|
53
|
+
isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
|
|
54
|
+
_props$limitEndYear = props.limitEndYear,
|
|
55
|
+
limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,
|
|
56
|
+
limitStartYear = props.limitStartYear,
|
|
57
|
+
overrideLocale = props.locale,
|
|
58
|
+
menuClassName = props.menuClassName,
|
|
59
|
+
menuStyle = props.menuStyle,
|
|
60
|
+
oneTap = props.oneTap,
|
|
61
|
+
_props$placeholder = props.placeholder,
|
|
62
|
+
placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,
|
|
63
|
+
_props$placement = props.placement,
|
|
64
|
+
placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
|
|
65
|
+
ranges = props.ranges,
|
|
66
|
+
renderValue = props.renderValue,
|
|
67
|
+
_props$showOneCalenda = props.showOneCalendar,
|
|
68
|
+
showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,
|
|
69
|
+
showWeekNumbers = props.showWeekNumbers,
|
|
70
|
+
showMeridian = props.showMeridian,
|
|
71
|
+
style = props.style,
|
|
72
|
+
toggleAs = props.toggleAs,
|
|
73
|
+
caretAs = props.caretAs,
|
|
74
|
+
valueProp = props.value,
|
|
75
|
+
onChange = props.onChange,
|
|
76
|
+
onClean = props.onClean,
|
|
77
|
+
onClose = props.onClose,
|
|
78
|
+
onEnter = props.onEnter,
|
|
79
|
+
onEntered = props.onEntered,
|
|
80
|
+
onExited = props.onExited,
|
|
81
|
+
onOk = props.onOk,
|
|
82
|
+
onOpen = props.onOpen,
|
|
83
|
+
onSelect = props.onSelect,
|
|
84
|
+
renderTitle = props.renderTitle,
|
|
85
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "isoWeek", "limitEndYear", "limitStartYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "renderTitle"]);
|
|
111
86
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
87
|
+
merge = _useClassNames.merge,
|
|
88
|
+
prefix = _useClassNames.prefix;
|
|
115
89
|
var _useCustom = (0, _utils.useCustom)('DateRangePicker', overrideLocale),
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
90
|
+
locale = _useCustom.locale,
|
|
91
|
+
formatDate = _useCustom.formatDate,
|
|
92
|
+
parseDate = _useCustom.parseDate;
|
|
120
93
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
121
|
-
|
|
122
94
|
var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
|
|
123
|
-
|
|
124
|
-
|
|
95
|
+
value = _useControlled[0],
|
|
96
|
+
setValue = _useControlled[1];
|
|
125
97
|
/**
|
|
126
98
|
* Whether to complete the selection.
|
|
127
99
|
* Everytime selection will change this value. If the value is false, it means that the selection has not been completed.
|
|
128
100
|
*
|
|
129
101
|
* In `oneTap` mode, select action will not change this value, its value should be true always.
|
|
130
102
|
*/
|
|
131
|
-
|
|
132
|
-
|
|
133
103
|
var _useState = (0, _react.useState)(true),
|
|
134
|
-
|
|
135
|
-
|
|
104
|
+
isSelectedIdle = _useState[0],
|
|
105
|
+
setSelectedIdle = _useState[1];
|
|
136
106
|
/**
|
|
137
107
|
* The currently selected date range.
|
|
138
108
|
*
|
|
@@ -141,93 +111,80 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
141
111
|
* the second click to determine the end date of the date range.
|
|
142
112
|
*
|
|
143
113
|
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
114
|
var _useState2 = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
115
|
+
selectedDates = _useState2[0],
|
|
116
|
+
setSelectedDates = _useState2[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
|
|
151
117
|
var _useState3 = (0, _react.useState)(null),
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
118
|
+
hoverDateRange = _useState3[0],
|
|
119
|
+
setHoverDateRange = _useState3[1]; // The displayed calendar panel is rendered based on this value.
|
|
156
120
|
var _useState4 = (0, _react.useState)((0, _utils2.getSafeCalendarDate)({
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
121
|
+
value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
122
|
+
})),
|
|
123
|
+
calendarDate = _useState4[0],
|
|
124
|
+
setCalendarDate = _useState4[1];
|
|
162
125
|
var _useState5 = (0, _react.useState)(),
|
|
163
|
-
|
|
164
|
-
|
|
126
|
+
inputState = _useState5[0],
|
|
127
|
+
setInputState = _useState5[1];
|
|
165
128
|
/**
|
|
166
129
|
* When hoverRange is set, `selectValue` will be updated during the hover process,
|
|
167
130
|
* which will cause the `selectValue` to be updated after the first click,
|
|
168
131
|
* so declare a Ref to temporarily store the `selectValue` of the first click.
|
|
169
132
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
133
|
var selectRangeValueRef = (0, _react.useRef)(null);
|
|
134
|
+
|
|
173
135
|
/**
|
|
174
136
|
* Get the time on the calendar.
|
|
175
137
|
*/
|
|
176
|
-
|
|
177
138
|
var getCalendarDatetime = (0, _react.useCallback)(function (calendarKey) {
|
|
178
139
|
var index = calendarKey === 'start' ? 0 : 1;
|
|
179
140
|
return (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);
|
|
180
141
|
}, [calendarDate, defaultCalendarValue]);
|
|
142
|
+
|
|
181
143
|
/**
|
|
182
144
|
* Call this function to update the calendar panel rendering benchmark value.
|
|
183
145
|
* If params `value` is not passed, it defaults to [new Date(), addMonth(new Date(), 1)].
|
|
184
146
|
*/
|
|
185
|
-
|
|
186
147
|
var updateCalendarDateRange = (0, _react.useCallback)(function (_ref3) {
|
|
187
148
|
var dateRange = _ref3.dateRange,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
var nextValue = dateRange;
|
|
149
|
+
calendarKey = _ref3.calendarKey,
|
|
150
|
+
eventName = _ref3.eventName;
|
|
151
|
+
var nextValue = dateRange;
|
|
191
152
|
|
|
153
|
+
// The time should remain the same when the dates in the date range are changed.
|
|
192
154
|
if ((0, _dateUtils.shouldRenderTime)(formatStr) && dateRange !== null && dateRange !== void 0 && dateRange.length && eventName !== 'changeTime') {
|
|
193
155
|
var _startDate = (0, _dateUtils.copyTime)({
|
|
194
156
|
from: getCalendarDatetime('start'),
|
|
195
157
|
to: dateRange[0]
|
|
196
158
|
});
|
|
197
|
-
|
|
198
159
|
var _endDate = (0, _dateUtils.copyTime)({
|
|
199
160
|
from: getCalendarDatetime('end'),
|
|
200
161
|
to: dateRange.length === 1 ? (0, _dateUtils.addMonths)(_startDate, 1) : dateRange[1]
|
|
201
162
|
});
|
|
202
|
-
|
|
203
163
|
nextValue = [_startDate, _endDate];
|
|
204
164
|
} else if (dateRange === null && typeof defaultCalendarValue !== 'undefined') {
|
|
205
165
|
// Make the calendar render the value of defaultCalendarValue after clearing the value.
|
|
206
166
|
nextValue = defaultCalendarValue;
|
|
207
167
|
}
|
|
208
|
-
|
|
209
168
|
setCalendarDate((0, _utils2.getSafeCalendarDate)({
|
|
210
169
|
value: nextValue,
|
|
211
170
|
calendarKey: calendarKey
|
|
212
171
|
}));
|
|
213
|
-
}, [formatStr, defaultCalendarValue, getCalendarDatetime]);
|
|
172
|
+
}, [formatStr, defaultCalendarValue, getCalendarDatetime]);
|
|
214
173
|
|
|
174
|
+
// if valueProp changed then update selectValue/hoverValue
|
|
215
175
|
(0, _react.useEffect)(function () {
|
|
216
176
|
setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
|
|
217
177
|
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
218
178
|
}, [valueProp]);
|
|
219
|
-
|
|
220
179
|
var _useState6 = (0, _react.useState)(false),
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
180
|
+
isPickerToggleActive = _useState6[0],
|
|
181
|
+
setPickerToggleActive = _useState6[1];
|
|
224
182
|
var rootRef = (0, _react.useRef)(null);
|
|
225
183
|
var overlayRef = (0, _react.useRef)(null);
|
|
226
184
|
var targetRef = (0, _react.useRef)(null);
|
|
227
185
|
var triggerRef = (0, _react.useRef)(null);
|
|
228
186
|
var handleCloseDropdown = (0, _react.useCallback)(function () {
|
|
229
187
|
var _triggerRef$current, _triggerRef$current$c;
|
|
230
|
-
|
|
231
188
|
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);
|
|
232
189
|
}, []);
|
|
233
190
|
(0, _Picker.usePublicMethods)(ref, {
|
|
@@ -238,17 +195,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
238
195
|
});
|
|
239
196
|
var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {
|
|
240
197
|
var _nextValue$, _nextValue$2;
|
|
241
|
-
|
|
242
198
|
var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;
|
|
243
199
|
var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;
|
|
244
|
-
|
|
245
200
|
if (startDate && endDate) {
|
|
246
201
|
var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);
|
|
247
|
-
|
|
248
202
|
if (isPlaintext) {
|
|
249
203
|
return formatDate(displayValue[0], formatStr) + character + formatDate(displayValue[1], formatStr);
|
|
250
204
|
}
|
|
251
|
-
|
|
252
205
|
return renderValue ? renderValue(displayValue, formatStr) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {
|
|
253
206
|
date: displayValue[0],
|
|
254
207
|
formatStr: formatStr
|
|
@@ -257,13 +210,12 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
257
210
|
formatStr: formatStr
|
|
258
211
|
}));
|
|
259
212
|
}
|
|
260
|
-
|
|
261
213
|
return isPlaintext ? '' : placeholder || rangeFormatStr;
|
|
262
214
|
}, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);
|
|
215
|
+
|
|
263
216
|
/**
|
|
264
217
|
* preset hover range
|
|
265
218
|
*/
|
|
266
|
-
|
|
267
219
|
var getHoverRangeValue = (0, _react.useCallback)(function (date) {
|
|
268
220
|
function getHoverRangeFunc() {
|
|
269
221
|
if (hoverRange === 'week') {
|
|
@@ -271,94 +223,86 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
271
223
|
} else if (hoverRange === 'month') {
|
|
272
224
|
return _utils2.getMonthHoverRange;
|
|
273
225
|
}
|
|
274
|
-
|
|
275
226
|
return hoverRange;
|
|
276
227
|
}
|
|
277
|
-
|
|
278
228
|
var hoverRangeFunc = getHoverRangeFunc();
|
|
279
|
-
|
|
280
229
|
if ((0, _isNil.default)(hoverRangeFunc)) {
|
|
281
230
|
return null;
|
|
282
231
|
}
|
|
283
|
-
|
|
284
232
|
var hoverValues = hoverRangeFunc(date);
|
|
285
233
|
var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;
|
|
286
|
-
|
|
287
234
|
if (!isHoverRangeValid) {
|
|
288
235
|
return null;
|
|
289
236
|
}
|
|
290
|
-
|
|
291
237
|
if ((0, _dateUtils.isAfter)(hoverValues[0], hoverValues[1])) {
|
|
292
238
|
hoverValues = (0, _dateUtils.reverseDateRangeOmitTime)(hoverValues);
|
|
293
239
|
}
|
|
294
|
-
|
|
295
240
|
return hoverValues;
|
|
296
241
|
}, [hoverRange, isoWeek]);
|
|
297
242
|
var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {
|
|
298
243
|
if (closeOverlay === void 0) {
|
|
299
244
|
closeOverlay = true;
|
|
300
245
|
}
|
|
301
|
-
|
|
302
246
|
// If nextValue is null, it means that the user is erasing the selected dates.
|
|
303
247
|
setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
|
|
304
|
-
|
|
305
248
|
if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {
|
|
306
249
|
setValue(nextValue);
|
|
307
250
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
308
|
-
}
|
|
309
|
-
|
|
251
|
+
}
|
|
310
252
|
|
|
253
|
+
// `closeOverlay` default value is `true`
|
|
311
254
|
if (closeOverlay !== false) {
|
|
312
255
|
handleCloseDropdown();
|
|
313
256
|
}
|
|
314
257
|
}, [formatStr, handleCloseDropdown, onChange, setValue, value]);
|
|
258
|
+
|
|
315
259
|
/**
|
|
316
260
|
* Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
|
|
317
261
|
* The MouseMove event is called between the first click and the second click to update the selection state.
|
|
318
262
|
*/
|
|
319
|
-
|
|
320
263
|
var handleMouseMove = (0, _react.useCallback)(function (date) {
|
|
321
|
-
var nextHoverDateRange = getHoverRangeValue(date);
|
|
264
|
+
var nextHoverDateRange = getHoverRangeValue(date);
|
|
265
|
+
|
|
266
|
+
// If hasDoneSelect is false,
|
|
322
267
|
// it means there's already one selected date
|
|
323
268
|
// and waiting for user to select the second date to complete the selection.
|
|
324
|
-
|
|
325
269
|
if (!isSelectedIdle) {
|
|
326
270
|
// If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules
|
|
327
271
|
if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {
|
|
328
272
|
var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];
|
|
329
|
-
|
|
330
273
|
if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {
|
|
331
274
|
nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];
|
|
332
275
|
}
|
|
333
|
-
|
|
334
276
|
setSelectedDates(nextSelectedDates);
|
|
335
277
|
} else {
|
|
336
278
|
setHoverDateRange(function (prevHoverValue) {
|
|
337
279
|
return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];
|
|
338
280
|
});
|
|
339
|
-
}
|
|
281
|
+
}
|
|
340
282
|
|
|
283
|
+
// Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated
|
|
341
284
|
} else if (!(0, _isNil.default)(nextHoverDateRange)) {
|
|
342
285
|
setHoverDateRange(nextHoverDateRange);
|
|
343
286
|
}
|
|
344
287
|
}, [getHoverRangeValue, isSelectedIdle]);
|
|
288
|
+
|
|
345
289
|
/**
|
|
346
290
|
* Callback for selecting a date cell in the calendar grid
|
|
347
291
|
*/
|
|
348
|
-
|
|
349
292
|
var handleSelectDate = (0, _react.useCallback)(function (index, date, event) {
|
|
350
293
|
var calendarKey = index === 0 ? 'start' : 'end';
|
|
351
294
|
var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
|
|
352
295
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
353
|
-
var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue);
|
|
296
|
+
var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue);
|
|
354
297
|
|
|
298
|
+
// in `oneTap` mode
|
|
355
299
|
if (isSelectedIdle && oneTap) {
|
|
356
300
|
handleValueUpdate(event, noHoverRangeValid ? [(0, _dateUtils.startOfDay)(date), (0, _dateUtils.endOfDay)(date)] : hoverRangeValue);
|
|
357
301
|
setSelectedIdle(false);
|
|
358
302
|
return;
|
|
359
|
-
}
|
|
360
|
-
|
|
303
|
+
}
|
|
361
304
|
|
|
305
|
+
// no preset hover range can use
|
|
362
306
|
if (noHoverRangeValid) {
|
|
363
307
|
// start select
|
|
364
308
|
if (isSelectedIdle) {
|
|
@@ -376,13 +320,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
376
320
|
selectRangeValueRef.current = hoverRangeValue;
|
|
377
321
|
}
|
|
378
322
|
}
|
|
379
|
-
|
|
380
323
|
if (nextSelectDates.length === 2) {
|
|
381
324
|
// If user have completed the selection, then sort the selected dates.
|
|
382
325
|
if ((0, _dateUtils.isAfter)(nextSelectDates[0], nextSelectDates[1])) {
|
|
383
326
|
nextSelectDates = (0, _dateUtils.reverseDateRangeOmitTime)(nextSelectDates);
|
|
384
327
|
}
|
|
385
|
-
|
|
386
328
|
if ((0, _dateUtils.shouldRenderTime)(formatStr)) {
|
|
387
329
|
nextSelectDates = [(0, _dateUtils.copyTime)({
|
|
388
330
|
from: getCalendarDatetime('start'),
|
|
@@ -392,12 +334,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
392
334
|
to: nextSelectDates[1]
|
|
393
335
|
})];
|
|
394
336
|
}
|
|
395
|
-
|
|
396
337
|
setHoverDateRange(nextSelectDates);
|
|
397
338
|
} else {
|
|
398
339
|
setHoverDateRange([nextSelectDates[0], nextSelectDates[0]]);
|
|
399
340
|
}
|
|
400
|
-
|
|
401
341
|
setSelectedDates(nextSelectDates);
|
|
402
342
|
updateCalendarDateRange({
|
|
403
343
|
dateRange: nextSelectDates,
|
|
@@ -407,12 +347,12 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
407
347
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
408
348
|
setSelectedIdle(!isSelectedIdle);
|
|
409
349
|
}, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, isSelectedIdle, onSelect, oneTap, selectedDates, updateCalendarDateRange]);
|
|
350
|
+
|
|
410
351
|
/**
|
|
411
352
|
* If `selectValue` changed, there will be the following effects.
|
|
412
353
|
* 1. Check if the selection is completed.
|
|
413
354
|
* 2. if the selection is completed, set the temporary `hoverValue` empty.
|
|
414
355
|
*/
|
|
415
|
-
|
|
416
356
|
(0, _react.useEffect)(function () {
|
|
417
357
|
var selectValueLength = selectedDates.length;
|
|
418
358
|
var doneSelected = selectValueLength === 0 || selectValueLength === 2;
|
|
@@ -438,8 +378,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
438
378
|
eventName: 'changeTime'
|
|
439
379
|
});
|
|
440
380
|
setSelectedDates(function (prev) {
|
|
441
|
-
var next = [].concat(prev);
|
|
381
|
+
var next = [].concat(prev);
|
|
442
382
|
|
|
383
|
+
// if next[index] is not empty, only update the time after aligning the year, month and day
|
|
443
384
|
next[index] = next[index] ? (0, _dateUtils.copyTime)({
|
|
444
385
|
from: date,
|
|
445
386
|
to: next[index]
|
|
@@ -447,41 +388,40 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
447
388
|
return next;
|
|
448
389
|
});
|
|
449
390
|
}, [calendarDate, updateCalendarDateRange]);
|
|
391
|
+
|
|
450
392
|
/**
|
|
451
393
|
* The callback triggered when PM/AM is switched.
|
|
452
394
|
*/
|
|
453
|
-
|
|
454
395
|
var handleToggleMeridian = (0, _react.useCallback)(function (index) {
|
|
455
396
|
var nextCalendarDate = Array.from(calendarDate);
|
|
456
397
|
nextCalendarDate[index] = (0, _dateUtils.getReversedTimeMeridian)(nextCalendarDate[index]);
|
|
457
|
-
setCalendarDate(nextCalendarDate);
|
|
398
|
+
setCalendarDate(nextCalendarDate);
|
|
458
399
|
|
|
400
|
+
// If the value already exists, update the value again.
|
|
459
401
|
if (selectedDates.length === 2) {
|
|
460
402
|
var nextSelectedDates = Array.from(selectedDates);
|
|
461
403
|
nextSelectedDates[index] = (0, _dateUtils.getReversedTimeMeridian)(nextSelectedDates[index]);
|
|
462
404
|
setSelectedDates(nextSelectedDates);
|
|
463
405
|
}
|
|
464
406
|
}, [calendarDate, selectedDates]);
|
|
407
|
+
|
|
465
408
|
/**
|
|
466
409
|
* Toolbar operation callback function
|
|
467
410
|
*/
|
|
468
|
-
|
|
469
411
|
var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {
|
|
470
412
|
if (closeOverlay === void 0) {
|
|
471
413
|
closeOverlay = false;
|
|
472
414
|
}
|
|
473
|
-
|
|
474
415
|
updateCalendarDateRange({
|
|
475
416
|
dateRange: value
|
|
476
417
|
});
|
|
477
|
-
|
|
478
418
|
if (closeOverlay) {
|
|
479
419
|
handleValueUpdate(event, value, closeOverlay);
|
|
480
420
|
} else {
|
|
481
421
|
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
482
|
-
}
|
|
483
|
-
|
|
422
|
+
}
|
|
484
423
|
|
|
424
|
+
// End unfinished selections.
|
|
485
425
|
setSelectedIdle(true);
|
|
486
426
|
}, [handleValueUpdate, updateCalendarDateRange]);
|
|
487
427
|
var handleOK = (0, _react.useCallback)(function (event) {
|
|
@@ -494,15 +434,16 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
494
434
|
});
|
|
495
435
|
handleValueUpdate(event, null);
|
|
496
436
|
}, [handleValueUpdate, updateCalendarDateRange]);
|
|
437
|
+
|
|
497
438
|
/**
|
|
498
439
|
* Callback after the input box value is changed.
|
|
499
440
|
*/
|
|
500
|
-
|
|
501
441
|
var handleInputChange = (0, _react.useCallback)(function (value) {
|
|
502
442
|
setInputState('Typing');
|
|
503
|
-
var rangeValue = value.split(character);
|
|
504
|
-
// isMatch('2020-11-01', 'MM/dd/yyyy') ==> false
|
|
443
|
+
var rangeValue = value.split(character);
|
|
505
444
|
|
|
445
|
+
// isMatch('01/11/2020', 'MM/dd/yyyy') ==> true
|
|
446
|
+
// isMatch('2020-11-01', 'MM/dd/yyyy') ==> false
|
|
506
447
|
if (!_utils.DateUtils.isMatch(rangeValue[0], formatStr, {
|
|
507
448
|
locale: locale.dateLocale
|
|
508
449
|
}) || !_utils.DateUtils.isMatch(rangeValue[1], formatStr, {
|
|
@@ -511,45 +452,40 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
511
452
|
setInputState('Error');
|
|
512
453
|
return;
|
|
513
454
|
}
|
|
514
|
-
|
|
515
455
|
var startDate = parseDate(rangeValue[0], formatStr);
|
|
516
456
|
var endDate = parseDate(rangeValue[1], formatStr);
|
|
517
457
|
var selectValue = [startDate, endDate];
|
|
518
|
-
|
|
519
458
|
if (!_utils.DateUtils.isValid(startDate) || !_utils.DateUtils.isValid(endDate)) {
|
|
520
459
|
setInputState('Error');
|
|
521
460
|
return;
|
|
522
461
|
}
|
|
523
|
-
|
|
524
462
|
if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {
|
|
525
463
|
setInputState('Error');
|
|
526
464
|
return;
|
|
527
465
|
}
|
|
528
|
-
|
|
529
466
|
setHoverDateRange(selectValue);
|
|
530
467
|
setSelectedDates(selectValue);
|
|
531
468
|
updateCalendarDateRange({
|
|
532
469
|
dateRange: selectValue
|
|
533
470
|
});
|
|
534
|
-
},
|
|
471
|
+
},
|
|
472
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
535
473
|
[character, rangeFormatStr, updateCalendarDateRange]);
|
|
474
|
+
|
|
536
475
|
/**
|
|
537
476
|
* The callback after the enter key is triggered on the input
|
|
538
477
|
*/
|
|
539
|
-
|
|
540
478
|
var handleInputPressEnd = (0, _react.useCallback)(function (event) {
|
|
541
479
|
if (inputState === 'Typing') {
|
|
542
480
|
handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
|
|
543
481
|
}
|
|
544
|
-
|
|
545
482
|
setInputState('Initial');
|
|
546
483
|
}, [handleValueUpdate, selectedDates, inputState]);
|
|
547
484
|
var handleEnter = (0, _react.useCallback)(function () {
|
|
548
485
|
var nextCalendarDate;
|
|
549
|
-
|
|
550
486
|
if (value && value.length) {
|
|
551
487
|
var _startDate2 = value[0],
|
|
552
|
-
|
|
488
|
+
endData = value[1];
|
|
553
489
|
nextCalendarDate = [_startDate2, (0, _dateUtils.isSameMonth)(_startDate2, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];
|
|
554
490
|
} else {
|
|
555
491
|
// Reset the date on the calendar to the default date
|
|
@@ -557,7 +493,6 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
557
493
|
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
558
494
|
});
|
|
559
495
|
}
|
|
560
|
-
|
|
561
496
|
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
562
497
|
updateCalendarDateRange({
|
|
563
498
|
dateRange: nextCalendarDate
|
|
@@ -576,11 +511,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
576
511
|
if (typeof shouldDisableDate === 'function') {
|
|
577
512
|
return shouldDisableDate(date, selectDate, selectedDone, target);
|
|
578
513
|
}
|
|
579
|
-
|
|
580
514
|
if (typeof DEPRECATED_disabledDateProp === 'function') {
|
|
581
515
|
return DEPRECATED_disabledDateProp(date, selectDate, selectedDone, target);
|
|
582
516
|
}
|
|
583
|
-
|
|
584
517
|
return false;
|
|
585
518
|
}, [DEPRECATED_disabledDateProp, shouldDisableDate]);
|
|
586
519
|
var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {
|
|
@@ -590,35 +523,28 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
590
523
|
if (isDateDisabled(start, selectedDates, isSelectedIdle, type)) {
|
|
591
524
|
return true;
|
|
592
525
|
}
|
|
593
|
-
|
|
594
526
|
start = _utils.DateUtils.addDays(start, 1);
|
|
595
527
|
}
|
|
596
|
-
|
|
597
528
|
return false;
|
|
598
529
|
}, [isDateDisabled, isSelectedIdle, selectedDates]);
|
|
599
530
|
var disabledOkButton = (0, _react.useCallback)(function () {
|
|
600
531
|
var start = selectedDates[0],
|
|
601
|
-
|
|
602
|
-
|
|
532
|
+
end = selectedDates[1];
|
|
603
533
|
if (!start || !end || !isSelectedIdle) {
|
|
604
534
|
return true;
|
|
605
535
|
}
|
|
606
|
-
|
|
607
536
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
608
537
|
}, [disabledByBetween, isSelectedIdle, selectedDates]);
|
|
609
538
|
var disabledShortcutButton = (0, _react.useCallback)(function (value) {
|
|
610
539
|
if (value === void 0) {
|
|
611
540
|
value = [];
|
|
612
541
|
}
|
|
613
|
-
|
|
614
542
|
var _value = value,
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
543
|
+
start = _value[0],
|
|
544
|
+
end = _value[1];
|
|
618
545
|
if (!start || !end) {
|
|
619
546
|
return true;
|
|
620
547
|
}
|
|
621
|
-
|
|
622
548
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
623
549
|
}, [disabledByBetween]);
|
|
624
550
|
var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {
|
|
@@ -630,11 +556,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
630
556
|
active: isPickerToggleActive,
|
|
631
557
|
onExit: handleClean
|
|
632
558
|
}, rest));
|
|
633
|
-
|
|
634
559
|
var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
|
|
635
560
|
var left = positionProps.left,
|
|
636
|
-
|
|
637
|
-
|
|
561
|
+
top = positionProps.top,
|
|
562
|
+
className = positionProps.className;
|
|
638
563
|
var classes = merge(className, menuClassName, prefix('daterange-menu'));
|
|
639
564
|
var panelClasses = prefix('daterange-panel', {
|
|
640
565
|
'daterange-panel-show-one-calendar': showOneCalendar
|
|
@@ -712,19 +637,16 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
712
637
|
ranges: bottomRanges
|
|
713
638
|
})))));
|
|
714
639
|
};
|
|
715
|
-
|
|
716
640
|
var hasValue = !(0, _isNil.default)(value) && value.length > 1;
|
|
717
|
-
|
|
718
641
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
642
|
+
classPrefix: classPrefix,
|
|
643
|
+
name: 'daterange',
|
|
644
|
+
appearance: appearance,
|
|
645
|
+
hasValue: hasValue,
|
|
646
|
+
cleanable: cleanable
|
|
647
|
+
})),
|
|
648
|
+
classes = _usePickerClassName[0],
|
|
649
|
+
usedClassNamePropKeys = _usePickerClassName[1];
|
|
728
650
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
729
651
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
730
652
|
ref: triggerRef,
|
|
@@ -758,7 +680,6 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
758
680
|
caretAs: caretAs || _Calendar.default
|
|
759
681
|
}), getDisplayString(value))));
|
|
760
682
|
});
|
|
761
|
-
|
|
762
683
|
DateRangePicker.after = disabledDateUtils.after;
|
|
763
684
|
DateRangePicker.afterToday = disabledDateUtils.afterToday;
|
|
764
685
|
DateRangePicker.allowedDays = disabledDateUtils.allowedDays;
|