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
|
@@ -48,7 +48,7 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
48
48
|
setCalendarState(undefined);
|
|
49
49
|
}, [index, onChangeCalendarDate]);
|
|
50
50
|
var handleChangePageTime = useCallback(function (nextPageDate) {
|
|
51
|
-
onChangeCalendarTime(index, nextPageDate);
|
|
51
|
+
onChangeCalendarTime === null || onChangeCalendarTime === void 0 ? void 0 : onChangeCalendarTime(index, nextPageDate);
|
|
52
52
|
}, [index, onChangeCalendarTime]);
|
|
53
53
|
var handleToggleMeridian = useCallback(function (event) {
|
|
54
54
|
onToggleMeridian(index, event);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FormControlBaseProps, PickerBaseProps } from '../@types/common';
|
|
3
3
|
import { PickerComponent } from '../Picker';
|
|
4
|
-
import { DisabledDateFunction, RangeType,
|
|
5
|
-
export interface DateRangePickerProps extends PickerBaseProps, FormControlBaseProps<
|
|
4
|
+
import { DisabledDateFunction, RangeType, DateRange } from './types';
|
|
5
|
+
export interface DateRangePickerProps extends PickerBaseProps, FormControlBaseProps<DateRange | null> {
|
|
6
6
|
/** Configure shortcut options */
|
|
7
7
|
ranges?: RangeType[];
|
|
8
8
|
/** Format date */
|
|
9
9
|
format?: string;
|
|
10
10
|
/** The date range that will be selected when you click on the date */
|
|
11
|
-
hoverRange?: 'week' | 'month' | ((date: Date) =>
|
|
11
|
+
hoverRange?: 'week' | 'month' | ((date: Date) => DateRange);
|
|
12
12
|
/** Whether to click once on selected date range,Can be used with hoverRange */
|
|
13
13
|
oneTap?: boolean;
|
|
14
14
|
/** ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day */
|
|
@@ -22,7 +22,7 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
|
|
|
22
22
|
/** Meridian format */
|
|
23
23
|
showMeridian?: boolean;
|
|
24
24
|
/** Set default date for calendar */
|
|
25
|
-
defaultCalendarValue?:
|
|
25
|
+
defaultCalendarValue?: DateRange;
|
|
26
26
|
/** The character that separates two dates */
|
|
27
27
|
character?: string;
|
|
28
28
|
/** Disabled date */
|
|
@@ -30,11 +30,11 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
|
|
|
30
30
|
/** Called when the option is selected */
|
|
31
31
|
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
32
32
|
/** Called after clicking the OK button */
|
|
33
|
-
onOk?: (date:
|
|
33
|
+
onOk?: (date: DateRange, event: React.SyntheticEvent) => void;
|
|
34
34
|
/** Called when clean */
|
|
35
35
|
onClean?: (event: React.MouseEvent) => void;
|
|
36
36
|
/** Custom render value */
|
|
37
|
-
renderValue?: (value:
|
|
37
|
+
renderValue?: (value: DateRange, format: string) => React.ReactNode;
|
|
38
38
|
}
|
|
39
39
|
export interface DateRangePicker extends PickerComponent<DateRangePickerProps> {
|
|
40
40
|
/** Allow the maximum number of days specified, other dates are disabled */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import IconCalendar from '@rsuite/icons/legacy/Calendar';
|
|
4
|
-
import
|
|
4
|
+
import isNil from 'lodash/isNil';
|
|
5
5
|
import omit from 'lodash/omit';
|
|
6
6
|
import partial from 'lodash/partial';
|
|
7
7
|
import pick from 'lodash/pick';
|
|
@@ -16,7 +16,7 @@ import Calendar from './Calendar';
|
|
|
16
16
|
import * as disabledDateUtils from './disabledDateUtils';
|
|
17
17
|
import { getCalendarDate, getMonthHoverRange, getWeekHoverRange, isSameRange, setTimingMargin } from './utils';
|
|
18
18
|
var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
19
|
-
var _ref, _merge;
|
|
19
|
+
var _ref, _ref2, _merge;
|
|
20
20
|
|
|
21
21
|
var _props$as = props.as,
|
|
22
22
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -36,7 +36,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
36
36
|
_props$format = props.format,
|
|
37
37
|
formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
|
|
38
38
|
hoverRange = props.hoverRange,
|
|
39
|
-
isoWeek = props.isoWeek,
|
|
39
|
+
_props$isoWeek = props.isoWeek,
|
|
40
|
+
isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
|
|
40
41
|
_props$limitEndYear = props.limitEndYear,
|
|
41
42
|
limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,
|
|
42
43
|
overrideLocale = props.locale,
|
|
@@ -78,7 +79,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
78
79
|
|
|
79
80
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
80
81
|
|
|
81
|
-
var _useControlled = useControlled(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue :
|
|
82
|
+
var _useControlled = useControlled(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
|
|
82
83
|
value = _useControlled[0],
|
|
83
84
|
setValue = _useControlled[1];
|
|
84
85
|
/**
|
|
@@ -100,17 +101,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
100
101
|
*/
|
|
101
102
|
|
|
102
103
|
var _useState = useState((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
selectedDates = _useState[0],
|
|
105
|
+
setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
|
|
105
106
|
|
|
106
107
|
|
|
107
|
-
var _useState2 = useState(
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
var _useState2 = useState(null),
|
|
109
|
+
hoverDateRange = _useState2[0],
|
|
110
|
+
setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.
|
|
110
111
|
|
|
111
112
|
|
|
112
113
|
var _useState3 = useState(getCalendarDate({
|
|
113
|
-
value: valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue
|
|
114
|
+
value: (_ref2 = valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
114
115
|
})),
|
|
115
116
|
calendarDate = _useState3[0],
|
|
116
117
|
setCalendarDate = _useState3[1];
|
|
@@ -138,18 +139,18 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
138
139
|
}, []); // if valueProp changed then update selectValue/hoverValue
|
|
139
140
|
|
|
140
141
|
useEffect(function () {
|
|
141
|
-
|
|
142
|
-
|
|
142
|
+
setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
|
|
143
|
+
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
143
144
|
}, [valueProp]);
|
|
144
145
|
|
|
145
146
|
var _useState5 = useState(false),
|
|
146
147
|
isPickerToggleActive = _useState5[0],
|
|
147
148
|
setPickerToggleActive = _useState5[1];
|
|
148
149
|
|
|
149
|
-
var rootRef = useRef();
|
|
150
|
-
var overlayRef = useRef();
|
|
151
|
-
var targetRef = useRef();
|
|
152
|
-
var triggerRef = useRef();
|
|
150
|
+
var rootRef = useRef(null);
|
|
151
|
+
var overlayRef = useRef(null);
|
|
152
|
+
var targetRef = useRef(null);
|
|
153
|
+
var triggerRef = useRef(null);
|
|
153
154
|
var handleCloseDropdown = useCallback(function () {
|
|
154
155
|
var _triggerRef$current, _triggerRef$current$c;
|
|
155
156
|
|
|
@@ -162,14 +163,10 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
162
163
|
rootRef: rootRef
|
|
163
164
|
});
|
|
164
165
|
var getDisplayString = useCallback(function (nextValue, isPlaintext) {
|
|
165
|
-
var _nextValue
|
|
166
|
+
var _nextValue$, _nextValue$2;
|
|
166
167
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
var startDate = (_nextValue = nextValue) === null || _nextValue === void 0 ? void 0 : _nextValue[0];
|
|
172
|
-
var endDate = (_nextValue2 = nextValue) === null || _nextValue2 === void 0 ? void 0 : _nextValue2[1];
|
|
168
|
+
var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;
|
|
169
|
+
var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;
|
|
173
170
|
|
|
174
171
|
if (startDate && endDate) {
|
|
175
172
|
var displayValue = [startDate, endDate].sort(compareAsc);
|
|
@@ -188,35 +185,33 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
188
185
|
}
|
|
189
186
|
|
|
190
187
|
return isPlaintext ? '' : placeholder || rangeFormatStr;
|
|
191
|
-
}, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue
|
|
188
|
+
}, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);
|
|
192
189
|
/**
|
|
193
190
|
* preset hover range
|
|
194
191
|
*/
|
|
195
192
|
|
|
196
193
|
var getHoverRangeValue = useCallback(function (date) {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
194
|
+
function getHoverRangeFunc() {
|
|
195
|
+
if (hoverRange === 'week') {
|
|
196
|
+
return partial(getWeekHoverRange, isoWeek);
|
|
197
|
+
} else if (hoverRange === 'month') {
|
|
198
|
+
return getMonthHoverRange;
|
|
199
|
+
}
|
|
202
200
|
|
|
203
|
-
|
|
204
|
-
hoverRangeFunc = partial(getWeekHoverRange, isoWeek);
|
|
201
|
+
return hoverRange;
|
|
205
202
|
}
|
|
206
203
|
|
|
207
|
-
|
|
208
|
-
hoverRangeFunc = getMonthHoverRange;
|
|
209
|
-
}
|
|
204
|
+
var hoverRangeFunc = getHoverRangeFunc();
|
|
210
205
|
|
|
211
|
-
if (
|
|
212
|
-
return
|
|
206
|
+
if (isNil(hoverRangeFunc)) {
|
|
207
|
+
return null;
|
|
213
208
|
}
|
|
214
209
|
|
|
215
210
|
var hoverValues = hoverRangeFunc(date);
|
|
216
211
|
var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;
|
|
217
212
|
|
|
218
213
|
if (!isHoverRangeValid) {
|
|
219
|
-
return
|
|
214
|
+
return null;
|
|
220
215
|
}
|
|
221
216
|
|
|
222
217
|
if (DateUtils.isAfter(hoverValues[0], hoverValues[1])) {
|
|
@@ -225,13 +220,13 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
225
220
|
|
|
226
221
|
return hoverValues;
|
|
227
222
|
}, [hoverRange, isoWeek]);
|
|
228
|
-
var handleValueUpdate = useCallback(function (event,
|
|
223
|
+
var handleValueUpdate = useCallback(function (event, nextValue, closeOverlay) {
|
|
229
224
|
if (closeOverlay === void 0) {
|
|
230
225
|
closeOverlay = true;
|
|
231
226
|
}
|
|
232
227
|
|
|
233
|
-
|
|
234
|
-
|
|
228
|
+
// If nextValue is null, it means that the user is erasing the selected dates.
|
|
229
|
+
setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
|
|
235
230
|
|
|
236
231
|
if (!isSameRange(nextValue, value, formatStr)) {
|
|
237
232
|
setValue(nextValue);
|
|
@@ -242,40 +237,45 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
242
237
|
if (closeOverlay !== false) {
|
|
243
238
|
handleCloseDropdown();
|
|
244
239
|
}
|
|
245
|
-
}, [formatStr, handleCloseDropdown, onChange,
|
|
240
|
+
}, [formatStr, handleCloseDropdown, onChange, setValue, value]);
|
|
246
241
|
/**
|
|
247
242
|
* Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
|
|
248
243
|
* The MouseMove event is called between the first click and the second click to update the selection state.
|
|
249
244
|
*/
|
|
250
245
|
|
|
251
246
|
var handleMouseMove = useCallback(function (date) {
|
|
252
|
-
var
|
|
247
|
+
var nextHoverDateRange = getHoverRangeValue(date); // If hasDoneSelect is false,
|
|
248
|
+
// it means there's already one selected date
|
|
249
|
+
// and waiting for user to select the second date to complete the selection.
|
|
253
250
|
|
|
254
251
|
if (!hasDoneSelect.current) {
|
|
255
|
-
// If hoverRange is set, you need to change the value of
|
|
256
|
-
if (
|
|
257
|
-
var
|
|
252
|
+
// If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules
|
|
253
|
+
if (!isNil(nextHoverDateRange)) {
|
|
254
|
+
var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];
|
|
258
255
|
|
|
259
|
-
if (DateUtils.isBefore(
|
|
260
|
-
|
|
261
|
-
nextHoverValue[1] = selectRangeValueRef.current[1];
|
|
256
|
+
if (DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {
|
|
257
|
+
nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];
|
|
262
258
|
}
|
|
263
259
|
|
|
264
|
-
|
|
260
|
+
setSelectedDates(nextSelectedDates);
|
|
265
261
|
} else {
|
|
266
|
-
|
|
267
|
-
return [prevHoverValue[0], date];
|
|
262
|
+
setHoverDateRange(function (prevHoverValue) {
|
|
263
|
+
return isNil(prevHoverValue) ? null : [prevHoverValue[0], date];
|
|
268
264
|
});
|
|
269
|
-
} // Before the first click, if
|
|
265
|
+
} // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated
|
|
270
266
|
|
|
271
|
-
} else if (
|
|
272
|
-
|
|
267
|
+
} else if (!isNil(nextHoverDateRange)) {
|
|
268
|
+
setHoverDateRange(nextHoverDateRange);
|
|
273
269
|
}
|
|
274
|
-
}, [getHoverRangeValue
|
|
275
|
-
|
|
276
|
-
|
|
270
|
+
}, [getHoverRangeValue]);
|
|
271
|
+
/**
|
|
272
|
+
* Callback for selecting a date cell in the calendar grid
|
|
273
|
+
*/
|
|
274
|
+
|
|
275
|
+
var handleSelectDate = useCallback(function (date, event) {
|
|
276
|
+
var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
|
|
277
277
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
278
|
-
var noHoverRangeValid = hoverRangeValue
|
|
278
|
+
var noHoverRangeValid = isNil(hoverRangeValue); // in `oneTap` mode
|
|
279
279
|
|
|
280
280
|
if (hasDoneSelect.current && oneTap) {
|
|
281
281
|
handleValueUpdate(event, noHoverRangeValid ? [setTimingMargin(date), setTimingMargin(date, 'right')] : hoverRangeValue);
|
|
@@ -287,32 +287,32 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
287
287
|
if (noHoverRangeValid) {
|
|
288
288
|
// start select
|
|
289
289
|
if (hasDoneSelect.current) {
|
|
290
|
-
|
|
290
|
+
nextSelectDates = [date];
|
|
291
291
|
} else {
|
|
292
292
|
// finish select
|
|
293
|
-
|
|
293
|
+
nextSelectDates[1] = date;
|
|
294
294
|
}
|
|
295
295
|
} else {
|
|
296
296
|
if (!hasDoneSelect.current) {
|
|
297
|
-
|
|
297
|
+
nextSelectDates = selectedDates;
|
|
298
298
|
selectRangeValueRef.current = null;
|
|
299
299
|
} else {
|
|
300
|
-
|
|
300
|
+
nextSelectDates = hoverRangeValue;
|
|
301
301
|
selectRangeValueRef.current = hoverRangeValue;
|
|
302
302
|
}
|
|
303
303
|
} // If user have completed the selection, then sort
|
|
304
304
|
|
|
305
305
|
|
|
306
|
-
if (
|
|
307
|
-
|
|
306
|
+
if (nextSelectDates.length === 2 && DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {
|
|
307
|
+
nextSelectDates.reverse();
|
|
308
308
|
}
|
|
309
309
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
updateCalendarDate(
|
|
310
|
+
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : [nextSelectDates[0], nextSelectDates[0]]);
|
|
311
|
+
setSelectedDates(nextSelectDates);
|
|
312
|
+
updateCalendarDate(nextSelectDates);
|
|
313
313
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
314
314
|
hasDoneSelect.current = !hasDoneSelect.current;
|
|
315
|
-
}, [getHoverRangeValue, handleValueUpdate,
|
|
315
|
+
}, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);
|
|
316
316
|
/**
|
|
317
317
|
* If `selectValue` changed, there will be the following effects.
|
|
318
318
|
* 1. Check if the selection is completed.
|
|
@@ -320,19 +320,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
320
320
|
*/
|
|
321
321
|
|
|
322
322
|
useEffect(function () {
|
|
323
|
-
var
|
|
324
|
-
|
|
325
|
-
var selectValueLength = (_selectValue$length = selectValue === null || selectValue === void 0 ? void 0 : selectValue.length) !== null && _selectValue$length !== void 0 ? _selectValue$length : 0;
|
|
323
|
+
var selectValueLength = selectedDates.length;
|
|
326
324
|
var doneSelected = selectValueLength === 0 || selectValueLength === 2;
|
|
327
|
-
doneSelected &&
|
|
328
|
-
}, [
|
|
325
|
+
doneSelected && setHoverDateRange(null);
|
|
326
|
+
}, [selectedDates]);
|
|
329
327
|
var handleChangeCalendarDate = useCallback(function (index, date) {
|
|
330
328
|
var nextCalendarDate = Array.from(calendarDate);
|
|
331
329
|
nextCalendarDate[index] = date;
|
|
332
330
|
updateCalendarDate(nextCalendarDate);
|
|
333
331
|
}, [calendarDate, updateCalendarDate]);
|
|
334
332
|
var handleChangeCalendarTime = useCallback(function (index, date) {
|
|
335
|
-
|
|
333
|
+
setSelectedDates(function (prev) {
|
|
336
334
|
var next = [].concat(prev);
|
|
337
335
|
var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day
|
|
338
336
|
|
|
@@ -357,24 +355,28 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
357
355
|
next[index] = DateUtils.setHours(clonedDate, nextHours);
|
|
358
356
|
setCalendarDate(next); // If the value already exists, update the value again.
|
|
359
357
|
|
|
360
|
-
if (
|
|
361
|
-
|
|
358
|
+
if (selectedDates.length === 2) {
|
|
359
|
+
setSelectedDates(next);
|
|
362
360
|
}
|
|
363
|
-
}, [calendarDate,
|
|
361
|
+
}, [calendarDate, selectedDates]);
|
|
364
362
|
/**
|
|
365
363
|
* Toolbar operation callback function
|
|
366
364
|
*/
|
|
367
365
|
|
|
368
366
|
var handleShortcutPageDate = useCallback(function (value, closeOverlay, event) {
|
|
367
|
+
if (closeOverlay === void 0) {
|
|
368
|
+
closeOverlay = false;
|
|
369
|
+
}
|
|
370
|
+
|
|
369
371
|
handleValueUpdate(event, value, closeOverlay);
|
|
370
372
|
}, [handleValueUpdate]);
|
|
371
373
|
var handleOK = useCallback(function (event) {
|
|
372
|
-
handleValueUpdate(event);
|
|
373
|
-
onOk === null || onOk === void 0 ? void 0 : onOk(
|
|
374
|
-
}, [handleValueUpdate, onOk,
|
|
374
|
+
handleValueUpdate(event, selectedDates);
|
|
375
|
+
onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
|
|
376
|
+
}, [handleValueUpdate, onOk, selectedDates]);
|
|
375
377
|
var handleClean = useCallback(function (event) {
|
|
376
|
-
updateCalendarDate();
|
|
377
|
-
handleValueUpdate(event,
|
|
378
|
+
updateCalendarDate(null);
|
|
379
|
+
handleValueUpdate(event, null);
|
|
378
380
|
}, [handleValueUpdate, updateCalendarDate]);
|
|
379
381
|
/**
|
|
380
382
|
* Callback after the input box value is changed.
|
|
@@ -403,13 +405,13 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
403
405
|
return;
|
|
404
406
|
}
|
|
405
407
|
|
|
406
|
-
if (
|
|
408
|
+
if (isDateDisabled(startDate, selectValue, true, DATERANGE_DISABLED_TARGET.CALENDAR)) {
|
|
407
409
|
setInputState('Error');
|
|
408
410
|
return;
|
|
409
411
|
}
|
|
410
412
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
+
setHoverDateRange(selectValue);
|
|
414
|
+
setSelectedDates(selectValue);
|
|
413
415
|
updateCalendarDate(selectValue);
|
|
414
416
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
415
417
|
[character, rangeFormatStr, updateCalendarDate]);
|
|
@@ -419,11 +421,11 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
419
421
|
|
|
420
422
|
var handleInputPressEnd = useCallback(function (event) {
|
|
421
423
|
if (inputState === 'Typing') {
|
|
422
|
-
handleValueUpdate(event,
|
|
424
|
+
handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
|
|
423
425
|
}
|
|
424
426
|
|
|
425
427
|
setInputState('Initial');
|
|
426
|
-
}, [handleValueUpdate,
|
|
428
|
+
}, [handleValueUpdate, selectedDates, inputState]);
|
|
427
429
|
var handleEnter = useCallback(function () {
|
|
428
430
|
var nextCalendarDate;
|
|
429
431
|
|
|
@@ -433,13 +435,13 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
433
435
|
nextCalendarDate = [_startDate, isSameMonth(_startDate, endData) ? addMonths(endData, 1) : endData];
|
|
434
436
|
} else {
|
|
435
437
|
nextCalendarDate = getCalendarDate({
|
|
436
|
-
value: defaultCalendarValue
|
|
438
|
+
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
437
439
|
});
|
|
438
440
|
}
|
|
439
441
|
|
|
440
|
-
|
|
442
|
+
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
441
443
|
updateCalendarDate(nextCalendarDate);
|
|
442
|
-
}, [defaultCalendarValue, updateCalendarDate,
|
|
444
|
+
}, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);
|
|
443
445
|
var handleEntered = useCallback(function () {
|
|
444
446
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
445
447
|
setPickerToggleActive(true);
|
|
@@ -449,17 +451,16 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
449
451
|
hasDoneSelect.current = true;
|
|
450
452
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
451
453
|
}, [onClose]);
|
|
452
|
-
var
|
|
453
|
-
|
|
454
|
+
var isDateDisabled = useCallback(function (date, selectDate, selectedDone, target) {
|
|
455
|
+
var _disabledDateProp;
|
|
456
|
+
|
|
457
|
+
return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;
|
|
454
458
|
}, [disabledDateProp]);
|
|
455
459
|
var disabledByBetween = useCallback(function (start, end, type) {
|
|
456
|
-
|
|
457
|
-
selectEndDate = selectValue[1];
|
|
458
|
-
var nextSelectValue = [selectStartDate, selectEndDate]; // If the date is between the start and the end
|
|
460
|
+
// If the date is between the start and the end
|
|
459
461
|
// the button is disabled
|
|
460
|
-
|
|
461
462
|
while (DateUtils.isBefore(start, end) || DateUtils.isSameDay(start, end)) {
|
|
462
|
-
if (
|
|
463
|
+
if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {
|
|
463
464
|
return true;
|
|
464
465
|
}
|
|
465
466
|
|
|
@@ -467,17 +468,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
467
468
|
}
|
|
468
469
|
|
|
469
470
|
return false;
|
|
470
|
-
}, [
|
|
471
|
+
}, [isDateDisabled, selectedDates]);
|
|
471
472
|
var disabledOkButton = useCallback(function () {
|
|
472
|
-
var start =
|
|
473
|
-
end =
|
|
473
|
+
var start = selectedDates[0],
|
|
474
|
+
end = selectedDates[1];
|
|
474
475
|
|
|
475
476
|
if (!start || !end || !hasDoneSelect.current) {
|
|
476
477
|
return true;
|
|
477
478
|
}
|
|
478
479
|
|
|
479
480
|
return disabledByBetween(start, end, DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
480
|
-
}, [disabledByBetween,
|
|
481
|
+
}, [disabledByBetween, selectedDates]);
|
|
481
482
|
var disabledShortcutButton = useCallback(function (value) {
|
|
482
483
|
if (value === void 0) {
|
|
483
484
|
value = [];
|
|
@@ -494,8 +495,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
494
495
|
return disabledByBetween(start, end, DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
495
496
|
}, [disabledByBetween]);
|
|
496
497
|
var handleDisabledDate = useCallback(function (date, values, type) {
|
|
497
|
-
return
|
|
498
|
-
}, [
|
|
498
|
+
return isDateDisabled(date, values, hasDoneSelect.current, type);
|
|
499
|
+
}, [isDateDisabled]);
|
|
499
500
|
var onPickerKeyDown = useToggleKeyDownEvent(_extends({
|
|
500
501
|
triggerRef: triggerRef,
|
|
501
502
|
targetRef: targetRef,
|
|
@@ -521,18 +522,18 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
521
522
|
calendarDate: calendarDate,
|
|
522
523
|
disabledDate: handleDisabledDate,
|
|
523
524
|
format: formatStr,
|
|
524
|
-
hoverRangeValue:
|
|
525
|
+
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
525
526
|
isoWeek: isoWeek,
|
|
526
527
|
limitEndYear: limitEndYear,
|
|
527
528
|
locale: locale,
|
|
528
529
|
showOneCalendar: showOneCalendar,
|
|
529
530
|
showWeekNumbers: showWeekNumbers,
|
|
530
|
-
value:
|
|
531
|
+
value: selectedDates,
|
|
531
532
|
showMeridian: showMeridian,
|
|
532
533
|
onChangeCalendarDate: handleChangeCalendarDate,
|
|
533
534
|
onChangeCalendarTime: handleChangeCalendarTime,
|
|
534
535
|
onMouseMove: handleMouseMove,
|
|
535
|
-
onSelect:
|
|
536
|
+
onSelect: handleSelectDate,
|
|
536
537
|
onToggleMeridian: handleToggleMeridian
|
|
537
538
|
};
|
|
538
539
|
return /*#__PURE__*/React.createElement(PickerOverlay, {
|
|
@@ -546,7 +547,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
546
547
|
className: prefix('daterange-content')
|
|
547
548
|
}, /*#__PURE__*/React.createElement("div", {
|
|
548
549
|
className: prefix('daterange-header')
|
|
549
|
-
}, getDisplayString(
|
|
550
|
+
}, getDisplayString(selectedDates)), /*#__PURE__*/React.createElement("div", {
|
|
550
551
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
551
552
|
}, /*#__PURE__*/React.createElement(Calendar, _extends({
|
|
552
553
|
index: 0
|
|
@@ -554,7 +555,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
554
555
|
index: 1
|
|
555
556
|
}, panelProps)))), /*#__PURE__*/React.createElement(Toolbar, {
|
|
556
557
|
locale: locale,
|
|
557
|
-
calendarDate:
|
|
558
|
+
calendarDate: selectedDates,
|
|
558
559
|
disabledOkBtn: disabledOkButton,
|
|
559
560
|
disabledShortcut: disabledShortcutButton,
|
|
560
561
|
hideOkBtn: oneTap,
|
|
@@ -564,7 +565,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
564
565
|
})));
|
|
565
566
|
};
|
|
566
567
|
|
|
567
|
-
var hasValue = value && value.length > 1;
|
|
568
|
+
var hasValue = !isNil(value) && value.length > 1;
|
|
568
569
|
|
|
569
570
|
var _usePickerClassName = usePickerClassName(_extends({}, props, {
|
|
570
571
|
classPrefix: classPrefix,
|
|
@@ -605,9 +606,9 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
605
606
|
hasValue: hasValue,
|
|
606
607
|
active: isPickerToggleActive,
|
|
607
608
|
placement: placement,
|
|
608
|
-
|
|
609
|
+
caretAs: IconCalendar,
|
|
609
610
|
disabled: disabled
|
|
610
|
-
}), getDisplayString())));
|
|
611
|
+
}), getDisplayString(value))));
|
|
611
612
|
});
|
|
612
613
|
DateRangePicker.after = disabledDateUtils.after;
|
|
613
614
|
DateRangePicker.afterToday = disabledDateUtils.afterToday;
|
|
@@ -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;
|
|
@@ -37,10 +37,14 @@ export var getDefaultRanges = function getDefaultRanges() {
|
|
|
37
37
|
}];
|
|
38
38
|
};
|
|
39
39
|
export var isSameRange = function isSameRange(source, dest, format) {
|
|
40
|
-
|
|
40
|
+
// If both are null, reguard as same
|
|
41
|
+
if (null === source && null === dest) return true; // If only one is null, regard as different
|
|
42
|
+
|
|
43
|
+
if (null === source || null === dest) return false;
|
|
44
|
+
var result = DateUtils.isSameDay(source[0], dest[0]) && DateUtils.isSameDay(source[1], dest[1]);
|
|
41
45
|
|
|
42
46
|
if (DateUtils.shouldTime(format)) {
|
|
43
|
-
result && (result = DateUtils.isSameSecond(source
|
|
47
|
+
result && (result = DateUtils.isSameSecond(source[0], dest[0]) && DateUtils.isSameSecond(source[1], dest[1]));
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
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;
|