rsuite 5.2.2 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Avatar/styles/index.less +2 -2
- package/AvatarGroup/package.json +7 -0
- package/AvatarGroup/styles/index.less +19 -0
- package/ButtonGroup/styles/index.less +0 -18
- package/CHANGELOG.md +61 -0
- package/CheckTreePicker/styles/index.less +14 -1
- package/Dropdown/styles/index.less +1 -0
- package/Nav/styles/index.less +1 -0
- package/Navbar/styles/index.less +7 -0
- package/Radio/styles/index.less +6 -0
- package/Stack/package.json +7 -0
- package/Stack/styles/index.less +5 -0
- package/Table/styles/index.less +0 -4
- package/TreePicker/styles/index.less +10 -14
- package/cjs/@types/common.d.ts +13 -12
- package/cjs/@types/utils.d.ts +12 -0
- package/cjs/Affix/Affix.js +5 -5
- package/cjs/Animation/Transition.d.ts +21 -12
- package/cjs/Animation/Transition.js +4 -1
- package/cjs/AutoComplete/AutoComplete.js +1 -1
- package/cjs/AutoComplete/utils.d.ts +1 -1
- package/cjs/Avatar/Avatar.js +10 -3
- package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
- package/cjs/AvatarGroup/AvatarGroup.js +71 -0
- package/cjs/AvatarGroup/index.d.ts +3 -0
- package/cjs/AvatarGroup/index.js +11 -0
- package/cjs/Breadcrumb/Breadcrumb.js +1 -1
- package/cjs/Button/Button.js +8 -2
- package/cjs/ButtonGroup/ButtonGroup.js +8 -2
- package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
- package/cjs/ButtonGroup/index.d.ts +2 -0
- package/cjs/ButtonGroup/index.js +3 -0
- package/cjs/Calendar/Calendar.d.ts +4 -4
- package/cjs/Calendar/Calendar.js +5 -2
- package/cjs/Calendar/CalendarContext.js +1 -1
- package/cjs/Calendar/TableRow.js +1 -1
- package/cjs/Calendar/TimeDropdown.js +6 -5
- package/cjs/Calendar/types.d.ts +2 -2
- package/cjs/Calendar/useCalendarDate.d.ts +2 -2
- package/cjs/Carousel/Carousel.d.ts +2 -2
- package/cjs/Carousel/Carousel.js +1 -1
- package/cjs/Cascader/Cascader.d.ts +1 -1
- package/cjs/Cascader/Cascader.js +10 -10
- package/cjs/Cascader/DropdownMenu.d.ts +5 -4
- package/cjs/Cascader/utils.d.ts +10 -10
- package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
- package/cjs/CheckPicker/CheckPicker.js +4 -4
- package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
- package/cjs/CheckTree/index.js +2 -6
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
- package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
- package/cjs/CheckTreePicker/utils.d.ts +3 -1
- package/cjs/CheckTreePicker/utils.js +12 -10
- package/cjs/Checkbox/Checkbox.d.ts +1 -1
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
- package/cjs/DOMHelper/index.d.ts +12 -12
- package/cjs/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/DatePicker/DatePicker.js +17 -11
- package/cjs/DatePicker/Toolbar.d.ts +12 -9
- package/cjs/DatePicker/Toolbar.js +6 -8
- package/cjs/DatePicker/types.d.ts +4 -4
- package/cjs/DatePicker/utils.d.ts +4 -3
- package/cjs/DateRangePicker/Calendar.d.ts +9 -7
- package/cjs/DateRangePicker/Calendar.js +27 -6
- package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
- package/cjs/DateRangePicker/DateRangePicker.js +131 -108
- package/cjs/DateRangePicker/types.d.ts +2 -1
- package/cjs/DateRangePicker/utils.d.ts +6 -6
- package/cjs/DateRangePicker/utils.js +7 -2
- package/cjs/Disclosure/Disclosure.js +4 -2
- package/cjs/Disclosure/DisclosureButton.js +9 -7
- package/cjs/Disclosure/DisclosureContent.js +4 -6
- package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
- package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
- package/cjs/Disclosure/useDisclosureContext.js +20 -0
- package/cjs/Dropdown/Dropdown.d.ts +1 -1
- package/cjs/Dropdown/DropdownContext.d.ts +2 -2
- package/cjs/Dropdown/DropdownItem.js +1 -1
- package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
- package/cjs/Dropdown/DropdownState.d.ts +1 -1
- package/cjs/Dropdown/DropdownToggle.js +10 -2
- package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/cjs/Form/Form.js +1 -1
- package/cjs/Form/FormContext.d.ts +1 -1
- package/cjs/FormControl/FormControl.d.ts +1 -1
- package/cjs/FormControl/FormControl.js +5 -4
- package/cjs/FormGroup/FormGroup.d.ts +1 -1
- package/cjs/Input/Input.d.ts +3 -2
- package/cjs/InputGroup/InputGroup.d.ts +1 -1
- package/cjs/InputNumber/InputNumber.js +6 -2
- package/cjs/InputPicker/InputAutosize.js +4 -4
- package/cjs/InputPicker/InputPicker.d.ts +2 -2
- package/cjs/InputPicker/InputPicker.js +16 -11
- package/cjs/List/ListContext.d.ts +1 -1
- package/cjs/List/ListContext.js +8 -1
- package/cjs/List/helper/AutoScroller.js +4 -2
- package/cjs/List/helper/useManager.d.ts +3 -3
- package/cjs/List/helper/useManager.js +1 -1
- package/cjs/List/helper/useSortHelper.d.ts +3 -3
- package/cjs/List/helper/useSortHelper.js +6 -4
- package/cjs/List/helper/utils.d.ts +2 -2
- package/cjs/MaskedInput/TextMask.d.ts +5 -5
- package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
- package/cjs/MaskedInput/conformToMask.js +5 -4
- package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
- package/cjs/MaskedInput/utilities.d.ts +1 -1
- package/cjs/Menu/Menu.js +60 -41
- package/cjs/Menu/MenuContext.d.ts +1 -1
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +31 -23
- package/cjs/Menu/Menubar.js +8 -8
- package/cjs/Menu/useMenu.js +17 -7
- package/cjs/Modal/Modal.js +12 -6
- package/cjs/Modal/ModalContext.d.ts +2 -2
- package/cjs/Modal/utils.d.ts +1 -1
- package/cjs/Modal/utils.js +3 -5
- package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
- package/cjs/MultiCascader/MultiCascader.js +6 -6
- package/cjs/MultiCascader/utils.d.ts +17 -17
- package/cjs/Nav/Nav.d.ts +1 -1
- package/cjs/Nav/Nav.js +3 -0
- package/cjs/Nav/NavContext.d.ts +7 -1
- package/cjs/Nav/NavContext.js +1 -0
- package/cjs/Nav/NavItem.d.ts +1 -1
- package/cjs/Navbar/Navbar.js +1 -1
- package/cjs/Navbar/NavbarItem.d.ts +1 -1
- package/cjs/Overlay/Modal.d.ts +2 -2
- package/cjs/Overlay/Modal.js +67 -45
- package/cjs/Overlay/ModalManager.d.ts +17 -8
- package/cjs/Overlay/ModalManager.js +11 -20
- package/cjs/Overlay/Overlay.d.ts +3 -3
- package/cjs/Overlay/Overlay.js +8 -2
- package/cjs/Overlay/OverlayContext.d.ts +6 -0
- package/cjs/Overlay/OverlayContext.js +14 -0
- package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
- package/cjs/Overlay/OverlayTrigger.js +21 -7
- package/cjs/Overlay/Position.d.ts +4 -4
- package/cjs/Overlay/Position.js +14 -8
- package/cjs/Overlay/positionUtils.d.ts +1 -1
- package/cjs/Overlay/positionUtils.js +8 -8
- package/cjs/Pagination/Pagination.d.ts +1 -1
- package/cjs/Pagination/PaginationButton.d.ts +3 -3
- package/cjs/Pagination/PaginationGroup.js +5 -3
- package/cjs/Panel/Panel.d.ts +1 -1
- package/cjs/Panel/Panel.js +2 -2
- package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
- package/cjs/Picker/DropdownMenu.d.ts +8 -5
- package/cjs/Picker/DropdownMenu.js +5 -5
- package/cjs/Picker/PickerOverlay.js +4 -3
- package/cjs/Picker/PickerToggle.js +9 -6
- package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
- package/cjs/Picker/SearchBar.d.ts +1 -1
- package/cjs/Picker/SelectedElement.js +2 -1
- package/cjs/Picker/VirtualizedList.d.ts +29 -2
- package/cjs/Picker/propTypes.d.ts +5 -7
- package/cjs/Picker/propTypes.js +4 -3
- package/cjs/Picker/utils.d.ts +15 -23
- package/cjs/Picker/utils.js +71 -46
- package/cjs/Placeholder/PlaceholderGrid.js +1 -1
- package/cjs/Plaintext/Plaintext.js +2 -1
- package/cjs/Radio/Radio.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
- package/cjs/RadioGroup/RadioGroup.js +3 -3
- package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
- package/cjs/RangeSlider/RangeSlider.js +6 -4
- package/cjs/Rate/Character.js +4 -2
- package/cjs/Rate/Rate.js +5 -2
- package/cjs/Ripple/Ripple.js +1 -1
- package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
- package/cjs/SelectPicker/SelectPicker.js +8 -8
- package/cjs/SelectPicker/index.d.ts +1 -1
- package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
- package/cjs/Sidenav/Node.d.ts +1 -1
- package/cjs/Sidenav/Sidenav.d.ts +4 -4
- package/cjs/Sidenav/Sidenav.js +5 -2
- package/cjs/Sidenav/SidenavDropdown.js +11 -8
- package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
- package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
- package/cjs/Sidenav/SidenavItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavItem.js +4 -0
- package/cjs/Slider/Graduated.d.ts +5 -5
- package/cjs/Slider/Handle.d.ts +1 -1
- package/cjs/Slider/Handle.js +10 -6
- package/cjs/Slider/Mark.d.ts +1 -1
- package/cjs/Slider/Slider.d.ts +1 -1
- package/cjs/Slider/Slider.js +2 -2
- package/cjs/Slider/utils.d.ts +2 -1
- package/cjs/Slider/utils.js +4 -5
- package/cjs/Stack/Stack.d.ts +26 -0
- package/cjs/Stack/Stack.js +86 -0
- package/cjs/Stack/index.d.ts +3 -0
- package/cjs/Stack/index.js +11 -0
- package/cjs/Steps/StepItem.js +1 -1
- package/cjs/TagInput/index.js +1 -1
- package/cjs/Toggle/Toggle.js +3 -3
- package/cjs/Tree/Tree.d.ts +3 -2
- package/cjs/Tree/Tree.js +2 -6
- package/cjs/Tree/TreeContext.d.ts +0 -1
- package/cjs/TreePicker/TreeNode.js +7 -22
- package/cjs/TreePicker/TreePicker.js +37 -54
- package/cjs/Uploader/UploadFileItem.d.ts +1 -1
- package/cjs/Uploader/UploadFileItem.js +2 -2
- package/cjs/Uploader/UploadTrigger.d.ts +1 -1
- package/cjs/Uploader/UploadTrigger.js +2 -3
- package/cjs/Uploader/Uploader.d.ts +5 -5
- package/cjs/Uploader/Uploader.js +1 -2
- package/cjs/index.d.ts +6 -2
- package/cjs/index.js +13 -5
- package/cjs/locales/index.d.ts +3 -3
- package/cjs/toaster/ToastContainer.d.ts +1 -1
- package/cjs/toaster/ToastContainer.js +1 -1
- package/cjs/toaster/toaster.js +3 -1
- package/cjs/utils/BrowserDetection.js +1 -1
- package/cjs/utils/ReactChildren.d.ts +2 -2
- package/cjs/utils/ajaxUpload.d.ts +1 -1
- package/cjs/utils/ajaxUpload.js +5 -4
- package/cjs/utils/appendTooltip.d.ts +1 -1
- package/cjs/utils/constants.d.ts +4 -4
- package/cjs/utils/createChainedFunction.d.ts +1 -1
- package/cjs/utils/getDataGroupBy.d.ts +1 -1
- package/cjs/utils/mergeRefs.d.ts +2 -2
- package/cjs/utils/previewFile.d.ts +1 -1
- package/cjs/utils/propTypeChecker.d.ts +6 -2
- package/cjs/utils/propTypeChecker.js +7 -6
- package/cjs/utils/reactToString.d.ts +2 -1
- package/cjs/utils/statusIcons.d.ts +1 -1
- package/cjs/utils/stringToObject.d.ts +1 -1
- package/cjs/utils/treeUtils.d.ts +35 -32
- package/cjs/utils/treeUtils.js +46 -23
- package/cjs/utils/useControlled.d.ts +6 -1
- package/cjs/utils/useControlled.js +0 -8
- package/cjs/utils/useCustom.js +6 -4
- package/cjs/utils/useElementResize.js +6 -3
- package/cjs/utils/useFocus.d.ts +2 -2
- package/cjs/utils/usePortal.d.ts +2 -2
- package/cjs/utils/useRootClose.d.ts +2 -2
- package/cjs/utils/useTimeout.d.ts +1 -1
- package/cjs/utils/useTimeout.js +5 -3
- package/dist/rsuite-rtl.css +60 -178
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +60 -178
- package/dist/rsuite.js +216 -117
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.LICENSE.txt +9 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +13 -12
- package/esm/@types/utils.d.ts +12 -0
- package/esm/Affix/Affix.js +5 -5
- package/esm/Animation/Transition.d.ts +21 -12
- package/esm/Animation/Transition.js +4 -1
- package/esm/AutoComplete/AutoComplete.js +1 -1
- package/esm/AutoComplete/utils.d.ts +1 -1
- package/esm/Avatar/Avatar.js +7 -3
- package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
- package/esm/AvatarGroup/AvatarGroup.js +54 -0
- package/esm/AvatarGroup/index.d.ts +3 -0
- package/esm/AvatarGroup/index.js +2 -0
- package/esm/Breadcrumb/Breadcrumb.js +1 -1
- package/esm/Button/Button.js +6 -2
- package/esm/ButtonGroup/ButtonGroup.js +7 -2
- package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
- package/esm/ButtonGroup/index.d.ts +2 -0
- package/esm/ButtonGroup/index.js +2 -0
- package/esm/Calendar/Calendar.d.ts +4 -4
- package/esm/Calendar/Calendar.js +5 -2
- package/esm/Calendar/CalendarContext.js +1 -1
- package/esm/Calendar/TableRow.js +1 -1
- package/esm/Calendar/TimeDropdown.js +5 -4
- package/esm/Calendar/types.d.ts +2 -2
- package/esm/Calendar/useCalendarDate.d.ts +2 -2
- package/esm/Carousel/Carousel.d.ts +2 -2
- package/esm/Carousel/Carousel.js +1 -1
- package/esm/Cascader/Cascader.d.ts +1 -1
- package/esm/Cascader/Cascader.js +10 -10
- package/esm/Cascader/DropdownMenu.d.ts +5 -4
- package/esm/Cascader/utils.d.ts +10 -10
- package/esm/CheckPicker/CheckPicker.d.ts +9 -4
- package/esm/CheckPicker/CheckPicker.js +4 -4
- package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
- package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
- package/esm/CheckTree/index.js +2 -4
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
- package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
- package/esm/CheckTreePicker/utils.d.ts +3 -1
- package/esm/CheckTreePicker/utils.js +12 -10
- package/esm/Checkbox/Checkbox.d.ts +1 -1
- package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/CustomProvider/CustomProvider.d.ts +31 -57
- package/esm/DOMHelper/index.d.ts +12 -12
- package/esm/DatePicker/DatePicker.d.ts +1 -1
- package/esm/DatePicker/DatePicker.js +16 -11
- package/esm/DatePicker/Toolbar.d.ts +12 -9
- package/esm/DatePicker/Toolbar.js +6 -8
- package/esm/DatePicker/types.d.ts +4 -4
- package/esm/DatePicker/utils.d.ts +4 -3
- package/esm/DateRangePicker/Calendar.d.ts +9 -7
- package/esm/DateRangePicker/Calendar.js +28 -6
- package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
- package/esm/DateRangePicker/DateRangePicker.js +129 -108
- package/esm/DateRangePicker/types.d.ts +2 -1
- package/esm/DateRangePicker/utils.d.ts +6 -6
- package/esm/DateRangePicker/utils.js +6 -2
- package/esm/Disclosure/Disclosure.js +4 -2
- package/esm/Disclosure/DisclosureButton.js +8 -7
- package/esm/Disclosure/DisclosureContent.js +5 -7
- package/esm/Disclosure/DisclosureContext.d.ts +2 -2
- package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
- package/esm/Disclosure/useDisclosureContext.js +11 -0
- package/esm/Dropdown/Dropdown.d.ts +1 -1
- package/esm/Dropdown/DropdownContext.d.ts +2 -2
- package/esm/Dropdown/DropdownItem.js +1 -1
- package/esm/Dropdown/DropdownMenu.d.ts +3 -3
- package/esm/Dropdown/DropdownState.d.ts +1 -1
- package/esm/Dropdown/DropdownToggle.js +9 -2
- package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
- package/esm/Form/Form.js +1 -1
- package/esm/Form/FormContext.d.ts +1 -1
- package/esm/FormControl/FormControl.d.ts +1 -1
- package/esm/FormControl/FormControl.js +5 -4
- package/esm/FormGroup/FormGroup.d.ts +1 -1
- package/esm/Input/Input.d.ts +3 -2
- package/esm/InputGroup/InputGroup.d.ts +1 -1
- package/esm/InputNumber/InputNumber.js +6 -2
- package/esm/InputPicker/InputAutosize.js +4 -4
- package/esm/InputPicker/InputPicker.d.ts +2 -2
- package/esm/InputPicker/InputPicker.js +16 -11
- package/esm/List/ListContext.d.ts +1 -1
- package/esm/List/ListContext.js +7 -1
- package/esm/List/helper/AutoScroller.js +4 -2
- package/esm/List/helper/useManager.d.ts +3 -3
- package/esm/List/helper/useManager.js +1 -1
- package/esm/List/helper/useSortHelper.d.ts +3 -3
- package/esm/List/helper/useSortHelper.js +6 -4
- package/esm/List/helper/utils.d.ts +2 -2
- package/esm/MaskedInput/TextMask.d.ts +5 -5
- package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
- package/esm/MaskedInput/conformToMask.js +5 -4
- package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
- package/esm/MaskedInput/utilities.d.ts +1 -1
- package/esm/Menu/Menu.js +59 -43
- package/esm/Menu/MenuContext.d.ts +1 -1
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +30 -23
- package/esm/Menu/Menubar.js +7 -8
- package/esm/Menu/useMenu.js +17 -7
- package/esm/Modal/Modal.js +12 -6
- package/esm/Modal/ModalContext.d.ts +2 -2
- package/esm/Modal/utils.d.ts +1 -1
- package/esm/Modal/utils.js +3 -5
- package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
- package/esm/MultiCascader/MultiCascader.js +6 -6
- package/esm/MultiCascader/utils.d.ts +17 -17
- package/esm/Nav/Nav.d.ts +1 -1
- package/esm/Nav/Nav.js +3 -0
- package/esm/Nav/NavContext.d.ts +7 -1
- package/esm/Nav/NavContext.js +1 -0
- package/esm/Nav/NavItem.d.ts +1 -1
- package/esm/Navbar/Navbar.js +1 -1
- package/esm/Navbar/NavbarItem.d.ts +1 -1
- package/esm/Overlay/Modal.d.ts +2 -2
- package/esm/Overlay/Modal.js +67 -45
- package/esm/Overlay/ModalManager.d.ts +17 -8
- package/esm/Overlay/ModalManager.js +11 -20
- package/esm/Overlay/Overlay.d.ts +3 -3
- package/esm/Overlay/Overlay.js +8 -3
- package/esm/Overlay/OverlayContext.d.ts +6 -0
- package/esm/Overlay/OverlayContext.js +4 -0
- package/esm/Overlay/OverlayTrigger.d.ts +11 -11
- package/esm/Overlay/OverlayTrigger.js +21 -8
- package/esm/Overlay/Position.d.ts +4 -4
- package/esm/Overlay/Position.js +14 -8
- package/esm/Overlay/positionUtils.d.ts +1 -1
- package/esm/Overlay/positionUtils.js +6 -6
- package/esm/Pagination/Pagination.d.ts +1 -1
- package/esm/Pagination/PaginationButton.d.ts +3 -3
- package/esm/Pagination/PaginationGroup.js +5 -3
- package/esm/Panel/Panel.d.ts +1 -1
- package/esm/Panel/Panel.js +2 -2
- package/esm/PanelGroup/PanelGroup.d.ts +2 -2
- package/esm/Picker/DropdownMenu.d.ts +8 -5
- package/esm/Picker/DropdownMenu.js +5 -5
- package/esm/Picker/PickerOverlay.js +4 -3
- package/esm/Picker/PickerToggle.js +9 -6
- package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
- package/esm/Picker/SearchBar.d.ts +1 -1
- package/esm/Picker/SelectedElement.js +2 -1
- package/esm/Picker/VirtualizedList.d.ts +29 -2
- package/esm/Picker/propTypes.d.ts +5 -7
- package/esm/Picker/propTypes.js +4 -3
- package/esm/Picker/utils.d.ts +15 -23
- package/esm/Picker/utils.js +70 -46
- package/esm/Placeholder/PlaceholderGrid.js +1 -1
- package/esm/Plaintext/Plaintext.js +2 -1
- package/esm/Radio/Radio.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.d.ts +2 -2
- package/esm/RadioGroup/RadioGroup.js +3 -3
- package/esm/RangeSlider/RangeSlider.d.ts +2 -2
- package/esm/RangeSlider/RangeSlider.js +5 -4
- package/esm/Rate/Character.js +3 -2
- package/esm/Rate/Rate.js +4 -2
- package/esm/Ripple/Ripple.js +1 -1
- package/esm/SelectPicker/SelectPicker.d.ts +12 -5
- package/esm/SelectPicker/SelectPicker.js +8 -8
- package/esm/SelectPicker/index.d.ts +1 -1
- package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
- package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
- package/esm/Sidenav/Node.d.ts +1 -1
- package/esm/Sidenav/Sidenav.d.ts +4 -4
- package/esm/Sidenav/Sidenav.js +5 -2
- package/esm/Sidenav/SidenavDropdown.js +11 -7
- package/esm/Sidenav/SidenavDropdownItem.js +11 -5
- package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
- package/esm/Sidenav/SidenavItem.d.ts +1 -1
- package/esm/Sidenav/SidenavItem.js +4 -0
- package/esm/Slider/Graduated.d.ts +5 -5
- package/esm/Slider/Handle.d.ts +1 -1
- package/esm/Slider/Handle.js +10 -6
- package/esm/Slider/Mark.d.ts +1 -1
- package/esm/Slider/Slider.d.ts +1 -1
- package/esm/Slider/Slider.js +2 -2
- package/esm/Slider/utils.d.ts +2 -1
- package/esm/Slider/utils.js +5 -2
- package/esm/Stack/Stack.d.ts +26 -0
- package/esm/Stack/Stack.js +71 -0
- package/esm/Stack/index.d.ts +3 -0
- package/esm/Stack/index.js +2 -0
- package/esm/Steps/StepItem.js +1 -1
- package/esm/TagInput/index.js +1 -1
- package/esm/Toggle/Toggle.js +3 -3
- package/esm/Tree/Tree.d.ts +3 -2
- package/esm/Tree/Tree.js +2 -4
- package/esm/Tree/TreeContext.d.ts +0 -1
- package/esm/TreePicker/TreeNode.js +6 -21
- package/esm/TreePicker/TreePicker.js +36 -52
- package/esm/Uploader/UploadFileItem.d.ts +1 -1
- package/esm/Uploader/UploadFileItem.js +2 -2
- package/esm/Uploader/UploadTrigger.d.ts +1 -1
- package/esm/Uploader/UploadTrigger.js +2 -3
- package/esm/Uploader/Uploader.d.ts +5 -5
- package/esm/Uploader/Uploader.js +1 -2
- package/esm/index.d.ts +6 -2
- package/esm/index.js +3 -1
- package/esm/locales/index.d.ts +3 -3
- package/esm/toaster/ToastContainer.d.ts +1 -1
- package/esm/toaster/ToastContainer.js +1 -1
- package/esm/toaster/toaster.js +3 -1
- package/esm/utils/BrowserDetection.js +1 -1
- package/esm/utils/ReactChildren.d.ts +2 -2
- package/esm/utils/ajaxUpload.d.ts +1 -1
- package/esm/utils/ajaxUpload.js +5 -4
- package/esm/utils/appendTooltip.d.ts +1 -1
- package/esm/utils/constants.d.ts +4 -4
- package/esm/utils/createChainedFunction.d.ts +1 -1
- package/esm/utils/getDataGroupBy.d.ts +1 -1
- package/esm/utils/mergeRefs.d.ts +2 -2
- package/esm/utils/previewFile.d.ts +1 -1
- package/esm/utils/propTypeChecker.d.ts +6 -2
- package/esm/utils/propTypeChecker.js +7 -6
- package/esm/utils/reactToString.d.ts +2 -1
- package/esm/utils/statusIcons.d.ts +1 -1
- package/esm/utils/stringToObject.d.ts +1 -1
- package/esm/utils/treeUtils.d.ts +35 -32
- package/esm/utils/treeUtils.js +45 -21
- package/esm/utils/useControlled.d.ts +6 -1
- package/esm/utils/useControlled.js +0 -8
- package/esm/utils/useCustom.js +6 -4
- package/esm/utils/useElementResize.js +6 -3
- package/esm/utils/useFocus.d.ts +2 -2
- package/esm/utils/usePortal.d.ts +2 -2
- package/esm/utils/useRootClose.d.ts +2 -2
- package/esm/utils/useTimeout.d.ts +1 -1
- package/esm/utils/useTimeout.js +5 -3
- package/package.json +3 -3
- package/styles/index.less +2 -0
package/cjs/Nav/Nav.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface NavProps<T = any> extends WithAsProps, Omit<React.HTMLAttribute
|
|
|
16
16
|
/** Active key, corresponding to eventkey in <Nav.item>. */
|
|
17
17
|
activeKey?: T;
|
|
18
18
|
/** Callback function triggered after selection */
|
|
19
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
19
|
+
onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
20
20
|
}
|
|
21
21
|
interface NavComponent extends RsRefForwardingComponent<'div', NavProps> {
|
|
22
22
|
Dropdown: typeof Dropdown;
|
package/cjs/Nav/Nav.js
CHANGED
|
@@ -79,6 +79,7 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
79
79
|
if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
|
|
80
80
|
return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
|
|
81
81
|
value: {
|
|
82
|
+
withinNav: true,
|
|
82
83
|
activeKey: activeKey,
|
|
83
84
|
onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
|
|
84
85
|
}
|
|
@@ -93,6 +94,7 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
93
94
|
if (sidenav) {
|
|
94
95
|
return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
|
|
95
96
|
value: {
|
|
97
|
+
withinNav: true,
|
|
96
98
|
activeKey: activeKey,
|
|
97
99
|
onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
|
|
98
100
|
}
|
|
@@ -109,6 +111,7 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
109
111
|
|
|
110
112
|
return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
|
|
111
113
|
value: {
|
|
114
|
+
withinNav: true,
|
|
112
115
|
activeKey: activeKey,
|
|
113
116
|
onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
|
|
114
117
|
}
|
package/cjs/Nav/NavContext.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export interface NavContextProps {
|
|
3
|
+
/**
|
|
4
|
+
* Whether component is rendered within a <Nav>
|
|
5
|
+
*
|
|
6
|
+
* FIXME: Bad design. Should use NavContextProps | null to determin whether within a <Nav>
|
|
7
|
+
*/
|
|
8
|
+
withinNav: boolean;
|
|
3
9
|
activeKey: string | null;
|
|
4
|
-
onSelect
|
|
10
|
+
onSelect?: (eventKey: string | undefined, event: React.SyntheticEvent) => void;
|
|
5
11
|
}
|
|
6
12
|
declare const NavContext: React.Context<NavContextProps>;
|
|
7
13
|
export default NavContext;
|
package/cjs/Nav/NavContext.js
CHANGED
package/cjs/Nav/NavItem.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface NavItemProps<T = string> extends WithAsProps, Omit<React.HTMLAt
|
|
|
17
17
|
/** Providing a `href` will render an `<a>` element */
|
|
18
18
|
href?: string;
|
|
19
19
|
/** Select the callback function that the event triggers. */
|
|
20
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
20
|
+
onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* The <Nav.Item> API
|
package/cjs/Navbar/Navbar.js
CHANGED
|
@@ -19,7 +19,7 @@ var _NavbarBrand = _interopRequireDefault(require("./NavbarBrand"));
|
|
|
19
19
|
|
|
20
20
|
var _utils = require("../utils");
|
|
21
21
|
|
|
22
|
-
var NavbarContext = /*#__PURE__*/_react.default.createContext(
|
|
22
|
+
var NavbarContext = /*#__PURE__*/_react.default.createContext(false);
|
|
23
23
|
|
|
24
24
|
exports.NavbarContext = NavbarContext;
|
|
25
25
|
|
|
@@ -13,7 +13,7 @@ export interface NavItemProps<T = string> extends WithAsProps, Omit<React.HTMLAt
|
|
|
13
13
|
/** Providing a `href` will render an `<a>` element */
|
|
14
14
|
href?: string;
|
|
15
15
|
/** Select the callback function that the event triggers. */
|
|
16
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
16
|
+
onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
17
17
|
}
|
|
18
18
|
declare const NavbarItem: RsRefForwardingComponent<'a', NavItemProps>;
|
|
19
19
|
export default NavbarItem;
|
package/cjs/Overlay/Modal.d.ts
CHANGED
|
@@ -44,8 +44,8 @@ interface ModalProps extends BaseModalProps {
|
|
|
44
44
|
containerClassName?: string;
|
|
45
45
|
backdropTransitionTimeout?: number;
|
|
46
46
|
dialogTransitionTimeout?: number;
|
|
47
|
-
transition
|
|
48
|
-
|
|
47
|
+
transition?: React.ElementType;
|
|
48
|
+
onEsc?: React.KeyboardEventHandler;
|
|
49
49
|
onBackdropClick?: React.MouseEventHandler;
|
|
50
50
|
}
|
|
51
51
|
declare const Modal: RsRefForwardingComponent<'div', ModalProps>;
|
package/cjs/Overlay/Modal.js
CHANGED
|
@@ -17,8 +17,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
17
17
|
|
|
18
18
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
19
|
|
|
20
|
-
var _canUseDOM = _interopRequireDefault(require("dom-lib/canUseDOM"));
|
|
21
|
-
|
|
22
20
|
var _contains = _interopRequireDefault(require("dom-lib/contains"));
|
|
23
21
|
|
|
24
22
|
var _getContainer = _interopRequireDefault(require("dom-lib/getContainer"));
|
|
@@ -33,6 +31,8 @@ var _utils = require("../Animation/utils");
|
|
|
33
31
|
|
|
34
32
|
var _utils2 = require("../utils");
|
|
35
33
|
|
|
34
|
+
var _OverlayContext = _interopRequireDefault(require("./OverlayContext"));
|
|
35
|
+
|
|
36
36
|
var manager;
|
|
37
37
|
|
|
38
38
|
function getManager() {
|
|
@@ -47,6 +47,12 @@ var useModalManager = function useModalManager() {
|
|
|
47
47
|
backdrop: null
|
|
48
48
|
});
|
|
49
49
|
return {
|
|
50
|
+
get dialog() {
|
|
51
|
+
var _modal$current;
|
|
52
|
+
|
|
53
|
+
return (_modal$current = modal.current) === null || _modal$current === void 0 ? void 0 : _modal$current.dialog;
|
|
54
|
+
},
|
|
55
|
+
|
|
50
56
|
add: function add(containerElement, containerClassName) {
|
|
51
57
|
return modalManager.add(modal.current, containerElement, containerClassName);
|
|
52
58
|
},
|
|
@@ -89,7 +95,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
89
95
|
_props$autoFocus = props.autoFocus,
|
|
90
96
|
autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,
|
|
91
97
|
onBackdropClick = props.onBackdropClick,
|
|
92
|
-
|
|
98
|
+
onEsc = props.onEsc,
|
|
93
99
|
onExit = props.onExit,
|
|
94
100
|
onExiting = props.onExiting,
|
|
95
101
|
onExited = props.onExited,
|
|
@@ -98,7 +104,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
98
104
|
onEntered = props.onEntered,
|
|
99
105
|
onClose = props.onClose,
|
|
100
106
|
onOpen = props.onOpen,
|
|
101
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "children", "transition", "dialogTransitionTimeout", "style", "className", "container", "animationProps", "containerClassName", "keyboard", "enforceFocus", "backdrop", "backdropTransitionTimeout", "backdropStyle", "backdropClassName", "open", "autoFocus", "onBackdropClick", "
|
|
107
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "children", "transition", "dialogTransitionTimeout", "style", "className", "container", "animationProps", "containerClassName", "keyboard", "enforceFocus", "backdrop", "backdropTransitionTimeout", "backdropStyle", "backdropClassName", "open", "autoFocus", "onBackdropClick", "onEsc", "onExit", "onExiting", "onExited", "onEnter", "onEntering", "onEntered", "onClose", "onOpen"]);
|
|
102
108
|
|
|
103
109
|
var _useState = (0, _react.useState)(!open),
|
|
104
110
|
exited = _useState[0],
|
|
@@ -118,19 +124,13 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
118
124
|
}
|
|
119
125
|
|
|
120
126
|
var mountModal = open || Transition && !exited;
|
|
121
|
-
var
|
|
122
|
-
var
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
onEscapeKeyUp === null || onEscapeKeyUp === void 0 ? void 0 : onEscapeKeyUp(event);
|
|
127
|
+
var lastFocus = (0, _react.useRef)(null);
|
|
128
|
+
var handleDocumentKeyDown = (0, _utils2.useEventCallback)(function (event) {
|
|
129
|
+
if (keyboard && event.key === _utils2.KEY_VALUES.ESC && modal.isTopModal()) {
|
|
130
|
+
onEsc === null || onEsc === void 0 ? void 0 : onEsc(event);
|
|
126
131
|
onClose === null || onClose === void 0 ? void 0 : onClose(event);
|
|
127
132
|
}
|
|
128
|
-
}
|
|
129
|
-
var checkForFocus = (0, _react.useCallback)(function () {
|
|
130
|
-
if (_canUseDOM.default) {
|
|
131
|
-
lastFocus.current = document.activeElement;
|
|
132
|
-
}
|
|
133
|
-
}, []);
|
|
133
|
+
});
|
|
134
134
|
var restoreLastFocus = (0, _react.useCallback)(function () {
|
|
135
135
|
if (lastFocus.current) {
|
|
136
136
|
var _lastFocus$current$fo, _lastFocus$current;
|
|
@@ -139,22 +139,29 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
139
139
|
lastFocus.current = null;
|
|
140
140
|
}
|
|
141
141
|
}, []);
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
142
|
+
/**
|
|
143
|
+
* Determines if the currently focused element is inside the dialog,
|
|
144
|
+
* and if not, returns the focus to the dialog.
|
|
145
|
+
*
|
|
146
|
+
*/
|
|
149
147
|
|
|
148
|
+
var handleFocusDialog = (0, _utils2.useEventCallback)(function (onBeforeFocusCallback) {
|
|
150
149
|
var currentActiveElement = document.activeElement;
|
|
151
|
-
var dialog =
|
|
150
|
+
var dialog = modal.dialog;
|
|
152
151
|
|
|
153
|
-
if (dialog &&
|
|
152
|
+
if (dialog && currentActiveElement && !(0, _contains.default)(dialog, currentActiveElement)) {
|
|
153
|
+
onBeforeFocusCallback === null || onBeforeFocusCallback === void 0 ? void 0 : onBeforeFocusCallback();
|
|
154
154
|
dialog.focus();
|
|
155
155
|
}
|
|
156
|
-
}
|
|
157
|
-
var
|
|
156
|
+
});
|
|
157
|
+
var handleEnforceFocus = (0, _utils2.useEventCallback)(function () {
|
|
158
|
+
if (!enforceFocus || !modal.isTopModal()) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
handleFocusDialog();
|
|
163
|
+
});
|
|
164
|
+
var handleBackdropClick = (0, _utils2.useEventCallback)(function (event) {
|
|
158
165
|
if (event.target !== event.currentTarget) {
|
|
159
166
|
return;
|
|
160
167
|
}
|
|
@@ -164,30 +171,39 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
164
171
|
if (backdrop === true) {
|
|
165
172
|
onClose === null || onClose === void 0 ? void 0 : onClose(event);
|
|
166
173
|
}
|
|
167
|
-
}
|
|
168
|
-
var
|
|
169
|
-
var
|
|
170
|
-
var handleOpen = (0,
|
|
171
|
-
var dialog = getDialogElement();
|
|
174
|
+
});
|
|
175
|
+
var documentKeyDownListener = (0, _react.useRef)();
|
|
176
|
+
var documentFocusListener = (0, _react.useRef)();
|
|
177
|
+
var handleOpen = (0, _utils2.useEventCallback)(function () {
|
|
172
178
|
var containerElement = (0, _getContainer.default)(container, document.body);
|
|
173
179
|
modal.add(containerElement, containerClassName);
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
180
|
+
|
|
181
|
+
if (!documentKeyDownListener.current) {
|
|
182
|
+
documentKeyDownListener.current = (0, _on.default)(document, 'keydown', handleDocumentKeyDown);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (!documentFocusListener.current) {
|
|
186
|
+
documentFocusListener.current = (0, _on.default)(document, 'focus', handleEnforceFocus, true);
|
|
187
|
+
}
|
|
178
188
|
|
|
179
189
|
if (autoFocus) {
|
|
180
|
-
|
|
190
|
+
handleFocusDialog(function () {
|
|
191
|
+
lastFocus.current = document.activeElement;
|
|
192
|
+
});
|
|
181
193
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
194
|
+
|
|
195
|
+
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
196
|
+
});
|
|
197
|
+
var handleClose = (0, _utils2.useEventCallback)(function () {
|
|
198
|
+
var _documentKeyDownListe, _documentFocusListene;
|
|
185
199
|
|
|
186
200
|
modal.remove();
|
|
187
|
-
(
|
|
188
|
-
|
|
201
|
+
(_documentKeyDownListe = documentKeyDownListener.current) === null || _documentKeyDownListe === void 0 ? void 0 : _documentKeyDownListe.off();
|
|
202
|
+
documentKeyDownListener.current = null;
|
|
203
|
+
(_documentFocusListene = documentFocusListener.current) === null || _documentFocusListene === void 0 ? void 0 : _documentFocusListene.off();
|
|
204
|
+
documentFocusListener.current = null;
|
|
189
205
|
restoreLastFocus();
|
|
190
|
-
}
|
|
206
|
+
});
|
|
191
207
|
(0, _react.useEffect)(function () {
|
|
192
208
|
if (!open) {
|
|
193
209
|
return;
|
|
@@ -255,12 +271,18 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
255
271
|
onEntering: onEntering,
|
|
256
272
|
onEntered: onEntered
|
|
257
273
|
}), children) : children;
|
|
258
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
274
|
+
return /*#__PURE__*/_react.default.createElement(_OverlayContext.default.Provider, {
|
|
275
|
+
value: {
|
|
276
|
+
overlayContainer: function overlayContainer() {
|
|
277
|
+
return modal.dialog;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}, /*#__PURE__*/_react.default.createElement(Portal, null, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
259
281
|
ref: (0, _utils2.mergeRefs)(modal.setDialogRef, ref),
|
|
260
282
|
style: style,
|
|
261
283
|
className: className,
|
|
262
284
|
tabIndex: -1
|
|
263
|
-
}), backdrop && renderBackdrop(), dialogElement));
|
|
285
|
+
}), backdrop && renderBackdrop(), dialogElement)));
|
|
264
286
|
});
|
|
265
287
|
|
|
266
288
|
var modalPropTypes = {
|
|
@@ -287,7 +309,7 @@ Modal.propTypes = (0, _extends2.default)({}, _utils.animationPropTypes, modalPro
|
|
|
287
309
|
dialogTransitionTimeout: _propTypes.default.number,
|
|
288
310
|
backdropTransitionTimeout: _propTypes.default.number,
|
|
289
311
|
transition: _propTypes.default.any,
|
|
290
|
-
|
|
312
|
+
onEsc: _propTypes.default.func,
|
|
291
313
|
onBackdropClick: _propTypes.default.func
|
|
292
314
|
});
|
|
293
315
|
var _default = Modal;
|
|
@@ -1,11 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ModalInstance {
|
|
3
|
+
dialog: HTMLElement | null;
|
|
4
|
+
backdrop: HTMLElement | null;
|
|
5
|
+
}
|
|
6
|
+
export interface ContainerState {
|
|
7
|
+
classes: string[];
|
|
8
|
+
modals: ModalInstance[];
|
|
9
|
+
style: React.CSSProperties;
|
|
10
|
+
overflowing: boolean;
|
|
11
|
+
}
|
|
1
12
|
declare class ModalManager {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
remove(modal: any): void;
|
|
9
|
-
isTopModal(modal: any): boolean;
|
|
13
|
+
modals: ModalInstance[];
|
|
14
|
+
containers: HTMLElement[];
|
|
15
|
+
data: ContainerState[];
|
|
16
|
+
add(modal: ModalInstance, container: HTMLElement, className?: string): number;
|
|
17
|
+
remove(modal: ModalInstance): void;
|
|
18
|
+
isTopModal(modal: ModalInstance): boolean;
|
|
10
19
|
}
|
|
11
20
|
export default ModalManager;
|
|
@@ -37,16 +37,7 @@ function findContainer(data, modal) {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
var ModalManager = /*#__PURE__*/function () {
|
|
40
|
-
function ModalManager(
|
|
41
|
-
if (hideSiblingNodes === void 0) {
|
|
42
|
-
hideSiblingNodes = true;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
this.hideSiblingNodes = null;
|
|
46
|
-
this.modals = [];
|
|
47
|
-
this.containers = [];
|
|
48
|
-
this.data = [];
|
|
49
|
-
this.hideSiblingNodes = hideSiblingNodes;
|
|
40
|
+
function ModalManager() {
|
|
50
41
|
this.modals = [];
|
|
51
42
|
this.containers = [];
|
|
52
43
|
this.data = [];
|
|
@@ -70,7 +61,7 @@ var ModalManager = /*#__PURE__*/function () {
|
|
|
70
61
|
return modalIndex;
|
|
71
62
|
}
|
|
72
63
|
|
|
73
|
-
var
|
|
64
|
+
var containerState = {
|
|
74
65
|
modals: [modal],
|
|
75
66
|
classes: className ? className.split(/\s+/) : [],
|
|
76
67
|
style: {
|
|
@@ -80,7 +71,7 @@ var ModalManager = /*#__PURE__*/function () {
|
|
|
80
71
|
overflowing: (0, _isOverflowing.default)(container)
|
|
81
72
|
};
|
|
82
73
|
|
|
83
|
-
if (
|
|
74
|
+
if (containerState.overflowing) {
|
|
84
75
|
var paddingRight = parseInt((0, _getStyle.default)(container, 'paddingRight') || 0, 10);
|
|
85
76
|
var barSize = (0, _getScrollbarSize.default)();
|
|
86
77
|
(0, _addStyle.default)(container, {
|
|
@@ -88,9 +79,9 @@ var ModalManager = /*#__PURE__*/function () {
|
|
|
88
79
|
});
|
|
89
80
|
}
|
|
90
81
|
|
|
91
|
-
|
|
82
|
+
containerState.classes.forEach(_addClass.default.bind(null, container));
|
|
92
83
|
this.containers.push(container);
|
|
93
|
-
this.data.push(
|
|
84
|
+
this.data.push(containerState);
|
|
94
85
|
return modalIndex;
|
|
95
86
|
};
|
|
96
87
|
|
|
@@ -102,16 +93,16 @@ var ModalManager = /*#__PURE__*/function () {
|
|
|
102
93
|
}
|
|
103
94
|
|
|
104
95
|
var containerIndex = findContainer(this.data, modal);
|
|
105
|
-
var
|
|
96
|
+
var containerState = this.data[containerIndex];
|
|
106
97
|
var container = this.containers[containerIndex];
|
|
107
|
-
|
|
98
|
+
containerState.modals.splice(containerState.modals.indexOf(modal), 1);
|
|
108
99
|
this.modals.splice(modalIndex, 1);
|
|
109
100
|
|
|
110
|
-
if (
|
|
111
|
-
Object.keys(
|
|
112
|
-
return container.style[key] =
|
|
101
|
+
if (containerState.modals.length === 0) {
|
|
102
|
+
Object.keys(containerState.style).forEach(function (key) {
|
|
103
|
+
return container.style[key] = containerState.style[key];
|
|
113
104
|
});
|
|
114
|
-
|
|
105
|
+
containerState.classes.forEach(_removeClass.default.bind(null, container));
|
|
115
106
|
this.containers.splice(containerIndex, 1);
|
|
116
107
|
this.data.splice(containerIndex, 1);
|
|
117
108
|
}
|
package/cjs/Overlay/Overlay.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { TypeAttributes, AnimationEventProps } from '../@types/common';
|
|
4
4
|
export interface OverlayProps extends AnimationEventProps {
|
|
5
|
-
container?: HTMLElement | (() => HTMLElement);
|
|
6
|
-
children
|
|
5
|
+
container?: HTMLElement | (() => HTMLElement | null) | null;
|
|
6
|
+
children: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
|
|
7
7
|
childrenProps?: React.HTMLAttributes<HTMLElement>;
|
|
8
8
|
className?: string;
|
|
9
9
|
containerPadding?: number;
|
|
@@ -13,7 +13,7 @@ export interface OverlayProps extends AnimationEventProps {
|
|
|
13
13
|
rootClose?: boolean;
|
|
14
14
|
transition?: React.ElementType;
|
|
15
15
|
triggerTarget?: React.RefObject<any>;
|
|
16
|
-
onClose?:
|
|
16
|
+
onClose?: React.ReactEventHandler;
|
|
17
17
|
}
|
|
18
18
|
export declare const overlayPropTypes: {
|
|
19
19
|
container: PropTypes.Requireable<any>;
|
package/cjs/Overlay/Overlay.js
CHANGED
|
@@ -21,6 +21,8 @@ var _utils = require("../utils");
|
|
|
21
21
|
|
|
22
22
|
var _Fade = _interopRequireDefault(require("../Animation/Fade"));
|
|
23
23
|
|
|
24
|
+
var _OverlayContext = _interopRequireDefault(require("./OverlayContext"));
|
|
25
|
+
|
|
24
26
|
var overlayPropTypes = {
|
|
25
27
|
container: _propTypes.default.any,
|
|
26
28
|
children: _propTypes.default.any,
|
|
@@ -44,7 +46,11 @@ var overlayPropTypes = {
|
|
|
44
46
|
exports.overlayPropTypes = overlayPropTypes;
|
|
45
47
|
|
|
46
48
|
var Overlay = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
47
|
-
var
|
|
49
|
+
var _useContext = (0, _react.useContext)(_OverlayContext.default),
|
|
50
|
+
overlayContainer = _useContext.overlayContainer;
|
|
51
|
+
|
|
52
|
+
var _props$container = props.container,
|
|
53
|
+
container = _props$container === void 0 ? overlayContainer : _props$container,
|
|
48
54
|
containerPadding = props.containerPadding,
|
|
49
55
|
placement = props.placement,
|
|
50
56
|
rootClose = props.rootClose,
|
|
@@ -67,7 +73,7 @@ var Overlay = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
67
73
|
exited = _useState[0],
|
|
68
74
|
setExited = _useState[1];
|
|
69
75
|
|
|
70
|
-
var overlayTarget = (0, _react.useRef)();
|
|
76
|
+
var overlayTarget = (0, _react.useRef)(null);
|
|
71
77
|
|
|
72
78
|
if (open) {
|
|
73
79
|
if (exited) setExited(false);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var OverlayContext = /*#__PURE__*/_react.default.createContext({});
|
|
11
|
+
|
|
12
|
+
OverlayContext.displayName = 'OverlayContext';
|
|
13
|
+
var _default = OverlayContext;
|
|
14
|
+
exports.default = _default;
|
|
@@ -17,7 +17,7 @@ export interface OverlayTriggerProps extends StandardProps, AnimationEventProps
|
|
|
17
17
|
/** Container padding */
|
|
18
18
|
containerPadding?: number;
|
|
19
19
|
/** display element */
|
|
20
|
-
speaker
|
|
20
|
+
speaker: React.ReactElement | ((props: any, ref: React.RefObject<any>) => React.ReactElement);
|
|
21
21
|
/** Prevent floating element overflow */
|
|
22
22
|
preventOverflow?: boolean;
|
|
23
23
|
/** Opern overlay */
|
|
@@ -27,7 +27,7 @@ export interface OverlayTriggerProps extends StandardProps, AnimationEventProps
|
|
|
27
27
|
/** Whether mouse is allowed to enter the floating layer of popover, whose default value is false. */
|
|
28
28
|
enterable?: boolean;
|
|
29
29
|
/** For the monitored component, the event will be bound to this component. */
|
|
30
|
-
children
|
|
30
|
+
children: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
|
|
31
31
|
/** Whether to allow clicking document to close the overlay */
|
|
32
32
|
rootClose?: boolean;
|
|
33
33
|
/** Once disabled, the event cannot be triggered. */
|
|
@@ -39,27 +39,27 @@ export interface OverlayTriggerProps extends StandardProps, AnimationEventProps
|
|
|
39
39
|
/** Set the `id` on `<Overlay>` and `aria-describedby` on `<OverlayTrigger>` */
|
|
40
40
|
controlId?: string;
|
|
41
41
|
/** Lose Focus callback function */
|
|
42
|
-
onBlur?:
|
|
42
|
+
onBlur?: React.FocusEventHandler;
|
|
43
43
|
/** Click on the callback function */
|
|
44
|
-
onClick?:
|
|
44
|
+
onClick?: React.MouseEventHandler;
|
|
45
45
|
/** RightClick on the callback function */
|
|
46
46
|
onContextMenu?: React.MouseEventHandler;
|
|
47
47
|
/** Callback function to get focus */
|
|
48
|
-
onFocus?:
|
|
48
|
+
onFocus?: React.FocusEventHandler;
|
|
49
49
|
/** Mouse leave callback function */
|
|
50
|
-
onMouseOut?:
|
|
50
|
+
onMouseOut?: React.MouseEventHandler;
|
|
51
51
|
/** Mouse over callback function */
|
|
52
|
-
onMouseOver?:
|
|
52
|
+
onMouseOver?: React.MouseEventHandler;
|
|
53
53
|
/** Callback fired when open component */
|
|
54
54
|
onOpen?: () => void;
|
|
55
55
|
/** Callback fired when close component */
|
|
56
56
|
onClose?: () => void;
|
|
57
57
|
}
|
|
58
58
|
export interface OverlayTriggerInstance {
|
|
59
|
-
root:
|
|
60
|
-
updatePosition
|
|
61
|
-
open
|
|
62
|
-
close
|
|
59
|
+
root: HTMLElement;
|
|
60
|
+
updatePosition: () => void;
|
|
61
|
+
open: () => void;
|
|
62
|
+
close: () => void;
|
|
63
63
|
}
|
|
64
64
|
declare const OverlayTrigger: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<unknown>>;
|
|
65
65
|
export default OverlayTrigger;
|
|
@@ -27,6 +27,8 @@ var _utils = require("../utils");
|
|
|
27
27
|
|
|
28
28
|
var _isOneOf = _interopRequireDefault(require("../utils/isOneOf"));
|
|
29
29
|
|
|
30
|
+
var _OverlayContext = _interopRequireDefault(require("./OverlayContext"));
|
|
31
|
+
|
|
30
32
|
function mergeEvents(events, props) {
|
|
31
33
|
if (events === void 0) {
|
|
32
34
|
events = {};
|
|
@@ -66,8 +68,12 @@ function onMouseEventHandler(handler, event, delay) {
|
|
|
66
68
|
var defaultTrigger = ['hover', 'focus'];
|
|
67
69
|
|
|
68
70
|
var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
71
|
+
var _useContext = (0, _react.useContext)(_OverlayContext.default),
|
|
72
|
+
overlayContainer = _useContext.overlayContainer;
|
|
73
|
+
|
|
69
74
|
var children = props.children,
|
|
70
|
-
container = props.container,
|
|
75
|
+
_props$container = props.container,
|
|
76
|
+
container = _props$container === void 0 ? overlayContainer : _props$container,
|
|
71
77
|
controlId = props.controlId,
|
|
72
78
|
defaultOpen = props.defaultOpen,
|
|
73
79
|
_props$trigger = props.trigger,
|
|
@@ -109,8 +115,8 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
109
115
|
// In order to keep the overlay open, a timer is used to delay the closing.
|
|
110
116
|
|
|
111
117
|
|
|
112
|
-
var delayOpenTimer = (0, _react.useRef)();
|
|
113
|
-
var delayCloseTimer = (0, _react.useRef)();
|
|
118
|
+
var delayOpenTimer = (0, _react.useRef)(null);
|
|
119
|
+
var delayCloseTimer = (0, _react.useRef)(null);
|
|
114
120
|
var delayOpen = (0, _isNil.default)(delayOpenProp) ? delay : delayOpenProp;
|
|
115
121
|
var delayClose = (0, _isNil.default)(delayCloseProp) ? delay : delayCloseProp; // Whether the cursor is on the overlay
|
|
116
122
|
|
|
@@ -119,8 +125,13 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
119
125
|
var isOnTrigger = (0, _react.useRef)(false);
|
|
120
126
|
(0, _react.useEffect)(function () {
|
|
121
127
|
return function () {
|
|
122
|
-
|
|
123
|
-
|
|
128
|
+
if (!(0, _isNil.default)(delayOpenTimer.current)) {
|
|
129
|
+
clearTimeout(delayOpenTimer.current);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (!(0, _isNil.default)(delayCloseTimer.current)) {
|
|
133
|
+
clearTimeout(delayCloseTimer.current);
|
|
134
|
+
}
|
|
124
135
|
};
|
|
125
136
|
}, []);
|
|
126
137
|
var handleOpen = (0, _react.useCallback)(function (delay) {
|
|
@@ -226,8 +237,11 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
226
237
|
}
|
|
227
238
|
|
|
228
239
|
delayCloseTimer.current = setTimeout(function () {
|
|
229
|
-
|
|
230
|
-
|
|
240
|
+
if (!(0, _isNil.default)(delayCloseTimer.current)) {
|
|
241
|
+
clearTimeout(delayCloseTimer.current);
|
|
242
|
+
delayCloseTimer.current = null;
|
|
243
|
+
}
|
|
244
|
+
|
|
231
245
|
handleCloseWhenLeave();
|
|
232
246
|
}, 200);
|
|
233
247
|
}, [enterable, open, handleClose, handleCloseWhenLeave]);
|
|
@@ -2,13 +2,13 @@ import React from 'react';
|
|
|
2
2
|
import { TypeAttributes } from '../@types/common';
|
|
3
3
|
export interface PositionChildProps {
|
|
4
4
|
className: string;
|
|
5
|
-
left
|
|
6
|
-
top
|
|
5
|
+
left?: number;
|
|
6
|
+
top?: number;
|
|
7
7
|
}
|
|
8
8
|
export interface PositionProps {
|
|
9
|
-
children
|
|
9
|
+
children: (props: PositionChildProps, ref: any) => React.ReactElement;
|
|
10
10
|
className?: string;
|
|
11
|
-
container?: HTMLElement | (() => HTMLElement);
|
|
11
|
+
container?: HTMLElement | (() => HTMLElement | null) | null;
|
|
12
12
|
containerPadding?: number;
|
|
13
13
|
placement?: TypeAttributes.Placement;
|
|
14
14
|
preventOverflow?: boolean;
|