rsuite 6.1.2 → 6.1.3
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/CHANGELOG.md +9 -0
- package/cjs/Affix/Affix.js +4 -4
- package/cjs/Animation/Collapse.js +4 -5
- package/cjs/Animation/Transition.d.ts +2 -2
- package/cjs/Animation/Transition.js +17 -20
- package/cjs/AutoComplete/AutoComplete.js +9 -9
- package/cjs/Avatar/useImage.js +1 -1
- package/cjs/AvatarGroup/AvatarGroup.d.ts +2 -2
- package/cjs/Badge/Badge.js +1 -4
- package/cjs/Breadcrumb/Breadcrumb.js +4 -4
- package/cjs/Button/Button.js +6 -6
- package/cjs/Calendar/Calendar.js +5 -5
- package/cjs/Calendar/CalendarBody.js +1 -1
- package/cjs/Calendar/CalendarContainer.js +14 -33
- package/cjs/Calendar/CalendarHeader.js +7 -8
- package/cjs/Calendar/Grid/GridCell.js +2 -2
- package/cjs/Calendar/Grid/GridHeaderRow.js +1 -1
- package/cjs/Calendar/Grid/GridRow.js +5 -6
- package/cjs/Calendar/MonthDropdown/MonthDropdown.js +1 -1
- package/cjs/Calendar/MonthDropdown/MonthDropdownItem.js +1 -1
- package/cjs/Calendar/TimeDropdown/TimeDropdown.js +12 -14
- package/cjs/Calendar/hooks/useCalendar.d.ts +16 -17
- package/cjs/Calendar/hooks/useCalendar.js +2 -4
- package/cjs/Calendar/hooks/useCalendarDate.js +5 -9
- package/cjs/Calendar/hooks/useCalendarState.js +6 -12
- package/cjs/Calendar/types.d.ts +0 -1
- package/cjs/Carousel/Carousel.js +5 -6
- package/cjs/CascadeTree/CascadeTree.js +6 -16
- package/cjs/CascadeTree/TreeView.js +5 -7
- package/cjs/CascadeTree/hooks/useSearch.d.ts +0 -1
- package/cjs/CascadeTree/hooks/useSearch.js +1 -1
- package/cjs/CascadeTree/hooks/useSelect.d.ts +0 -1
- package/cjs/CascadeTree/hooks/useSelect.js +3 -4
- package/cjs/CascadeTree/types.d.ts +0 -1
- package/cjs/CascadeTree/utils.js +1 -2
- package/cjs/Cascader/Cascader.js +18 -29
- package/cjs/Cascader/useActive.d.ts +0 -1
- package/cjs/Cascader/useActive.js +4 -6
- package/cjs/CheckPicker/CheckPicker.js +14 -15
- package/cjs/CheckTree/CheckTree.js +1 -1
- package/cjs/CheckTree/CheckTreeNode.js +3 -4
- package/cjs/CheckTree/CheckTreeView.js +5 -5
- package/cjs/CheckTree/hooks/useTreeCheckState.js +2 -2
- package/cjs/CheckTree/utils.js +7 -16
- package/cjs/CheckTreePicker/CheckTreePicker.js +7 -7
- package/cjs/CheckTreePicker/hooks/useFocusState.d.ts +0 -1
- package/cjs/CheckTreePicker/hooks/useFocusState.js +3 -6
- package/cjs/Checkbox/Checkbox.js +4 -5
- package/cjs/Checkbox/hooks/useIndeterminateCheckbox.d.ts +0 -1
- package/cjs/Checkbox/hooks/useIndeterminateCheckbox.js +1 -1
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/DOMHelper/index.d.ts +1 -2
- package/cjs/DOMHelper/isElement.js +1 -1
- package/cjs/DateInput/DateField.d.ts +122 -3
- package/cjs/DateInput/DateField.js +12 -15
- package/cjs/DateInput/DateInput.js +3 -4
- package/cjs/DateInput/hooks/useDateInputState.d.ts +124 -4
- package/cjs/DateInput/hooks/useDateInputState.js +2 -2
- package/cjs/DateInput/hooks/useIsFocused.js +2 -2
- package/cjs/DateInput/hooks/useKeyboardInputEvent.d.ts +0 -1
- package/cjs/DateInput/hooks/useKeyboardInputEvent.js +8 -9
- package/cjs/DateInput/hooks/useSelectedState.d.ts +0 -1
- package/cjs/DateInput/utils.d.ts +0 -1
- package/cjs/DateInput/utils.js +2 -3
- package/cjs/DatePicker/DatePicker.js +18 -25
- package/cjs/DatePicker/PredefinedRanges.js +3 -3
- package/cjs/DatePicker/Toolbar.js +4 -4
- package/cjs/DatePicker/hooks/useCustomizedInput.d.ts +0 -1
- package/cjs/DatePicker/hooks/useFocus.js +5 -8
- package/cjs/DatePicker/hooks/useMonthView.d.ts +0 -1
- package/cjs/DatePicker/hooks/useMonthView.js +1 -1
- package/cjs/DatePicker/utils.d.ts +1 -2
- package/cjs/DatePicker/utils.js +2 -2
- package/cjs/DateRangeInput/DateRangeInput.js +8 -9
- package/cjs/DateRangePicker/Calendar.js +2 -2
- package/cjs/DateRangePicker/DateRangePicker.js +25 -29
- package/cjs/DateRangePicker/Header.js +3 -3
- package/cjs/DateRangePicker/disabledDateUtils.js +2 -2
- package/cjs/DateRangePicker/hooks/useCalendarHandlers.d.ts +0 -1
- package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +5 -5
- package/cjs/DateRangePicker/utils.js +1 -2
- package/cjs/Dropdown/Dropdown.js +3 -3
- package/cjs/Dropdown/DropdownItem.js +4 -5
- package/cjs/Dropdown/DropdownMenu.d.ts +1 -1
- package/cjs/Dropdown/DropdownMenu.js +1 -1
- package/cjs/Form/Form.d.ts +1 -3
- package/cjs/Form/Form.js +9 -11
- package/cjs/Form/hooks/useFormRef.d.ts +0 -1
- package/cjs/Form/hooks/useFormValidate.d.ts +0 -1
- package/cjs/Form/hooks/useFormValidate.js +19 -19
- package/cjs/Form/hooks/useFormValue.d.ts +0 -1
- package/cjs/FormControl/FormControl.js +5 -5
- package/cjs/FormGroup/FormGroupContext.d.ts +1 -1
- package/cjs/Highlight/utils/highlightText.js +1 -1
- package/cjs/InlineEdit/renderChildren.js +5 -6
- package/cjs/InlineEdit/useEditState.js +9 -12
- package/cjs/InlineEdit/useFocusEvent.d.ts +0 -1
- package/cjs/InlineEdit/useFocusEvent.js +7 -11
- package/cjs/Input/Input.js +1 -1
- package/cjs/InputGroup/InputGroupContext.d.ts +2 -1
- package/cjs/InputNumber/index.d.ts +0 -1
- package/cjs/InputPicker/InputAutosize.js +1 -1
- package/cjs/InputPicker/InputPicker.js +30 -35
- package/cjs/InputPicker/InputSearch.js +1 -2
- package/cjs/InputPicker/hooks/useData.d.ts +0 -1
- package/cjs/InputPicker/hooks/useData.js +1 -1
- package/cjs/InputPicker/hooks/useInput.js +3 -6
- package/cjs/InputPicker/hooks/useMaxWidth.js +2 -4
- package/cjs/List/helper/AutoScroller.js +2 -4
- package/cjs/List/helper/useSortHelper.d.ts +4 -4
- package/cjs/List/helper/useSortHelper.js +13 -19
- package/cjs/MaskedInput/TextMask.d.ts +5 -5
- package/cjs/MaskedInput/TextMask.js +3 -5
- package/cjs/MaskedInput/conformToMask.d.ts +1 -1
- package/cjs/MaskedInput/createTextMaskInputElement.js +2 -3
- package/cjs/Menu/MenuItem.js +3 -4
- package/cjs/Message/Message.js +1 -1
- package/cjs/Modal/Modal.js +8 -10
- package/cjs/Modal/ModalBody.js +1 -1
- package/cjs/Modal/utils.d.ts +2 -3
- package/cjs/Modal/utils.js +2 -3
- package/cjs/MultiCascadeTree/SearchView.js +1 -1
- package/cjs/MultiCascadeTree/TreeView.js +2 -2
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.d.ts +0 -1
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +5 -8
- package/cjs/MultiCascadeTree/hooks/useColumnData.d.ts +0 -1
- package/cjs/MultiCascadeTree/hooks/useSearch.d.ts +0 -1
- package/cjs/MultiCascadeTree/hooks/useSearch.js +2 -2
- package/cjs/MultiCascadeTree/hooks/useSelect.js +3 -4
- package/cjs/MultiCascadeTree/types.d.ts +0 -1
- package/cjs/MultiCascadeTree/utils.d.ts +4 -4
- package/cjs/MultiCascadeTree/utils.js +2 -3
- package/cjs/MultiCascader/MultiCascader.js +13 -16
- package/cjs/Nav/AdaptiveNavItem.js +2 -3
- package/cjs/Nav/Nav.d.ts +1 -1
- package/cjs/Nav/Nav.js +4 -4
- package/cjs/Nav/NavDropdown.d.ts +1 -1
- package/cjs/Nav/NavDropdown.js +3 -3
- package/cjs/Nav/NavDropdownItem.js +2 -2
- package/cjs/Nav/NavDropdownMenu.d.ts +1 -1
- package/cjs/Nav/NavDropdownMenu.js +1 -1
- package/cjs/Nav/NavItem.js +4 -4
- package/cjs/Navbar/Navbar.js +1 -1
- package/cjs/Navbar/NavbarContent.js +1 -1
- package/cjs/Navbar/NavbarDrawer.js +1 -1
- package/cjs/Navbar/NavbarDropdown.d.ts +1 -1
- package/cjs/Navbar/NavbarDropdown.js +3 -3
- package/cjs/Navbar/NavbarDropdownItem.js +5 -6
- package/cjs/Navbar/NavbarDropdownMenu.d.ts +1 -1
- package/cjs/Navbar/NavbarDropdownMenu.js +1 -1
- package/cjs/Navbar/NavbarItem.js +4 -4
- package/cjs/Navbar/NavbarToggle.js +2 -2
- package/cjs/Notification/Notification.js +1 -1
- package/cjs/NumberInput/NumberInput.js +3 -3
- package/cjs/NumberInput/hooks/useEvents.d.ts +0 -1
- package/cjs/NumberInput/hooks/useEvents.js +2 -3
- package/cjs/NumberInput/hooks/useWheelHandler.js +1 -2
- package/cjs/Pagination/Pagination.js +1 -1
- package/cjs/Pagination/PaginationButton.js +1 -1
- package/cjs/Pagination/PaginationGroup.js +3 -4
- package/cjs/Panel/Panel.js +2 -2
- package/cjs/PanelGroup/PanelGroup.js +1 -1
- package/cjs/PasswordInput/PasswordInput.js +2 -2
- package/cjs/PinInput/PinInput.js +1 -1
- package/cjs/PinInput/hooks/usePinInputRefs.d.ts +0 -1
- package/cjs/PinInput/hooks/usePinInputRefs.js +2 -4
- package/cjs/PinInput/hooks/usePinValue.d.ts +1 -1
- package/cjs/PinInput/hooks/usePinValue.js +2 -2
- package/cjs/Progress/ProgressLine.js +1 -1
- package/cjs/Progress/types.d.ts +0 -1
- package/cjs/ProgressCircle/hooks/useProgressCirclePath.d.ts +0 -1
- package/cjs/Radio/Radio.js +3 -3
- package/cjs/RadioGroup/RadioGroup.js +1 -1
- package/cjs/RadioTile/RadioTile.js +2 -2
- package/cjs/RadioTileGroup/RadioTileGroup.js +1 -1
- package/cjs/RangeSlider/RangeSlider.js +6 -6
- package/cjs/Rate/Character.js +2 -2
- package/cjs/Rate/Rate.js +3 -3
- package/cjs/Rate/useRatingStates.d.ts +0 -1
- package/cjs/SegmentedControl/SegmentedControl.js +3 -3
- package/cjs/SegmentedControl/hooks/useIndicatorPosition.js +1 -1
- package/cjs/SelectPicker/SelectPicker.js +13 -16
- package/cjs/Sidebar/Sidebar.js +1 -1
- package/cjs/Sidenav/ExpandedSidenavDropdown.js +6 -6
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +4 -5
- package/cjs/Sidenav/Node.js +9 -16
- package/cjs/Sidenav/Sidenav.js +2 -2
- package/cjs/Sidenav/SidenavDropdown.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdown.js +4 -4
- package/cjs/Sidenav/SidenavDropdownItem.js +3 -4
- package/cjs/Sidenav/SidenavItem.js +5 -6
- package/cjs/Sidenav/SidenavToggle.js +2 -2
- package/cjs/Slider/Slider.js +3 -3
- package/cjs/Slider/useDrag.d.ts +0 -1
- package/cjs/Slider/useDrag.js +7 -12
- package/cjs/Slider/utils.d.ts +1 -2
- package/cjs/Slider/utils.js +2 -3
- package/cjs/Steps/StepItem.js +1 -2
- package/cjs/Table/Table.d.ts +3 -3
- package/cjs/Tabs/Tabs.js +3 -4
- package/cjs/TimePicker/TimePicker.js +2 -2
- package/cjs/Timeline/Timeline.d.ts +1 -1
- package/cjs/Timeline/Timeline.js +1 -4
- package/cjs/Toggle/Toggle.js +2 -2
- package/cjs/Tree/Tree.js +2 -2
- package/cjs/Tree/TreeNode.js +10 -11
- package/cjs/Tree/TreeView.js +5 -5
- package/cjs/Tree/hooks/useExpandTree.js +1 -1
- package/cjs/Tree/hooks/useFlattenTree.js +1 -1
- package/cjs/Tree/hooks/useFocusTree.d.ts +1 -2
- package/cjs/Tree/hooks/useFocusTree.js +12 -14
- package/cjs/Tree/hooks/useTreeDrag.d.ts +0 -1
- package/cjs/Tree/hooks/useTreeDrag.js +10 -12
- package/cjs/Tree/hooks/useTreeNodeProps.js +1 -1
- package/cjs/Tree/hooks/useTreeSearch.js +4 -4
- package/cjs/Tree/hooks/useVirtualizedTreeData.js +2 -2
- package/cjs/Tree/types.d.ts +2 -3
- package/cjs/Tree/utils/flattenTree.d.ts +1 -1
- package/cjs/Tree/utils/focusableTree.js +5 -8
- package/cjs/Tree/utils/getNodeParentKeys.js +2 -4
- package/cjs/Tree/utils/hasVisibleChildren.d.ts +1 -1
- package/cjs/Tree/utils/treeKeyboardInteractions.js +3 -3
- package/cjs/TreePicker/TreePicker.js +8 -9
- package/cjs/TreePicker/hooks/useFocusState.d.ts +0 -1
- package/cjs/TreePicker/hooks/useFocusState.js +4 -8
- package/cjs/Uploader/UploadFileItem.js +8 -10
- package/cjs/Uploader/UploadTrigger.js +8 -10
- package/cjs/Uploader/Uploader.js +18 -24
- package/cjs/Uploader/utils/ajaxUpload.js +5 -5
- package/cjs/Uploader/utils/previewFile.js +1 -1
- package/cjs/internals/Disclosure/Disclosure.js +5 -8
- package/cjs/internals/Disclosure/DisclosureButton.js +2 -2
- package/cjs/internals/InputBase/InputBase.js +5 -6
- package/cjs/internals/Menu/Menu.js +16 -20
- package/cjs/internals/Menu/MenuItem.js +4 -5
- package/cjs/internals/Menu/Menubar.js +5 -7
- package/cjs/internals/Menu/useMenu.js +5 -10
- package/cjs/internals/Overlay/Modal.js +8 -11
- package/cjs/internals/Overlay/ModalManager.js +3 -5
- package/cjs/internals/Overlay/Overlay.js +1 -1
- package/cjs/internals/Overlay/OverlayTrigger.d.ts +0 -1
- package/cjs/internals/Overlay/OverlayTrigger.js +5 -7
- package/cjs/internals/Overlay/Position.js +6 -8
- package/cjs/internals/Picker/ListCheckItem.js +3 -3
- package/cjs/internals/Picker/ListItem.js +1 -1
- package/cjs/internals/Picker/Listbox.js +9 -10
- package/cjs/internals/Picker/PickerPopup.js +4 -5
- package/cjs/internals/Picker/PickerToggle.js +3 -4
- package/cjs/internals/Picker/SelectedElement.js +1 -1
- package/cjs/internals/Picker/hooks/useFocusItemValue.d.ts +0 -1
- package/cjs/internals/Picker/hooks/useFocusItemValue.js +14 -28
- package/cjs/internals/Picker/hooks/usePickerRef.d.ts +0 -1
- package/cjs/internals/Picker/hooks/usePickerRef.js +9 -15
- package/cjs/internals/Picker/hooks/useSearch.d.ts +0 -1
- package/cjs/internals/Picker/hooks/useSearch.js +2 -2
- package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +0 -1
- package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.js +13 -17
- package/cjs/internals/Picker/utils.js +9 -9
- package/cjs/internals/Ripple/Ripple.js +3 -4
- package/cjs/internals/SafeAnchor/SafeAnchor.js +1 -1
- package/cjs/internals/ScrollView/hooks/useScrollState.d.ts +0 -1
- package/cjs/internals/ScrollView/hooks/useScrollState.js +2 -3
- package/cjs/internals/Tree/TreeProvider.d.ts +4 -4
- package/cjs/internals/Tree/TreeProvider.js +2 -8
- package/cjs/internals/Tree/types.d.ts +0 -1
- package/cjs/internals/Tree/utils/getParentMap.d.ts +0 -1
- package/cjs/internals/Windowing/AutoSizer.js +2 -3
- package/cjs/internals/Windowing/List.js +4 -8
- package/cjs/internals/constants/index.d.ts +2 -2
- package/cjs/internals/hooks/useClickOutside.js +2 -4
- package/cjs/internals/hooks/useCustom.d.ts +0 -1
- package/cjs/internals/hooks/useCustom.js +5 -7
- package/cjs/internals/hooks/useElementResize.d.ts +0 -1
- package/cjs/internals/hooks/useEventCallback.js +1 -2
- package/cjs/internals/hooks/useEventListener.js +1 -1
- package/cjs/internals/hooks/useFocus.js +2 -4
- package/cjs/internals/hooks/useFocusVirtualListItem.d.ts +0 -1
- package/cjs/internals/hooks/useMount.js +1 -2
- package/cjs/internals/hooks/useRootClose.js +6 -6
- package/cjs/internals/hooks/useTimeout.js +1 -2
- package/cjs/internals/hooks/useToggleCaret.d.ts +0 -1
- package/cjs/internals/hooks/useUniqueId.js +1 -1
- package/cjs/internals/hooks/useUpdatedRef.d.ts +0 -1
- package/cjs/internals/styled-system/style-manager.js +1 -1
- package/cjs/internals/styled-system/useStyled.js +2 -2
- package/cjs/internals/types/utils.d.ts +0 -1
- package/cjs/internals/utils/colours.d.ts +4 -4
- package/cjs/internals/utils/colours.js +1 -1
- package/cjs/internals/utils/date/disableTime.js +6 -12
- package/cjs/internals/utils/date/omitHideDisabledProps.d.ts +1 -1
- package/cjs/internals/utils/date/useDateMode.d.ts +1 -1
- package/cjs/internals/utils/react/ReactChildren.js +1 -2
- package/cjs/internals/utils/react/deprecateComponent.js +1 -2
- package/cjs/internals/utils/react/getDOMNode.js +4 -5
- package/cjs/internals/utils/sizes.d.ts +2 -2
- package/cjs/internals/utils/style-sheet/css.d.ts +0 -1
- package/cjs/internals/utils/style-sheet/css.js +1 -1
- package/cjs/internals/utils/style-sheet/prefix.d.ts +0 -1
- package/cjs/internals/utils/style-sheet/responsive.d.ts +1 -1
- package/cjs/internals/utils/style-sheet/styles.d.ts +3 -3
- package/cjs/internals/utils/style-sheet/styles.js +1 -1
- package/cjs/toaster/ToastContainer.js +3 -5
- package/cjs/toaster/hooks/useDelayedClosure.d.ts +0 -1
- package/cjs/toaster/hooks/useDelayedClosure.js +3 -4
- package/cjs/toaster/toaster.js +4 -12
- package/cjs/useDialog/Dialog.d.ts +1 -1
- package/cjs/useDialog/Dialog.js +1 -1
- package/cjs/useDialog/useDialog.d.ts +1 -1
- package/cjs/useDialog/useDialog.js +3 -3
- package/cjs/useFormControl/hooks/useField.d.ts +0 -1
- package/cjs/useFormControl/hooks/useField.js +5 -7
- package/cjs/useFormControl/hooks/useRegisterModel.js +2 -2
- package/cjs/useFormControl/useFormControl.js +8 -8
- package/cjs/useToaster/useToaster.js +4 -5
- package/dist/rsuite.js +223 -223
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Affix/Affix.js +4 -4
- package/esm/Animation/Collapse.js +1 -2
- package/esm/Animation/Transition.d.ts +2 -2
- package/esm/Animation/Transition.js +17 -20
- package/esm/AutoComplete/AutoComplete.js +9 -9
- package/esm/Avatar/useImage.js +1 -1
- package/esm/AvatarGroup/AvatarGroup.d.ts +2 -2
- package/esm/Badge/Badge.js +1 -4
- package/esm/Breadcrumb/Breadcrumb.js +4 -4
- package/esm/Button/Button.js +6 -6
- package/esm/Calendar/Calendar.js +5 -5
- package/esm/Calendar/CalendarBody.js +1 -1
- package/esm/Calendar/CalendarContainer.js +14 -33
- package/esm/Calendar/CalendarHeader.js +7 -8
- package/esm/Calendar/Grid/GridCell.js +2 -2
- package/esm/Calendar/Grid/GridHeaderRow.js +1 -1
- package/esm/Calendar/Grid/GridRow.js +5 -6
- package/esm/Calendar/MonthDropdown/MonthDropdown.js +1 -1
- package/esm/Calendar/MonthDropdown/MonthDropdownItem.js +1 -1
- package/esm/Calendar/TimeDropdown/TimeDropdown.js +12 -14
- package/esm/Calendar/hooks/useCalendar.d.ts +16 -17
- package/esm/Calendar/hooks/useCalendar.js +2 -4
- package/esm/Calendar/hooks/useCalendarDate.js +5 -9
- package/esm/Calendar/hooks/useCalendarState.js +6 -12
- package/esm/Calendar/types.d.ts +0 -1
- package/esm/Carousel/Carousel.js +5 -6
- package/esm/CascadeTree/CascadeTree.js +6 -16
- package/esm/CascadeTree/TreeView.js +5 -7
- package/esm/CascadeTree/hooks/useSearch.d.ts +0 -1
- package/esm/CascadeTree/hooks/useSearch.js +1 -1
- package/esm/CascadeTree/hooks/useSelect.d.ts +0 -1
- package/esm/CascadeTree/hooks/useSelect.js +3 -4
- package/esm/CascadeTree/types.d.ts +0 -1
- package/esm/CascadeTree/utils.js +1 -2
- package/esm/Cascader/Cascader.js +18 -29
- package/esm/Cascader/useActive.d.ts +0 -1
- package/esm/Cascader/useActive.js +4 -6
- package/esm/CheckPicker/CheckPicker.js +14 -15
- package/esm/CheckTree/CheckTree.js +1 -1
- package/esm/CheckTree/CheckTreeNode.js +3 -4
- package/esm/CheckTree/CheckTreeView.js +5 -5
- package/esm/CheckTree/hooks/useTreeCheckState.js +2 -2
- package/esm/CheckTree/utils.js +7 -16
- package/esm/CheckTreePicker/CheckTreePicker.js +7 -7
- package/esm/CheckTreePicker/hooks/useFocusState.d.ts +0 -1
- package/esm/CheckTreePicker/hooks/useFocusState.js +3 -6
- package/esm/Checkbox/Checkbox.js +4 -5
- package/esm/Checkbox/hooks/useIndeterminateCheckbox.d.ts +0 -1
- package/esm/Checkbox/hooks/useIndeterminateCheckbox.js +1 -1
- package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/DOMHelper/index.d.ts +1 -2
- package/esm/DOMHelper/isElement.js +1 -1
- package/esm/DateInput/DateField.d.ts +122 -3
- package/esm/DateInput/DateField.js +12 -15
- package/esm/DateInput/DateInput.js +3 -4
- package/esm/DateInput/hooks/useDateInputState.d.ts +124 -4
- package/esm/DateInput/hooks/useDateInputState.js +2 -2
- package/esm/DateInput/hooks/useIsFocused.js +2 -2
- package/esm/DateInput/hooks/useKeyboardInputEvent.d.ts +0 -1
- package/esm/DateInput/hooks/useKeyboardInputEvent.js +8 -9
- package/esm/DateInput/hooks/useSelectedState.d.ts +0 -1
- package/esm/DateInput/utils.d.ts +0 -1
- package/esm/DateInput/utils.js +2 -3
- package/esm/DatePicker/DatePicker.js +18 -25
- package/esm/DatePicker/PredefinedRanges.js +3 -3
- package/esm/DatePicker/Toolbar.js +4 -4
- package/esm/DatePicker/hooks/useCustomizedInput.d.ts +0 -1
- package/esm/DatePicker/hooks/useFocus.js +5 -8
- package/esm/DatePicker/hooks/useMonthView.d.ts +0 -1
- package/esm/DatePicker/hooks/useMonthView.js +1 -1
- package/esm/DatePicker/utils.d.ts +1 -2
- package/esm/DatePicker/utils.js +2 -2
- package/esm/DateRangeInput/DateRangeInput.js +8 -9
- package/esm/DateRangePicker/Calendar.js +2 -2
- package/esm/DateRangePicker/DateRangePicker.js +25 -29
- package/esm/DateRangePicker/Header.js +3 -3
- package/esm/DateRangePicker/disabledDateUtils.js +2 -2
- package/esm/DateRangePicker/hooks/useCalendarHandlers.d.ts +0 -1
- package/esm/DateRangePicker/hooks/useCalendarHandlers.js +5 -5
- package/esm/DateRangePicker/utils.js +1 -2
- package/esm/Dropdown/Dropdown.js +3 -3
- package/esm/Dropdown/DropdownItem.js +4 -5
- package/esm/Dropdown/DropdownMenu.d.ts +1 -1
- package/esm/Dropdown/DropdownMenu.js +1 -1
- package/esm/Form/Form.d.ts +1 -3
- package/esm/Form/Form.js +9 -11
- package/esm/Form/hooks/useFormRef.d.ts +0 -1
- package/esm/Form/hooks/useFormValidate.d.ts +0 -1
- package/esm/Form/hooks/useFormValidate.js +19 -19
- package/esm/Form/hooks/useFormValue.d.ts +0 -1
- package/esm/FormControl/FormControl.js +5 -5
- package/esm/FormGroup/FormGroupContext.d.ts +1 -1
- package/esm/Highlight/utils/highlightText.js +1 -1
- package/esm/InlineEdit/renderChildren.js +5 -6
- package/esm/InlineEdit/useEditState.js +9 -12
- package/esm/InlineEdit/useFocusEvent.d.ts +0 -1
- package/esm/InlineEdit/useFocusEvent.js +7 -11
- package/esm/Input/Input.js +1 -1
- package/esm/InputGroup/InputGroupContext.d.ts +2 -1
- package/esm/InputNumber/index.d.ts +0 -1
- package/esm/InputPicker/InputAutosize.js +1 -1
- package/esm/InputPicker/InputPicker.js +30 -35
- package/esm/InputPicker/InputSearch.js +1 -2
- package/esm/InputPicker/hooks/useData.d.ts +0 -1
- package/esm/InputPicker/hooks/useData.js +1 -1
- package/esm/InputPicker/hooks/useInput.js +3 -6
- package/esm/InputPicker/hooks/useMaxWidth.js +2 -4
- package/esm/List/helper/AutoScroller.js +2 -4
- package/esm/List/helper/useSortHelper.d.ts +4 -4
- package/esm/List/helper/useSortHelper.js +13 -19
- package/esm/MaskedInput/TextMask.d.ts +5 -5
- package/esm/MaskedInput/TextMask.js +3 -5
- package/esm/MaskedInput/conformToMask.d.ts +1 -1
- package/esm/MaskedInput/createTextMaskInputElement.js +2 -3
- package/esm/Menu/MenuItem.js +3 -4
- package/esm/Message/Message.js +1 -1
- package/esm/Modal/Modal.js +8 -10
- package/esm/Modal/ModalBody.js +1 -1
- package/esm/Modal/utils.d.ts +2 -3
- package/esm/Modal/utils.js +2 -3
- package/esm/MultiCascadeTree/SearchView.js +1 -1
- package/esm/MultiCascadeTree/TreeView.js +2 -2
- package/esm/MultiCascadeTree/hooks/useCascadeValue.d.ts +0 -1
- package/esm/MultiCascadeTree/hooks/useCascadeValue.js +5 -8
- package/esm/MultiCascadeTree/hooks/useColumnData.d.ts +0 -1
- package/esm/MultiCascadeTree/hooks/useSearch.d.ts +0 -1
- package/esm/MultiCascadeTree/hooks/useSearch.js +2 -2
- package/esm/MultiCascadeTree/hooks/useSelect.js +3 -4
- package/esm/MultiCascadeTree/types.d.ts +0 -1
- package/esm/MultiCascadeTree/utils.d.ts +4 -4
- package/esm/MultiCascadeTree/utils.js +2 -3
- package/esm/MultiCascader/MultiCascader.js +13 -16
- package/esm/Nav/AdaptiveNavItem.js +2 -3
- package/esm/Nav/Nav.d.ts +1 -1
- package/esm/Nav/Nav.js +4 -4
- package/esm/Nav/NavDropdown.d.ts +1 -1
- package/esm/Nav/NavDropdown.js +3 -3
- package/esm/Nav/NavDropdownItem.js +2 -2
- package/esm/Nav/NavDropdownMenu.d.ts +1 -1
- package/esm/Nav/NavDropdownMenu.js +1 -1
- package/esm/Nav/NavItem.js +4 -4
- package/esm/Navbar/Navbar.js +1 -1
- package/esm/Navbar/NavbarContent.js +1 -1
- package/esm/Navbar/NavbarDrawer.js +1 -1
- package/esm/Navbar/NavbarDropdown.d.ts +1 -1
- package/esm/Navbar/NavbarDropdown.js +3 -3
- package/esm/Navbar/NavbarDropdownItem.js +5 -6
- package/esm/Navbar/NavbarDropdownMenu.d.ts +1 -1
- package/esm/Navbar/NavbarDropdownMenu.js +1 -1
- package/esm/Navbar/NavbarItem.js +4 -4
- package/esm/Navbar/NavbarToggle.js +2 -2
- package/esm/Notification/Notification.js +1 -1
- package/esm/NumberInput/NumberInput.js +3 -3
- package/esm/NumberInput/hooks/useEvents.d.ts +0 -1
- package/esm/NumberInput/hooks/useEvents.js +2 -3
- package/esm/NumberInput/hooks/useWheelHandler.js +1 -2
- package/esm/Pagination/Pagination.js +1 -1
- package/esm/Pagination/PaginationButton.js +1 -1
- package/esm/Pagination/PaginationGroup.js +3 -4
- package/esm/Panel/Panel.js +2 -2
- package/esm/PanelGroup/PanelGroup.js +1 -1
- package/esm/PasswordInput/PasswordInput.js +2 -2
- package/esm/PinInput/PinInput.js +1 -1
- package/esm/PinInput/hooks/usePinInputRefs.d.ts +0 -1
- package/esm/PinInput/hooks/usePinInputRefs.js +2 -4
- package/esm/PinInput/hooks/usePinValue.d.ts +1 -1
- package/esm/PinInput/hooks/usePinValue.js +2 -2
- package/esm/Progress/ProgressLine.js +1 -1
- package/esm/Progress/types.d.ts +0 -1
- package/esm/ProgressCircle/hooks/useProgressCirclePath.d.ts +0 -1
- package/esm/Radio/Radio.js +3 -3
- package/esm/RadioGroup/RadioGroup.js +1 -1
- package/esm/RadioTile/RadioTile.js +2 -2
- package/esm/RadioTileGroup/RadioTileGroup.js +1 -1
- package/esm/RangeSlider/RangeSlider.js +6 -6
- package/esm/Rate/Character.js +2 -2
- package/esm/Rate/Rate.js +3 -3
- package/esm/Rate/useRatingStates.d.ts +0 -1
- package/esm/SegmentedControl/SegmentedControl.js +3 -3
- package/esm/SegmentedControl/hooks/useIndicatorPosition.js +1 -1
- package/esm/SelectPicker/SelectPicker.js +13 -16
- package/esm/Sidebar/Sidebar.js +1 -1
- package/esm/Sidenav/ExpandedSidenavDropdown.js +6 -6
- package/esm/Sidenav/ExpandedSidenavDropdownItem.js +4 -5
- package/esm/Sidenav/Node.js +9 -16
- package/esm/Sidenav/Sidenav.js +2 -2
- package/esm/Sidenav/SidenavDropdown.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdown.js +4 -4
- package/esm/Sidenav/SidenavDropdownItem.js +3 -4
- package/esm/Sidenav/SidenavItem.js +5 -6
- package/esm/Sidenav/SidenavToggle.js +2 -2
- package/esm/Slider/Slider.js +3 -3
- package/esm/Slider/useDrag.d.ts +0 -1
- package/esm/Slider/useDrag.js +7 -12
- package/esm/Slider/utils.d.ts +1 -2
- package/esm/Slider/utils.js +2 -3
- package/esm/Steps/StepItem.js +1 -2
- package/esm/Table/Table.d.ts +3 -3
- package/esm/Tabs/Tabs.js +3 -4
- package/esm/TimePicker/TimePicker.js +2 -2
- package/esm/Timeline/Timeline.d.ts +1 -1
- package/esm/Timeline/Timeline.js +1 -4
- package/esm/Toggle/Toggle.js +2 -2
- package/esm/Tree/Tree.js +2 -2
- package/esm/Tree/TreeNode.js +10 -11
- package/esm/Tree/TreeView.js +5 -5
- package/esm/Tree/hooks/useExpandTree.js +1 -1
- package/esm/Tree/hooks/useFlattenTree.js +1 -1
- package/esm/Tree/hooks/useFocusTree.d.ts +1 -2
- package/esm/Tree/hooks/useFocusTree.js +12 -14
- package/esm/Tree/hooks/useTreeDrag.d.ts +0 -1
- package/esm/Tree/hooks/useTreeDrag.js +10 -12
- package/esm/Tree/hooks/useTreeNodeProps.js +1 -1
- package/esm/Tree/hooks/useTreeSearch.js +4 -4
- package/esm/Tree/hooks/useVirtualizedTreeData.js +2 -2
- package/esm/Tree/types.d.ts +2 -3
- package/esm/Tree/utils/flattenTree.d.ts +1 -1
- package/esm/Tree/utils/focusableTree.js +5 -8
- package/esm/Tree/utils/getNodeParentKeys.js +2 -4
- package/esm/Tree/utils/hasVisibleChildren.d.ts +1 -1
- package/esm/Tree/utils/treeKeyboardInteractions.js +3 -3
- package/esm/TreePicker/TreePicker.js +8 -9
- package/esm/TreePicker/hooks/useFocusState.d.ts +0 -1
- package/esm/TreePicker/hooks/useFocusState.js +4 -8
- package/esm/Uploader/UploadFileItem.js +8 -10
- package/esm/Uploader/UploadTrigger.js +8 -10
- package/esm/Uploader/Uploader.js +18 -24
- package/esm/Uploader/utils/ajaxUpload.js +5 -5
- package/esm/Uploader/utils/previewFile.js +1 -1
- package/esm/internals/Disclosure/Disclosure.js +5 -8
- package/esm/internals/Disclosure/DisclosureButton.js +2 -2
- package/esm/internals/InputBase/InputBase.js +5 -6
- package/esm/internals/Menu/Menu.js +16 -20
- package/esm/internals/Menu/MenuItem.js +4 -5
- package/esm/internals/Menu/Menubar.js +5 -7
- package/esm/internals/Menu/useMenu.js +5 -10
- package/esm/internals/Overlay/Modal.js +8 -11
- package/esm/internals/Overlay/ModalManager.js +3 -5
- package/esm/internals/Overlay/Overlay.js +1 -1
- package/esm/internals/Overlay/OverlayTrigger.d.ts +0 -1
- package/esm/internals/Overlay/OverlayTrigger.js +5 -7
- package/esm/internals/Overlay/Position.js +6 -8
- package/esm/internals/Picker/ListCheckItem.js +3 -3
- package/esm/internals/Picker/ListItem.js +1 -1
- package/esm/internals/Picker/Listbox.js +9 -10
- package/esm/internals/Picker/PickerPopup.js +4 -5
- package/esm/internals/Picker/PickerToggle.js +3 -4
- package/esm/internals/Picker/SelectedElement.js +1 -1
- package/esm/internals/Picker/hooks/useFocusItemValue.d.ts +0 -1
- package/esm/internals/Picker/hooks/useFocusItemValue.js +14 -28
- package/esm/internals/Picker/hooks/usePickerRef.d.ts +0 -1
- package/esm/internals/Picker/hooks/usePickerRef.js +9 -15
- package/esm/internals/Picker/hooks/useSearch.d.ts +0 -1
- package/esm/internals/Picker/hooks/useSearch.js +2 -2
- package/esm/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +0 -1
- package/esm/internals/Picker/hooks/useToggleKeyDownEvent.js +13 -17
- package/esm/internals/Picker/utils.js +9 -9
- package/esm/internals/Ripple/Ripple.js +3 -4
- package/esm/internals/SafeAnchor/SafeAnchor.js +1 -1
- package/esm/internals/ScrollView/hooks/useScrollState.d.ts +0 -1
- package/esm/internals/ScrollView/hooks/useScrollState.js +2 -3
- package/esm/internals/Tree/TreeProvider.d.ts +4 -4
- package/esm/internals/Tree/TreeProvider.js +2 -8
- package/esm/internals/Tree/types.d.ts +0 -1
- package/esm/internals/Tree/utils/getParentMap.d.ts +0 -1
- package/esm/internals/Windowing/AutoSizer.js +2 -3
- package/esm/internals/Windowing/List.js +4 -8
- package/esm/internals/constants/index.d.ts +2 -2
- package/esm/internals/hooks/useClickOutside.js +2 -4
- package/esm/internals/hooks/useCustom.d.ts +0 -1
- package/esm/internals/hooks/useCustom.js +5 -7
- package/esm/internals/hooks/useElementResize.d.ts +0 -1
- package/esm/internals/hooks/useEventCallback.js +1 -2
- package/esm/internals/hooks/useEventListener.js +1 -1
- package/esm/internals/hooks/useFocus.js +2 -4
- package/esm/internals/hooks/useFocusVirtualListItem.d.ts +0 -1
- package/esm/internals/hooks/useMount.js +1 -2
- package/esm/internals/hooks/useRootClose.js +6 -6
- package/esm/internals/hooks/useTimeout.js +1 -2
- package/esm/internals/hooks/useToggleCaret.d.ts +0 -1
- package/esm/internals/hooks/useUniqueId.js +1 -1
- package/esm/internals/hooks/useUpdatedRef.d.ts +0 -1
- package/esm/internals/styled-system/style-manager.js +1 -1
- package/esm/internals/styled-system/useStyled.js +2 -2
- package/esm/internals/types/utils.d.ts +0 -1
- package/esm/internals/utils/colours.d.ts +4 -4
- package/esm/internals/utils/colours.js +1 -1
- package/esm/internals/utils/date/disableTime.js +6 -12
- package/esm/internals/utils/date/omitHideDisabledProps.d.ts +1 -1
- package/esm/internals/utils/date/useDateMode.d.ts +1 -1
- package/esm/internals/utils/react/ReactChildren.js +1 -2
- package/esm/internals/utils/react/deprecateComponent.js +1 -2
- package/esm/internals/utils/react/getDOMNode.js +4 -5
- package/esm/internals/utils/sizes.d.ts +2 -2
- package/esm/internals/utils/style-sheet/css.d.ts +0 -1
- package/esm/internals/utils/style-sheet/css.js +1 -1
- package/esm/internals/utils/style-sheet/prefix.d.ts +0 -1
- package/esm/internals/utils/style-sheet/responsive.d.ts +1 -1
- package/esm/internals/utils/style-sheet/styles.d.ts +3 -3
- package/esm/internals/utils/style-sheet/styles.js +1 -1
- package/esm/toaster/ToastContainer.js +3 -5
- package/esm/toaster/hooks/useDelayedClosure.d.ts +0 -1
- package/esm/toaster/hooks/useDelayedClosure.js +3 -4
- package/esm/toaster/toaster.js +4 -12
- package/esm/useDialog/Dialog.d.ts +1 -1
- package/esm/useDialog/Dialog.js +1 -1
- package/esm/useDialog/useDialog.d.ts +1 -1
- package/esm/useDialog/useDialog.js +3 -3
- package/esm/useFormControl/hooks/useField.d.ts +0 -1
- package/esm/useFormControl/hooks/useField.js +5 -7
- package/esm/useFormControl/hooks/useRegisterModel.js +2 -2
- package/esm/useFormControl/useFormControl.js +8 -8
- package/esm/useToaster/useToaster.js +4 -5
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types
|
|
3
3
|
const MIME = ['image/apng', 'image/avif', 'image/gif', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];
|
|
4
4
|
export function isImage(file) {
|
|
5
|
-
return MIME.includes(file
|
|
5
|
+
return MIME.includes(file?.type);
|
|
6
6
|
}
|
|
7
7
|
export function previewFile(file, callback) {
|
|
8
8
|
if (!isImage(file)) {
|
|
@@ -41,13 +41,10 @@ const Disclosure = /*#__PURE__*/React.memo(props => {
|
|
|
41
41
|
open: defaultOpen
|
|
42
42
|
});
|
|
43
43
|
const containerElementRef = useRef(null);
|
|
44
|
-
const open = openProp
|
|
44
|
+
const open = openProp ?? openState;
|
|
45
45
|
useClickOutside({
|
|
46
46
|
enabled: hideOnClickOutside,
|
|
47
|
-
isOutside: event =>
|
|
48
|
-
var _containerElementRef$;
|
|
49
|
-
return !((_containerElementRef$ = containerElementRef.current) !== null && _containerElementRef$ !== void 0 && _containerElementRef$.contains(event.target));
|
|
50
|
-
},
|
|
47
|
+
isOutside: event => !containerElementRef.current?.contains(event.target),
|
|
51
48
|
handle: () => dispatch({
|
|
52
49
|
type: DisclosureActionTypes.Hide
|
|
53
50
|
})
|
|
@@ -57,7 +54,7 @@ const Disclosure = /*#__PURE__*/React.memo(props => {
|
|
|
57
54
|
dispatch({
|
|
58
55
|
type: DisclosureActionTypes.Show
|
|
59
56
|
});
|
|
60
|
-
onToggle
|
|
57
|
+
onToggle?.(true, event);
|
|
61
58
|
}
|
|
62
59
|
}, [open, dispatch, onToggle]);
|
|
63
60
|
const onMouseLeave = useCallback(event => {
|
|
@@ -65,14 +62,14 @@ const Disclosure = /*#__PURE__*/React.memo(props => {
|
|
|
65
62
|
dispatch({
|
|
66
63
|
type: DisclosureActionTypes.Hide
|
|
67
64
|
});
|
|
68
|
-
onToggle
|
|
65
|
+
onToggle?.(false, event);
|
|
69
66
|
}
|
|
70
67
|
}, [open, dispatch, onToggle]);
|
|
71
68
|
const contextValue = useMemo(() => {
|
|
72
69
|
const cascadeDispatch = action => {
|
|
73
70
|
const result = dispatch(action);
|
|
74
71
|
if ('cascade' in action) {
|
|
75
|
-
parentDisclosure
|
|
72
|
+
parentDisclosure?.[1](action);
|
|
76
73
|
}
|
|
77
74
|
return result;
|
|
78
75
|
};
|
|
@@ -18,12 +18,12 @@ function DisclosureButton(props) {
|
|
|
18
18
|
dispatch({
|
|
19
19
|
type: DisclosureActionTypes.Show
|
|
20
20
|
});
|
|
21
|
-
onToggle
|
|
21
|
+
onToggle?.(true, event);
|
|
22
22
|
} else {
|
|
23
23
|
dispatch({
|
|
24
24
|
type: DisclosureActionTypes.Hide
|
|
25
25
|
});
|
|
26
|
-
onToggle
|
|
26
|
+
onToggle?.(false, event);
|
|
27
27
|
}
|
|
28
28
|
}, [open, dispatch, onToggle]);
|
|
29
29
|
const onClick = useCallback(event => {
|
|
@@ -40,13 +40,12 @@ const InputBase = forwardRef((props, ref) => {
|
|
|
40
40
|
} = useFormGroup();
|
|
41
41
|
const handleKeyDown = event => {
|
|
42
42
|
if (event.key === KEY_VALUES.ENTER) {
|
|
43
|
-
onPressEnter
|
|
43
|
+
onPressEnter?.(event);
|
|
44
44
|
}
|
|
45
|
-
onKeyDown
|
|
45
|
+
onKeyDown?.(event);
|
|
46
46
|
};
|
|
47
47
|
const handleChange = event => {
|
|
48
|
-
|
|
49
|
-
onChange === null || onChange === void 0 || onChange((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value, event);
|
|
48
|
+
onChange?.(event.target?.value, event);
|
|
50
49
|
};
|
|
51
50
|
const {
|
|
52
51
|
withPrefix,
|
|
@@ -70,8 +69,8 @@ const InputBase = forwardRef((props, ref) => {
|
|
|
70
69
|
if (inputable) {
|
|
71
70
|
eventProps.onChange = handleChange;
|
|
72
71
|
eventProps.onKeyDown = handleKeyDown;
|
|
73
|
-
eventProps.onFocus = createChainedFunction(onFocus, inputGroup
|
|
74
|
-
eventProps.onBlur = createChainedFunction(onBlur, inputGroup
|
|
72
|
+
eventProps.onFocus = createChainedFunction(onFocus, inputGroup?.onFocus);
|
|
73
|
+
eventProps.onBlur = createChainedFunction(onBlur, inputGroup?.onBlur);
|
|
75
74
|
}
|
|
76
75
|
return /*#__PURE__*/React.createElement(Box, _extends({
|
|
77
76
|
as: as,
|
|
@@ -10,12 +10,11 @@ import { useCustom } from "../hooks/index.js";
|
|
|
10
10
|
import { isFocusLeaving, isFocusableElement } from "../utils/index.js";
|
|
11
11
|
const defaultOpenMenuOn = ['click'];
|
|
12
12
|
function getMenuItemTarget(event) {
|
|
13
|
-
var _event$currentTarget;
|
|
14
13
|
const target = event.target;
|
|
15
14
|
if (target.getAttribute('role') === 'menuitem') {
|
|
16
15
|
return target;
|
|
17
16
|
}
|
|
18
|
-
return Array.from(
|
|
17
|
+
return Array.from(event.currentTarget?.querySelectorAll('[role="menuitem"]')).find(item => {
|
|
19
18
|
return item.contains(target);
|
|
20
19
|
});
|
|
21
20
|
}
|
|
@@ -35,7 +34,6 @@ function Menu({
|
|
|
35
34
|
renderMenuPopup,
|
|
36
35
|
onToggleMenu
|
|
37
36
|
}) {
|
|
38
|
-
var _items$activeItemInde;
|
|
39
37
|
const buttonElementRef = useRef(null);
|
|
40
38
|
const menuElementRef = useRef(null);
|
|
41
39
|
const parentMenu = useContext(MenuContext);
|
|
@@ -53,7 +51,7 @@ function Menu({
|
|
|
53
51
|
const {
|
|
54
52
|
rtl
|
|
55
53
|
} = useCustom();
|
|
56
|
-
const activeItem = isNil(activeItemIndex) ? null :
|
|
54
|
+
const activeItem = isNil(activeItemIndex) ? null : items[activeItemIndex]?.element;
|
|
57
55
|
const {
|
|
58
56
|
grab: grabFocus
|
|
59
57
|
} = useFocus(menuElementRef);
|
|
@@ -67,7 +65,7 @@ function Menu({
|
|
|
67
65
|
to: MoveFocusTo.First
|
|
68
66
|
});
|
|
69
67
|
}
|
|
70
|
-
onToggleMenu
|
|
68
|
+
onToggleMenu?.(true, event);
|
|
71
69
|
grabFocus();
|
|
72
70
|
}, [dispatch, onToggleMenu, grabFocus]);
|
|
73
71
|
const closeMenu = useCallback((event, returnFocusToButton = true) => {
|
|
@@ -78,10 +76,9 @@ function Menu({
|
|
|
78
76
|
type: MenuActionTypes.MoveFocus,
|
|
79
77
|
to: MoveFocusTo.None
|
|
80
78
|
});
|
|
81
|
-
onToggleMenu
|
|
79
|
+
onToggleMenu?.(false, event);
|
|
82
80
|
if (returnFocusToButton) {
|
|
83
|
-
|
|
84
|
-
(_buttonElementRef$cur = buttonElementRef.current) === null || _buttonElementRef$cur === void 0 || _buttonElementRef$cur.focus({
|
|
81
|
+
buttonElementRef.current?.focus({
|
|
85
82
|
preventScroll: true
|
|
86
83
|
});
|
|
87
84
|
}
|
|
@@ -96,8 +93,7 @@ function Menu({
|
|
|
96
93
|
useClickOutside({
|
|
97
94
|
enabled: open,
|
|
98
95
|
isOutside: event => {
|
|
99
|
-
|
|
100
|
-
return !((_buttonElementRef$cur2 = buttonElementRef.current) !== null && _buttonElementRef$cur2 !== void 0 && _buttonElementRef$cur2.contains(event.target)) && !((_menuElementRef$curre = menuElementRef.current) !== null && _menuElementRef$curre !== void 0 && _menuElementRef$curre.contains(event.target));
|
|
96
|
+
return !buttonElementRef.current?.contains(event.target) && !menuElementRef.current?.contains(event.target);
|
|
101
97
|
},
|
|
102
98
|
// fixme if clicking on a focusable element, don't move focus to menu button
|
|
103
99
|
handle: event => closeMenu(event, !isFocusableElement(event.target))
|
|
@@ -163,10 +159,10 @@ function Menu({
|
|
|
163
159
|
* Bind event of trigger,
|
|
164
160
|
* not used in in the expanded state of '<Sidenav>'
|
|
165
161
|
*/
|
|
166
|
-
if (openMenuOn
|
|
162
|
+
if (openMenuOn?.includes('click')) {
|
|
167
163
|
buttonEventHandlers.onClick = handleButtonClick;
|
|
168
164
|
}
|
|
169
|
-
if (openMenuOn
|
|
165
|
+
if (openMenuOn?.includes('contextmenu')) {
|
|
170
166
|
buttonEventHandlers.onContextMenu = handleButtonContextMenu;
|
|
171
167
|
}
|
|
172
168
|
return buttonEventHandlers;
|
|
@@ -193,9 +189,9 @@ function Menu({
|
|
|
193
189
|
};
|
|
194
190
|
}, [buttonId, buttonAriaAttributes, buttonEventHandlers, open]);
|
|
195
191
|
const customMenuButton = useMemo(() => {
|
|
196
|
-
return renderMenuButton
|
|
192
|
+
return renderMenuButton?.(buttonProps, buttonElementRef);
|
|
197
193
|
}, [renderMenuButton, buttonProps, buttonElementRef]);
|
|
198
|
-
const buttonElement = customMenuButton
|
|
194
|
+
const buttonElement = customMenuButton ?? /*#__PURE__*/React.createElement("button", _extends({
|
|
199
195
|
ref: buttonElementRef
|
|
200
196
|
}, buttonProps), menuButtonText);
|
|
201
197
|
|
|
@@ -228,7 +224,7 @@ function Menu({
|
|
|
228
224
|
e.preventDefault();
|
|
229
225
|
e.stopPropagation();
|
|
230
226
|
if (!rtl) {
|
|
231
|
-
if (
|
|
227
|
+
if (activeItem?.getAttribute('aria-haspopup') === 'menu') {
|
|
232
228
|
activeItem.click();
|
|
233
229
|
}
|
|
234
230
|
} else if (isSubmenu) {
|
|
@@ -245,7 +241,7 @@ function Menu({
|
|
|
245
241
|
if (isSubmenu) {
|
|
246
242
|
closeMenu(e);
|
|
247
243
|
}
|
|
248
|
-
} else if (
|
|
244
|
+
} else if (activeItem?.getAttribute('aria-haspopup') === 'menu') {
|
|
249
245
|
activeItem.click();
|
|
250
246
|
}
|
|
251
247
|
break;
|
|
@@ -308,7 +304,7 @@ function Menu({
|
|
|
308
304
|
const menuAriaAttributes = {
|
|
309
305
|
role: 'menu',
|
|
310
306
|
'aria-labelledby': buttonId,
|
|
311
|
-
'aria-activedescendant': activeItem
|
|
307
|
+
'aria-activedescendant': activeItem?.id
|
|
312
308
|
};
|
|
313
309
|
const menuEventHandlers = {
|
|
314
310
|
onClick: handleMenuClick,
|
|
@@ -320,13 +316,13 @@ function Menu({
|
|
|
320
316
|
...menuEventHandlers,
|
|
321
317
|
tabIndex: 0
|
|
322
318
|
};
|
|
323
|
-
const customMenuPopup = renderMenuPopup
|
|
319
|
+
const customMenuPopup = renderMenuPopup?.({
|
|
324
320
|
...menuProps,
|
|
325
321
|
open
|
|
326
322
|
}, menuElementRef);
|
|
327
323
|
|
|
328
324
|
// fixme Wrong children here
|
|
329
|
-
const menuElement = customMenuPopup
|
|
325
|
+
const menuElement = customMenuPopup ?? /*#__PURE__*/React.createElement("ul", _extends({
|
|
330
326
|
ref: menuElementRef
|
|
331
327
|
}, menuProps, {
|
|
332
328
|
hidden: !open
|
|
@@ -351,7 +347,7 @@ function Menu({
|
|
|
351
347
|
const rootEventHandlers = {
|
|
352
348
|
onBlur: handleContainerBlur
|
|
353
349
|
};
|
|
354
|
-
if (openMenuOn
|
|
350
|
+
if (openMenuOn?.includes('mouseover')) {
|
|
355
351
|
rootEventHandlers.onMouseEnter = handleMouseEnter;
|
|
356
352
|
rootEventHandlers.onMouseLeave = handleMouseLeave;
|
|
357
353
|
}
|
|
@@ -8,7 +8,6 @@ import { useUniqueId } from "../hooks/index.js";
|
|
|
8
8
|
* @private
|
|
9
9
|
*/
|
|
10
10
|
function MenuItem(props) {
|
|
11
|
-
var _menuState$items$menu;
|
|
12
11
|
const {
|
|
13
12
|
children,
|
|
14
13
|
selected = false,
|
|
@@ -24,12 +23,12 @@ function MenuItem(props) {
|
|
|
24
23
|
const [menuState, dispatch] = menu;
|
|
25
24
|
|
|
26
25
|
// Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)
|
|
27
|
-
const hasFocus = !isNil(menuitemRef.current) && !isNil(menuState.activeItemIndex) &&
|
|
26
|
+
const hasFocus = !isNil(menuitemRef.current) && !isNil(menuState.activeItemIndex) && menuState.items[menuState.activeItemIndex]?.element === menuitemRef.current;
|
|
28
27
|
const handleClick = useCallback(event => {
|
|
29
28
|
if (disabled) {
|
|
30
29
|
return;
|
|
31
30
|
}
|
|
32
|
-
onActivate
|
|
31
|
+
onActivate?.(event);
|
|
33
32
|
}, [disabled, onActivate]);
|
|
34
33
|
|
|
35
34
|
// Gain/release focus on mousedown in `menubar`
|
|
@@ -93,11 +92,11 @@ function MenuItem(props) {
|
|
|
93
92
|
};
|
|
94
93
|
|
|
95
94
|
// Only move focus on hover in a `menu`, not `menubar`
|
|
96
|
-
if (
|
|
95
|
+
if (menuState?.role === 'menu') {
|
|
97
96
|
menuitemProps.onMouseMove = handleMouseMove;
|
|
98
97
|
menuitemProps.onMouseLeave = handleMouseLeave;
|
|
99
98
|
}
|
|
100
|
-
if (
|
|
99
|
+
if (menuState?.role === 'menubar') {
|
|
101
100
|
menuitemProps.onMouseDown = handleMouseDown;
|
|
102
101
|
menuitemProps.onMouseOver = handleMouseMove;
|
|
103
102
|
menuitemProps.onMouseLeave = handleMouseLeave;
|
|
@@ -15,7 +15,6 @@ export default function Menubar({
|
|
|
15
15
|
children,
|
|
16
16
|
onActivateItem
|
|
17
17
|
}) {
|
|
18
|
-
var _items$activeItemInde3;
|
|
19
18
|
const menubar = useMenu({
|
|
20
19
|
role: 'menubar'
|
|
21
20
|
});
|
|
@@ -53,8 +52,7 @@ export default function Menubar({
|
|
|
53
52
|
rtl
|
|
54
53
|
} = useCustom();
|
|
55
54
|
const onKeyDown = useCallback(event => {
|
|
56
|
-
|
|
57
|
-
const activeItemElement = isNil(activeItemIndex) ? null : (_items$activeItemInde = (_items$activeItemInde2 = items[activeItemIndex]) === null || _items$activeItemInde2 === void 0 ? void 0 : _items$activeItemInde2.element) !== null && _items$activeItemInde !== void 0 ? _items$activeItemInde : null;
|
|
55
|
+
const activeItemElement = isNil(activeItemIndex) ? null : items[activeItemIndex]?.element ?? null;
|
|
58
56
|
switch (true) {
|
|
59
57
|
case !vertical && !rtl && event.key === KEY_VALUES.RIGHT:
|
|
60
58
|
case !vertical && rtl && event.key === KEY_VALUES.LEFT:
|
|
@@ -95,7 +93,7 @@ export default function Menubar({
|
|
|
95
93
|
case !vertical && event.key === KEY_VALUES.DOWN:
|
|
96
94
|
case vertical && !rtl && event.key === KEY_VALUES.RIGHT:
|
|
97
95
|
case vertical && rtl && event.key === KEY_VALUES.LEFT:
|
|
98
|
-
if (
|
|
96
|
+
if (activeItemElement?.getAttribute('aria-haspopup') === 'menu') {
|
|
99
97
|
event.preventDefault();
|
|
100
98
|
event.stopPropagation();
|
|
101
99
|
activeItemElement.click();
|
|
@@ -105,7 +103,7 @@ export default function Menubar({
|
|
|
105
103
|
case event.key === KEY_VALUES.SPACE:
|
|
106
104
|
event.preventDefault();
|
|
107
105
|
event.stopPropagation();
|
|
108
|
-
activeItemElement
|
|
106
|
+
activeItemElement?.click();
|
|
109
107
|
break;
|
|
110
108
|
}
|
|
111
109
|
}, [rtl, items, activeItemIndex, dispatch, vertical]);
|
|
@@ -114,7 +112,7 @@ export default function Menubar({
|
|
|
114
112
|
// Which indicates that a child menuitem is being activated
|
|
115
113
|
const onClick = useCallback(event => {
|
|
116
114
|
if (items.some(item => item.element === event.target)) {
|
|
117
|
-
onActivateItem
|
|
115
|
+
onActivateItem?.(event);
|
|
118
116
|
}
|
|
119
117
|
}, [items, onActivateItem]);
|
|
120
118
|
return /*#__PURE__*/React.createElement(MenuContext.Provider, {
|
|
@@ -126,7 +124,7 @@ export default function Menubar({
|
|
|
126
124
|
onBlur,
|
|
127
125
|
onKeyDown,
|
|
128
126
|
onClick,
|
|
129
|
-
'aria-activedescendant': isNil(activeItemIndex) ? undefined :
|
|
127
|
+
'aria-activedescendant': isNil(activeItemIndex) ? undefined : items[activeItemIndex]?.element.id,
|
|
130
128
|
'aria-orientation': vertical ? 'vertical' : undefined // implicitly set 'horizontal'
|
|
131
129
|
}, menubarElementRef));
|
|
132
130
|
}
|
|
@@ -43,8 +43,7 @@ export function menuReducer(state, action) {
|
|
|
43
43
|
switch (action.to) {
|
|
44
44
|
case MoveFocusTo.Next:
|
|
45
45
|
for (let i = activeItemIndex === null ? 0 : activeItemIndex + 1; i < items.length; i++) {
|
|
46
|
-
|
|
47
|
-
if (!((_items$i$props = items[i].props) !== null && _items$i$props !== void 0 && _items$i$props.disabled)) {
|
|
46
|
+
if (!items[i].props?.disabled) {
|
|
48
47
|
nextActiveItemIndex = i;
|
|
49
48
|
break;
|
|
50
49
|
}
|
|
@@ -52,8 +51,7 @@ export function menuReducer(state, action) {
|
|
|
52
51
|
break;
|
|
53
52
|
case MoveFocusTo.Prev:
|
|
54
53
|
for (let i = activeItemIndex === null ? items.length - 1 : activeItemIndex - 1; i >= 0; i--) {
|
|
55
|
-
|
|
56
|
-
if (!((_items$i$props2 = items[i].props) !== null && _items$i$props2 !== void 0 && _items$i$props2.disabled)) {
|
|
54
|
+
if (!items[i].props?.disabled) {
|
|
57
55
|
nextActiveItemIndex = i;
|
|
58
56
|
break;
|
|
59
57
|
}
|
|
@@ -61,8 +59,7 @@ export function menuReducer(state, action) {
|
|
|
61
59
|
break;
|
|
62
60
|
case MoveFocusTo.First:
|
|
63
61
|
for (let i = 0; i < items.length; i++) {
|
|
64
|
-
|
|
65
|
-
if (!((_items$i$props3 = items[i].props) !== null && _items$i$props3 !== void 0 && _items$i$props3.disabled)) {
|
|
62
|
+
if (!items[i].props?.disabled) {
|
|
66
63
|
nextActiveItemIndex = i;
|
|
67
64
|
break;
|
|
68
65
|
}
|
|
@@ -70,8 +67,7 @@ export function menuReducer(state, action) {
|
|
|
70
67
|
break;
|
|
71
68
|
case MoveFocusTo.Last:
|
|
72
69
|
for (let i = items.length - 1; i >= 0; i--) {
|
|
73
|
-
|
|
74
|
-
if (!((_items$i$props4 = items[i].props) !== null && _items$i$props4 !== void 0 && _items$i$props4.disabled)) {
|
|
70
|
+
if (!items[i].props?.disabled) {
|
|
75
71
|
nextActiveItemIndex = i;
|
|
76
72
|
break;
|
|
77
73
|
}
|
|
@@ -79,8 +75,7 @@ export function menuReducer(state, action) {
|
|
|
79
75
|
break;
|
|
80
76
|
case MoveFocusTo.Specific:
|
|
81
77
|
for (let i = 0; i < items.length; i++) {
|
|
82
|
-
|
|
83
|
-
if (items[i].element.id === action.id && !((_items$i$props5 = items[i].props) !== null && _items$i$props5 !== void 0 && _items$i$props5.disabled)) {
|
|
78
|
+
if (items[i].element.id === action.id && !items[i].props?.disabled) {
|
|
84
79
|
nextActiveItemIndex = i;
|
|
85
80
|
break;
|
|
86
81
|
}
|
|
@@ -24,8 +24,7 @@ const useModalManager = () => {
|
|
|
24
24
|
});
|
|
25
25
|
return {
|
|
26
26
|
get dialog() {
|
|
27
|
-
|
|
28
|
-
return (_modal$current = modal.current) === null || _modal$current === void 0 ? void 0 : _modal$current.dialog;
|
|
27
|
+
return modal.current?.dialog;
|
|
29
28
|
},
|
|
30
29
|
add: (containerElement, containerClassName) => modalManager.add(modal.current, containerElement, containerClassName),
|
|
31
30
|
remove: () => modalManager.remove(modal.current),
|
|
@@ -85,14 +84,13 @@ const Modal = forwardRef((props, ref) => {
|
|
|
85
84
|
const lastFocus = useRef(null);
|
|
86
85
|
const handleDocumentKeyDown = useEventCallback(event => {
|
|
87
86
|
if (keyboard && event.key === KEY_VALUES.ESC && modal.isTopModal()) {
|
|
88
|
-
onEsc
|
|
89
|
-
onClose
|
|
87
|
+
onEsc?.(event);
|
|
88
|
+
onClose?.(event);
|
|
90
89
|
}
|
|
91
90
|
});
|
|
92
91
|
const restoreLastFocus = useCallback(() => {
|
|
93
92
|
if (lastFocus.current) {
|
|
94
|
-
|
|
95
|
-
(_lastFocus$current$fo = (_lastFocus$current = lastFocus.current).focus) === null || _lastFocus$current$fo === void 0 || _lastFocus$current$fo.call(_lastFocus$current);
|
|
93
|
+
lastFocus.current.focus?.();
|
|
96
94
|
lastFocus.current = null;
|
|
97
95
|
}
|
|
98
96
|
}, []);
|
|
@@ -106,7 +104,7 @@ const Modal = forwardRef((props, ref) => {
|
|
|
106
104
|
const currentActiveElement = document.activeElement;
|
|
107
105
|
const dialog = modal.dialog;
|
|
108
106
|
if (dialog && currentActiveElement && !contains(dialog, currentActiveElement)) {
|
|
109
|
-
onBeforeFocusCallback
|
|
107
|
+
onBeforeFocusCallback?.();
|
|
110
108
|
dialog.focus();
|
|
111
109
|
}
|
|
112
110
|
});
|
|
@@ -133,14 +131,13 @@ const Modal = forwardRef((props, ref) => {
|
|
|
133
131
|
lastFocus.current = document.activeElement;
|
|
134
132
|
});
|
|
135
133
|
}
|
|
136
|
-
onOpen
|
|
134
|
+
onOpen?.();
|
|
137
135
|
});
|
|
138
136
|
const handleClose = useEventCallback(() => {
|
|
139
|
-
var _documentKeyDownListe, _documentFocusListene;
|
|
140
137
|
modal.remove();
|
|
141
|
-
|
|
138
|
+
documentKeyDownListener.current?.off();
|
|
142
139
|
documentKeyDownListener.current = null;
|
|
143
|
-
|
|
140
|
+
documentFocusListener.current?.off();
|
|
144
141
|
documentFocusListener.current = null;
|
|
145
142
|
restoreLastFocus();
|
|
146
143
|
});
|
|
@@ -20,11 +20,9 @@ function findContainer(data, modal) {
|
|
|
20
20
|
return findIndexOf(data, d => d.modals.indexOf(modal) !== -1);
|
|
21
21
|
}
|
|
22
22
|
class ModalManager {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.data = [];
|
|
27
|
-
}
|
|
23
|
+
modals = [];
|
|
24
|
+
containers = [];
|
|
25
|
+
data = [];
|
|
28
26
|
add(modal, container, className) {
|
|
29
27
|
let modalIndex = this.modals.indexOf(modal);
|
|
30
28
|
const containerIndex = this.containers.indexOf(container);
|
|
@@ -46,7 +46,7 @@ const Overlay = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
46
46
|
const mountOverlay = open || Transition && !exited;
|
|
47
47
|
const handleExited = useCallback(args => {
|
|
48
48
|
setExited(true);
|
|
49
|
-
onExited
|
|
49
|
+
onExited?.(args);
|
|
50
50
|
}, [onExited]);
|
|
51
51
|
useRootClose(onClose, {
|
|
52
52
|
triggerTarget,
|
|
@@ -14,7 +14,7 @@ function mergeEvents(events = {}, props = {}) {
|
|
|
14
14
|
const nextEvents = {};
|
|
15
15
|
Object.keys(events).forEach(eventName => {
|
|
16
16
|
if (events[eventName]) {
|
|
17
|
-
nextEvents[eventName] = createChainedFunction(events[eventName], props
|
|
17
|
+
nextEvents[eventName] = createChainedFunction(events[eventName], props?.[eventName]);
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
return nextEvents;
|
|
@@ -126,9 +126,9 @@ const OverlayTrigger = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
126
126
|
// if the overlay open state is not changed, do not fire the event
|
|
127
127
|
if (nextOpen === open) return;
|
|
128
128
|
if (nextOpen) {
|
|
129
|
-
onOpen
|
|
129
|
+
onOpen?.();
|
|
130
130
|
} else {
|
|
131
|
-
onClose
|
|
131
|
+
onClose?.(closeCause);
|
|
132
132
|
}
|
|
133
133
|
setOpen(nextOpen);
|
|
134
134
|
}, [open, onOpen, onClose, setOpen]);
|
|
@@ -162,8 +162,7 @@ const OverlayTrigger = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
162
162
|
return triggerRef.current;
|
|
163
163
|
},
|
|
164
164
|
get overlay() {
|
|
165
|
-
|
|
166
|
-
return (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.child;
|
|
165
|
+
return overlayRef.current?.child;
|
|
167
166
|
},
|
|
168
167
|
getState: () => ({
|
|
169
168
|
open
|
|
@@ -171,8 +170,7 @@ const OverlayTrigger = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
171
170
|
open: handleOpen,
|
|
172
171
|
close: delay => handleClose(delay, OverlayCloseCause.ImperativeHandle),
|
|
173
172
|
updatePosition: () => {
|
|
174
|
-
|
|
175
|
-
(_overlayRef$current2 = overlayRef.current) === null || _overlayRef$current2 === void 0 || (_overlayRef$current2$ = _overlayRef$current2.updatePosition) === null || _overlayRef$current2$ === void 0 || _overlayRef$current2$.call(_overlayRef$current2);
|
|
173
|
+
overlayRef.current?.updatePosition?.();
|
|
176
174
|
}
|
|
177
175
|
}));
|
|
178
176
|
|
|
@@ -50,7 +50,7 @@ const usePosition = (props, ref) => {
|
|
|
50
50
|
* @returns void
|
|
51
51
|
*/
|
|
52
52
|
(placementChanged = true, forceUpdateDOM) => {
|
|
53
|
-
if (!
|
|
53
|
+
if (!triggerTarget?.current) {
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
const targetElement = getDOMNode(triggerTarget);
|
|
@@ -63,7 +63,7 @@ const usePosition = (props, ref) => {
|
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
const overlay = getDOMNode(ref.current);
|
|
66
|
-
const containerElement = getContainer(typeof container === 'function' ? container() : container
|
|
66
|
+
const containerElement = getContainer(typeof container === 'function' ? container() : container ?? null, ownerDocument(ref.current).body);
|
|
67
67
|
const posi = utils.calcOverlayPosition(overlay, targetElement, containerElement, followCursor ? cursorPosition : undefined);
|
|
68
68
|
if (forceUpdateDOM && overlay) {
|
|
69
69
|
addStyle(overlay, getPositionStyle(posi.positionLeft, posi.positionTop));
|
|
@@ -81,9 +81,8 @@ const usePosition = (props, ref) => {
|
|
|
81
81
|
const overlay = getDOMNode(ref.current);
|
|
82
82
|
let containerScrollListener;
|
|
83
83
|
if (containerRef.current && preventOverflow) {
|
|
84
|
-
var _containerRef$current;
|
|
85
84
|
// Update the overlay position when the container scroll bar is scrolling
|
|
86
|
-
containerScrollListener = on(
|
|
85
|
+
containerScrollListener = on(containerRef.current?.tagName === 'BODY' ? window : containerRef.current, 'scroll', () => updatePosition(true, true));
|
|
87
86
|
}
|
|
88
87
|
|
|
89
88
|
// Update the position when the window size changes
|
|
@@ -94,11 +93,10 @@ const usePosition = (props, ref) => {
|
|
|
94
93
|
overlayResizeObserver.current.observe(overlay);
|
|
95
94
|
}
|
|
96
95
|
return () => {
|
|
97
|
-
var _containerScrollListe, _overlayResizeObserve;
|
|
98
96
|
lastTargetRef.current = null;
|
|
99
|
-
|
|
100
|
-
resizeListener
|
|
101
|
-
|
|
97
|
+
containerScrollListener?.off();
|
|
98
|
+
resizeListener?.off();
|
|
99
|
+
overlayResizeObserver.current?.disconnect();
|
|
102
100
|
};
|
|
103
101
|
}, [preventOverflow, ref, updatePosition]);
|
|
104
102
|
useUpdateEffect(() => updatePosition(), [updatePosition, placement]);
|
|
@@ -27,16 +27,16 @@ const ListCheckItem = forwardRef((props, ref) => {
|
|
|
27
27
|
...rest
|
|
28
28
|
} = props;
|
|
29
29
|
const handleChange = useEventCallback((value, checked, event) => {
|
|
30
|
-
onSelect
|
|
30
|
+
onSelect?.(value, event, checked);
|
|
31
31
|
});
|
|
32
32
|
const handleCheck = useEventCallback(event => {
|
|
33
33
|
if (!disabled) {
|
|
34
|
-
onCheck
|
|
34
|
+
onCheck?.(value, event, !active);
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
const handleSelectItem = useEventCallback(event => {
|
|
38
38
|
if (!disabled) {
|
|
39
|
-
onSelectItem
|
|
39
|
+
onSelectItem?.(value, event, !active);
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
const {
|
|
@@ -26,7 +26,7 @@ const ListItem = forwardRef((props, ref) => {
|
|
|
26
26
|
const handleClick = useEventCallback(event => {
|
|
27
27
|
event.preventDefault();
|
|
28
28
|
if (!disabled) {
|
|
29
|
-
onSelect
|
|
29
|
+
onSelect?.(value, event);
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
const {
|
|
@@ -80,10 +80,10 @@ const Listbox = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
80
80
|
nextGroupKeys.push(key);
|
|
81
81
|
}
|
|
82
82
|
setFoldedGroupKeys(nextGroupKeys);
|
|
83
|
-
onGroupTitleClick
|
|
83
|
+
onGroupTitleClick?.(event);
|
|
84
84
|
});
|
|
85
85
|
const handleSelect = useEventCallback((item, value, event, checked) => {
|
|
86
|
-
onSelect
|
|
86
|
+
onSelect?.(value, item, event, checked);
|
|
87
87
|
});
|
|
88
88
|
const getRowHeight = (list, index) => {
|
|
89
89
|
const item = list[index];
|
|
@@ -114,16 +114,16 @@ const Listbox = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
114
114
|
}
|
|
115
115
|
}, [focusItemValue, menuBodyContainerRef, prefix]);
|
|
116
116
|
const filteredItems = groupable ? data.filter(item => {
|
|
117
|
-
var _item$parent;
|
|
118
117
|
// Display group title items
|
|
119
118
|
if (item[RSUITE_PICKER_GROUP_KEY]) return true;
|
|
120
119
|
|
|
121
120
|
// Display items under the unfolded group
|
|
122
|
-
const groupValue = get(item, groupBy, '') ||
|
|
121
|
+
const groupValue = get(item, groupBy, '') ||
|
|
122
|
+
// FIXME-Doma
|
|
123
123
|
// Usage of `item.parent` is strongly discouraged
|
|
124
124
|
// It's only here for legacy support
|
|
125
125
|
// Remove once `item.parent` is completely removed across related components
|
|
126
|
-
|
|
126
|
+
item.parent?.[KEY_GROUP_TITLE];
|
|
127
127
|
return !foldedGroupKeys.includes(groupValue);
|
|
128
128
|
}) : data;
|
|
129
129
|
const rowCount = filteredItems.length;
|
|
@@ -162,8 +162,8 @@ const Listbox = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
162
162
|
} else if (isUndefined(value) && !isUndefined(item[RSUITE_PICKER_GROUP_KEY])) {
|
|
163
163
|
throw Error(`valueKey "${valueKey}" is not defined in "data" : ${index} `);
|
|
164
164
|
}
|
|
165
|
-
const disabled = disabledItemValues
|
|
166
|
-
const active = activeItemValues
|
|
165
|
+
const disabled = disabledItemValues?.some(disabledValue => shallowEqual(disabledValue, value));
|
|
166
|
+
const active = activeItemValues?.some(v => shallowEqual(v, value));
|
|
167
167
|
const focus = !isUndefined(focusItemValue) && shallowEqual(focusItemValue, value);
|
|
168
168
|
return /*#__PURE__*/React.createElement(ListItem, _extends({
|
|
169
169
|
"aria-posinset": index + 1,
|
|
@@ -179,9 +179,8 @@ const Listbox = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
179
179
|
}, pickBy(listItemProps, v => v !== undefined)), renderOption ? renderOption(label, item) : label);
|
|
180
180
|
};
|
|
181
181
|
useMount(() => {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
(_listRef$current = listRef.current) === null || _listRef$current === void 0 || (_listRef$current$scro = _listRef$current.scrollToItem) === null || _listRef$current$scro === void 0 || _listRef$current$scro.call(_listRef$current, itemIndex);
|
|
182
|
+
const itemIndex = findIndex(filteredItems, item => item[valueKey] === activeItemValues?.[0]);
|
|
183
|
+
listRef.current?.scrollToItem?.(itemIndex);
|
|
185
184
|
});
|
|
186
185
|
const styles = mergeStyles(style, {
|
|
187
186
|
'--rs-picker-listbox-max-height': getCssValue(maxHeight)
|