rsuite 5.2.1 → 5.3.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/Avatar/styles/index.less +2 -2
- package/AvatarGroup/package.json +7 -0
- package/AvatarGroup/styles/index.less +19 -0
- package/Button/styles/index.less +6 -0
- package/ButtonGroup/styles/index.less +0 -18
- package/CHANGELOG.md +49 -0
- package/CheckTreePicker/styles/index.less +14 -1
- package/PanelGroup/styles/index.less +12 -12
- package/Table/styles/index.less +0 -4
- package/TreePicker/styles/index.less +10 -0
- package/cjs/@types/common.d.ts +9 -8
- package/cjs/@types/utils.d.ts +12 -0
- package/cjs/Affix/Affix.js +5 -5
- package/cjs/Animation/Transition.d.ts +21 -12
- package/cjs/Animation/Transition.js +4 -1
- package/cjs/AutoComplete/AutoComplete.js +1 -1
- package/cjs/AutoComplete/utils.d.ts +1 -1
- package/cjs/Avatar/Avatar.js +10 -3
- package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
- package/cjs/AvatarGroup/AvatarGroup.js +71 -0
- package/cjs/AvatarGroup/index.d.ts +3 -0
- package/cjs/AvatarGroup/index.js +11 -0
- package/cjs/Breadcrumb/Breadcrumb.js +1 -1
- package/cjs/Button/Button.js +8 -2
- package/cjs/ButtonGroup/ButtonGroup.js +8 -2
- package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
- package/cjs/ButtonGroup/index.d.ts +2 -0
- package/cjs/ButtonGroup/index.js +3 -0
- package/cjs/Calendar/Calendar.d.ts +4 -4
- package/cjs/Calendar/Calendar.js +5 -2
- package/cjs/Calendar/CalendarContext.js +1 -1
- package/cjs/Calendar/TableRow.js +1 -1
- package/cjs/Calendar/TimeDropdown.js +6 -5
- package/cjs/Calendar/types.d.ts +2 -2
- package/cjs/Calendar/useCalendarDate.d.ts +2 -2
- package/cjs/Carousel/Carousel.d.ts +2 -2
- package/cjs/Carousel/Carousel.js +1 -1
- package/cjs/Cascader/Cascader.d.ts +1 -1
- package/cjs/Cascader/Cascader.js +10 -10
- package/cjs/Cascader/DropdownMenu.d.ts +5 -4
- package/cjs/Cascader/utils.d.ts +3 -3
- package/cjs/CheckPicker/CheckPicker.js +4 -4
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
- package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
- package/cjs/CheckTreePicker/utils.d.ts +3 -1
- package/cjs/CheckTreePicker/utils.js +12 -10
- package/cjs/Checkbox/Checkbox.d.ts +1 -1
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
- package/cjs/DOMHelper/index.d.ts +12 -12
- package/cjs/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/DatePicker/DatePicker.js +15 -9
- package/cjs/DatePicker/Toolbar.d.ts +12 -9
- package/cjs/DatePicker/Toolbar.js +6 -8
- package/cjs/DatePicker/types.d.ts +4 -4
- package/cjs/DatePicker/utils.d.ts +4 -3
- package/cjs/DateRangePicker/Calendar.d.ts +9 -7
- package/cjs/DateRangePicker/Calendar.js +27 -6
- package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
- package/cjs/DateRangePicker/DateRangePicker.js +126 -107
- package/cjs/DateRangePicker/types.d.ts +2 -1
- package/cjs/DateRangePicker/utils.d.ts +6 -6
- package/cjs/DateRangePicker/utils.js +7 -2
- package/cjs/Disclosure/Disclosure.js +4 -2
- package/cjs/Disclosure/DisclosureButton.js +9 -7
- package/cjs/Disclosure/DisclosureContent.js +4 -6
- package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
- package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
- package/cjs/Disclosure/useDisclosureContext.js +20 -0
- package/cjs/Dropdown/Dropdown.d.ts +1 -1
- package/cjs/Dropdown/DropdownContext.d.ts +2 -2
- package/cjs/Dropdown/DropdownItem.js +3 -2
- package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
- package/cjs/Dropdown/DropdownState.d.ts +1 -1
- package/cjs/Dropdown/DropdownToggle.js +2 -1
- package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/cjs/Form/Form.js +1 -1
- package/cjs/Form/FormContext.d.ts +1 -1
- package/cjs/FormControl/FormControl.d.ts +1 -1
- package/cjs/FormControl/FormControl.js +5 -4
- package/cjs/FormGroup/FormGroup.d.ts +1 -1
- package/cjs/Input/Input.d.ts +3 -2
- package/cjs/InputGroup/InputGroup.d.ts +1 -1
- package/cjs/InputNumber/InputNumber.js +6 -2
- package/cjs/InputPicker/InputAutosize.js +4 -4
- package/cjs/InputPicker/InputPicker.d.ts +2 -2
- package/cjs/InputPicker/InputPicker.js +16 -11
- package/cjs/List/ListContext.d.ts +1 -1
- package/cjs/List/ListContext.js +8 -1
- package/cjs/List/helper/AutoScroller.js +4 -2
- package/cjs/List/helper/useManager.d.ts +3 -3
- package/cjs/List/helper/useManager.js +1 -1
- package/cjs/List/helper/useSortHelper.d.ts +3 -3
- package/cjs/List/helper/useSortHelper.js +6 -4
- package/cjs/List/helper/utils.d.ts +2 -2
- package/cjs/MaskedInput/MaskedInput.d.ts +5 -42
- package/cjs/MaskedInput/MaskedInput.js +9 -63
- package/cjs/MaskedInput/TextMask.d.ts +43 -0
- package/cjs/MaskedInput/TextMask.js +80 -0
- package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
- package/cjs/MaskedInput/conformToMask.js +5 -4
- package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
- package/cjs/MaskedInput/utilities.d.ts +1 -1
- package/cjs/Menu/Menu.js +60 -41
- package/cjs/Menu/MenuContext.d.ts +1 -1
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +31 -23
- package/cjs/Menu/Menubar.js +8 -8
- package/cjs/Menu/useMenu.js +17 -7
- package/cjs/Modal/Modal.js +12 -6
- package/cjs/Modal/ModalContext.d.ts +2 -2
- package/cjs/Modal/utils.d.ts +1 -1
- package/cjs/Modal/utils.js +12 -15
- package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
- package/cjs/MultiCascader/MultiCascader.js +6 -6
- package/cjs/MultiCascader/utils.d.ts +14 -14
- package/cjs/Nav/Nav.d.ts +1 -1
- package/cjs/Nav/NavContext.d.ts +1 -1
- package/cjs/Nav/NavItem.d.ts +1 -1
- package/cjs/Navbar/Navbar.js +1 -1
- package/cjs/Navbar/NavbarItem.d.ts +1 -1
- package/cjs/Overlay/Modal.d.ts +2 -2
- package/cjs/Overlay/Modal.js +41 -31
- package/cjs/Overlay/ModalManager.d.ts +17 -8
- package/cjs/Overlay/ModalManager.js +11 -20
- package/cjs/Overlay/Overlay.d.ts +2 -2
- package/cjs/Overlay/Overlay.js +1 -1
- package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
- package/cjs/Overlay/OverlayTrigger.js +14 -6
- package/cjs/Overlay/Position.d.ts +3 -3
- package/cjs/Overlay/Position.js +21 -12
- package/cjs/Overlay/positionUtils.d.ts +1 -1
- package/cjs/Overlay/positionUtils.js +8 -8
- package/cjs/Pagination/Pagination.d.ts +1 -1
- package/cjs/Pagination/PaginationButton.d.ts +3 -3
- package/cjs/Pagination/PaginationGroup.js +5 -3
- package/cjs/Panel/Panel.d.ts +1 -1
- package/cjs/Panel/Panel.js +2 -2
- package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
- package/cjs/Picker/DropdownMenu.d.ts +8 -5
- package/cjs/Picker/DropdownMenu.js +5 -5
- package/cjs/Picker/PickerOverlay.js +4 -3
- package/cjs/Picker/PickerToggle.js +11 -8
- package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
- package/cjs/Picker/SearchBar.d.ts +1 -1
- package/cjs/Picker/SelectedElement.js +2 -1
- package/cjs/Picker/VirtualizedList.d.ts +29 -2
- package/cjs/Picker/propTypes.d.ts +2 -2
- package/cjs/Picker/utils.d.ts +17 -25
- package/cjs/Picker/utils.js +71 -46
- package/cjs/Placeholder/PlaceholderGrid.js +1 -1
- package/cjs/Plaintext/Plaintext.js +2 -1
- package/cjs/Radio/Radio.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
- package/cjs/RadioGroup/RadioGroup.js +3 -3
- package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
- package/cjs/RangeSlider/RangeSlider.js +6 -4
- package/cjs/Rate/Character.js +4 -2
- package/cjs/Rate/Rate.js +5 -2
- package/cjs/Ripple/Ripple.js +1 -1
- package/cjs/SelectPicker/SelectPicker.js +4 -4
- package/cjs/Sidenav/Node.d.ts +1 -1
- package/cjs/Sidenav/Sidenav.d.ts +4 -4
- package/cjs/Sidenav/Sidenav.js +5 -2
- package/cjs/Sidenav/SidenavDropdown.js +11 -8
- package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
- package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
- package/cjs/Sidenav/SidenavItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavItem.js +4 -0
- package/cjs/Slider/Graduated.d.ts +5 -5
- package/cjs/Slider/Handle.d.ts +1 -1
- package/cjs/Slider/Handle.js +10 -6
- package/cjs/Slider/Mark.d.ts +1 -1
- package/cjs/Slider/Slider.d.ts +1 -1
- package/cjs/Slider/Slider.js +2 -2
- package/cjs/Slider/utils.d.ts +2 -1
- package/cjs/Slider/utils.js +4 -5
- package/cjs/Steps/StepItem.js +2 -2
- package/cjs/TagInput/index.js +1 -1
- package/cjs/Toggle/Toggle.js +1 -1
- package/cjs/Tree/Tree.d.ts +3 -1
- package/cjs/TreePicker/TreeNode.js +6 -8
- package/cjs/TreePicker/TreePicker.js +36 -27
- package/cjs/Uploader/UploadFileItem.d.ts +1 -1
- package/cjs/Uploader/UploadFileItem.js +2 -2
- package/cjs/Uploader/UploadTrigger.d.ts +1 -1
- package/cjs/Uploader/UploadTrigger.js +2 -3
- package/cjs/Uploader/Uploader.d.ts +5 -5
- package/cjs/Uploader/Uploader.js +1 -2
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +5 -1
- package/cjs/locales/index.d.ts +3 -3
- package/cjs/toaster/ToastContainer.d.ts +1 -1
- package/cjs/toaster/ToastContainer.js +1 -1
- package/cjs/toaster/toaster.js +3 -1
- package/cjs/utils/BrowserDetection.js +1 -1
- package/cjs/utils/ReactChildren.d.ts +2 -2
- package/cjs/utils/ajaxUpload.d.ts +1 -1
- package/cjs/utils/ajaxUpload.js +5 -4
- package/cjs/utils/appendTooltip.d.ts +1 -1
- package/cjs/utils/constants.d.ts +4 -4
- package/cjs/utils/createChainedFunction.d.ts +1 -1
- package/cjs/utils/getDataGroupBy.d.ts +1 -1
- package/cjs/utils/mergeRefs.d.ts +2 -2
- package/cjs/utils/previewFile.d.ts +1 -1
- package/cjs/utils/propTypeChecker.d.ts +6 -2
- package/cjs/utils/propTypeChecker.js +7 -6
- package/cjs/utils/reactToString.d.ts +2 -1
- package/cjs/utils/statusIcons.d.ts +1 -1
- package/cjs/utils/stringToObject.d.ts +1 -1
- package/cjs/utils/treeUtils.d.ts +32 -29
- package/cjs/utils/treeUtils.js +46 -23
- package/cjs/utils/useControlled.d.ts +6 -1
- package/cjs/utils/useControlled.js +0 -8
- package/cjs/utils/useCustom.js +6 -4
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +11 -6
- package/cjs/utils/useFocus.d.ts +2 -2
- package/cjs/utils/usePortal.d.ts +1 -1
- package/cjs/utils/useRootClose.d.ts +2 -2
- package/cjs/utils/useTimeout.d.ts +1 -1
- package/cjs/utils/useTimeout.js +5 -3
- package/dist/rsuite-rtl.css +85 -165
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +85 -165
- package/dist/rsuite.js +468 -445
- 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.LICENSE.txt +9 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +9 -8
- package/esm/@types/utils.d.ts +12 -0
- package/esm/Affix/Affix.js +5 -5
- package/esm/Animation/Transition.d.ts +21 -12
- package/esm/Animation/Transition.js +4 -1
- package/esm/AutoComplete/AutoComplete.js +1 -1
- package/esm/AutoComplete/utils.d.ts +1 -1
- package/esm/Avatar/Avatar.js +7 -3
- package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
- package/esm/AvatarGroup/AvatarGroup.js +54 -0
- package/esm/AvatarGroup/index.d.ts +3 -0
- package/esm/AvatarGroup/index.js +2 -0
- package/esm/Breadcrumb/Breadcrumb.js +1 -1
- package/esm/Button/Button.js +6 -2
- package/esm/ButtonGroup/ButtonGroup.js +7 -2
- package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
- package/esm/ButtonGroup/index.d.ts +2 -0
- package/esm/ButtonGroup/index.js +2 -0
- package/esm/Calendar/Calendar.d.ts +4 -4
- package/esm/Calendar/Calendar.js +5 -2
- package/esm/Calendar/CalendarContext.js +1 -1
- package/esm/Calendar/TableRow.js +1 -1
- package/esm/Calendar/TimeDropdown.js +5 -4
- package/esm/Calendar/types.d.ts +2 -2
- package/esm/Calendar/useCalendarDate.d.ts +2 -2
- package/esm/Carousel/Carousel.d.ts +2 -2
- package/esm/Carousel/Carousel.js +1 -1
- package/esm/Cascader/Cascader.d.ts +1 -1
- package/esm/Cascader/Cascader.js +10 -10
- package/esm/Cascader/DropdownMenu.d.ts +5 -4
- package/esm/Cascader/utils.d.ts +3 -3
- package/esm/CheckPicker/CheckPicker.js +4 -4
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
- package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
- package/esm/CheckTreePicker/utils.d.ts +3 -1
- package/esm/CheckTreePicker/utils.js +12 -10
- package/esm/Checkbox/Checkbox.d.ts +1 -1
- package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/CustomProvider/CustomProvider.d.ts +31 -57
- package/esm/DOMHelper/index.d.ts +12 -12
- package/esm/DatePicker/DatePicker.d.ts +1 -1
- package/esm/DatePicker/DatePicker.js +14 -9
- package/esm/DatePicker/Toolbar.d.ts +12 -9
- package/esm/DatePicker/Toolbar.js +6 -8
- package/esm/DatePicker/types.d.ts +4 -4
- package/esm/DatePicker/utils.d.ts +4 -3
- package/esm/DateRangePicker/Calendar.d.ts +9 -7
- package/esm/DateRangePicker/Calendar.js +28 -6
- package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
- package/esm/DateRangePicker/DateRangePicker.js +124 -107
- package/esm/DateRangePicker/types.d.ts +2 -1
- package/esm/DateRangePicker/utils.d.ts +6 -6
- package/esm/DateRangePicker/utils.js +6 -2
- package/esm/Disclosure/Disclosure.js +4 -2
- package/esm/Disclosure/DisclosureButton.js +8 -7
- package/esm/Disclosure/DisclosureContent.js +5 -7
- package/esm/Disclosure/DisclosureContext.d.ts +2 -2
- package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
- package/esm/Disclosure/useDisclosureContext.js +11 -0
- package/esm/Dropdown/Dropdown.d.ts +1 -1
- package/esm/Dropdown/DropdownContext.d.ts +2 -2
- package/esm/Dropdown/DropdownItem.js +3 -2
- package/esm/Dropdown/DropdownMenu.d.ts +3 -3
- package/esm/Dropdown/DropdownState.d.ts +1 -1
- package/esm/Dropdown/DropdownToggle.js +2 -1
- package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/esm/Form/Form.js +1 -1
- package/esm/Form/FormContext.d.ts +1 -1
- package/esm/FormControl/FormControl.d.ts +1 -1
- package/esm/FormControl/FormControl.js +5 -4
- package/esm/FormGroup/FormGroup.d.ts +1 -1
- package/esm/Input/Input.d.ts +3 -2
- package/esm/InputGroup/InputGroup.d.ts +1 -1
- package/esm/InputNumber/InputNumber.js +6 -2
- package/esm/InputPicker/InputAutosize.js +4 -4
- package/esm/InputPicker/InputPicker.d.ts +2 -2
- package/esm/InputPicker/InputPicker.js +16 -11
- package/esm/List/ListContext.d.ts +1 -1
- package/esm/List/ListContext.js +7 -1
- package/esm/List/helper/AutoScroller.js +4 -2
- package/esm/List/helper/useManager.d.ts +3 -3
- package/esm/List/helper/useManager.js +1 -1
- package/esm/List/helper/useSortHelper.d.ts +3 -3
- package/esm/List/helper/useSortHelper.js +6 -4
- package/esm/List/helper/utils.d.ts +2 -2
- package/esm/MaskedInput/MaskedInput.d.ts +5 -42
- package/esm/MaskedInput/MaskedInput.js +9 -63
- package/esm/MaskedInput/TextMask.d.ts +43 -0
- package/esm/MaskedInput/TextMask.js +67 -0
- package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
- package/esm/MaskedInput/conformToMask.js +5 -4
- package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
- package/esm/MaskedInput/utilities.d.ts +1 -1
- package/esm/Menu/Menu.js +59 -43
- package/esm/Menu/MenuContext.d.ts +1 -1
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +30 -23
- package/esm/Menu/Menubar.js +7 -8
- package/esm/Menu/useMenu.js +17 -7
- package/esm/Modal/Modal.js +12 -6
- package/esm/Modal/ModalContext.d.ts +2 -2
- package/esm/Modal/utils.d.ts +1 -1
- package/esm/Modal/utils.js +11 -12
- package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
- package/esm/MultiCascader/MultiCascader.js +6 -6
- package/esm/MultiCascader/utils.d.ts +14 -14
- package/esm/Nav/Nav.d.ts +1 -1
- package/esm/Nav/NavContext.d.ts +1 -1
- package/esm/Nav/NavItem.d.ts +1 -1
- package/esm/Navbar/Navbar.js +1 -1
- package/esm/Navbar/NavbarItem.d.ts +1 -1
- package/esm/Overlay/Modal.d.ts +2 -2
- package/esm/Overlay/Modal.js +42 -32
- package/esm/Overlay/ModalManager.d.ts +17 -8
- package/esm/Overlay/ModalManager.js +11 -20
- package/esm/Overlay/Overlay.d.ts +2 -2
- package/esm/Overlay/Overlay.js +1 -1
- package/esm/Overlay/OverlayTrigger.d.ts +11 -11
- package/esm/Overlay/OverlayTrigger.js +14 -6
- package/esm/Overlay/Position.d.ts +3 -3
- package/esm/Overlay/Position.js +20 -11
- package/esm/Overlay/positionUtils.d.ts +1 -1
- package/esm/Overlay/positionUtils.js +6 -6
- package/esm/Pagination/Pagination.d.ts +1 -1
- package/esm/Pagination/PaginationButton.d.ts +3 -3
- package/esm/Pagination/PaginationGroup.js +5 -3
- package/esm/Panel/Panel.d.ts +1 -1
- package/esm/Panel/Panel.js +2 -2
- package/esm/PanelGroup/PanelGroup.d.ts +2 -2
- package/esm/Picker/DropdownMenu.d.ts +8 -5
- package/esm/Picker/DropdownMenu.js +5 -5
- package/esm/Picker/PickerOverlay.js +4 -3
- package/esm/Picker/PickerToggle.js +11 -8
- package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
- package/esm/Picker/SearchBar.d.ts +1 -1
- package/esm/Picker/SelectedElement.js +2 -1
- package/esm/Picker/VirtualizedList.d.ts +29 -2
- package/esm/Picker/propTypes.d.ts +2 -2
- package/esm/Picker/utils.d.ts +17 -25
- package/esm/Picker/utils.js +70 -46
- package/esm/Placeholder/PlaceholderGrid.js +1 -1
- package/esm/Plaintext/Plaintext.js +2 -1
- package/esm/Radio/Radio.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.d.ts +2 -2
- package/esm/RadioGroup/RadioGroup.js +3 -3
- package/esm/RangeSlider/RangeSlider.d.ts +2 -2
- package/esm/RangeSlider/RangeSlider.js +5 -4
- package/esm/Rate/Character.js +3 -2
- package/esm/Rate/Rate.js +4 -2
- package/esm/Ripple/Ripple.js +1 -1
- package/esm/SelectPicker/SelectPicker.js +4 -4
- package/esm/Sidenav/Node.d.ts +1 -1
- package/esm/Sidenav/Sidenav.d.ts +4 -4
- package/esm/Sidenav/Sidenav.js +5 -2
- package/esm/Sidenav/SidenavDropdown.js +11 -7
- package/esm/Sidenav/SidenavDropdownItem.js +11 -5
- package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
- package/esm/Sidenav/SidenavItem.d.ts +1 -1
- package/esm/Sidenav/SidenavItem.js +4 -0
- package/esm/Slider/Graduated.d.ts +5 -5
- package/esm/Slider/Handle.d.ts +1 -1
- package/esm/Slider/Handle.js +10 -6
- package/esm/Slider/Mark.d.ts +1 -1
- package/esm/Slider/Slider.d.ts +1 -1
- package/esm/Slider/Slider.js +2 -2
- package/esm/Slider/utils.d.ts +2 -1
- package/esm/Slider/utils.js +5 -2
- package/esm/Steps/StepItem.js +2 -2
- package/esm/TagInput/index.js +1 -1
- package/esm/Toggle/Toggle.js +1 -1
- package/esm/Tree/Tree.d.ts +3 -1
- package/esm/TreePicker/TreeNode.js +4 -7
- package/esm/TreePicker/TreePicker.js +35 -25
- package/esm/Uploader/UploadFileItem.d.ts +1 -1
- package/esm/Uploader/UploadFileItem.js +2 -2
- package/esm/Uploader/UploadTrigger.d.ts +1 -1
- package/esm/Uploader/UploadTrigger.js +2 -3
- package/esm/Uploader/Uploader.d.ts +5 -5
- package/esm/Uploader/Uploader.js +1 -2
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/locales/index.d.ts +3 -3
- package/esm/toaster/ToastContainer.d.ts +1 -1
- package/esm/toaster/ToastContainer.js +1 -1
- package/esm/toaster/toaster.js +3 -1
- package/esm/utils/BrowserDetection.js +1 -1
- package/esm/utils/ReactChildren.d.ts +2 -2
- package/esm/utils/ajaxUpload.d.ts +1 -1
- package/esm/utils/ajaxUpload.js +5 -4
- package/esm/utils/appendTooltip.d.ts +1 -1
- package/esm/utils/constants.d.ts +4 -4
- package/esm/utils/createChainedFunction.d.ts +1 -1
- package/esm/utils/getDataGroupBy.d.ts +1 -1
- package/esm/utils/mergeRefs.d.ts +2 -2
- package/esm/utils/previewFile.d.ts +1 -1
- package/esm/utils/propTypeChecker.d.ts +6 -2
- package/esm/utils/propTypeChecker.js +7 -6
- package/esm/utils/reactToString.d.ts +2 -1
- package/esm/utils/statusIcons.d.ts +1 -1
- package/esm/utils/stringToObject.d.ts +1 -1
- package/esm/utils/treeUtils.d.ts +32 -29
- package/esm/utils/treeUtils.js +45 -21
- package/esm/utils/useControlled.d.ts +6 -1
- package/esm/utils/useControlled.js +0 -8
- package/esm/utils/useCustom.js +6 -4
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +12 -5
- package/esm/utils/useFocus.d.ts +2 -2
- package/esm/utils/usePortal.d.ts +1 -1
- package/esm/utils/useRootClose.d.ts +2 -2
- package/esm/utils/useTimeout.d.ts +1 -1
- package/esm/utils/useTimeout.js +5 -3
- package/package.json +4 -4
- package/styles/index.less +1 -0
|
@@ -21,6 +21,14 @@ var _Calendar = _interopRequireWildcard(require("../Calendar/Calendar"));
|
|
|
21
21
|
|
|
22
22
|
var _utils = require("../utils");
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Omit the time in the date, which is used to compare and judge the date.
|
|
26
|
+
* eg: isAfter/isBefore
|
|
27
|
+
*/
|
|
28
|
+
function omitTime(date) {
|
|
29
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
30
|
+
}
|
|
31
|
+
|
|
24
32
|
var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
25
33
|
var _props$as = props.as,
|
|
26
34
|
Component = _props$as === void 0 ? _Calendar.default : _props$as,
|
|
@@ -34,10 +42,11 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
34
42
|
limitEndYear = props.limitEndYear,
|
|
35
43
|
onChangeCalendarDate = props.onChangeCalendarDate,
|
|
36
44
|
onChangeCalendarTime = props.onChangeCalendarTime,
|
|
45
|
+
onToggleMeridian = props.onToggleMeridian,
|
|
37
46
|
showOneCalendar = props.showOneCalendar,
|
|
38
47
|
_props$value = props.value,
|
|
39
48
|
value = _props$value === void 0 ? [] : _props$value,
|
|
40
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "calendarDate", "format", "disabledDate", "index", "limitEndYear", "onChangeCalendarDate", "onChangeCalendarTime", "showOneCalendar", "value"]);
|
|
49
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "calendarDate", "format", "disabledDate", "index", "limitEndYear", "onChangeCalendarDate", "onChangeCalendarTime", "onToggleMeridian", "showOneCalendar", "value"]);
|
|
41
50
|
|
|
42
51
|
var _useState = (0, _react.useState)(),
|
|
43
52
|
calendarState = _useState[0],
|
|
@@ -54,8 +63,11 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
54
63
|
setCalendarState(undefined);
|
|
55
64
|
}, [index, onChangeCalendarDate]);
|
|
56
65
|
var handleChangePageTime = (0, _react.useCallback)(function (nextPageDate) {
|
|
57
|
-
onChangeCalendarTime(index, nextPageDate);
|
|
66
|
+
onChangeCalendarTime === null || onChangeCalendarTime === void 0 ? void 0 : onChangeCalendarTime(index, nextPageDate);
|
|
58
67
|
}, [index, onChangeCalendarTime]);
|
|
68
|
+
var handleToggleMeridian = (0, _react.useCallback)(function (event) {
|
|
69
|
+
onToggleMeridian(index, event);
|
|
70
|
+
}, [index, onToggleMeridian]);
|
|
59
71
|
var toggleMonthDropdown = (0, _react.useCallback)(function () {
|
|
60
72
|
setCalendarState(calendarState === _Calendar.CalendarState.DROP_MONTH ? undefined : _Calendar.CalendarState.DROP_MONTH);
|
|
61
73
|
}, [calendarState]);
|
|
@@ -75,22 +87,30 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
75
87
|
onMoveBackward === null || onMoveBackward === void 0 ? void 0 : onMoveBackward((0, _dateUtils.addMonths)(getCalendarDate(), -1));
|
|
76
88
|
}, [getCalendarDate, onMoveBackward]);
|
|
77
89
|
var disabledBackward = (0, _react.useCallback)(function () {
|
|
78
|
-
|
|
79
|
-
|
|
90
|
+
// Do not disable the Backward button on the first calendar.
|
|
80
91
|
if (index === 0) {
|
|
81
92
|
return false;
|
|
82
93
|
}
|
|
83
94
|
|
|
95
|
+
var startDate = (0, _dateUtils.setDate)((0, _dateUtils.addMonths)(calendarDate[0], 1), 1);
|
|
96
|
+
var endDate = (0, _dateUtils.setDate)(omitTime(calendarDate[1]), 1);
|
|
97
|
+
var after = (0, _dateUtils.isAfter)(endDate, startDate);
|
|
84
98
|
return !after;
|
|
85
99
|
}, [calendarDate, index]);
|
|
86
100
|
var disabledForward = (0, _react.useCallback)(function () {
|
|
87
|
-
|
|
88
|
-
|
|
101
|
+
// If only one calendar is displayed, do not disable
|
|
102
|
+
if (showOneCalendar) {
|
|
103
|
+
return false;
|
|
104
|
+
} // Do not disable the Forward button on the second calendar.
|
|
105
|
+
|
|
89
106
|
|
|
90
107
|
if (index === 1) {
|
|
91
108
|
return false;
|
|
92
109
|
}
|
|
93
110
|
|
|
111
|
+
var startDate = (0, _dateUtils.setDate)((0, _dateUtils.addMonths)(omitTime(calendarDate[0]), 1), 1);
|
|
112
|
+
var endDate = (0, _dateUtils.setDate)(omitTime(calendarDate[1]), 1);
|
|
113
|
+
var after = (0, _dateUtils.isAfter)(endDate, startDate);
|
|
94
114
|
return !after;
|
|
95
115
|
}, [calendarDate, index, showOneCalendar]);
|
|
96
116
|
var disabledMonth = (0, _react.useCallback)(function (date) {
|
|
@@ -126,6 +146,7 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
126
146
|
onMoveForward: handleMoveForward,
|
|
127
147
|
onToggleMonthDropdown: toggleMonthDropdown,
|
|
128
148
|
onToggleTimeDropdown: toggleTimeDropdown,
|
|
149
|
+
onToggleMeridian: handleToggleMeridian,
|
|
129
150
|
calendarDate: getCalendarDate(),
|
|
130
151
|
ref: ref
|
|
131
152
|
}));
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FormControlBaseProps, PickerBaseProps } from '../@types/common';
|
|
3
3
|
import { PickerComponent } from '../Picker';
|
|
4
|
-
import { DisabledDateFunction, RangeType,
|
|
5
|
-
export interface DateRangePickerProps extends PickerBaseProps, FormControlBaseProps<
|
|
4
|
+
import { DisabledDateFunction, RangeType, DateRange } from './types';
|
|
5
|
+
export interface DateRangePickerProps extends PickerBaseProps, FormControlBaseProps<DateRange | null> {
|
|
6
6
|
/** Configure shortcut options */
|
|
7
7
|
ranges?: RangeType[];
|
|
8
8
|
/** Format date */
|
|
9
9
|
format?: string;
|
|
10
10
|
/** The date range that will be selected when you click on the date */
|
|
11
|
-
hoverRange?: 'week' | 'month' | ((date: Date) =>
|
|
11
|
+
hoverRange?: 'week' | 'month' | ((date: Date) => DateRange);
|
|
12
12
|
/** Whether to click once on selected date range,Can be used with hoverRange */
|
|
13
13
|
oneTap?: boolean;
|
|
14
14
|
/** ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day */
|
|
@@ -19,8 +19,10 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
|
|
|
19
19
|
showWeekNumbers?: boolean;
|
|
20
20
|
/** Show only one calendar select */
|
|
21
21
|
showOneCalendar?: boolean;
|
|
22
|
+
/** Meridian format */
|
|
23
|
+
showMeridian?: boolean;
|
|
22
24
|
/** Set default date for calendar */
|
|
23
|
-
defaultCalendarValue?:
|
|
25
|
+
defaultCalendarValue?: DateRange;
|
|
24
26
|
/** The character that separates two dates */
|
|
25
27
|
character?: string;
|
|
26
28
|
/** Disabled date */
|
|
@@ -28,11 +30,11 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
|
|
|
28
30
|
/** Called when the option is selected */
|
|
29
31
|
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
30
32
|
/** Called after clicking the OK button */
|
|
31
|
-
onOk?: (date:
|
|
33
|
+
onOk?: (date: DateRange, event: React.SyntheticEvent) => void;
|
|
32
34
|
/** Called when clean */
|
|
33
35
|
onClean?: (event: React.MouseEvent) => void;
|
|
34
36
|
/** Custom render value */
|
|
35
|
-
renderValue?: (value:
|
|
37
|
+
renderValue?: (value: DateRange, format: string) => React.ReactNode;
|
|
36
38
|
}
|
|
37
39
|
export interface DateRangePicker extends PickerComponent<DateRangePickerProps> {
|
|
38
40
|
/** Allow the maximum number of days specified, other dates are disabled */
|
|
@@ -13,7 +13,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
13
13
|
|
|
14
14
|
var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
17
17
|
|
|
18
18
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
19
19
|
|
|
@@ -42,7 +42,7 @@ var disabledDateUtils = _interopRequireWildcard(require("./disabledDateUtils"));
|
|
|
42
42
|
var _utils2 = require("./utils");
|
|
43
43
|
|
|
44
44
|
var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
45
|
-
var _ref, _merge;
|
|
45
|
+
var _ref, _ref2, _merge;
|
|
46
46
|
|
|
47
47
|
var _props$as = props.as,
|
|
48
48
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -62,7 +62,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
62
62
|
_props$format = props.format,
|
|
63
63
|
formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
|
|
64
64
|
hoverRange = props.hoverRange,
|
|
65
|
-
isoWeek = props.isoWeek,
|
|
65
|
+
_props$isoWeek = props.isoWeek,
|
|
66
|
+
isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
|
|
66
67
|
_props$limitEndYear = props.limitEndYear,
|
|
67
68
|
limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,
|
|
68
69
|
overrideLocale = props.locale,
|
|
@@ -78,6 +79,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
78
79
|
_props$showOneCalenda = props.showOneCalendar,
|
|
79
80
|
showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,
|
|
80
81
|
showWeekNumbers = props.showWeekNumbers,
|
|
82
|
+
showMeridian = props.showMeridian,
|
|
81
83
|
style = props.style,
|
|
82
84
|
toggleAs = props.toggleAs,
|
|
83
85
|
valueProp = props.value,
|
|
@@ -90,7 +92,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
90
92
|
onOk = props.onOk,
|
|
91
93
|
onOpen = props.onOpen,
|
|
92
94
|
onSelect = props.onSelect,
|
|
93
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "style", "toggleAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect"]);
|
|
95
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect"]);
|
|
94
96
|
|
|
95
97
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
96
98
|
merge = _useClassNames.merge,
|
|
@@ -103,7 +105,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
103
105
|
|
|
104
106
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
105
107
|
|
|
106
|
-
var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue :
|
|
108
|
+
var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
|
|
107
109
|
value = _useControlled[0],
|
|
108
110
|
setValue = _useControlled[1];
|
|
109
111
|
/**
|
|
@@ -125,17 +127,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
125
127
|
*/
|
|
126
128
|
|
|
127
129
|
var _useState = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
+
selectedDates = _useState[0],
|
|
131
|
+
setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
|
|
130
132
|
|
|
131
133
|
|
|
132
|
-
var _useState2 = (0, _react.useState)(
|
|
133
|
-
|
|
134
|
-
|
|
134
|
+
var _useState2 = (0, _react.useState)(null),
|
|
135
|
+
hoverDateRange = _useState2[0],
|
|
136
|
+
setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.
|
|
135
137
|
|
|
136
138
|
|
|
137
139
|
var _useState3 = (0, _react.useState)((0, _utils2.getCalendarDate)({
|
|
138
|
-
value: valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue
|
|
140
|
+
value: (_ref2 = valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
139
141
|
})),
|
|
140
142
|
calendarDate = _useState3[0],
|
|
141
143
|
setCalendarDate = _useState3[1];
|
|
@@ -163,18 +165,18 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
163
165
|
}, []); // if valueProp changed then update selectValue/hoverValue
|
|
164
166
|
|
|
165
167
|
(0, _react.useEffect)(function () {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
+
setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
|
|
169
|
+
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
168
170
|
}, [valueProp]);
|
|
169
171
|
|
|
170
172
|
var _useState5 = (0, _react.useState)(false),
|
|
171
173
|
isPickerToggleActive = _useState5[0],
|
|
172
174
|
setPickerToggleActive = _useState5[1];
|
|
173
175
|
|
|
174
|
-
var rootRef = (0, _react.useRef)();
|
|
175
|
-
var overlayRef = (0, _react.useRef)();
|
|
176
|
-
var targetRef = (0, _react.useRef)();
|
|
177
|
-
var triggerRef = (0, _react.useRef)();
|
|
176
|
+
var rootRef = (0, _react.useRef)(null);
|
|
177
|
+
var overlayRef = (0, _react.useRef)(null);
|
|
178
|
+
var targetRef = (0, _react.useRef)(null);
|
|
179
|
+
var triggerRef = (0, _react.useRef)(null);
|
|
178
180
|
var handleCloseDropdown = (0, _react.useCallback)(function () {
|
|
179
181
|
var _triggerRef$current, _triggerRef$current$c;
|
|
180
182
|
|
|
@@ -187,14 +189,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
187
189
|
rootRef: rootRef
|
|
188
190
|
});
|
|
189
191
|
var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {
|
|
190
|
-
var _nextValue
|
|
192
|
+
var _nextValue$, _nextValue$2;
|
|
191
193
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
var startDate = (_nextValue = nextValue) === null || _nextValue === void 0 ? void 0 : _nextValue[0];
|
|
197
|
-
var endDate = (_nextValue2 = nextValue) === null || _nextValue2 === void 0 ? void 0 : _nextValue2[1];
|
|
194
|
+
var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;
|
|
195
|
+
var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;
|
|
198
196
|
|
|
199
197
|
if (startDate && endDate) {
|
|
200
198
|
var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);
|
|
@@ -219,29 +217,27 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
219
217
|
*/
|
|
220
218
|
|
|
221
219
|
var getHoverRangeValue = (0, _react.useCallback)(function (date) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
220
|
+
function getHoverRangeFunc() {
|
|
221
|
+
if (hoverRange === 'week') {
|
|
222
|
+
return (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);
|
|
223
|
+
} else if (hoverRange === 'month') {
|
|
224
|
+
return _utils2.getMonthHoverRange;
|
|
225
|
+
}
|
|
227
226
|
|
|
228
|
-
|
|
229
|
-
hoverRangeFunc = (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);
|
|
227
|
+
return hoverRange;
|
|
230
228
|
}
|
|
231
229
|
|
|
232
|
-
|
|
233
|
-
hoverRangeFunc = _utils2.getMonthHoverRange;
|
|
234
|
-
}
|
|
230
|
+
var hoverRangeFunc = getHoverRangeFunc();
|
|
235
231
|
|
|
236
|
-
if (
|
|
237
|
-
return
|
|
232
|
+
if ((0, _isNil.default)(hoverRangeFunc)) {
|
|
233
|
+
return null;
|
|
238
234
|
}
|
|
239
235
|
|
|
240
236
|
var hoverValues = hoverRangeFunc(date);
|
|
241
237
|
var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;
|
|
242
238
|
|
|
243
239
|
if (!isHoverRangeValid) {
|
|
244
|
-
return
|
|
240
|
+
return null;
|
|
245
241
|
}
|
|
246
242
|
|
|
247
243
|
if (_utils.DateUtils.isAfter(hoverValues[0], hoverValues[1])) {
|
|
@@ -250,13 +246,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
250
246
|
|
|
251
247
|
return hoverValues;
|
|
252
248
|
}, [hoverRange, isoWeek]);
|
|
253
|
-
var handleValueUpdate = (0, _react.useCallback)(function (event,
|
|
249
|
+
var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {
|
|
254
250
|
if (closeOverlay === void 0) {
|
|
255
251
|
closeOverlay = true;
|
|
256
252
|
}
|
|
257
253
|
|
|
258
|
-
|
|
259
|
-
|
|
254
|
+
// If nextValue is null, it means that the user is erasing the selected dates.
|
|
255
|
+
setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
|
|
260
256
|
|
|
261
257
|
if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {
|
|
262
258
|
setValue(nextValue);
|
|
@@ -267,40 +263,41 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
267
263
|
if (closeOverlay !== false) {
|
|
268
264
|
handleCloseDropdown();
|
|
269
265
|
}
|
|
270
|
-
}, [formatStr, handleCloseDropdown, onChange,
|
|
266
|
+
}, [formatStr, handleCloseDropdown, onChange, selectedDates, setValue, value]);
|
|
271
267
|
/**
|
|
272
268
|
* Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
|
|
273
269
|
* The MouseMove event is called between the first click and the second click to update the selection state.
|
|
274
270
|
*/
|
|
275
271
|
|
|
276
272
|
var handleMouseMove = (0, _react.useCallback)(function (date) {
|
|
277
|
-
var
|
|
273
|
+
var nextHoverDateRange = getHoverRangeValue(date); // If hasDoneSelect is false,
|
|
274
|
+
// it means there's already one selected date
|
|
275
|
+
// and waiting for user to select the second date to complete the selection.
|
|
278
276
|
|
|
279
277
|
if (!hasDoneSelect.current) {
|
|
280
|
-
// If hoverRange is set, you need to change the value of
|
|
281
|
-
if (
|
|
282
|
-
var
|
|
278
|
+
// If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules
|
|
279
|
+
if (!(0, _isNil.default)(nextHoverDateRange)) {
|
|
280
|
+
var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];
|
|
283
281
|
|
|
284
|
-
if (_utils.DateUtils.isBefore(
|
|
285
|
-
|
|
286
|
-
nextHoverValue[1] = selectRangeValueRef.current[1];
|
|
282
|
+
if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {
|
|
283
|
+
nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];
|
|
287
284
|
}
|
|
288
285
|
|
|
289
|
-
|
|
286
|
+
setSelectedDates(nextSelectedDates);
|
|
290
287
|
} else {
|
|
291
|
-
|
|
292
|
-
return [prevHoverValue[0], date];
|
|
288
|
+
setHoverDateRange(function (prevHoverValue) {
|
|
289
|
+
return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];
|
|
293
290
|
});
|
|
294
|
-
} // Before the first click, if
|
|
291
|
+
} // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated
|
|
295
292
|
|
|
296
|
-
} else if (
|
|
297
|
-
|
|
293
|
+
} else if (!(0, _isNil.default)(nextHoverDateRange)) {
|
|
294
|
+
setHoverDateRange(nextHoverDateRange);
|
|
298
295
|
}
|
|
299
296
|
}, [getHoverRangeValue, hoverRange]);
|
|
300
|
-
var
|
|
301
|
-
var
|
|
297
|
+
var handleSelectDate = (0, _react.useCallback)(function (date, event) {
|
|
298
|
+
var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
|
|
302
299
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
303
|
-
var noHoverRangeValid = hoverRangeValue
|
|
300
|
+
var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue); // in `oneTap` mode
|
|
304
301
|
|
|
305
302
|
if (hasDoneSelect.current && oneTap) {
|
|
306
303
|
handleValueUpdate(event, noHoverRangeValid ? [(0, _utils2.setTimingMargin)(date), (0, _utils2.setTimingMargin)(date, 'right')] : hoverRangeValue);
|
|
@@ -312,32 +309,32 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
312
309
|
if (noHoverRangeValid) {
|
|
313
310
|
// start select
|
|
314
311
|
if (hasDoneSelect.current) {
|
|
315
|
-
|
|
312
|
+
nextSelectDates = [date];
|
|
316
313
|
} else {
|
|
317
314
|
// finish select
|
|
318
|
-
|
|
315
|
+
nextSelectDates[1] = date;
|
|
319
316
|
}
|
|
320
317
|
} else {
|
|
321
318
|
if (!hasDoneSelect.current) {
|
|
322
|
-
|
|
319
|
+
nextSelectDates = selectedDates;
|
|
323
320
|
selectRangeValueRef.current = null;
|
|
324
321
|
} else {
|
|
325
|
-
|
|
322
|
+
nextSelectDates = hoverRangeValue;
|
|
326
323
|
selectRangeValueRef.current = hoverRangeValue;
|
|
327
324
|
}
|
|
328
325
|
} // If user have completed the selection, then sort
|
|
329
326
|
|
|
330
327
|
|
|
331
|
-
if (
|
|
332
|
-
|
|
328
|
+
if (nextSelectDates.length === 2 && _utils.DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {
|
|
329
|
+
nextSelectDates.reverse();
|
|
333
330
|
}
|
|
334
331
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
updateCalendarDate(
|
|
332
|
+
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : null);
|
|
333
|
+
setSelectedDates(nextSelectDates);
|
|
334
|
+
updateCalendarDate(nextSelectDates);
|
|
338
335
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
339
336
|
hasDoneSelect.current = !hasDoneSelect.current;
|
|
340
|
-
}, [getHoverRangeValue, handleValueUpdate,
|
|
337
|
+
}, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);
|
|
341
338
|
/**
|
|
342
339
|
* If `selectValue` changed, there will be the following effects.
|
|
343
340
|
* 1. Check if the selection is completed.
|
|
@@ -345,19 +342,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
345
342
|
*/
|
|
346
343
|
|
|
347
344
|
(0, _react.useEffect)(function () {
|
|
348
|
-
var
|
|
349
|
-
|
|
350
|
-
var selectValueLength = (_selectValue$length = selectValue === null || selectValue === void 0 ? void 0 : selectValue.length) !== null && _selectValue$length !== void 0 ? _selectValue$length : 0;
|
|
345
|
+
var selectValueLength = selectedDates.length;
|
|
351
346
|
var doneSelected = selectValueLength === 0 || selectValueLength === 2;
|
|
352
|
-
doneSelected &&
|
|
353
|
-
}, [
|
|
347
|
+
doneSelected && setHoverDateRange(null);
|
|
348
|
+
}, [selectedDates]);
|
|
354
349
|
var handleChangeCalendarDate = (0, _react.useCallback)(function (index, date) {
|
|
355
350
|
var nextCalendarDate = Array.from(calendarDate);
|
|
356
351
|
nextCalendarDate[index] = date;
|
|
357
352
|
updateCalendarDate(nextCalendarDate);
|
|
358
353
|
}, [calendarDate, updateCalendarDate]);
|
|
359
354
|
var handleChangeCalendarTime = (0, _react.useCallback)(function (index, date) {
|
|
360
|
-
|
|
355
|
+
setSelectedDates(function (prev) {
|
|
361
356
|
var next = [].concat(prev);
|
|
362
357
|
var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day
|
|
363
358
|
|
|
@@ -370,20 +365,42 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
370
365
|
});
|
|
371
366
|
handleChangeCalendarDate(index, date);
|
|
372
367
|
}, [handleChangeCalendarDate]);
|
|
368
|
+
/**
|
|
369
|
+
* The callback triggered when PM/AM is switched.
|
|
370
|
+
*/
|
|
371
|
+
|
|
372
|
+
var handleToggleMeridian = (0, _react.useCallback)(function (index) {
|
|
373
|
+
var next = Array.from(calendarDate);
|
|
374
|
+
var clonedDate = new Date(next[index].valueOf());
|
|
375
|
+
|
|
376
|
+
var hours = _utils.DateUtils.getHours(clonedDate);
|
|
377
|
+
|
|
378
|
+
var nextHours = hours >= 12 ? hours - 12 : hours + 12;
|
|
379
|
+
next[index] = _utils.DateUtils.setHours(clonedDate, nextHours);
|
|
380
|
+
setCalendarDate(next); // If the value already exists, update the value again.
|
|
381
|
+
|
|
382
|
+
if (selectedDates.length === 2) {
|
|
383
|
+
setSelectedDates(next);
|
|
384
|
+
}
|
|
385
|
+
}, [calendarDate, selectedDates]);
|
|
373
386
|
/**
|
|
374
387
|
* Toolbar operation callback function
|
|
375
388
|
*/
|
|
376
389
|
|
|
377
390
|
var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {
|
|
391
|
+
if (closeOverlay === void 0) {
|
|
392
|
+
closeOverlay = false;
|
|
393
|
+
}
|
|
394
|
+
|
|
378
395
|
handleValueUpdate(event, value, closeOverlay);
|
|
379
396
|
}, [handleValueUpdate]);
|
|
380
397
|
var handleOK = (0, _react.useCallback)(function (event) {
|
|
381
|
-
handleValueUpdate(event);
|
|
382
|
-
onOk === null || onOk === void 0 ? void 0 : onOk(
|
|
383
|
-
}, [handleValueUpdate, onOk,
|
|
398
|
+
handleValueUpdate(event, selectedDates);
|
|
399
|
+
onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
|
|
400
|
+
}, [handleValueUpdate, onOk, selectedDates]);
|
|
384
401
|
var handleClean = (0, _react.useCallback)(function (event) {
|
|
385
|
-
updateCalendarDate();
|
|
386
|
-
handleValueUpdate(event,
|
|
402
|
+
updateCalendarDate(null);
|
|
403
|
+
handleValueUpdate(event, null);
|
|
387
404
|
}, [handleValueUpdate, updateCalendarDate]);
|
|
388
405
|
/**
|
|
389
406
|
* Callback after the input box value is changed.
|
|
@@ -412,13 +429,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
412
429
|
return;
|
|
413
430
|
}
|
|
414
431
|
|
|
415
|
-
if (
|
|
432
|
+
if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {
|
|
416
433
|
setInputState('Error');
|
|
417
434
|
return;
|
|
418
435
|
}
|
|
419
436
|
|
|
420
|
-
|
|
421
|
-
|
|
437
|
+
setHoverDateRange(selectValue);
|
|
438
|
+
setSelectedDates(selectValue);
|
|
422
439
|
updateCalendarDate(selectValue);
|
|
423
440
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
424
441
|
[character, rangeFormatStr, updateCalendarDate]);
|
|
@@ -428,11 +445,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
428
445
|
|
|
429
446
|
var handleInputPressEnd = (0, _react.useCallback)(function (event) {
|
|
430
447
|
if (inputState === 'Typing') {
|
|
431
|
-
handleValueUpdate(event,
|
|
448
|
+
handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
|
|
432
449
|
}
|
|
433
450
|
|
|
434
451
|
setInputState('Initial');
|
|
435
|
-
}, [handleValueUpdate,
|
|
452
|
+
}, [handleValueUpdate, selectedDates, inputState]);
|
|
436
453
|
var handleEnter = (0, _react.useCallback)(function () {
|
|
437
454
|
var nextCalendarDate;
|
|
438
455
|
|
|
@@ -442,13 +459,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
442
459
|
nextCalendarDate = [_startDate, (0, _dateUtils.isSameMonth)(_startDate, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];
|
|
443
460
|
} else {
|
|
444
461
|
nextCalendarDate = (0, _utils2.getCalendarDate)({
|
|
445
|
-
value: defaultCalendarValue
|
|
462
|
+
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
446
463
|
});
|
|
447
464
|
}
|
|
448
465
|
|
|
449
|
-
|
|
466
|
+
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
450
467
|
updateCalendarDate(nextCalendarDate);
|
|
451
|
-
}, [defaultCalendarValue, updateCalendarDate,
|
|
468
|
+
}, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);
|
|
452
469
|
var handleEntered = (0, _react.useCallback)(function () {
|
|
453
470
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
454
471
|
setPickerToggleActive(true);
|
|
@@ -458,17 +475,16 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
458
475
|
hasDoneSelect.current = true;
|
|
459
476
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
460
477
|
}, [onClose]);
|
|
461
|
-
var
|
|
462
|
-
|
|
478
|
+
var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {
|
|
479
|
+
var _disabledDateProp;
|
|
480
|
+
|
|
481
|
+
return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;
|
|
463
482
|
}, [disabledDateProp]);
|
|
464
483
|
var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {
|
|
465
|
-
|
|
466
|
-
selectEndDate = selectValue[1];
|
|
467
|
-
var nextSelectValue = [selectStartDate, selectEndDate]; // If the date is between the start and the end
|
|
484
|
+
// If the date is between the start and the end
|
|
468
485
|
// the button is disabled
|
|
469
|
-
|
|
470
486
|
while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {
|
|
471
|
-
if (
|
|
487
|
+
if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {
|
|
472
488
|
return true;
|
|
473
489
|
}
|
|
474
490
|
|
|
@@ -476,17 +492,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
476
492
|
}
|
|
477
493
|
|
|
478
494
|
return false;
|
|
479
|
-
}, [
|
|
495
|
+
}, [isDateDisabled, selectedDates]);
|
|
480
496
|
var disabledOkButton = (0, _react.useCallback)(function () {
|
|
481
|
-
var start =
|
|
482
|
-
end =
|
|
497
|
+
var start = selectedDates[0],
|
|
498
|
+
end = selectedDates[1];
|
|
483
499
|
|
|
484
500
|
if (!start || !end || !hasDoneSelect.current) {
|
|
485
501
|
return true;
|
|
486
502
|
}
|
|
487
503
|
|
|
488
504
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
489
|
-
}, [disabledByBetween,
|
|
505
|
+
}, [disabledByBetween, selectedDates]);
|
|
490
506
|
var disabledShortcutButton = (0, _react.useCallback)(function (value) {
|
|
491
507
|
if (value === void 0) {
|
|
492
508
|
value = [];
|
|
@@ -503,8 +519,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
503
519
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
504
520
|
}, [disabledByBetween]);
|
|
505
521
|
var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {
|
|
506
|
-
return
|
|
507
|
-
}, [
|
|
522
|
+
return isDateDisabled(date, values, hasDoneSelect.current, type);
|
|
523
|
+
}, [isDateDisabled]);
|
|
508
524
|
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
|
|
509
525
|
triggerRef: triggerRef,
|
|
510
526
|
targetRef: targetRef,
|
|
@@ -528,17 +544,19 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
528
544
|
calendarDate: calendarDate,
|
|
529
545
|
disabledDate: handleDisabledDate,
|
|
530
546
|
format: formatStr,
|
|
531
|
-
hoverRangeValue:
|
|
547
|
+
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
532
548
|
isoWeek: isoWeek,
|
|
533
549
|
limitEndYear: limitEndYear,
|
|
534
550
|
locale: locale,
|
|
535
551
|
showOneCalendar: showOneCalendar,
|
|
536
552
|
showWeekNumbers: showWeekNumbers,
|
|
537
|
-
value:
|
|
553
|
+
value: selectedDates,
|
|
554
|
+
showMeridian: showMeridian,
|
|
538
555
|
onChangeCalendarDate: handleChangeCalendarDate,
|
|
539
556
|
onChangeCalendarTime: handleChangeCalendarTime,
|
|
540
557
|
onMouseMove: handleMouseMove,
|
|
541
|
-
onSelect:
|
|
558
|
+
onSelect: handleSelectDate,
|
|
559
|
+
onToggleMeridian: handleToggleMeridian
|
|
542
560
|
};
|
|
543
561
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
|
|
544
562
|
className: classes,
|
|
@@ -551,7 +569,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
551
569
|
className: prefix('daterange-content')
|
|
552
570
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
553
571
|
className: prefix('daterange-header')
|
|
554
|
-
}, getDisplayString(
|
|
572
|
+
}, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement("div", {
|
|
555
573
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
556
574
|
}, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
557
575
|
index: 0
|
|
@@ -559,7 +577,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
559
577
|
index: 1
|
|
560
578
|
}, panelProps)))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
561
579
|
locale: locale,
|
|
562
|
-
calendarDate:
|
|
580
|
+
calendarDate: selectedDates,
|
|
563
581
|
disabledOkBtn: disabledOkButton,
|
|
564
582
|
disabledShortcut: disabledShortcutButton,
|
|
565
583
|
hideOkBtn: oneTap,
|
|
@@ -569,7 +587,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
569
587
|
})));
|
|
570
588
|
};
|
|
571
589
|
|
|
572
|
-
var hasValue = value && value.length > 1;
|
|
590
|
+
var hasValue = !(0, _isNil.default)(value) && value.length > 1;
|
|
573
591
|
|
|
574
592
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
575
593
|
classPrefix: classPrefix,
|
|
@@ -612,7 +630,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
612
630
|
placement: placement,
|
|
613
631
|
caretComponent: _Calendar.default,
|
|
614
632
|
disabled: disabled
|
|
615
|
-
}), getDisplayString())));
|
|
633
|
+
}), getDisplayString(value))));
|
|
616
634
|
});
|
|
617
635
|
|
|
618
636
|
DateRangePicker.after = disabledDateUtils.after;
|
|
@@ -634,11 +652,12 @@ DateRangePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes,
|
|
|
634
652
|
isoWeek: _propTypes.default.bool,
|
|
635
653
|
oneTap: _propTypes.default.bool,
|
|
636
654
|
limitEndYear: _propTypes.default.number,
|
|
637
|
-
showWeekNumbers: _propTypes.default.bool,
|
|
638
655
|
onChange: _propTypes.default.func,
|
|
639
656
|
onOk: _propTypes.default.func,
|
|
640
657
|
disabledDate: _propTypes.default.func,
|
|
641
658
|
onSelect: _propTypes.default.func,
|
|
659
|
+
showWeekNumbers: _propTypes.default.bool,
|
|
660
|
+
showMeridian: _propTypes.default.bool,
|
|
642
661
|
showOneCalendar: _propTypes.default.bool
|
|
643
662
|
});
|
|
644
663
|
var _default = DateRangePicker;
|