rsuite 5.2.2 → 5.4.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/ButtonGroup/styles/index.less +0 -18
- package/CHANGELOG.md +61 -0
- package/CheckTreePicker/styles/index.less +14 -1
- package/Dropdown/styles/index.less +1 -0
- package/Nav/styles/index.less +1 -0
- package/Navbar/styles/index.less +7 -0
- package/Radio/styles/index.less +6 -0
- package/Stack/package.json +7 -0
- package/Stack/styles/index.less +5 -0
- package/Table/styles/index.less +0 -4
- package/TreePicker/styles/index.less +10 -14
- package/cjs/@types/common.d.ts +13 -12
- 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 +10 -10
- package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
- package/cjs/CheckPicker/CheckPicker.js +4 -4
- package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
- package/cjs/CheckTree/index.js +2 -6
- 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 +17 -11
- 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 +131 -108
- 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 +1 -1
- package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
- package/cjs/Dropdown/DropdownState.d.ts +1 -1
- package/cjs/Dropdown/DropdownToggle.js +10 -2
- 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/TextMask.d.ts +5 -5
- 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 +3 -5
- package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
- package/cjs/MultiCascader/MultiCascader.js +6 -6
- package/cjs/MultiCascader/utils.d.ts +17 -17
- package/cjs/Nav/Nav.d.ts +1 -1
- package/cjs/Nav/Nav.js +3 -0
- package/cjs/Nav/NavContext.d.ts +7 -1
- package/cjs/Nav/NavContext.js +1 -0
- 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 +67 -45
- package/cjs/Overlay/ModalManager.d.ts +17 -8
- package/cjs/Overlay/ModalManager.js +11 -20
- package/cjs/Overlay/Overlay.d.ts +3 -3
- package/cjs/Overlay/Overlay.js +8 -2
- package/cjs/Overlay/OverlayContext.d.ts +6 -0
- package/cjs/Overlay/OverlayContext.js +14 -0
- package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
- package/cjs/Overlay/OverlayTrigger.js +21 -7
- package/cjs/Overlay/Position.d.ts +4 -4
- package/cjs/Overlay/Position.js +14 -8
- 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 +9 -6
- 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 +5 -7
- package/cjs/Picker/propTypes.js +4 -3
- package/cjs/Picker/utils.d.ts +15 -23
- 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.d.ts +12 -5
- package/cjs/SelectPicker/SelectPicker.js +8 -8
- package/cjs/SelectPicker/index.d.ts +1 -1
- package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
- 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/Stack/Stack.d.ts +26 -0
- package/cjs/Stack/Stack.js +86 -0
- package/cjs/Stack/index.d.ts +3 -0
- package/cjs/Stack/index.js +11 -0
- package/cjs/Steps/StepItem.js +1 -1
- package/cjs/TagInput/index.js +1 -1
- package/cjs/Toggle/Toggle.js +3 -3
- package/cjs/Tree/Tree.d.ts +3 -2
- package/cjs/Tree/Tree.js +2 -6
- package/cjs/Tree/TreeContext.d.ts +0 -1
- package/cjs/TreePicker/TreeNode.js +7 -22
- package/cjs/TreePicker/TreePicker.js +37 -54
- 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 +6 -2
- package/cjs/index.js +13 -5
- 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 +35 -32
- 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.js +6 -3
- package/cjs/utils/useFocus.d.ts +2 -2
- package/cjs/utils/usePortal.d.ts +2 -2
- 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 +60 -178
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +60 -178
- package/dist/rsuite.js +216 -117
- 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 +13 -12
- 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 +10 -10
- package/esm/CheckPicker/CheckPicker.d.ts +9 -4
- package/esm/CheckPicker/CheckPicker.js +4 -4
- package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
- package/esm/CheckTree/index.js +2 -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 +16 -11
- 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 +129 -108
- 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 +1 -1
- package/esm/Dropdown/DropdownMenu.d.ts +3 -3
- package/esm/Dropdown/DropdownState.d.ts +1 -1
- package/esm/Dropdown/DropdownToggle.js +9 -2
- 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/TextMask.d.ts +5 -5
- 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 +3 -5
- package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
- package/esm/MultiCascader/MultiCascader.js +6 -6
- package/esm/MultiCascader/utils.d.ts +17 -17
- package/esm/Nav/Nav.d.ts +1 -1
- package/esm/Nav/Nav.js +3 -0
- package/esm/Nav/NavContext.d.ts +7 -1
- package/esm/Nav/NavContext.js +1 -0
- 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 +67 -45
- package/esm/Overlay/ModalManager.d.ts +17 -8
- package/esm/Overlay/ModalManager.js +11 -20
- package/esm/Overlay/Overlay.d.ts +3 -3
- package/esm/Overlay/Overlay.js +8 -3
- package/esm/Overlay/OverlayContext.d.ts +6 -0
- package/esm/Overlay/OverlayContext.js +4 -0
- package/esm/Overlay/OverlayTrigger.d.ts +11 -11
- package/esm/Overlay/OverlayTrigger.js +21 -8
- package/esm/Overlay/Position.d.ts +4 -4
- package/esm/Overlay/Position.js +14 -8
- 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 +9 -6
- 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 +5 -7
- package/esm/Picker/propTypes.js +4 -3
- package/esm/Picker/utils.d.ts +15 -23
- 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.d.ts +12 -5
- package/esm/SelectPicker/SelectPicker.js +8 -8
- package/esm/SelectPicker/index.d.ts +1 -1
- package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
- 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/Stack/Stack.d.ts +26 -0
- package/esm/Stack/Stack.js +71 -0
- package/esm/Stack/index.d.ts +3 -0
- package/esm/Stack/index.js +2 -0
- package/esm/Steps/StepItem.js +1 -1
- package/esm/TagInput/index.js +1 -1
- package/esm/Toggle/Toggle.js +3 -3
- package/esm/Tree/Tree.d.ts +3 -2
- package/esm/Tree/Tree.js +2 -4
- package/esm/Tree/TreeContext.d.ts +0 -1
- package/esm/TreePicker/TreeNode.js +6 -21
- package/esm/TreePicker/TreePicker.js +36 -52
- 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 +6 -2
- package/esm/index.js +3 -1
- 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 +35 -32
- 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.js +6 -3
- package/esm/utils/useFocus.d.ts +2 -2
- package/esm/utils/usePortal.d.ts +2 -2
- 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 +3 -3
- package/styles/index.less +2 -0
|
@@ -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,45 @@ 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
|
-
|
|
301
|
-
|
|
297
|
+
/**
|
|
298
|
+
* Callback for selecting a date cell in the calendar grid
|
|
299
|
+
*/
|
|
300
|
+
|
|
301
|
+
var handleSelectDate = (0, _react.useCallback)(function (date, event) {
|
|
302
|
+
var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
|
|
302
303
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
303
|
-
var noHoverRangeValid = hoverRangeValue
|
|
304
|
+
var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue); // in `oneTap` mode
|
|
304
305
|
|
|
305
306
|
if (hasDoneSelect.current && oneTap) {
|
|
306
307
|
handleValueUpdate(event, noHoverRangeValid ? [(0, _utils2.setTimingMargin)(date), (0, _utils2.setTimingMargin)(date, 'right')] : hoverRangeValue);
|
|
@@ -312,32 +313,32 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
312
313
|
if (noHoverRangeValid) {
|
|
313
314
|
// start select
|
|
314
315
|
if (hasDoneSelect.current) {
|
|
315
|
-
|
|
316
|
+
nextSelectDates = [date];
|
|
316
317
|
} else {
|
|
317
318
|
// finish select
|
|
318
|
-
|
|
319
|
+
nextSelectDates[1] = date;
|
|
319
320
|
}
|
|
320
321
|
} else {
|
|
321
322
|
if (!hasDoneSelect.current) {
|
|
322
|
-
|
|
323
|
+
nextSelectDates = selectedDates;
|
|
323
324
|
selectRangeValueRef.current = null;
|
|
324
325
|
} else {
|
|
325
|
-
|
|
326
|
+
nextSelectDates = hoverRangeValue;
|
|
326
327
|
selectRangeValueRef.current = hoverRangeValue;
|
|
327
328
|
}
|
|
328
329
|
} // If user have completed the selection, then sort
|
|
329
330
|
|
|
330
331
|
|
|
331
|
-
if (
|
|
332
|
-
|
|
332
|
+
if (nextSelectDates.length === 2 && _utils.DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {
|
|
333
|
+
nextSelectDates.reverse();
|
|
333
334
|
}
|
|
334
335
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
updateCalendarDate(
|
|
336
|
+
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : [nextSelectDates[0], nextSelectDates[0]]);
|
|
337
|
+
setSelectedDates(nextSelectDates);
|
|
338
|
+
updateCalendarDate(nextSelectDates);
|
|
338
339
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
339
340
|
hasDoneSelect.current = !hasDoneSelect.current;
|
|
340
|
-
}, [getHoverRangeValue, handleValueUpdate,
|
|
341
|
+
}, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);
|
|
341
342
|
/**
|
|
342
343
|
* If `selectValue` changed, there will be the following effects.
|
|
343
344
|
* 1. Check if the selection is completed.
|
|
@@ -345,19 +346,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
345
346
|
*/
|
|
346
347
|
|
|
347
348
|
(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;
|
|
349
|
+
var selectValueLength = selectedDates.length;
|
|
351
350
|
var doneSelected = selectValueLength === 0 || selectValueLength === 2;
|
|
352
|
-
doneSelected &&
|
|
353
|
-
}, [
|
|
351
|
+
doneSelected && setHoverDateRange(null);
|
|
352
|
+
}, [selectedDates]);
|
|
354
353
|
var handleChangeCalendarDate = (0, _react.useCallback)(function (index, date) {
|
|
355
354
|
var nextCalendarDate = Array.from(calendarDate);
|
|
356
355
|
nextCalendarDate[index] = date;
|
|
357
356
|
updateCalendarDate(nextCalendarDate);
|
|
358
357
|
}, [calendarDate, updateCalendarDate]);
|
|
359
358
|
var handleChangeCalendarTime = (0, _react.useCallback)(function (index, date) {
|
|
360
|
-
|
|
359
|
+
setSelectedDates(function (prev) {
|
|
361
360
|
var next = [].concat(prev);
|
|
362
361
|
var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day
|
|
363
362
|
|
|
@@ -370,20 +369,42 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
370
369
|
});
|
|
371
370
|
handleChangeCalendarDate(index, date);
|
|
372
371
|
}, [handleChangeCalendarDate]);
|
|
372
|
+
/**
|
|
373
|
+
* The callback triggered when PM/AM is switched.
|
|
374
|
+
*/
|
|
375
|
+
|
|
376
|
+
var handleToggleMeridian = (0, _react.useCallback)(function (index) {
|
|
377
|
+
var next = Array.from(calendarDate);
|
|
378
|
+
var clonedDate = new Date(next[index].valueOf());
|
|
379
|
+
|
|
380
|
+
var hours = _utils.DateUtils.getHours(clonedDate);
|
|
381
|
+
|
|
382
|
+
var nextHours = hours >= 12 ? hours - 12 : hours + 12;
|
|
383
|
+
next[index] = _utils.DateUtils.setHours(clonedDate, nextHours);
|
|
384
|
+
setCalendarDate(next); // If the value already exists, update the value again.
|
|
385
|
+
|
|
386
|
+
if (selectedDates.length === 2) {
|
|
387
|
+
setSelectedDates(next);
|
|
388
|
+
}
|
|
389
|
+
}, [calendarDate, selectedDates]);
|
|
373
390
|
/**
|
|
374
391
|
* Toolbar operation callback function
|
|
375
392
|
*/
|
|
376
393
|
|
|
377
394
|
var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {
|
|
395
|
+
if (closeOverlay === void 0) {
|
|
396
|
+
closeOverlay = false;
|
|
397
|
+
}
|
|
398
|
+
|
|
378
399
|
handleValueUpdate(event, value, closeOverlay);
|
|
379
400
|
}, [handleValueUpdate]);
|
|
380
401
|
var handleOK = (0, _react.useCallback)(function (event) {
|
|
381
|
-
handleValueUpdate(event);
|
|
382
|
-
onOk === null || onOk === void 0 ? void 0 : onOk(
|
|
383
|
-
}, [handleValueUpdate, onOk,
|
|
402
|
+
handleValueUpdate(event, selectedDates);
|
|
403
|
+
onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
|
|
404
|
+
}, [handleValueUpdate, onOk, selectedDates]);
|
|
384
405
|
var handleClean = (0, _react.useCallback)(function (event) {
|
|
385
|
-
updateCalendarDate();
|
|
386
|
-
handleValueUpdate(event,
|
|
406
|
+
updateCalendarDate(null);
|
|
407
|
+
handleValueUpdate(event, null);
|
|
387
408
|
}, [handleValueUpdate, updateCalendarDate]);
|
|
388
409
|
/**
|
|
389
410
|
* Callback after the input box value is changed.
|
|
@@ -412,13 +433,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
412
433
|
return;
|
|
413
434
|
}
|
|
414
435
|
|
|
415
|
-
if (
|
|
436
|
+
if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {
|
|
416
437
|
setInputState('Error');
|
|
417
438
|
return;
|
|
418
439
|
}
|
|
419
440
|
|
|
420
|
-
|
|
421
|
-
|
|
441
|
+
setHoverDateRange(selectValue);
|
|
442
|
+
setSelectedDates(selectValue);
|
|
422
443
|
updateCalendarDate(selectValue);
|
|
423
444
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
424
445
|
[character, rangeFormatStr, updateCalendarDate]);
|
|
@@ -428,11 +449,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
428
449
|
|
|
429
450
|
var handleInputPressEnd = (0, _react.useCallback)(function (event) {
|
|
430
451
|
if (inputState === 'Typing') {
|
|
431
|
-
handleValueUpdate(event,
|
|
452
|
+
handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
|
|
432
453
|
}
|
|
433
454
|
|
|
434
455
|
setInputState('Initial');
|
|
435
|
-
}, [handleValueUpdate,
|
|
456
|
+
}, [handleValueUpdate, selectedDates, inputState]);
|
|
436
457
|
var handleEnter = (0, _react.useCallback)(function () {
|
|
437
458
|
var nextCalendarDate;
|
|
438
459
|
|
|
@@ -442,13 +463,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
442
463
|
nextCalendarDate = [_startDate, (0, _dateUtils.isSameMonth)(_startDate, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];
|
|
443
464
|
} else {
|
|
444
465
|
nextCalendarDate = (0, _utils2.getCalendarDate)({
|
|
445
|
-
value: defaultCalendarValue
|
|
466
|
+
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
446
467
|
});
|
|
447
468
|
}
|
|
448
469
|
|
|
449
|
-
|
|
470
|
+
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
450
471
|
updateCalendarDate(nextCalendarDate);
|
|
451
|
-
}, [defaultCalendarValue, updateCalendarDate,
|
|
472
|
+
}, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);
|
|
452
473
|
var handleEntered = (0, _react.useCallback)(function () {
|
|
453
474
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
454
475
|
setPickerToggleActive(true);
|
|
@@ -458,17 +479,16 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
458
479
|
hasDoneSelect.current = true;
|
|
459
480
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
460
481
|
}, [onClose]);
|
|
461
|
-
var
|
|
462
|
-
|
|
482
|
+
var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {
|
|
483
|
+
var _disabledDateProp;
|
|
484
|
+
|
|
485
|
+
return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;
|
|
463
486
|
}, [disabledDateProp]);
|
|
464
487
|
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
|
|
488
|
+
// If the date is between the start and the end
|
|
468
489
|
// the button is disabled
|
|
469
|
-
|
|
470
490
|
while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {
|
|
471
|
-
if (
|
|
491
|
+
if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {
|
|
472
492
|
return true;
|
|
473
493
|
}
|
|
474
494
|
|
|
@@ -476,17 +496,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
476
496
|
}
|
|
477
497
|
|
|
478
498
|
return false;
|
|
479
|
-
}, [
|
|
499
|
+
}, [isDateDisabled, selectedDates]);
|
|
480
500
|
var disabledOkButton = (0, _react.useCallback)(function () {
|
|
481
|
-
var start =
|
|
482
|
-
end =
|
|
501
|
+
var start = selectedDates[0],
|
|
502
|
+
end = selectedDates[1];
|
|
483
503
|
|
|
484
504
|
if (!start || !end || !hasDoneSelect.current) {
|
|
485
505
|
return true;
|
|
486
506
|
}
|
|
487
507
|
|
|
488
508
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
489
|
-
}, [disabledByBetween,
|
|
509
|
+
}, [disabledByBetween, selectedDates]);
|
|
490
510
|
var disabledShortcutButton = (0, _react.useCallback)(function (value) {
|
|
491
511
|
if (value === void 0) {
|
|
492
512
|
value = [];
|
|
@@ -503,8 +523,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
503
523
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
504
524
|
}, [disabledByBetween]);
|
|
505
525
|
var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {
|
|
506
|
-
return
|
|
507
|
-
}, [
|
|
526
|
+
return isDateDisabled(date, values, hasDoneSelect.current, type);
|
|
527
|
+
}, [isDateDisabled]);
|
|
508
528
|
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
|
|
509
529
|
triggerRef: triggerRef,
|
|
510
530
|
targetRef: targetRef,
|
|
@@ -528,17 +548,19 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
528
548
|
calendarDate: calendarDate,
|
|
529
549
|
disabledDate: handleDisabledDate,
|
|
530
550
|
format: formatStr,
|
|
531
|
-
hoverRangeValue:
|
|
551
|
+
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
532
552
|
isoWeek: isoWeek,
|
|
533
553
|
limitEndYear: limitEndYear,
|
|
534
554
|
locale: locale,
|
|
535
555
|
showOneCalendar: showOneCalendar,
|
|
536
556
|
showWeekNumbers: showWeekNumbers,
|
|
537
|
-
value:
|
|
557
|
+
value: selectedDates,
|
|
558
|
+
showMeridian: showMeridian,
|
|
538
559
|
onChangeCalendarDate: handleChangeCalendarDate,
|
|
539
560
|
onChangeCalendarTime: handleChangeCalendarTime,
|
|
540
561
|
onMouseMove: handleMouseMove,
|
|
541
|
-
onSelect:
|
|
562
|
+
onSelect: handleSelectDate,
|
|
563
|
+
onToggleMeridian: handleToggleMeridian
|
|
542
564
|
};
|
|
543
565
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
|
|
544
566
|
className: classes,
|
|
@@ -551,7 +573,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
551
573
|
className: prefix('daterange-content')
|
|
552
574
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
553
575
|
className: prefix('daterange-header')
|
|
554
|
-
}, getDisplayString(
|
|
576
|
+
}, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement("div", {
|
|
555
577
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
556
578
|
}, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
557
579
|
index: 0
|
|
@@ -559,7 +581,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
559
581
|
index: 1
|
|
560
582
|
}, panelProps)))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
561
583
|
locale: locale,
|
|
562
|
-
calendarDate:
|
|
584
|
+
calendarDate: selectedDates,
|
|
563
585
|
disabledOkBtn: disabledOkButton,
|
|
564
586
|
disabledShortcut: disabledShortcutButton,
|
|
565
587
|
hideOkBtn: oneTap,
|
|
@@ -569,7 +591,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
569
591
|
})));
|
|
570
592
|
};
|
|
571
593
|
|
|
572
|
-
var hasValue = value && value.length > 1;
|
|
594
|
+
var hasValue = !(0, _isNil.default)(value) && value.length > 1;
|
|
573
595
|
|
|
574
596
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
575
597
|
classPrefix: classPrefix,
|
|
@@ -610,9 +632,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
610
632
|
hasValue: hasValue,
|
|
611
633
|
active: isPickerToggleActive,
|
|
612
634
|
placement: placement,
|
|
613
|
-
|
|
635
|
+
caretAs: _Calendar.default,
|
|
614
636
|
disabled: disabled
|
|
615
|
-
}), getDisplayString())));
|
|
637
|
+
}), getDisplayString(value))));
|
|
616
638
|
});
|
|
617
639
|
|
|
618
640
|
DateRangePicker.after = disabledDateUtils.after;
|
|
@@ -634,11 +656,12 @@ DateRangePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes,
|
|
|
634
656
|
isoWeek: _propTypes.default.bool,
|
|
635
657
|
oneTap: _propTypes.default.bool,
|
|
636
658
|
limitEndYear: _propTypes.default.number,
|
|
637
|
-
showWeekNumbers: _propTypes.default.bool,
|
|
638
659
|
onChange: _propTypes.default.func,
|
|
639
660
|
onOk: _propTypes.default.func,
|
|
640
661
|
disabledDate: _propTypes.default.func,
|
|
641
662
|
onSelect: _propTypes.default.func,
|
|
663
|
+
showWeekNumbers: _propTypes.default.bool,
|
|
664
|
+
showMeridian: _propTypes.default.bool,
|
|
642
665
|
showOneCalendar: _propTypes.default.bool
|
|
643
666
|
});
|
|
644
667
|
var _default = DateRangePicker;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DATERANGE_DISABLED_TARGET } from '../utils/constants';
|
|
3
3
|
export declare type ValueType = [Date?, Date?];
|
|
4
|
+
export declare type DateRange = [Date, Date];
|
|
4
5
|
export interface RangeType {
|
|
5
6
|
label: React.ReactNode;
|
|
6
7
|
closeOverlay?: boolean;
|
|
7
|
-
value:
|
|
8
|
+
value: DateRange | ((value?: ValueType) => DateRange);
|
|
8
9
|
}
|
|
9
10
|
export declare type DisabledDateFunction = (
|
|
10
11
|
/** Date used to determine if disabling is required. */
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DateRange, RangeType } from './types';
|
|
2
2
|
export declare const setTimingMargin: (date: any, way?: string) => Date;
|
|
3
3
|
export declare function getCalendarDate({ value }: {
|
|
4
|
-
value
|
|
5
|
-
}):
|
|
4
|
+
value: [] | [Date] | [Date, Date] | null;
|
|
5
|
+
}): DateRange;
|
|
6
6
|
export declare const getDefaultRanges: () => RangeType[];
|
|
7
|
-
export declare const isSameRange: (source:
|
|
8
|
-
export declare const getMonthHoverRange: (date: Date) =>
|
|
9
|
-
export declare const getWeekHoverRange: (isoWeek: boolean, date: Date) =>
|
|
7
|
+
export declare const isSameRange: (source: DateRange | null, dest: DateRange | null, format: string) => boolean;
|
|
8
|
+
export declare const getMonthHoverRange: (date: Date) => DateRange;
|
|
9
|
+
export declare const getWeekHoverRange: (isoWeek: boolean, date: Date) => DateRange;
|
|
@@ -52,10 +52,15 @@ var getDefaultRanges = function getDefaultRanges() {
|
|
|
52
52
|
exports.getDefaultRanges = getDefaultRanges;
|
|
53
53
|
|
|
54
54
|
var isSameRange = function isSameRange(source, dest, format) {
|
|
55
|
-
|
|
55
|
+
// If both are null, reguard as same
|
|
56
|
+
if (null === source && null === dest) return true; // If only one is null, regard as different
|
|
57
|
+
|
|
58
|
+
if (null === source || null === dest) return false;
|
|
59
|
+
|
|
60
|
+
var result = _utils.DateUtils.isSameDay(source[0], dest[0]) && _utils.DateUtils.isSameDay(source[1], dest[1]);
|
|
56
61
|
|
|
57
62
|
if (_utils.DateUtils.shouldTime(format)) {
|
|
58
|
-
result && (result = _utils.DateUtils.isSameSecond(source
|
|
63
|
+
result && (result = _utils.DateUtils.isSameSecond(source[0], dest[0]) && _utils.DateUtils.isSameSecond(source[1], dest[1]));
|
|
59
64
|
}
|
|
60
65
|
|
|
61
66
|
return result;
|
|
@@ -56,12 +56,14 @@ function Disclosure(props) {
|
|
|
56
56
|
openState = _useReducer[0].open,
|
|
57
57
|
dispatch = _useReducer[1];
|
|
58
58
|
|
|
59
|
-
var containerElementRef = (0, _react.useRef)();
|
|
59
|
+
var containerElementRef = (0, _react.useRef)(null);
|
|
60
60
|
var open = openProp !== null && openProp !== void 0 ? openProp : openState;
|
|
61
61
|
(0, _useClickOutside.default)({
|
|
62
62
|
enabled: hideOnClickOutside,
|
|
63
63
|
isOutside: function isOutside(event) {
|
|
64
|
-
|
|
64
|
+
var _containerElementRef$;
|
|
65
|
+
|
|
66
|
+
return !((_containerElementRef$ = containerElementRef.current) !== null && _containerElementRef$ !== void 0 && _containerElementRef$.contains(event.target));
|
|
65
67
|
},
|
|
66
68
|
handle: function handle() {
|
|
67
69
|
return dispatch({
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
|
|
10
|
-
var _DisclosureContext =
|
|
10
|
+
var _DisclosureContext = require("./DisclosureContext");
|
|
11
11
|
|
|
12
12
|
var _utils = require("../utils");
|
|
13
13
|
|
|
14
|
+
var _useDisclosureContext2 = _interopRequireDefault(require("./useDisclosureContext"));
|
|
15
|
+
|
|
14
16
|
function DisclosureButton(props) {
|
|
15
17
|
var children = props.children;
|
|
16
|
-
var buttonRef = (0, _react.useRef)();
|
|
18
|
+
var buttonRef = (0, _react.useRef)(null);
|
|
17
19
|
|
|
18
|
-
var
|
|
19
|
-
open =
|
|
20
|
-
dispatch =
|
|
21
|
-
onToggle =
|
|
20
|
+
var _useDisclosureContext = (0, _useDisclosureContext2.default)(DisclosureButton.displayName),
|
|
21
|
+
open = _useDisclosureContext[0].open,
|
|
22
|
+
dispatch = _useDisclosureContext[1],
|
|
23
|
+
onToggle = _useDisclosureContext[2].onToggle;
|
|
22
24
|
|
|
23
25
|
var toggle = (0, _react.useCallback)(function (event) {
|
|
24
26
|
if (!open) {
|
|
@@ -7,15 +7,13 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _useDisclosureContext = _interopRequireDefault(require("./useDisclosureContext"));
|
|
11
11
|
|
|
12
12
|
function DisclosureContent(props) {
|
|
13
13
|
var children = props.children;
|
|
14
|
-
var elementRef = (0, _react.useRef)();
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
open = _useContext[0].open;
|
|
18
|
-
|
|
14
|
+
var elementRef = (0, _react.useRef)(null);
|
|
15
|
+
var disclosure = (0, _useDisclosureContext.default)(DisclosureContent.displayName);
|
|
16
|
+
var open = disclosure[0].open;
|
|
19
17
|
return children({
|
|
20
18
|
open: open
|
|
21
19
|
}, elementRef);
|