rsuite 5.2.4 → 5.4.2
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 +4 -3
- package/Modal/styles/index.less +23 -22
- package/Nav/styles/index.less +1 -0
- package/Navbar/styles/index.less +19 -5
- package/Radio/styles/index.less +6 -0
- package/Sidenav/styles/index.less +2 -2
- package/Stack/package.json +7 -0
- package/Stack/styles/index.less +5 -0
- 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 +8 -6
- 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 +76 -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 +14 -3
- 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 +26 -22
- package/cjs/Calendar/CalendarContext.js +1 -1
- package/cjs/Calendar/Header.js +1 -3
- package/cjs/Calendar/Table.js +1 -1
- package/cjs/Calendar/TableRow.js +13 -8
- package/cjs/Calendar/TimeDropdown.js +6 -5
- package/cjs/Calendar/View.js +9 -5
- package/cjs/Calendar/types.d.ts +2 -2
- package/cjs/Calendar/useCalendarDate.d.ts +2 -2
- package/cjs/Carousel/Carousel.d.ts +1 -1
- 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 +6 -5
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
- package/cjs/CheckTreePicker/CheckTreePicker.js +29 -25
- 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/Container/Container.js +6 -3
- 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 +19 -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 +8 -7
- package/cjs/DateRangePicker/Calendar.js +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
- package/cjs/DateRangePicker/DateRangePicker.js +112 -111
- 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.d.ts +8 -5
- package/cjs/Disclosure/Disclosure.js +55 -13
- package/cjs/Disclosure/DisclosureButton.d.ts +2 -2
- package/cjs/Disclosure/DisclosureButton.js +9 -7
- package/cjs/Disclosure/DisclosureContent.js +4 -6
- package/cjs/Disclosure/DisclosureContext.d.ts +8 -3
- 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/Dropdown.js +1 -1
- package/cjs/Dropdown/DropdownContext.d.ts +2 -2
- package/cjs/Dropdown/DropdownItem.js +10 -11
- package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
- package/cjs/Dropdown/DropdownMenu.js +81 -23
- 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/FormGroup/FormGroup.js +9 -4
- 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 +15 -10
- 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 +14 -7
- package/cjs/Menu/MenuContext.d.ts +1 -1
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +19 -15
- package/cjs/Menu/Menubar.js +8 -8
- package/cjs/Menu/useMenu.js +17 -7
- package/cjs/Modal/Modal.js +39 -21
- 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 +10 -12
- 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/Navbar/index.d.ts +1 -0
- package/cjs/Navbar/index.js +4 -3
- package/cjs/Overlay/Modal.d.ts +2 -2
- package/cjs/Overlay/Modal.js +71 -63
- 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/PanelGroup/PanelGroup.js +8 -5
- 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 +4 -3
- 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/propTypes.d.ts +5 -7
- package/cjs/Picker/propTypes.js +4 -3
- package/cjs/Picker/utils.d.ts +11 -11
- package/cjs/Picker/utils.js +22 -18
- 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 +1 -1
- 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 +2 -1
- 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 +5 -4
- package/cjs/Tree/Tree.d.ts +3 -2
- package/cjs/Tree/Tree.js +6 -5
- package/cjs/Tree/TreeContext.d.ts +0 -1
- package/cjs/TreePicker/TreeNode.js +7 -22
- package/cjs/TreePicker/TreePicker.js +32 -52
- 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/index.d.ts +1 -0
- package/cjs/utils/index.js +7 -2
- 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/useFocus.d.ts +2 -2
- package/cjs/utils/useMount.d.ts +2 -0
- package/cjs/utils/useMount.js +19 -0
- 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 +95 -210
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +95 -210
- package/dist/rsuite.js +214 -115
- 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 +13 -12
- package/esm/@types/utils.d.ts +12 -0
- package/esm/Affix/Affix.js +9 -7
- 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 +57 -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 +11 -3
- 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 +27 -23
- package/esm/Calendar/CalendarContext.js +1 -1
- package/esm/Calendar/Header.js +1 -3
- package/esm/Calendar/Table.js +1 -1
- package/esm/Calendar/TableRow.js +14 -9
- package/esm/Calendar/TimeDropdown.js +5 -4
- package/esm/Calendar/View.js +10 -6
- package/esm/Calendar/types.d.ts +2 -2
- package/esm/Calendar/useCalendarDate.d.ts +2 -2
- package/esm/Carousel/Carousel.d.ts +1 -1
- 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 +7 -6
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
- package/esm/CheckTreePicker/CheckTreePicker.js +28 -23
- 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/Container/Container.js +7 -4
- 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 +18 -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 +8 -7
- package/esm/DateRangePicker/Calendar.js +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
- package/esm/DateRangePicker/DateRangePicker.js +112 -111
- 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.d.ts +8 -5
- package/esm/Disclosure/Disclosure.js +56 -15
- package/esm/Disclosure/DisclosureButton.d.ts +2 -2
- package/esm/Disclosure/DisclosureButton.js +8 -7
- package/esm/Disclosure/DisclosureContent.js +5 -7
- package/esm/Disclosure/DisclosureContext.d.ts +8 -3
- 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/Dropdown.js +1 -1
- package/esm/Dropdown/DropdownContext.d.ts +2 -2
- package/esm/Dropdown/DropdownItem.js +10 -10
- package/esm/Dropdown/DropdownMenu.d.ts +3 -3
- package/esm/Dropdown/DropdownMenu.js +82 -24
- 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/FormGroup/FormGroup.js +7 -4
- 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 +15 -10
- 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 +13 -7
- package/esm/Menu/MenuContext.d.ts +1 -1
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +18 -15
- package/esm/Menu/Menubar.js +7 -8
- package/esm/Menu/useMenu.js +17 -7
- package/esm/Modal/Modal.js +41 -23
- 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 +11 -13
- 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/Navbar/index.d.ts +1 -0
- package/esm/Navbar/index.js +1 -0
- package/esm/Overlay/Modal.d.ts +2 -2
- package/esm/Overlay/Modal.js +72 -64
- 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/PanelGroup/PanelGroup.js +9 -6
- 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 +4 -3
- 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/propTypes.d.ts +5 -7
- package/esm/Picker/propTypes.js +4 -3
- package/esm/Picker/utils.d.ts +11 -11
- package/esm/Picker/utils.js +21 -18
- 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 +1 -1
- 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 +2 -1
- 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 +5 -4
- package/esm/Tree/Tree.d.ts +3 -2
- package/esm/Tree/Tree.js +7 -6
- package/esm/Tree/TreeContext.d.ts +0 -1
- package/esm/TreePicker/TreeNode.js +6 -21
- package/esm/TreePicker/TreePicker.js +31 -50
- 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/index.d.ts +1 -0
- package/esm/utils/index.js +2 -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/useFocus.d.ts +2 -2
- package/esm/utils/useMount.d.ts +2 -0
- package/esm/utils/useMount.js +13 -0
- 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 +2 -2
- package/styles/index.less +2 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
// Headless Disclosure
|
|
3
3
|
// Ref: https://w3c.github.io/aria-practices/#disclosure
|
|
4
|
-
import React, { useMemo, useReducer, useRef } from 'react';
|
|
4
|
+
import React, { useMemo, useReducer, useRef, useCallback, useContext } from 'react';
|
|
5
5
|
import DisclosureContext, { DisclosureActionTypes } from './DisclosureContext';
|
|
6
6
|
import DisclosureButton from './DisclosureButton';
|
|
7
7
|
import DisclosureContent from './DisclosureContent';
|
|
@@ -26,14 +26,17 @@ function disclosureReducer(state, action) {
|
|
|
26
26
|
return state;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
var Disclosure = /*#__PURE__*/React.memo(function (props) {
|
|
30
30
|
var children = props.children,
|
|
31
31
|
openProp = props.open,
|
|
32
32
|
_props$defaultOpen = props.defaultOpen,
|
|
33
33
|
defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
|
|
34
34
|
_props$hideOnClickOut = props.hideOnClickOutside,
|
|
35
35
|
hideOnClickOutside = _props$hideOnClickOut === void 0 ? false : _props$hideOnClickOut,
|
|
36
|
-
onToggle = props.onToggle
|
|
36
|
+
onToggle = props.onToggle,
|
|
37
|
+
_props$trigger = props.trigger,
|
|
38
|
+
trigger = _props$trigger === void 0 ? ['click'] : _props$trigger;
|
|
39
|
+
var parentDisclosure = useContext(DisclosureContext);
|
|
37
40
|
|
|
38
41
|
var _useReducer = useReducer(disclosureReducer, _extends({}, initialDisclosureState, {
|
|
39
42
|
open: defaultOpen
|
|
@@ -41,12 +44,14 @@ function Disclosure(props) {
|
|
|
41
44
|
openState = _useReducer[0].open,
|
|
42
45
|
dispatch = _useReducer[1];
|
|
43
46
|
|
|
44
|
-
var containerElementRef = useRef();
|
|
47
|
+
var containerElementRef = useRef(null);
|
|
45
48
|
var open = openProp !== null && openProp !== void 0 ? openProp : openState;
|
|
46
49
|
useClickOutside({
|
|
47
50
|
enabled: hideOnClickOutside,
|
|
48
51
|
isOutside: function isOutside(event) {
|
|
49
|
-
|
|
52
|
+
var _containerElementRef$;
|
|
53
|
+
|
|
54
|
+
return !((_containerElementRef$ = containerElementRef.current) !== null && _containerElementRef$ !== void 0 && _containerElementRef$.contains(event.target));
|
|
50
55
|
},
|
|
51
56
|
handle: function handle() {
|
|
52
57
|
return dispatch({
|
|
@@ -54,20 +59,56 @@ function Disclosure(props) {
|
|
|
54
59
|
});
|
|
55
60
|
}
|
|
56
61
|
});
|
|
57
|
-
var
|
|
62
|
+
var onMouseOver = useCallback(function (event) {
|
|
63
|
+
if (!open) {
|
|
64
|
+
dispatch({
|
|
65
|
+
type: DisclosureActionTypes.Show
|
|
66
|
+
});
|
|
67
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(true, event);
|
|
68
|
+
}
|
|
69
|
+
}, [open, dispatch, onToggle]);
|
|
70
|
+
var onMouseOut = useCallback(function (event) {
|
|
71
|
+
if (open) {
|
|
72
|
+
dispatch({
|
|
73
|
+
type: DisclosureActionTypes.Hide
|
|
74
|
+
});
|
|
75
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(false, event);
|
|
76
|
+
}
|
|
77
|
+
}, [open, dispatch, onToggle]);
|
|
78
|
+
var contextValue = useMemo(function () {
|
|
79
|
+
var cascadeDispatch = function cascadeDispatch(action) {
|
|
80
|
+
var result = dispatch(action);
|
|
81
|
+
|
|
82
|
+
if ('cascade' in action) {
|
|
83
|
+
parentDisclosure === null || parentDisclosure === void 0 ? void 0 : parentDisclosure[1](action);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return result;
|
|
87
|
+
};
|
|
88
|
+
|
|
58
89
|
return [{
|
|
59
90
|
open: open
|
|
60
|
-
},
|
|
61
|
-
onToggle: onToggle
|
|
91
|
+
}, cascadeDispatch, {
|
|
92
|
+
onToggle: onToggle,
|
|
93
|
+
trigger: trigger
|
|
62
94
|
}];
|
|
63
|
-
}, [open, dispatch, onToggle]);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
95
|
+
}, [parentDisclosure, open, dispatch, onToggle, trigger]);
|
|
96
|
+
var renderProps = useMemo(function () {
|
|
97
|
+
var renderProps = {
|
|
98
|
+
open: open
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
if (trigger.includes('mouseover')) {
|
|
102
|
+
renderProps.onMouseOver = onMouseOver;
|
|
103
|
+
renderProps.onMouseOut = onMouseOut;
|
|
104
|
+
}
|
|
70
105
|
|
|
106
|
+
return renderProps;
|
|
107
|
+
}, [open, trigger, onMouseOver, onMouseOut]);
|
|
108
|
+
return /*#__PURE__*/React.createElement(DisclosureContext.Provider, {
|
|
109
|
+
value: contextValue
|
|
110
|
+
}, children(renderProps, containerElementRef));
|
|
111
|
+
});
|
|
71
112
|
Disclosure.Button = DisclosureButton;
|
|
72
113
|
Disclosure.Content = DisclosureContent;
|
|
73
114
|
export default Disclosure;
|
|
@@ -3,9 +3,9 @@ export interface DisclosureButtonRenderProps {
|
|
|
3
3
|
open: boolean;
|
|
4
4
|
}
|
|
5
5
|
export interface DisclosureButtonProps {
|
|
6
|
-
children: (props: React.
|
|
6
|
+
children: (props: React.HTMLAttributes<HTMLElement> & DisclosureButtonRenderProps, ref: React.Ref<HTMLElement>) => React.ReactElement<React.HTMLAttributes<HTMLElement>>;
|
|
7
7
|
}
|
|
8
|
-
declare function DisclosureButton(props: DisclosureButtonProps): React.ReactElement<React.HTMLAttributes<
|
|
8
|
+
declare function DisclosureButton(props: DisclosureButtonProps): React.ReactElement<React.HTMLAttributes<HTMLElement>, string | React.JSXElementConstructor<any>>;
|
|
9
9
|
declare namespace DisclosureButton {
|
|
10
10
|
var displayName: string;
|
|
11
11
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { useCallback,
|
|
2
|
-
import
|
|
1
|
+
import { useCallback, useRef } from 'react';
|
|
2
|
+
import { DisclosureActionTypes } from './DisclosureContext';
|
|
3
3
|
import { KEY_VALUES } from '../utils';
|
|
4
|
+
import useDisclosureContext from './useDisclosureContext';
|
|
4
5
|
|
|
5
6
|
function DisclosureButton(props) {
|
|
6
7
|
var children = props.children;
|
|
7
|
-
var buttonRef = useRef();
|
|
8
|
+
var buttonRef = useRef(null);
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
-
open =
|
|
11
|
-
dispatch =
|
|
12
|
-
onToggle =
|
|
10
|
+
var _useDisclosureContext = useDisclosureContext(DisclosureButton.displayName),
|
|
11
|
+
open = _useDisclosureContext[0].open,
|
|
12
|
+
dispatch = _useDisclosureContext[1],
|
|
13
|
+
onToggle = _useDisclosureContext[2].onToggle;
|
|
13
14
|
|
|
14
15
|
var toggle = useCallback(function (event) {
|
|
15
16
|
if (!open) {
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import useDisclosureContext from './useDisclosureContext';
|
|
3
3
|
|
|
4
4
|
function DisclosureContent(props) {
|
|
5
5
|
var children = props.children;
|
|
6
|
-
var elementRef = useRef();
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
open = _useContext[0].open;
|
|
10
|
-
|
|
6
|
+
var elementRef = useRef(null);
|
|
7
|
+
var disclosure = useDisclosureContext(DisclosureContent.displayName);
|
|
8
|
+
var open = disclosure[0].open;
|
|
11
9
|
return children({
|
|
12
10
|
open: open
|
|
13
11
|
}, elementRef);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { Dispatch } from 'react';
|
|
2
|
+
import type { DisclosureTrigger } from './Disclosure';
|
|
2
3
|
export interface DisclosureState {
|
|
3
4
|
open: boolean;
|
|
4
5
|
}
|
|
@@ -7,14 +8,18 @@ export declare enum DisclosureActionTypes {
|
|
|
7
8
|
Hide = 1
|
|
8
9
|
}
|
|
9
10
|
export declare type DisclosureAction = {
|
|
10
|
-
type: DisclosureActionTypes;
|
|
11
|
+
type: DisclosureActionTypes.Show;
|
|
12
|
+
} | {
|
|
13
|
+
type: DisclosureActionTypes.Hide;
|
|
14
|
+
cascade?: boolean;
|
|
11
15
|
};
|
|
12
16
|
export declare type DisclosureContextProps = [
|
|
13
17
|
DisclosureState,
|
|
14
18
|
Dispatch<DisclosureAction>,
|
|
15
19
|
{
|
|
16
|
-
|
|
20
|
+
trigger: DisclosureTrigger[];
|
|
21
|
+
onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
|
|
17
22
|
}
|
|
18
23
|
];
|
|
19
|
-
declare const DisclosureContext: React.Context<DisclosureContextProps>;
|
|
24
|
+
declare const DisclosureContext: React.Context<DisclosureContextProps | null>;
|
|
20
25
|
export default DisclosureContext;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import DisclosureContext from './DisclosureContext';
|
|
3
|
+
export default function useDisclosureContext(component) {
|
|
4
|
+
var context = useContext(DisclosureContext);
|
|
5
|
+
|
|
6
|
+
if (!context) {
|
|
7
|
+
throw new Error("<" + component + "> component must be rendered within a <Disclosure>");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return context;
|
|
11
|
+
}
|
|
@@ -45,7 +45,7 @@ export interface DropdownProps<T = any> extends WithAsProps, Omit<React.HTMLAttr
|
|
|
45
45
|
/** Callback function for menu state switching */
|
|
46
46
|
onToggle?: (open?: boolean) => void;
|
|
47
47
|
/** Selected callback function */
|
|
48
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
48
|
+
onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
49
49
|
}
|
|
50
50
|
export interface DropdownComponent extends RsRefForwardingComponent<'div', DropdownProps> {
|
|
51
51
|
Item: typeof DropdownItem;
|
package/esm/Dropdown/Dropdown.js
CHANGED
|
@@ -15,7 +15,7 @@ import DropdownToggle from './DropdownToggle';
|
|
|
15
15
|
import MenuContext from '../Menu/MenuContext';
|
|
16
16
|
import MenuItem from '../Menu/MenuItem';
|
|
17
17
|
import kebabCase from 'lodash/kebabCase';
|
|
18
|
-
import { NavbarContext } from '../Navbar
|
|
18
|
+
import { NavbarContext } from '../Navbar';
|
|
19
19
|
import Disclosure from '../Disclosure/Disclosure';
|
|
20
20
|
import SidenavDropdown from '../Sidenav/SidenavDropdown';
|
|
21
21
|
import NavContext from '../Nav/NavContext';
|
|
@@ -2,9 +2,9 @@ import React, { Dispatch } from 'react';
|
|
|
2
2
|
import { DropdownAction } from './DropdownState';
|
|
3
3
|
export interface DropdownContextProps {
|
|
4
4
|
activeKey?: string;
|
|
5
|
-
onSelect
|
|
5
|
+
onSelect?: (eventKey: string | undefined, event: React.SyntheticEvent) => void;
|
|
6
6
|
hasSelectedItem?: boolean;
|
|
7
7
|
dispatch?: Dispatch<DropdownAction>;
|
|
8
8
|
}
|
|
9
|
-
declare const DropdownContext: React.Context<DropdownContextProps>;
|
|
9
|
+
declare const DropdownContext: React.Context<DropdownContextProps | null>;
|
|
10
10
|
export default DropdownContext;
|
|
@@ -11,7 +11,6 @@ import { createChainedFunction, mergeRefs, shallowEqual, useClassNames } from '.
|
|
|
11
11
|
import { NavbarContext } from '../Navbar/Navbar';
|
|
12
12
|
import SidenavDropdownItem from '../Sidenav/SidenavDropdownItem';
|
|
13
13
|
import DisclosureContext, { DisclosureActionTypes } from '../Disclosure/DisclosureContext';
|
|
14
|
-
import SafeAnchor from '../SafeAnchor';
|
|
15
14
|
import NavContext from '../Nav/NavContext';
|
|
16
15
|
import useInternalId from '../utils/useInternalId';
|
|
17
16
|
import { DropdownActionType } from './DropdownState';
|
|
@@ -61,8 +60,9 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
61
60
|
dispatchDisclosure = _ref[1];
|
|
62
61
|
|
|
63
62
|
var handleClickNavbarDropdownItem = useCallback(function (event) {
|
|
64
|
-
dispatchDisclosure({
|
|
65
|
-
type: DisclosureActionTypes.Hide
|
|
63
|
+
dispatchDisclosure === null || dispatchDisclosure === void 0 ? void 0 : dispatchDisclosure({
|
|
64
|
+
type: DisclosureActionTypes.Hide,
|
|
65
|
+
cascade: true
|
|
66
66
|
});
|
|
67
67
|
handleSelectItem === null || handleSelectItem === void 0 ? void 0 : handleSelectItem(event);
|
|
68
68
|
}, [dispatchDisclosure, handleSelectItem]);
|
|
@@ -129,16 +129,16 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
129
129
|
dataAttributes['data-event-key-type'] = typeof eventKey;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
return
|
|
132
|
+
return renderDropdownItem(_extends({
|
|
133
133
|
ref: ref,
|
|
134
134
|
className: classes,
|
|
135
|
-
|
|
135
|
+
'aria-current': selected || undefined
|
|
136
136
|
}, dataAttributes, restProps, {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
})
|
|
137
|
+
onClick: createChainedFunction(handleClickNavbarDropdownItem, restProps.onClick),
|
|
138
|
+
children: /*#__PURE__*/React.createElement(React.Fragment, null, icon && /*#__PURE__*/React.cloneElement(icon, {
|
|
139
|
+
className: prefix('menu-icon')
|
|
140
|
+
}), children)
|
|
141
|
+
}));
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
return /*#__PURE__*/React.createElement(MenuItem, {
|
|
@@ -19,8 +19,8 @@ export interface DropdownMenuProps<T = string> extends StandardProps {
|
|
|
19
19
|
disabled?: boolean;
|
|
20
20
|
activeKey?: T;
|
|
21
21
|
trigger?: 'hover' | 'click';
|
|
22
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
23
|
-
onToggle?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
22
|
+
onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
23
|
+
onToggle?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* The <Dropdown.Menu> API
|
|
@@ -40,5 +40,5 @@ export interface DropdownMenuProps<T = string> extends StandardProps {
|
|
|
40
40
|
* </Dropdown.Menu>
|
|
41
41
|
* </Dropdown>
|
|
42
42
|
*/
|
|
43
|
-
declare const DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps<string> & Omit<React.HTMLAttributes<HTMLUListElement>, "title" | "onSelect"> & React.RefAttributes<
|
|
43
|
+
declare const DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps<string> & Omit<React.HTMLAttributes<HTMLUListElement>, "title" | "onSelect"> & React.RefAttributes<HTMLElement>>;
|
|
44
44
|
export default DropdownMenu;
|
|
@@ -2,9 +2,9 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
|
|
5
|
-
var _templateObject, _templateObject2;
|
|
5
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
6
6
|
|
|
7
|
-
import React, { useCallback, useContext } from 'react';
|
|
7
|
+
import React, { useCallback, useContext, useMemo } from 'react';
|
|
8
8
|
import omit from 'lodash/omit';
|
|
9
9
|
import Menu from '../Menu/Menu';
|
|
10
10
|
import MenuItem from '../Menu/MenuItem';
|
|
@@ -15,8 +15,10 @@ import AngleLeft from '@rsuite/icons/legacy/AngleLeft';
|
|
|
15
15
|
import AngleRight from '@rsuite/icons/legacy/AngleRight';
|
|
16
16
|
import useCustom from '../utils/useCustom';
|
|
17
17
|
import DropdownContext from './DropdownContext';
|
|
18
|
+
import { NavbarContext } from '../Navbar';
|
|
18
19
|
import Menubar from '../Menu/Menubar';
|
|
19
20
|
import SidenavDropdownMenu from '../Sidenav/SidenavDropdownMenu';
|
|
21
|
+
import Disclosure from '../Disclosure';
|
|
20
22
|
|
|
21
23
|
/**
|
|
22
24
|
* The <Dropdown.Menu> API
|
|
@@ -49,6 +51,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
49
51
|
|
|
50
52
|
var dropdown = useContext(DropdownContext);
|
|
51
53
|
var sidenav = useContext(SidenavContext);
|
|
54
|
+
var withinNavbar = Boolean(useContext(NavbarContext));
|
|
52
55
|
|
|
53
56
|
var _useCustom = useCustom('DropdownMenu'),
|
|
54
57
|
rtl = _useCustom.rtl;
|
|
@@ -69,17 +72,20 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
69
72
|
var _useClassNames3 = useClassNames('dropdown-item'),
|
|
70
73
|
mergeItemClassNames = _useClassNames3.merge,
|
|
71
74
|
withItemClassPrefix = _useClassNames3.withClassPrefix,
|
|
72
|
-
prefixItemClassName = _useClassNames3.prefix;
|
|
75
|
+
prefixItemClassName = _useClassNames3.prefix;
|
|
76
|
+
|
|
77
|
+
var contextValue = useMemo(function () {
|
|
78
|
+
return {
|
|
79
|
+
activeKey: activeKey,
|
|
80
|
+
onSelect: onSelect
|
|
81
|
+
};
|
|
82
|
+
}, [activeKey, onSelect]); // <Dropdown.Menu> is used outside of <Dropdown>
|
|
73
83
|
// renders a vertical `menubar`
|
|
74
84
|
|
|
75
|
-
|
|
76
85
|
if (!dropdown) {
|
|
77
86
|
var classes = merge(props.className, withClassPrefix());
|
|
78
87
|
return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
|
|
79
|
-
value:
|
|
80
|
-
activeKey: activeKey,
|
|
81
|
-
onSelect: onSelect
|
|
82
|
-
}
|
|
88
|
+
value: contextValue
|
|
83
89
|
}, /*#__PURE__*/React.createElement(Menubar, {
|
|
84
90
|
vertical: true,
|
|
85
91
|
onActivateItem: function onActivateItem(event) {
|
|
@@ -110,21 +116,73 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
110
116
|
disabled = _omit.disabled,
|
|
111
117
|
menuProps = _objectWithoutPropertiesLoose(_omit, ["icon", "className", "disabled"]);
|
|
112
118
|
|
|
113
|
-
var Icon = rtl ? AngleLeft : AngleRight;
|
|
119
|
+
var Icon = rtl ? AngleLeft : AngleRight; // Renders a disclosure when used within <Navbar>
|
|
120
|
+
|
|
121
|
+
if (withinNavbar) {
|
|
122
|
+
return /*#__PURE__*/React.createElement(Disclosure, {
|
|
123
|
+
hideOnClickOutside: true,
|
|
124
|
+
trigger: ['click', 'mouseover']
|
|
125
|
+
}, function (_ref, containerRef) {
|
|
126
|
+
var open = _ref.open,
|
|
127
|
+
props = _objectWithoutPropertiesLoose(_ref, ["open"]);
|
|
128
|
+
|
|
129
|
+
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
130
|
+
disabled: disabled,
|
|
131
|
+
open: open,
|
|
132
|
+
submenu: true // focus: hasFocus
|
|
133
|
+
|
|
134
|
+
}));
|
|
135
|
+
return /*#__PURE__*/React.createElement("li", _extends({
|
|
136
|
+
ref: mergeRefs(ref, containerRef),
|
|
137
|
+
className: classes
|
|
138
|
+
}, props), /*#__PURE__*/React.createElement(Disclosure.Button, null, function (_ref2, buttonRef) {
|
|
139
|
+
var open = _ref2.open,
|
|
140
|
+
buttonProps = _objectWithoutPropertiesLoose(_ref2, ["open"]);
|
|
141
|
+
|
|
142
|
+
var classes = mergeItemClassNames(className, prefixItemClassName("pull-" + (rtl ? 'left' : 'right')), prefixItemClassName(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["toggle"]))), // prefixItemClassName`submenu`,
|
|
143
|
+
withItemClassPrefix({
|
|
144
|
+
'with-icon': icon,
|
|
145
|
+
open: open,
|
|
146
|
+
// active: selected,
|
|
147
|
+
disabled: disabled // focus: active
|
|
148
|
+
|
|
149
|
+
}));
|
|
150
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
151
|
+
ref: mergeRefs(buttonRef, buttonRef),
|
|
152
|
+
className: classes,
|
|
153
|
+
"data-event-key": eventKey,
|
|
154
|
+
"data-event-key-type": typeof eventKey
|
|
155
|
+
}, buttonProps), icon && /*#__PURE__*/React.cloneElement(icon, {
|
|
156
|
+
className: prefix('menu-icon')
|
|
157
|
+
}), title, /*#__PURE__*/React.createElement(Icon, {
|
|
158
|
+
className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["toggle-icon"])))
|
|
159
|
+
}));
|
|
160
|
+
}), /*#__PURE__*/React.createElement(Disclosure.Content, null, function (_ref3, elementRef) {
|
|
161
|
+
var open = _ref3.open;
|
|
162
|
+
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
163
|
+
return /*#__PURE__*/React.createElement("ul", _extends({
|
|
164
|
+
ref: elementRef,
|
|
165
|
+
className: menuClassName,
|
|
166
|
+
hidden: !open
|
|
167
|
+
}, menuProps), children);
|
|
168
|
+
}));
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
114
172
|
return /*#__PURE__*/React.createElement(Menu, {
|
|
115
173
|
openMenuOn: ['mouseover', 'click'],
|
|
116
|
-
renderMenuButton: function renderMenuButton(
|
|
117
|
-
var open =
|
|
118
|
-
menuButtonProps = _objectWithoutPropertiesLoose(
|
|
174
|
+
renderMenuButton: function renderMenuButton(_ref4, buttonRef) {
|
|
175
|
+
var open = _ref4.open,
|
|
176
|
+
menuButtonProps = _objectWithoutPropertiesLoose(_ref4, ["open"]);
|
|
119
177
|
|
|
120
178
|
return /*#__PURE__*/React.createElement(MenuItem, {
|
|
121
179
|
disabled: disabled
|
|
122
|
-
}, function (
|
|
123
|
-
var selected =
|
|
124
|
-
active =
|
|
125
|
-
menuitem = _objectWithoutPropertiesLoose(
|
|
180
|
+
}, function (_ref5, menuitemRef) {
|
|
181
|
+
var selected = _ref5.selected,
|
|
182
|
+
active = _ref5.active,
|
|
183
|
+
menuitem = _objectWithoutPropertiesLoose(_ref5, ["selected", "active"]);
|
|
126
184
|
|
|
127
|
-
var classes = mergeItemClassNames(className, prefixItemClassName("pull-" + (rtl ? 'left' : 'right')), prefixItemClassName(
|
|
185
|
+
var classes = mergeItemClassNames(className, prefixItemClassName("pull-" + (rtl ? 'left' : 'right')), prefixItemClassName(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["toggle"]))), // prefixItemClassName`submenu`,
|
|
128
186
|
withItemClassPrefix({
|
|
129
187
|
'with-icon': icon,
|
|
130
188
|
open: open,
|
|
@@ -140,13 +198,13 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
140
198
|
}, menuitem, omit(menuButtonProps, ['role'])), icon && /*#__PURE__*/React.cloneElement(icon, {
|
|
141
199
|
className: prefix('menu-icon')
|
|
142
200
|
}), title, /*#__PURE__*/React.createElement(Icon, {
|
|
143
|
-
className: prefix(
|
|
201
|
+
className: prefix(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["toggle-icon"])))
|
|
144
202
|
}));
|
|
145
203
|
});
|
|
146
204
|
},
|
|
147
|
-
renderMenuPopup: function renderMenuPopup(
|
|
148
|
-
var open =
|
|
149
|
-
popupProps = _objectWithoutPropertiesLoose(
|
|
205
|
+
renderMenuPopup: function renderMenuPopup(_ref6, popupRef) {
|
|
206
|
+
var open = _ref6.open,
|
|
207
|
+
popupProps = _objectWithoutPropertiesLoose(_ref6, ["open"]);
|
|
150
208
|
|
|
151
209
|
var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());
|
|
152
210
|
return /*#__PURE__*/React.createElement("ul", _extends({
|
|
@@ -156,9 +214,9 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
156
214
|
}, popupProps, menuProps), children);
|
|
157
215
|
},
|
|
158
216
|
onToggleMenu: handleToggleSubmenu
|
|
159
|
-
}, function (
|
|
160
|
-
var open =
|
|
161
|
-
menuContainer = _objectWithoutPropertiesLoose(
|
|
217
|
+
}, function (_ref7, menuContainerRef) {
|
|
218
|
+
var open = _ref7.open,
|
|
219
|
+
menuContainer = _objectWithoutPropertiesLoose(_ref7, ["open"]);
|
|
162
220
|
|
|
163
221
|
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
164
222
|
disabled: disabled,
|
|
@@ -33,5 +33,5 @@ export declare type DropdownAction = {
|
|
|
33
33
|
id: string;
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
|
-
export declare function reducer(state: DropdownState, action: DropdownAction): DropdownState;
|
|
36
|
+
export declare function reducer(state: DropdownState | undefined, action: DropdownAction): DropdownState;
|
|
37
37
|
export {};
|
|
@@ -6,6 +6,7 @@ import Button from '../Button';
|
|
|
6
6
|
import { useClassNames } from '../utils';
|
|
7
7
|
import useToggleCaret from '../utils/useToggleCaret';
|
|
8
8
|
import { SidenavContext } from '../Sidenav/Sidenav';
|
|
9
|
+
import NavContext from '../Nav/NavContext';
|
|
9
10
|
var DropdownToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
10
11
|
var _props$as = props.as,
|
|
11
12
|
Component = _props$as === void 0 ? Button : _props$as,
|
|
@@ -16,11 +17,15 @@ var DropdownToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
16
17
|
children = props.children,
|
|
17
18
|
icon = props.icon,
|
|
18
19
|
noCaret = props.noCaret,
|
|
19
|
-
placement = props.placement,
|
|
20
|
+
_props$placement = props.placement,
|
|
21
|
+
placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
|
|
20
22
|
rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "renderToggle", "children", "icon", "noCaret", "placement"]);
|
|
21
23
|
|
|
22
24
|
var sidenav = useContext(SidenavContext);
|
|
23
25
|
|
|
26
|
+
var _useContext = useContext(NavContext),
|
|
27
|
+
withinNav = _useContext.withinNav;
|
|
28
|
+
|
|
24
29
|
var _useClassNames = useClassNames(classPrefix),
|
|
25
30
|
prefix = _useClassNames.prefix,
|
|
26
31
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -32,7 +37,9 @@ var DropdownToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
32
37
|
var inSidenav = !!sidenav; // Caret icon is down by default, when Dropdown is used in Sidenav.
|
|
33
38
|
|
|
34
39
|
var Caret = useToggleCaret(inSidenav ? 'bottomStart' : placement);
|
|
35
|
-
var toggle = /*#__PURE__*/React.createElement(Component, _extends({
|
|
40
|
+
var toggle = /*#__PURE__*/React.createElement(Component, _extends({
|
|
41
|
+
appearance: withinNav ? 'subtle' : undefined
|
|
42
|
+
}, rest, {
|
|
36
43
|
ref: ref,
|
|
37
44
|
className: classes
|
|
38
45
|
}), icon && /*#__PURE__*/React.cloneElement(icon, {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare function useRenderDropdownItem(Component: React.ElementType): (props: any, OverrideComponent?: React.ElementType) => JSX.Element;
|
|
2
|
+
export declare function useRenderDropdownItem(Component: React.ElementType): (props: any, OverrideComponent?: React.ElementType<any> | undefined) => JSX.Element;
|
package/esm/Form/Form.js
CHANGED
|
@@ -233,7 +233,7 @@ var Form = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
233
233
|
setFormValue(nextFormValue);
|
|
234
234
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextFormValue, event);
|
|
235
235
|
}, [onChange, getFormValue]);
|
|
236
|
-
var rootRef = useRef();
|
|
236
|
+
var rootRef = useRef(null);
|
|
237
237
|
var formContextValue = useMemo(function () {
|
|
238
238
|
return {
|
|
239
239
|
model: model,
|
|
@@ -19,6 +19,6 @@ export interface FormContextValue<T = Record<string, any>, errorMsgType = any, E
|
|
|
19
19
|
export declare const FormContext: React.Context<FormContextValue<Record<string, any>, any, {
|
|
20
20
|
[x: string]: any;
|
|
21
21
|
}>>;
|
|
22
|
-
export declare const FormValueContext: React.Context<Record<string, any
|
|
22
|
+
export declare const FormValueContext: React.Context<Record<string, any> | undefined>;
|
|
23
23
|
export declare const FormPlaintextContext: React.Context<boolean>;
|
|
24
24
|
export default FormContext;
|
|
@@ -32,7 +32,7 @@ export interface FormControlProps<P = any, ValueType = any> extends WithAsProps,
|
|
|
32
32
|
interface FormControlComponent extends React.FC<FormControlProps> {
|
|
33
33
|
<Accepter extends React.ElementType = typeof Input>(props: FormControlProps & {
|
|
34
34
|
accepter?: Accepter;
|
|
35
|
-
} & React.ComponentPropsWithRef<Accepter>): React.ReactElement;
|
|
35
|
+
} & React.ComponentPropsWithRef<Accepter>): React.ReactElement | null;
|
|
36
36
|
}
|
|
37
37
|
declare const FormControl: FormControlComponent;
|
|
38
38
|
export default FormControl;
|
|
@@ -53,7 +53,8 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
53
53
|
disabled = _props$disabled === void 0 ? disabledContext : _props$disabled,
|
|
54
54
|
onChange = props.onChange,
|
|
55
55
|
onBlur = props.onBlur,
|
|
56
|
-
|
|
56
|
+
defaultValue = props.defaultValue,
|
|
57
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "accepter", "classPrefix", "className", "checkAsync", "checkTrigger", "errorPlacement", "errorMessage", "name", "value", "readOnly", "plaintext", "disabled", "onChange", "onBlur", "defaultValue"]);
|
|
57
58
|
|
|
58
59
|
var _useContext2 = useContext(FormGroupContext),
|
|
59
60
|
controlId = _useContext2.controlId;
|
|
@@ -103,12 +104,12 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
103
104
|
var nextFormValue = _extends({}, formValue, (_extends2 = {}, _extends2[name] = value, _extends2));
|
|
104
105
|
|
|
105
106
|
if (checkAsync) {
|
|
106
|
-
return model.checkForFieldAsync(name, nextFormValue).then(function (checkResult) {
|
|
107
|
+
return model === null || model === void 0 ? void 0 : model.checkForFieldAsync(name, nextFormValue).then(function (checkResult) {
|
|
107
108
|
return callbackEvents(checkResult);
|
|
108
109
|
});
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
return Promise.resolve(callbackEvents(model.checkForField(name, nextFormValue)));
|
|
112
|
+
return Promise.resolve(callbackEvents(model === null || model === void 0 ? void 0 : model.checkForField(name, nextFormValue)));
|
|
112
113
|
};
|
|
113
114
|
|
|
114
115
|
var messageNode = null;
|
|
@@ -142,7 +143,7 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
142
143
|
name: name,
|
|
143
144
|
onChange: handleFieldChange,
|
|
144
145
|
onBlur: handleFieldBlur,
|
|
145
|
-
defaultValue: formDefaultValue[name],
|
|
146
|
+
defaultValue: defaultValue !== null && defaultValue !== void 0 ? defaultValue : formDefaultValue[name],
|
|
146
147
|
value: val
|
|
147
148
|
})), /*#__PURE__*/React.createElement(FormErrorMessage, {
|
|
148
149
|
id: controlId + "-error-message",
|
|
@@ -8,7 +8,7 @@ export interface FormGroupProps extends WithAsProps {
|
|
|
8
8
|
controlId?: string;
|
|
9
9
|
}
|
|
10
10
|
export declare const FormGroupContext: React.Context<{
|
|
11
|
-
controlId?: string;
|
|
11
|
+
controlId?: string | undefined;
|
|
12
12
|
}>;
|
|
13
13
|
declare const FormGroup: RsRefForwardingComponent<'div', FormGroupProps>;
|
|
14
14
|
export default FormGroup;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
import React from 'react';
|
|
3
|
+
import React, { useMemo } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import { useClassNames } from '../utils';
|
|
6
6
|
export var FormGroupContext = /*#__PURE__*/React.createContext({});
|
|
@@ -18,10 +18,13 @@ var FormGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
18
18
|
merge = _useClassNames.merge;
|
|
19
19
|
|
|
20
20
|
var classes = merge(className, withClassPrefix());
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
var contextValue = useMemo(function () {
|
|
22
|
+
return {
|
|
23
23
|
controlId: controlId
|
|
24
|
-
}
|
|
24
|
+
};
|
|
25
|
+
}, [controlId]);
|
|
26
|
+
return /*#__PURE__*/React.createElement(FormGroupContext.Provider, {
|
|
27
|
+
value: contextValue
|
|
25
28
|
}, /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
26
29
|
ref: ref,
|
|
27
30
|
className: classes,
|