rsuite 5.2.4 → 5.4.2
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 +4 -3
- package/Modal/styles/index.less +23 -22
- package/Nav/styles/index.less +1 -0
- package/Navbar/styles/index.less +19 -5
- package/Radio/styles/index.less +6 -0
- package/Sidenav/styles/index.less +2 -2
- package/Stack/package.json +7 -0
- package/Stack/styles/index.less +5 -0
- 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 +8 -6
- 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 +76 -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 +14 -3
- 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 +26 -22
- package/cjs/Calendar/CalendarContext.js +1 -1
- package/cjs/Calendar/Header.js +1 -3
- package/cjs/Calendar/Table.js +1 -1
- package/cjs/Calendar/TableRow.js +13 -8
- package/cjs/Calendar/TimeDropdown.js +6 -5
- package/cjs/Calendar/View.js +9 -5
- package/cjs/Calendar/types.d.ts +2 -2
- package/cjs/Calendar/useCalendarDate.d.ts +2 -2
- package/cjs/Carousel/Carousel.d.ts +1 -1
- 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 +6 -5
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
- package/cjs/CheckTreePicker/CheckTreePicker.js +29 -25
- 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/Container/Container.js +6 -3
- 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 +19 -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 +8 -7
- package/cjs/DateRangePicker/Calendar.js +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
- package/cjs/DateRangePicker/DateRangePicker.js +112 -111
- 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.d.ts +8 -5
- package/cjs/Disclosure/Disclosure.js +55 -13
- package/cjs/Disclosure/DisclosureButton.d.ts +2 -2
- package/cjs/Disclosure/DisclosureButton.js +9 -7
- package/cjs/Disclosure/DisclosureContent.js +4 -6
- package/cjs/Disclosure/DisclosureContext.d.ts +8 -3
- 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/Dropdown.js +1 -1
- package/cjs/Dropdown/DropdownContext.d.ts +2 -2
- package/cjs/Dropdown/DropdownItem.js +10 -11
- package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
- package/cjs/Dropdown/DropdownMenu.js +81 -23
- 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/FormGroup/FormGroup.js +9 -4
- 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 +15 -10
- 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 +14 -7
- package/cjs/Menu/MenuContext.d.ts +1 -1
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +19 -15
- package/cjs/Menu/Menubar.js +8 -8
- package/cjs/Menu/useMenu.js +17 -7
- package/cjs/Modal/Modal.js +39 -21
- 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 +10 -12
- 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/Navbar/index.d.ts +1 -0
- package/cjs/Navbar/index.js +4 -3
- package/cjs/Overlay/Modal.d.ts +2 -2
- package/cjs/Overlay/Modal.js +71 -63
- 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/PanelGroup/PanelGroup.js +8 -5
- 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 +4 -3
- 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/propTypes.d.ts +5 -7
- package/cjs/Picker/propTypes.js +4 -3
- package/cjs/Picker/utils.d.ts +11 -11
- package/cjs/Picker/utils.js +22 -18
- 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 +1 -1
- 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 +2 -1
- 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 +5 -4
- package/cjs/Tree/Tree.d.ts +3 -2
- package/cjs/Tree/Tree.js +6 -5
- package/cjs/Tree/TreeContext.d.ts +0 -1
- package/cjs/TreePicker/TreeNode.js +7 -22
- package/cjs/TreePicker/TreePicker.js +32 -52
- 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/index.d.ts +1 -0
- package/cjs/utils/index.js +7 -2
- 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/useFocus.d.ts +2 -2
- package/cjs/utils/useMount.d.ts +2 -0
- package/cjs/utils/useMount.js +19 -0
- 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 +95 -210
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +95 -210
- package/dist/rsuite.js +214 -115
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +13 -12
- package/esm/@types/utils.d.ts +12 -0
- package/esm/Affix/Affix.js +9 -7
- 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 +57 -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 +11 -3
- 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 +27 -23
- package/esm/Calendar/CalendarContext.js +1 -1
- package/esm/Calendar/Header.js +1 -3
- package/esm/Calendar/Table.js +1 -1
- package/esm/Calendar/TableRow.js +14 -9
- package/esm/Calendar/TimeDropdown.js +5 -4
- package/esm/Calendar/View.js +10 -6
- package/esm/Calendar/types.d.ts +2 -2
- package/esm/Calendar/useCalendarDate.d.ts +2 -2
- package/esm/Carousel/Carousel.d.ts +1 -1
- 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 +7 -6
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
- package/esm/CheckTreePicker/CheckTreePicker.js +28 -23
- 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/Container/Container.js +7 -4
- 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 +18 -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 +8 -7
- package/esm/DateRangePicker/Calendar.js +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
- package/esm/DateRangePicker/DateRangePicker.js +112 -111
- 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.d.ts +8 -5
- package/esm/Disclosure/Disclosure.js +56 -15
- package/esm/Disclosure/DisclosureButton.d.ts +2 -2
- package/esm/Disclosure/DisclosureButton.js +8 -7
- package/esm/Disclosure/DisclosureContent.js +5 -7
- package/esm/Disclosure/DisclosureContext.d.ts +8 -3
- 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/Dropdown.js +1 -1
- package/esm/Dropdown/DropdownContext.d.ts +2 -2
- package/esm/Dropdown/DropdownItem.js +10 -10
- package/esm/Dropdown/DropdownMenu.d.ts +3 -3
- package/esm/Dropdown/DropdownMenu.js +82 -24
- 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/FormGroup/FormGroup.js +7 -4
- 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 +15 -10
- 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 +13 -7
- package/esm/Menu/MenuContext.d.ts +1 -1
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +18 -15
- package/esm/Menu/Menubar.js +7 -8
- package/esm/Menu/useMenu.js +17 -7
- package/esm/Modal/Modal.js +41 -23
- 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 +11 -13
- 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/Navbar/index.d.ts +1 -0
- package/esm/Navbar/index.js +1 -0
- package/esm/Overlay/Modal.d.ts +2 -2
- package/esm/Overlay/Modal.js +72 -64
- 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/PanelGroup/PanelGroup.js +9 -6
- 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 +4 -3
- 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/propTypes.d.ts +5 -7
- package/esm/Picker/propTypes.js +4 -3
- package/esm/Picker/utils.d.ts +11 -11
- package/esm/Picker/utils.js +21 -18
- 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 +1 -1
- 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 +2 -1
- 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 +5 -4
- package/esm/Tree/Tree.d.ts +3 -2
- package/esm/Tree/Tree.js +7 -6
- package/esm/Tree/TreeContext.d.ts +0 -1
- package/esm/TreePicker/TreeNode.js +6 -21
- package/esm/TreePicker/TreePicker.js +31 -50
- 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/index.d.ts +1 -0
- package/esm/utils/index.js +2 -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/useFocus.d.ts +2 -2
- package/esm/utils/useMount.d.ts +2 -0
- package/esm/utils/useMount.js +13 -0
- 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 +2 -2
- 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,
|
|
@@ -104,7 +105,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
104
105
|
|
|
105
106
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
106
107
|
|
|
107
|
-
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),
|
|
108
109
|
value = _useControlled[0],
|
|
109
110
|
setValue = _useControlled[1];
|
|
110
111
|
/**
|
|
@@ -126,17 +127,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
126
127
|
*/
|
|
127
128
|
|
|
128
129
|
var _useState = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
|
|
129
|
-
|
|
130
|
-
|
|
130
|
+
selectedDates = _useState[0],
|
|
131
|
+
setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
|
|
131
132
|
|
|
132
133
|
|
|
133
|
-
var _useState2 = (0, _react.useState)(
|
|
134
|
-
|
|
135
|
-
|
|
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.
|
|
136
137
|
|
|
137
138
|
|
|
138
139
|
var _useState3 = (0, _react.useState)((0, _utils2.getCalendarDate)({
|
|
139
|
-
value: valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue
|
|
140
|
+
value: (_ref2 = valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
140
141
|
})),
|
|
141
142
|
calendarDate = _useState3[0],
|
|
142
143
|
setCalendarDate = _useState3[1];
|
|
@@ -164,18 +165,18 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
164
165
|
}, []); // if valueProp changed then update selectValue/hoverValue
|
|
165
166
|
|
|
166
167
|
(0, _react.useEffect)(function () {
|
|
167
|
-
|
|
168
|
-
|
|
168
|
+
setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
|
|
169
|
+
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
169
170
|
}, [valueProp]);
|
|
170
171
|
|
|
171
172
|
var _useState5 = (0, _react.useState)(false),
|
|
172
173
|
isPickerToggleActive = _useState5[0],
|
|
173
174
|
setPickerToggleActive = _useState5[1];
|
|
174
175
|
|
|
175
|
-
var rootRef = (0, _react.useRef)();
|
|
176
|
-
var overlayRef = (0, _react.useRef)();
|
|
177
|
-
var targetRef = (0, _react.useRef)();
|
|
178
|
-
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);
|
|
179
180
|
var handleCloseDropdown = (0, _react.useCallback)(function () {
|
|
180
181
|
var _triggerRef$current, _triggerRef$current$c;
|
|
181
182
|
|
|
@@ -188,14 +189,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
188
189
|
rootRef: rootRef
|
|
189
190
|
});
|
|
190
191
|
var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {
|
|
191
|
-
var _nextValue
|
|
192
|
+
var _nextValue$, _nextValue$2;
|
|
192
193
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
var startDate = (_nextValue = nextValue) === null || _nextValue === void 0 ? void 0 : _nextValue[0];
|
|
198
|
-
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;
|
|
199
196
|
|
|
200
197
|
if (startDate && endDate) {
|
|
201
198
|
var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);
|
|
@@ -214,35 +211,33 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
214
211
|
}
|
|
215
212
|
|
|
216
213
|
return isPlaintext ? '' : placeholder || rangeFormatStr;
|
|
217
|
-
}, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue
|
|
214
|
+
}, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);
|
|
218
215
|
/**
|
|
219
216
|
* preset hover range
|
|
220
217
|
*/
|
|
221
218
|
|
|
222
219
|
var getHoverRangeValue = (0, _react.useCallback)(function (date) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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
|
+
}
|
|
228
226
|
|
|
229
|
-
|
|
230
|
-
hoverRangeFunc = (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);
|
|
227
|
+
return hoverRange;
|
|
231
228
|
}
|
|
232
229
|
|
|
233
|
-
|
|
234
|
-
hoverRangeFunc = _utils2.getMonthHoverRange;
|
|
235
|
-
}
|
|
230
|
+
var hoverRangeFunc = getHoverRangeFunc();
|
|
236
231
|
|
|
237
|
-
if (
|
|
238
|
-
return
|
|
232
|
+
if ((0, _isNil.default)(hoverRangeFunc)) {
|
|
233
|
+
return null;
|
|
239
234
|
}
|
|
240
235
|
|
|
241
236
|
var hoverValues = hoverRangeFunc(date);
|
|
242
237
|
var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;
|
|
243
238
|
|
|
244
239
|
if (!isHoverRangeValid) {
|
|
245
|
-
return
|
|
240
|
+
return null;
|
|
246
241
|
}
|
|
247
242
|
|
|
248
243
|
if (_utils.DateUtils.isAfter(hoverValues[0], hoverValues[1])) {
|
|
@@ -251,13 +246,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
251
246
|
|
|
252
247
|
return hoverValues;
|
|
253
248
|
}, [hoverRange, isoWeek]);
|
|
254
|
-
var handleValueUpdate = (0, _react.useCallback)(function (event,
|
|
249
|
+
var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {
|
|
255
250
|
if (closeOverlay === void 0) {
|
|
256
251
|
closeOverlay = true;
|
|
257
252
|
}
|
|
258
253
|
|
|
259
|
-
|
|
260
|
-
|
|
254
|
+
// If nextValue is null, it means that the user is erasing the selected dates.
|
|
255
|
+
setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
|
|
261
256
|
|
|
262
257
|
if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {
|
|
263
258
|
setValue(nextValue);
|
|
@@ -268,40 +263,45 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
268
263
|
if (closeOverlay !== false) {
|
|
269
264
|
handleCloseDropdown();
|
|
270
265
|
}
|
|
271
|
-
}, [formatStr, handleCloseDropdown, onChange,
|
|
266
|
+
}, [formatStr, handleCloseDropdown, onChange, setValue, value]);
|
|
272
267
|
/**
|
|
273
268
|
* Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
|
|
274
269
|
* The MouseMove event is called between the first click and the second click to update the selection state.
|
|
275
270
|
*/
|
|
276
271
|
|
|
277
272
|
var handleMouseMove = (0, _react.useCallback)(function (date) {
|
|
278
|
-
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.
|
|
279
276
|
|
|
280
277
|
if (!hasDoneSelect.current) {
|
|
281
|
-
// If hoverRange is set, you need to change the value of
|
|
282
|
-
if (
|
|
283
|
-
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]];
|
|
284
281
|
|
|
285
|
-
if (_utils.DateUtils.isBefore(
|
|
286
|
-
|
|
287
|
-
nextHoverValue[1] = selectRangeValueRef.current[1];
|
|
282
|
+
if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {
|
|
283
|
+
nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];
|
|
288
284
|
}
|
|
289
285
|
|
|
290
|
-
|
|
286
|
+
setSelectedDates(nextSelectedDates);
|
|
291
287
|
} else {
|
|
292
|
-
|
|
293
|
-
return [prevHoverValue[0], date];
|
|
288
|
+
setHoverDateRange(function (prevHoverValue) {
|
|
289
|
+
return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];
|
|
294
290
|
});
|
|
295
|
-
} // Before the first click, if
|
|
291
|
+
} // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated
|
|
296
292
|
|
|
297
|
-
} else if (
|
|
298
|
-
|
|
293
|
+
} else if (!(0, _isNil.default)(nextHoverDateRange)) {
|
|
294
|
+
setHoverDateRange(nextHoverDateRange);
|
|
299
295
|
}
|
|
300
|
-
}, [getHoverRangeValue
|
|
301
|
-
|
|
302
|
-
|
|
296
|
+
}, [getHoverRangeValue]);
|
|
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 : [];
|
|
303
303
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
304
|
-
var noHoverRangeValid = hoverRangeValue
|
|
304
|
+
var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue); // in `oneTap` mode
|
|
305
305
|
|
|
306
306
|
if (hasDoneSelect.current && oneTap) {
|
|
307
307
|
handleValueUpdate(event, noHoverRangeValid ? [(0, _utils2.setTimingMargin)(date), (0, _utils2.setTimingMargin)(date, 'right')] : hoverRangeValue);
|
|
@@ -313,32 +313,32 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
313
313
|
if (noHoverRangeValid) {
|
|
314
314
|
// start select
|
|
315
315
|
if (hasDoneSelect.current) {
|
|
316
|
-
|
|
316
|
+
nextSelectDates = [date];
|
|
317
317
|
} else {
|
|
318
318
|
// finish select
|
|
319
|
-
|
|
319
|
+
nextSelectDates[1] = date;
|
|
320
320
|
}
|
|
321
321
|
} else {
|
|
322
322
|
if (!hasDoneSelect.current) {
|
|
323
|
-
|
|
323
|
+
nextSelectDates = selectedDates;
|
|
324
324
|
selectRangeValueRef.current = null;
|
|
325
325
|
} else {
|
|
326
|
-
|
|
326
|
+
nextSelectDates = hoverRangeValue;
|
|
327
327
|
selectRangeValueRef.current = hoverRangeValue;
|
|
328
328
|
}
|
|
329
329
|
} // If user have completed the selection, then sort
|
|
330
330
|
|
|
331
331
|
|
|
332
|
-
if (
|
|
333
|
-
|
|
332
|
+
if (nextSelectDates.length === 2 && _utils.DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {
|
|
333
|
+
nextSelectDates.reverse();
|
|
334
334
|
}
|
|
335
335
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
updateCalendarDate(
|
|
336
|
+
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : [nextSelectDates[0], nextSelectDates[0]]);
|
|
337
|
+
setSelectedDates(nextSelectDates);
|
|
338
|
+
updateCalendarDate(nextSelectDates);
|
|
339
339
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
340
340
|
hasDoneSelect.current = !hasDoneSelect.current;
|
|
341
|
-
}, [getHoverRangeValue, handleValueUpdate,
|
|
341
|
+
}, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);
|
|
342
342
|
/**
|
|
343
343
|
* If `selectValue` changed, there will be the following effects.
|
|
344
344
|
* 1. Check if the selection is completed.
|
|
@@ -346,19 +346,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
346
346
|
*/
|
|
347
347
|
|
|
348
348
|
(0, _react.useEffect)(function () {
|
|
349
|
-
var
|
|
350
|
-
|
|
351
|
-
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;
|
|
352
350
|
var doneSelected = selectValueLength === 0 || selectValueLength === 2;
|
|
353
|
-
doneSelected &&
|
|
354
|
-
}, [
|
|
351
|
+
doneSelected && setHoverDateRange(null);
|
|
352
|
+
}, [selectedDates]);
|
|
355
353
|
var handleChangeCalendarDate = (0, _react.useCallback)(function (index, date) {
|
|
356
354
|
var nextCalendarDate = Array.from(calendarDate);
|
|
357
355
|
nextCalendarDate[index] = date;
|
|
358
356
|
updateCalendarDate(nextCalendarDate);
|
|
359
357
|
}, [calendarDate, updateCalendarDate]);
|
|
360
358
|
var handleChangeCalendarTime = (0, _react.useCallback)(function (index, date) {
|
|
361
|
-
|
|
359
|
+
setSelectedDates(function (prev) {
|
|
362
360
|
var next = [].concat(prev);
|
|
363
361
|
var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day
|
|
364
362
|
|
|
@@ -385,24 +383,28 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
385
383
|
next[index] = _utils.DateUtils.setHours(clonedDate, nextHours);
|
|
386
384
|
setCalendarDate(next); // If the value already exists, update the value again.
|
|
387
385
|
|
|
388
|
-
if (
|
|
389
|
-
|
|
386
|
+
if (selectedDates.length === 2) {
|
|
387
|
+
setSelectedDates(next);
|
|
390
388
|
}
|
|
391
|
-
}, [calendarDate,
|
|
389
|
+
}, [calendarDate, selectedDates]);
|
|
392
390
|
/**
|
|
393
391
|
* Toolbar operation callback function
|
|
394
392
|
*/
|
|
395
393
|
|
|
396
394
|
var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {
|
|
395
|
+
if (closeOverlay === void 0) {
|
|
396
|
+
closeOverlay = false;
|
|
397
|
+
}
|
|
398
|
+
|
|
397
399
|
handleValueUpdate(event, value, closeOverlay);
|
|
398
400
|
}, [handleValueUpdate]);
|
|
399
401
|
var handleOK = (0, _react.useCallback)(function (event) {
|
|
400
|
-
handleValueUpdate(event);
|
|
401
|
-
onOk === null || onOk === void 0 ? void 0 : onOk(
|
|
402
|
-
}, [handleValueUpdate, onOk,
|
|
402
|
+
handleValueUpdate(event, selectedDates);
|
|
403
|
+
onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
|
|
404
|
+
}, [handleValueUpdate, onOk, selectedDates]);
|
|
403
405
|
var handleClean = (0, _react.useCallback)(function (event) {
|
|
404
|
-
updateCalendarDate();
|
|
405
|
-
handleValueUpdate(event,
|
|
406
|
+
updateCalendarDate(null);
|
|
407
|
+
handleValueUpdate(event, null);
|
|
406
408
|
}, [handleValueUpdate, updateCalendarDate]);
|
|
407
409
|
/**
|
|
408
410
|
* Callback after the input box value is changed.
|
|
@@ -431,13 +433,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
431
433
|
return;
|
|
432
434
|
}
|
|
433
435
|
|
|
434
|
-
if (
|
|
436
|
+
if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {
|
|
435
437
|
setInputState('Error');
|
|
436
438
|
return;
|
|
437
439
|
}
|
|
438
440
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
+
setHoverDateRange(selectValue);
|
|
442
|
+
setSelectedDates(selectValue);
|
|
441
443
|
updateCalendarDate(selectValue);
|
|
442
444
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
443
445
|
[character, rangeFormatStr, updateCalendarDate]);
|
|
@@ -447,11 +449,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
447
449
|
|
|
448
450
|
var handleInputPressEnd = (0, _react.useCallback)(function (event) {
|
|
449
451
|
if (inputState === 'Typing') {
|
|
450
|
-
handleValueUpdate(event,
|
|
452
|
+
handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
|
|
451
453
|
}
|
|
452
454
|
|
|
453
455
|
setInputState('Initial');
|
|
454
|
-
}, [handleValueUpdate,
|
|
456
|
+
}, [handleValueUpdate, selectedDates, inputState]);
|
|
455
457
|
var handleEnter = (0, _react.useCallback)(function () {
|
|
456
458
|
var nextCalendarDate;
|
|
457
459
|
|
|
@@ -461,13 +463,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
461
463
|
nextCalendarDate = [_startDate, (0, _dateUtils.isSameMonth)(_startDate, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];
|
|
462
464
|
} else {
|
|
463
465
|
nextCalendarDate = (0, _utils2.getCalendarDate)({
|
|
464
|
-
value: defaultCalendarValue
|
|
466
|
+
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
465
467
|
});
|
|
466
468
|
}
|
|
467
469
|
|
|
468
|
-
|
|
470
|
+
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
469
471
|
updateCalendarDate(nextCalendarDate);
|
|
470
|
-
}, [defaultCalendarValue, updateCalendarDate,
|
|
472
|
+
}, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);
|
|
471
473
|
var handleEntered = (0, _react.useCallback)(function () {
|
|
472
474
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
473
475
|
setPickerToggleActive(true);
|
|
@@ -477,17 +479,16 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
477
479
|
hasDoneSelect.current = true;
|
|
478
480
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
479
481
|
}, [onClose]);
|
|
480
|
-
var
|
|
481
|
-
|
|
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;
|
|
482
486
|
}, [disabledDateProp]);
|
|
483
487
|
var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {
|
|
484
|
-
|
|
485
|
-
selectEndDate = selectValue[1];
|
|
486
|
-
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
|
|
487
489
|
// the button is disabled
|
|
488
|
-
|
|
489
490
|
while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {
|
|
490
|
-
if (
|
|
491
|
+
if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {
|
|
491
492
|
return true;
|
|
492
493
|
}
|
|
493
494
|
|
|
@@ -495,17 +496,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
495
496
|
}
|
|
496
497
|
|
|
497
498
|
return false;
|
|
498
|
-
}, [
|
|
499
|
+
}, [isDateDisabled, selectedDates]);
|
|
499
500
|
var disabledOkButton = (0, _react.useCallback)(function () {
|
|
500
|
-
var start =
|
|
501
|
-
end =
|
|
501
|
+
var start = selectedDates[0],
|
|
502
|
+
end = selectedDates[1];
|
|
502
503
|
|
|
503
504
|
if (!start || !end || !hasDoneSelect.current) {
|
|
504
505
|
return true;
|
|
505
506
|
}
|
|
506
507
|
|
|
507
508
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
508
|
-
}, [disabledByBetween,
|
|
509
|
+
}, [disabledByBetween, selectedDates]);
|
|
509
510
|
var disabledShortcutButton = (0, _react.useCallback)(function (value) {
|
|
510
511
|
if (value === void 0) {
|
|
511
512
|
value = [];
|
|
@@ -522,8 +523,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
522
523
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
523
524
|
}, [disabledByBetween]);
|
|
524
525
|
var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {
|
|
525
|
-
return
|
|
526
|
-
}, [
|
|
526
|
+
return isDateDisabled(date, values, hasDoneSelect.current, type);
|
|
527
|
+
}, [isDateDisabled]);
|
|
527
528
|
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
|
|
528
529
|
triggerRef: triggerRef,
|
|
529
530
|
targetRef: targetRef,
|
|
@@ -547,18 +548,18 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
547
548
|
calendarDate: calendarDate,
|
|
548
549
|
disabledDate: handleDisabledDate,
|
|
549
550
|
format: formatStr,
|
|
550
|
-
hoverRangeValue:
|
|
551
|
+
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
551
552
|
isoWeek: isoWeek,
|
|
552
553
|
limitEndYear: limitEndYear,
|
|
553
554
|
locale: locale,
|
|
554
555
|
showOneCalendar: showOneCalendar,
|
|
555
556
|
showWeekNumbers: showWeekNumbers,
|
|
556
|
-
value:
|
|
557
|
+
value: selectedDates,
|
|
557
558
|
showMeridian: showMeridian,
|
|
558
559
|
onChangeCalendarDate: handleChangeCalendarDate,
|
|
559
560
|
onChangeCalendarTime: handleChangeCalendarTime,
|
|
560
561
|
onMouseMove: handleMouseMove,
|
|
561
|
-
onSelect:
|
|
562
|
+
onSelect: handleSelectDate,
|
|
562
563
|
onToggleMeridian: handleToggleMeridian
|
|
563
564
|
};
|
|
564
565
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
|
|
@@ -572,7 +573,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
572
573
|
className: prefix('daterange-content')
|
|
573
574
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
574
575
|
className: prefix('daterange-header')
|
|
575
|
-
}, getDisplayString(
|
|
576
|
+
}, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement("div", {
|
|
576
577
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
577
578
|
}, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
578
579
|
index: 0
|
|
@@ -580,7 +581,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
580
581
|
index: 1
|
|
581
582
|
}, panelProps)))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
582
583
|
locale: locale,
|
|
583
|
-
calendarDate:
|
|
584
|
+
calendarDate: selectedDates,
|
|
584
585
|
disabledOkBtn: disabledOkButton,
|
|
585
586
|
disabledShortcut: disabledShortcutButton,
|
|
586
587
|
hideOkBtn: oneTap,
|
|
@@ -590,7 +591,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
590
591
|
})));
|
|
591
592
|
};
|
|
592
593
|
|
|
593
|
-
var hasValue = value && value.length > 1;
|
|
594
|
+
var hasValue = !(0, _isNil.default)(value) && value.length > 1;
|
|
594
595
|
|
|
595
596
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
596
597
|
classPrefix: classPrefix,
|
|
@@ -631,9 +632,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
631
632
|
hasValue: hasValue,
|
|
632
633
|
active: isPickerToggleActive,
|
|
633
634
|
placement: placement,
|
|
634
|
-
|
|
635
|
+
caretAs: _Calendar.default,
|
|
635
636
|
disabled: disabled
|
|
636
|
-
}), getDisplayString())));
|
|
637
|
+
}), getDisplayString(value))));
|
|
637
638
|
});
|
|
638
639
|
|
|
639
640
|
DateRangePicker.after = disabledDateUtils.after;
|
|
@@ -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;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import DisclosureButton from './DisclosureButton';
|
|
3
3
|
import DisclosureContent from './DisclosureContent';
|
|
4
|
-
export
|
|
4
|
+
export declare type DisclosureTrigger = 'click' | 'mouseover';
|
|
5
|
+
export interface DisclosureRenderProps extends Pick<React.HTMLAttributes<HTMLElement>, 'onMouseOver' | 'onMouseOut'> {
|
|
5
6
|
open: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface DisclosureProps {
|
|
@@ -13,10 +14,12 @@ export interface DisclosureProps {
|
|
|
13
14
|
hideOnClickOutside?: boolean;
|
|
14
15
|
/** Callback when disclosure button is being activated to update the open state */
|
|
15
16
|
onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
|
|
17
|
+
/** What mouse events should disclosure reacts to */
|
|
18
|
+
trigger?: DisclosureTrigger[];
|
|
16
19
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var Content: typeof DisclosureContent;
|
|
20
|
+
export interface DisclosureComponent extends React.FC<DisclosureProps> {
|
|
21
|
+
Button: typeof DisclosureButton;
|
|
22
|
+
Content: typeof DisclosureContent;
|
|
21
23
|
}
|
|
24
|
+
declare const Disclosure: DisclosureComponent;
|
|
22
25
|
export default Disclosure;
|