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
|
@@ -2,16 +2,17 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
4
4
|
import { ValueType } from './Cascader';
|
|
5
|
-
export interface DropdownMenuProps extends WithAsProps {
|
|
5
|
+
export interface DropdownMenuProps extends Omit<WithAsProps, 'classPrefix'> {
|
|
6
|
+
classPrefix: string;
|
|
6
7
|
disabledItemValues: ValueType[];
|
|
7
|
-
activeItemValue?: ValueType;
|
|
8
|
+
activeItemValue?: ValueType | null;
|
|
8
9
|
childrenKey: string;
|
|
9
10
|
cascadeData: ItemDataType[][];
|
|
10
11
|
cascadePaths: ItemDataType[];
|
|
11
12
|
valueKey: string;
|
|
12
13
|
labelKey: string;
|
|
13
|
-
menuWidth
|
|
14
|
-
menuHeight
|
|
14
|
+
menuWidth?: number;
|
|
15
|
+
menuHeight?: number | string;
|
|
15
16
|
renderMenuItem?: (itemLabel: React.ReactNode, item: ItemDataType) => React.ReactNode;
|
|
16
17
|
renderMenu?: (items: ItemDataType[], menu: React.ReactNode, parentNode?: ItemDataType, layer?: number) => React.ReactNode;
|
|
17
18
|
onSelect?: (node: ItemDataType, cascadePaths: ItemDataType[], isLeafNode: boolean, event: React.MouseEvent) => void;
|
package/esm/Cascader/utils.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CascaderProps } from './Cascader';
|
|
3
3
|
import { ItemDataType } from '../@types/common';
|
|
4
|
-
export declare function getColumnsAndPaths(data:
|
|
5
|
-
columns: ItemDataType[][];
|
|
6
|
-
paths:
|
|
4
|
+
export declare function getColumnsAndPaths<T extends ItemDataType>(data: T[], value: any, options: any): {
|
|
5
|
+
columns: ItemDataType<string | number>[][];
|
|
6
|
+
paths: T[];
|
|
7
7
|
};
|
|
8
8
|
export declare function usePaths(props: CascaderProps): {
|
|
9
|
-
enforceUpdate: (nextValue: any, isAttachChildren?: boolean) => void;
|
|
10
|
-
columnData: ItemDataType[][];
|
|
11
|
-
valueToPaths: ItemDataType[];
|
|
12
|
-
selectedPaths: ItemDataType[];
|
|
13
|
-
setValueToPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType[]>>;
|
|
14
|
-
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType[][]>>;
|
|
15
|
-
setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType[]>>;
|
|
9
|
+
enforceUpdate: (nextValue: any, isAttachChildren?: boolean | undefined) => void;
|
|
10
|
+
columnData: ItemDataType<string | number>[][];
|
|
11
|
+
valueToPaths: ItemDataType<string | number>[];
|
|
12
|
+
selectedPaths: ItemDataType<string | number>[];
|
|
13
|
+
setValueToPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
|
|
14
|
+
setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[][]>>;
|
|
15
|
+
setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
|
|
16
16
|
addColumn: (column: ItemDataType[], index: number) => void;
|
|
17
17
|
};
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { PickerLocale } from '../locales';
|
|
2
|
-
import { PickerComponent } from '../Picker';
|
|
3
3
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
4
|
-
import {
|
|
4
|
+
import type { MultipleSelectProps } from '../SelectPicker';
|
|
5
5
|
export declare type ValueType = (number | string)[];
|
|
6
|
-
export interface CheckPickerProps<T
|
|
6
|
+
export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>>, MultipleSelectProps<T> {
|
|
7
7
|
/** Top the selected option in the options */
|
|
8
8
|
sticky?: boolean;
|
|
9
9
|
/** A picker that can be counted */
|
|
10
10
|
countable?: boolean;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
export interface CheckPickerComponent {
|
|
13
|
+
<T>(props: CheckPickerProps<T>): JSX.Element | null;
|
|
14
|
+
displayName?: string;
|
|
15
|
+
propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
|
|
16
|
+
}
|
|
17
|
+
declare const CheckPicker: CheckPickerComponent;
|
|
13
18
|
export default CheckPicker;
|
|
@@ -77,10 +77,10 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
77
77
|
onOpen = props.onOpen,
|
|
78
78
|
rest = _objectWithoutPropertiesLoose(props, ["as", "appearance", "classPrefix", "countable", "data", "disabledItemValues", "valueKey", "labelKey", "searchable", "virtualized", "cleanable", "placement", "menuAutoWidth", "menuMaxHeight", "menuClassName", "menuStyle", "locale", "placeholder", "disabled", "toggleAs", "style", "sticky", "value", "defaultValue", "groupBy", "listProps", "id", "sort", "searchBy", "renderMenuItem", "renderMenuGroup", "renderValue", "renderExtraFooter", "renderMenu", "onGroupTitleClick", "onSearch", "onEnter", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onClose", "onOpen"]);
|
|
79
79
|
|
|
80
|
-
var triggerRef = useRef();
|
|
81
|
-
var targetRef = useRef();
|
|
82
|
-
var overlayRef = useRef();
|
|
83
|
-
var searchInputRef = useRef();
|
|
80
|
+
var triggerRef = useRef(null);
|
|
81
|
+
var targetRef = useRef(null);
|
|
82
|
+
var overlayRef = useRef(null);
|
|
83
|
+
var searchInputRef = useRef(null);
|
|
84
84
|
|
|
85
85
|
var _useCustom = useCustom('Picker', overrideLocale),
|
|
86
86
|
locale = _useCustom.locale;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { expectType } from 'ts-expect';
|
|
3
|
+
import CheckPicker from '../CheckPicker'; // Infer value and onChange types from data
|
|
4
|
+
|
|
5
|
+
var numberValuedData = [{
|
|
6
|
+
label: 'One',
|
|
7
|
+
value: 1
|
|
8
|
+
}];
|
|
9
|
+
|
|
10
|
+
/*#__PURE__*/
|
|
11
|
+
React.createElement(CheckPicker, {
|
|
12
|
+
data: numberValuedData,
|
|
13
|
+
value: [1]
|
|
14
|
+
}); // @ts-expect-error should not accept single value
|
|
15
|
+
|
|
16
|
+
/*#__PURE__*/
|
|
17
|
+
React.createElement(CheckPicker, {
|
|
18
|
+
data: numberValuedData,
|
|
19
|
+
value: 1
|
|
20
|
+
}); // @ts-expect-error should not accept string value
|
|
21
|
+
|
|
22
|
+
/*#__PURE__*/
|
|
23
|
+
React.createElement(CheckPicker, {
|
|
24
|
+
data: numberValuedData,
|
|
25
|
+
value: ['1']
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
/*#__PURE__*/
|
|
29
|
+
React.createElement(CheckPicker, {
|
|
30
|
+
data: numberValuedData,
|
|
31
|
+
onChange: function onChange(newValue) {
|
|
32
|
+
expectType(newValue);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
var stringValuedData = [{
|
|
36
|
+
label: 'One',
|
|
37
|
+
value: 'One'
|
|
38
|
+
}];
|
|
39
|
+
|
|
40
|
+
/*#__PURE__*/
|
|
41
|
+
React.createElement(CheckPicker, {
|
|
42
|
+
data: stringValuedData,
|
|
43
|
+
value: ['1']
|
|
44
|
+
}); // @ts-expect-error should not accept single value
|
|
45
|
+
|
|
46
|
+
/*#__PURE__*/
|
|
47
|
+
React.createElement(CheckPicker, {
|
|
48
|
+
data: numberValuedData,
|
|
49
|
+
value: "1"
|
|
50
|
+
}); // @ts-expect-error should not accept number value
|
|
51
|
+
|
|
52
|
+
/*#__PURE__*/
|
|
53
|
+
React.createElement(CheckPicker, {
|
|
54
|
+
data: stringValuedData,
|
|
55
|
+
value: [1]
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
/*#__PURE__*/
|
|
59
|
+
React.createElement(CheckPicker, {
|
|
60
|
+
data: stringValuedData,
|
|
61
|
+
onChange: function onChange(newValue) {
|
|
62
|
+
expectType(newValue);
|
|
63
|
+
}
|
|
64
|
+
});
|
package/esm/CheckTree/index.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import React
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import CheckTreePicker from '../CheckTreePicker';
|
|
4
4
|
import TreeContext from '../Tree/TreeContext';
|
|
5
5
|
var CheckTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
6
|
-
var dragNodeRef = useRef();
|
|
7
6
|
return /*#__PURE__*/React.createElement(TreeContext.Provider, {
|
|
8
7
|
value: {
|
|
9
|
-
inline: true
|
|
10
|
-
dragNodeRef: dragNodeRef
|
|
8
|
+
inline: true
|
|
11
9
|
}
|
|
12
10
|
}, /*#__PURE__*/React.createElement(CheckTreePicker, _extends({
|
|
13
11
|
ref: ref
|
|
@@ -5,10 +5,9 @@ import PropTypes from 'prop-types';
|
|
|
5
5
|
import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
|
|
6
6
|
import Spinner from '@rsuite/icons/legacy/Spinner';
|
|
7
7
|
import DropdownMenuCheckItem from '../Picker/DropdownMenuCheckItem';
|
|
8
|
-
import {
|
|
8
|
+
import { getTreeNodeIndent } from '../utils/treeUtils';
|
|
9
|
+
import { useClassNames, CHECK_STATE, reactToString } from '../utils';
|
|
9
10
|
var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
10
|
-
var _extends2;
|
|
11
|
-
|
|
12
11
|
var _ref$as = _ref.as,
|
|
13
12
|
Component = _ref$as === void 0 ? 'div' : _ref$as,
|
|
14
13
|
style = _ref.style,
|
|
@@ -133,11 +132,9 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
133
132
|
'all-uncheckable': !!allUncheckable,
|
|
134
133
|
'text-muted': disabled,
|
|
135
134
|
focus: focus
|
|
136
|
-
}));
|
|
137
|
-
|
|
138
|
-
var padding = (layer - 1) * TREE_NODE_PADDING + TREE_NODE_ROOT_PADDING;
|
|
135
|
+
}));
|
|
139
136
|
|
|
140
|
-
var styles = _extends({}, style, (
|
|
137
|
+
var styles = _extends({}, style, getTreeNodeIndent(rtl, layer - 1));
|
|
141
138
|
|
|
142
139
|
return visible ? /*#__PURE__*/React.createElement(Component, _extends({
|
|
143
140
|
role: "treeitem",
|
|
@@ -12,6 +12,7 @@ import classNames from 'classnames';
|
|
|
12
12
|
import { List, AutoSizer } from '../Picker/VirtualizedList';
|
|
13
13
|
import CheckTreeNode from './CheckTreeNode';
|
|
14
14
|
import TreeContext from '../Tree/TreeContext';
|
|
15
|
+
import { getTreeNodeIndent } from '../utils/treeUtils';
|
|
15
16
|
import { createChainedFunction, useCustom, useClassNames, useControlled, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
|
|
16
17
|
import { PickerToggle, onMenuKeyDown as _onMenuKeyDown, PickerOverlay, SearchBar, SelectedElement, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, usePublicMethods, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes, useToggleKeyDownEvent } from '../Picker';
|
|
17
18
|
import { isEveryChildChecked, isSomeNodeHasChildren, isAllSiblingNodeUncheckable, isEveryFirstLevelNodeUncheckable, getFormattedTree, getDisabledState, getCheckTreePickerDefaultValue, getSelectedItems, isNodeUncheckable } from './utils';
|
|
@@ -33,6 +34,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
33
34
|
searchBy = props.searchBy,
|
|
34
35
|
toggleAs = props.toggleAs,
|
|
35
36
|
searchKeyword = props.searchKeyword,
|
|
37
|
+
showIndentLine = props.showIndentLine,
|
|
36
38
|
overrideLocale = props.locale,
|
|
37
39
|
_props$cascade = props.cascade,
|
|
38
40
|
cascade = _props$cascade === void 0 ? true : _props$cascade,
|
|
@@ -86,17 +88,17 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
86
88
|
renderValue = props.renderValue,
|
|
87
89
|
renderTreeIcon = props.renderTreeIcon,
|
|
88
90
|
renderTreeNode = props.renderTreeNode,
|
|
89
|
-
rest = _objectWithoutPropertiesLoose(props, ["as", "data", "style", "appearance", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "listProps", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
|
|
91
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "data", "style", "appearance", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "showIndentLine", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "listProps", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
|
|
90
92
|
|
|
91
93
|
var _useContext = useContext(TreeContext),
|
|
92
94
|
inline = _useContext.inline;
|
|
93
95
|
|
|
94
|
-
var triggerRef = useRef();
|
|
95
|
-
var targetRef = useRef();
|
|
96
|
-
var listRef = useRef();
|
|
97
|
-
var overlayRef = useRef();
|
|
98
|
-
var searchInputRef = useRef();
|
|
99
|
-
var treeViewRef = useRef();
|
|
96
|
+
var triggerRef = useRef(null);
|
|
97
|
+
var targetRef = useRef(null);
|
|
98
|
+
var listRef = useRef(null);
|
|
99
|
+
var overlayRef = useRef(null);
|
|
100
|
+
var searchInputRef = useRef(null);
|
|
101
|
+
var treeViewRef = useRef(null);
|
|
100
102
|
|
|
101
103
|
var _useCustom = useCustom('Picker', overrideLocale),
|
|
102
104
|
rtl = _useCustom.rtl,
|
|
@@ -192,25 +194,21 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
192
194
|
|
|
193
195
|
|
|
194
196
|
var getFormattedNodes = useCallback(function (render) {
|
|
195
|
-
var formattedNodes = [];
|
|
196
|
-
|
|
197
197
|
if (virtualized) {
|
|
198
|
-
|
|
198
|
+
return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
|
|
199
199
|
cascade: cascade,
|
|
200
200
|
searchKeyword: searchKeywordState
|
|
201
201
|
}).filter(function (item) {
|
|
202
202
|
return item.visible;
|
|
203
203
|
});
|
|
204
|
-
} else {
|
|
205
|
-
formattedNodes = getFormattedTree(filteredData, flattenNodes, {
|
|
206
|
-
childrenKey: childrenKey,
|
|
207
|
-
cascade: cascade
|
|
208
|
-
}).map(function (node) {
|
|
209
|
-
return render === null || render === void 0 ? void 0 : render(node, 1);
|
|
210
|
-
});
|
|
211
204
|
}
|
|
212
205
|
|
|
213
|
-
return
|
|
206
|
+
return getFormattedTree(filteredData, flattenNodes, {
|
|
207
|
+
childrenKey: childrenKey,
|
|
208
|
+
cascade: cascade
|
|
209
|
+
}).map(function (node) {
|
|
210
|
+
return render === null || render === void 0 ? void 0 : render(node, 1);
|
|
211
|
+
});
|
|
214
212
|
}, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized, childrenKey, cascade]);
|
|
215
213
|
|
|
216
214
|
var getTreeNodeProps = function getTreeNodeProps(node, layer) {
|
|
@@ -406,10 +404,13 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
406
404
|
}
|
|
407
405
|
}, [childrenKey, expandItemValues, getChildren, loadChildren, onExpand, setExpandItemValues, valueKey]);
|
|
408
406
|
usePublicMethods(ref, {
|
|
407
|
+
rootRef: inline ? treeViewRef : undefined,
|
|
409
408
|
triggerRef: triggerRef,
|
|
410
409
|
overlayRef: overlayRef,
|
|
411
|
-
targetRef: targetRef
|
|
412
|
-
|
|
410
|
+
targetRef: targetRef,
|
|
411
|
+
listRef: listRef,
|
|
412
|
+
inline: inline
|
|
413
|
+
});
|
|
413
414
|
var handleClean = useCallback(function (event) {
|
|
414
415
|
var target = event.target; // exclude searchBar
|
|
415
416
|
|
|
@@ -458,11 +459,13 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
458
459
|
}
|
|
459
460
|
}, [searchKeywordState, checkTreePrefix, expandItemValues, filteredData, focusItemValue, treeNodesRefs, childrenKey, valueKey, disabledItemValues]);
|
|
460
461
|
var handleLeftArrow = useCallback(function () {
|
|
462
|
+
if (_isNil(focusItemValue)) return;
|
|
461
463
|
var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
|
|
462
464
|
leftArrowHandler({
|
|
463
465
|
focusItem: focusItem,
|
|
464
466
|
expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
|
|
465
467
|
onExpand: handleExpand,
|
|
468
|
+
childrenKey: childrenKey,
|
|
466
469
|
onFocusItem: function onFocusItem() {
|
|
467
470
|
var _focusItem$parent, _focusItem$parent2;
|
|
468
471
|
|
|
@@ -470,8 +473,9 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
470
473
|
focusTreeNode(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, "." + checkTreePrefix('node-label'));
|
|
471
474
|
}
|
|
472
475
|
});
|
|
473
|
-
}, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey]);
|
|
476
|
+
}, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey, childrenKey]);
|
|
474
477
|
var handleRightArrow = useCallback(function () {
|
|
478
|
+
if (_isNil(focusItemValue)) return;
|
|
475
479
|
var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
|
|
476
480
|
rightArrowHandler({
|
|
477
481
|
focusItem: focusItem,
|
|
@@ -484,6 +488,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
484
488
|
});
|
|
485
489
|
}, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
|
|
486
490
|
var selectActiveItem = useCallback(function (event) {
|
|
491
|
+
if (_isNil(focusItemValue)) return;
|
|
487
492
|
var activeItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
|
|
488
493
|
|
|
489
494
|
if (!isNodeUncheckable(activeItem, {
|
|
@@ -566,19 +571,22 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
566
571
|
key: node[valueKey]
|
|
567
572
|
}, /*#__PURE__*/React.createElement(CheckTreeNode, _extends({}, nodeProps, {
|
|
568
573
|
ref: function ref(_ref) {
|
|
569
|
-
return saveTreeNodeRef(
|
|
574
|
+
return saveTreeNodeRef(_ref, refKey);
|
|
570
575
|
}
|
|
571
576
|
})), /*#__PURE__*/React.createElement("div", {
|
|
572
577
|
className: checkTreePrefix('children')
|
|
573
578
|
}, nodes.map(function (child) {
|
|
574
579
|
return renderNode(child, layer);
|
|
580
|
+
}), showIndentLine && /*#__PURE__*/React.createElement("span", {
|
|
581
|
+
className: checkTreePrefix('indent-line'),
|
|
582
|
+
style: getTreeNodeIndent(rtl, layer - 1, true)
|
|
575
583
|
})));
|
|
576
584
|
}
|
|
577
585
|
|
|
578
586
|
return /*#__PURE__*/React.createElement(CheckTreeNode, _extends({
|
|
579
587
|
key: node[valueKey],
|
|
580
588
|
ref: function ref(_ref2) {
|
|
581
|
-
return saveTreeNodeRef(
|
|
589
|
+
return saveTreeNodeRef(_ref2, refKey);
|
|
582
590
|
}
|
|
583
591
|
}, nodeProps));
|
|
584
592
|
};
|
|
@@ -604,7 +612,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
604
612
|
style: style,
|
|
605
613
|
key: key,
|
|
606
614
|
ref: function ref(_ref4) {
|
|
607
|
-
return saveTreeNodeRef(
|
|
615
|
+
return saveTreeNodeRef(_ref4, refKey);
|
|
608
616
|
}
|
|
609
617
|
}, nodeProps));
|
|
610
618
|
};
|
|
@@ -630,7 +638,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
630
638
|
}, style) : {};
|
|
631
639
|
return /*#__PURE__*/React.createElement("div", {
|
|
632
640
|
id: id ? id + "-listbox" : undefined,
|
|
633
|
-
ref:
|
|
641
|
+
ref: treeViewRef,
|
|
634
642
|
role: "tree",
|
|
635
643
|
"aria-multiselectable": true,
|
|
636
644
|
className: classes,
|
|
@@ -14,6 +14,8 @@ export interface TreeNodeType {
|
|
|
14
14
|
value?: string | number;
|
|
15
15
|
groupBy?: string;
|
|
16
16
|
children?: TreeNodeType[];
|
|
17
|
+
hasChildren?: boolean;
|
|
18
|
+
checkState?: CheckStateType;
|
|
17
19
|
}
|
|
18
20
|
export interface TreeNodesType {
|
|
19
21
|
[key: string]: TreeNodeType;
|
|
@@ -38,5 +40,5 @@ export declare function isNodeUncheckable(node: any, props: Partial<CheckTreePic
|
|
|
38
40
|
export declare function getFormattedTree(data: any[], nodes: TreeNodesType, props: Partial<CheckTreePickerProps>): any[];
|
|
39
41
|
export declare function getDisabledState(nodes: TreeNodesType, node: TreeNodeType, props: Partial<CheckTreePickerProps>): boolean;
|
|
40
42
|
export declare function getCheckTreePickerDefaultValue(value: any[], uncheckableItemValues: any[]): any[];
|
|
41
|
-
export declare function getSelectedItems(nodes: TreeNodesType, value: (string | number)[], valueKey: string):
|
|
43
|
+
export declare function getSelectedItems(nodes: TreeNodesType, value: (string | number)[], valueKey: string): TreeNodeType[];
|
|
42
44
|
export declare function getNodeCheckState({ nodes, node, cascade, childrenKey }: any): CheckStateType;
|
|
@@ -4,22 +4,24 @@ import _isNil from "lodash/isNil";
|
|
|
4
4
|
import { shallowEqual, CHECK_STATE } from '../utils';
|
|
5
5
|
import { getChildrenByFlattenNodes } from '../utils/treeUtils';
|
|
6
6
|
export function isEveryChildChecked(nodes, parent) {
|
|
7
|
-
if (_isNil(nodes[parent.refKey])) {
|
|
7
|
+
if (_isNil(parent.refKey) || _isNil(nodes[parent.refKey])) {
|
|
8
8
|
return false;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
var children = getChildrenByFlattenNodes(nodes, parent);
|
|
12
12
|
|
|
13
13
|
if (!children.length) {
|
|
14
|
-
|
|
14
|
+
var _nodes$parent$refKey$;
|
|
15
|
+
|
|
16
|
+
return (_nodes$parent$refKey$ = nodes[parent.refKey].check) !== null && _nodes$parent$refKey$ !== void 0 ? _nodes$parent$refKey$ : false;
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
return children.every(function (child) {
|
|
18
|
-
return nodes[child.refKey].check;
|
|
20
|
+
return !_isNil(child.refKey) && nodes[child.refKey].check;
|
|
19
21
|
});
|
|
20
22
|
}
|
|
21
23
|
export function isSomeChildChecked(nodes, parent, childrenKey) {
|
|
22
|
-
if (_isNil(nodes[parent.refKey])) {
|
|
24
|
+
if (!_isNil(parent.refKey) && _isNil(nodes[parent.refKey])) {
|
|
23
25
|
return false;
|
|
24
26
|
}
|
|
25
27
|
|
|
@@ -31,7 +33,7 @@ export function isSomeChildChecked(nodes, parent, childrenKey) {
|
|
|
31
33
|
return isSomeChildChecked(nodes, child, childrenKey);
|
|
32
34
|
}
|
|
33
35
|
|
|
34
|
-
return nodes[child.refKey].check;
|
|
36
|
+
return !_isNil(child.refKey) && nodes[child.refKey].check;
|
|
35
37
|
});
|
|
36
38
|
}
|
|
37
39
|
export function isSomeNodeHasChildren(data, childrenKey) {
|
|
@@ -46,7 +48,7 @@ export function isSomeNodeHasChildren(data, childrenKey) {
|
|
|
46
48
|
|
|
47
49
|
export function isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues, valueKey) {
|
|
48
50
|
var list = [];
|
|
49
|
-
var
|
|
51
|
+
var parentNodeRefKey = node.parent ? node.parent.refKey : '';
|
|
50
52
|
Object.keys(nodes).forEach(function (refKey) {
|
|
51
53
|
var _curNode$parent;
|
|
52
54
|
|
|
@@ -54,7 +56,7 @@ export function isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues,
|
|
|
54
56
|
|
|
55
57
|
if (_isNil(node.parent) && _isNil(curNode.parent)) {
|
|
56
58
|
list.push(curNode);
|
|
57
|
-
} else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) ===
|
|
59
|
+
} else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefKey) {
|
|
58
60
|
list.push(curNode);
|
|
59
61
|
}
|
|
60
62
|
});
|
|
@@ -107,7 +109,7 @@ export function getFormattedTree(data, nodes, props) {
|
|
|
107
109
|
var curNode = nodes[node.refKey];
|
|
108
110
|
|
|
109
111
|
if (curNode) {
|
|
110
|
-
var _node
|
|
112
|
+
var _node;
|
|
111
113
|
|
|
112
114
|
var checkState = !_isUndefined(cascade) ? getNodeCheckState({
|
|
113
115
|
node: curNode,
|
|
@@ -121,7 +123,7 @@ export function getFormattedTree(data, nodes, props) {
|
|
|
121
123
|
formatted.parent = curNode.parent;
|
|
122
124
|
formatted.checkState = checkState;
|
|
123
125
|
|
|
124
|
-
if (((_node
|
|
126
|
+
if (((_node = node[childrenKey]) === null || _node === void 0 ? void 0 : _node.length) > 0) {
|
|
125
127
|
formatted[childrenKey] = getFormattedTree(formatted[childrenKey], nodes, props);
|
|
126
128
|
}
|
|
127
129
|
}
|
|
@@ -134,7 +136,7 @@ export function getDisabledState(nodes, node, props) {
|
|
|
134
136
|
disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
|
|
135
137
|
valueKey = props.valueKey;
|
|
136
138
|
|
|
137
|
-
if (_isNil(nodes[node.refKey])) {
|
|
139
|
+
if (!_isNil(node.refKey) && _isNil(nodes[node.refKey])) {
|
|
138
140
|
return false;
|
|
139
141
|
}
|
|
140
142
|
|
|
@@ -31,7 +31,7 @@ export interface CheckboxProps<V = ValueType> extends WithAsProps {
|
|
|
31
31
|
/** Used for the name of the form */
|
|
32
32
|
name?: string;
|
|
33
33
|
/** Called when the user attempts to change the checked state. */
|
|
34
|
-
onChange?: (value: V, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
34
|
+
onChange?: (value: V | undefined, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
35
35
|
/** Called when the checkbox or label is clicked. */
|
|
36
36
|
onClick?: (event: React.SyntheticEvent) => void;
|
|
37
37
|
/** Called when the checkbox is clicked. */
|
|
@@ -65,10 +65,10 @@ var CheckboxGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
65
65
|
}, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
|
|
66
66
|
return /*#__PURE__*/React.createElement(CheckboxGroupContext.Provider, {
|
|
67
67
|
value: contextValue
|
|
68
|
-
}, plaintext ? /*#__PURE__*/React.createElement(Plaintext, {
|
|
68
|
+
}, plaintext ? /*#__PURE__*/React.createElement(Plaintext, _extends({
|
|
69
69
|
ref: ref,
|
|
70
70
|
localeKey: "notSelected"
|
|
71
|
-
}, value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
71
|
+
}, rest), value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
72
72
|
ref: ref,
|
|
73
73
|
role: "group",
|
|
74
74
|
className: classes
|