rsuite 5.2.1 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Avatar/styles/index.less +2 -2
- package/AvatarGroup/package.json +7 -0
- package/AvatarGroup/styles/index.less +19 -0
- package/Button/styles/index.less +6 -0
- package/ButtonGroup/styles/index.less +0 -18
- package/CHANGELOG.md +49 -0
- package/CheckTreePicker/styles/index.less +14 -1
- package/PanelGroup/styles/index.less +12 -12
- package/Table/styles/index.less +0 -4
- package/TreePicker/styles/index.less +10 -0
- package/cjs/@types/common.d.ts +9 -8
- package/cjs/@types/utils.d.ts +12 -0
- package/cjs/Affix/Affix.js +5 -5
- package/cjs/Animation/Transition.d.ts +21 -12
- package/cjs/Animation/Transition.js +4 -1
- package/cjs/AutoComplete/AutoComplete.js +1 -1
- package/cjs/AutoComplete/utils.d.ts +1 -1
- package/cjs/Avatar/Avatar.js +10 -3
- package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
- package/cjs/AvatarGroup/AvatarGroup.js +71 -0
- package/cjs/AvatarGroup/index.d.ts +3 -0
- package/cjs/AvatarGroup/index.js +11 -0
- package/cjs/Breadcrumb/Breadcrumb.js +1 -1
- package/cjs/Button/Button.js +8 -2
- package/cjs/ButtonGroup/ButtonGroup.js +8 -2
- package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
- package/cjs/ButtonGroup/index.d.ts +2 -0
- package/cjs/ButtonGroup/index.js +3 -0
- package/cjs/Calendar/Calendar.d.ts +4 -4
- package/cjs/Calendar/Calendar.js +5 -2
- package/cjs/Calendar/CalendarContext.js +1 -1
- package/cjs/Calendar/TableRow.js +1 -1
- package/cjs/Calendar/TimeDropdown.js +6 -5
- package/cjs/Calendar/types.d.ts +2 -2
- package/cjs/Calendar/useCalendarDate.d.ts +2 -2
- package/cjs/Carousel/Carousel.d.ts +2 -2
- package/cjs/Carousel/Carousel.js +1 -1
- package/cjs/Cascader/Cascader.d.ts +1 -1
- package/cjs/Cascader/Cascader.js +10 -10
- package/cjs/Cascader/DropdownMenu.d.ts +5 -4
- package/cjs/Cascader/utils.d.ts +3 -3
- package/cjs/CheckPicker/CheckPicker.js +4 -4
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
- package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
- package/cjs/CheckTreePicker/utils.d.ts +3 -1
- package/cjs/CheckTreePicker/utils.js +12 -10
- package/cjs/Checkbox/Checkbox.d.ts +1 -1
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
- package/cjs/DOMHelper/index.d.ts +12 -12
- package/cjs/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/DatePicker/DatePicker.js +15 -9
- package/cjs/DatePicker/Toolbar.d.ts +12 -9
- package/cjs/DatePicker/Toolbar.js +6 -8
- package/cjs/DatePicker/types.d.ts +4 -4
- package/cjs/DatePicker/utils.d.ts +4 -3
- package/cjs/DateRangePicker/Calendar.d.ts +9 -7
- package/cjs/DateRangePicker/Calendar.js +27 -6
- package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
- package/cjs/DateRangePicker/DateRangePicker.js +126 -107
- package/cjs/DateRangePicker/types.d.ts +2 -1
- package/cjs/DateRangePicker/utils.d.ts +6 -6
- package/cjs/DateRangePicker/utils.js +7 -2
- package/cjs/Disclosure/Disclosure.js +4 -2
- package/cjs/Disclosure/DisclosureButton.js +9 -7
- package/cjs/Disclosure/DisclosureContent.js +4 -6
- package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
- package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
- package/cjs/Disclosure/useDisclosureContext.js +20 -0
- package/cjs/Dropdown/Dropdown.d.ts +1 -1
- package/cjs/Dropdown/DropdownContext.d.ts +2 -2
- package/cjs/Dropdown/DropdownItem.js +3 -2
- package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
- package/cjs/Dropdown/DropdownState.d.ts +1 -1
- package/cjs/Dropdown/DropdownToggle.js +2 -1
- package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/cjs/Form/Form.js +1 -1
- package/cjs/Form/FormContext.d.ts +1 -1
- package/cjs/FormControl/FormControl.d.ts +1 -1
- package/cjs/FormControl/FormControl.js +5 -4
- package/cjs/FormGroup/FormGroup.d.ts +1 -1
- package/cjs/Input/Input.d.ts +3 -2
- package/cjs/InputGroup/InputGroup.d.ts +1 -1
- package/cjs/InputNumber/InputNumber.js +6 -2
- package/cjs/InputPicker/InputAutosize.js +4 -4
- package/cjs/InputPicker/InputPicker.d.ts +2 -2
- package/cjs/InputPicker/InputPicker.js +16 -11
- package/cjs/List/ListContext.d.ts +1 -1
- package/cjs/List/ListContext.js +8 -1
- package/cjs/List/helper/AutoScroller.js +4 -2
- package/cjs/List/helper/useManager.d.ts +3 -3
- package/cjs/List/helper/useManager.js +1 -1
- package/cjs/List/helper/useSortHelper.d.ts +3 -3
- package/cjs/List/helper/useSortHelper.js +6 -4
- package/cjs/List/helper/utils.d.ts +2 -2
- package/cjs/MaskedInput/MaskedInput.d.ts +5 -42
- package/cjs/MaskedInput/MaskedInput.js +9 -63
- package/cjs/MaskedInput/TextMask.d.ts +43 -0
- package/cjs/MaskedInput/TextMask.js +80 -0
- package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
- package/cjs/MaskedInput/conformToMask.js +5 -4
- package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
- package/cjs/MaskedInput/utilities.d.ts +1 -1
- package/cjs/Menu/Menu.js +60 -41
- package/cjs/Menu/MenuContext.d.ts +1 -1
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +31 -23
- package/cjs/Menu/Menubar.js +8 -8
- package/cjs/Menu/useMenu.js +17 -7
- package/cjs/Modal/Modal.js +12 -6
- package/cjs/Modal/ModalContext.d.ts +2 -2
- package/cjs/Modal/utils.d.ts +1 -1
- package/cjs/Modal/utils.js +12 -15
- package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
- package/cjs/MultiCascader/MultiCascader.js +6 -6
- package/cjs/MultiCascader/utils.d.ts +14 -14
- package/cjs/Nav/Nav.d.ts +1 -1
- package/cjs/Nav/NavContext.d.ts +1 -1
- package/cjs/Nav/NavItem.d.ts +1 -1
- package/cjs/Navbar/Navbar.js +1 -1
- package/cjs/Navbar/NavbarItem.d.ts +1 -1
- package/cjs/Overlay/Modal.d.ts +2 -2
- package/cjs/Overlay/Modal.js +41 -31
- package/cjs/Overlay/ModalManager.d.ts +17 -8
- package/cjs/Overlay/ModalManager.js +11 -20
- package/cjs/Overlay/Overlay.d.ts +2 -2
- package/cjs/Overlay/Overlay.js +1 -1
- package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
- package/cjs/Overlay/OverlayTrigger.js +14 -6
- package/cjs/Overlay/Position.d.ts +3 -3
- package/cjs/Overlay/Position.js +21 -12
- package/cjs/Overlay/positionUtils.d.ts +1 -1
- package/cjs/Overlay/positionUtils.js +8 -8
- package/cjs/Pagination/Pagination.d.ts +1 -1
- package/cjs/Pagination/PaginationButton.d.ts +3 -3
- package/cjs/Pagination/PaginationGroup.js +5 -3
- package/cjs/Panel/Panel.d.ts +1 -1
- package/cjs/Panel/Panel.js +2 -2
- package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
- package/cjs/Picker/DropdownMenu.d.ts +8 -5
- package/cjs/Picker/DropdownMenu.js +5 -5
- package/cjs/Picker/PickerOverlay.js +4 -3
- package/cjs/Picker/PickerToggle.js +11 -8
- package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
- package/cjs/Picker/SearchBar.d.ts +1 -1
- package/cjs/Picker/SelectedElement.js +2 -1
- package/cjs/Picker/VirtualizedList.d.ts +29 -2
- package/cjs/Picker/propTypes.d.ts +2 -2
- package/cjs/Picker/utils.d.ts +17 -25
- package/cjs/Picker/utils.js +71 -46
- package/cjs/Placeholder/PlaceholderGrid.js +1 -1
- package/cjs/Plaintext/Plaintext.js +2 -1
- package/cjs/Radio/Radio.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
- package/cjs/RadioGroup/RadioGroup.js +3 -3
- package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
- package/cjs/RangeSlider/RangeSlider.js +6 -4
- package/cjs/Rate/Character.js +4 -2
- package/cjs/Rate/Rate.js +5 -2
- package/cjs/Ripple/Ripple.js +1 -1
- package/cjs/SelectPicker/SelectPicker.js +4 -4
- package/cjs/Sidenav/Node.d.ts +1 -1
- package/cjs/Sidenav/Sidenav.d.ts +4 -4
- package/cjs/Sidenav/Sidenav.js +5 -2
- package/cjs/Sidenav/SidenavDropdown.js +11 -8
- package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
- package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
- package/cjs/Sidenav/SidenavItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavItem.js +4 -0
- package/cjs/Slider/Graduated.d.ts +5 -5
- package/cjs/Slider/Handle.d.ts +1 -1
- package/cjs/Slider/Handle.js +10 -6
- package/cjs/Slider/Mark.d.ts +1 -1
- package/cjs/Slider/Slider.d.ts +1 -1
- package/cjs/Slider/Slider.js +2 -2
- package/cjs/Slider/utils.d.ts +2 -1
- package/cjs/Slider/utils.js +4 -5
- package/cjs/Steps/StepItem.js +2 -2
- package/cjs/TagInput/index.js +1 -1
- package/cjs/Toggle/Toggle.js +1 -1
- package/cjs/Tree/Tree.d.ts +3 -1
- package/cjs/TreePicker/TreeNode.js +6 -8
- package/cjs/TreePicker/TreePicker.js +36 -27
- package/cjs/Uploader/UploadFileItem.d.ts +1 -1
- package/cjs/Uploader/UploadFileItem.js +2 -2
- package/cjs/Uploader/UploadTrigger.d.ts +1 -1
- package/cjs/Uploader/UploadTrigger.js +2 -3
- package/cjs/Uploader/Uploader.d.ts +5 -5
- package/cjs/Uploader/Uploader.js +1 -2
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +5 -1
- package/cjs/locales/index.d.ts +3 -3
- package/cjs/toaster/ToastContainer.d.ts +1 -1
- package/cjs/toaster/ToastContainer.js +1 -1
- package/cjs/toaster/toaster.js +3 -1
- package/cjs/utils/BrowserDetection.js +1 -1
- package/cjs/utils/ReactChildren.d.ts +2 -2
- package/cjs/utils/ajaxUpload.d.ts +1 -1
- package/cjs/utils/ajaxUpload.js +5 -4
- package/cjs/utils/appendTooltip.d.ts +1 -1
- package/cjs/utils/constants.d.ts +4 -4
- package/cjs/utils/createChainedFunction.d.ts +1 -1
- package/cjs/utils/getDataGroupBy.d.ts +1 -1
- package/cjs/utils/mergeRefs.d.ts +2 -2
- package/cjs/utils/previewFile.d.ts +1 -1
- package/cjs/utils/propTypeChecker.d.ts +6 -2
- package/cjs/utils/propTypeChecker.js +7 -6
- package/cjs/utils/reactToString.d.ts +2 -1
- package/cjs/utils/statusIcons.d.ts +1 -1
- package/cjs/utils/stringToObject.d.ts +1 -1
- package/cjs/utils/treeUtils.d.ts +32 -29
- package/cjs/utils/treeUtils.js +46 -23
- package/cjs/utils/useControlled.d.ts +6 -1
- package/cjs/utils/useControlled.js +0 -8
- package/cjs/utils/useCustom.js +6 -4
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +11 -6
- package/cjs/utils/useFocus.d.ts +2 -2
- package/cjs/utils/usePortal.d.ts +1 -1
- package/cjs/utils/useRootClose.d.ts +2 -2
- package/cjs/utils/useTimeout.d.ts +1 -1
- package/cjs/utils/useTimeout.js +5 -3
- package/dist/rsuite-rtl.css +85 -165
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +85 -165
- package/dist/rsuite.js +468 -445
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.LICENSE.txt +9 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +9 -8
- package/esm/@types/utils.d.ts +12 -0
- package/esm/Affix/Affix.js +5 -5
- package/esm/Animation/Transition.d.ts +21 -12
- package/esm/Animation/Transition.js +4 -1
- package/esm/AutoComplete/AutoComplete.js +1 -1
- package/esm/AutoComplete/utils.d.ts +1 -1
- package/esm/Avatar/Avatar.js +7 -3
- package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
- package/esm/AvatarGroup/AvatarGroup.js +54 -0
- package/esm/AvatarGroup/index.d.ts +3 -0
- package/esm/AvatarGroup/index.js +2 -0
- package/esm/Breadcrumb/Breadcrumb.js +1 -1
- package/esm/Button/Button.js +6 -2
- package/esm/ButtonGroup/ButtonGroup.js +7 -2
- package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
- package/esm/ButtonGroup/index.d.ts +2 -0
- package/esm/ButtonGroup/index.js +2 -0
- package/esm/Calendar/Calendar.d.ts +4 -4
- package/esm/Calendar/Calendar.js +5 -2
- package/esm/Calendar/CalendarContext.js +1 -1
- package/esm/Calendar/TableRow.js +1 -1
- package/esm/Calendar/TimeDropdown.js +5 -4
- package/esm/Calendar/types.d.ts +2 -2
- package/esm/Calendar/useCalendarDate.d.ts +2 -2
- package/esm/Carousel/Carousel.d.ts +2 -2
- package/esm/Carousel/Carousel.js +1 -1
- package/esm/Cascader/Cascader.d.ts +1 -1
- package/esm/Cascader/Cascader.js +10 -10
- package/esm/Cascader/DropdownMenu.d.ts +5 -4
- package/esm/Cascader/utils.d.ts +3 -3
- package/esm/CheckPicker/CheckPicker.js +4 -4
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
- package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
- package/esm/CheckTreePicker/utils.d.ts +3 -1
- package/esm/CheckTreePicker/utils.js +12 -10
- package/esm/Checkbox/Checkbox.d.ts +1 -1
- package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/CustomProvider/CustomProvider.d.ts +31 -57
- package/esm/DOMHelper/index.d.ts +12 -12
- package/esm/DatePicker/DatePicker.d.ts +1 -1
- package/esm/DatePicker/DatePicker.js +14 -9
- package/esm/DatePicker/Toolbar.d.ts +12 -9
- package/esm/DatePicker/Toolbar.js +6 -8
- package/esm/DatePicker/types.d.ts +4 -4
- package/esm/DatePicker/utils.d.ts +4 -3
- package/esm/DateRangePicker/Calendar.d.ts +9 -7
- package/esm/DateRangePicker/Calendar.js +28 -6
- package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
- package/esm/DateRangePicker/DateRangePicker.js +124 -107
- package/esm/DateRangePicker/types.d.ts +2 -1
- package/esm/DateRangePicker/utils.d.ts +6 -6
- package/esm/DateRangePicker/utils.js +6 -2
- package/esm/Disclosure/Disclosure.js +4 -2
- package/esm/Disclosure/DisclosureButton.js +8 -7
- package/esm/Disclosure/DisclosureContent.js +5 -7
- package/esm/Disclosure/DisclosureContext.d.ts +2 -2
- package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
- package/esm/Disclosure/useDisclosureContext.js +11 -0
- package/esm/Dropdown/Dropdown.d.ts +1 -1
- package/esm/Dropdown/DropdownContext.d.ts +2 -2
- package/esm/Dropdown/DropdownItem.js +3 -2
- package/esm/Dropdown/DropdownMenu.d.ts +3 -3
- package/esm/Dropdown/DropdownState.d.ts +1 -1
- package/esm/Dropdown/DropdownToggle.js +2 -1
- package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/esm/Form/Form.js +1 -1
- package/esm/Form/FormContext.d.ts +1 -1
- package/esm/FormControl/FormControl.d.ts +1 -1
- package/esm/FormControl/FormControl.js +5 -4
- package/esm/FormGroup/FormGroup.d.ts +1 -1
- package/esm/Input/Input.d.ts +3 -2
- package/esm/InputGroup/InputGroup.d.ts +1 -1
- package/esm/InputNumber/InputNumber.js +6 -2
- package/esm/InputPicker/InputAutosize.js +4 -4
- package/esm/InputPicker/InputPicker.d.ts +2 -2
- package/esm/InputPicker/InputPicker.js +16 -11
- package/esm/List/ListContext.d.ts +1 -1
- package/esm/List/ListContext.js +7 -1
- package/esm/List/helper/AutoScroller.js +4 -2
- package/esm/List/helper/useManager.d.ts +3 -3
- package/esm/List/helper/useManager.js +1 -1
- package/esm/List/helper/useSortHelper.d.ts +3 -3
- package/esm/List/helper/useSortHelper.js +6 -4
- package/esm/List/helper/utils.d.ts +2 -2
- package/esm/MaskedInput/MaskedInput.d.ts +5 -42
- package/esm/MaskedInput/MaskedInput.js +9 -63
- package/esm/MaskedInput/TextMask.d.ts +43 -0
- package/esm/MaskedInput/TextMask.js +67 -0
- package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
- package/esm/MaskedInput/conformToMask.js +5 -4
- package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
- package/esm/MaskedInput/utilities.d.ts +1 -1
- package/esm/Menu/Menu.js +59 -43
- package/esm/Menu/MenuContext.d.ts +1 -1
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +30 -23
- package/esm/Menu/Menubar.js +7 -8
- package/esm/Menu/useMenu.js +17 -7
- package/esm/Modal/Modal.js +12 -6
- package/esm/Modal/ModalContext.d.ts +2 -2
- package/esm/Modal/utils.d.ts +1 -1
- package/esm/Modal/utils.js +11 -12
- package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
- package/esm/MultiCascader/MultiCascader.js +6 -6
- package/esm/MultiCascader/utils.d.ts +14 -14
- package/esm/Nav/Nav.d.ts +1 -1
- package/esm/Nav/NavContext.d.ts +1 -1
- package/esm/Nav/NavItem.d.ts +1 -1
- package/esm/Navbar/Navbar.js +1 -1
- package/esm/Navbar/NavbarItem.d.ts +1 -1
- package/esm/Overlay/Modal.d.ts +2 -2
- package/esm/Overlay/Modal.js +42 -32
- package/esm/Overlay/ModalManager.d.ts +17 -8
- package/esm/Overlay/ModalManager.js +11 -20
- package/esm/Overlay/Overlay.d.ts +2 -2
- package/esm/Overlay/Overlay.js +1 -1
- package/esm/Overlay/OverlayTrigger.d.ts +11 -11
- package/esm/Overlay/OverlayTrigger.js +14 -6
- package/esm/Overlay/Position.d.ts +3 -3
- package/esm/Overlay/Position.js +20 -11
- package/esm/Overlay/positionUtils.d.ts +1 -1
- package/esm/Overlay/positionUtils.js +6 -6
- package/esm/Pagination/Pagination.d.ts +1 -1
- package/esm/Pagination/PaginationButton.d.ts +3 -3
- package/esm/Pagination/PaginationGroup.js +5 -3
- package/esm/Panel/Panel.d.ts +1 -1
- package/esm/Panel/Panel.js +2 -2
- package/esm/PanelGroup/PanelGroup.d.ts +2 -2
- package/esm/Picker/DropdownMenu.d.ts +8 -5
- package/esm/Picker/DropdownMenu.js +5 -5
- package/esm/Picker/PickerOverlay.js +4 -3
- package/esm/Picker/PickerToggle.js +11 -8
- package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
- package/esm/Picker/SearchBar.d.ts +1 -1
- package/esm/Picker/SelectedElement.js +2 -1
- package/esm/Picker/VirtualizedList.d.ts +29 -2
- package/esm/Picker/propTypes.d.ts +2 -2
- package/esm/Picker/utils.d.ts +17 -25
- package/esm/Picker/utils.js +70 -46
- package/esm/Placeholder/PlaceholderGrid.js +1 -1
- package/esm/Plaintext/Plaintext.js +2 -1
- package/esm/Radio/Radio.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.d.ts +2 -2
- package/esm/RadioGroup/RadioGroup.js +3 -3
- package/esm/RangeSlider/RangeSlider.d.ts +2 -2
- package/esm/RangeSlider/RangeSlider.js +5 -4
- package/esm/Rate/Character.js +3 -2
- package/esm/Rate/Rate.js +4 -2
- package/esm/Ripple/Ripple.js +1 -1
- package/esm/SelectPicker/SelectPicker.js +4 -4
- package/esm/Sidenav/Node.d.ts +1 -1
- package/esm/Sidenav/Sidenav.d.ts +4 -4
- package/esm/Sidenav/Sidenav.js +5 -2
- package/esm/Sidenav/SidenavDropdown.js +11 -7
- package/esm/Sidenav/SidenavDropdownItem.js +11 -5
- package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
- package/esm/Sidenav/SidenavItem.d.ts +1 -1
- package/esm/Sidenav/SidenavItem.js +4 -0
- package/esm/Slider/Graduated.d.ts +5 -5
- package/esm/Slider/Handle.d.ts +1 -1
- package/esm/Slider/Handle.js +10 -6
- package/esm/Slider/Mark.d.ts +1 -1
- package/esm/Slider/Slider.d.ts +1 -1
- package/esm/Slider/Slider.js +2 -2
- package/esm/Slider/utils.d.ts +2 -1
- package/esm/Slider/utils.js +5 -2
- package/esm/Steps/StepItem.js +2 -2
- package/esm/TagInput/index.js +1 -1
- package/esm/Toggle/Toggle.js +1 -1
- package/esm/Tree/Tree.d.ts +3 -1
- package/esm/TreePicker/TreeNode.js +4 -7
- package/esm/TreePicker/TreePicker.js +35 -25
- package/esm/Uploader/UploadFileItem.d.ts +1 -1
- package/esm/Uploader/UploadFileItem.js +2 -2
- package/esm/Uploader/UploadTrigger.d.ts +1 -1
- package/esm/Uploader/UploadTrigger.js +2 -3
- package/esm/Uploader/Uploader.d.ts +5 -5
- package/esm/Uploader/Uploader.js +1 -2
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/locales/index.d.ts +3 -3
- package/esm/toaster/ToastContainer.d.ts +1 -1
- package/esm/toaster/ToastContainer.js +1 -1
- package/esm/toaster/toaster.js +3 -1
- package/esm/utils/BrowserDetection.js +1 -1
- package/esm/utils/ReactChildren.d.ts +2 -2
- package/esm/utils/ajaxUpload.d.ts +1 -1
- package/esm/utils/ajaxUpload.js +5 -4
- package/esm/utils/appendTooltip.d.ts +1 -1
- package/esm/utils/constants.d.ts +4 -4
- package/esm/utils/createChainedFunction.d.ts +1 -1
- package/esm/utils/getDataGroupBy.d.ts +1 -1
- package/esm/utils/mergeRefs.d.ts +2 -2
- package/esm/utils/previewFile.d.ts +1 -1
- package/esm/utils/propTypeChecker.d.ts +6 -2
- package/esm/utils/propTypeChecker.js +7 -6
- package/esm/utils/reactToString.d.ts +2 -1
- package/esm/utils/statusIcons.d.ts +1 -1
- package/esm/utils/stringToObject.d.ts +1 -1
- package/esm/utils/treeUtils.d.ts +32 -29
- package/esm/utils/treeUtils.js +45 -21
- package/esm/utils/useControlled.d.ts +6 -1
- package/esm/utils/useControlled.js +0 -8
- package/esm/utils/useCustom.js +6 -4
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +12 -5
- package/esm/utils/useFocus.d.ts +2 -2
- package/esm/utils/usePortal.d.ts +1 -1
- package/esm/utils/useRootClose.d.ts +2 -2
- package/esm/utils/useTimeout.d.ts +1 -1
- package/esm/utils/useTimeout.js +5 -3
- package/package.json +4 -4
- package/styles/index.less +1 -0
|
@@ -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,
|
|
@@ -52,6 +53,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
52
53
|
_props$showOneCalenda = props.showOneCalendar,
|
|
53
54
|
showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,
|
|
54
55
|
showWeekNumbers = props.showWeekNumbers,
|
|
56
|
+
showMeridian = props.showMeridian,
|
|
55
57
|
style = props.style,
|
|
56
58
|
toggleAs = props.toggleAs,
|
|
57
59
|
valueProp = props.value,
|
|
@@ -64,7 +66,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
64
66
|
onOk = props.onOk,
|
|
65
67
|
onOpen = props.onOpen,
|
|
66
68
|
onSelect = props.onSelect,
|
|
67
|
-
rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "appearance", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "style", "toggleAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect"]);
|
|
69
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "appearance", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect"]);
|
|
68
70
|
|
|
69
71
|
var _useClassNames = useClassNames(classPrefix),
|
|
70
72
|
merge = _useClassNames.merge,
|
|
@@ -77,7 +79,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
77
79
|
|
|
78
80
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
79
81
|
|
|
80
|
-
var _useControlled = useControlled(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue :
|
|
82
|
+
var _useControlled = useControlled(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
|
|
81
83
|
value = _useControlled[0],
|
|
82
84
|
setValue = _useControlled[1];
|
|
83
85
|
/**
|
|
@@ -99,17 +101,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
99
101
|
*/
|
|
100
102
|
|
|
101
103
|
var _useState = useState((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
selectedDates = _useState[0],
|
|
105
|
+
setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
|
|
104
106
|
|
|
105
107
|
|
|
106
|
-
var _useState2 = useState(
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
var _useState2 = useState(null),
|
|
109
|
+
hoverDateRange = _useState2[0],
|
|
110
|
+
setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.
|
|
109
111
|
|
|
110
112
|
|
|
111
113
|
var _useState3 = useState(getCalendarDate({
|
|
112
|
-
value: valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue
|
|
114
|
+
value: (_ref2 = valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
113
115
|
})),
|
|
114
116
|
calendarDate = _useState3[0],
|
|
115
117
|
setCalendarDate = _useState3[1];
|
|
@@ -137,18 +139,18 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
137
139
|
}, []); // if valueProp changed then update selectValue/hoverValue
|
|
138
140
|
|
|
139
141
|
useEffect(function () {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
+
setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
|
|
143
|
+
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
142
144
|
}, [valueProp]);
|
|
143
145
|
|
|
144
146
|
var _useState5 = useState(false),
|
|
145
147
|
isPickerToggleActive = _useState5[0],
|
|
146
148
|
setPickerToggleActive = _useState5[1];
|
|
147
149
|
|
|
148
|
-
var rootRef = useRef();
|
|
149
|
-
var overlayRef = useRef();
|
|
150
|
-
var targetRef = useRef();
|
|
151
|
-
var triggerRef = useRef();
|
|
150
|
+
var rootRef = useRef(null);
|
|
151
|
+
var overlayRef = useRef(null);
|
|
152
|
+
var targetRef = useRef(null);
|
|
153
|
+
var triggerRef = useRef(null);
|
|
152
154
|
var handleCloseDropdown = useCallback(function () {
|
|
153
155
|
var _triggerRef$current, _triggerRef$current$c;
|
|
154
156
|
|
|
@@ -161,14 +163,10 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
161
163
|
rootRef: rootRef
|
|
162
164
|
});
|
|
163
165
|
var getDisplayString = useCallback(function (nextValue, isPlaintext) {
|
|
164
|
-
var _nextValue
|
|
166
|
+
var _nextValue$, _nextValue$2;
|
|
165
167
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
var startDate = (_nextValue = nextValue) === null || _nextValue === void 0 ? void 0 : _nextValue[0];
|
|
171
|
-
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;
|
|
172
170
|
|
|
173
171
|
if (startDate && endDate) {
|
|
174
172
|
var displayValue = [startDate, endDate].sort(compareAsc);
|
|
@@ -193,29 +191,27 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
193
191
|
*/
|
|
194
192
|
|
|
195
193
|
var getHoverRangeValue = useCallback(function (date) {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
194
|
+
function getHoverRangeFunc() {
|
|
195
|
+
if (hoverRange === 'week') {
|
|
196
|
+
return partial(getWeekHoverRange, isoWeek);
|
|
197
|
+
} else if (hoverRange === 'month') {
|
|
198
|
+
return getMonthHoverRange;
|
|
199
|
+
}
|
|
201
200
|
|
|
202
|
-
|
|
203
|
-
hoverRangeFunc = partial(getWeekHoverRange, isoWeek);
|
|
201
|
+
return hoverRange;
|
|
204
202
|
}
|
|
205
203
|
|
|
206
|
-
|
|
207
|
-
hoverRangeFunc = getMonthHoverRange;
|
|
208
|
-
}
|
|
204
|
+
var hoverRangeFunc = getHoverRangeFunc();
|
|
209
205
|
|
|
210
|
-
if (
|
|
211
|
-
return
|
|
206
|
+
if (isNil(hoverRangeFunc)) {
|
|
207
|
+
return null;
|
|
212
208
|
}
|
|
213
209
|
|
|
214
210
|
var hoverValues = hoverRangeFunc(date);
|
|
215
211
|
var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;
|
|
216
212
|
|
|
217
213
|
if (!isHoverRangeValid) {
|
|
218
|
-
return
|
|
214
|
+
return null;
|
|
219
215
|
}
|
|
220
216
|
|
|
221
217
|
if (DateUtils.isAfter(hoverValues[0], hoverValues[1])) {
|
|
@@ -224,13 +220,13 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
224
220
|
|
|
225
221
|
return hoverValues;
|
|
226
222
|
}, [hoverRange, isoWeek]);
|
|
227
|
-
var handleValueUpdate = useCallback(function (event,
|
|
223
|
+
var handleValueUpdate = useCallback(function (event, nextValue, closeOverlay) {
|
|
228
224
|
if (closeOverlay === void 0) {
|
|
229
225
|
closeOverlay = true;
|
|
230
226
|
}
|
|
231
227
|
|
|
232
|
-
|
|
233
|
-
|
|
228
|
+
// If nextValue is null, it means that the user is erasing the selected dates.
|
|
229
|
+
setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
|
|
234
230
|
|
|
235
231
|
if (!isSameRange(nextValue, value, formatStr)) {
|
|
236
232
|
setValue(nextValue);
|
|
@@ -241,40 +237,41 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
241
237
|
if (closeOverlay !== false) {
|
|
242
238
|
handleCloseDropdown();
|
|
243
239
|
}
|
|
244
|
-
}, [formatStr, handleCloseDropdown, onChange,
|
|
240
|
+
}, [formatStr, handleCloseDropdown, onChange, selectedDates, setValue, value]);
|
|
245
241
|
/**
|
|
246
242
|
* Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
|
|
247
243
|
* The MouseMove event is called between the first click and the second click to update the selection state.
|
|
248
244
|
*/
|
|
249
245
|
|
|
250
246
|
var handleMouseMove = useCallback(function (date) {
|
|
251
|
-
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.
|
|
252
250
|
|
|
253
251
|
if (!hasDoneSelect.current) {
|
|
254
|
-
// If hoverRange is set, you need to change the value of
|
|
255
|
-
if (
|
|
256
|
-
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]];
|
|
257
255
|
|
|
258
|
-
if (DateUtils.isBefore(
|
|
259
|
-
|
|
260
|
-
nextHoverValue[1] = selectRangeValueRef.current[1];
|
|
256
|
+
if (DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {
|
|
257
|
+
nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];
|
|
261
258
|
}
|
|
262
259
|
|
|
263
|
-
|
|
260
|
+
setSelectedDates(nextSelectedDates);
|
|
264
261
|
} else {
|
|
265
|
-
|
|
266
|
-
return [prevHoverValue[0], date];
|
|
262
|
+
setHoverDateRange(function (prevHoverValue) {
|
|
263
|
+
return isNil(prevHoverValue) ? null : [prevHoverValue[0], date];
|
|
267
264
|
});
|
|
268
|
-
} // Before the first click, if
|
|
265
|
+
} // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated
|
|
269
266
|
|
|
270
|
-
} else if (
|
|
271
|
-
|
|
267
|
+
} else if (!isNil(nextHoverDateRange)) {
|
|
268
|
+
setHoverDateRange(nextHoverDateRange);
|
|
272
269
|
}
|
|
273
270
|
}, [getHoverRangeValue, hoverRange]);
|
|
274
|
-
var
|
|
275
|
-
var
|
|
271
|
+
var handleSelectDate = useCallback(function (date, event) {
|
|
272
|
+
var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
|
|
276
273
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
277
|
-
var noHoverRangeValid = hoverRangeValue
|
|
274
|
+
var noHoverRangeValid = isNil(hoverRangeValue); // in `oneTap` mode
|
|
278
275
|
|
|
279
276
|
if (hasDoneSelect.current && oneTap) {
|
|
280
277
|
handleValueUpdate(event, noHoverRangeValid ? [setTimingMargin(date), setTimingMargin(date, 'right')] : hoverRangeValue);
|
|
@@ -286,32 +283,32 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
286
283
|
if (noHoverRangeValid) {
|
|
287
284
|
// start select
|
|
288
285
|
if (hasDoneSelect.current) {
|
|
289
|
-
|
|
286
|
+
nextSelectDates = [date];
|
|
290
287
|
} else {
|
|
291
288
|
// finish select
|
|
292
|
-
|
|
289
|
+
nextSelectDates[1] = date;
|
|
293
290
|
}
|
|
294
291
|
} else {
|
|
295
292
|
if (!hasDoneSelect.current) {
|
|
296
|
-
|
|
293
|
+
nextSelectDates = selectedDates;
|
|
297
294
|
selectRangeValueRef.current = null;
|
|
298
295
|
} else {
|
|
299
|
-
|
|
296
|
+
nextSelectDates = hoverRangeValue;
|
|
300
297
|
selectRangeValueRef.current = hoverRangeValue;
|
|
301
298
|
}
|
|
302
299
|
} // If user have completed the selection, then sort
|
|
303
300
|
|
|
304
301
|
|
|
305
|
-
if (
|
|
306
|
-
|
|
302
|
+
if (nextSelectDates.length === 2 && DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {
|
|
303
|
+
nextSelectDates.reverse();
|
|
307
304
|
}
|
|
308
305
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
updateCalendarDate(
|
|
306
|
+
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : null);
|
|
307
|
+
setSelectedDates(nextSelectDates);
|
|
308
|
+
updateCalendarDate(nextSelectDates);
|
|
312
309
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
313
310
|
hasDoneSelect.current = !hasDoneSelect.current;
|
|
314
|
-
}, [getHoverRangeValue, handleValueUpdate,
|
|
311
|
+
}, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);
|
|
315
312
|
/**
|
|
316
313
|
* If `selectValue` changed, there will be the following effects.
|
|
317
314
|
* 1. Check if the selection is completed.
|
|
@@ -319,19 +316,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
319
316
|
*/
|
|
320
317
|
|
|
321
318
|
useEffect(function () {
|
|
322
|
-
var
|
|
323
|
-
|
|
324
|
-
var selectValueLength = (_selectValue$length = selectValue === null || selectValue === void 0 ? void 0 : selectValue.length) !== null && _selectValue$length !== void 0 ? _selectValue$length : 0;
|
|
319
|
+
var selectValueLength = selectedDates.length;
|
|
325
320
|
var doneSelected = selectValueLength === 0 || selectValueLength === 2;
|
|
326
|
-
doneSelected &&
|
|
327
|
-
}, [
|
|
321
|
+
doneSelected && setHoverDateRange(null);
|
|
322
|
+
}, [selectedDates]);
|
|
328
323
|
var handleChangeCalendarDate = useCallback(function (index, date) {
|
|
329
324
|
var nextCalendarDate = Array.from(calendarDate);
|
|
330
325
|
nextCalendarDate[index] = date;
|
|
331
326
|
updateCalendarDate(nextCalendarDate);
|
|
332
327
|
}, [calendarDate, updateCalendarDate]);
|
|
333
328
|
var handleChangeCalendarTime = useCallback(function (index, date) {
|
|
334
|
-
|
|
329
|
+
setSelectedDates(function (prev) {
|
|
335
330
|
var next = [].concat(prev);
|
|
336
331
|
var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day
|
|
337
332
|
|
|
@@ -344,20 +339,40 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
344
339
|
});
|
|
345
340
|
handleChangeCalendarDate(index, date);
|
|
346
341
|
}, [handleChangeCalendarDate]);
|
|
342
|
+
/**
|
|
343
|
+
* The callback triggered when PM/AM is switched.
|
|
344
|
+
*/
|
|
345
|
+
|
|
346
|
+
var handleToggleMeridian = useCallback(function (index) {
|
|
347
|
+
var next = Array.from(calendarDate);
|
|
348
|
+
var clonedDate = new Date(next[index].valueOf());
|
|
349
|
+
var hours = DateUtils.getHours(clonedDate);
|
|
350
|
+
var nextHours = hours >= 12 ? hours - 12 : hours + 12;
|
|
351
|
+
next[index] = DateUtils.setHours(clonedDate, nextHours);
|
|
352
|
+
setCalendarDate(next); // If the value already exists, update the value again.
|
|
353
|
+
|
|
354
|
+
if (selectedDates.length === 2) {
|
|
355
|
+
setSelectedDates(next);
|
|
356
|
+
}
|
|
357
|
+
}, [calendarDate, selectedDates]);
|
|
347
358
|
/**
|
|
348
359
|
* Toolbar operation callback function
|
|
349
360
|
*/
|
|
350
361
|
|
|
351
362
|
var handleShortcutPageDate = useCallback(function (value, closeOverlay, event) {
|
|
363
|
+
if (closeOverlay === void 0) {
|
|
364
|
+
closeOverlay = false;
|
|
365
|
+
}
|
|
366
|
+
|
|
352
367
|
handleValueUpdate(event, value, closeOverlay);
|
|
353
368
|
}, [handleValueUpdate]);
|
|
354
369
|
var handleOK = useCallback(function (event) {
|
|
355
|
-
handleValueUpdate(event);
|
|
356
|
-
onOk === null || onOk === void 0 ? void 0 : onOk(
|
|
357
|
-
}, [handleValueUpdate, onOk,
|
|
370
|
+
handleValueUpdate(event, selectedDates);
|
|
371
|
+
onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
|
|
372
|
+
}, [handleValueUpdate, onOk, selectedDates]);
|
|
358
373
|
var handleClean = useCallback(function (event) {
|
|
359
|
-
updateCalendarDate();
|
|
360
|
-
handleValueUpdate(event,
|
|
374
|
+
updateCalendarDate(null);
|
|
375
|
+
handleValueUpdate(event, null);
|
|
361
376
|
}, [handleValueUpdate, updateCalendarDate]);
|
|
362
377
|
/**
|
|
363
378
|
* Callback after the input box value is changed.
|
|
@@ -386,13 +401,13 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
386
401
|
return;
|
|
387
402
|
}
|
|
388
403
|
|
|
389
|
-
if (
|
|
404
|
+
if (isDateDisabled(startDate, selectValue, true, DATERANGE_DISABLED_TARGET.CALENDAR)) {
|
|
390
405
|
setInputState('Error');
|
|
391
406
|
return;
|
|
392
407
|
}
|
|
393
408
|
|
|
394
|
-
|
|
395
|
-
|
|
409
|
+
setHoverDateRange(selectValue);
|
|
410
|
+
setSelectedDates(selectValue);
|
|
396
411
|
updateCalendarDate(selectValue);
|
|
397
412
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
398
413
|
[character, rangeFormatStr, updateCalendarDate]);
|
|
@@ -402,11 +417,11 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
402
417
|
|
|
403
418
|
var handleInputPressEnd = useCallback(function (event) {
|
|
404
419
|
if (inputState === 'Typing') {
|
|
405
|
-
handleValueUpdate(event,
|
|
420
|
+
handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
|
|
406
421
|
}
|
|
407
422
|
|
|
408
423
|
setInputState('Initial');
|
|
409
|
-
}, [handleValueUpdate,
|
|
424
|
+
}, [handleValueUpdate, selectedDates, inputState]);
|
|
410
425
|
var handleEnter = useCallback(function () {
|
|
411
426
|
var nextCalendarDate;
|
|
412
427
|
|
|
@@ -416,13 +431,13 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
416
431
|
nextCalendarDate = [_startDate, isSameMonth(_startDate, endData) ? addMonths(endData, 1) : endData];
|
|
417
432
|
} else {
|
|
418
433
|
nextCalendarDate = getCalendarDate({
|
|
419
|
-
value: defaultCalendarValue
|
|
434
|
+
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
420
435
|
});
|
|
421
436
|
}
|
|
422
437
|
|
|
423
|
-
|
|
438
|
+
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
424
439
|
updateCalendarDate(nextCalendarDate);
|
|
425
|
-
}, [defaultCalendarValue, updateCalendarDate,
|
|
440
|
+
}, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);
|
|
426
441
|
var handleEntered = useCallback(function () {
|
|
427
442
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
428
443
|
setPickerToggleActive(true);
|
|
@@ -432,17 +447,16 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
432
447
|
hasDoneSelect.current = true;
|
|
433
448
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
434
449
|
}, [onClose]);
|
|
435
|
-
var
|
|
436
|
-
|
|
450
|
+
var isDateDisabled = useCallback(function (date, selectDate, selectedDone, target) {
|
|
451
|
+
var _disabledDateProp;
|
|
452
|
+
|
|
453
|
+
return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;
|
|
437
454
|
}, [disabledDateProp]);
|
|
438
455
|
var disabledByBetween = useCallback(function (start, end, type) {
|
|
439
|
-
|
|
440
|
-
selectEndDate = selectValue[1];
|
|
441
|
-
var nextSelectValue = [selectStartDate, selectEndDate]; // If the date is between the start and the end
|
|
456
|
+
// If the date is between the start and the end
|
|
442
457
|
// the button is disabled
|
|
443
|
-
|
|
444
458
|
while (DateUtils.isBefore(start, end) || DateUtils.isSameDay(start, end)) {
|
|
445
|
-
if (
|
|
459
|
+
if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {
|
|
446
460
|
return true;
|
|
447
461
|
}
|
|
448
462
|
|
|
@@ -450,17 +464,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
450
464
|
}
|
|
451
465
|
|
|
452
466
|
return false;
|
|
453
|
-
}, [
|
|
467
|
+
}, [isDateDisabled, selectedDates]);
|
|
454
468
|
var disabledOkButton = useCallback(function () {
|
|
455
|
-
var start =
|
|
456
|
-
end =
|
|
469
|
+
var start = selectedDates[0],
|
|
470
|
+
end = selectedDates[1];
|
|
457
471
|
|
|
458
472
|
if (!start || !end || !hasDoneSelect.current) {
|
|
459
473
|
return true;
|
|
460
474
|
}
|
|
461
475
|
|
|
462
476
|
return disabledByBetween(start, end, DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
463
|
-
}, [disabledByBetween,
|
|
477
|
+
}, [disabledByBetween, selectedDates]);
|
|
464
478
|
var disabledShortcutButton = useCallback(function (value) {
|
|
465
479
|
if (value === void 0) {
|
|
466
480
|
value = [];
|
|
@@ -477,8 +491,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
477
491
|
return disabledByBetween(start, end, DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
478
492
|
}, [disabledByBetween]);
|
|
479
493
|
var handleDisabledDate = useCallback(function (date, values, type) {
|
|
480
|
-
return
|
|
481
|
-
}, [
|
|
494
|
+
return isDateDisabled(date, values, hasDoneSelect.current, type);
|
|
495
|
+
}, [isDateDisabled]);
|
|
482
496
|
var onPickerKeyDown = useToggleKeyDownEvent(_extends({
|
|
483
497
|
triggerRef: triggerRef,
|
|
484
498
|
targetRef: targetRef,
|
|
@@ -504,17 +518,19 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
504
518
|
calendarDate: calendarDate,
|
|
505
519
|
disabledDate: handleDisabledDate,
|
|
506
520
|
format: formatStr,
|
|
507
|
-
hoverRangeValue:
|
|
521
|
+
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
508
522
|
isoWeek: isoWeek,
|
|
509
523
|
limitEndYear: limitEndYear,
|
|
510
524
|
locale: locale,
|
|
511
525
|
showOneCalendar: showOneCalendar,
|
|
512
526
|
showWeekNumbers: showWeekNumbers,
|
|
513
|
-
value:
|
|
527
|
+
value: selectedDates,
|
|
528
|
+
showMeridian: showMeridian,
|
|
514
529
|
onChangeCalendarDate: handleChangeCalendarDate,
|
|
515
530
|
onChangeCalendarTime: handleChangeCalendarTime,
|
|
516
531
|
onMouseMove: handleMouseMove,
|
|
517
|
-
onSelect:
|
|
532
|
+
onSelect: handleSelectDate,
|
|
533
|
+
onToggleMeridian: handleToggleMeridian
|
|
518
534
|
};
|
|
519
535
|
return /*#__PURE__*/React.createElement(PickerOverlay, {
|
|
520
536
|
className: classes,
|
|
@@ -527,7 +543,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
527
543
|
className: prefix('daterange-content')
|
|
528
544
|
}, /*#__PURE__*/React.createElement("div", {
|
|
529
545
|
className: prefix('daterange-header')
|
|
530
|
-
}, getDisplayString(
|
|
546
|
+
}, getDisplayString(selectedDates)), /*#__PURE__*/React.createElement("div", {
|
|
531
547
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
532
548
|
}, /*#__PURE__*/React.createElement(Calendar, _extends({
|
|
533
549
|
index: 0
|
|
@@ -535,7 +551,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
535
551
|
index: 1
|
|
536
552
|
}, panelProps)))), /*#__PURE__*/React.createElement(Toolbar, {
|
|
537
553
|
locale: locale,
|
|
538
|
-
calendarDate:
|
|
554
|
+
calendarDate: selectedDates,
|
|
539
555
|
disabledOkBtn: disabledOkButton,
|
|
540
556
|
disabledShortcut: disabledShortcutButton,
|
|
541
557
|
hideOkBtn: oneTap,
|
|
@@ -545,7 +561,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
545
561
|
})));
|
|
546
562
|
};
|
|
547
563
|
|
|
548
|
-
var hasValue = value && value.length > 1;
|
|
564
|
+
var hasValue = !isNil(value) && value.length > 1;
|
|
549
565
|
|
|
550
566
|
var _usePickerClassName = usePickerClassName(_extends({}, props, {
|
|
551
567
|
classPrefix: classPrefix,
|
|
@@ -588,7 +604,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
588
604
|
placement: placement,
|
|
589
605
|
caretComponent: IconCalendar,
|
|
590
606
|
disabled: disabled
|
|
591
|
-
}), getDisplayString())));
|
|
607
|
+
}), getDisplayString(value))));
|
|
592
608
|
});
|
|
593
609
|
DateRangePicker.after = disabledDateUtils.after;
|
|
594
610
|
DateRangePicker.afterToday = disabledDateUtils.afterToday;
|
|
@@ -609,11 +625,12 @@ DateRangePicker.propTypes = _extends({}, pickerPropTypes, {
|
|
|
609
625
|
isoWeek: PropTypes.bool,
|
|
610
626
|
oneTap: PropTypes.bool,
|
|
611
627
|
limitEndYear: PropTypes.number,
|
|
612
|
-
showWeekNumbers: PropTypes.bool,
|
|
613
628
|
onChange: PropTypes.func,
|
|
614
629
|
onOk: PropTypes.func,
|
|
615
630
|
disabledDate: PropTypes.func,
|
|
616
631
|
onSelect: PropTypes.func,
|
|
632
|
+
showWeekNumbers: PropTypes.bool,
|
|
633
|
+
showMeridian: PropTypes.bool,
|
|
617
634
|
showOneCalendar: PropTypes.bool
|
|
618
635
|
});
|
|
619
636
|
export default DateRangePicker;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DATERANGE_DISABLED_TARGET } from '../utils/constants';
|
|
3
3
|
export declare type ValueType = [Date?, Date?];
|
|
4
|
+
export declare type DateRange = [Date, Date];
|
|
4
5
|
export interface RangeType {
|
|
5
6
|
label: React.ReactNode;
|
|
6
7
|
closeOverlay?: boolean;
|
|
7
|
-
value:
|
|
8
|
+
value: DateRange | ((value?: ValueType) => DateRange);
|
|
8
9
|
}
|
|
9
10
|
export declare type DisabledDateFunction = (
|
|
10
11
|
/** Date used to determine if disabling is required. */
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DateRange, RangeType } from './types';
|
|
2
2
|
export declare const setTimingMargin: (date: any, way?: string) => Date;
|
|
3
3
|
export declare function getCalendarDate({ value }: {
|
|
4
|
-
value
|
|
5
|
-
}):
|
|
4
|
+
value: [] | [Date] | [Date, Date] | null;
|
|
5
|
+
}): DateRange;
|
|
6
6
|
export declare const getDefaultRanges: () => RangeType[];
|
|
7
|
-
export declare const isSameRange: (source:
|
|
8
|
-
export declare const getMonthHoverRange: (date: Date) =>
|
|
9
|
-
export declare const getWeekHoverRange: (isoWeek: boolean, date: Date) =>
|
|
7
|
+
export declare const isSameRange: (source: DateRange | null, dest: DateRange | null, format: string) => boolean;
|
|
8
|
+
export declare const getMonthHoverRange: (date: Date) => DateRange;
|
|
9
|
+
export declare const getWeekHoverRange: (isoWeek: boolean, date: Date) => DateRange;
|
|
@@ -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;
|
|
@@ -41,12 +41,14 @@ function Disclosure(props) {
|
|
|
41
41
|
openState = _useReducer[0].open,
|
|
42
42
|
dispatch = _useReducer[1];
|
|
43
43
|
|
|
44
|
-
var containerElementRef = useRef();
|
|
44
|
+
var containerElementRef = useRef(null);
|
|
45
45
|
var open = openProp !== null && openProp !== void 0 ? openProp : openState;
|
|
46
46
|
useClickOutside({
|
|
47
47
|
enabled: hideOnClickOutside,
|
|
48
48
|
isOutside: function isOutside(event) {
|
|
49
|
-
|
|
49
|
+
var _containerElementRef$;
|
|
50
|
+
|
|
51
|
+
return !((_containerElementRef$ = containerElementRef.current) !== null && _containerElementRef$ !== void 0 && _containerElementRef$.contains(event.target));
|
|
50
52
|
},
|
|
51
53
|
handle: function handle() {
|
|
52
54
|
return dispatch({
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { useCallback,
|
|
2
|
-
import
|
|
1
|
+
import { useCallback, useRef } from 'react';
|
|
2
|
+
import { DisclosureActionTypes } from './DisclosureContext';
|
|
3
3
|
import { KEY_VALUES } from '../utils';
|
|
4
|
+
import useDisclosureContext from './useDisclosureContext';
|
|
4
5
|
|
|
5
6
|
function DisclosureButton(props) {
|
|
6
7
|
var children = props.children;
|
|
7
|
-
var buttonRef = useRef();
|
|
8
|
+
var buttonRef = useRef(null);
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
-
open =
|
|
11
|
-
dispatch =
|
|
12
|
-
onToggle =
|
|
10
|
+
var _useDisclosureContext = useDisclosureContext(DisclosureButton.displayName),
|
|
11
|
+
open = _useDisclosureContext[0].open,
|
|
12
|
+
dispatch = _useDisclosureContext[1],
|
|
13
|
+
onToggle = _useDisclosureContext[2].onToggle;
|
|
13
14
|
|
|
14
15
|
var toggle = useCallback(function (event) {
|
|
15
16
|
if (!open) {
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import useDisclosureContext from './useDisclosureContext';
|
|
3
3
|
|
|
4
4
|
function DisclosureContent(props) {
|
|
5
5
|
var children = props.children;
|
|
6
|
-
var elementRef = useRef();
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
open = _useContext[0].open;
|
|
10
|
-
|
|
6
|
+
var elementRef = useRef(null);
|
|
7
|
+
var disclosure = useDisclosureContext(DisclosureContent.displayName);
|
|
8
|
+
var open = disclosure[0].open;
|
|
11
9
|
return children({
|
|
12
10
|
open: open
|
|
13
11
|
}, elementRef);
|
|
@@ -13,8 +13,8 @@ export declare type DisclosureContextProps = [
|
|
|
13
13
|
DisclosureState,
|
|
14
14
|
Dispatch<DisclosureAction>,
|
|
15
15
|
{
|
|
16
|
-
onToggle
|
|
16
|
+
onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
|
|
17
17
|
}
|
|
18
18
|
];
|
|
19
|
-
declare const DisclosureContext: React.Context<DisclosureContextProps>;
|
|
19
|
+
declare const DisclosureContext: React.Context<DisclosureContextProps | null>;
|
|
20
20
|
export default DisclosureContext;
|