rsuite 5.2.2 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Avatar/styles/index.less +2 -2
- package/AvatarGroup/package.json +7 -0
- package/AvatarGroup/styles/index.less +19 -0
- package/ButtonGroup/styles/index.less +0 -18
- package/CHANGELOG.md +61 -0
- package/CheckTreePicker/styles/index.less +14 -1
- package/Dropdown/styles/index.less +1 -0
- package/Nav/styles/index.less +1 -0
- package/Navbar/styles/index.less +7 -0
- package/Radio/styles/index.less +6 -0
- package/Stack/package.json +7 -0
- package/Stack/styles/index.less +5 -0
- package/Table/styles/index.less +0 -4
- package/TreePicker/styles/index.less +10 -14
- package/cjs/@types/common.d.ts +13 -12
- package/cjs/@types/utils.d.ts +12 -0
- package/cjs/Affix/Affix.js +5 -5
- package/cjs/Animation/Transition.d.ts +21 -12
- package/cjs/Animation/Transition.js +4 -1
- package/cjs/AutoComplete/AutoComplete.js +1 -1
- package/cjs/AutoComplete/utils.d.ts +1 -1
- package/cjs/Avatar/Avatar.js +10 -3
- package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
- package/cjs/AvatarGroup/AvatarGroup.js +71 -0
- package/cjs/AvatarGroup/index.d.ts +3 -0
- package/cjs/AvatarGroup/index.js +11 -0
- package/cjs/Breadcrumb/Breadcrumb.js +1 -1
- package/cjs/Button/Button.js +8 -2
- package/cjs/ButtonGroup/ButtonGroup.js +8 -2
- package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
- package/cjs/ButtonGroup/index.d.ts +2 -0
- package/cjs/ButtonGroup/index.js +3 -0
- package/cjs/Calendar/Calendar.d.ts +4 -4
- package/cjs/Calendar/Calendar.js +5 -2
- package/cjs/Calendar/CalendarContext.js +1 -1
- package/cjs/Calendar/TableRow.js +1 -1
- package/cjs/Calendar/TimeDropdown.js +6 -5
- package/cjs/Calendar/types.d.ts +2 -2
- package/cjs/Calendar/useCalendarDate.d.ts +2 -2
- package/cjs/Carousel/Carousel.d.ts +2 -2
- package/cjs/Carousel/Carousel.js +1 -1
- package/cjs/Cascader/Cascader.d.ts +1 -1
- package/cjs/Cascader/Cascader.js +10 -10
- package/cjs/Cascader/DropdownMenu.d.ts +5 -4
- package/cjs/Cascader/utils.d.ts +10 -10
- package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
- package/cjs/CheckPicker/CheckPicker.js +4 -4
- package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
- package/cjs/CheckTree/index.js +2 -6
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
- package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
- package/cjs/CheckTreePicker/utils.d.ts +3 -1
- package/cjs/CheckTreePicker/utils.js +12 -10
- package/cjs/Checkbox/Checkbox.d.ts +1 -1
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
- package/cjs/DOMHelper/index.d.ts +12 -12
- package/cjs/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/DatePicker/DatePicker.js +17 -11
- package/cjs/DatePicker/Toolbar.d.ts +12 -9
- package/cjs/DatePicker/Toolbar.js +6 -8
- package/cjs/DatePicker/types.d.ts +4 -4
- package/cjs/DatePicker/utils.d.ts +4 -3
- package/cjs/DateRangePicker/Calendar.d.ts +9 -7
- package/cjs/DateRangePicker/Calendar.js +27 -6
- package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
- package/cjs/DateRangePicker/DateRangePicker.js +131 -108
- package/cjs/DateRangePicker/types.d.ts +2 -1
- package/cjs/DateRangePicker/utils.d.ts +6 -6
- package/cjs/DateRangePicker/utils.js +7 -2
- package/cjs/Disclosure/Disclosure.js +4 -2
- package/cjs/Disclosure/DisclosureButton.js +9 -7
- package/cjs/Disclosure/DisclosureContent.js +4 -6
- package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
- package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
- package/cjs/Disclosure/useDisclosureContext.js +20 -0
- package/cjs/Dropdown/Dropdown.d.ts +1 -1
- package/cjs/Dropdown/DropdownContext.d.ts +2 -2
- package/cjs/Dropdown/DropdownItem.js +1 -1
- package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
- package/cjs/Dropdown/DropdownState.d.ts +1 -1
- package/cjs/Dropdown/DropdownToggle.js +10 -2
- package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/cjs/Form/Form.js +1 -1
- package/cjs/Form/FormContext.d.ts +1 -1
- package/cjs/FormControl/FormControl.d.ts +1 -1
- package/cjs/FormControl/FormControl.js +5 -4
- package/cjs/FormGroup/FormGroup.d.ts +1 -1
- package/cjs/Input/Input.d.ts +3 -2
- package/cjs/InputGroup/InputGroup.d.ts +1 -1
- package/cjs/InputNumber/InputNumber.js +6 -2
- package/cjs/InputPicker/InputAutosize.js +4 -4
- package/cjs/InputPicker/InputPicker.d.ts +2 -2
- package/cjs/InputPicker/InputPicker.js +16 -11
- package/cjs/List/ListContext.d.ts +1 -1
- package/cjs/List/ListContext.js +8 -1
- package/cjs/List/helper/AutoScroller.js +4 -2
- package/cjs/List/helper/useManager.d.ts +3 -3
- package/cjs/List/helper/useManager.js +1 -1
- package/cjs/List/helper/useSortHelper.d.ts +3 -3
- package/cjs/List/helper/useSortHelper.js +6 -4
- package/cjs/List/helper/utils.d.ts +2 -2
- package/cjs/MaskedInput/TextMask.d.ts +5 -5
- package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
- package/cjs/MaskedInput/conformToMask.js +5 -4
- package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
- package/cjs/MaskedInput/utilities.d.ts +1 -1
- package/cjs/Menu/Menu.js +60 -41
- package/cjs/Menu/MenuContext.d.ts +1 -1
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +31 -23
- package/cjs/Menu/Menubar.js +8 -8
- package/cjs/Menu/useMenu.js +17 -7
- package/cjs/Modal/Modal.js +12 -6
- package/cjs/Modal/ModalContext.d.ts +2 -2
- package/cjs/Modal/utils.d.ts +1 -1
- package/cjs/Modal/utils.js +3 -5
- package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
- package/cjs/MultiCascader/MultiCascader.js +6 -6
- package/cjs/MultiCascader/utils.d.ts +17 -17
- package/cjs/Nav/Nav.d.ts +1 -1
- package/cjs/Nav/Nav.js +3 -0
- package/cjs/Nav/NavContext.d.ts +7 -1
- package/cjs/Nav/NavContext.js +1 -0
- package/cjs/Nav/NavItem.d.ts +1 -1
- package/cjs/Navbar/Navbar.js +1 -1
- package/cjs/Navbar/NavbarItem.d.ts +1 -1
- package/cjs/Overlay/Modal.d.ts +2 -2
- package/cjs/Overlay/Modal.js +67 -45
- package/cjs/Overlay/ModalManager.d.ts +17 -8
- package/cjs/Overlay/ModalManager.js +11 -20
- package/cjs/Overlay/Overlay.d.ts +3 -3
- package/cjs/Overlay/Overlay.js +8 -2
- package/cjs/Overlay/OverlayContext.d.ts +6 -0
- package/cjs/Overlay/OverlayContext.js +14 -0
- package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
- package/cjs/Overlay/OverlayTrigger.js +21 -7
- package/cjs/Overlay/Position.d.ts +4 -4
- package/cjs/Overlay/Position.js +14 -8
- package/cjs/Overlay/positionUtils.d.ts +1 -1
- package/cjs/Overlay/positionUtils.js +8 -8
- package/cjs/Pagination/Pagination.d.ts +1 -1
- package/cjs/Pagination/PaginationButton.d.ts +3 -3
- package/cjs/Pagination/PaginationGroup.js +5 -3
- package/cjs/Panel/Panel.d.ts +1 -1
- package/cjs/Panel/Panel.js +2 -2
- package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
- package/cjs/Picker/DropdownMenu.d.ts +8 -5
- package/cjs/Picker/DropdownMenu.js +5 -5
- package/cjs/Picker/PickerOverlay.js +4 -3
- package/cjs/Picker/PickerToggle.js +9 -6
- package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
- package/cjs/Picker/SearchBar.d.ts +1 -1
- package/cjs/Picker/SelectedElement.js +2 -1
- package/cjs/Picker/VirtualizedList.d.ts +29 -2
- package/cjs/Picker/propTypes.d.ts +5 -7
- package/cjs/Picker/propTypes.js +4 -3
- package/cjs/Picker/utils.d.ts +15 -23
- package/cjs/Picker/utils.js +71 -46
- package/cjs/Placeholder/PlaceholderGrid.js +1 -1
- package/cjs/Plaintext/Plaintext.js +2 -1
- package/cjs/Radio/Radio.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
- package/cjs/RadioGroup/RadioGroup.js +3 -3
- package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
- package/cjs/RangeSlider/RangeSlider.js +6 -4
- package/cjs/Rate/Character.js +4 -2
- package/cjs/Rate/Rate.js +5 -2
- package/cjs/Ripple/Ripple.js +1 -1
- package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
- package/cjs/SelectPicker/SelectPicker.js +8 -8
- package/cjs/SelectPicker/index.d.ts +1 -1
- package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
- package/cjs/Sidenav/Node.d.ts +1 -1
- package/cjs/Sidenav/Sidenav.d.ts +4 -4
- package/cjs/Sidenav/Sidenav.js +5 -2
- package/cjs/Sidenav/SidenavDropdown.js +11 -8
- package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
- package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
- package/cjs/Sidenav/SidenavItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavItem.js +4 -0
- package/cjs/Slider/Graduated.d.ts +5 -5
- package/cjs/Slider/Handle.d.ts +1 -1
- package/cjs/Slider/Handle.js +10 -6
- package/cjs/Slider/Mark.d.ts +1 -1
- package/cjs/Slider/Slider.d.ts +1 -1
- package/cjs/Slider/Slider.js +2 -2
- package/cjs/Slider/utils.d.ts +2 -1
- package/cjs/Slider/utils.js +4 -5
- package/cjs/Stack/Stack.d.ts +26 -0
- package/cjs/Stack/Stack.js +86 -0
- package/cjs/Stack/index.d.ts +3 -0
- package/cjs/Stack/index.js +11 -0
- package/cjs/Steps/StepItem.js +1 -1
- package/cjs/TagInput/index.js +1 -1
- package/cjs/Toggle/Toggle.js +3 -3
- package/cjs/Tree/Tree.d.ts +3 -2
- package/cjs/Tree/Tree.js +2 -6
- package/cjs/Tree/TreeContext.d.ts +0 -1
- package/cjs/TreePicker/TreeNode.js +7 -22
- package/cjs/TreePicker/TreePicker.js +37 -54
- package/cjs/Uploader/UploadFileItem.d.ts +1 -1
- package/cjs/Uploader/UploadFileItem.js +2 -2
- package/cjs/Uploader/UploadTrigger.d.ts +1 -1
- package/cjs/Uploader/UploadTrigger.js +2 -3
- package/cjs/Uploader/Uploader.d.ts +5 -5
- package/cjs/Uploader/Uploader.js +1 -2
- package/cjs/index.d.ts +6 -2
- package/cjs/index.js +13 -5
- package/cjs/locales/index.d.ts +3 -3
- package/cjs/toaster/ToastContainer.d.ts +1 -1
- package/cjs/toaster/ToastContainer.js +1 -1
- package/cjs/toaster/toaster.js +3 -1
- package/cjs/utils/BrowserDetection.js +1 -1
- package/cjs/utils/ReactChildren.d.ts +2 -2
- package/cjs/utils/ajaxUpload.d.ts +1 -1
- package/cjs/utils/ajaxUpload.js +5 -4
- package/cjs/utils/appendTooltip.d.ts +1 -1
- package/cjs/utils/constants.d.ts +4 -4
- package/cjs/utils/createChainedFunction.d.ts +1 -1
- package/cjs/utils/getDataGroupBy.d.ts +1 -1
- package/cjs/utils/mergeRefs.d.ts +2 -2
- package/cjs/utils/previewFile.d.ts +1 -1
- package/cjs/utils/propTypeChecker.d.ts +6 -2
- package/cjs/utils/propTypeChecker.js +7 -6
- package/cjs/utils/reactToString.d.ts +2 -1
- package/cjs/utils/statusIcons.d.ts +1 -1
- package/cjs/utils/stringToObject.d.ts +1 -1
- package/cjs/utils/treeUtils.d.ts +35 -32
- package/cjs/utils/treeUtils.js +46 -23
- package/cjs/utils/useControlled.d.ts +6 -1
- package/cjs/utils/useControlled.js +0 -8
- package/cjs/utils/useCustom.js +6 -4
- package/cjs/utils/useElementResize.js +6 -3
- package/cjs/utils/useFocus.d.ts +2 -2
- package/cjs/utils/usePortal.d.ts +2 -2
- package/cjs/utils/useRootClose.d.ts +2 -2
- package/cjs/utils/useTimeout.d.ts +1 -1
- package/cjs/utils/useTimeout.js +5 -3
- package/dist/rsuite-rtl.css +60 -178
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +60 -178
- package/dist/rsuite.js +216 -117
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.LICENSE.txt +9 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +13 -12
- package/esm/@types/utils.d.ts +12 -0
- package/esm/Affix/Affix.js +5 -5
- package/esm/Animation/Transition.d.ts +21 -12
- package/esm/Animation/Transition.js +4 -1
- package/esm/AutoComplete/AutoComplete.js +1 -1
- package/esm/AutoComplete/utils.d.ts +1 -1
- package/esm/Avatar/Avatar.js +7 -3
- package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
- package/esm/AvatarGroup/AvatarGroup.js +54 -0
- package/esm/AvatarGroup/index.d.ts +3 -0
- package/esm/AvatarGroup/index.js +2 -0
- package/esm/Breadcrumb/Breadcrumb.js +1 -1
- package/esm/Button/Button.js +6 -2
- package/esm/ButtonGroup/ButtonGroup.js +7 -2
- package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
- package/esm/ButtonGroup/index.d.ts +2 -0
- package/esm/ButtonGroup/index.js +2 -0
- package/esm/Calendar/Calendar.d.ts +4 -4
- package/esm/Calendar/Calendar.js +5 -2
- package/esm/Calendar/CalendarContext.js +1 -1
- package/esm/Calendar/TableRow.js +1 -1
- package/esm/Calendar/TimeDropdown.js +5 -4
- package/esm/Calendar/types.d.ts +2 -2
- package/esm/Calendar/useCalendarDate.d.ts +2 -2
- package/esm/Carousel/Carousel.d.ts +2 -2
- package/esm/Carousel/Carousel.js +1 -1
- package/esm/Cascader/Cascader.d.ts +1 -1
- package/esm/Cascader/Cascader.js +10 -10
- package/esm/Cascader/DropdownMenu.d.ts +5 -4
- package/esm/Cascader/utils.d.ts +10 -10
- package/esm/CheckPicker/CheckPicker.d.ts +9 -4
- package/esm/CheckPicker/CheckPicker.js +4 -4
- package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
- package/esm/CheckTree/index.js +2 -4
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
- package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
- package/esm/CheckTreePicker/utils.d.ts +3 -1
- package/esm/CheckTreePicker/utils.js +12 -10
- package/esm/Checkbox/Checkbox.d.ts +1 -1
- package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/CustomProvider/CustomProvider.d.ts +31 -57
- package/esm/DOMHelper/index.d.ts +12 -12
- package/esm/DatePicker/DatePicker.d.ts +1 -1
- package/esm/DatePicker/DatePicker.js +16 -11
- package/esm/DatePicker/Toolbar.d.ts +12 -9
- package/esm/DatePicker/Toolbar.js +6 -8
- package/esm/DatePicker/types.d.ts +4 -4
- package/esm/DatePicker/utils.d.ts +4 -3
- package/esm/DateRangePicker/Calendar.d.ts +9 -7
- package/esm/DateRangePicker/Calendar.js +28 -6
- package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
- package/esm/DateRangePicker/DateRangePicker.js +129 -108
- package/esm/DateRangePicker/types.d.ts +2 -1
- package/esm/DateRangePicker/utils.d.ts +6 -6
- package/esm/DateRangePicker/utils.js +6 -2
- package/esm/Disclosure/Disclosure.js +4 -2
- package/esm/Disclosure/DisclosureButton.js +8 -7
- package/esm/Disclosure/DisclosureContent.js +5 -7
- package/esm/Disclosure/DisclosureContext.d.ts +2 -2
- package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
- package/esm/Disclosure/useDisclosureContext.js +11 -0
- package/esm/Dropdown/Dropdown.d.ts +1 -1
- package/esm/Dropdown/DropdownContext.d.ts +2 -2
- package/esm/Dropdown/DropdownItem.js +1 -1
- package/esm/Dropdown/DropdownMenu.d.ts +3 -3
- package/esm/Dropdown/DropdownState.d.ts +1 -1
- package/esm/Dropdown/DropdownToggle.js +9 -2
- package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/esm/Form/Form.js +1 -1
- package/esm/Form/FormContext.d.ts +1 -1
- package/esm/FormControl/FormControl.d.ts +1 -1
- package/esm/FormControl/FormControl.js +5 -4
- package/esm/FormGroup/FormGroup.d.ts +1 -1
- package/esm/Input/Input.d.ts +3 -2
- package/esm/InputGroup/InputGroup.d.ts +1 -1
- package/esm/InputNumber/InputNumber.js +6 -2
- package/esm/InputPicker/InputAutosize.js +4 -4
- package/esm/InputPicker/InputPicker.d.ts +2 -2
- package/esm/InputPicker/InputPicker.js +16 -11
- package/esm/List/ListContext.d.ts +1 -1
- package/esm/List/ListContext.js +7 -1
- package/esm/List/helper/AutoScroller.js +4 -2
- package/esm/List/helper/useManager.d.ts +3 -3
- package/esm/List/helper/useManager.js +1 -1
- package/esm/List/helper/useSortHelper.d.ts +3 -3
- package/esm/List/helper/useSortHelper.js +6 -4
- package/esm/List/helper/utils.d.ts +2 -2
- package/esm/MaskedInput/TextMask.d.ts +5 -5
- package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
- package/esm/MaskedInput/conformToMask.js +5 -4
- package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
- package/esm/MaskedInput/utilities.d.ts +1 -1
- package/esm/Menu/Menu.js +59 -43
- package/esm/Menu/MenuContext.d.ts +1 -1
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +30 -23
- package/esm/Menu/Menubar.js +7 -8
- package/esm/Menu/useMenu.js +17 -7
- package/esm/Modal/Modal.js +12 -6
- package/esm/Modal/ModalContext.d.ts +2 -2
- package/esm/Modal/utils.d.ts +1 -1
- package/esm/Modal/utils.js +3 -5
- package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
- package/esm/MultiCascader/MultiCascader.js +6 -6
- package/esm/MultiCascader/utils.d.ts +17 -17
- package/esm/Nav/Nav.d.ts +1 -1
- package/esm/Nav/Nav.js +3 -0
- package/esm/Nav/NavContext.d.ts +7 -1
- package/esm/Nav/NavContext.js +1 -0
- package/esm/Nav/NavItem.d.ts +1 -1
- package/esm/Navbar/Navbar.js +1 -1
- package/esm/Navbar/NavbarItem.d.ts +1 -1
- package/esm/Overlay/Modal.d.ts +2 -2
- package/esm/Overlay/Modal.js +67 -45
- package/esm/Overlay/ModalManager.d.ts +17 -8
- package/esm/Overlay/ModalManager.js +11 -20
- package/esm/Overlay/Overlay.d.ts +3 -3
- package/esm/Overlay/Overlay.js +8 -3
- package/esm/Overlay/OverlayContext.d.ts +6 -0
- package/esm/Overlay/OverlayContext.js +4 -0
- package/esm/Overlay/OverlayTrigger.d.ts +11 -11
- package/esm/Overlay/OverlayTrigger.js +21 -8
- package/esm/Overlay/Position.d.ts +4 -4
- package/esm/Overlay/Position.js +14 -8
- package/esm/Overlay/positionUtils.d.ts +1 -1
- package/esm/Overlay/positionUtils.js +6 -6
- package/esm/Pagination/Pagination.d.ts +1 -1
- package/esm/Pagination/PaginationButton.d.ts +3 -3
- package/esm/Pagination/PaginationGroup.js +5 -3
- package/esm/Panel/Panel.d.ts +1 -1
- package/esm/Panel/Panel.js +2 -2
- package/esm/PanelGroup/PanelGroup.d.ts +2 -2
- package/esm/Picker/DropdownMenu.d.ts +8 -5
- package/esm/Picker/DropdownMenu.js +5 -5
- package/esm/Picker/PickerOverlay.js +4 -3
- package/esm/Picker/PickerToggle.js +9 -6
- package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
- package/esm/Picker/SearchBar.d.ts +1 -1
- package/esm/Picker/SelectedElement.js +2 -1
- package/esm/Picker/VirtualizedList.d.ts +29 -2
- package/esm/Picker/propTypes.d.ts +5 -7
- package/esm/Picker/propTypes.js +4 -3
- package/esm/Picker/utils.d.ts +15 -23
- package/esm/Picker/utils.js +70 -46
- package/esm/Placeholder/PlaceholderGrid.js +1 -1
- package/esm/Plaintext/Plaintext.js +2 -1
- package/esm/Radio/Radio.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.d.ts +2 -2
- package/esm/RadioGroup/RadioGroup.js +3 -3
- package/esm/RangeSlider/RangeSlider.d.ts +2 -2
- package/esm/RangeSlider/RangeSlider.js +5 -4
- package/esm/Rate/Character.js +3 -2
- package/esm/Rate/Rate.js +4 -2
- package/esm/Ripple/Ripple.js +1 -1
- package/esm/SelectPicker/SelectPicker.d.ts +12 -5
- package/esm/SelectPicker/SelectPicker.js +8 -8
- package/esm/SelectPicker/index.d.ts +1 -1
- package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
- package/esm/Sidenav/Node.d.ts +1 -1
- package/esm/Sidenav/Sidenav.d.ts +4 -4
- package/esm/Sidenav/Sidenav.js +5 -2
- package/esm/Sidenav/SidenavDropdown.js +11 -7
- package/esm/Sidenav/SidenavDropdownItem.js +11 -5
- package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
- package/esm/Sidenav/SidenavItem.d.ts +1 -1
- package/esm/Sidenav/SidenavItem.js +4 -0
- package/esm/Slider/Graduated.d.ts +5 -5
- package/esm/Slider/Handle.d.ts +1 -1
- package/esm/Slider/Handle.js +10 -6
- package/esm/Slider/Mark.d.ts +1 -1
- package/esm/Slider/Slider.d.ts +1 -1
- package/esm/Slider/Slider.js +2 -2
- package/esm/Slider/utils.d.ts +2 -1
- package/esm/Slider/utils.js +5 -2
- package/esm/Stack/Stack.d.ts +26 -0
- package/esm/Stack/Stack.js +71 -0
- package/esm/Stack/index.d.ts +3 -0
- package/esm/Stack/index.js +2 -0
- package/esm/Steps/StepItem.js +1 -1
- package/esm/TagInput/index.js +1 -1
- package/esm/Toggle/Toggle.js +3 -3
- package/esm/Tree/Tree.d.ts +3 -2
- package/esm/Tree/Tree.js +2 -4
- package/esm/Tree/TreeContext.d.ts +0 -1
- package/esm/TreePicker/TreeNode.js +6 -21
- package/esm/TreePicker/TreePicker.js +36 -52
- package/esm/Uploader/UploadFileItem.d.ts +1 -1
- package/esm/Uploader/UploadFileItem.js +2 -2
- package/esm/Uploader/UploadTrigger.d.ts +1 -1
- package/esm/Uploader/UploadTrigger.js +2 -3
- package/esm/Uploader/Uploader.d.ts +5 -5
- package/esm/Uploader/Uploader.js +1 -2
- package/esm/index.d.ts +6 -2
- package/esm/index.js +3 -1
- package/esm/locales/index.d.ts +3 -3
- package/esm/toaster/ToastContainer.d.ts +1 -1
- package/esm/toaster/ToastContainer.js +1 -1
- package/esm/toaster/toaster.js +3 -1
- package/esm/utils/BrowserDetection.js +1 -1
- package/esm/utils/ReactChildren.d.ts +2 -2
- package/esm/utils/ajaxUpload.d.ts +1 -1
- package/esm/utils/ajaxUpload.js +5 -4
- package/esm/utils/appendTooltip.d.ts +1 -1
- package/esm/utils/constants.d.ts +4 -4
- package/esm/utils/createChainedFunction.d.ts +1 -1
- package/esm/utils/getDataGroupBy.d.ts +1 -1
- package/esm/utils/mergeRefs.d.ts +2 -2
- package/esm/utils/previewFile.d.ts +1 -1
- package/esm/utils/propTypeChecker.d.ts +6 -2
- package/esm/utils/propTypeChecker.js +7 -6
- package/esm/utils/reactToString.d.ts +2 -1
- package/esm/utils/statusIcons.d.ts +1 -1
- package/esm/utils/stringToObject.d.ts +1 -1
- package/esm/utils/treeUtils.d.ts +35 -32
- package/esm/utils/treeUtils.js +45 -21
- package/esm/utils/useControlled.d.ts +6 -1
- package/esm/utils/useControlled.js +0 -8
- package/esm/utils/useCustom.js +6 -4
- package/esm/utils/useElementResize.js +6 -3
- package/esm/utils/useFocus.d.ts +2 -2
- package/esm/utils/usePortal.d.ts +2 -2
- package/esm/utils/useRootClose.d.ts +2 -2
- package/esm/utils/useTimeout.d.ts +1 -1
- package/esm/utils/useTimeout.js +5 -3
- package/package.json +3 -3
- package/styles/index.less +2 -0
package/cjs/Menu/Menu.js
CHANGED
|
@@ -13,6 +13,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
15
|
|
|
16
|
+
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
17
|
+
|
|
16
18
|
var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
|
|
17
19
|
|
|
18
20
|
var _utils = require("../utils");
|
|
@@ -21,7 +23,7 @@ var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
|
|
|
21
23
|
|
|
22
24
|
var _useMenu = _interopRequireDefault(require("./useMenu"));
|
|
23
25
|
|
|
24
|
-
var
|
|
26
|
+
var _useFocus2 = _interopRequireDefault(require("../utils/useFocus"));
|
|
25
27
|
|
|
26
28
|
var _useClickOutside = _interopRequireDefault(require("../utils/useClickOutside"));
|
|
27
29
|
|
|
@@ -45,8 +47,8 @@ function Menu(props) {
|
|
|
45
47
|
renderMenuButton = props.renderMenuButton,
|
|
46
48
|
renderMenuPopup = props.renderMenuPopup,
|
|
47
49
|
onToggleMenu = props.onToggleMenu;
|
|
48
|
-
var buttonElementRef = (0, _react.useRef)();
|
|
49
|
-
var menuElementRef = (0, _react.useRef)();
|
|
50
|
+
var buttonElementRef = (0, _react.useRef)(null);
|
|
51
|
+
var menuElementRef = (0, _react.useRef)(null);
|
|
50
52
|
var parentMenu = (0, _react.useContext)(_MenuContext.default);
|
|
51
53
|
var isSubmenu = !!parentMenu;
|
|
52
54
|
var menu = (0, _useMenu.default)();
|
|
@@ -59,8 +61,11 @@ function Menu(props) {
|
|
|
59
61
|
var _useCustom = (0, _utils.useCustom)('Menu'),
|
|
60
62
|
rtl = _useCustom.rtl;
|
|
61
63
|
|
|
62
|
-
var activeItem = (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;
|
|
63
|
-
|
|
64
|
+
var activeItem = (0, _isNil.default)(activeItemIndex) ? null : (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;
|
|
65
|
+
|
|
66
|
+
var _useFocus = (0, _useFocus2.default)(menuElementRef),
|
|
67
|
+
grabFocus = _useFocus.grab;
|
|
68
|
+
|
|
64
69
|
var openMenu = (0, _react.useCallback)(function (event) {
|
|
65
70
|
dispatch({
|
|
66
71
|
type: _MenuContext.MenuActionTypes.OpenMenu
|
|
@@ -74,8 +79,8 @@ function Menu(props) {
|
|
|
74
79
|
}
|
|
75
80
|
|
|
76
81
|
onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(true, event);
|
|
77
|
-
|
|
78
|
-
}, [dispatch, onToggleMenu,
|
|
82
|
+
grabFocus();
|
|
83
|
+
}, [dispatch, onToggleMenu, grabFocus]);
|
|
79
84
|
var closeMenu = (0, _react.useCallback)(function (event, returnFocusToButton) {
|
|
80
85
|
if (returnFocusToButton === void 0) {
|
|
81
86
|
returnFocusToButton = true;
|
|
@@ -91,7 +96,9 @@ function Menu(props) {
|
|
|
91
96
|
onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(false, event);
|
|
92
97
|
|
|
93
98
|
if (returnFocusToButton) {
|
|
94
|
-
|
|
99
|
+
var _buttonElementRef$cur;
|
|
100
|
+
|
|
101
|
+
(_buttonElementRef$cur = buttonElementRef.current) === null || _buttonElementRef$cur === void 0 ? void 0 : _buttonElementRef$cur.focus({
|
|
95
102
|
preventScroll: true
|
|
96
103
|
});
|
|
97
104
|
}
|
|
@@ -106,7 +113,9 @@ function Menu(props) {
|
|
|
106
113
|
(0, _useClickOutside.default)({
|
|
107
114
|
enabled: open,
|
|
108
115
|
isOutside: function isOutside(event) {
|
|
109
|
-
|
|
116
|
+
var _buttonElementRef$cur2, _menuElementRef$curre;
|
|
117
|
+
|
|
118
|
+
return !((_buttonElementRef$cur2 = buttonElementRef.current) !== null && _buttonElementRef$cur2 !== void 0 && _buttonElementRef$cur2.contains(event.target)) && !((_menuElementRef$curre = menuElementRef.current) !== null && _menuElementRef$curre !== void 0 && _menuElementRef$curre.contains(event.target));
|
|
110
119
|
},
|
|
111
120
|
// fixme if clicking on a focusable element, don't move focus to menu button
|
|
112
121
|
handle: function handle(event) {
|
|
@@ -170,39 +179,48 @@ function Menu(props) {
|
|
|
170
179
|
if (disabled) return;
|
|
171
180
|
openMenu(event);
|
|
172
181
|
}, [open, disabled, openMenu]);
|
|
173
|
-
var buttonEventHandlers = {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
var buttonEventHandlers = (0, _react.useMemo)(function () {
|
|
183
|
+
var buttonEventHandlers = {
|
|
184
|
+
onKeyDown: handleButtonKeydown
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Bind event of trigger,
|
|
188
|
+
* not used in in the expanded state of '<Sidenav>'
|
|
189
|
+
*/
|
|
190
|
+
|
|
191
|
+
if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('click')) {
|
|
192
|
+
buttonEventHandlers.onClick = handleButtonClick;
|
|
193
|
+
}
|
|
184
194
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
195
|
+
if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('contextmenu')) {
|
|
196
|
+
buttonEventHandlers.onContextMenu = handleButtonContextMenu;
|
|
197
|
+
}
|
|
188
198
|
|
|
199
|
+
return buttonEventHandlers;
|
|
200
|
+
}, [openMenuOn, handleButtonKeydown, handleButtonClick, handleButtonContextMenu]);
|
|
189
201
|
var buttonId = (0, _useUniqueId.default)('menubutton-');
|
|
190
|
-
var menuId = (0, _useUniqueId.default)('menu-');
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
202
|
+
var menuId = (0, _useUniqueId.default)('menu-');
|
|
203
|
+
var buttonAriaAttributes = (0, _react.useMemo)(function () {
|
|
204
|
+
// Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-14
|
|
205
|
+
return {
|
|
206
|
+
role: 'button',
|
|
207
|
+
'aria-haspopup': 'menu',
|
|
208
|
+
'aria-expanded': open || undefined,
|
|
209
|
+
// it's recommend to remove aria-expanded when menu is hidden
|
|
210
|
+
'aria-controls': menuId
|
|
211
|
+
};
|
|
212
|
+
}, [open, menuId]);
|
|
213
|
+
var buttonProps = (0, _react.useMemo)(function () {
|
|
214
|
+
return (0, _extends2.default)({
|
|
215
|
+
id: buttonId
|
|
216
|
+
}, buttonAriaAttributes, buttonEventHandlers, {
|
|
217
|
+
// render props
|
|
218
|
+
open: open
|
|
219
|
+
});
|
|
220
|
+
}, [buttonId, buttonAriaAttributes, buttonEventHandlers, open]);
|
|
221
|
+
var customMenuButton = (0, _react.useMemo)(function () {
|
|
222
|
+
return renderMenuButton === null || renderMenuButton === void 0 ? void 0 : renderMenuButton(buttonProps, buttonElementRef);
|
|
223
|
+
}, [renderMenuButton, buttonProps, buttonElementRef]);
|
|
206
224
|
var buttonElement = customMenuButton !== null && customMenuButton !== void 0 ? customMenuButton : /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({
|
|
207
225
|
ref: buttonElementRef
|
|
208
226
|
}, buttonProps), menuButtonText);
|
|
@@ -336,7 +354,8 @@ function Menu(props) {
|
|
|
336
354
|
});
|
|
337
355
|
var customMenuPopup = renderMenuPopup === null || renderMenuPopup === void 0 ? void 0 : renderMenuPopup((0, _extends2.default)({}, menuProps, {
|
|
338
356
|
open: open
|
|
339
|
-
}), menuElementRef);
|
|
357
|
+
}), menuElementRef); // fixme Wrong children here
|
|
358
|
+
|
|
340
359
|
var menuElement = customMenuPopup !== null && customMenuPopup !== void 0 ? customMenuPopup : /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
|
|
341
360
|
ref: menuElementRef
|
|
342
361
|
}, menuProps, {
|
|
@@ -352,7 +371,7 @@ function Menu(props) {
|
|
|
352
371
|
closeMenu(e);
|
|
353
372
|
}
|
|
354
373
|
}, [disabled, closeMenu]);
|
|
355
|
-
var rootElementRef = (0, _react.useRef)();
|
|
374
|
+
var rootElementRef = (0, _react.useRef)(null);
|
|
356
375
|
var handleContainerBlur = (0, _react.useCallback)(function (event) {
|
|
357
376
|
if ((0, _events.isFocusLeaving)(event)) {
|
|
358
377
|
closeMenu(event, false);
|
package/cjs/Menu/MenuItem.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface MenuItemProps {
|
|
|
8
8
|
/** Render prop */
|
|
9
9
|
children: (menuitem: React.LiHTMLAttributes<HTMLLIElement> & MenuitemRenderProps, ref: React.Ref<HTMLLIElement>) => React.ReactElement;
|
|
10
10
|
/** Callback when menuitem is being activated */
|
|
11
|
-
onActivate?:
|
|
11
|
+
onActivate?: React.MouseEventHandler;
|
|
12
12
|
}
|
|
13
13
|
export interface MenuitemRenderProps {
|
|
14
14
|
selected: boolean;
|
package/cjs/Menu/MenuItem.js
CHANGED
|
@@ -11,6 +11,8 @@ var _react = require("react");
|
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
14
|
+
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
15
|
+
|
|
14
16
|
var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
|
|
15
17
|
|
|
16
18
|
var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
|
|
@@ -19,22 +21,24 @@ var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
|
|
|
19
21
|
* Headless ARIA `menuitem`
|
|
20
22
|
*/
|
|
21
23
|
function MenuItem(props) {
|
|
22
|
-
var _menuState$items$menu;
|
|
23
|
-
|
|
24
24
|
var children = props.children,
|
|
25
|
-
selected = props.selected,
|
|
26
|
-
|
|
25
|
+
_props$selected = props.selected,
|
|
26
|
+
selected = _props$selected === void 0 ? false : _props$selected,
|
|
27
|
+
_props$disabled = props.disabled,
|
|
28
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
27
29
|
onActivate = props.onActivate;
|
|
28
|
-
var menuitemRef = (0, _react.useRef)();
|
|
30
|
+
var menuitemRef = (0, _react.useRef)(null);
|
|
29
31
|
var menuitemId = (0, _useUniqueId.default)('menuitem-');
|
|
30
|
-
var menu = (0, _react.useContext)(_MenuContext.default);
|
|
32
|
+
var menu = (0, _react.useContext)(_MenuContext.default);
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
if (!menu) {
|
|
35
|
+
throw new Error('<MenuItem> must be rendered within a <Menu>');
|
|
36
|
+
}
|
|
35
37
|
|
|
38
|
+
var menuState = menu[0],
|
|
39
|
+
dispatch = menu[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)
|
|
36
40
|
|
|
37
|
-
var hasFocus = (
|
|
41
|
+
var hasFocus = !(0, _isNil.default)(menuitemRef.current) && !(0, _isNil.default)(menuState.activeItemIndex) && menuState.items[menuState.activeItemIndex].element === menuitemRef.current;
|
|
38
42
|
var handleClick = (0, _react.useCallback)(function (event) {
|
|
39
43
|
if (disabled) {
|
|
40
44
|
return;
|
|
@@ -44,20 +48,24 @@ function MenuItem(props) {
|
|
|
44
48
|
}, [disabled, onActivate]); // Gain/release focus on mousedown in `menubar`
|
|
45
49
|
|
|
46
50
|
var handleMouseDown = (0, _react.useCallback)(function () {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {
|
|
52
|
+
dispatch({
|
|
53
|
+
type: _MenuContext.MenuActionTypes.MoveFocus,
|
|
54
|
+
to: _MenuContext.MoveFocusTo.Specific,
|
|
55
|
+
id: menuitemRef.current.id
|
|
56
|
+
});
|
|
57
|
+
}
|
|
52
58
|
}, [dispatch]); // Gain/release focus on mouseenter/mouseleave in `menu`
|
|
53
59
|
|
|
54
60
|
var handleMouseMove = (0, _react.useCallback)(function () {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {
|
|
62
|
+
dispatch({
|
|
63
|
+
type: _MenuContext.MenuActionTypes.MoveFocus,
|
|
64
|
+
to: _MenuContext.MoveFocusTo.Specific,
|
|
65
|
+
id: menuitemRef.current.id
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}, [hasFocus, dispatch]);
|
|
61
69
|
var handleMouseLeave = (0, _react.useCallback)(function () {
|
|
62
70
|
dispatch({
|
|
63
71
|
type: _MenuContext.MenuActionTypes.MoveFocus,
|
|
@@ -66,7 +74,7 @@ function MenuItem(props) {
|
|
|
66
74
|
}, [dispatch]);
|
|
67
75
|
(0, _react.useEffect)(function () {
|
|
68
76
|
var menuitemElement = menuitemRef.current;
|
|
69
|
-
dispatch
|
|
77
|
+
dispatch({
|
|
70
78
|
type: _MenuContext.MenuActionTypes.RegisterItem,
|
|
71
79
|
element: menuitemElement,
|
|
72
80
|
props: {
|
|
@@ -74,7 +82,7 @@ function MenuItem(props) {
|
|
|
74
82
|
}
|
|
75
83
|
});
|
|
76
84
|
return function () {
|
|
77
|
-
dispatch
|
|
85
|
+
dispatch({
|
|
78
86
|
type: _MenuContext.MenuActionTypes.UnregisterItem,
|
|
79
87
|
id: menuitemElement.id
|
|
80
88
|
});
|
package/cjs/Menu/Menubar.js
CHANGED
|
@@ -9,6 +9,8 @@ exports.default = Menubar;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
+
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
13
|
+
|
|
12
14
|
var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
|
|
13
15
|
|
|
14
16
|
var _utils = require("../utils");
|
|
@@ -19,8 +21,6 @@ var _useMenu = _interopRequireDefault(require("./useMenu"));
|
|
|
19
21
|
|
|
20
22
|
// Headless ARIA `menubar`
|
|
21
23
|
function Menubar(_ref) {
|
|
22
|
-
var _items$activeItemInde;
|
|
23
|
-
|
|
24
24
|
var _ref$vertical = _ref.vertical,
|
|
25
25
|
vertical = _ref$vertical === void 0 ? false : _ref$vertical,
|
|
26
26
|
children = _ref.children,
|
|
@@ -32,7 +32,7 @@ function Menubar(_ref) {
|
|
|
32
32
|
items = _menubar$.items,
|
|
33
33
|
activeItemIndex = _menubar$.activeItemIndex,
|
|
34
34
|
dispatch = menubar[1];
|
|
35
|
-
var menubarElementRef = (0, _react.useRef)();
|
|
35
|
+
var menubarElementRef = (0, _react.useRef)(null);
|
|
36
36
|
var onFocus = (0, _react.useCallback)(function (event) {
|
|
37
37
|
// Focus moves inside Menubar
|
|
38
38
|
if ((0, _events.isFocusEntering)(event)) {
|
|
@@ -58,7 +58,7 @@ function Menubar(_ref) {
|
|
|
58
58
|
rtl = _useCustom.rtl;
|
|
59
59
|
|
|
60
60
|
var onKeyDown = (0, _react.useCallback)(function (event) {
|
|
61
|
-
var
|
|
61
|
+
var activeItemElement = (0, _isNil.default)(activeItemIndex) ? null : items[activeItemIndex].element;
|
|
62
62
|
|
|
63
63
|
switch (true) {
|
|
64
64
|
case !vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:
|
|
@@ -104,10 +104,10 @@ function Menubar(_ref) {
|
|
|
104
104
|
case !vertical && event.key === _utils.KEY_VALUES.DOWN:
|
|
105
105
|
case vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:
|
|
106
106
|
case vertical && rtl && event.key === _utils.KEY_VALUES.LEFT:
|
|
107
|
-
if ((
|
|
107
|
+
if ((activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.getAttribute('aria-haspopup')) === 'menu') {
|
|
108
108
|
event.preventDefault();
|
|
109
109
|
event.stopPropagation();
|
|
110
|
-
|
|
110
|
+
activeItemElement.click();
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
break;
|
|
@@ -116,7 +116,7 @@ function Menubar(_ref) {
|
|
|
116
116
|
case event.key === _utils.KEY_VALUES.SPACE:
|
|
117
117
|
event.preventDefault();
|
|
118
118
|
event.stopPropagation();
|
|
119
|
-
|
|
119
|
+
activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.click();
|
|
120
120
|
break;
|
|
121
121
|
}
|
|
122
122
|
}, [rtl, items, activeItemIndex, dispatch, vertical]); // Only used for handling click events bubbling from children
|
|
@@ -138,7 +138,7 @@ function Menubar(_ref) {
|
|
|
138
138
|
onBlur: onBlur,
|
|
139
139
|
onKeyDown: onKeyDown,
|
|
140
140
|
onClick: onClick,
|
|
141
|
-
'aria-activedescendant': (
|
|
141
|
+
'aria-activedescendant': (0, _isNil.default)(activeItemIndex) ? undefined : items[activeItemIndex].element.id,
|
|
142
142
|
'aria-orientation': vertical ? 'vertical' : undefined // implicitly set 'horizontal'
|
|
143
143
|
|
|
144
144
|
}, menubarElementRef));
|
package/cjs/Menu/useMenu.js
CHANGED
|
@@ -57,8 +57,10 @@ function menuReducer(state, action) {
|
|
|
57
57
|
|
|
58
58
|
switch (action.to) {
|
|
59
59
|
case _MenuContext.MoveFocusTo.Next:
|
|
60
|
-
for (var i =
|
|
61
|
-
|
|
60
|
+
for (var i = activeItemIndex === null ? 0 : activeItemIndex + 1; i < items.length; i++) {
|
|
61
|
+
var _items$i$props;
|
|
62
|
+
|
|
63
|
+
if (!((_items$i$props = items[i].props) !== null && _items$i$props !== void 0 && _items$i$props.disabled)) {
|
|
62
64
|
nextActiveItemIndex = i;
|
|
63
65
|
break;
|
|
64
66
|
}
|
|
@@ -67,8 +69,10 @@ function menuReducer(state, action) {
|
|
|
67
69
|
break;
|
|
68
70
|
|
|
69
71
|
case _MenuContext.MoveFocusTo.Prev:
|
|
70
|
-
for (var _i =
|
|
71
|
-
|
|
72
|
+
for (var _i = activeItemIndex === null ? items.length - 1 : activeItemIndex - 1; _i >= 0; _i--) {
|
|
73
|
+
var _items$_i$props;
|
|
74
|
+
|
|
75
|
+
if (!((_items$_i$props = items[_i].props) !== null && _items$_i$props !== void 0 && _items$_i$props.disabled)) {
|
|
72
76
|
nextActiveItemIndex = _i;
|
|
73
77
|
break;
|
|
74
78
|
}
|
|
@@ -78,7 +82,9 @@ function menuReducer(state, action) {
|
|
|
78
82
|
|
|
79
83
|
case _MenuContext.MoveFocusTo.First:
|
|
80
84
|
for (var _i2 = 0; _i2 < items.length; _i2++) {
|
|
81
|
-
|
|
85
|
+
var _items$_i2$props;
|
|
86
|
+
|
|
87
|
+
if (!((_items$_i2$props = items[_i2].props) !== null && _items$_i2$props !== void 0 && _items$_i2$props.disabled)) {
|
|
82
88
|
nextActiveItemIndex = _i2;
|
|
83
89
|
break;
|
|
84
90
|
}
|
|
@@ -88,7 +94,9 @@ function menuReducer(state, action) {
|
|
|
88
94
|
|
|
89
95
|
case _MenuContext.MoveFocusTo.Last:
|
|
90
96
|
for (var _i3 = items.length - 1; _i3 >= 0; _i3--) {
|
|
91
|
-
|
|
97
|
+
var _items$_i3$props;
|
|
98
|
+
|
|
99
|
+
if (!((_items$_i3$props = items[_i3].props) !== null && _items$_i3$props !== void 0 && _items$_i3$props.disabled)) {
|
|
92
100
|
nextActiveItemIndex = _i3;
|
|
93
101
|
break;
|
|
94
102
|
}
|
|
@@ -98,7 +106,9 @@ function menuReducer(state, action) {
|
|
|
98
106
|
|
|
99
107
|
case _MenuContext.MoveFocusTo.Specific:
|
|
100
108
|
for (var _i4 = 0; _i4 < items.length; _i4++) {
|
|
101
|
-
|
|
109
|
+
var _items$_i4$props;
|
|
110
|
+
|
|
111
|
+
if (items[_i4].element.id === action.id && !((_items$_i4$props = items[_i4].props) !== null && _items$_i4$props !== void 0 && _items$_i4$props.disabled)) {
|
|
102
112
|
nextActiveItemIndex = _i4;
|
|
103
113
|
break;
|
|
104
114
|
}
|
package/cjs/Modal/Modal.js
CHANGED
|
@@ -21,7 +21,7 @@ var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
|
21
21
|
|
|
22
22
|
var _on = _interopRequireDefault(require("dom-lib/on"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _getAnimationEnd = _interopRequireDefault(require("dom-lib/getAnimationEnd"));
|
|
25
25
|
|
|
26
26
|
var _Modal = _interopRequireWildcard(require("../Overlay/Modal"));
|
|
27
27
|
|
|
@@ -70,7 +70,8 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
70
70
|
animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,
|
|
71
71
|
_props$overflow = props.overflow,
|
|
72
72
|
overflow = _props$overflow === void 0 ? true : _props$overflow,
|
|
73
|
-
drawer = props.drawer,
|
|
73
|
+
_props$drawer = props.drawer,
|
|
74
|
+
drawer = _props$drawer === void 0 ? false : _props$drawer,
|
|
74
75
|
onClose = props.onClose,
|
|
75
76
|
onEntered = props.onEntered,
|
|
76
77
|
onEntering = props.onEntering,
|
|
@@ -92,7 +93,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
92
93
|
var classes = merge(className, prefix(size, {
|
|
93
94
|
full: full
|
|
94
95
|
}));
|
|
95
|
-
var dialogRef = (0, _react.useRef)();
|
|
96
|
+
var dialogRef = (0, _react.useRef)(null);
|
|
96
97
|
var transitionEndListener = (0, _react.useRef)(); // The style of the Modal body will be updated with the size of the window or container.
|
|
97
98
|
|
|
98
99
|
var _useBodyStyles = (0, _utils2.useBodyStyles)(dialogRef, {
|
|
@@ -124,9 +125,13 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
124
125
|
// When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.
|
|
125
126
|
if (backdrop === 'static') {
|
|
126
127
|
setShake(true);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
|
|
129
|
+
if (!transitionEndListener.current && dialogRef.current) {
|
|
130
|
+
//fix: https://github.com/rsuite/rsuite/blob/a93d13c14fb20cc58204babe3331d3c3da3fe1fd/src/Modal/styles/index.less#L59
|
|
131
|
+
transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getAnimationEnd.default)(), function () {
|
|
132
|
+
setShake(false);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
130
135
|
}
|
|
131
136
|
}, [backdrop]);
|
|
132
137
|
var handleExited = (0, _react.useCallback)(function (node) {
|
|
@@ -135,6 +140,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
135
140
|
onExited === null || onExited === void 0 ? void 0 : onExited(node);
|
|
136
141
|
onDestroyEvents();
|
|
137
142
|
(_transitionEndListene = transitionEndListener.current) === null || _transitionEndListene === void 0 ? void 0 : _transitionEndListene.off();
|
|
143
|
+
transitionEndListener.current = null;
|
|
138
144
|
}, [onDestroyEvents, onExited]);
|
|
139
145
|
var handleEntered = (0, _react.useCallback)(function (node) {
|
|
140
146
|
onEntered === null || onEntered === void 0 ? void 0 : onEntered(node);
|
|
@@ -3,10 +3,10 @@ export interface ModalContextProps {
|
|
|
3
3
|
/** ID of the dialog element */
|
|
4
4
|
dialogId: string;
|
|
5
5
|
/** Pass the close event callback to the header close button. */
|
|
6
|
-
onModalClose
|
|
6
|
+
onModalClose?: (event: React.MouseEvent<Element, MouseEvent>) => void;
|
|
7
7
|
/** Pass the latest style to body. */
|
|
8
8
|
getBodyStyles?: () => React.CSSProperties;
|
|
9
9
|
/** Whether this Modal is a Drawer */
|
|
10
10
|
isDrawer: boolean;
|
|
11
11
|
}
|
|
12
|
-
export declare const ModalContext: React.Context<ModalContextProps>;
|
|
12
|
+
export declare const ModalContext: React.Context<ModalContextProps | null>;
|
package/cjs/Modal/utils.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export declare const useBodyStyles: (ref: React.RefObject<HTMLElement>, options:
|
|
|
3
3
|
overflow: boolean;
|
|
4
4
|
drawer: boolean;
|
|
5
5
|
prefix: (...classes: any) => string;
|
|
6
|
-
}) => [import("react").CSSProperties, (entering?: boolean) => void, () => void];
|
|
6
|
+
}) => [import("react").CSSProperties, (entering?: boolean | undefined) => void, () => void];
|
package/cjs/Modal/utils.js
CHANGED
|
@@ -22,7 +22,7 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
22
22
|
drawer = options.drawer,
|
|
23
23
|
prefix = options.prefix;
|
|
24
24
|
var windowResizeListener = (0, _react.useRef)();
|
|
25
|
-
var contentElement = (0, _react.useRef)();
|
|
25
|
+
var contentElement = (0, _react.useRef)(null);
|
|
26
26
|
var contentElementResizeObserver = (0, _react.useRef)();
|
|
27
27
|
var updateBodyStyles = (0, _react.useCallback)(function (_event, entering) {
|
|
28
28
|
var dialog = ref.current;
|
|
@@ -59,10 +59,8 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
59
59
|
}, []);
|
|
60
60
|
var onChangeBodyStyles = (0, _react.useCallback)(function (entering) {
|
|
61
61
|
if (overflow && !drawer) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
updateBodyStyles(null, entering);
|
|
65
|
-
contentElement.current = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector("." + prefix('content'));
|
|
62
|
+
updateBodyStyles(undefined, entering);
|
|
63
|
+
contentElement.current = ref.current.querySelector("." + prefix('content'));
|
|
66
64
|
windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);
|
|
67
65
|
contentElementResizeObserver.current = new _resizeObserver.ResizeObserver(function () {
|
|
68
66
|
return updateBodyStyles();
|
|
@@ -3,15 +3,15 @@ import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/c
|
|
|
3
3
|
import { ValueType } from './MultiCascader';
|
|
4
4
|
export interface DropdownMenuProps extends WithAsProps {
|
|
5
5
|
disabledItemValues: ValueType;
|
|
6
|
-
value
|
|
6
|
+
value: ValueType;
|
|
7
7
|
childrenKey: string;
|
|
8
8
|
valueKey: string;
|
|
9
9
|
labelKey: string;
|
|
10
|
-
menuWidth
|
|
11
|
-
menuHeight
|
|
10
|
+
menuWidth?: number;
|
|
11
|
+
menuHeight?: number | string;
|
|
12
12
|
cascade?: boolean;
|
|
13
13
|
cascadeData: ItemDataType[][];
|
|
14
|
-
cascadePaths
|
|
14
|
+
cascadePaths?: ItemDataType[];
|
|
15
15
|
uncheckableItemValues: ValueType;
|
|
16
16
|
renderMenuItem?: (itemLabel: React.MouseEventHandler, item: ItemDataType) => React.ReactNode;
|
|
17
17
|
renderMenu?: (children: ItemDataType[], menu: React.ReactNode, parentNode?: ItemDataType, layer?: number) => React.ReactNode;
|
|
@@ -137,10 +137,10 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
137
137
|
selectedPaths = _useState2[0],
|
|
138
138
|
setSelectedPaths = _useState2[1];
|
|
139
139
|
|
|
140
|
-
var triggerRef = (0, _react.useRef)();
|
|
141
|
-
var overlayRef = (0, _react.useRef)();
|
|
142
|
-
var targetRef = (0, _react.useRef)();
|
|
143
|
-
var searchInputRef = (0, _react.useRef)();
|
|
140
|
+
var triggerRef = (0, _react.useRef)(null);
|
|
141
|
+
var overlayRef = (0, _react.useRef)(null);
|
|
142
|
+
var targetRef = (0, _react.useRef)(null);
|
|
143
|
+
var searchInputRef = (0, _react.useRef)(null);
|
|
144
144
|
(0, _Picker.usePublicMethods)(ref, {
|
|
145
145
|
triggerRef: triggerRef,
|
|
146
146
|
overlayRef: overlayRef,
|
|
@@ -188,7 +188,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
188
188
|
*/
|
|
189
189
|
|
|
190
190
|
|
|
191
|
-
var hasValue = selectedItems.length > 0 || (valueProp === null || valueProp === void 0 ? void 0 : valueProp.length) > 0 && (0, _isFunction.default)(renderValue);
|
|
191
|
+
var hasValue = selectedItems.length > 0 || Number(valueProp === null || valueProp === void 0 ? void 0 : valueProp.length) > 0 && (0, _isFunction.default)(renderValue);
|
|
192
192
|
|
|
193
193
|
var _useClassNames = (0, _utils3.useClassNames)(classPrefix),
|
|
194
194
|
prefix = _useClassNames.prefix,
|
|
@@ -469,7 +469,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
469
469
|
}
|
|
470
470
|
|
|
471
471
|
if (hasValue && (0, _isFunction.default)(renderValue)) {
|
|
472
|
-
selectedElement = renderValue(value.length ? value : valueProp, selectedItems, selectedElement); // If renderValue returns null or undefined, hasValue is false.
|
|
472
|
+
selectedElement = renderValue(value.length ? value : valueProp !== null && valueProp !== void 0 ? valueProp : [], selectedItems, selectedElement); // If renderValue returns null or undefined, hasValue is false.
|
|
473
473
|
|
|
474
474
|
if ((0, _isNil.default)(selectedElement)) {
|
|
475
475
|
hasValue = false;
|
|
@@ -5,50 +5,50 @@ export interface ItemType extends ItemDataType {
|
|
|
5
5
|
parent?: ItemType;
|
|
6
6
|
}
|
|
7
7
|
interface ItemKeys {
|
|
8
|
-
valueKey
|
|
9
|
-
labelKey
|
|
10
|
-
childrenKey
|
|
8
|
+
valueKey: string;
|
|
9
|
+
labelKey: string;
|
|
10
|
+
childrenKey: string;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Get all parents of a node
|
|
14
14
|
* @param node
|
|
15
15
|
*/
|
|
16
|
-
export declare const getParents: (node: ItemType) =>
|
|
16
|
+
export declare const getParents: (node: ItemType) => ItemType[];
|
|
17
17
|
/**
|
|
18
18
|
* Check if any child nodes are selected.
|
|
19
19
|
* @param node
|
|
20
20
|
* @param value
|
|
21
21
|
* @param itemKeys
|
|
22
22
|
*/
|
|
23
|
-
export declare const isSomeChildChecked: (node: ItemDataType, value: ValueType, itemKeys: ItemKeys) => any;
|
|
23
|
+
export declare const isSomeChildChecked: (node: ItemDataType, value: ValueType, itemKeys: Omit<ItemKeys, 'labelKey'>) => any;
|
|
24
24
|
/**
|
|
25
25
|
* Check if the parent is selected.
|
|
26
26
|
* @param node
|
|
27
27
|
* @param value
|
|
28
28
|
* @param itemKeys
|
|
29
29
|
*/
|
|
30
|
-
export declare const isSomeParentChecked: (node: ItemDataType, value: ValueType, itemKeys: ItemKeys) => any;
|
|
31
|
-
export declare const getOtherItemValuesByUnselectChild: (itemNode: ItemType, value: any, itemKeys: ItemKeys) =>
|
|
30
|
+
export declare const isSomeParentChecked: (node: ItemDataType, value: ValueType, itemKeys: Pick<ItemKeys, 'valueKey'>) => any;
|
|
31
|
+
export declare const getOtherItemValuesByUnselectChild: <T>(itemNode: ItemType, value: any, itemKeys: Omit<ItemKeys, 'labelKey'>) => T[];
|
|
32
32
|
/**
|
|
33
33
|
* Remove the values of all children.
|
|
34
34
|
*/
|
|
35
|
-
export declare const removeAllChildrenValue: (value:
|
|
35
|
+
export declare const removeAllChildrenValue: <T>(value: T[], item: ItemType, itemKeys: Omit<ItemKeys, 'labelKey'>) => T[] | undefined;
|
|
36
36
|
/**
|
|
37
37
|
* A hook to flatten tree structure data
|
|
38
38
|
* @param data
|
|
39
39
|
*/
|
|
40
40
|
export declare function useFlattenData(data: ItemDataType[], itemKeys: ItemKeys): {
|
|
41
41
|
addFlattenData: (children: ItemDataType[], parent: ItemDataType) => void;
|
|
42
|
-
flattenData: ItemDataType[];
|
|
42
|
+
flattenData: ItemDataType<string | number>[];
|
|
43
43
|
};
|
|
44
44
|
/**
|
|
45
45
|
* A hook for column data
|
|
46
46
|
* @param flattenData
|
|
47
47
|
*/
|
|
48
48
|
export declare function useColumnData(flattenData: ItemType[]): {
|
|
49
|
-
columnData: ItemDataType[][];
|
|
49
|
+
columnData: ItemDataType<string | number>[][];
|
|
50
50
|
addColumn: (column: ItemDataType[], index: number) => void;
|
|
51
|
-
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType[][]>>;
|
|
51
|
+
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[][]>>;
|
|
52
52
|
enforceUpdateColumnData: (nextData: ItemDataType[]) => void;
|
|
53
53
|
};
|
|
54
54
|
/**
|
|
@@ -56,12 +56,12 @@ export declare function useColumnData(flattenData: ItemType[]): {
|
|
|
56
56
|
* @param props
|
|
57
57
|
* @param flattenData
|
|
58
58
|
*/
|
|
59
|
-
export declare function useCascadeValue(props: Partial<MultiCascaderProps
|
|
60
|
-
value:
|
|
61
|
-
setValue: import("react").Dispatch<import("react").SetStateAction<
|
|
62
|
-
splitValue: (item: ItemType, checked: boolean, value:
|
|
63
|
-
value:
|
|
64
|
-
removedValue:
|
|
59
|
+
export declare function useCascadeValue<T>(props: Partial<MultiCascaderProps<T[]>> & ItemKeys, flattenData: ItemType[]): {
|
|
60
|
+
value: T[];
|
|
61
|
+
setValue: import("react").Dispatch<import("react").SetStateAction<T[]>>;
|
|
62
|
+
splitValue: (item: ItemType, checked: boolean, value: T[]) => {
|
|
63
|
+
value: T[];
|
|
64
|
+
removedValue: T[];
|
|
65
65
|
};
|
|
66
66
|
};
|
|
67
67
|
export {};
|