rsuite 5.50.0 → 5.52.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/Accordion/package.json +7 -0
- package/Accordion/styles/index.css +219 -0
- package/Accordion/styles/index.less +2 -0
- package/Animation/styles/bounce.less +34 -0
- package/Animation/styles/collapse.less +22 -0
- package/Animation/styles/fade.less +10 -0
- package/Animation/styles/index.css +349 -0
- package/Animation/styles/index.less +7 -97
- package/Animation/styles/slide.less +24 -0
- package/AutoComplete/styles/index.css +3229 -0
- package/AutoComplete/styles/index.less +1 -3
- package/Avatar/styles/index.css +127 -0
- package/AvatarGroup/styles/index.css +38 -0
- package/AvatarGroup/styles/index.less +2 -1
- package/Badge/styles/index.css +119 -0
- package/Breadcrumb/styles/index.css +54 -0
- package/Button/styles/index.css +1053 -0
- package/Button/styles/index.less +1 -1
- package/ButtonGroup/styles/index.css +68 -0
- package/ButtonToolbar/styles/index.css +20 -0
- package/ButtonToolbar/styles/index.less +3 -2
- package/CHANGELOG.md +28 -0
- package/Calendar/styles/index.css +1954 -0
- package/Calendar/styles/index.less +1 -1
- package/Carousel/styles/index.css +270 -0
- package/Cascader/styles/index.css +3384 -0
- package/Cascader/styles/index.less +1 -2
- package/CheckPicker/styles/index.css +3427 -0
- package/CheckPicker/styles/index.less +1 -1
- package/CheckTree/styles/index.css +3543 -0
- package/CheckTree/styles/index.less +1 -0
- package/CheckTreePicker/styles/index.css +3543 -0
- package/CheckTreePicker/styles/index.less +5 -9
- package/Checkbox/styles/index.css +263 -0
- package/CheckboxGroup/styles/index.css +30 -0
- package/Col/styles/index.css +19 -0
- package/Col/styles/index.less +14 -0
- package/Container/stories/styles.less +23 -0
- package/Container/styles/index.css +30 -0
- package/Content/styles/index.css +17 -0
- package/DateInput/styles/index.css +198 -0
- package/DateInput/styles/index.less +1 -0
- package/DatePicker/styles/index.css +4113 -0
- package/DatePicker/styles/index.less +10 -7
- package/DateRangeInput/styles/index.css +198 -0
- package/DateRangeInput/styles/index.less +1 -0
- package/DateRangePicker/styles/index.css +4179 -0
- package/DateRangePicker/styles/index.less +8 -5
- package/Divider/styles/index.css +72 -0
- package/Drawer/styles/index.css +345 -0
- package/Dropdown/styles/index.css +1484 -0
- package/FlexboxGrid/stories/styles.less +17 -0
- package/FlexboxGrid/styles/index.css +329 -0
- package/Footer/styles/index.css +35 -0
- package/Form/styles/index.css +25 -0
- package/Form/styles/mixin.less +1 -2
- package/FormControl/styles/index.css +56 -0
- package/FormControlLabel/styles/index.css +35 -0
- package/FormErrorMessage/styles/index.css +331 -0
- package/FormGroup/styles/index.css +65 -0
- package/FormHelpText/styles/index.css +46 -0
- package/Grid/stories/styles.less +29 -0
- package/Grid/styles/index.css +1869 -0
- package/Grid/styles/index.less +0 -13
- package/Header/styles/index.css +35 -0
- package/IconButton/styles/index.css +1284 -0
- package/Input/styles/index.css +198 -0
- package/InputGroup/styles/index.css +1694 -0
- package/InputGroup/styles/index.less +0 -14
- package/InputNumber/styles/index.css +1912 -0
- package/InputPicker/styles/index.css +3380 -0
- package/InputPicker/styles/index.less +6 -5
- package/List/styles/index.css +169 -0
- package/Loader/styles/index.css +359 -0
- package/Message/styles/index.css +473 -0
- package/Message/styles/index.less +4 -3
- package/Modal/styles/index.css +255 -0
- package/MultiCascader/styles/index.css +3602 -0
- package/MultiCascader/styles/index.less +1 -1
- package/Nav/styles/index.css +1777 -0
- package/Nav/styles/index.less +1 -1
- package/Navbar/styles/index.css +1783 -0
- package/Navbar/styles/index.less +1 -0
- package/Notification/styles/index.css +316 -0
- package/Pagination/styles/index.css +3892 -0
- package/Pagination/styles/index.less +6 -4
- package/Panel/styles/index.css +196 -0
- package/Panel/styles/index.less +45 -2
- package/PanelGroup/styles/index.css +54 -0
- package/Placeholder/styles/index.css +186 -0
- package/Popover/styles/index.css +343 -0
- package/Progress/styles/index.css +312 -0
- package/Radio/styles/index.css +251 -0
- package/RadioGroup/styles/index.css +135 -0
- package/RadioGroup/styles/index.less +2 -0
- package/RadioTile/styles/index.css +61 -0
- package/RadioTileGroup/styles/index.css +2 -0
- package/RangeSlider/styles/index.css +563 -0
- package/RangeSlider/styles/index.less +4 -0
- package/Rate/styles/index.css +208 -0
- package/Row/styles/index.css +24 -0
- package/SelectPicker/styles/index.css +3287 -0
- package/SelectPicker/styles/index.less +1 -1
- package/Sidebar/styles/index.css +37 -0
- package/Sidenav/styles/index.css +823 -0
- package/Sidenav/styles/index.less +4 -4
- package/Slider/styles/index.css +563 -0
- package/Slider/styles/index.less +2 -1
- package/Stack/styles/index.css +17 -0
- package/Steps/styles/index.css +277 -0
- package/Table/styles/index.css +546 -0
- package/Tag/styles/index.css +167 -0
- package/Tag/styles/index.less +2 -10
- package/TagGroup/styles/index.css +19 -0
- package/TagGroup/styles/index.less +14 -0
- package/TagInput/styles/index.css +3639 -0
- package/TagInput/styles/index.less +1 -1
- package/TagPicker/styles/index.css +3630 -0
- package/TagPicker/styles/index.less +10 -5
- package/Timeline/stories/styles.less +29 -0
- package/Timeline/styles/index.css +187 -0
- package/Toggle/styles/index.css +448 -0
- package/Tooltip/styles/index.css +310 -0
- package/Tree/styles/index.css +350 -0
- package/Tree/styles/index.less +1 -0
- package/TreePicker/styles/index.css +350 -0
- package/TreePicker/styles/index.less +4 -12
- package/Uploader/styles/index.css +1836 -0
- package/VisuallyHidden/package.json +7 -0
- package/VisuallyHidden/styles/index.css +13 -0
- package/VisuallyHidden/styles/index.less +11 -0
- package/cjs/@types/common.d.ts +8 -0
- package/cjs/Accordion/Accordion.d.ts +13 -0
- package/cjs/Accordion/Accordion.js +24 -0
- package/cjs/Accordion/index.d.ts +3 -0
- package/cjs/Accordion/index.js +9 -0
- package/cjs/AutoComplete/AutoComplete.d.ts +1 -1
- package/cjs/AutoComplete/AutoComplete.js +19 -15
- package/cjs/AutoComplete/Combobox.d.ts +8 -0
- package/cjs/AutoComplete/Combobox.js +31 -0
- package/cjs/Avatar/Avatar.js +2 -1
- package/cjs/AvatarGroup/AvatarGroup.js +2 -1
- package/cjs/Badge/Badge.js +2 -1
- package/cjs/Button/Button.js +6 -5
- package/cjs/ButtonGroup/ButtonGroup.js +2 -1
- package/cjs/Calendar/CalendarContainer.js +35 -37
- package/cjs/Calendar/MonthDropdown.js +1 -1
- package/cjs/Carousel/Carousel.js +3 -2
- package/cjs/Cascader/Cascader.d.ts +2 -2
- package/cjs/Cascader/Cascader.js +17 -14
- package/cjs/Cascader/DropdownMenu.d.ts +3 -20
- package/cjs/Cascader/DropdownMenu.js +49 -49
- package/cjs/Cascader/TreeView.d.ts +24 -0
- package/cjs/Cascader/TreeView.js +174 -0
- package/cjs/CheckPicker/CheckPicker.d.ts +1 -1
- package/cjs/CheckPicker/CheckPicker.js +14 -11
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/cjs/CheckTreePicker/CheckTreeNode.js +31 -59
- package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.js +26 -24
- package/cjs/Checkbox/Checkbox.js +2 -1
- package/cjs/CheckboxGroup/CheckboxGroup.js +1 -1
- package/cjs/DateInput/utils.js +1 -1
- package/cjs/DatePicker/DatePicker.js +12 -13
- package/cjs/DateRangePicker/DateRangePicker.d.ts +7 -1
- package/cjs/DateRangePicker/DateRangePicker.js +17 -16
- package/cjs/Drawer/Drawer.js +4 -3
- package/cjs/Dropdown/Dropdown.js +5 -5
- package/cjs/Dropdown/DropdownItem.js +8 -7
- package/cjs/Dropdown/DropdownMenu.js +20 -19
- package/cjs/Dropdown/DropdownToggle.js +2 -1
- package/cjs/FlexboxGrid/FlexboxGrid.js +3 -2
- package/cjs/Form/Form.d.ts +14 -0
- package/cjs/Form/Form.js +42 -32
- package/cjs/Form/FormContext.d.ts +1 -0
- package/cjs/FormControl/FormControl.js +43 -20
- package/cjs/FormErrorMessage/FormErrorMessage.js +2 -1
- package/cjs/FormGroup/FormGroup.js +2 -1
- package/cjs/IconButton/IconButton.js +2 -1
- package/cjs/Input/Input.js +4 -3
- package/cjs/InputGroup/InputGroup.js +2 -1
- package/cjs/InputNumber/InputNumber.js +3 -2
- package/cjs/InputPicker/InputPicker.d.ts +2 -2
- package/cjs/InputPicker/InputPicker.js +50 -32
- package/cjs/InputPicker/InputSearch.js +3 -15
- package/cjs/InputPicker/TagList.d.ts +3 -0
- package/cjs/InputPicker/TagList.js +29 -0
- package/cjs/InputPicker/TextBox.d.ts +18 -0
- package/cjs/InputPicker/TextBox.js +48 -0
- package/cjs/InputPicker/index.d.ts +1 -1
- package/cjs/List/List.js +2 -1
- package/cjs/List/helper/useSortHelper.d.ts +1 -1
- package/cjs/Loader/Loader.js +3 -2
- package/cjs/Message/Message.js +3 -2
- package/cjs/Modal/Modal.d.ts +1 -1
- package/cjs/Modal/Modal.js +5 -6
- package/cjs/Modal/ModalDialog.js +2 -1
- package/cjs/Modal/ModalHeader.js +1 -1
- package/cjs/MultiCascader/MultiCascader.d.ts +1 -1
- package/cjs/MultiCascader/MultiCascader.js +18 -13
- package/cjs/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
- package/cjs/MultiCascader/{DropdownMenu.js → TreeView.js} +78 -75
- package/cjs/Nav/Nav.js +3 -2
- package/cjs/Nav/NavDropdown.js +5 -5
- package/cjs/Nav/NavDropdownItem.js +7 -6
- package/cjs/Nav/NavDropdownMenu.js +5 -5
- package/cjs/Nav/NavDropdownToggle.js +2 -1
- package/cjs/Nav/NavItem.js +3 -2
- package/cjs/Navbar/NavbarDropdown.js +5 -5
- package/cjs/Navbar/NavbarDropdownItem.js +7 -6
- package/cjs/Navbar/NavbarDropdownMenu.js +4 -4
- package/cjs/Navbar/NavbarDropdownToggle.js +2 -1
- package/cjs/Navbar/NavbarItem.js +3 -2
- package/cjs/Notification/Notification.js +7 -6
- package/cjs/Pagination/PaginationButton.js +1 -1
- package/cjs/Panel/AccordionButton.d.ts +10 -0
- package/cjs/Panel/AccordionButton.js +46 -0
- package/cjs/Panel/Panel.d.ts +17 -9
- package/cjs/Panel/Panel.js +45 -40
- package/cjs/PanelGroup/PanelGroup.js +2 -3
- package/cjs/Placeholder/PlaceholderParagraph.js +2 -1
- package/cjs/Progress/ProgressCircle.js +4 -3
- package/cjs/Progress/ProgressLine.js +2 -1
- package/cjs/Radio/Radio.js +2 -1
- package/cjs/RadioGroup/RadioGroup.js +3 -2
- package/cjs/RangeSlider/RangeSlider.js +3 -3
- package/cjs/Rate/Rate.js +3 -2
- package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
- package/cjs/SelectPicker/SelectPicker.js +13 -11
- package/cjs/Sidenav/ExpandedSidenavDropdown.js +5 -5
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +3 -2
- package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +2 -2
- package/cjs/Sidenav/Sidenav.js +4 -4
- package/cjs/Sidenav/SidenavDropdown.js +6 -6
- package/cjs/Sidenav/SidenavDropdownItem.js +7 -6
- package/cjs/Sidenav/SidenavDropdownMenu.js +2 -2
- package/cjs/Sidenav/SidenavDropdownToggle.js +2 -1
- package/cjs/Sidenav/SidenavItem.js +8 -8
- package/cjs/Sidenav/SidenavToggle.js +2 -2
- package/cjs/Slider/Slider.js +1 -1
- package/cjs/Stack/Stack.js +4 -3
- package/cjs/Stack/StackItem.js +2 -1
- package/cjs/Steps/StepItem.js +2 -1
- package/cjs/Steps/Steps.js +2 -1
- package/cjs/Tag/Tag.js +1 -1
- package/cjs/TagInput/index.d.ts +1 -1
- package/cjs/TagInput/index.js +4 -0
- package/cjs/TagPicker/index.d.ts +1 -1
- package/cjs/Timeline/Timeline.js +2 -1
- package/cjs/Toggle/Toggle.js +3 -2
- package/cjs/Tree/Tree.d.ts +1 -1
- package/cjs/TreePicker/TreeNode.d.ts +2 -2
- package/cjs/TreePicker/TreeNode.js +22 -56
- package/cjs/TreePicker/TreePicker.d.ts +1 -1
- package/cjs/TreePicker/TreePicker.js +25 -24
- package/cjs/Uploader/UploadFileItem.js +3 -2
- package/cjs/Uploader/Uploader.js +3 -2
- package/cjs/VisuallyHidden/VisuallyHidden.d.ts +10 -0
- package/cjs/VisuallyHidden/VisuallyHidden.js +19 -0
- package/cjs/VisuallyHidden/index.d.ts +3 -0
- package/cjs/VisuallyHidden/index.js +9 -0
- package/cjs/Whisper/Whisper.d.ts +2 -2
- package/cjs/Whisper/Whisper.js +3 -2
- package/cjs/index.d.ts +5 -1
- package/cjs/index.js +6 -2
- package/cjs/{CloseButton → internals/CloseButton}/CloseButton.d.ts +2 -2
- package/cjs/{CloseButton → internals/CloseButton}/CloseButton.js +1 -1
- package/cjs/{Disclosure → internals/Disclosure}/Disclosure.js +1 -1
- package/cjs/{Disclosure → internals/Disclosure}/DisclosureButton.js +1 -1
- package/cjs/{Menu → internals/Menu}/Menu.js +6 -6
- package/cjs/{Menu → internals/Menu}/MenuItem.js +1 -1
- package/cjs/{Menu → internals/Menu}/Menubar.js +3 -3
- package/cjs/{Overlay → internals/Overlay}/Modal.d.ts +1 -1
- package/cjs/{Overlay → internals/Overlay}/Modal.js +3 -3
- package/{esm → cjs/internals}/Overlay/Overlay.d.ts +1 -1
- package/cjs/{Overlay → internals/Overlay}/Overlay.js +2 -2
- package/{esm → cjs/internals}/Overlay/OverlayTrigger.d.ts +1 -1
- package/cjs/{Overlay → internals/Overlay}/OverlayTrigger.js +2 -2
- package/cjs/{Overlay → internals/Overlay}/Position.d.ts +1 -1
- package/cjs/{Overlay → internals/Overlay}/Position.js +2 -2
- package/cjs/{Overlay → internals/Overlay}/positionUtils.d.ts +1 -1
- package/{esm/Picker/DropdownMenuCheckItem.d.ts → cjs/internals/Picker/ListCheckItem.d.ts} +5 -5
- package/cjs/{Picker/DropdownMenuCheckItem.js → internals/Picker/ListCheckItem.js} +16 -32
- package/cjs/internals/Picker/ListItem.d.ts +14 -0
- package/cjs/{Picker/DropdownMenuItem.js → internals/Picker/ListItem.js} +16 -25
- package/cjs/internals/Picker/ListItemGroup.d.ts +6 -0
- package/cjs/{Picker/DropdownMenuGroup.js → internals/Picker/ListItemGroup.js} +4 -10
- package/cjs/internals/Picker/Listbox.d.ts +35 -0
- package/cjs/{Picker/DropdownMenu.js → internals/Picker/Listbox.js} +54 -69
- package/cjs/{Picker → internals/Picker}/PickerIndicator.js +3 -3
- package/cjs/{Picker → internals/Picker}/PickerLabel.js +1 -1
- package/cjs/internals/Picker/PickerPopup.d.ts +12 -0
- package/cjs/{Picker/PickerOverlay.js → internals/Picker/PickerPopup.js} +10 -8
- package/cjs/{Picker → internals/Picker}/PickerToggle.d.ts +2 -2
- package/cjs/{Picker → internals/Picker}/PickerToggle.js +19 -12
- package/{esm → cjs/internals}/Picker/PickerToggleTrigger.d.ts +18 -3
- package/cjs/{Picker → internals/Picker}/PickerToggleTrigger.js +23 -7
- package/{esm → cjs/internals}/Picker/SelectedElement.d.ts +1 -1
- package/cjs/{Picker → internals/Picker}/SelectedElement.js +1 -1
- package/{esm → cjs/internals}/Picker/ToggleButton.d.ts +1 -1
- package/cjs/{Picker → internals/Picker}/ToggleButton.js +1 -1
- package/cjs/internals/Picker/TreeView.d.ts +7 -0
- package/cjs/internals/Picker/TreeView.js +31 -0
- package/cjs/internals/Picker/hooks/index.d.ts +6 -0
- package/cjs/internals/Picker/hooks/index.js +18 -0
- package/cjs/internals/Picker/hooks/useCombobox.d.ts +7 -0
- package/cjs/internals/Picker/hooks/useCombobox.js +22 -0
- package/cjs/internals/Picker/hooks/useFocusItemValue.d.ts +30 -0
- package/cjs/internals/Picker/hooks/useFocusItemValue.js +246 -0
- package/cjs/internals/Picker/hooks/usePickerClassName.d.ts +21 -0
- package/cjs/internals/Picker/hooks/usePickerClassName.js +39 -0
- package/{esm/Picker → cjs/internals/Picker/hooks}/usePickerRef.d.ts +2 -2
- package/cjs/{Picker → internals/Picker/hooks}/usePickerRef.js +1 -1
- package/cjs/internals/Picker/hooks/useSearch.d.ts +18 -0
- package/cjs/internals/Picker/hooks/useSearch.js +57 -0
- package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
- package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.js +101 -0
- package/cjs/{Picker → internals/Picker}/index.d.ts +7 -7
- package/cjs/{Picker → internals/Picker}/index.js +26 -22
- package/{esm → cjs/internals}/Picker/propTypes.d.ts +0 -6
- package/cjs/{Picker → internals/Picker}/propTypes.js +5 -9
- package/cjs/{Picker → internals/Picker}/types.d.ts +2 -2
- package/cjs/internals/Picker/utils.d.ts +22 -0
- package/cjs/internals/Picker/utils.js +95 -0
- package/cjs/{Plaintext → internals/Plaintext}/Plaintext.d.ts +1 -1
- package/cjs/{Plaintext → internals/Plaintext}/Plaintext.js +1 -1
- package/cjs/{Ripple → internals/Ripple}/Ripple.d.ts +1 -1
- package/cjs/{Ripple → internals/Ripple}/Ripple.js +2 -2
- package/cjs/internals/SearchBox/SearchBox.d.ts +11 -0
- package/cjs/internals/SearchBox/SearchBox.js +50 -0
- package/cjs/internals/SearchBox/index.d.ts +2 -0
- package/cjs/internals/SearchBox/index.js +9 -0
- package/cjs/{Windowing → internals/Windowing}/AutoSizer.js +1 -1
- package/{esm → cjs/internals}/Windowing/List.d.ts +1 -1
- package/cjs/{Windowing → internals/Windowing}/List.js +1 -1
- package/cjs/internals/index.d.ts +0 -0
- package/cjs/internals/index.js +2 -0
- package/cjs/{utils → internals/propTypes}/deprecatePropType.js +1 -1
- package/cjs/{utils/propTypeChecker.d.ts → internals/propTypes/index.d.ts} +2 -0
- package/cjs/{utils/propTypeChecker.js → internals/propTypes/index.js} +7 -1
- package/cjs/internals/propTypes/oneOf.d.ts +3 -0
- package/cjs/internals/propTypes/oneOf.js +19 -0
- package/cjs/utils/ReactChildren.d.ts +1 -1
- package/cjs/utils/ReactChildren.js +14 -1
- package/cjs/utils/dateUtils.js +5 -2
- package/cjs/utils/index.d.ts +0 -1
- package/cjs/utils/index.js +2 -5
- package/cjs/utils/treeUtils.d.ts +1 -1
- package/cjs/utils/treeUtils.js +1 -1
- package/cjs/utils/useUniqueId.js +1 -1
- package/dist/rsuite-no-reset-rtl.css +4823 -5072
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +4846 -5095
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +4823 -5072
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +4846 -5095
- package/dist/rsuite.js +832 -645
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +8 -0
- package/esm/Accordion/Accordion.d.ts +13 -0
- package/esm/Accordion/Accordion.js +18 -0
- package/esm/Accordion/index.d.ts +3 -0
- package/esm/Accordion/index.js +3 -0
- package/esm/AutoComplete/AutoComplete.d.ts +1 -1
- package/esm/AutoComplete/AutoComplete.js +19 -15
- package/esm/AutoComplete/Combobox.d.ts +8 -0
- package/esm/AutoComplete/Combobox.js +25 -0
- package/esm/Avatar/Avatar.js +2 -1
- package/esm/AvatarGroup/AvatarGroup.js +2 -1
- package/esm/Badge/Badge.js +2 -1
- package/esm/Button/Button.js +6 -5
- package/esm/ButtonGroup/ButtonGroup.js +2 -1
- package/esm/Calendar/CalendarContainer.js +37 -39
- package/esm/Calendar/MonthDropdown.js +1 -1
- package/esm/Carousel/Carousel.js +3 -2
- package/esm/Cascader/Cascader.d.ts +2 -2
- package/esm/Cascader/Cascader.js +17 -14
- package/esm/Cascader/DropdownMenu.d.ts +3 -20
- package/esm/Cascader/DropdownMenu.js +50 -49
- package/esm/Cascader/TreeView.d.ts +24 -0
- package/esm/Cascader/TreeView.js +167 -0
- package/esm/CheckPicker/CheckPicker.d.ts +1 -1
- package/esm/CheckPicker/CheckPicker.js +14 -11
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/esm/CheckTreePicker/CheckTreeNode.js +33 -61
- package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.js +26 -24
- package/esm/Checkbox/Checkbox.js +3 -2
- package/esm/CheckboxGroup/CheckboxGroup.js +1 -1
- package/esm/DateInput/utils.js +1 -1
- package/esm/DatePicker/DatePicker.js +7 -8
- package/esm/DateRangePicker/DateRangePicker.d.ts +7 -1
- package/esm/DateRangePicker/DateRangePicker.js +15 -14
- package/esm/Drawer/Drawer.js +4 -3
- package/esm/Dropdown/Dropdown.js +4 -4
- package/esm/Dropdown/DropdownItem.js +5 -4
- package/esm/Dropdown/DropdownMenu.js +5 -4
- package/esm/Dropdown/DropdownToggle.js +2 -1
- package/esm/FlexboxGrid/FlexboxGrid.js +3 -2
- package/esm/Form/Form.d.ts +14 -0
- package/esm/Form/Form.js +44 -34
- package/esm/Form/FormContext.d.ts +1 -0
- package/esm/FormControl/FormControl.js +42 -19
- package/esm/FormErrorMessage/FormErrorMessage.js +2 -1
- package/esm/FormGroup/FormGroup.js +3 -2
- package/esm/IconButton/IconButton.js +2 -1
- package/esm/Input/Input.js +5 -4
- package/esm/InputGroup/InputGroup.js +2 -1
- package/esm/InputNumber/InputNumber.js +3 -2
- package/esm/InputPicker/InputPicker.d.ts +2 -2
- package/esm/InputPicker/InputPicker.js +50 -32
- package/esm/InputPicker/InputSearch.js +4 -15
- package/esm/InputPicker/TagList.d.ts +3 -0
- package/esm/InputPicker/TagList.js +23 -0
- package/esm/InputPicker/TextBox.d.ts +18 -0
- package/esm/InputPicker/TextBox.js +42 -0
- package/esm/InputPicker/index.d.ts +1 -1
- package/esm/List/List.js +2 -1
- package/esm/List/helper/useSortHelper.d.ts +1 -1
- package/esm/Loader/Loader.js +3 -2
- package/esm/Message/Message.js +3 -2
- package/esm/Modal/Modal.d.ts +1 -1
- package/esm/Modal/Modal.js +4 -5
- package/esm/Modal/ModalDialog.js +2 -1
- package/esm/Modal/ModalHeader.js +1 -1
- package/esm/MultiCascader/MultiCascader.d.ts +1 -1
- package/esm/MultiCascader/MultiCascader.js +18 -13
- package/esm/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
- package/esm/MultiCascader/{DropdownMenu.js → TreeView.js} +79 -75
- package/esm/Nav/Nav.js +3 -2
- package/esm/Nav/NavDropdown.js +4 -4
- package/esm/Nav/NavDropdownItem.js +5 -4
- package/esm/Nav/NavDropdownMenu.js +4 -4
- package/esm/Nav/NavDropdownToggle.js +2 -1
- package/esm/Nav/NavItem.js +3 -2
- package/esm/Navbar/NavbarDropdown.js +4 -4
- package/esm/Navbar/NavbarDropdownItem.js +5 -4
- package/esm/Navbar/NavbarDropdownMenu.js +3 -3
- package/esm/Navbar/NavbarDropdownToggle.js +2 -1
- package/esm/Navbar/NavbarItem.js +3 -2
- package/esm/Notification/Notification.js +9 -8
- package/esm/Pagination/PaginationButton.js +1 -1
- package/esm/Panel/AccordionButton.d.ts +10 -0
- package/esm/Panel/AccordionButton.js +40 -0
- package/esm/Panel/Panel.d.ts +17 -9
- package/esm/Panel/Panel.js +47 -42
- package/esm/PanelGroup/PanelGroup.js +4 -5
- package/esm/Placeholder/PlaceholderParagraph.js +2 -1
- package/esm/Progress/ProgressCircle.js +4 -3
- package/esm/Progress/ProgressLine.js +2 -1
- package/esm/Radio/Radio.js +3 -2
- package/esm/RadioGroup/RadioGroup.js +3 -2
- package/esm/RangeSlider/RangeSlider.js +1 -1
- package/esm/Rate/Rate.js +3 -2
- package/esm/SelectPicker/SelectPicker.d.ts +2 -2
- package/esm/SelectPicker/SelectPicker.js +13 -11
- package/esm/Sidenav/ExpandedSidenavDropdown.js +3 -3
- package/esm/Sidenav/ExpandedSidenavDropdownItem.js +3 -2
- package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +2 -2
- package/esm/Sidenav/Sidenav.js +2 -2
- package/esm/Sidenav/SidenavDropdown.js +5 -5
- package/esm/Sidenav/SidenavDropdownItem.js +5 -4
- package/esm/Sidenav/SidenavDropdownMenu.js +2 -2
- package/esm/Sidenav/SidenavDropdownToggle.js +2 -1
- package/esm/Sidenav/SidenavItem.js +8 -8
- package/esm/Sidenav/SidenavToggle.js +1 -1
- package/esm/Slider/Slider.js +1 -1
- package/esm/Stack/Stack.js +4 -3
- package/esm/Stack/StackItem.js +2 -1
- package/esm/Steps/StepItem.js +2 -1
- package/esm/Steps/Steps.js +2 -1
- package/esm/Tag/Tag.js +1 -1
- package/esm/TagInput/index.d.ts +1 -1
- package/esm/TagInput/index.js +4 -0
- package/esm/TagPicker/index.d.ts +1 -1
- package/esm/Timeline/Timeline.js +2 -1
- package/esm/Toggle/Toggle.js +3 -2
- package/esm/Tree/Tree.d.ts +1 -1
- package/esm/TreePicker/TreeNode.d.ts +2 -2
- package/esm/TreePicker/TreeNode.js +24 -58
- package/esm/TreePicker/TreePicker.d.ts +1 -1
- package/esm/TreePicker/TreePicker.js +25 -24
- package/esm/Uploader/UploadFileItem.js +3 -2
- package/esm/Uploader/Uploader.js +3 -2
- package/esm/VisuallyHidden/VisuallyHidden.d.ts +10 -0
- package/esm/VisuallyHidden/VisuallyHidden.js +13 -0
- package/esm/VisuallyHidden/index.d.ts +3 -0
- package/esm/VisuallyHidden/index.js +3 -0
- package/esm/Whisper/Whisper.d.ts +2 -2
- package/esm/Whisper/Whisper.js +3 -2
- package/esm/index.d.ts +5 -1
- package/esm/index.js +3 -1
- package/esm/{CloseButton → internals/CloseButton}/CloseButton.d.ts +2 -2
- package/esm/{CloseButton → internals/CloseButton}/CloseButton.js +1 -1
- package/esm/{Disclosure → internals/Disclosure}/Disclosure.js +1 -1
- package/esm/{Disclosure → internals/Disclosure}/DisclosureButton.js +1 -1
- package/esm/{Menu → internals/Menu}/Menu.js +6 -6
- package/esm/{Menu → internals/Menu}/MenuItem.js +1 -1
- package/esm/{Menu → internals/Menu}/Menubar.js +3 -3
- package/esm/{Overlay → internals/Overlay}/Modal.d.ts +1 -1
- package/esm/{Overlay → internals/Overlay}/Modal.js +3 -3
- package/{cjs → esm/internals}/Overlay/Overlay.d.ts +1 -1
- package/esm/{Overlay → internals/Overlay}/Overlay.js +2 -2
- package/{cjs → esm/internals}/Overlay/OverlayTrigger.d.ts +1 -1
- package/esm/{Overlay → internals/Overlay}/OverlayTrigger.js +2 -2
- package/esm/{Overlay → internals/Overlay}/Position.d.ts +1 -1
- package/esm/{Overlay → internals/Overlay}/Position.js +3 -3
- package/esm/{Overlay → internals/Overlay}/positionUtils.d.ts +1 -1
- package/{cjs/Picker/DropdownMenuCheckItem.d.ts → esm/internals/Picker/ListCheckItem.d.ts} +5 -5
- package/esm/{Picker/DropdownMenuCheckItem.js → internals/Picker/ListCheckItem.js} +16 -31
- package/esm/internals/Picker/ListItem.d.ts +14 -0
- package/esm/{Picker/DropdownMenuItem.js → internals/Picker/ListItem.js} +16 -24
- package/esm/internals/Picker/ListItemGroup.d.ts +6 -0
- package/esm/{Picker/DropdownMenuGroup.js → internals/Picker/ListItemGroup.js} +4 -10
- package/esm/internals/Picker/Listbox.d.ts +35 -0
- package/esm/{Picker/DropdownMenu.js → internals/Picker/Listbox.js} +54 -68
- package/esm/{Picker → internals/Picker}/PickerIndicator.js +3 -3
- package/esm/{Picker → internals/Picker}/PickerLabel.js +1 -1
- package/esm/internals/Picker/PickerPopup.d.ts +12 -0
- package/esm/{Picker/PickerOverlay.js → internals/Picker/PickerPopup.js} +10 -8
- package/esm/{Picker → internals/Picker}/PickerToggle.d.ts +2 -2
- package/esm/{Picker → internals/Picker}/PickerToggle.js +19 -12
- package/{cjs → esm/internals}/Picker/PickerToggleTrigger.d.ts +18 -3
- package/esm/{Picker → internals/Picker}/PickerToggleTrigger.js +21 -6
- package/{cjs → esm/internals}/Picker/SelectedElement.d.ts +1 -1
- package/esm/{Picker → internals/Picker}/SelectedElement.js +1 -1
- package/{cjs → esm/internals}/Picker/ToggleButton.d.ts +1 -1
- package/esm/{Picker → internals/Picker}/ToggleButton.js +1 -1
- package/esm/internals/Picker/TreeView.d.ts +7 -0
- package/esm/internals/Picker/TreeView.js +25 -0
- package/esm/internals/Picker/hooks/index.d.ts +6 -0
- package/esm/internals/Picker/hooks/index.js +7 -0
- package/esm/internals/Picker/hooks/useCombobox.d.ts +7 -0
- package/esm/internals/Picker/hooks/useCombobox.js +17 -0
- package/esm/internals/Picker/hooks/useFocusItemValue.d.ts +30 -0
- package/esm/internals/Picker/hooks/useFocusItemValue.js +240 -0
- package/esm/internals/Picker/hooks/usePickerClassName.d.ts +21 -0
- package/esm/internals/Picker/hooks/usePickerClassName.js +33 -0
- package/{cjs/Picker → esm/internals/Picker/hooks}/usePickerRef.d.ts +2 -2
- package/esm/{Picker → internals/Picker/hooks}/usePickerRef.js +1 -1
- package/esm/internals/Picker/hooks/useSearch.d.ts +18 -0
- package/esm/internals/Picker/hooks/useSearch.js +51 -0
- package/esm/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
- package/esm/internals/Picker/hooks/useToggleKeyDownEvent.js +96 -0
- package/esm/{Picker → internals/Picker}/index.d.ts +7 -7
- package/esm/{Picker → internals/Picker}/index.js +7 -7
- package/{cjs → esm/internals}/Picker/propTypes.d.ts +0 -6
- package/esm/{Picker → internals/Picker}/propTypes.js +5 -9
- package/esm/{Picker → internals/Picker}/types.d.ts +2 -2
- package/esm/internals/Picker/utils.d.ts +22 -0
- package/esm/internals/Picker/utils.js +88 -0
- package/esm/{Plaintext → internals/Plaintext}/Plaintext.d.ts +1 -1
- package/esm/{Plaintext → internals/Plaintext}/Plaintext.js +1 -1
- package/esm/{Ripple → internals/Ripple}/Ripple.d.ts +1 -1
- package/esm/{Ripple → internals/Ripple}/Ripple.js +2 -2
- package/esm/internals/SearchBox/SearchBox.d.ts +11 -0
- package/esm/internals/SearchBox/SearchBox.js +44 -0
- package/esm/internals/SearchBox/index.d.ts +2 -0
- package/esm/internals/SearchBox/index.js +3 -0
- package/esm/{Windowing → internals/Windowing}/AutoSizer.js +1 -1
- package/{cjs → esm/internals}/Windowing/List.d.ts +1 -1
- package/esm/{Windowing → internals/Windowing}/List.js +1 -1
- package/esm/internals/index.d.ts +0 -0
- package/esm/internals/index.js +1 -0
- package/esm/{utils → internals/propTypes}/deprecatePropType.js +1 -1
- package/esm/{utils/propTypeChecker.d.ts → internals/propTypes/index.d.ts} +2 -0
- package/esm/{utils/propTypeChecker.js → internals/propTypes/index.js} +2 -0
- package/esm/internals/propTypes/oneOf.d.ts +3 -0
- package/esm/internals/propTypes/oneOf.js +13 -0
- package/esm/utils/ReactChildren.d.ts +1 -1
- package/esm/utils/ReactChildren.js +14 -1
- package/esm/utils/dateUtils.js +4 -0
- package/esm/utils/index.d.ts +0 -1
- package/esm/utils/index.js +0 -2
- package/esm/utils/treeUtils.d.ts +1 -1
- package/esm/utils/treeUtils.js +1 -1
- package/esm/utils/useUniqueId.js +1 -1
- package/{CloseButton → internals/CloseButton}/styles/index.less +1 -1
- package/{Picker → internals/Picker}/styles/index.less +24 -45
- package/{Picker → internals/Picker}/styles/mixin.less +6 -8
- package/{Ripple → internals/Ripple}/styles/index.less +1 -1
- package/internals/SearchBox/styles/index.less +11 -0
- package/internals/package.json +7 -0
- package/package.json +1 -1
- package/styles/color-modes/dark.less +40 -0
- package/styles/color-modes/high-contrast.less +35 -0
- package/styles/color-modes/light.less +46 -0
- package/styles/index.less +10 -4
- package/styles/variables.less +1 -4
- package/toaster/styles/index.css +239 -0
- package/CloseButton/package.json +0 -7
- package/Disclosure/package.json +0 -7
- package/Menu/package.json +0 -7
- package/Overlay/package.json +0 -7
- package/Picker/package.json +0 -7
- package/Plaintext/package.json +0 -7
- package/Ripple/package.json +0 -7
- package/Windowing/package.json +0 -7
- package/cjs/Picker/DropdownMenu.d.ts +0 -59
- package/cjs/Picker/DropdownMenuGroup.d.ts +0 -6
- package/cjs/Picker/DropdownMenuItem.d.ts +0 -14
- package/cjs/Picker/PickerOverlay.d.ts +0 -12
- package/cjs/Picker/SearchBar.d.ts +0 -11
- package/cjs/Picker/SearchBar.js +0 -61
- package/cjs/Picker/utils.d.ts +0 -116
- package/cjs/Picker/utils.js +0 -500
- package/esm/Picker/DropdownMenu.d.ts +0 -59
- package/esm/Picker/DropdownMenuGroup.d.ts +0 -6
- package/esm/Picker/DropdownMenuItem.d.ts +0 -14
- package/esm/Picker/PickerOverlay.d.ts +0 -12
- package/esm/Picker/SearchBar.d.ts +0 -11
- package/esm/Picker/SearchBar.js +0 -54
- package/esm/Picker/utils.d.ts +0 -116
- package/esm/Picker/utils.js +0 -487
- /package/cjs/{CloseButton → internals/CloseButton}/index.d.ts +0 -0
- /package/cjs/{CloseButton → internals/CloseButton}/index.js +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/Disclosure.d.ts +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/DisclosureButton.d.ts +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/DisclosureContent.d.ts +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/DisclosureContent.js +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/DisclosureContext.d.ts +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/DisclosureContext.js +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/index.d.ts +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/index.js +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/useDisclosureContext.d.ts +0 -0
- /package/cjs/{Disclosure → internals/Disclosure}/useDisclosureContext.js +0 -0
- /package/cjs/{Menu → internals/Menu}/Menu.d.ts +0 -0
- /package/cjs/{Menu → internals/Menu}/MenuContext.d.ts +0 -0
- /package/cjs/{Menu → internals/Menu}/MenuContext.js +0 -0
- /package/cjs/{Menu → internals/Menu}/MenuItem.d.ts +0 -0
- /package/cjs/{Menu → internals/Menu}/Menubar.d.ts +0 -0
- /package/cjs/{Menu → internals/Menu}/index.d.ts +0 -0
- /package/cjs/{Menu → internals/Menu}/index.js +0 -0
- /package/cjs/{Menu → internals/Menu}/useMenu.d.ts +0 -0
- /package/cjs/{Menu → internals/Menu}/useMenu.js +0 -0
- /package/cjs/{Overlay → internals/Overlay}/ModalManager.d.ts +0 -0
- /package/cjs/{Overlay → internals/Overlay}/ModalManager.js +0 -0
- /package/cjs/{Overlay → internals/Overlay}/OverlayContext.d.ts +0 -0
- /package/cjs/{Overlay → internals/Overlay}/OverlayContext.js +0 -0
- /package/cjs/{Overlay → internals/Overlay}/index.d.ts +0 -0
- /package/cjs/{Overlay → internals/Overlay}/index.js +0 -0
- /package/cjs/{Overlay → internals/Overlay}/positionUtils.js +0 -0
- /package/cjs/{Picker → internals/Picker}/PickerIndicator.d.ts +0 -0
- /package/cjs/{Picker → internals/Picker}/PickerLabel.d.ts +0 -0
- /package/cjs/{Picker → internals/Picker}/types.js +0 -0
- /package/cjs/{Plaintext → internals/Plaintext}/index.d.ts +0 -0
- /package/cjs/{Plaintext → internals/Plaintext}/index.js +0 -0
- /package/cjs/{Ripple → internals/Ripple}/index.d.ts +0 -0
- /package/cjs/{Ripple → internals/Ripple}/index.js +0 -0
- /package/cjs/{Windowing → internals/Windowing}/AutoSizer.d.ts +0 -0
- /package/cjs/{Windowing → internals/Windowing}/index.d.ts +0 -0
- /package/cjs/{Windowing → internals/Windowing}/index.js +0 -0
- /package/cjs/{utils → internals/propTypes}/deprecatePropType.d.ts +0 -0
- /package/esm/{CloseButton → internals/CloseButton}/index.d.ts +0 -0
- /package/esm/{CloseButton → internals/CloseButton}/index.js +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/Disclosure.d.ts +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/DisclosureButton.d.ts +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/DisclosureContent.d.ts +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/DisclosureContent.js +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/DisclosureContext.d.ts +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/DisclosureContext.js +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/index.d.ts +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/index.js +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/useDisclosureContext.d.ts +0 -0
- /package/esm/{Disclosure → internals/Disclosure}/useDisclosureContext.js +0 -0
- /package/esm/{Menu → internals/Menu}/Menu.d.ts +0 -0
- /package/esm/{Menu → internals/Menu}/MenuContext.d.ts +0 -0
- /package/esm/{Menu → internals/Menu}/MenuContext.js +0 -0
- /package/esm/{Menu → internals/Menu}/MenuItem.d.ts +0 -0
- /package/esm/{Menu → internals/Menu}/Menubar.d.ts +0 -0
- /package/esm/{Menu → internals/Menu}/index.d.ts +0 -0
- /package/esm/{Menu → internals/Menu}/index.js +0 -0
- /package/esm/{Menu → internals/Menu}/useMenu.d.ts +0 -0
- /package/esm/{Menu → internals/Menu}/useMenu.js +0 -0
- /package/esm/{Overlay → internals/Overlay}/ModalManager.d.ts +0 -0
- /package/esm/{Overlay → internals/Overlay}/ModalManager.js +0 -0
- /package/esm/{Overlay → internals/Overlay}/OverlayContext.d.ts +0 -0
- /package/esm/{Overlay → internals/Overlay}/OverlayContext.js +0 -0
- /package/esm/{Overlay → internals/Overlay}/index.d.ts +0 -0
- /package/esm/{Overlay → internals/Overlay}/index.js +0 -0
- /package/esm/{Overlay → internals/Overlay}/positionUtils.js +0 -0
- /package/esm/{Picker → internals/Picker}/PickerIndicator.d.ts +0 -0
- /package/esm/{Picker → internals/Picker}/PickerLabel.d.ts +0 -0
- /package/esm/{Picker → internals/Picker}/types.js +0 -0
- /package/esm/{Plaintext → internals/Plaintext}/index.d.ts +0 -0
- /package/esm/{Plaintext → internals/Plaintext}/index.js +0 -0
- /package/esm/{Ripple → internals/Ripple}/index.d.ts +0 -0
- /package/esm/{Ripple → internals/Ripple}/index.js +0 -0
- /package/esm/{Windowing → internals/Windowing}/AutoSizer.d.ts +0 -0
- /package/esm/{Windowing → internals/Windowing}/index.d.ts +0 -0
- /package/esm/{Windowing → internals/Windowing}/index.js +0 -0
- /package/esm/{utils → internals/propTypes}/deprecatePropType.d.ts +0 -0
- /package/{Ripple → internals/Ripple}/styles/mixins.less +0 -0
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
-
import React, {
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
4
|
+
import React, { useEffect, useRef } from 'react';
|
|
6
5
|
import SpinnerIcon from '@rsuite/icons/legacy/Spinner';
|
|
7
6
|
import isUndefined from 'lodash/isUndefined';
|
|
8
7
|
import isNil from 'lodash/isNil';
|
|
9
|
-
import { shallowEqual, useClassNames, mergeRefs, useCustom } from '../utils';
|
|
10
|
-
import {
|
|
8
|
+
import { shallowEqual, useClassNames, mergeRefs, useCustom, useEventCallback } from '../utils';
|
|
9
|
+
import { ListItem, useCombobox } from '../internals/Picker';
|
|
11
10
|
import AngleLeftIcon from '@rsuite/icons/legacy/AngleLeft';
|
|
12
11
|
import AngleRightIcon from '@rsuite/icons/legacy/AngleRight';
|
|
13
12
|
import getPosition from 'dom-lib/getPosition';
|
|
14
13
|
import scrollTop from 'dom-lib/scrollTop';
|
|
15
14
|
var emptyArray = [];
|
|
16
|
-
var
|
|
15
|
+
var TreeView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
17
16
|
var _props$as = props.as,
|
|
18
17
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
19
18
|
activeItemValue = props.activeItemValue,
|
|
@@ -36,17 +35,22 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
36
35
|
loadingItemsSet = props.loadingItemsSet,
|
|
37
36
|
_props$labelKey = props.labelKey,
|
|
38
37
|
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
38
|
+
style = props.style,
|
|
39
39
|
renderMenu = props.renderMenu,
|
|
40
40
|
renderMenuItem = props.renderMenuItem,
|
|
41
41
|
onSelect = props.onSelect,
|
|
42
|
-
rest = _objectWithoutPropertiesLoose(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "renderMenu", "renderMenuItem", "onSelect"]);
|
|
42
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "style", "renderMenu", "renderMenuItem", "onSelect"]);
|
|
43
43
|
var _useClassNames = useClassNames(classPrefix),
|
|
44
44
|
merge = _useClassNames.merge,
|
|
45
45
|
prefix = _useClassNames.prefix;
|
|
46
46
|
var classes = merge(className, prefix('items'));
|
|
47
47
|
var rootRef = useRef();
|
|
48
|
-
var _useCustom = useCustom(
|
|
48
|
+
var _useCustom = useCustom(),
|
|
49
49
|
rtl = _useCustom.rtl;
|
|
50
|
+
var _useCombobox = useCombobox(),
|
|
51
|
+
id = _useCombobox.id,
|
|
52
|
+
labelId = _useCombobox.labelId,
|
|
53
|
+
popupType = _useCombobox.popupType;
|
|
50
54
|
useEffect(function () {
|
|
51
55
|
var _rootRef$current;
|
|
52
56
|
var columns = ((_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelectorAll('[data-type="column"]')) || [];
|
|
@@ -65,7 +69,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
65
69
|
}
|
|
66
70
|
});
|
|
67
71
|
}, [prefix]);
|
|
68
|
-
var getCascadePaths =
|
|
72
|
+
var getCascadePaths = function getCascadePaths(layer, node) {
|
|
69
73
|
var paths = [];
|
|
70
74
|
for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
|
|
71
75
|
if (i < layer - 1 && cascadePaths) {
|
|
@@ -74,14 +78,19 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
74
78
|
}
|
|
75
79
|
paths.push(node);
|
|
76
80
|
return paths;
|
|
77
|
-
}
|
|
78
|
-
var handleSelect = function
|
|
81
|
+
};
|
|
82
|
+
var handleSelect = useEventCallback(function (layer, node, event) {
|
|
79
83
|
var isLeafNode = isNil(node[childrenKey]);
|
|
80
84
|
var cascadePaths = getCascadePaths(layer + 1, node);
|
|
81
85
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, isLeafNode, event);
|
|
82
|
-
};
|
|
83
|
-
var renderCascadeNode = function renderCascadeNode(
|
|
86
|
+
});
|
|
87
|
+
var renderCascadeNode = function renderCascadeNode(nodeProps) {
|
|
84
88
|
var _loadingItemsSet$has;
|
|
89
|
+
var node = nodeProps.node,
|
|
90
|
+
index = nodeProps.index,
|
|
91
|
+
layer = nodeProps.layer,
|
|
92
|
+
focus = nodeProps.focus,
|
|
93
|
+
size = nodeProps.size;
|
|
85
94
|
var children = node[childrenKey];
|
|
86
95
|
var value = node[valueKey];
|
|
87
96
|
var label = node[labelKey];
|
|
@@ -93,16 +102,19 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
93
102
|
// Use `value` in keys when If `value` is string or number
|
|
94
103
|
var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
|
|
95
104
|
var Icon = loading ? SpinnerIcon : rtl ? AngleLeftIcon : AngleRightIcon;
|
|
96
|
-
return /*#__PURE__*/React.createElement(
|
|
97
|
-
classPrefix: "picker-cascader-menu-item",
|
|
105
|
+
return /*#__PURE__*/React.createElement(ListItem, {
|
|
98
106
|
as: 'li',
|
|
99
107
|
role: "treeitem",
|
|
108
|
+
"aria-level": layer + 1,
|
|
109
|
+
"aria-setsize": size,
|
|
110
|
+
"aria-posinset": index + 1,
|
|
111
|
+
"aria-label": typeof label === 'string' ? label : undefined,
|
|
112
|
+
classPrefix: "picker-cascader-menu-item",
|
|
100
113
|
key: layer + "-" + onlyKey,
|
|
101
114
|
disabled: disabled,
|
|
102
115
|
active: !isUndefined(activeItemValue) && shallowEqual(activeItemValue, value),
|
|
103
116
|
focus: focus,
|
|
104
117
|
value: value,
|
|
105
|
-
"aria-owns": node.children ? 'treeitem-' + value + '-children' : undefined,
|
|
106
118
|
className: children ? prefix('has-children') : undefined,
|
|
107
119
|
onSelect: function onSelect(_value, event) {
|
|
108
120
|
return handleSelect(layer, node, event);
|
|
@@ -112,54 +124,43 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
112
124
|
spin: loading
|
|
113
125
|
}) : null);
|
|
114
126
|
};
|
|
115
|
-
var styles = {
|
|
116
|
-
width: cascadeData.length * menuWidth
|
|
117
|
-
};
|
|
118
127
|
var cascadeNodes = cascadeData.map(function (children, layer) {
|
|
119
128
|
var onlyKey = layer + "_" + children.length;
|
|
120
129
|
var parentNode = cascadePaths[layer - 1];
|
|
121
|
-
var menu = /*#__PURE__*/React.createElement(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
130
|
+
var menu = /*#__PURE__*/React.createElement(React.Fragment, null, children.map(function (item, index) {
|
|
131
|
+
var focus = cascadePaths[layer] && shallowEqual(cascadePaths[layer][valueKey], item[valueKey]);
|
|
132
|
+
return renderCascadeNode({
|
|
133
|
+
node: item,
|
|
134
|
+
index: index,
|
|
135
|
+
layer: layer,
|
|
136
|
+
focus: focus,
|
|
137
|
+
size: children.length
|
|
138
|
+
});
|
|
126
139
|
}));
|
|
127
|
-
return /*#__PURE__*/React.createElement("
|
|
128
|
-
|
|
129
|
-
className: prefix('column'),
|
|
140
|
+
return /*#__PURE__*/React.createElement("ul", {
|
|
141
|
+
role: "group",
|
|
130
142
|
"data-layer": layer,
|
|
131
143
|
"data-type": 'column',
|
|
144
|
+
key: onlyKey,
|
|
145
|
+
className: prefix('column'),
|
|
132
146
|
style: {
|
|
133
147
|
height: menuHeight,
|
|
134
148
|
width: menuWidth
|
|
135
149
|
}
|
|
136
150
|
}, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
|
|
137
151
|
});
|
|
152
|
+
var styles = _extends({}, style, {
|
|
153
|
+
width: cascadeData.length * menuWidth
|
|
154
|
+
});
|
|
138
155
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
139
|
-
role: "tree"
|
|
156
|
+
role: "tree",
|
|
157
|
+
id: id + "-" + popupType,
|
|
158
|
+
"aria-labelledby": labelId
|
|
140
159
|
}, rest, {
|
|
141
160
|
ref: mergeRefs(rootRef, ref),
|
|
142
|
-
className: classes
|
|
143
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
161
|
+
className: classes,
|
|
144
162
|
style: styles
|
|
145
|
-
}, cascadeNodes)
|
|
163
|
+
}), cascadeNodes);
|
|
146
164
|
});
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
disabledItemValues: PropTypes.array,
|
|
150
|
-
activeItemValue: PropTypes.any,
|
|
151
|
-
childrenKey: PropTypes.string,
|
|
152
|
-
valueKey: PropTypes.string,
|
|
153
|
-
labelKey: PropTypes.string,
|
|
154
|
-
menuWidth: PropTypes.number,
|
|
155
|
-
menuHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
156
|
-
className: PropTypes.string,
|
|
157
|
-
renderMenuItem: PropTypes.func,
|
|
158
|
-
renderMenu: PropTypes.func,
|
|
159
|
-
onSelect: PropTypes.func,
|
|
160
|
-
cascadeData: PropTypes.array,
|
|
161
|
-
cascadePaths: PropTypes.array
|
|
162
|
-
};
|
|
163
|
-
DropdownMenu.displayName = 'DropdownMenu';
|
|
164
|
-
DropdownMenu.propTypes = dropdownMenuPropTypes;
|
|
165
|
-
export default DropdownMenu;
|
|
165
|
+
TreeView.displayName = 'TreeView';
|
|
166
|
+
export default TreeView;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
|
+
import { ValueType } from './Cascader';
|
|
4
|
+
declare type SetLike<T = unknown> = {
|
|
5
|
+
has(value: T): boolean;
|
|
6
|
+
};
|
|
7
|
+
export interface TreeViewProps extends Omit<WithAsProps, 'classPrefix'> {
|
|
8
|
+
classPrefix: string;
|
|
9
|
+
disabledItemValues: ValueType[];
|
|
10
|
+
activeItemValue?: ValueType | null;
|
|
11
|
+
childrenKey: string;
|
|
12
|
+
cascadeData: (readonly ItemDataType[])[];
|
|
13
|
+
loadingItemsSet?: SetLike<ItemDataType>;
|
|
14
|
+
cascadePaths: ItemDataType[];
|
|
15
|
+
valueKey: string;
|
|
16
|
+
labelKey: string;
|
|
17
|
+
menuWidth?: number;
|
|
18
|
+
menuHeight?: number | string;
|
|
19
|
+
renderMenuItem?: (itemLabel: React.ReactNode, item: ItemDataType) => React.ReactNode;
|
|
20
|
+
renderMenu?: (items: readonly ItemDataType[], menu: React.ReactNode, parentNode?: ItemDataType, layer?: number) => React.ReactNode;
|
|
21
|
+
onSelect?: (node: ItemDataType, cascadePaths: ItemDataType[], isLeafNode: boolean, event: React.MouseEvent) => void;
|
|
22
|
+
}
|
|
23
|
+
declare const TreeView: RsRefForwardingComponent<'div', TreeViewProps>;
|
|
24
|
+
export default TreeView;
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
import React, { useEffect, useRef } from 'react';
|
|
5
|
+
import SpinnerIcon from '@rsuite/icons/legacy/Spinner';
|
|
6
|
+
import isUndefined from 'lodash/isUndefined';
|
|
7
|
+
import isNil from 'lodash/isNil';
|
|
8
|
+
import { shallowEqual, useClassNames, mergeRefs, useCustom, useEventCallback } from '../utils';
|
|
9
|
+
import { ListItem, useCombobox } from '../internals/Picker';
|
|
10
|
+
import AngleLeftIcon from '@rsuite/icons/legacy/AngleLeft';
|
|
11
|
+
import AngleRightIcon from '@rsuite/icons/legacy/AngleRight';
|
|
12
|
+
import getPosition from 'dom-lib/getPosition';
|
|
13
|
+
import scrollTop from 'dom-lib/scrollTop';
|
|
14
|
+
var emptyArray = [];
|
|
15
|
+
var TreeView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
16
|
+
var _props$as = props.as,
|
|
17
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
18
|
+
activeItemValue = props.activeItemValue,
|
|
19
|
+
classPrefix = props.classPrefix,
|
|
20
|
+
className = props.className,
|
|
21
|
+
_props$childrenKey = props.childrenKey,
|
|
22
|
+
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
|
23
|
+
_props$disabledItemVa = props.disabledItemValues,
|
|
24
|
+
disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
|
|
25
|
+
_props$menuWidth = props.menuWidth,
|
|
26
|
+
menuWidth = _props$menuWidth === void 0 ? 120 : _props$menuWidth,
|
|
27
|
+
_props$menuHeight = props.menuHeight,
|
|
28
|
+
menuHeight = _props$menuHeight === void 0 ? 200 : _props$menuHeight,
|
|
29
|
+
_props$valueKey = props.valueKey,
|
|
30
|
+
valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
|
|
31
|
+
_props$cascadeData = props.cascadeData,
|
|
32
|
+
cascadeData = _props$cascadeData === void 0 ? emptyArray : _props$cascadeData,
|
|
33
|
+
_props$cascadePaths = props.cascadePaths,
|
|
34
|
+
cascadePaths = _props$cascadePaths === void 0 ? emptyArray : _props$cascadePaths,
|
|
35
|
+
loadingItemsSet = props.loadingItemsSet,
|
|
36
|
+
_props$labelKey = props.labelKey,
|
|
37
|
+
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
38
|
+
style = props.style,
|
|
39
|
+
renderMenu = props.renderMenu,
|
|
40
|
+
renderMenuItem = props.renderMenuItem,
|
|
41
|
+
onSelect = props.onSelect,
|
|
42
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "style", "renderMenu", "renderMenuItem", "onSelect"]);
|
|
43
|
+
var _useClassNames = useClassNames(classPrefix),
|
|
44
|
+
merge = _useClassNames.merge,
|
|
45
|
+
prefix = _useClassNames.prefix;
|
|
46
|
+
var classes = merge(className, prefix('items'));
|
|
47
|
+
var rootRef = useRef();
|
|
48
|
+
var _useCustom = useCustom(),
|
|
49
|
+
rtl = _useCustom.rtl;
|
|
50
|
+
var _useCombobox = useCombobox(),
|
|
51
|
+
id = _useCombobox.id,
|
|
52
|
+
labelId = _useCombobox.labelId,
|
|
53
|
+
popupType = _useCombobox.popupType;
|
|
54
|
+
useEffect(function () {
|
|
55
|
+
var _rootRef$current;
|
|
56
|
+
var columns = ((_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelectorAll('[data-type="column"]')) || [];
|
|
57
|
+
columns.forEach(function (column) {
|
|
58
|
+
if (!column) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
var activeItem = column.querySelector("." + prefix('item-focus'));
|
|
62
|
+
if (!activeItem) {
|
|
63
|
+
activeItem = column.querySelector("." + prefix('item-active'));
|
|
64
|
+
}
|
|
65
|
+
if (activeItem) {
|
|
66
|
+
var position = getPosition(activeItem, column);
|
|
67
|
+
// Let the active option scroll into view.
|
|
68
|
+
scrollTop(column, position === null || position === void 0 ? void 0 : position.top);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}, [prefix]);
|
|
72
|
+
var getCascadePaths = function getCascadePaths(layer, node) {
|
|
73
|
+
var paths = [];
|
|
74
|
+
for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
|
|
75
|
+
if (i < layer - 1 && cascadePaths) {
|
|
76
|
+
paths.push(cascadePaths[i]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
paths.push(node);
|
|
80
|
+
return paths;
|
|
81
|
+
};
|
|
82
|
+
var handleSelect = useEventCallback(function (layer, node, event) {
|
|
83
|
+
var isLeafNode = isNil(node[childrenKey]);
|
|
84
|
+
var cascadePaths = getCascadePaths(layer + 1, node);
|
|
85
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, isLeafNode, event);
|
|
86
|
+
});
|
|
87
|
+
var renderCascadeNode = function renderCascadeNode(nodeProps) {
|
|
88
|
+
var _loadingItemsSet$has;
|
|
89
|
+
var node = nodeProps.node,
|
|
90
|
+
index = nodeProps.index,
|
|
91
|
+
layer = nodeProps.layer,
|
|
92
|
+
focus = nodeProps.focus,
|
|
93
|
+
size = nodeProps.size;
|
|
94
|
+
var children = node[childrenKey];
|
|
95
|
+
var value = node[valueKey];
|
|
96
|
+
var label = node[labelKey];
|
|
97
|
+
var disabled = disabledItemValues.some(function (disabledValue) {
|
|
98
|
+
return shallowEqual(disabledValue, value);
|
|
99
|
+
});
|
|
100
|
+
var loading = (_loadingItemsSet$has = loadingItemsSet === null || loadingItemsSet === void 0 ? void 0 : loadingItemsSet.has(node)) !== null && _loadingItemsSet$has !== void 0 ? _loadingItemsSet$has : false;
|
|
101
|
+
|
|
102
|
+
// Use `value` in keys when If `value` is string or number
|
|
103
|
+
var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
|
|
104
|
+
var Icon = loading ? SpinnerIcon : rtl ? AngleLeftIcon : AngleRightIcon;
|
|
105
|
+
return /*#__PURE__*/React.createElement(ListItem, {
|
|
106
|
+
as: 'li',
|
|
107
|
+
role: "treeitem",
|
|
108
|
+
"aria-level": layer + 1,
|
|
109
|
+
"aria-setsize": size,
|
|
110
|
+
"aria-posinset": index + 1,
|
|
111
|
+
"aria-label": typeof label === 'string' ? label : undefined,
|
|
112
|
+
classPrefix: "picker-cascader-menu-item",
|
|
113
|
+
key: layer + "-" + onlyKey,
|
|
114
|
+
disabled: disabled,
|
|
115
|
+
active: !isUndefined(activeItemValue) && shallowEqual(activeItemValue, value),
|
|
116
|
+
focus: focus,
|
|
117
|
+
value: value,
|
|
118
|
+
className: children ? prefix('has-children') : undefined,
|
|
119
|
+
onSelect: function onSelect(_value, event) {
|
|
120
|
+
return handleSelect(layer, node, event);
|
|
121
|
+
}
|
|
122
|
+
}, renderMenuItem ? renderMenuItem(label, node) : label, children ? /*#__PURE__*/React.createElement(Icon, {
|
|
123
|
+
className: prefix('caret'),
|
|
124
|
+
spin: loading,
|
|
125
|
+
"data-testid": "spinner"
|
|
126
|
+
}) : null);
|
|
127
|
+
};
|
|
128
|
+
var cascadeNodes = cascadeData.map(function (children, layer) {
|
|
129
|
+
var onlyKey = layer + "_" + children.length;
|
|
130
|
+
var parentNode = cascadePaths[layer - 1];
|
|
131
|
+
var menu = /*#__PURE__*/React.createElement(React.Fragment, null, children.map(function (item, index) {
|
|
132
|
+
var focus = cascadePaths[layer] && shallowEqual(cascadePaths[layer][valueKey], item[valueKey]);
|
|
133
|
+
return renderCascadeNode({
|
|
134
|
+
node: item,
|
|
135
|
+
index: index,
|
|
136
|
+
layer: layer,
|
|
137
|
+
focus: focus,
|
|
138
|
+
size: children.length
|
|
139
|
+
});
|
|
140
|
+
}));
|
|
141
|
+
return /*#__PURE__*/React.createElement("ul", {
|
|
142
|
+
role: "group",
|
|
143
|
+
"data-layer": layer,
|
|
144
|
+
"data-type": 'column',
|
|
145
|
+
key: onlyKey,
|
|
146
|
+
className: prefix('column'),
|
|
147
|
+
style: {
|
|
148
|
+
height: menuHeight,
|
|
149
|
+
width: menuWidth
|
|
150
|
+
}
|
|
151
|
+
}, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
|
|
152
|
+
});
|
|
153
|
+
var styles = _extends({}, style, {
|
|
154
|
+
width: cascadeData.length * menuWidth
|
|
155
|
+
});
|
|
156
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
157
|
+
role: "tree",
|
|
158
|
+
id: id + "-" + popupType,
|
|
159
|
+
"aria-labelledby": labelId
|
|
160
|
+
}, rest, {
|
|
161
|
+
ref: mergeRefs(rootRef, ref),
|
|
162
|
+
className: classes,
|
|
163
|
+
style: styles
|
|
164
|
+
}), cascadeNodes);
|
|
165
|
+
});
|
|
166
|
+
TreeView.displayName = 'TreeView';
|
|
167
|
+
export default TreeView;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import { PickerHandle, PickerToggleProps } from '../Picker';
|
|
3
|
+
import { PickerHandle, PickerToggleProps } from '../internals/Picker';
|
|
4
4
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
5
5
|
import type { MultipleSelectProps } from '../SelectPicker';
|
|
6
6
|
export declare type ValueType = (number | string)[];
|
|
@@ -15,7 +15,9 @@ import isNil from 'lodash/isNil';
|
|
|
15
15
|
import { filterNodesOfTree } from '../utils/treeUtils';
|
|
16
16
|
import { createChainedFunction, useClassNames, shallowEqual, useCustom, useControlled, useEventCallback, mergeRefs } from '../utils';
|
|
17
17
|
import { getDataGroupBy } from '../utils/getDataGroupBy';
|
|
18
|
-
import {
|
|
18
|
+
import { Listbox, ListCheckItem, PickerToggle, PickerPopup, SelectedElement, PickerToggleTrigger, useFocusItemValue, usePickerClassName, useSearch, useToggleKeyDownEvent, usePickerRef, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../internals/Picker';
|
|
19
|
+
import SearchBox from '../internals/SearchBox';
|
|
20
|
+
import { oneOf } from '../internals/propTypes';
|
|
19
21
|
var emptyArray = [];
|
|
20
22
|
/**
|
|
21
23
|
* A component for selecting checkable items in a dropdown list.
|
|
@@ -246,7 +248,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
246
248
|
hasValue = false;
|
|
247
249
|
}
|
|
248
250
|
}
|
|
249
|
-
var
|
|
251
|
+
var renderPopup = function renderPopup(positionProps, speakerRef) {
|
|
250
252
|
var left = positionProps.left,
|
|
251
253
|
top = positionProps.top,
|
|
252
254
|
className = positionProps.className;
|
|
@@ -274,8 +276,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
274
276
|
} else if (typeof sort === 'function') {
|
|
275
277
|
items = items.sort(sort(false));
|
|
276
278
|
}
|
|
277
|
-
var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(
|
|
278
|
-
id: id ? id + "-listbox" : undefined,
|
|
279
|
+
var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(Listbox, {
|
|
279
280
|
listProps: listProps,
|
|
280
281
|
listRef: list,
|
|
281
282
|
disabledItemValues: disabledItemValues,
|
|
@@ -285,7 +286,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
285
286
|
renderMenuItem: renderMenuItem,
|
|
286
287
|
maxHeight: menuMaxHeight,
|
|
287
288
|
classPrefix: 'picker-check-menu',
|
|
288
|
-
|
|
289
|
+
listItemAs: ListCheckItem,
|
|
289
290
|
activeItemValues: value,
|
|
290
291
|
focusItemValue: focusItemValue,
|
|
291
292
|
data: [].concat(filteredStickyItems, items)
|
|
@@ -299,14 +300,14 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
299
300
|
}) : /*#__PURE__*/React.createElement("div", {
|
|
300
301
|
className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["none"])))
|
|
301
302
|
}, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
|
|
302
|
-
return /*#__PURE__*/React.createElement(
|
|
303
|
+
return /*#__PURE__*/React.createElement(PickerPopup, {
|
|
303
304
|
ref: mergeRefs(overlay, speakerRef),
|
|
304
305
|
autoWidth: menuAutoWidth,
|
|
305
306
|
className: classes,
|
|
306
307
|
style: styles,
|
|
307
308
|
onKeyDown: onPickerKeyDown,
|
|
308
309
|
target: trigger
|
|
309
|
-
}, searchable && /*#__PURE__*/React.createElement(
|
|
310
|
+
}, searchable && /*#__PURE__*/React.createElement(SearchBox, {
|
|
310
311
|
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
311
312
|
onChange: handleSearch,
|
|
312
313
|
value: searchKeyword,
|
|
@@ -324,19 +325,20 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
324
325
|
classes = _usePickerClassName[0],
|
|
325
326
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
326
327
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
328
|
+
id: id,
|
|
329
|
+
multiple: true,
|
|
327
330
|
pickerProps: pick(props, pickTriggerPropKeys),
|
|
328
331
|
ref: trigger,
|
|
329
332
|
placement: placement,
|
|
330
333
|
onEnter: createChainedFunction(initStickyItems, onEnter),
|
|
331
334
|
onEntered: createChainedFunction(handleEntered, onEntered),
|
|
332
335
|
onExited: createChainedFunction(handleExited, onExited),
|
|
333
|
-
speaker:
|
|
336
|
+
speaker: renderPopup
|
|
334
337
|
}, /*#__PURE__*/React.createElement(Component, {
|
|
335
338
|
className: classes,
|
|
336
339
|
style: style,
|
|
337
340
|
ref: root
|
|
338
341
|
}, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
339
|
-
id: id,
|
|
340
342
|
ref: target,
|
|
341
343
|
appearance: appearance,
|
|
342
344
|
disabled: disabled,
|
|
@@ -347,13 +349,14 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
347
349
|
hasValue: hasValue,
|
|
348
350
|
active: active,
|
|
349
351
|
placement: placement,
|
|
350
|
-
inputValue: value
|
|
352
|
+
inputValue: value,
|
|
353
|
+
focusItemValue: focusItemValue
|
|
351
354
|
}), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
|
|
352
355
|
});
|
|
353
356
|
CheckPicker.displayName = 'CheckPicker';
|
|
354
357
|
CheckPicker.propTypes = _extends({}, listPickerPropTypes, {
|
|
355
358
|
locale: PropTypes.any,
|
|
356
|
-
appearance:
|
|
359
|
+
appearance: oneOf(['default', 'subtle']),
|
|
357
360
|
menuAutoWidth: PropTypes.bool,
|
|
358
361
|
menuMaxHeight: PropTypes.number,
|
|
359
362
|
renderMenu: PropTypes.func,
|
|
@@ -21,8 +21,8 @@ export interface CheckTreeNodeProps extends WithAsProps {
|
|
|
21
21
|
allUncheckable?: boolean;
|
|
22
22
|
onExpand?: (nodeData: any) => void;
|
|
23
23
|
onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
renderTreeIcon?: (nodeData: any, expandIcon?: React.ReactNode) => React.ReactNode;
|
|
25
|
+
renderTreeNode?: (nodeData: any) => React.ReactNode;
|
|
26
26
|
}
|
|
27
27
|
declare const CheckTreeNode: RsRefForwardingComponent<'div', CheckTreeNodeProps>;
|
|
28
28
|
export default CheckTreeNode;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
-
import React, { forwardRef
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
4
|
+
import React, { forwardRef } from 'react';
|
|
6
5
|
import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
|
|
7
6
|
import Spinner from '@rsuite/icons/legacy/Spinner';
|
|
8
|
-
import
|
|
7
|
+
import ListCheckItem from '../internals/Picker/ListCheckItem';
|
|
9
8
|
import { getTreeNodeIndent } from '../utils/treeUtils';
|
|
10
|
-
import { useClassNames, CHECK_STATE, reactToString } from '../utils';
|
|
9
|
+
import { useClassNames, useEventCallback, CHECK_STATE, reactToString } from '../utils';
|
|
11
10
|
var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
12
11
|
var _ref$as = _ref.as,
|
|
13
12
|
Component = _ref$as === void 0 ? 'div' : _ref$as,
|
|
@@ -29,11 +28,12 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
29
28
|
label = _ref.label,
|
|
30
29
|
uncheckable = _ref.uncheckable,
|
|
31
30
|
checkState = _ref.checkState,
|
|
31
|
+
value = _ref.value,
|
|
32
32
|
onExpand = _ref.onExpand,
|
|
33
33
|
onSelect = _ref.onSelect,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
rest = _objectWithoutPropertiesLoose(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "onExpand", "onSelect", "
|
|
34
|
+
renderTreeIcon = _ref.renderTreeIcon,
|
|
35
|
+
renderTreeNode = _ref.renderTreeNode,
|
|
36
|
+
rest = _objectWithoutPropertiesLoose(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "value", "onExpand", "onSelect", "renderTreeIcon", "renderTreeNode"]);
|
|
37
37
|
var _useClassNames = useClassNames(classPrefix),
|
|
38
38
|
prefix = _useClassNames.prefix,
|
|
39
39
|
merge = _useClassNames.merge,
|
|
@@ -46,13 +46,13 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
46
46
|
return nodes.join('');
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
-
var handleExpand =
|
|
49
|
+
var handleExpand = useEventCallback(function (event) {
|
|
50
50
|
var _event$nativeEvent, _event$nativeEvent$st;
|
|
51
51
|
// stop propagation when using custom loading icon
|
|
52
52
|
event === null || event === void 0 ? void 0 : (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : (_event$nativeEvent$st = _event$nativeEvent.stopImmediatePropagation) === null || _event$nativeEvent$st === void 0 ? void 0 : _event$nativeEvent$st.call(_event$nativeEvent);
|
|
53
53
|
onExpand === null || onExpand === void 0 ? void 0 : onExpand(nodeData);
|
|
54
|
-
}
|
|
55
|
-
var handleSelect =
|
|
54
|
+
});
|
|
55
|
+
var handleSelect = useEventCallback(function (_value, event) {
|
|
56
56
|
if (disabled || uncheckable) {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
@@ -67,7 +67,7 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
67
67
|
check: isChecked
|
|
68
68
|
});
|
|
69
69
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextNodeData, event);
|
|
70
|
-
}
|
|
70
|
+
});
|
|
71
71
|
var renderIcon = function renderIcon() {
|
|
72
72
|
var expandIconClasses = prefix('expand-icon', 'icon', {
|
|
73
73
|
expanded: expand
|
|
@@ -82,8 +82,8 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
82
82
|
spin: true
|
|
83
83
|
}));
|
|
84
84
|
}
|
|
85
|
-
if (typeof
|
|
86
|
-
var customIcon =
|
|
85
|
+
if (typeof renderTreeIcon === 'function') {
|
|
86
|
+
var customIcon = renderTreeIcon(nodeData);
|
|
87
87
|
expandIcon = customIcon !== null ? /*#__PURE__*/React.createElement("div", {
|
|
88
88
|
className: prefix('custom-icon')
|
|
89
89
|
}, customIcon) : expandIcon;
|
|
@@ -96,23 +96,6 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
96
96
|
onClick: handleExpand
|
|
97
97
|
}, expandIcon) : null;
|
|
98
98
|
};
|
|
99
|
-
var renderLabel = function renderLabel() {
|
|
100
|
-
return /*#__PURE__*/React.createElement(DropdownMenuCheckItem, {
|
|
101
|
-
as: "div",
|
|
102
|
-
active: checkState === CHECK_STATE.CHECK,
|
|
103
|
-
indeterminate: checkState === CHECK_STATE.INDETERMINATE,
|
|
104
|
-
focus: focus,
|
|
105
|
-
checkable: !uncheckable,
|
|
106
|
-
disabled: disabled,
|
|
107
|
-
"data-layer": layer,
|
|
108
|
-
value: nodeData.refKey,
|
|
109
|
-
className: prefix('label'),
|
|
110
|
-
title: getTitle(),
|
|
111
|
-
onSelect: handleSelect
|
|
112
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
113
|
-
className: prefix('text-wrapper')
|
|
114
|
-
}, typeof onRenderTreeNode === 'function' ? onRenderTreeNode(nodeData) : label));
|
|
115
|
-
};
|
|
116
99
|
var classes = merge(className, withClassPrefix({
|
|
117
100
|
disabled: disabled,
|
|
118
101
|
'all-uncheckable': !!allUncheckable,
|
|
@@ -120,42 +103,31 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
120
103
|
focus: focus
|
|
121
104
|
}));
|
|
122
105
|
var styles = _extends({}, style, getTreeNodeIndent(rtl, layer - 1));
|
|
123
|
-
return visible ? /*#__PURE__*/React.createElement(Component, _extends({
|
|
106
|
+
return visible ? /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
107
|
+
style: styles,
|
|
108
|
+
className: classes,
|
|
109
|
+
ref: ref
|
|
110
|
+
}), renderIcon(), /*#__PURE__*/React.createElement(ListCheckItem, {
|
|
111
|
+
as: "div",
|
|
124
112
|
role: "treeitem",
|
|
125
113
|
"aria-label": label,
|
|
126
114
|
"aria-expanded": expand,
|
|
127
115
|
"aria-selected": checkState === CHECK_STATE.CHECK,
|
|
128
116
|
"aria-disabled": disabled,
|
|
129
|
-
"aria-level": layer
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
117
|
+
"aria-level": layer,
|
|
118
|
+
active: checkState === CHECK_STATE.CHECK,
|
|
119
|
+
indeterminate: checkState === CHECK_STATE.INDETERMINATE,
|
|
120
|
+
focus: focus,
|
|
121
|
+
checkable: !uncheckable,
|
|
122
|
+
disabled: disabled,
|
|
123
|
+
"data-layer": layer,
|
|
124
|
+
value: nodeData.refKey || value,
|
|
125
|
+
className: prefix('label'),
|
|
126
|
+
title: getTitle(),
|
|
127
|
+
onSelect: handleSelect
|
|
128
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
129
|
+
className: prefix('text-wrapper')
|
|
130
|
+
}, typeof renderTreeNode === 'function' ? renderTreeNode(nodeData) : label))) : null;
|
|
135
131
|
});
|
|
136
132
|
CheckTreeNode.displayName = 'CheckTreeNode';
|
|
137
|
-
CheckTreeNode.propTypes = {
|
|
138
|
-
as: PropTypes.elementType,
|
|
139
|
-
rtl: PropTypes.bool,
|
|
140
|
-
classPrefix: PropTypes.string,
|
|
141
|
-
visible: PropTypes.bool,
|
|
142
|
-
style: PropTypes.object,
|
|
143
|
-
label: PropTypes.any,
|
|
144
|
-
layer: PropTypes.number,
|
|
145
|
-
loading: PropTypes.bool,
|
|
146
|
-
value: PropTypes.any,
|
|
147
|
-
focus: PropTypes.bool,
|
|
148
|
-
expand: PropTypes.bool,
|
|
149
|
-
nodeData: PropTypes.object,
|
|
150
|
-
disabled: PropTypes.bool,
|
|
151
|
-
className: PropTypes.string,
|
|
152
|
-
checkState: PropTypes.oneOf([CHECK_STATE.UNCHECK, CHECK_STATE.CHECK, CHECK_STATE.INDETERMINATE]),
|
|
153
|
-
hasChildren: PropTypes.bool,
|
|
154
|
-
uncheckable: PropTypes.bool,
|
|
155
|
-
allUncheckable: PropTypes.bool,
|
|
156
|
-
onExpand: PropTypes.func,
|
|
157
|
-
onSelect: PropTypes.func,
|
|
158
|
-
onRenderTreeIcon: PropTypes.func,
|
|
159
|
-
onRenderTreeNode: PropTypes.func
|
|
160
|
-
};
|
|
161
133
|
export default CheckTreeNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
3
|
+
import { PickerComponent, PickerToggleProps } from '../internals/Picker';
|
|
4
4
|
import { TreeBaseProps } from '../Tree/Tree';
|
|
5
5
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
6
6
|
export declare type ValueType = (string | number)[];
|