rsuite 5.40.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 +20 -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 +165 -247
- package/cjs/CheckTreePicker/index.js +1 -3
- package/cjs/CheckTreePicker/utils.js +12 -52
- 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.js +112 -327
- 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 +394 -427
- 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 +165 -232
- package/esm/CheckTreePicker/index.js +1 -0
- package/esm/CheckTreePicker/utils.js +12 -35
- 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.js +113 -265
- 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,114 +1,99 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useState, useEffect, useCallback } from 'react';
|
|
2
3
|
import uniq from 'lodash/uniq';
|
|
3
4
|
import remove from 'lodash/remove';
|
|
4
5
|
import slice from 'lodash/slice';
|
|
5
6
|
import { UNSAFE_flattenTree } from '../utils/treeUtils';
|
|
6
7
|
import { attachParent } from '../utils/attachParent';
|
|
7
|
-
|
|
8
8
|
/**
|
|
9
9
|
* Get all parents of a node
|
|
10
10
|
* @param node
|
|
11
11
|
*/
|
|
12
12
|
export var getParents = function getParents(node) {
|
|
13
13
|
var parents = [];
|
|
14
|
-
|
|
15
14
|
if (!node.parent) {
|
|
16
15
|
return parents;
|
|
17
16
|
}
|
|
18
|
-
|
|
19
17
|
parents.push(node.parent);
|
|
20
18
|
parents = parents.concat(getParents(node.parent));
|
|
21
19
|
return parents;
|
|
22
20
|
};
|
|
21
|
+
|
|
23
22
|
/**
|
|
24
23
|
* Check if any child nodes are selected.
|
|
25
24
|
* @param node
|
|
26
25
|
* @param value
|
|
27
26
|
* @param itemKeys
|
|
28
27
|
*/
|
|
29
|
-
|
|
30
28
|
export var isSomeChildChecked = function isSomeChildChecked(node, value, itemKeys) {
|
|
31
29
|
var childrenKey = itemKeys.childrenKey,
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
valueKey = itemKeys.valueKey;
|
|
34
31
|
if (!node[childrenKey] || !value) {
|
|
35
32
|
return false;
|
|
36
33
|
}
|
|
37
|
-
|
|
38
34
|
return node[childrenKey].some(function (child) {
|
|
39
35
|
var _child$childrenKey;
|
|
40
|
-
|
|
41
36
|
if (value.some(function (n) {
|
|
42
37
|
return n === child[valueKey];
|
|
43
38
|
})) {
|
|
44
39
|
return true;
|
|
45
40
|
}
|
|
46
|
-
|
|
47
41
|
if ((_child$childrenKey = child[childrenKey]) !== null && _child$childrenKey !== void 0 && _child$childrenKey.length) {
|
|
48
42
|
return isSomeChildChecked(child, value, itemKeys);
|
|
49
43
|
}
|
|
50
|
-
|
|
51
44
|
return false;
|
|
52
45
|
});
|
|
53
46
|
};
|
|
47
|
+
|
|
54
48
|
/**
|
|
55
49
|
* Check if the parent is selected.
|
|
56
50
|
* @param node
|
|
57
51
|
* @param value
|
|
58
52
|
* @param itemKeys
|
|
59
53
|
*/
|
|
60
|
-
|
|
61
54
|
export var isSomeParentChecked = function isSomeParentChecked(node, value, itemKeys) {
|
|
62
55
|
var valueKey = itemKeys.valueKey;
|
|
63
|
-
|
|
64
56
|
if (!value) {
|
|
65
57
|
return false;
|
|
66
58
|
}
|
|
67
|
-
|
|
68
59
|
if (value.some(function (n) {
|
|
69
60
|
return n === node[valueKey];
|
|
70
61
|
})) {
|
|
71
62
|
return true;
|
|
72
63
|
}
|
|
73
|
-
|
|
74
64
|
if (node.parent) {
|
|
75
65
|
return isSomeParentChecked(node.parent, value, itemKeys);
|
|
76
66
|
}
|
|
77
|
-
|
|
78
67
|
return false;
|
|
79
68
|
};
|
|
80
69
|
export var getOtherItemValuesByUnselectChild = function getOtherItemValuesByUnselectChild(itemNode, value, itemKeys) {
|
|
81
70
|
var valueKey = itemKeys.valueKey,
|
|
82
|
-
|
|
71
|
+
childrenKey = itemKeys.childrenKey;
|
|
83
72
|
var parentValues = [];
|
|
84
|
-
var itemValues = [];
|
|
73
|
+
var itemValues = [];
|
|
85
74
|
|
|
75
|
+
// Find the parent node of the current node by value
|
|
86
76
|
function findParent(item) {
|
|
87
77
|
parentValues.push(item[valueKey]);
|
|
88
|
-
|
|
89
78
|
if (value.some(function (v) {
|
|
90
79
|
return v === item[valueKey];
|
|
91
80
|
})) {
|
|
92
81
|
return item;
|
|
93
82
|
}
|
|
94
|
-
|
|
95
83
|
if (item.parent) {
|
|
96
84
|
var p = findParent(item.parent);
|
|
97
|
-
|
|
98
85
|
if (p) {
|
|
99
86
|
return p;
|
|
100
87
|
}
|
|
101
88
|
}
|
|
102
|
-
|
|
103
89
|
return null;
|
|
104
|
-
}
|
|
105
|
-
|
|
90
|
+
}
|
|
106
91
|
|
|
92
|
+
// Get child nodes through parent node
|
|
107
93
|
function pushChildValue(item) {
|
|
108
94
|
if (!item[childrenKey]) {
|
|
109
95
|
return;
|
|
110
96
|
}
|
|
111
|
-
|
|
112
97
|
item[childrenKey].forEach(function (n) {
|
|
113
98
|
// Determine whether it is a direct parent
|
|
114
99
|
if (parentValues.some(function (v) {
|
|
@@ -120,52 +105,44 @@ export var getOtherItemValuesByUnselectChild = function getOtherItemValuesByUnse
|
|
|
120
105
|
}
|
|
121
106
|
});
|
|
122
107
|
}
|
|
123
|
-
|
|
124
108
|
var parent = findParent(itemNode);
|
|
125
|
-
|
|
126
109
|
if (!parent) {
|
|
127
110
|
return [];
|
|
128
111
|
}
|
|
129
|
-
|
|
130
112
|
pushChildValue(parent);
|
|
131
113
|
return itemValues;
|
|
132
114
|
};
|
|
115
|
+
|
|
133
116
|
/**
|
|
134
117
|
* Remove the values of all children.
|
|
135
118
|
*/
|
|
136
|
-
|
|
137
119
|
export var removeAllChildrenValue = function removeAllChildrenValue(value, item, itemKeys) {
|
|
138
120
|
var valueKey = itemKeys.valueKey,
|
|
139
|
-
|
|
121
|
+
childrenKey = itemKeys.childrenKey;
|
|
140
122
|
var removedValue = [];
|
|
141
|
-
|
|
142
123
|
if (!item[childrenKey]) {
|
|
143
124
|
return;
|
|
144
125
|
}
|
|
145
|
-
|
|
146
126
|
item[childrenKey].forEach(function (n) {
|
|
147
127
|
removedValue = removedValue.concat(remove(value, function (v) {
|
|
148
128
|
return v === n[valueKey];
|
|
149
129
|
}));
|
|
150
|
-
|
|
151
130
|
if (n[childrenKey]) {
|
|
152
131
|
removeAllChildrenValue(value, n, itemKeys);
|
|
153
132
|
}
|
|
154
133
|
});
|
|
155
134
|
return removedValue;
|
|
156
135
|
};
|
|
136
|
+
|
|
157
137
|
/**
|
|
158
138
|
* A hook to flatten tree structure data
|
|
159
139
|
* @param data
|
|
160
140
|
*/
|
|
161
|
-
|
|
162
141
|
export function useFlattenData(data, itemKeys) {
|
|
163
142
|
var childrenKey = itemKeys.childrenKey;
|
|
164
|
-
|
|
165
143
|
var _useState = useState(UNSAFE_flattenTree(data, itemKeys.childrenKey)),
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
144
|
+
flattenData = _useState[0],
|
|
145
|
+
setFlattenData = _useState[1];
|
|
169
146
|
var addFlattenData = useCallback(function (children, parent) {
|
|
170
147
|
var nodes = children.map(function (child) {
|
|
171
148
|
return attachParent(child, parent);
|
|
@@ -181,45 +158,40 @@ export function useFlattenData(data, itemKeys) {
|
|
|
181
158
|
flattenData: flattenData
|
|
182
159
|
};
|
|
183
160
|
}
|
|
161
|
+
|
|
184
162
|
/**
|
|
185
163
|
* A hook for column data
|
|
186
164
|
* @param flattenData
|
|
187
165
|
*/
|
|
188
|
-
|
|
189
166
|
export function useColumnData(flattenData) {
|
|
190
167
|
// The columns displayed in the cascading panel.
|
|
191
168
|
var _useState2 = useState([flattenData.filter(function (item) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
169
|
+
return !item.parent;
|
|
170
|
+
})]),
|
|
171
|
+
columnData = _useState2[0],
|
|
172
|
+
setColumnData = _useState2[1];
|
|
196
173
|
/**
|
|
197
174
|
* Add a list of options to the cascading panel. Used for lazy loading options.
|
|
198
175
|
* @param column
|
|
199
176
|
* @param index The index of the current column.
|
|
200
177
|
*/
|
|
201
|
-
|
|
202
|
-
|
|
203
178
|
function addColumn(column, index) {
|
|
204
179
|
setColumnData([].concat(slice(columnData, 0, index), [column]));
|
|
205
180
|
}
|
|
181
|
+
|
|
206
182
|
/**
|
|
207
183
|
* Remove subsequent columns of the specified column
|
|
208
184
|
* @param index
|
|
209
185
|
*/
|
|
210
|
-
|
|
211
|
-
|
|
212
186
|
function removeColumnByIndex(index) {
|
|
213
187
|
setColumnData([].concat(slice(columnData, 0, index)));
|
|
214
188
|
}
|
|
215
|
-
|
|
216
189
|
function enforceUpdateColumnData(nextData) {
|
|
217
190
|
var nextFlattenData = UNSAFE_flattenTree(nextData);
|
|
218
191
|
setColumnData([nextFlattenData.filter(function (item) {
|
|
219
192
|
return !item.parent;
|
|
220
193
|
})]);
|
|
221
194
|
}
|
|
222
|
-
|
|
223
195
|
return {
|
|
224
196
|
columnData: columnData,
|
|
225
197
|
addColumn: addColumn,
|
|
@@ -228,36 +200,32 @@ export function useColumnData(flattenData) {
|
|
|
228
200
|
enforceUpdateColumnData: enforceUpdateColumnData
|
|
229
201
|
};
|
|
230
202
|
}
|
|
203
|
+
|
|
231
204
|
/**
|
|
232
205
|
* A hook that converts the value into a cascading value
|
|
233
206
|
* @param props
|
|
234
207
|
* @param flattenData
|
|
235
208
|
*/
|
|
236
|
-
|
|
237
209
|
export function useCascadeValue(props, flattenData) {
|
|
238
210
|
var valueKey = props.valueKey,
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
211
|
+
childrenKey = props.childrenKey,
|
|
212
|
+
uncheckableItemValues = props.uncheckableItemValues,
|
|
213
|
+
cascade = props.cascade,
|
|
214
|
+
valueProp = props.value;
|
|
243
215
|
/**
|
|
244
216
|
* Get the values of all children
|
|
245
217
|
*/
|
|
246
|
-
|
|
247
218
|
var getChildrenValue = useCallback(function (item) {
|
|
248
219
|
var values = [];
|
|
249
|
-
|
|
250
220
|
if (!item[childrenKey]) {
|
|
251
221
|
return values;
|
|
252
222
|
}
|
|
253
|
-
|
|
254
223
|
item[childrenKey].forEach(function (n) {
|
|
255
224
|
if (uncheckableItemValues && !uncheckableItemValues.some(function (v) {
|
|
256
225
|
return v === n[valueKey];
|
|
257
226
|
})) {
|
|
258
227
|
values.push(n[valueKey]);
|
|
259
228
|
}
|
|
260
|
-
|
|
261
229
|
values = values.concat(getChildrenValue(n));
|
|
262
230
|
});
|
|
263
231
|
return values;
|
|
@@ -268,39 +236,41 @@ export function useCascadeValue(props, flattenData) {
|
|
|
268
236
|
var parents = getParents(item);
|
|
269
237
|
var nextValue = [].concat(value);
|
|
270
238
|
var removedValue = [];
|
|
271
|
-
|
|
272
239
|
if (checked) {
|
|
273
|
-
nextValue.push(itemValue);
|
|
240
|
+
nextValue.push(itemValue);
|
|
274
241
|
|
|
242
|
+
// Delete all values under the current node
|
|
275
243
|
removedValue = removedValue.concat(removeAllChildrenValue(nextValue, item, {
|
|
276
244
|
valueKey: valueKey,
|
|
277
245
|
childrenKey: childrenKey
|
|
278
|
-
}) || []);
|
|
279
|
-
// Then determine whether all the child nodes of these nodes are selected, and then they themselves must be selected
|
|
246
|
+
}) || []);
|
|
280
247
|
|
|
248
|
+
// Traverse all ancestor nodes of the current node
|
|
249
|
+
// Then determine whether all the child nodes of these nodes are selected, and then they themselves must be selected
|
|
281
250
|
var _loop = function _loop(i) {
|
|
282
251
|
// Whether the parent node can be selected
|
|
283
252
|
var isCheckableParent = !(uncheckableItemValues !== null && uncheckableItemValues !== void 0 && uncheckableItemValues.some(function (v) {
|
|
284
253
|
return v === parents[i][valueKey];
|
|
285
254
|
}));
|
|
286
|
-
|
|
287
255
|
if (isCheckableParent) {
|
|
288
|
-
var isCheckAll = parents[i][childrenKey]
|
|
256
|
+
var isCheckAll = parents[i][childrenKey]
|
|
257
|
+
// Filter out options that are marked as not selectable
|
|
289
258
|
.filter(function (n) {
|
|
290
259
|
return !(uncheckableItemValues !== null && uncheckableItemValues !== void 0 && uncheckableItemValues.some(function (v) {
|
|
291
260
|
return v === n[valueKey];
|
|
292
261
|
}));
|
|
293
|
-
})
|
|
262
|
+
})
|
|
263
|
+
// Check if all nodes are selected
|
|
294
264
|
.every(function (n) {
|
|
295
265
|
return nextValue.some(function (v) {
|
|
296
266
|
return v === n[valueKey];
|
|
297
267
|
});
|
|
298
268
|
});
|
|
299
|
-
|
|
300
269
|
if (isCheckAll) {
|
|
301
270
|
// Add parent node value
|
|
302
|
-
nextValue.push(parents[i][valueKey]);
|
|
271
|
+
nextValue.push(parents[i][valueKey]);
|
|
303
272
|
|
|
273
|
+
// Delete all values under the parent node
|
|
304
274
|
removedValue = removedValue.concat(removeAllChildrenValue(nextValue, parents[i], {
|
|
305
275
|
valueKey: valueKey,
|
|
306
276
|
childrenKey: childrenKey
|
|
@@ -308,7 +278,6 @@ export function useCascadeValue(props, flattenData) {
|
|
|
308
278
|
}
|
|
309
279
|
}
|
|
310
280
|
};
|
|
311
|
-
|
|
312
281
|
for (var i = 0; i < parents.length; i++) {
|
|
313
282
|
_loop(i);
|
|
314
283
|
}
|
|
@@ -319,20 +288,19 @@ export function useCascadeValue(props, flattenData) {
|
|
|
319
288
|
nextValue = nextValue.concat(getOtherItemValuesByUnselectChild(item, nextValue, {
|
|
320
289
|
valueKey: valueKey,
|
|
321
290
|
childrenKey: childrenKey
|
|
322
|
-
}));
|
|
291
|
+
}));
|
|
323
292
|
|
|
293
|
+
// Delete related child and parent nodes
|
|
324
294
|
removedValue = remove(nextValue, function (v) {
|
|
325
295
|
// Delete yourself
|
|
326
296
|
if (v === itemValue) {
|
|
327
297
|
return true;
|
|
328
298
|
}
|
|
329
|
-
|
|
330
299
|
return tempValue.some(function (n) {
|
|
331
300
|
return n === v;
|
|
332
301
|
});
|
|
333
302
|
});
|
|
334
303
|
}
|
|
335
|
-
|
|
336
304
|
var uniqValue = uniq(nextValue);
|
|
337
305
|
var uniqRemovedValue = uniq(removedValue);
|
|
338
306
|
return {
|
|
@@ -344,14 +312,11 @@ export function useCascadeValue(props, flattenData) {
|
|
|
344
312
|
if (value === void 0) {
|
|
345
313
|
value = [];
|
|
346
314
|
}
|
|
347
|
-
|
|
348
315
|
if (!cascade) {
|
|
349
316
|
return value;
|
|
350
317
|
}
|
|
351
|
-
|
|
352
318
|
var tempRemovedValue = [];
|
|
353
319
|
var nextValue = [];
|
|
354
|
-
|
|
355
320
|
var _loop2 = function _loop2(i) {
|
|
356
321
|
// If the value in the current value is already in the deleted list, it will not be processed
|
|
357
322
|
if (tempRemovedValue.some(function (v) {
|
|
@@ -359,47 +324,39 @@ export function useCascadeValue(props, flattenData) {
|
|
|
359
324
|
})) {
|
|
360
325
|
return "continue";
|
|
361
326
|
}
|
|
362
|
-
|
|
363
327
|
var item = flattenData.find(function (v) {
|
|
364
328
|
return v[valueKey] === value[i];
|
|
365
329
|
});
|
|
366
|
-
|
|
367
330
|
if (!item) {
|
|
368
331
|
return "continue";
|
|
369
332
|
}
|
|
370
|
-
|
|
371
333
|
var sv = splitValue(item, true, value);
|
|
372
|
-
tempRemovedValue = uniq(tempRemovedValue.concat(sv.removedValue));
|
|
334
|
+
tempRemovedValue = uniq(tempRemovedValue.concat(sv.removedValue));
|
|
373
335
|
|
|
336
|
+
// Get all relevant values
|
|
374
337
|
nextValue = uniq(nextValue.concat(sv.value));
|
|
375
338
|
};
|
|
376
|
-
|
|
377
339
|
for (var i = 0; i < value.length; i++) {
|
|
378
340
|
var _ret = _loop2(i);
|
|
379
|
-
|
|
380
341
|
if (_ret === "continue") continue;
|
|
381
|
-
}
|
|
382
|
-
|
|
342
|
+
}
|
|
383
343
|
|
|
344
|
+
// Finally traverse all nextValue, and delete if its parent node is also nextValue
|
|
384
345
|
return nextValue.filter(function (v) {
|
|
385
346
|
var item = flattenData.find(function (n) {
|
|
386
347
|
return n[valueKey] === v;
|
|
387
348
|
});
|
|
388
|
-
|
|
389
349
|
if (item !== null && item !== void 0 && item.parent && nextValue.some(function (v) {
|
|
390
350
|
return v === item.parent && item.parent[valueKey];
|
|
391
351
|
})) {
|
|
392
352
|
return false;
|
|
393
353
|
}
|
|
394
|
-
|
|
395
354
|
return true;
|
|
396
355
|
});
|
|
397
356
|
}, [cascade, flattenData, splitValue, valueKey]);
|
|
398
|
-
|
|
399
357
|
var _useState3 = useState(transformValue(valueProp) || []),
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
358
|
+
value = _useState3[0],
|
|
359
|
+
setValue = _useState3[1];
|
|
403
360
|
useEffect(function () {
|
|
404
361
|
// Update value when valueProp is updated.
|
|
405
362
|
setValue(transformValue(valueProp) || []);
|
package/esm/Nav/Nav.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
4
|
import React, { useContext, useEffect, useMemo } from 'react';
|
|
@@ -21,32 +22,30 @@ import SidenavItem from '../Sidenav/SidenavItem';
|
|
|
21
22
|
import useInternalId from '../utils/useInternalId';
|
|
22
23
|
var Nav = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
23
24
|
var _props$as = props.as,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var sidenav = useContext(SidenavContext); // Whether inside a <Navbar>
|
|
25
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
26
|
+
_props$classPrefix = props.classPrefix,
|
|
27
|
+
classPrefix = _props$classPrefix === void 0 ? 'nav' : _props$classPrefix,
|
|
28
|
+
_props$appearance = props.appearance,
|
|
29
|
+
appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
|
|
30
|
+
vertical = props.vertical,
|
|
31
|
+
justified = props.justified,
|
|
32
|
+
reversed = props.reversed,
|
|
33
|
+
pullRight = props.pullRight,
|
|
34
|
+
className = props.className,
|
|
35
|
+
children = props.children,
|
|
36
|
+
activeKeyProp = props.activeKey,
|
|
37
|
+
onSelectProp = props.onSelect,
|
|
38
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "appearance", "vertical", "justified", "reversed", "pullRight", "className", "children", "activeKey", "onSelect"]);
|
|
39
|
+
var sidenav = useContext(SidenavContext);
|
|
40
40
|
|
|
41
|
+
// Whether inside a <Navbar>
|
|
41
42
|
var navbar = useContext(NavbarContext);
|
|
42
43
|
var menubarRef = useEnsuredRef(ref);
|
|
43
|
-
|
|
44
44
|
var _useClassNames = useClassNames(classPrefix),
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
withClassPrefix = _useClassNames.withClassPrefix,
|
|
46
|
+
merge = _useClassNames.merge,
|
|
47
|
+
rootPrefix = _useClassNames.rootPrefix,
|
|
48
|
+
prefix = _useClassNames.prefix;
|
|
50
49
|
var classes = merge(className, rootPrefix({
|
|
51
50
|
'navbar-nav': navbar,
|
|
52
51
|
'navbar-right': pullRight,
|
|
@@ -57,12 +56,10 @@ var Nav = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
57
56
|
justified: justified,
|
|
58
57
|
reversed: reversed
|
|
59
58
|
}));
|
|
60
|
-
|
|
61
59
|
var _ref = sidenav || {},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
activeKeyFromSidenav = _ref.activeKey,
|
|
61
|
+
_ref$onSelect = _ref.onSelect,
|
|
62
|
+
onSelectFromSidenav = _ref$onSelect === void 0 ? onSelectProp : _ref$onSelect;
|
|
66
63
|
var activeKey = activeKeyProp !== null && activeKeyProp !== void 0 ? activeKeyProp : activeKeyFromSidenav;
|
|
67
64
|
var contextValue = useMemo(function () {
|
|
68
65
|
return {
|
|
@@ -70,7 +67,6 @@ var Nav = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
70
67
|
onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
|
|
71
68
|
};
|
|
72
69
|
}, [activeKey, onSelectFromSidenav, onSelectProp]);
|
|
73
|
-
|
|
74
70
|
if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
|
|
75
71
|
return /*#__PURE__*/React.createElement(NavContext.Provider, {
|
|
76
72
|
value: contextValue
|
|
@@ -79,9 +75,9 @@ var Nav = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
79
75
|
className: classes
|
|
80
76
|
}, rest), children));
|
|
81
77
|
}
|
|
78
|
+
var hasWaterline = appearance !== 'default';
|
|
82
79
|
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
// If inside a collapsed <Sidenav>, render an ARIA `menubar` (vertical)
|
|
85
81
|
if (sidenav) {
|
|
86
82
|
return /*#__PURE__*/React.createElement(NavContext.Provider, {
|
|
87
83
|
value: contextValue
|
|
@@ -95,7 +91,6 @@ var Nav = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
95
91
|
}, menubar), children);
|
|
96
92
|
}));
|
|
97
93
|
}
|
|
98
|
-
|
|
99
94
|
return /*#__PURE__*/React.createElement(NavContext.Provider, {
|
|
100
95
|
value: contextValue
|
|
101
96
|
}, /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
@@ -114,27 +109,20 @@ Nav.Dropdown = DeprecatedNavDropdown;
|
|
|
114
109
|
* When used as direct child of <Nav>, render the NavItem
|
|
115
110
|
* When used within a <Nav.Menu>, render the NavDropdownItem
|
|
116
111
|
*/
|
|
117
|
-
|
|
118
112
|
Nav.Item = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
119
113
|
var nav = useContext(NavContext);
|
|
120
|
-
|
|
121
114
|
if (!nav) {
|
|
122
115
|
throw new Error('<Nav.Item> must be rendered within a <Nav> component.');
|
|
123
116
|
}
|
|
124
|
-
|
|
125
117
|
var parentNavMenu = useContext(NavMenuContext);
|
|
126
118
|
var navbar = useContext(NavbarContext);
|
|
127
119
|
var sidenav = useContext(SidenavContext);
|
|
128
|
-
|
|
129
120
|
var _ref2 = parentNavMenu !== null && parentNavMenu !== void 0 ? parentNavMenu : [],
|
|
130
|
-
|
|
131
|
-
|
|
121
|
+
dispatch = _ref2[1];
|
|
132
122
|
var _id = useInternalId('Nav.Item');
|
|
133
|
-
|
|
134
123
|
useEffect(function () {
|
|
135
124
|
if (dispatch) {
|
|
136
125
|
var _props$active;
|
|
137
|
-
|
|
138
126
|
dispatch({
|
|
139
127
|
type: NavMenuActionType.RegisterItem,
|
|
140
128
|
payload: {
|
|
@@ -153,37 +141,31 @@ Nav.Item = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
153
141
|
};
|
|
154
142
|
}
|
|
155
143
|
}, [dispatch, _id, props.eventKey, props.active]);
|
|
156
|
-
|
|
157
144
|
if (parentNavMenu) {
|
|
158
145
|
if (navbar) {
|
|
159
146
|
return /*#__PURE__*/React.createElement(NavbarDropdownItem, _extends({
|
|
160
147
|
ref: ref
|
|
161
148
|
}, props));
|
|
162
149
|
}
|
|
163
|
-
|
|
164
150
|
if (sidenav) {
|
|
165
151
|
return /*#__PURE__*/React.createElement(SidenavDropdownItem, _extends({
|
|
166
152
|
ref: ref
|
|
167
153
|
}, props));
|
|
168
154
|
}
|
|
169
|
-
|
|
170
155
|
return /*#__PURE__*/React.createElement(NavDropdownItem, _extends({
|
|
171
156
|
ref: ref
|
|
172
157
|
}, props));
|
|
173
158
|
}
|
|
174
|
-
|
|
175
159
|
if (navbar) {
|
|
176
160
|
return /*#__PURE__*/React.createElement(NavbarItem, _extends({
|
|
177
161
|
ref: ref
|
|
178
162
|
}, props));
|
|
179
163
|
}
|
|
180
|
-
|
|
181
164
|
if (sidenav) {
|
|
182
165
|
return /*#__PURE__*/React.createElement(SidenavItem, _extends({
|
|
183
166
|
ref: ref
|
|
184
167
|
}, props));
|
|
185
168
|
}
|
|
186
|
-
|
|
187
169
|
return /*#__PURE__*/React.createElement(NavItem, _extends({
|
|
188
170
|
ref: ref
|
|
189
171
|
}, props));
|
package/esm/Nav/NavContext.js
CHANGED