rsuite 5.2.4 → 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/ButtonGroup/styles/index.less +0 -18
- package/CHANGELOG.md +15 -0
- package/CheckTreePicker/styles/index.less +14 -1
- 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 +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 +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 +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/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 +8 -7
- package/cjs/DateRangePicker/Calendar.js +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
- package/cjs/DateRangePicker/DateRangePicker.js +105 -108
- package/cjs/DateRangePicker/types.d.ts +2 -1
- package/cjs/DateRangePicker/utils.d.ts +6 -6
- package/cjs/DateRangePicker/utils.js +7 -2
- package/cjs/Disclosure/Disclosure.js +4 -2
- package/cjs/Disclosure/DisclosureButton.js +9 -7
- package/cjs/Disclosure/DisclosureContent.js +4 -6
- package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
- package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
- package/cjs/Disclosure/useDisclosureContext.js +20 -0
- package/cjs/Dropdown/Dropdown.d.ts +1 -1
- package/cjs/Dropdown/DropdownContext.d.ts +2 -2
- package/cjs/Dropdown/DropdownItem.js +1 -1
- package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
- package/cjs/Dropdown/DropdownState.d.ts +1 -1
- package/cjs/Dropdown/DropdownToggle.js +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 +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 +12 -6
- package/cjs/Modal/ModalContext.d.ts +2 -2
- package/cjs/Modal/utils.d.ts +1 -1
- package/cjs/Modal/utils.js +3 -5
- package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
- package/cjs/MultiCascader/MultiCascader.js +6 -6
- package/cjs/MultiCascader/utils.d.ts +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 +14 -8
- package/cjs/Overlay/positionUtils.d.ts +1 -1
- package/cjs/Overlay/positionUtils.js +8 -8
- package/cjs/Pagination/Pagination.d.ts +1 -1
- package/cjs/Pagination/PaginationButton.d.ts +3 -3
- package/cjs/Pagination/PaginationGroup.js +5 -3
- package/cjs/Panel/Panel.d.ts +1 -1
- package/cjs/Panel/Panel.js +2 -2
- package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
- package/cjs/Picker/DropdownMenu.d.ts +8 -5
- package/cjs/Picker/DropdownMenu.js +5 -5
- package/cjs/Picker/PickerOverlay.js +4 -3
- package/cjs/Picker/PickerToggle.js +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 +2 -2
- package/cjs/Picker/utils.d.ts +13 -13
- 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.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 +31 -25
- 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/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 +40 -159
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +40 -159
- package/dist/rsuite.js +146 -102
- 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 +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 +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 +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 +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/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 +8 -7
- package/esm/DateRangePicker/Calendar.js +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
- package/esm/DateRangePicker/DateRangePicker.js +105 -108
- package/esm/DateRangePicker/types.d.ts +2 -1
- package/esm/DateRangePicker/utils.d.ts +6 -6
- package/esm/DateRangePicker/utils.js +6 -2
- package/esm/Disclosure/Disclosure.js +4 -2
- package/esm/Disclosure/DisclosureButton.js +8 -7
- package/esm/Disclosure/DisclosureContent.js +5 -7
- package/esm/Disclosure/DisclosureContext.d.ts +2 -2
- package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
- package/esm/Disclosure/useDisclosureContext.js +11 -0
- package/esm/Dropdown/Dropdown.d.ts +1 -1
- package/esm/Dropdown/DropdownContext.d.ts +2 -2
- package/esm/Dropdown/DropdownItem.js +1 -1
- package/esm/Dropdown/DropdownMenu.d.ts +3 -3
- package/esm/Dropdown/DropdownState.d.ts +1 -1
- package/esm/Dropdown/DropdownToggle.js +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 +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 +12 -6
- package/esm/Modal/ModalContext.d.ts +2 -2
- package/esm/Modal/utils.d.ts +1 -1
- package/esm/Modal/utils.js +3 -5
- package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
- package/esm/MultiCascader/MultiCascader.js +6 -6
- package/esm/MultiCascader/utils.d.ts +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 +14 -8
- package/esm/Overlay/positionUtils.d.ts +1 -1
- package/esm/Overlay/positionUtils.js +6 -6
- package/esm/Pagination/Pagination.d.ts +1 -1
- package/esm/Pagination/PaginationButton.d.ts +3 -3
- package/esm/Pagination/PaginationGroup.js +5 -3
- package/esm/Panel/Panel.d.ts +1 -1
- package/esm/Panel/Panel.js +2 -2
- package/esm/PanelGroup/PanelGroup.d.ts +2 -2
- package/esm/Picker/DropdownMenu.d.ts +8 -5
- package/esm/Picker/DropdownMenu.js +5 -5
- package/esm/Picker/PickerOverlay.js +4 -3
- package/esm/Picker/PickerToggle.js +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 +2 -2
- package/esm/Picker/utils.d.ts +13 -13
- 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.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 +30 -23
- 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/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 +2 -2
- 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,
|
|
@@ -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);
|
|
@@ -194,29 +191,27 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
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,41 @@ 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, selectedDates, 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
270
|
}, [getHoverRangeValue, hoverRange]);
|
|
275
|
-
var
|
|
276
|
-
var
|
|
271
|
+
var handleSelectDate = useCallback(function (date, event) {
|
|
272
|
+
var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
|
|
277
273
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
278
|
-
var noHoverRangeValid = hoverRangeValue
|
|
274
|
+
var noHoverRangeValid = isNil(hoverRangeValue); // in `oneTap` mode
|
|
279
275
|
|
|
280
276
|
if (hasDoneSelect.current && oneTap) {
|
|
281
277
|
handleValueUpdate(event, noHoverRangeValid ? [setTimingMargin(date), setTimingMargin(date, 'right')] : hoverRangeValue);
|
|
@@ -287,32 +283,32 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
287
283
|
if (noHoverRangeValid) {
|
|
288
284
|
// start select
|
|
289
285
|
if (hasDoneSelect.current) {
|
|
290
|
-
|
|
286
|
+
nextSelectDates = [date];
|
|
291
287
|
} else {
|
|
292
288
|
// finish select
|
|
293
|
-
|
|
289
|
+
nextSelectDates[1] = date;
|
|
294
290
|
}
|
|
295
291
|
} else {
|
|
296
292
|
if (!hasDoneSelect.current) {
|
|
297
|
-
|
|
293
|
+
nextSelectDates = selectedDates;
|
|
298
294
|
selectRangeValueRef.current = null;
|
|
299
295
|
} else {
|
|
300
|
-
|
|
296
|
+
nextSelectDates = hoverRangeValue;
|
|
301
297
|
selectRangeValueRef.current = hoverRangeValue;
|
|
302
298
|
}
|
|
303
299
|
} // If user have completed the selection, then sort
|
|
304
300
|
|
|
305
301
|
|
|
306
|
-
if (
|
|
307
|
-
|
|
302
|
+
if (nextSelectDates.length === 2 && DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {
|
|
303
|
+
nextSelectDates.reverse();
|
|
308
304
|
}
|
|
309
305
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
updateCalendarDate(
|
|
306
|
+
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : null);
|
|
307
|
+
setSelectedDates(nextSelectDates);
|
|
308
|
+
updateCalendarDate(nextSelectDates);
|
|
313
309
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
314
310
|
hasDoneSelect.current = !hasDoneSelect.current;
|
|
315
|
-
}, [getHoverRangeValue, handleValueUpdate,
|
|
311
|
+
}, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);
|
|
316
312
|
/**
|
|
317
313
|
* If `selectValue` changed, there will be the following effects.
|
|
318
314
|
* 1. Check if the selection is completed.
|
|
@@ -320,19 +316,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
320
316
|
*/
|
|
321
317
|
|
|
322
318
|
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;
|
|
319
|
+
var selectValueLength = selectedDates.length;
|
|
326
320
|
var doneSelected = selectValueLength === 0 || selectValueLength === 2;
|
|
327
|
-
doneSelected &&
|
|
328
|
-
}, [
|
|
321
|
+
doneSelected && setHoverDateRange(null);
|
|
322
|
+
}, [selectedDates]);
|
|
329
323
|
var handleChangeCalendarDate = useCallback(function (index, date) {
|
|
330
324
|
var nextCalendarDate = Array.from(calendarDate);
|
|
331
325
|
nextCalendarDate[index] = date;
|
|
332
326
|
updateCalendarDate(nextCalendarDate);
|
|
333
327
|
}, [calendarDate, updateCalendarDate]);
|
|
334
328
|
var handleChangeCalendarTime = useCallback(function (index, date) {
|
|
335
|
-
|
|
329
|
+
setSelectedDates(function (prev) {
|
|
336
330
|
var next = [].concat(prev);
|
|
337
331
|
var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day
|
|
338
332
|
|
|
@@ -357,24 +351,28 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
357
351
|
next[index] = DateUtils.setHours(clonedDate, nextHours);
|
|
358
352
|
setCalendarDate(next); // If the value already exists, update the value again.
|
|
359
353
|
|
|
360
|
-
if (
|
|
361
|
-
|
|
354
|
+
if (selectedDates.length === 2) {
|
|
355
|
+
setSelectedDates(next);
|
|
362
356
|
}
|
|
363
|
-
}, [calendarDate,
|
|
357
|
+
}, [calendarDate, selectedDates]);
|
|
364
358
|
/**
|
|
365
359
|
* Toolbar operation callback function
|
|
366
360
|
*/
|
|
367
361
|
|
|
368
362
|
var handleShortcutPageDate = useCallback(function (value, closeOverlay, event) {
|
|
363
|
+
if (closeOverlay === void 0) {
|
|
364
|
+
closeOverlay = false;
|
|
365
|
+
}
|
|
366
|
+
|
|
369
367
|
handleValueUpdate(event, value, closeOverlay);
|
|
370
368
|
}, [handleValueUpdate]);
|
|
371
369
|
var handleOK = useCallback(function (event) {
|
|
372
|
-
handleValueUpdate(event);
|
|
373
|
-
onOk === null || onOk === void 0 ? void 0 : onOk(
|
|
374
|
-
}, [handleValueUpdate, onOk,
|
|
370
|
+
handleValueUpdate(event, selectedDates);
|
|
371
|
+
onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
|
|
372
|
+
}, [handleValueUpdate, onOk, selectedDates]);
|
|
375
373
|
var handleClean = useCallback(function (event) {
|
|
376
|
-
updateCalendarDate();
|
|
377
|
-
handleValueUpdate(event,
|
|
374
|
+
updateCalendarDate(null);
|
|
375
|
+
handleValueUpdate(event, null);
|
|
378
376
|
}, [handleValueUpdate, updateCalendarDate]);
|
|
379
377
|
/**
|
|
380
378
|
* Callback after the input box value is changed.
|
|
@@ -403,13 +401,13 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
403
401
|
return;
|
|
404
402
|
}
|
|
405
403
|
|
|
406
|
-
if (
|
|
404
|
+
if (isDateDisabled(startDate, selectValue, true, DATERANGE_DISABLED_TARGET.CALENDAR)) {
|
|
407
405
|
setInputState('Error');
|
|
408
406
|
return;
|
|
409
407
|
}
|
|
410
408
|
|
|
411
|
-
|
|
412
|
-
|
|
409
|
+
setHoverDateRange(selectValue);
|
|
410
|
+
setSelectedDates(selectValue);
|
|
413
411
|
updateCalendarDate(selectValue);
|
|
414
412
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
415
413
|
[character, rangeFormatStr, updateCalendarDate]);
|
|
@@ -419,11 +417,11 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
419
417
|
|
|
420
418
|
var handleInputPressEnd = useCallback(function (event) {
|
|
421
419
|
if (inputState === 'Typing') {
|
|
422
|
-
handleValueUpdate(event,
|
|
420
|
+
handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
|
|
423
421
|
}
|
|
424
422
|
|
|
425
423
|
setInputState('Initial');
|
|
426
|
-
}, [handleValueUpdate,
|
|
424
|
+
}, [handleValueUpdate, selectedDates, inputState]);
|
|
427
425
|
var handleEnter = useCallback(function () {
|
|
428
426
|
var nextCalendarDate;
|
|
429
427
|
|
|
@@ -433,13 +431,13 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
433
431
|
nextCalendarDate = [_startDate, isSameMonth(_startDate, endData) ? addMonths(endData, 1) : endData];
|
|
434
432
|
} else {
|
|
435
433
|
nextCalendarDate = getCalendarDate({
|
|
436
|
-
value: defaultCalendarValue
|
|
434
|
+
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
437
435
|
});
|
|
438
436
|
}
|
|
439
437
|
|
|
440
|
-
|
|
438
|
+
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
441
439
|
updateCalendarDate(nextCalendarDate);
|
|
442
|
-
}, [defaultCalendarValue, updateCalendarDate,
|
|
440
|
+
}, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);
|
|
443
441
|
var handleEntered = useCallback(function () {
|
|
444
442
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
445
443
|
setPickerToggleActive(true);
|
|
@@ -449,17 +447,16 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
449
447
|
hasDoneSelect.current = true;
|
|
450
448
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
451
449
|
}, [onClose]);
|
|
452
|
-
var
|
|
453
|
-
|
|
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;
|
|
454
454
|
}, [disabledDateProp]);
|
|
455
455
|
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
|
|
456
|
+
// If the date is between the start and the end
|
|
459
457
|
// the button is disabled
|
|
460
|
-
|
|
461
458
|
while (DateUtils.isBefore(start, end) || DateUtils.isSameDay(start, end)) {
|
|
462
|
-
if (
|
|
459
|
+
if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {
|
|
463
460
|
return true;
|
|
464
461
|
}
|
|
465
462
|
|
|
@@ -467,17 +464,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
467
464
|
}
|
|
468
465
|
|
|
469
466
|
return false;
|
|
470
|
-
}, [
|
|
467
|
+
}, [isDateDisabled, selectedDates]);
|
|
471
468
|
var disabledOkButton = useCallback(function () {
|
|
472
|
-
var start =
|
|
473
|
-
end =
|
|
469
|
+
var start = selectedDates[0],
|
|
470
|
+
end = selectedDates[1];
|
|
474
471
|
|
|
475
472
|
if (!start || !end || !hasDoneSelect.current) {
|
|
476
473
|
return true;
|
|
477
474
|
}
|
|
478
475
|
|
|
479
476
|
return disabledByBetween(start, end, DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
480
|
-
}, [disabledByBetween,
|
|
477
|
+
}, [disabledByBetween, selectedDates]);
|
|
481
478
|
var disabledShortcutButton = useCallback(function (value) {
|
|
482
479
|
if (value === void 0) {
|
|
483
480
|
value = [];
|
|
@@ -494,8 +491,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
494
491
|
return disabledByBetween(start, end, DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
495
492
|
}, [disabledByBetween]);
|
|
496
493
|
var handleDisabledDate = useCallback(function (date, values, type) {
|
|
497
|
-
return
|
|
498
|
-
}, [
|
|
494
|
+
return isDateDisabled(date, values, hasDoneSelect.current, type);
|
|
495
|
+
}, [isDateDisabled]);
|
|
499
496
|
var onPickerKeyDown = useToggleKeyDownEvent(_extends({
|
|
500
497
|
triggerRef: triggerRef,
|
|
501
498
|
targetRef: targetRef,
|
|
@@ -521,18 +518,18 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
521
518
|
calendarDate: calendarDate,
|
|
522
519
|
disabledDate: handleDisabledDate,
|
|
523
520
|
format: formatStr,
|
|
524
|
-
hoverRangeValue:
|
|
521
|
+
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
525
522
|
isoWeek: isoWeek,
|
|
526
523
|
limitEndYear: limitEndYear,
|
|
527
524
|
locale: locale,
|
|
528
525
|
showOneCalendar: showOneCalendar,
|
|
529
526
|
showWeekNumbers: showWeekNumbers,
|
|
530
|
-
value:
|
|
527
|
+
value: selectedDates,
|
|
531
528
|
showMeridian: showMeridian,
|
|
532
529
|
onChangeCalendarDate: handleChangeCalendarDate,
|
|
533
530
|
onChangeCalendarTime: handleChangeCalendarTime,
|
|
534
531
|
onMouseMove: handleMouseMove,
|
|
535
|
-
onSelect:
|
|
532
|
+
onSelect: handleSelectDate,
|
|
536
533
|
onToggleMeridian: handleToggleMeridian
|
|
537
534
|
};
|
|
538
535
|
return /*#__PURE__*/React.createElement(PickerOverlay, {
|
|
@@ -546,7 +543,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
546
543
|
className: prefix('daterange-content')
|
|
547
544
|
}, /*#__PURE__*/React.createElement("div", {
|
|
548
545
|
className: prefix('daterange-header')
|
|
549
|
-
}, getDisplayString(
|
|
546
|
+
}, getDisplayString(selectedDates)), /*#__PURE__*/React.createElement("div", {
|
|
550
547
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
551
548
|
}, /*#__PURE__*/React.createElement(Calendar, _extends({
|
|
552
549
|
index: 0
|
|
@@ -554,7 +551,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
554
551
|
index: 1
|
|
555
552
|
}, panelProps)))), /*#__PURE__*/React.createElement(Toolbar, {
|
|
556
553
|
locale: locale,
|
|
557
|
-
calendarDate:
|
|
554
|
+
calendarDate: selectedDates,
|
|
558
555
|
disabledOkBtn: disabledOkButton,
|
|
559
556
|
disabledShortcut: disabledShortcutButton,
|
|
560
557
|
hideOkBtn: oneTap,
|
|
@@ -564,7 +561,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
564
561
|
})));
|
|
565
562
|
};
|
|
566
563
|
|
|
567
|
-
var hasValue = value && value.length > 1;
|
|
564
|
+
var hasValue = !isNil(value) && value.length > 1;
|
|
568
565
|
|
|
569
566
|
var _usePickerClassName = usePickerClassName(_extends({}, props, {
|
|
570
567
|
classPrefix: classPrefix,
|
|
@@ -607,7 +604,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
607
604
|
placement: placement,
|
|
608
605
|
caretComponent: IconCalendar,
|
|
609
606
|
disabled: disabled
|
|
610
|
-
}), getDisplayString())));
|
|
607
|
+
}), getDisplayString(value))));
|
|
611
608
|
});
|
|
612
609
|
DateRangePicker.after = disabledDateUtils.after;
|
|
613
610
|
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;
|
|
@@ -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;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import DisclosureContext from './DisclosureContext';
|
|
3
|
+
export default function useDisclosureContext(component) {
|
|
4
|
+
var context = useContext(DisclosureContext);
|
|
5
|
+
|
|
6
|
+
if (!context) {
|
|
7
|
+
throw new Error("<" + component + "> component must be rendered within a <Disclosure>");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return context;
|
|
11
|
+
}
|
|
@@ -45,7 +45,7 @@ export interface DropdownProps<T = any> extends WithAsProps, Omit<React.HTMLAttr
|
|
|
45
45
|
/** Callback function for menu state switching */
|
|
46
46
|
onToggle?: (open?: boolean) => void;
|
|
47
47
|
/** Selected callback function */
|
|
48
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
48
|
+
onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
49
49
|
}
|
|
50
50
|
export interface DropdownComponent extends RsRefForwardingComponent<'div', DropdownProps> {
|
|
51
51
|
Item: typeof DropdownItem;
|
|
@@ -2,9 +2,9 @@ import React, { Dispatch } from 'react';
|
|
|
2
2
|
import { DropdownAction } from './DropdownState';
|
|
3
3
|
export interface DropdownContextProps {
|
|
4
4
|
activeKey?: string;
|
|
5
|
-
onSelect
|
|
5
|
+
onSelect?: (eventKey: string | undefined, event: React.SyntheticEvent) => void;
|
|
6
6
|
hasSelectedItem?: boolean;
|
|
7
7
|
dispatch?: Dispatch<DropdownAction>;
|
|
8
8
|
}
|
|
9
|
-
declare const DropdownContext: React.Context<DropdownContextProps>;
|
|
9
|
+
declare const DropdownContext: React.Context<DropdownContextProps | null>;
|
|
10
10
|
export default DropdownContext;
|