rsuite 5.39.0 → 5.41.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/CHANGELOG.md +26 -0
- package/Navbar/styles/index.less +1 -1
- package/SelectPicker/styles/index.less +4 -8
- package/cjs/@types/common.js +1 -0
- package/cjs/@types/utils.js +12 -2
- package/cjs/Affix/Affix.js +39 -59
- package/cjs/Affix/index.js +1 -3
- package/cjs/Animation/Bounce.js +4 -13
- package/cjs/Animation/Collapse.js +19 -40
- package/cjs/Animation/Fade.js +6 -15
- package/cjs/Animation/Slide.js +6 -15
- package/cjs/Animation/Transition.js +16 -83
- package/cjs/Animation/index.js +1 -7
- package/cjs/Animation/utils.js +1 -6
- package/cjs/AutoComplete/AutoComplete.js +55 -90
- package/cjs/AutoComplete/index.js +1 -3
- package/cjs/AutoComplete/utils.js +1 -9
- package/cjs/Avatar/Avatar.js +18 -32
- package/cjs/Avatar/index.js +1 -3
- package/cjs/AvatarGroup/AvatarGroup.js +13 -27
- package/cjs/AvatarGroup/index.js +1 -3
- package/cjs/Badge/Badge.js +14 -27
- package/cjs/Badge/index.js +1 -3
- package/cjs/Breadcrumb/Breadcrumb.js +19 -41
- package/cjs/Breadcrumb/BreadcrumbItem.js +14 -26
- package/cjs/Breadcrumb/index.js +1 -3
- package/cjs/Button/Button.js +22 -40
- package/cjs/Button/index.js +1 -3
- package/cjs/ButtonGroup/ButtonGroup.js +15 -26
- package/cjs/ButtonGroup/ButtonGroupContext.js +1 -4
- package/cjs/ButtonGroup/index.js +1 -4
- package/cjs/ButtonToolbar/ButtonToolbar.js +10 -20
- package/cjs/ButtonToolbar/index.js +1 -3
- package/cjs/Calendar/Calendar.js +24 -43
- package/cjs/Calendar/CalendarBody.js +14 -28
- package/cjs/Calendar/CalendarContainer.js +46 -69
- package/cjs/Calendar/CalendarContext.js +1 -6
- package/cjs/Calendar/CalendarHeader.js +32 -59
- package/cjs/Calendar/MonthDropdown.js +22 -45
- package/cjs/Calendar/MonthDropdownItem.js +16 -31
- package/cjs/Calendar/Table.js +10 -21
- package/cjs/Calendar/TableHeaderRow.js +11 -25
- package/cjs/Calendar/TableRow.js +35 -66
- package/cjs/Calendar/TimeDropdown.js +24 -64
- package/cjs/Calendar/index.js +1 -8
- package/cjs/Calendar/types.js +1 -0
- package/cjs/Calendar/useCalendarDate.js +3 -13
- package/cjs/Calendar/useCalendarState.js +3 -8
- package/cjs/Carousel/Carousel.js +40 -65
- package/cjs/Carousel/index.js +1 -3
- package/cjs/Cascader/Cascader.js +126 -197
- package/cjs/Cascader/DropdownMenu.js +33 -65
- package/cjs/Cascader/index.js +1 -3
- package/cjs/Cascader/utils.js +13 -24
- package/cjs/CheckPicker/CheckPicker.js +105 -156
- package/cjs/CheckPicker/index.js +1 -3
- package/cjs/CheckTree/index.js +1 -8
- package/cjs/CheckTreePicker/CheckTreeNode.js +28 -54
- package/cjs/CheckTreePicker/CheckTreePicker.js +166 -248
- package/cjs/CheckTreePicker/index.js +1 -3
- package/cjs/CheckTreePicker/utils.d.ts +1 -1
- package/cjs/CheckTreePicker/utils.js +14 -54
- package/cjs/Checkbox/Checkbox.js +48 -77
- package/cjs/Checkbox/index.js +1 -3
- package/cjs/CheckboxGroup/CheckboxGroup.js +20 -38
- package/cjs/CheckboxGroup/CheckboxGroupContext.js +1 -4
- package/cjs/CheckboxGroup/index.js +1 -4
- package/cjs/CloseButton/CloseButton.js +10 -20
- package/cjs/CloseButton/index.js +1 -3
- package/cjs/Col/Col.js +10 -23
- package/cjs/Col/index.js +1 -3
- package/cjs/Container/Container.js +11 -24
- package/cjs/Container/index.js +1 -3
- package/cjs/Content/Content.js +1 -3
- package/cjs/Content/index.js +1 -3
- package/cjs/CustomProvider/CustomProvider.js +13 -28
- package/cjs/CustomProvider/FormattedDate.js +3 -9
- package/cjs/CustomProvider/index.js +1 -6
- package/cjs/DOMHelper/index.js +1 -7
- package/cjs/DOMHelper/isElement.js +1 -2
- package/cjs/DatePicker/DatePicker.js +108 -161
- package/cjs/DatePicker/PredefinedRanges.js +12 -29
- package/cjs/DatePicker/Toolbar.js +20 -36
- package/cjs/DatePicker/index.js +1 -3
- package/cjs/DatePicker/types.js +1 -0
- package/cjs/DatePicker/utils.js +5 -13
- package/cjs/DateRangePicker/Calendar.js +18 -28
- package/cjs/DateRangePicker/DateRangePicker.js +128 -207
- package/cjs/DateRangePicker/DateRangePickerContext.js +1 -6
- package/cjs/DateRangePicker/disabledDateUtils.js +9 -32
- package/cjs/DateRangePicker/index.js +1 -3
- package/cjs/DateRangePicker/types.js +1 -0
- package/cjs/DateRangePicker/utils.js +7 -20
- package/cjs/Disclosure/Disclosure.js +14 -34
- package/cjs/Disclosure/DisclosureButton.js +4 -12
- package/cjs/Disclosure/DisclosureContent.js +1 -5
- package/cjs/Disclosure/DisclosureContext.js +1 -6
- package/cjs/Disclosure/index.js +1 -3
- package/cjs/Disclosure/useDisclosureContext.js +1 -6
- package/cjs/Divider/Divider.js +11 -20
- package/cjs/Divider/index.js +1 -3
- package/cjs/Drawer/Drawer.js +10 -27
- package/cjs/Drawer/index.js +1 -3
- package/cjs/Dropdown/Dropdown.js +35 -68
- package/cjs/Dropdown/DropdownContext.js +1 -4
- package/cjs/Dropdown/DropdownItem.js +22 -49
- package/cjs/Dropdown/DropdownMenu.js +36 -63
- package/cjs/Dropdown/DropdownSeparator.js +8 -17
- package/cjs/Dropdown/DropdownState.js +1 -10
- package/cjs/Dropdown/DropdownToggle.js +17 -29
- package/cjs/Dropdown/index.js +1 -3
- package/cjs/Dropdown/useRenderDropdownItem.js +1 -5
- package/cjs/FlexboxGrid/FlexboxGrid.js +12 -22
- package/cjs/FlexboxGrid/FlexboxGridItem.js +12 -22
- package/cjs/FlexboxGrid/index.js +1 -3
- package/cjs/Footer/Footer.js +1 -3
- package/cjs/Footer/index.js +1 -3
- package/cjs/Form/Form.js +36 -76
- package/cjs/Form/FormContext.js +1 -8
- package/cjs/Form/index.js +1 -4
- package/cjs/Form/useFormClassNames.js +11 -14
- package/cjs/Form/useSchemaModel.js +2 -6
- package/cjs/FormControl/FormControl.js +50 -82
- package/cjs/FormControl/index.js +1 -3
- package/cjs/FormControl/useRegisterModel.js +1 -3
- package/cjs/FormControlLabel/FormControlLabel.js +10 -22
- package/cjs/FormControlLabel/index.js +1 -3
- package/cjs/FormErrorMessage/FormErrorMessage.js +12 -27
- package/cjs/FormErrorMessage/index.js +1 -3
- package/cjs/FormGroup/FormGroup.js +9 -21
- package/cjs/FormGroup/index.js +1 -3
- package/cjs/FormHelpText/FormHelpText.js +11 -28
- package/cjs/FormHelpText/index.js +1 -3
- package/cjs/Grid/Grid.js +10 -19
- package/cjs/Grid/index.js +1 -3
- package/cjs/Header/Header.js +1 -3
- package/cjs/Header/index.js +1 -3
- package/cjs/IconButton/IconButton.js +11 -21
- package/cjs/IconButton/index.js +1 -3
- package/cjs/Input/Input.js +26 -43
- package/cjs/Input/index.js +1 -3
- package/cjs/InputGroup/InputGroup.js +23 -39
- package/cjs/InputGroup/InputGroupAddon.js +9 -18
- package/cjs/InputGroup/InputGroupButton.js +7 -17
- package/cjs/InputGroup/index.js +1 -3
- package/cjs/InputNumber/InputNumber.js +42 -88
- package/cjs/InputNumber/index.js +1 -3
- package/cjs/InputPicker/InputAutosize.js +17 -42
- package/cjs/InputPicker/InputPicker.js +149 -250
- package/cjs/InputPicker/InputSearch.js +15 -28
- package/cjs/InputPicker/index.js +1 -3
- package/cjs/List/List.js +37 -51
- package/cjs/List/ListContext.js +1 -5
- package/cjs/List/ListItem.js +26 -40
- package/cjs/List/helper/AutoScroller.js +11 -21
- package/cjs/List/helper/useManager.js +1 -8
- package/cjs/List/helper/useSortHelper.js +58 -82
- package/cjs/List/helper/utils.js +6 -19
- package/cjs/List/index.js +1 -3
- package/cjs/Loader/Loader.js +17 -26
- package/cjs/Loader/index.js +1 -3
- package/cjs/MaskedInput/MaskedInput.js +2 -8
- package/cjs/MaskedInput/TextMask.js +14 -23
- package/cjs/MaskedInput/adjustCaretPosition.js +99 -70
- package/cjs/MaskedInput/conformToMask.js +79 -73
- package/cjs/MaskedInput/createTextMaskInputElement.js +65 -71
- package/cjs/MaskedInput/index.js +1 -3
- package/cjs/MaskedInput/types.js +1 -0
- package/cjs/MaskedInput/utilities.js +1 -8
- package/cjs/Menu/Menu.js +35 -79
- package/cjs/Menu/MenuContext.js +1 -8
- package/cjs/Menu/MenuItem.js +15 -26
- package/cjs/Menu/Menubar.js +13 -32
- package/cjs/Menu/index.js +1 -3
- package/cjs/Menu/useMenu.js +5 -34
- package/cjs/Message/Message.js +23 -45
- package/cjs/Message/index.js +1 -3
- package/cjs/Modal/Modal.js +70 -91
- package/cjs/Modal/ModalBody.js +11 -25
- package/cjs/Modal/ModalContext.js +1 -4
- package/cjs/Modal/ModalDialog.js +14 -26
- package/cjs/Modal/ModalFooter.js +1 -3
- package/cjs/Modal/ModalHeader.js +14 -29
- package/cjs/Modal/ModalTitle.js +9 -20
- package/cjs/Modal/index.js +1 -3
- package/cjs/Modal/utils.js +8 -19
- package/cjs/MultiCascader/DropdownMenu.js +38 -64
- package/cjs/MultiCascader/MultiCascader.js +129 -192
- package/cjs/MultiCascader/index.js +1 -3
- package/cjs/MultiCascader/utils.js +44 -106
- package/cjs/Nav/Nav.js +27 -69
- package/cjs/Nav/NavContext.js +1 -4
- package/cjs/Nav/NavDropdown.js +28 -60
- package/cjs/Nav/NavDropdownItem.js +20 -42
- package/cjs/Nav/NavDropdownMenu.js +26 -54
- package/cjs/Nav/NavDropdownToggle.js +12 -26
- package/cjs/Nav/NavItem.js +20 -39
- package/cjs/Nav/NavMenu.js +2 -28
- package/cjs/Nav/index.js +1 -3
- package/cjs/Navbar/Navbar.js +10 -23
- package/cjs/Navbar/NavbarBody.js +1 -6
- package/cjs/Navbar/NavbarBrand.js +1 -3
- package/cjs/Navbar/NavbarDropdown.js +25 -49
- package/cjs/Navbar/NavbarDropdownItem.js +18 -44
- package/cjs/Navbar/NavbarDropdownMenu.js +22 -51
- package/cjs/Navbar/NavbarDropdownToggle.js +12 -25
- package/cjs/Navbar/NavbarHeader.js +1 -6
- package/cjs/Navbar/NavbarItem.js +19 -35
- package/cjs/Navbar/index.js +1 -3
- package/cjs/Notification/Notification.js +20 -43
- package/cjs/Notification/index.js +1 -3
- package/cjs/Overlay/Modal.js +40 -79
- package/cjs/Overlay/ModalManager.js +1 -26
- package/cjs/Overlay/Overlay.js +28 -50
- package/cjs/Overlay/OverlayContext.js +1 -4
- package/cjs/Overlay/OverlayTrigger.js +67 -116
- package/cjs/Overlay/Position.js +25 -64
- package/cjs/Overlay/index.js +1 -3
- package/cjs/Overlay/positionUtils.js +25 -86
- package/cjs/Pagination/Pagination.js +30 -70
- package/cjs/Pagination/PaginationButton.js +15 -29
- package/cjs/Pagination/PaginationGroup.js +38 -63
- package/cjs/Pagination/index.js +1 -3
- package/cjs/Panel/Panel.js +37 -61
- package/cjs/Panel/index.js +1 -3
- package/cjs/PanelGroup/PanelGroup.js +16 -29
- package/cjs/PanelGroup/index.js +1 -3
- package/cjs/Picker/DropdownMenu.js +50 -93
- package/cjs/Picker/DropdownMenuCheckItem.js +22 -33
- package/cjs/Picker/DropdownMenuGroup.js +10 -22
- package/cjs/Picker/DropdownMenuItem.js +15 -26
- package/cjs/Picker/PickerOverlay.js +12 -28
- package/cjs/Picker/PickerToggle.js +57 -89
- package/cjs/Picker/PickerToggleTrigger.js +8 -19
- package/cjs/Picker/SearchBar.js +14 -26
- package/cjs/Picker/SelectedElement.js +9 -17
- package/cjs/Picker/ToggleButton.js +1 -6
- package/cjs/Picker/index.js +1 -24
- package/cjs/Picker/propTypes.js +1 -7
- package/cjs/Picker/types.js +1 -0
- package/cjs/Picker/utils.js +94 -200
- package/cjs/Placeholder/Placeholder.js +1 -5
- package/cjs/Placeholder/PlaceholderGraph.js +13 -22
- package/cjs/Placeholder/PlaceholderGrid.js +18 -34
- package/cjs/Placeholder/PlaceholderParagraph.js +17 -29
- package/cjs/Placeholder/index.js +1 -3
- package/cjs/Plaintext/Plaintext.js +14 -23
- package/cjs/Plaintext/index.js +1 -3
- package/cjs/Popover/Popover.js +16 -27
- package/cjs/Popover/index.js +1 -3
- package/cjs/Progress/Progress.js +1 -4
- package/cjs/Progress/ProgressCircle.js +30 -47
- package/cjs/Progress/ProgressLine.js +19 -29
- package/cjs/Progress/index.js +1 -3
- package/cjs/Radio/Radio.js +42 -62
- package/cjs/Radio/index.js +1 -3
- package/cjs/RadioGroup/RadioGroup.js +22 -37
- package/cjs/RadioGroup/index.js +1 -3
- package/cjs/RadioTile/RadioTile.js +30 -47
- package/cjs/RadioTile/index.js +1 -3
- package/cjs/RadioTileGroup/RadioTileGroup.js +17 -32
- package/cjs/RadioTileGroup/index.js +1 -3
- package/cjs/RangeSlider/RangeSlider.js +63 -104
- package/cjs/RangeSlider/index.js +1 -3
- package/cjs/Rate/Character.js +16 -31
- package/cjs/Rate/Rate.js +35 -62
- package/cjs/Rate/index.js +1 -3
- package/cjs/Rate/utils.js +1 -6
- package/cjs/Ripple/Ripple.js +16 -40
- package/cjs/Ripple/index.js +1 -3
- package/cjs/Row/Row.js +11 -22
- package/cjs/Row/index.js +1 -3
- package/cjs/SafeAnchor/SafeAnchor.js +8 -19
- package/cjs/SafeAnchor/index.js +1 -3
- package/cjs/Schema/Schema.js +1 -2
- package/cjs/Schema/index.js +1 -3
- package/cjs/SelectPicker/SelectPicker.js +136 -170
- package/cjs/SelectPicker/index.js +1 -3
- package/cjs/Sidebar/Sidebar.js +13 -26
- package/cjs/Sidebar/index.js +1 -3
- package/cjs/Sidenav/ExpandedSidenavDropdown.js +32 -54
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +19 -41
- package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +22 -46
- package/cjs/Sidenav/Node.js +1 -12
- package/cjs/Sidenav/Sidenav.js +22 -45
- package/cjs/Sidenav/SidenavBody.js +1 -3
- package/cjs/Sidenav/SidenavDropdown.js +39 -70
- package/cjs/Sidenav/SidenavDropdownCollapse.js +9 -22
- package/cjs/Sidenav/SidenavDropdownItem.js +19 -45
- package/cjs/Sidenav/SidenavDropdownMenu.js +26 -54
- package/cjs/Sidenav/SidenavDropdownToggle.js +12 -25
- package/cjs/Sidenav/SidenavHeader.js +1 -3
- package/cjs/Sidenav/SidenavItem.js +27 -55
- package/cjs/Sidenav/SidenavToggle.js +11 -31
- package/cjs/Sidenav/index.js +1 -3
- package/cjs/Slider/Graduated.js +14 -29
- package/cjs/Slider/Handle.js +27 -52
- package/cjs/Slider/Input.js +2 -8
- package/cjs/Slider/Mark.js +11 -20
- package/cjs/Slider/ProgressBar.js +14 -23
- package/cjs/Slider/Slider.js +51 -84
- package/cjs/Slider/index.js +1 -3
- package/cjs/Slider/utils.js +1 -6
- package/cjs/Stack/Stack.js +22 -35
- package/cjs/Stack/StackItem.js +11 -17
- package/cjs/Stack/index.js +1 -3
- package/cjs/Steps/StepItem.js +16 -32
- package/cjs/Steps/Steps.js +18 -32
- package/cjs/Steps/index.js +1 -3
- package/cjs/Table/Table.js +6 -16
- package/cjs/Table/index.js +1 -3
- package/cjs/Tag/Tag.js +16 -28
- package/cjs/Tag/index.js +1 -3
- package/cjs/TagGroup/TagGroup.js +1 -3
- package/cjs/TagGroup/index.js +1 -3
- package/cjs/TagInput/index.js +7 -14
- package/cjs/TagPicker/index.js +5 -12
- package/cjs/Timeline/Timeline.js +14 -29
- package/cjs/Timeline/TimelineItem.js +14 -23
- package/cjs/Timeline/index.js +1 -3
- package/cjs/Toggle/Toggle.js +26 -45
- package/cjs/Toggle/index.js +1 -3
- package/cjs/Tooltip/Tooltip.js +13 -22
- package/cjs/Tooltip/index.js +1 -3
- package/cjs/Tree/Tree.js +1 -10
- package/cjs/Tree/TreeContext.js +1 -4
- package/cjs/Tree/index.js +1 -3
- package/cjs/TreePicker/TreeNode.js +37 -60
- package/cjs/TreePicker/TreePicker.js +155 -231
- package/cjs/TreePicker/index.js +1 -3
- package/cjs/Uploader/UploadFileItem.js +37 -82
- package/cjs/Uploader/UploadTrigger.js +24 -46
- package/cjs/Uploader/Uploader.js +89 -141
- package/cjs/Uploader/index.js +1 -3
- package/cjs/Whisper/Whisper.js +8 -20
- package/cjs/Whisper/index.js +1 -3
- package/cjs/Windowing/AutoSizer.js +13 -33
- package/cjs/Windowing/List.d.ts +2 -2
- package/cjs/Windowing/List.js +6 -22
- package/cjs/Windowing/index.js +1 -7
- package/cjs/index.js +1 -164
- package/cjs/locales/ar_EG.js +1 -4
- package/cjs/locales/da_DK.js +1 -5
- package/cjs/locales/de_DE.js +1 -5
- package/cjs/locales/default.js +1 -5
- package/cjs/locales/en_GB.js +1 -3
- package/cjs/locales/en_US.js +1 -4
- package/cjs/locales/es_AR.js +1 -5
- package/cjs/locales/es_ES.js +1 -5
- package/cjs/locales/fa_IR.js +1 -4
- package/cjs/locales/fi_FI.js +1 -5
- package/cjs/locales/fr_FR.js +1 -4
- package/cjs/locales/hu_HU.js +1 -5
- package/cjs/locales/index.js +1 -47
- package/cjs/locales/it_IT.js +1 -5
- package/cjs/locales/ja_JP.js +1 -5
- package/cjs/locales/kk_KZ.js +1 -4
- package/cjs/locales/ko_KR.js +1 -5
- package/cjs/locales/ne_NP.js +1 -5
- package/cjs/locales/nl_NL.js +1 -4
- package/cjs/locales/pt_BR.js +1 -4
- package/cjs/locales/ru_RU.js +1 -4
- package/cjs/locales/sv_SE.js +1 -5
- package/cjs/locales/tr_TR.js +1 -4
- package/cjs/locales/zh_CN.js +1 -4
- package/cjs/locales/zh_TW.js +1 -4
- package/cjs/toaster/ToastContainer.js +29 -52
- package/cjs/toaster/ToastContext.js +1 -4
- package/cjs/toaster/index.js +1 -4
- package/cjs/toaster/toaster.js +4 -27
- package/cjs/toaster/useToaster.js +2 -8
- package/cjs/utils/BrowserDetection.js +7 -24
- package/cjs/utils/ReactChildren.js +2 -19
- package/cjs/utils/ajaxUpload.js +15 -33
- package/cjs/utils/appendTooltip.js +3 -9
- package/cjs/utils/attachParent.js +1 -1
- package/cjs/utils/clone.js +1 -2
- package/cjs/utils/composeFunctions.js +1 -3
- package/cjs/utils/constants.js +3 -8
- package/cjs/utils/createChainedFunction.js +2 -6
- package/cjs/utils/createComponent.js +12 -24
- package/cjs/utils/dateUtils.js +7 -121
- package/cjs/utils/deprecateComponent.js +1 -8
- package/cjs/utils/deprecatePropType.js +2 -9
- package/cjs/utils/dom.js +3 -2
- package/cjs/utils/events.js +2 -3
- package/cjs/utils/getDOMNode.js +16 -9
- package/cjs/utils/getDataGroupBy.d.ts +0 -23
- package/cjs/utils/getDataGroupBy.js +5 -44
- package/cjs/utils/getSafeRegExpString.js +1 -1
- package/cjs/utils/guid.js +1 -1
- package/cjs/utils/htmlPropsUtils.js +23 -20
- package/cjs/utils/index.js +1 -86
- package/cjs/utils/isOneOf.js +1 -2
- package/cjs/utils/mergeRefs.js +1 -2
- package/cjs/utils/placementPolyfill.js +2 -5
- package/cjs/utils/prefix.js +4 -15
- package/cjs/utils/previewFile.js +1 -6
- package/cjs/utils/propTypeChecker.js +1 -8
- package/cjs/utils/reactToString.js +1 -5
- package/cjs/utils/render.js +3 -10
- package/cjs/utils/scrollTopAnimation.js +1 -9
- package/cjs/utils/shallowEqual.js +8 -14
- package/cjs/utils/shallowEqualArray.js +1 -7
- package/cjs/utils/statusIcons.js +1 -9
- package/cjs/utils/stringToObject.js +1 -7
- package/cjs/utils/tplTransform.js +2 -7
- package/cjs/utils/treeUtils.d.ts +1 -1
- package/cjs/utils/treeUtils.js +119 -334
- package/cjs/utils/useClassNames.js +9 -15
- package/cjs/utils/useClickOutside.js +4 -8
- package/cjs/utils/useControlled.js +11 -7
- package/cjs/utils/useCustom.js +12 -25
- package/cjs/utils/useElementResize.js +1 -6
- package/cjs/utils/useEnsuredRef.js +1 -4
- package/cjs/utils/useEventCallback.js +1 -4
- package/cjs/utils/useEventListener.js +1 -5
- package/cjs/utils/useFocus.js +5 -6
- package/cjs/utils/useInternalId.js +1 -6
- package/cjs/utils/useIsMounted.js +1 -3
- package/cjs/utils/useMap.js +5 -7
- package/cjs/utils/useMount.js +1 -4
- package/cjs/utils/usePortal.js +7 -20
- package/cjs/utils/useRootClose.js +9 -19
- package/cjs/utils/useTimeout.js +3 -8
- package/cjs/utils/useToggleCaret.js +2 -14
- package/cjs/utils/useUniqueId.js +2 -9
- package/cjs/utils/useUpdateEffect.js +3 -5
- package/cjs/utils/useUpdatedRef.js +1 -2
- package/cjs/utils/useWillUnmount.js +3 -5
- package/cjs/utils/warnOnce.js +2 -2
- package/dist/rsuite-no-reset-rtl.css +23 -25
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +23 -25
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +23 -25
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +23 -25
- package/dist/rsuite.js +407 -440
- 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.js +1 -0
- package/esm/@types/utils.js +14 -2
- package/esm/Affix/Affix.js +39 -50
- package/esm/Affix/index.js +1 -0
- package/esm/Animation/Bounce.js +4 -5
- package/esm/Animation/Collapse.js +19 -26
- package/esm/Animation/Fade.js +6 -7
- package/esm/Animation/Slide.js +6 -7
- package/esm/Animation/Transition.js +16 -69
- package/esm/Animation/index.js +1 -0
- package/esm/Animation/utils.js +1 -2
- package/esm/AutoComplete/AutoComplete.js +55 -75
- package/esm/AutoComplete/index.js +1 -0
- package/esm/AutoComplete/utils.js +1 -4
- package/esm/Avatar/Avatar.js +18 -22
- package/esm/Avatar/index.js +1 -0
- package/esm/AvatarGroup/AvatarGroup.js +13 -16
- package/esm/AvatarGroup/index.js +1 -0
- package/esm/Badge/Badge.js +14 -19
- package/esm/Badge/index.js +1 -0
- package/esm/Breadcrumb/Breadcrumb.js +19 -30
- package/esm/Breadcrumb/BreadcrumbItem.js +14 -17
- package/esm/Breadcrumb/index.js +1 -0
- package/esm/Button/Button.js +22 -28
- package/esm/Button/index.js +1 -0
- package/esm/ButtonGroup/ButtonGroup.js +15 -16
- package/esm/ButtonGroup/ButtonGroupContext.js +1 -0
- package/esm/ButtonGroup/index.js +1 -0
- package/esm/ButtonToolbar/ButtonToolbar.js +10 -12
- package/esm/ButtonToolbar/index.js +1 -0
- package/esm/Calendar/Calendar.js +24 -29
- package/esm/Calendar/CalendarBody.js +14 -18
- package/esm/Calendar/CalendarContainer.js +46 -51
- package/esm/Calendar/CalendarContext.js +1 -0
- package/esm/Calendar/CalendarHeader.js +32 -41
- package/esm/Calendar/MonthDropdown.js +22 -27
- package/esm/Calendar/MonthDropdownItem.js +16 -20
- package/esm/Calendar/Table.js +10 -11
- package/esm/Calendar/TableHeaderRow.js +11 -15
- package/esm/Calendar/TableRow.js +36 -50
- package/esm/Calendar/TimeDropdown.js +24 -48
- package/esm/Calendar/index.js +1 -0
- package/esm/Calendar/types.js +1 -0
- package/esm/Calendar/useCalendarDate.js +3 -11
- package/esm/Calendar/useCalendarState.js +3 -6
- package/esm/Carousel/Carousel.js +40 -52
- package/esm/Carousel/index.js +1 -0
- package/esm/Cascader/Cascader.js +126 -178
- package/esm/Cascader/DropdownMenu.js +33 -45
- package/esm/Cascader/index.js +1 -0
- package/esm/Cascader/utils.js +13 -22
- package/esm/CheckPicker/CheckPicker.js +105 -139
- package/esm/CheckPicker/index.js +1 -0
- package/esm/CheckTree/index.js +1 -0
- package/esm/CheckTreePicker/CheckTreeNode.js +28 -44
- package/esm/CheckTreePicker/CheckTreePicker.js +166 -233
- package/esm/CheckTreePicker/index.js +1 -0
- package/esm/CheckTreePicker/utils.d.ts +1 -1
- package/esm/CheckTreePicker/utils.js +14 -37
- package/esm/Checkbox/Checkbox.js +48 -66
- package/esm/Checkbox/index.js +1 -0
- package/esm/CheckboxGroup/CheckboxGroup.js +20 -25
- package/esm/CheckboxGroup/CheckboxGroupContext.js +1 -0
- package/esm/CheckboxGroup/index.js +1 -0
- package/esm/CloseButton/CloseButton.js +10 -13
- package/esm/CloseButton/index.js +1 -0
- package/esm/Col/Col.js +10 -13
- package/esm/Col/index.js +1 -0
- package/esm/Container/Container.js +11 -13
- package/esm/Container/index.js +1 -0
- package/esm/Content/Content.js +1 -1
- package/esm/Content/index.js +1 -0
- package/esm/CustomProvider/CustomProvider.js +13 -16
- package/esm/CustomProvider/FormattedDate.js +3 -6
- package/esm/CustomProvider/index.js +1 -0
- package/esm/DOMHelper/index.js +1 -2
- package/esm/DOMHelper/isElement.js +1 -1
- package/esm/DatePicker/DatePicker.js +108 -131
- package/esm/DatePicker/PredefinedRanges.js +12 -19
- package/esm/DatePicker/Toolbar.js +20 -26
- package/esm/DatePicker/index.js +1 -0
- package/esm/DatePicker/types.js +1 -0
- package/esm/DatePicker/utils.js +5 -8
- package/esm/DateRangePicker/Calendar.js +18 -18
- package/esm/DateRangePicker/DateRangePicker.js +128 -184
- package/esm/DateRangePicker/DateRangePickerContext.js +1 -0
- package/esm/DateRangePicker/disabledDateUtils.js +9 -24
- package/esm/DateRangePicker/index.js +1 -0
- package/esm/DateRangePicker/types.js +1 -0
- package/esm/DateRangePicker/utils.js +7 -12
- package/esm/Disclosure/Disclosure.js +13 -24
- package/esm/Disclosure/DisclosureButton.js +4 -7
- package/esm/Disclosure/DisclosureContent.js +1 -2
- package/esm/Disclosure/DisclosureContext.js +1 -2
- package/esm/Disclosure/index.js +1 -0
- package/esm/Disclosure/useDisclosureContext.js +1 -2
- package/esm/Divider/Divider.js +11 -12
- package/esm/Divider/index.js +1 -0
- package/esm/Drawer/Drawer.js +10 -11
- package/esm/Drawer/index.js +1 -0
- package/esm/Dropdown/Dropdown.js +35 -50
- package/esm/Dropdown/DropdownContext.js +1 -0
- package/esm/Dropdown/DropdownItem.js +22 -31
- package/esm/Dropdown/DropdownMenu.js +36 -49
- package/esm/Dropdown/DropdownSeparator.js +8 -10
- package/esm/Dropdown/DropdownState.js +1 -7
- package/esm/Dropdown/DropdownToggle.js +17 -17
- package/esm/Dropdown/index.js +1 -0
- package/esm/Dropdown/useRenderDropdownItem.js +1 -2
- package/esm/FlexboxGrid/FlexboxGrid.js +12 -13
- package/esm/FlexboxGrid/FlexboxGridItem.js +12 -14
- package/esm/FlexboxGrid/index.js +1 -0
- package/esm/Footer/Footer.js +1 -0
- package/esm/Footer/index.js +1 -0
- package/esm/Form/Form.js +36 -63
- package/esm/Form/FormContext.js +1 -0
- package/esm/Form/index.js +1 -0
- package/esm/Form/useFormClassNames.js +11 -13
- package/esm/Form/useSchemaModel.js +2 -4
- package/esm/FormControl/FormControl.js +48 -68
- package/esm/FormControl/index.js +1 -0
- package/esm/FormControl/useRegisterModel.js +1 -2
- package/esm/FormControlLabel/FormControlLabel.js +10 -12
- package/esm/FormControlLabel/index.js +1 -0
- package/esm/FormErrorMessage/FormErrorMessage.js +12 -18
- package/esm/FormErrorMessage/index.js +1 -0
- package/esm/FormGroup/FormGroup.js +9 -10
- package/esm/FormGroup/index.js +1 -0
- package/esm/FormHelpText/FormHelpText.js +11 -15
- package/esm/FormHelpText/index.js +1 -0
- package/esm/Grid/Grid.js +10 -11
- package/esm/Grid/index.js +1 -0
- package/esm/Header/Header.js +1 -0
- package/esm/Header/index.js +1 -0
- package/esm/IconButton/IconButton.js +11 -12
- package/esm/IconButton/index.js +1 -0
- package/esm/Input/Input.js +26 -32
- package/esm/Input/index.js +1 -0
- package/esm/InputGroup/InputGroup.js +23 -26
- package/esm/InputGroup/InputGroupAddon.js +9 -10
- package/esm/InputGroup/InputGroupButton.js +7 -9
- package/esm/InputGroup/index.js +1 -0
- package/esm/InputNumber/InputNumber.js +42 -72
- package/esm/InputNumber/index.js +1 -0
- package/esm/InputPicker/InputAutosize.js +17 -37
- package/esm/InputPicker/InputPicker.js +149 -225
- package/esm/InputPicker/InputSearch.js +15 -20
- package/esm/InputPicker/index.js +1 -0
- package/esm/List/List.js +37 -39
- package/esm/List/ListContext.js +1 -0
- package/esm/List/ListItem.js +26 -30
- package/esm/List/helper/AutoScroller.js +11 -21
- package/esm/List/helper/useManager.js +1 -6
- package/esm/List/helper/useSortHelper.js +58 -74
- package/esm/List/helper/utils.js +6 -11
- package/esm/List/index.js +1 -0
- package/esm/Loader/Loader.js +17 -19
- package/esm/Loader/index.js +1 -0
- package/esm/MaskedInput/MaskedInput.js +2 -1
- package/esm/MaskedInput/TextMask.js +12 -14
- package/esm/MaskedInput/adjustCaretPosition.js +99 -69
- package/esm/MaskedInput/conformToMask.js +79 -70
- package/esm/MaskedInput/createTextMaskInputElement.js +65 -62
- package/esm/MaskedInput/index.js +1 -0
- package/esm/MaskedInput/types.js +1 -0
- package/esm/MaskedInput/utilities.js +1 -6
- package/esm/Menu/Menu.js +35 -66
- package/esm/Menu/MenuContext.js +1 -4
- package/esm/Menu/MenuItem.js +15 -19
- package/esm/Menu/Menubar.js +13 -23
- package/esm/Menu/index.js +1 -0
- package/esm/Menu/useMenu.js +4 -27
- package/esm/Message/Message.js +23 -34
- package/esm/Message/index.js +1 -0
- package/esm/Modal/Modal.js +70 -69
- package/esm/Modal/ModalBody.js +11 -13
- package/esm/Modal/ModalContext.js +1 -0
- package/esm/Modal/ModalDialog.js +14 -18
- package/esm/Modal/ModalFooter.js +1 -0
- package/esm/Modal/ModalHeader.js +14 -16
- package/esm/Modal/ModalTitle.js +9 -10
- package/esm/Modal/index.js +1 -0
- package/esm/Modal/utils.js +8 -12
- package/esm/MultiCascader/DropdownMenu.js +38 -48
- package/esm/MultiCascader/MultiCascader.js +129 -174
- package/esm/MultiCascader/index.js +1 -0
- package/esm/MultiCascader/utils.js +44 -87
- package/esm/Nav/Nav.js +27 -45
- package/esm/Nav/NavContext.js +1 -0
- package/esm/Nav/NavDropdown.js +28 -44
- package/esm/Nav/NavDropdownItem.js +20 -31
- package/esm/Nav/NavDropdownMenu.js +26 -42
- package/esm/Nav/NavDropdownToggle.js +12 -15
- package/esm/Nav/NavItem.js +20 -28
- package/esm/Nav/NavMenu.js +2 -13
- package/esm/Nav/index.js +1 -0
- package/esm/Navbar/Navbar.js +10 -11
- package/esm/Navbar/NavbarBody.js +1 -0
- package/esm/Navbar/NavbarBrand.js +1 -0
- package/esm/Navbar/NavbarDropdown.js +25 -33
- package/esm/Navbar/NavbarDropdownItem.js +18 -30
- package/esm/Navbar/NavbarDropdownMenu.js +22 -37
- package/esm/Navbar/NavbarDropdownToggle.js +12 -14
- package/esm/Navbar/NavbarHeader.js +1 -0
- package/esm/Navbar/NavbarItem.js +19 -23
- package/esm/Navbar/index.js +1 -0
- package/esm/Notification/Notification.js +20 -32
- package/esm/Notification/index.js +1 -0
- package/esm/Overlay/Modal.js +40 -64
- package/esm/Overlay/ModalManager.js +1 -19
- package/esm/Overlay/Overlay.js +28 -37
- package/esm/Overlay/OverlayContext.js +1 -0
- package/esm/Overlay/OverlayTrigger.js +68 -101
- package/esm/Overlay/Position.js +25 -47
- package/esm/Overlay/index.js +1 -0
- package/esm/Overlay/positionUtils.js +25 -73
- package/esm/Pagination/Pagination.js +30 -55
- package/esm/Pagination/PaginationButton.js +15 -19
- package/esm/Pagination/PaginationGroup.js +38 -49
- package/esm/Pagination/index.js +1 -0
- package/esm/Panel/Panel.js +37 -49
- package/esm/Panel/index.js +1 -0
- package/esm/PanelGroup/PanelGroup.js +16 -18
- package/esm/PanelGroup/index.js +1 -0
- package/esm/Picker/DropdownMenu.js +50 -72
- package/esm/Picker/DropdownMenuCheckItem.js +22 -24
- package/esm/Picker/DropdownMenuGroup.js +10 -13
- package/esm/Picker/DropdownMenuItem.js +15 -18
- package/esm/Picker/PickerOverlay.js +12 -17
- package/esm/Picker/PickerToggle.js +57 -71
- package/esm/Picker/PickerToggleTrigger.js +8 -10
- package/esm/Picker/SearchBar.js +14 -15
- package/esm/Picker/SelectedElement.js +9 -14
- package/esm/Picker/ToggleButton.js +1 -0
- package/esm/Picker/index.js +1 -0
- package/esm/Picker/propTypes.js +1 -1
- package/esm/Picker/types.js +1 -0
- package/esm/Picker/utils.js +94 -182
- package/esm/Placeholder/Placeholder.js +1 -0
- package/esm/Placeholder/PlaceholderGraph.js +13 -16
- package/esm/Placeholder/PlaceholderGrid.js +18 -25
- package/esm/Placeholder/PlaceholderParagraph.js +17 -20
- package/esm/Placeholder/index.js +1 -0
- package/esm/Plaintext/Plaintext.js +14 -17
- package/esm/Plaintext/index.js +1 -0
- package/esm/Popover/Popover.js +16 -21
- package/esm/Popover/index.js +1 -0
- package/esm/Progress/Progress.js +1 -0
- package/esm/Progress/ProgressCircle.js +30 -39
- package/esm/Progress/ProgressLine.js +19 -21
- package/esm/Progress/index.js +1 -0
- package/esm/Radio/Radio.js +42 -52
- package/esm/Radio/index.js +1 -0
- package/esm/RadioGroup/RadioGroup.js +22 -25
- package/esm/RadioGroup/index.js +1 -0
- package/esm/RadioTile/RadioTile.js +30 -34
- package/esm/RadioTile/index.js +1 -0
- package/esm/RadioTileGroup/RadioTileGroup.js +17 -20
- package/esm/RadioTileGroup/index.js +1 -0
- package/esm/RangeSlider/RangeSlider.js +63 -86
- package/esm/RangeSlider/index.js +1 -0
- package/esm/Rate/Character.js +16 -21
- package/esm/Rate/Rate.js +35 -48
- package/esm/Rate/index.js +1 -0
- package/esm/Rate/utils.js +1 -2
- package/esm/Ripple/Ripple.js +16 -30
- package/esm/Ripple/index.js +1 -0
- package/esm/Row/Row.js +11 -14
- package/esm/Row/index.js +1 -0
- package/esm/SafeAnchor/SafeAnchor.js +8 -13
- package/esm/SafeAnchor/index.js +1 -0
- package/esm/Schema/Schema.js +1 -0
- package/esm/Schema/index.js +1 -0
- package/esm/SelectPicker/SelectPicker.js +137 -157
- package/esm/SelectPicker/index.js +1 -0
- package/esm/Sidebar/Sidebar.js +13 -18
- package/esm/Sidebar/index.js +1 -0
- package/esm/Sidenav/ExpandedSidenavDropdown.js +32 -35
- package/esm/Sidenav/ExpandedSidenavDropdownItem.js +19 -27
- package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +22 -29
- package/esm/Sidenav/Node.js +1 -10
- package/esm/Sidenav/Sidenav.js +22 -28
- package/esm/Sidenav/SidenavBody.js +1 -0
- package/esm/Sidenav/SidenavDropdown.js +39 -52
- package/esm/Sidenav/SidenavDropdownCollapse.js +9 -13
- package/esm/Sidenav/SidenavDropdownItem.js +19 -31
- package/esm/Sidenav/SidenavDropdownMenu.js +26 -41
- package/esm/Sidenav/SidenavDropdownToggle.js +12 -14
- package/esm/Sidenav/SidenavHeader.js +1 -0
- package/esm/Sidenav/SidenavItem.js +27 -37
- package/esm/Sidenav/SidenavToggle.js +11 -18
- package/esm/Sidenav/index.js +1 -0
- package/esm/Slider/Graduated.js +14 -21
- package/esm/Slider/Handle.js +27 -39
- package/esm/Slider/Input.js +2 -2
- package/esm/Slider/Mark.js +11 -14
- package/esm/Slider/ProgressBar.js +14 -18
- package/esm/Slider/Slider.js +51 -67
- package/esm/Slider/index.js +1 -0
- package/esm/Slider/utils.js +1 -5
- package/esm/Stack/Stack.js +22 -27
- package/esm/Stack/StackItem.js +11 -11
- package/esm/Stack/index.js +1 -0
- package/esm/Steps/StepItem.js +16 -22
- package/esm/Steps/Steps.js +18 -22
- package/esm/Steps/index.js +1 -0
- package/esm/Table/Table.js +6 -7
- package/esm/Table/index.js +1 -0
- package/esm/Tag/Tag.js +16 -19
- package/esm/Tag/index.js +1 -0
- package/esm/TagGroup/TagGroup.js +1 -0
- package/esm/TagGroup/index.js +1 -0
- package/esm/TagInput/index.js +7 -7
- package/esm/TagPicker/index.js +5 -5
- package/esm/Timeline/Timeline.js +14 -19
- package/esm/Timeline/TimelineItem.js +14 -15
- package/esm/Timeline/index.js +1 -0
- package/esm/Toggle/Toggle.js +26 -35
- package/esm/Toggle/index.js +1 -0
- package/esm/Tooltip/Tooltip.js +13 -16
- package/esm/Tooltip/index.js +1 -0
- package/esm/Tree/Tree.js +1 -3
- package/esm/Tree/TreeContext.js +1 -0
- package/esm/Tree/index.js +1 -0
- package/esm/TreePicker/TreeNode.js +37 -49
- package/esm/TreePicker/TreePicker.js +155 -218
- package/esm/TreePicker/index.js +1 -0
- package/esm/Uploader/UploadFileItem.js +37 -68
- package/esm/Uploader/UploadTrigger.js +24 -38
- package/esm/Uploader/Uploader.js +90 -132
- package/esm/Uploader/index.js +1 -0
- package/esm/Whisper/Whisper.js +8 -10
- package/esm/Whisper/index.js +1 -0
- package/esm/Windowing/AutoSizer.js +13 -24
- package/esm/Windowing/List.d.ts +2 -2
- package/esm/Windowing/List.js +6 -15
- package/esm/Windowing/index.js +1 -0
- package/esm/index.js +3 -0
- package/esm/locales/ar_EG.js +1 -0
- package/esm/locales/da_DK.js +1 -1
- package/esm/locales/de_DE.js +1 -1
- package/esm/locales/default.js +1 -1
- package/esm/locales/en_GB.js +1 -0
- package/esm/locales/en_US.js +1 -0
- package/esm/locales/es_AR.js +1 -1
- package/esm/locales/es_ES.js +1 -1
- package/esm/locales/fa_IR.js +1 -0
- package/esm/locales/fi_FI.js +1 -1
- package/esm/locales/fr_FR.js +1 -0
- package/esm/locales/hu_HU.js +1 -1
- package/esm/locales/index.js +1 -0
- package/esm/locales/it_IT.js +1 -1
- package/esm/locales/ja_JP.js +1 -1
- package/esm/locales/kk_KZ.js +1 -0
- package/esm/locales/ko_KR.js +1 -1
- package/esm/locales/ne_NP.js +1 -1
- package/esm/locales/nl_NL.js +1 -0
- package/esm/locales/pt_BR.js +1 -0
- package/esm/locales/ru_RU.js +1 -0
- package/esm/locales/sv_SE.js +1 -1
- package/esm/locales/tr_TR.js +1 -0
- package/esm/locales/zh_CN.js +1 -0
- package/esm/locales/zh_TW.js +1 -0
- package/esm/toaster/ToastContainer.js +29 -42
- package/esm/toaster/ToastContext.js +1 -0
- package/esm/toaster/index.js +1 -0
- package/esm/toaster/toaster.js +4 -22
- package/esm/toaster/useToaster.js +3 -5
- package/esm/utils/BrowserDetection.js +9 -9
- package/esm/utils/ReactChildren.js +2 -8
- package/esm/utils/ajaxUpload.js +15 -32
- package/esm/utils/appendTooltip.js +3 -3
- package/esm/utils/attachParent.js +1 -0
- package/esm/utils/clone.js +1 -1
- package/esm/utils/composeFunctions.js +1 -1
- package/esm/utils/constants.js +4 -7
- package/esm/utils/createChainedFunction.js +2 -5
- package/esm/utils/createComponent.js +12 -16
- package/esm/utils/dateUtils.js +7 -23
- package/esm/utils/deprecateComponent.js +2 -2
- package/esm/utils/deprecatePropType.js +4 -6
- package/esm/utils/dom.js +3 -1
- package/esm/utils/events.js +2 -1
- package/esm/utils/getDOMNode.js +15 -8
- package/esm/utils/getDataGroupBy.d.ts +0 -23
- package/esm/utils/getDataGroupBy.js +5 -39
- package/esm/utils/getSafeRegExpString.js +1 -0
- package/esm/utils/guid.js +1 -0
- package/esm/utils/htmlPropsUtils.js +23 -14
- package/esm/utils/index.js +2 -1
- package/esm/utils/isOneOf.js +1 -1
- package/esm/utils/mergeRefs.js +1 -1
- package/esm/utils/placementPolyfill.js +2 -4
- package/esm/utils/prefix.js +4 -4
- package/esm/utils/previewFile.js +1 -3
- package/esm/utils/propTypeChecker.js +1 -3
- package/esm/utils/reactToString.js +1 -2
- package/esm/utils/render.js +3 -5
- package/esm/utils/scrollTopAnimation.js +1 -5
- package/esm/utils/shallowEqual.js +8 -13
- package/esm/utils/shallowEqualArray.js +1 -5
- package/esm/utils/statusIcons.js +1 -0
- package/esm/utils/stringToObject.js +3 -4
- package/esm/utils/tplTransform.js +2 -4
- package/esm/utils/treeUtils.d.ts +1 -1
- package/esm/utils/treeUtils.js +120 -272
- package/esm/utils/useClassNames.js +9 -9
- package/esm/utils/useClickOutside.js +4 -6
- package/esm/utils/useControlled.js +12 -6
- package/esm/utils/useCustom.js +12 -20
- package/esm/utils/useElementResize.js +2 -4
- package/esm/utils/useEnsuredRef.js +2 -3
- package/esm/utils/useEventCallback.js +2 -3
- package/esm/utils/useEventListener.js +2 -2
- package/esm/utils/useFocus.js +5 -4
- package/esm/utils/useInternalId.js +2 -3
- package/esm/utils/useIsMounted.js +1 -2
- package/esm/utils/useMap.js +5 -5
- package/esm/utils/useMount.js +1 -3
- package/esm/utils/usePortal.js +7 -13
- package/esm/utils/useRootClose.js +9 -13
- package/esm/utils/useTimeout.js +3 -7
- package/esm/utils/useToggleCaret.js +2 -7
- package/esm/utils/useUniqueId.js +2 -4
- package/esm/utils/useUpdateEffect.js +3 -4
- package/esm/utils/useUpdatedRef.js +2 -1
- package/esm/utils/useWillUnmount.js +4 -2
- package/esm/utils/warnOnce.js +2 -2
- package/package.json +2 -2
- package/styles/color-modes/light.less +4 -4
- package/styles/mixins/listbox.less +0 -2
- package/cjs/SelectPicker/Listbox.d.ts +0 -34
- package/cjs/SelectPicker/Listbox.js +0 -263
- package/cjs/SelectPicker/ListboxOption.d.ts +0 -11
- package/cjs/SelectPicker/ListboxOption.js +0 -50
- package/cjs/SelectPicker/ListboxOptionGroup.d.ts +0 -9
- package/cjs/SelectPicker/ListboxOptionGroup.js +0 -69
- package/esm/SelectPicker/Listbox.d.ts +0 -34
- package/esm/SelectPicker/Listbox.js +0 -240
- package/esm/SelectPicker/ListboxOption.d.ts +0 -11
- package/esm/SelectPicker/ListboxOption.js +0 -37
- package/esm/SelectPicker/ListboxOptionGroup.d.ts +0 -9
- package/esm/SelectPicker/ListboxOptionGroup.js +0 -53
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useCallback, useContext } from 'react';
|
|
2
3
|
import classNames from 'classnames';
|
|
3
4
|
import { prefix as addPrefix } from './prefix';
|
|
4
5
|
import { CustomContext } from '../CustomProvider/CustomProvider';
|
|
5
6
|
|
|
7
|
+
// This is the only way I found to break circular references between ClassArray and ClassValue
|
|
8
|
+
// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540
|
|
9
|
+
//eslint-disable-line @typescript-eslint/no-empty-interface
|
|
6
10
|
/**
|
|
7
11
|
* Add a prefix to all classNames.
|
|
8
12
|
*
|
|
@@ -16,17 +20,16 @@ import { CustomContext } from '../CustomProvider/CustomProvider';
|
|
|
16
20
|
*/
|
|
17
21
|
function useClassNames(str) {
|
|
18
22
|
var _ref = useContext(CustomContext) || {},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
_ref$classPrefix = _ref.classPrefix,
|
|
24
|
+
classPrefix = _ref$classPrefix === void 0 ? 'rs' : _ref$classPrefix;
|
|
22
25
|
var componentName = addPrefix(classPrefix, str);
|
|
26
|
+
|
|
23
27
|
/**
|
|
24
28
|
* @example
|
|
25
29
|
*
|
|
26
30
|
* if str = 'button':
|
|
27
31
|
* prefix('red', { active: true }) => 'rs-button-red rs-button-active'
|
|
28
32
|
*/
|
|
29
|
-
|
|
30
33
|
var prefix = useCallback(function () {
|
|
31
34
|
var mergeClasses = arguments.length ? classNames.apply(void 0, arguments).split(' ').map(function (item) {
|
|
32
35
|
return addPrefix(componentName, item);
|
|
@@ -35,27 +38,26 @@ function useClassNames(str) {
|
|
|
35
38
|
return cls;
|
|
36
39
|
}).join(' ');
|
|
37
40
|
}, [componentName]);
|
|
41
|
+
|
|
38
42
|
/**
|
|
39
43
|
* @example
|
|
40
44
|
*
|
|
41
45
|
* if str = 'button':
|
|
42
46
|
* withClassPrefix('red', { active: true }) => 'rs-button rs-button-red rs-button-active'
|
|
43
47
|
*/
|
|
44
|
-
|
|
45
48
|
var withClassPrefix = useCallback(function () {
|
|
46
49
|
for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
47
50
|
classes[_key] = arguments[_key];
|
|
48
51
|
}
|
|
49
|
-
|
|
50
52
|
var mergeClasses = prefix(classes);
|
|
51
53
|
return mergeClasses ? componentName + " " + mergeClasses : componentName;
|
|
52
54
|
}, [componentName, prefix]);
|
|
55
|
+
|
|
53
56
|
/**
|
|
54
57
|
* @example
|
|
55
58
|
* rootPrefix('btn') => 'rs-btn'
|
|
56
59
|
* rootPrefix('btn', { active: true }) => 'rs-btn rs-active'
|
|
57
60
|
*/
|
|
58
|
-
|
|
59
61
|
var rootPrefix = function rootPrefix() {
|
|
60
62
|
var mergeClasses = arguments.length ? classNames.apply(void 0, arguments).split(' ').map(function (item) {
|
|
61
63
|
return addPrefix(classPrefix, item);
|
|
@@ -64,7 +66,6 @@ function useClassNames(str) {
|
|
|
64
66
|
return cls;
|
|
65
67
|
}).join(' ');
|
|
66
68
|
};
|
|
67
|
-
|
|
68
69
|
return {
|
|
69
70
|
withClassPrefix: withClassPrefix,
|
|
70
71
|
merge: classNames,
|
|
@@ -72,5 +73,4 @@ function useClassNames(str) {
|
|
|
72
73
|
rootPrefix: rootPrefix
|
|
73
74
|
};
|
|
74
75
|
}
|
|
75
|
-
|
|
76
76
|
export default useClassNames;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useRef } from 'react';
|
|
2
3
|
export default function useClickOutside(_ref) {
|
|
3
4
|
var _ref$enabled = _ref.enabled,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
enabled = _ref$enabled === void 0 ? true : _ref$enabled,
|
|
6
|
+
isOutside = _ref.isOutside,
|
|
7
|
+
handle = _ref.handle;
|
|
7
8
|
var isOutsideRef = useRef(isOutside);
|
|
8
9
|
var handleRef = useRef(handle);
|
|
9
10
|
useEffect(function () {
|
|
@@ -14,14 +15,11 @@ export default function useClickOutside(_ref) {
|
|
|
14
15
|
if (enabled) {
|
|
15
16
|
var eventHandler = function eventHandler(event) {
|
|
16
17
|
var _isOutsideRef$current;
|
|
17
|
-
|
|
18
18
|
if ((_isOutsideRef$current = isOutsideRef.current) !== null && _isOutsideRef$current !== void 0 && _isOutsideRef$current.call(isOutsideRef, event)) {
|
|
19
19
|
var _handleRef$current;
|
|
20
|
-
|
|
21
20
|
(_handleRef$current = handleRef.current) === null || _handleRef$current === void 0 ? void 0 : _handleRef$current.call(handleRef, event);
|
|
22
21
|
}
|
|
23
22
|
};
|
|
24
|
-
|
|
25
23
|
window.addEventListener('mousedown', eventHandler);
|
|
26
24
|
return function () {
|
|
27
25
|
window.removeEventListener('mousedown', eventHandler);
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useRef, useState, useCallback } from 'react';
|
|
2
3
|
|
|
4
|
+
/**
|
|
5
|
+
* A hook for controlled value management.
|
|
6
|
+
* In the case of passing the controlled value, the controlled value is returned, otherwise the value in state is returned.
|
|
7
|
+
* Generally used for a component including controlled and uncontrolled modes.
|
|
8
|
+
* @param controlledValue
|
|
9
|
+
* @param defaultValue
|
|
10
|
+
* @param formatValue
|
|
11
|
+
*/
|
|
12
|
+
|
|
3
13
|
function useControlled(controlledValue, defaultValue) {
|
|
4
14
|
var controlledRef = useRef(false);
|
|
5
15
|
controlledRef.current = controlledValue !== undefined;
|
|
6
|
-
|
|
7
16
|
var _useState = useState(defaultValue),
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
17
|
+
uncontrolledValue = _useState[0],
|
|
18
|
+
setUncontrolledValue = _useState[1]; // If it is controlled, this directly returns the attribute value.
|
|
12
19
|
var value = controlledRef.current ? controlledValue : uncontrolledValue;
|
|
13
20
|
var setValue = useCallback(function (nextValue) {
|
|
14
21
|
// Only update the value in state when it is not under control.
|
|
@@ -18,5 +25,4 @@ function useControlled(controlledValue, defaultValue) {
|
|
|
18
25
|
}, [controlledRef]);
|
|
19
26
|
return [value, setValue, controlledRef.current];
|
|
20
27
|
}
|
|
21
|
-
|
|
22
28
|
export default useControlled;
|
package/esm/utils/useCustom.js
CHANGED
|
@@ -1,57 +1,50 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
3
|
import { useContext, useCallback } from 'react';
|
|
3
4
|
import defaultLocale from '../locales/default';
|
|
4
5
|
import { CustomContext } from '../CustomProvider/CustomProvider';
|
|
5
6
|
import { format, parse } from '../utils/dateUtils';
|
|
6
|
-
|
|
7
7
|
var mergeObject = function mergeObject(list) {
|
|
8
8
|
return list.reduce(function (a, b) {
|
|
9
9
|
a = _extends({}, a, b);
|
|
10
10
|
return a;
|
|
11
11
|
}, {});
|
|
12
12
|
};
|
|
13
|
-
|
|
14
13
|
var getDefaultRTL = function getDefaultRTL() {
|
|
15
14
|
return typeof window !== 'undefined' && (document.body.getAttribute('dir') || document.dir) === 'rtl';
|
|
16
15
|
};
|
|
16
|
+
|
|
17
17
|
/**
|
|
18
18
|
* A hook to get custom configuration of `<CustomProvider>`
|
|
19
19
|
* @param keys
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
21
|
function useCustom(keys, overrideLocale) {
|
|
24
22
|
var _locale$Calendar2, _locale$Calendar4;
|
|
25
|
-
|
|
26
23
|
var _useContext = useContext(CustomContext),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
_useContext$locale = _useContext.locale,
|
|
25
|
+
locale = _useContext$locale === void 0 ? defaultLocale : _useContext$locale,
|
|
26
|
+
_useContext$rtl = _useContext.rtl,
|
|
27
|
+
rtl = _useContext$rtl === void 0 ? getDefaultRTL() : _useContext$rtl,
|
|
28
|
+
formatDate = _useContext.formatDate,
|
|
29
|
+
parseDate = _useContext.parseDate,
|
|
30
|
+
toasters = _useContext.toasters,
|
|
31
|
+
disableRipple = _useContext.disableRipple;
|
|
36
32
|
var componentLocale = _extends({}, locale === null || locale === void 0 ? void 0 : locale.common, typeof keys === 'string' ? locale === null || locale === void 0 ? void 0 : locale[keys] : typeof keys === 'object' ? mergeObject(keys.map(function (key) {
|
|
37
33
|
return locale === null || locale === void 0 ? void 0 : locale[key];
|
|
38
|
-
})) : {});
|
|
39
|
-
|
|
34
|
+
})) : {});
|
|
40
35
|
|
|
36
|
+
// Component custom locale
|
|
41
37
|
if (overrideLocale) {
|
|
42
38
|
componentLocale = mergeObject([componentLocale, overrideLocale]);
|
|
43
39
|
}
|
|
44
|
-
|
|
45
40
|
var defaultFormatDate = useCallback(function (date, formatStr) {
|
|
46
41
|
var _locale$Calendar;
|
|
47
|
-
|
|
48
42
|
return format(date, formatStr, {
|
|
49
43
|
locale: locale === null || locale === void 0 ? void 0 : (_locale$Calendar = locale.Calendar) === null || _locale$Calendar === void 0 ? void 0 : _locale$Calendar.dateLocale
|
|
50
44
|
});
|
|
51
45
|
}, [(_locale$Calendar2 = locale.Calendar) === null || _locale$Calendar2 === void 0 ? void 0 : _locale$Calendar2.dateLocale]);
|
|
52
46
|
var defaultParseDate = useCallback(function (dateString, formatString) {
|
|
53
47
|
var _locale$Calendar3;
|
|
54
|
-
|
|
55
48
|
return parse(dateString, formatString, new Date(), {
|
|
56
49
|
locale: locale === null || locale === void 0 ? void 0 : (_locale$Calendar3 = locale.Calendar) === null || _locale$Calendar3 === void 0 ? void 0 : _locale$Calendar3.dateLocale
|
|
57
50
|
});
|
|
@@ -65,5 +58,4 @@ function useCustom(keys, overrideLocale) {
|
|
|
65
58
|
parseDate: parseDate || defaultParseDate
|
|
66
59
|
};
|
|
67
60
|
}
|
|
68
|
-
|
|
69
61
|
export default useCustom;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useRef } from 'react';
|
|
2
3
|
import { ResizeObserver } from '@juggle/resize-observer';
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Attach the event handler directly to the specified DOM element,
|
|
5
7
|
* and it will be triggered when the size of the DOM element is changed.
|
|
@@ -7,22 +9,18 @@ import { ResizeObserver } from '@juggle/resize-observer';
|
|
|
7
9
|
* @param eventTarget The target to listen for events on
|
|
8
10
|
* @param listener An event handler
|
|
9
11
|
*/
|
|
10
|
-
|
|
11
12
|
export default function useElementResize(eventTarget, listener) {
|
|
12
13
|
var resizeObserver = useRef();
|
|
13
14
|
useEffect(function () {
|
|
14
15
|
if (!resizeObserver.current) {
|
|
15
16
|
var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
|
|
16
|
-
|
|
17
17
|
if (target) {
|
|
18
18
|
resizeObserver.current = new ResizeObserver(listener);
|
|
19
19
|
resizeObserver.current.observe(target);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
|
|
23
22
|
return function () {
|
|
24
23
|
var _resizeObserver$curre;
|
|
25
|
-
|
|
26
24
|
(_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();
|
|
27
25
|
};
|
|
28
26
|
}, [eventTarget, listener]);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useRef } from 'react';
|
|
3
|
+
|
|
2
4
|
/**
|
|
3
5
|
* Used in forwardRef components to ensure ref exists
|
|
4
6
|
* so that calling ref.current shall not throw error
|
|
@@ -20,13 +22,10 @@ import { useRef } from 'react';
|
|
|
20
22
|
* });
|
|
21
23
|
*
|
|
22
24
|
*/
|
|
23
|
-
|
|
24
25
|
export default function useEnsuredRef(ref) {
|
|
25
26
|
var dumpRef = useRef();
|
|
26
|
-
|
|
27
27
|
if (ref) {
|
|
28
28
|
return ref;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
30
|
return dumpRef;
|
|
32
31
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useCallback, useRef } from 'react';
|
|
3
|
+
|
|
2
4
|
/**
|
|
3
5
|
* https://github.com/facebook/react/issues/14099#issuecomment-440013892
|
|
4
6
|
* @param {function} fn
|
|
5
7
|
*/
|
|
6
|
-
|
|
7
8
|
export default function useEventCallback(fn) {
|
|
8
9
|
var ref = useRef(fn);
|
|
9
10
|
useEffect(function () {
|
|
@@ -11,11 +12,9 @@ export default function useEventCallback(fn) {
|
|
|
11
12
|
});
|
|
12
13
|
return useCallback(function () {
|
|
13
14
|
var _ref$current;
|
|
14
|
-
|
|
15
15
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
16
16
|
args[_key] = arguments[_key];
|
|
17
17
|
}
|
|
18
|
-
|
|
19
18
|
return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.call.apply(_ref$current, [ref].concat(args));
|
|
20
19
|
}, []);
|
|
21
20
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect } from 'react';
|
|
2
3
|
import on from 'dom-lib/on';
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Attach the event handler directly to the specified DOM element.
|
|
5
7
|
*
|
|
@@ -8,12 +10,10 @@ import on from 'dom-lib/on';
|
|
|
8
10
|
* @param handler An event handler
|
|
9
11
|
* @param capture Whether or not to listen during the capture event phase
|
|
10
12
|
*/
|
|
11
|
-
|
|
12
13
|
export default function useEventListener(eventTarget, event, listener, capture) {
|
|
13
14
|
if (capture === void 0) {
|
|
14
15
|
capture = false;
|
|
15
16
|
}
|
|
16
|
-
|
|
17
17
|
useEffect(function () {
|
|
18
18
|
var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
|
|
19
19
|
var controller = target ? on(target, event, listener, capture) : null;
|
package/esm/utils/useFocus.js
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useCallback, useRef } from 'react';
|
|
2
3
|
export default function useFocus(elementRef) {
|
|
3
4
|
// When grabbing focus, keep track of previous activeElement
|
|
4
5
|
// so that we can return focus later
|
|
5
|
-
var previousActiveElementRef = useRef(null);
|
|
6
|
+
var previousActiveElementRef = useRef(null);
|
|
6
7
|
|
|
8
|
+
// Focus the element itself
|
|
7
9
|
var grab = useCallback(function () {
|
|
8
10
|
requestAnimationFrame(function () {
|
|
9
11
|
if (document.activeElement !== elementRef.current) {
|
|
10
12
|
var _elementRef$current;
|
|
11
|
-
|
|
12
13
|
previousActiveElementRef.current = document.activeElement;
|
|
13
14
|
(_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.focus();
|
|
14
15
|
}
|
|
15
16
|
});
|
|
16
|
-
}, [elementRef]);
|
|
17
|
+
}, [elementRef]);
|
|
17
18
|
|
|
19
|
+
// Return focus to previous active element
|
|
18
20
|
var release = useCallback(function (options) {
|
|
19
21
|
requestAnimationFrame(function () {
|
|
20
22
|
var _previousActiveElemen;
|
|
21
|
-
|
|
22
23
|
(_previousActiveElemen = previousActiveElementRef.current) === null || _previousActiveElemen === void 0 ? void 0 : _previousActiveElemen.focus(options);
|
|
23
24
|
});
|
|
24
25
|
}, []);
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useDebugValue, useRef } from 'react';
|
|
2
3
|
import uniqueId from 'lodash/uniqueId';
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Used for generating unique ID for DOM elements
|
|
5
7
|
*/
|
|
6
|
-
|
|
7
8
|
export default function useInternalId(namespace) {
|
|
8
9
|
var idRef = useRef();
|
|
9
|
-
|
|
10
10
|
if (!idRef.current) {
|
|
11
11
|
idRef.current = uniqueId("internal://" + namespace);
|
|
12
12
|
}
|
|
13
|
-
|
|
14
13
|
useDebugValue(idRef.current);
|
|
15
14
|
return idRef.current;
|
|
16
15
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useCallback, useEffect, useRef } from 'react';
|
|
2
|
-
|
|
3
3
|
function useIsMounted() {
|
|
4
4
|
var isMounted = useRef(false);
|
|
5
5
|
useEffect(function () {
|
|
@@ -12,5 +12,4 @@ function useIsMounted() {
|
|
|
12
12
|
return isMounted.current;
|
|
13
13
|
}, []);
|
|
14
14
|
}
|
|
15
|
-
|
|
16
15
|
export default useIsMounted;
|
package/esm/utils/useMap.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useMemo, useState } from 'react';
|
|
2
3
|
export function useMap() {
|
|
3
4
|
var _useState = useState(function () {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
return new Map();
|
|
6
|
+
}),
|
|
7
|
+
map = _useState[0],
|
|
8
|
+
setMap = _useState[1];
|
|
9
9
|
return useMemo(function () {
|
|
10
10
|
return {
|
|
11
11
|
has: function has(key) {
|
package/esm/utils/useMount.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
|
|
3
3
|
var useMount = function useMount(callback) {
|
|
4
4
|
var mountRef = useRef(callback);
|
|
5
5
|
mountRef.current = callback;
|
|
6
6
|
useEffect(function () {
|
|
7
7
|
var _mountRef$current;
|
|
8
|
-
|
|
9
8
|
(_mountRef$current = mountRef.current) === null || _mountRef$current === void 0 ? void 0 : _mountRef$current.call(mountRef);
|
|
10
9
|
}, []);
|
|
11
10
|
};
|
|
12
|
-
|
|
13
11
|
export default useMount;
|
package/esm/utils/usePortal.js
CHANGED
|
@@ -1,35 +1,30 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
3
|
import React, { useEffect, useState, useCallback, useMemo } from 'react';
|
|
3
4
|
import { createPortal } from 'react-dom';
|
|
4
5
|
import canUseDOM from 'dom-lib/canUseDOM';
|
|
5
6
|
var MountedPortal = /*#__PURE__*/React.memo(function (_ref) {
|
|
6
7
|
var children = _ref.children,
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
container = _ref.container;
|
|
9
9
|
var _useState = useState(false),
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
mounted = _useState[0],
|
|
11
|
+
setMounted = _useState[1];
|
|
13
12
|
useEffect(function () {
|
|
14
13
|
return setMounted(true);
|
|
15
14
|
}, []);
|
|
16
|
-
|
|
17
15
|
if (container && mounted) {
|
|
18
16
|
return /*#__PURE__*/createPortal(children, container);
|
|
19
17
|
}
|
|
20
|
-
|
|
21
18
|
return null;
|
|
22
19
|
});
|
|
23
|
-
|
|
24
20
|
function usePortal(props) {
|
|
25
21
|
if (props === void 0) {
|
|
26
22
|
props = {};
|
|
27
23
|
}
|
|
28
|
-
|
|
29
24
|
var _props = props,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
container = _props.container,
|
|
26
|
+
_props$waitMount = _props.waitMount,
|
|
27
|
+
waitMount = _props$waitMount === void 0 ? false : _props$waitMount;
|
|
33
28
|
var containerElement = typeof container === 'function' ? container() : container;
|
|
34
29
|
var rootElement = useMemo(function () {
|
|
35
30
|
return canUseDOM ? containerElement || document.body : null;
|
|
@@ -48,5 +43,4 @@ function usePortal(props) {
|
|
|
48
43
|
Portal: waitMount ? WaitMountPortal : Portal
|
|
49
44
|
};
|
|
50
45
|
}
|
|
51
|
-
|
|
52
46
|
export default usePortal;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useCallback } from 'react';
|
|
2
3
|
import contains from 'dom-lib/contains';
|
|
3
4
|
import ownerDocument from 'dom-lib/ownerDocument';
|
|
4
5
|
import on from 'dom-lib/on';
|
|
5
6
|
import { getDOMNode, KEY_VALUES } from './';
|
|
6
|
-
|
|
7
7
|
function isLeftClickEvent(event) {
|
|
8
8
|
return (event === null || event === void 0 ? void 0 : event.button) === 0;
|
|
9
9
|
}
|
|
10
|
-
|
|
11
10
|
function isModifiedEvent(event) {
|
|
12
11
|
return !!(event.metaKey || event.altKey || event.ctrlKey || event !== null && event !== void 0 && event.shiftKey);
|
|
13
12
|
}
|
|
14
|
-
|
|
15
13
|
/**
|
|
16
14
|
* A hook that listens to the document click event and closes the overlay.
|
|
17
15
|
* @param onRootClose
|
|
@@ -20,10 +18,10 @@ function isModifiedEvent(event) {
|
|
|
20
18
|
*/
|
|
21
19
|
function useRootClose(onRootClose, _ref) {
|
|
22
20
|
var disabled = _ref.disabled,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
triggerTarget = _ref.triggerTarget,
|
|
22
|
+
overlayTarget = _ref.overlayTarget,
|
|
23
|
+
_ref$listenEscape = _ref.listenEscape,
|
|
24
|
+
listenEscape = _ref$listenEscape === void 0 ? true : _ref$listenEscape;
|
|
27
25
|
var handleDocumentKeyUp = useCallback(function (event) {
|
|
28
26
|
if (listenEscape && event.key === KEY_VALUES.ESC) {
|
|
29
27
|
onRootClose === null || onRootClose === void 0 ? void 0 : onRootClose(event);
|
|
@@ -31,21 +29,20 @@ function useRootClose(onRootClose, _ref) {
|
|
|
31
29
|
}, [listenEscape, onRootClose]);
|
|
32
30
|
var handleDocumentMouseDown = useCallback(function (event) {
|
|
33
31
|
var triggerElement = getDOMNode(triggerTarget);
|
|
34
|
-
var overlayElement = getDOMNode(overlayTarget);
|
|
32
|
+
var overlayElement = getDOMNode(overlayTarget);
|
|
35
33
|
|
|
34
|
+
// Check if the clicked element is a trigger.
|
|
36
35
|
if (triggerElement && contains(triggerElement, event.target)) {
|
|
37
36
|
return;
|
|
38
|
-
}
|
|
39
|
-
|
|
37
|
+
}
|
|
40
38
|
|
|
39
|
+
// Check if the clicked element is a overlay.
|
|
41
40
|
if (overlayElement && contains(overlayElement, event.target)) {
|
|
42
41
|
return;
|
|
43
42
|
}
|
|
44
|
-
|
|
45
43
|
if (isModifiedEvent(event) || !isLeftClickEvent(event)) {
|
|
46
44
|
return;
|
|
47
45
|
}
|
|
48
|
-
|
|
49
46
|
onRootClose === null || onRootClose === void 0 ? void 0 : onRootClose(event);
|
|
50
47
|
}, [onRootClose, triggerTarget, overlayTarget]);
|
|
51
48
|
useEffect(function () {
|
|
@@ -60,5 +57,4 @@ function useRootClose(onRootClose, _ref) {
|
|
|
60
57
|
};
|
|
61
58
|
}, [triggerTarget, disabled, onRootClose, handleDocumentMouseDown, handleDocumentKeyUp]);
|
|
62
59
|
}
|
|
63
|
-
|
|
64
60
|
export default useRootClose;
|
package/esm/utils/useTimeout.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useRef, useCallback } from 'react';
|
|
2
|
-
|
|
3
3
|
/**
|
|
4
4
|
* A timer hook
|
|
5
5
|
* @param fn Timer callback function
|
|
@@ -10,11 +10,9 @@ function useTimeout(fn, ms, enabled) {
|
|
|
10
10
|
if (ms === void 0) {
|
|
11
11
|
ms = 0;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
13
|
if (enabled === void 0) {
|
|
15
14
|
enabled = true;
|
|
16
15
|
}
|
|
17
|
-
|
|
18
16
|
var timeout = useRef();
|
|
19
17
|
var callback = useRef(fn);
|
|
20
18
|
var clear = useCallback(function () {
|
|
@@ -22,16 +20,15 @@ function useTimeout(fn, ms, enabled) {
|
|
|
22
20
|
}, []);
|
|
23
21
|
var set = useCallback(function () {
|
|
24
22
|
timeout.current && clearTimeout(timeout.current);
|
|
25
|
-
|
|
26
23
|
if (enabled) {
|
|
27
24
|
timeout.current = setTimeout(function () {
|
|
28
25
|
var _callback$current;
|
|
29
|
-
|
|
30
26
|
(_callback$current = callback.current) === null || _callback$current === void 0 ? void 0 : _callback$current.call(callback);
|
|
31
27
|
}, ms);
|
|
32
28
|
}
|
|
33
|
-
}, [ms, enabled]);
|
|
29
|
+
}, [ms, enabled]);
|
|
34
30
|
|
|
31
|
+
// update ref when function changes
|
|
35
32
|
useEffect(function () {
|
|
36
33
|
callback.current = fn;
|
|
37
34
|
}, [fn]);
|
|
@@ -44,5 +41,4 @@ function useTimeout(fn, ms, enabled) {
|
|
|
44
41
|
reset: set
|
|
45
42
|
};
|
|
46
43
|
}
|
|
47
|
-
|
|
48
44
|
export default useTimeout;
|
|
@@ -1,30 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useMemo } from 'react';
|
|
2
3
|
import AngleDownIcon from '@rsuite/icons/legacy/AngleDown';
|
|
3
4
|
import AngleUpIcon from '@rsuite/icons/legacy/AngleUp';
|
|
4
5
|
import AngleLeftIcon from '@rsuite/icons/legacy/AngleLeft';
|
|
5
6
|
import AngleRightIcon from '@rsuite/icons/legacy/AngleRight';
|
|
6
7
|
import useCustom from './useCustom';
|
|
7
|
-
|
|
8
8
|
function useToggleCaret(placement) {
|
|
9
9
|
var _useCustom = useCustom('Dropdown'),
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
rtl = _useCustom.rtl;
|
|
12
11
|
return useMemo(function () {
|
|
13
12
|
switch (true) {
|
|
14
13
|
case /^top/.test(placement):
|
|
15
14
|
return AngleUpIcon;
|
|
16
|
-
|
|
17
15
|
case /^right/.test(placement):
|
|
18
16
|
return rtl ? AngleLeftIcon : AngleRightIcon;
|
|
19
|
-
|
|
20
17
|
case /^left/.test(placement):
|
|
21
18
|
return rtl ? AngleRightIcon : AngleLeftIcon;
|
|
22
|
-
|
|
23
19
|
case /^bottom/.test(placement):
|
|
24
20
|
default:
|
|
25
21
|
return AngleDownIcon;
|
|
26
22
|
}
|
|
27
23
|
}, [placement, rtl]);
|
|
28
24
|
}
|
|
29
|
-
|
|
30
25
|
export default useToggleCaret;
|
package/esm/utils/useUniqueId.js
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import uniqueId from 'lodash/uniqueId';
|
|
3
4
|
var reactUseId = React['useId' + ''];
|
|
5
|
+
|
|
4
6
|
/**
|
|
5
7
|
* Used for generating unique ID for DOM elements
|
|
6
8
|
*
|
|
7
9
|
* @param idProp If id is provided, it will be used instead of generating a new one
|
|
8
10
|
*/
|
|
9
|
-
|
|
10
11
|
export default function useUniqueId(prefix, idProp) {
|
|
11
12
|
var idRef = React.useRef();
|
|
12
|
-
|
|
13
13
|
if (reactUseId !== undefined) {
|
|
14
14
|
return idProp !== null && idProp !== void 0 ? idProp : "" + prefix + reactUseId();
|
|
15
15
|
}
|
|
16
|
-
|
|
17
16
|
if (!idRef.current) {
|
|
18
17
|
idRef.current = uniqueId(prefix);
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
return idProp !== null && idProp !== void 0 ? idProp : idRef.current;
|
|
22
20
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
|
|
3
3
|
var useUpdateEffect = function useUpdateEffect(effect, deps) {
|
|
4
4
|
var isMounting = useRef(true);
|
|
5
5
|
useEffect(function () {
|
|
@@ -7,9 +7,8 @@ var useUpdateEffect = function useUpdateEffect(effect, deps) {
|
|
|
7
7
|
isMounting.current = false;
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
effect();
|
|
11
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12
12
|
}, deps);
|
|
13
13
|
};
|
|
14
|
-
|
|
15
14
|
export default useUpdateEffect;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useRef } from 'react';
|
|
3
|
+
|
|
2
4
|
/**
|
|
3
5
|
* Returns a ref that is immediately updated with the new value
|
|
4
6
|
*
|
|
5
7
|
* @param value The Ref value
|
|
6
8
|
* @category refs
|
|
7
9
|
*/
|
|
8
|
-
|
|
9
10
|
export default function useUpdatedRef(value) {
|
|
10
11
|
var valueRef = useRef(value);
|
|
11
12
|
valueRef.current = value;
|