rsuite 6.1.2 → 6.2.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/CHANGELOG.md +27 -0
- package/Timeline/styles/index.css +11 -0
- package/Timeline/styles/index.scss +13 -0
- package/Uploader/styles/index.css +3 -0
- package/Uploader/styles/index.scss +3 -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.d.ts +2 -0
- package/cjs/AutoComplete/AutoComplete.js +12 -10
- 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 +9 -17
- 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 +38 -3
- package/cjs/Form/Form.js +25 -12
- package/cjs/Form/hooks/useFormRef.d.ts +0 -1
- package/cjs/Form/hooks/useFormValidate.d.ts +2 -1
- package/cjs/Form/hooks/useFormValidate.js +136 -20
- package/cjs/Form/hooks/useFormValue.d.ts +0 -1
- package/cjs/Form/index.d.ts +1 -0
- package/cjs/Form/resolvers.d.ts +59 -0
- package/cjs/Form/resolvers.js +4 -0
- 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 +6 -1
- package/cjs/Timeline/Timeline.js +14 -10
- 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 +6 -9
- 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.d.ts +2 -0
- package/cjs/Uploader/Uploader.js +66 -26
- 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/PickerIndicator.js +13 -11
- 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 +42 -15
- 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-no-reset.css +14 -0
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite.css +14 -0
- package/dist/rsuite.js +224 -224
- package/dist/rsuite.min.css +1 -1
- 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.d.ts +2 -0
- package/esm/AutoComplete/AutoComplete.js +12 -10
- 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 +9 -17
- 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 +38 -3
- package/esm/Form/Form.js +25 -12
- package/esm/Form/hooks/useFormRef.d.ts +0 -1
- package/esm/Form/hooks/useFormValidate.d.ts +2 -1
- package/esm/Form/hooks/useFormValidate.js +136 -20
- package/esm/Form/hooks/useFormValue.d.ts +0 -1
- package/esm/Form/index.d.ts +1 -0
- package/esm/Form/resolvers.d.ts +59 -0
- package/esm/Form/resolvers.js +2 -0
- 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 +6 -1
- package/esm/Timeline/Timeline.js +14 -10
- 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 +6 -9
- 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.d.ts +2 -0
- package/esm/Uploader/Uploader.js +66 -26
- 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/PickerIndicator.js +13 -11
- 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 +42 -15
- 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
package/esm/Slider/useDrag.js
CHANGED
|
@@ -20,8 +20,7 @@ const useDrag = props => {
|
|
|
20
20
|
|
|
21
21
|
// Release the move event
|
|
22
22
|
const releaseMoves = useCallback(() => {
|
|
23
|
-
|
|
24
|
-
(_moveTracker$current = moveTracker.current) === null || _moveTracker$current === void 0 || _moveTracker$current.releaseMoves();
|
|
23
|
+
moveTracker.current?.releaseMoves();
|
|
25
24
|
moveTracker.current = null;
|
|
26
25
|
}, []);
|
|
27
26
|
const setTooltipPosition = useCallback(() => {
|
|
@@ -34,18 +33,15 @@ const useDrag = props => {
|
|
|
34
33
|
}
|
|
35
34
|
}, [tooltip]);
|
|
36
35
|
const handleDragMove = useEventCallback((_deltaX, _deltaY, event) => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var _rootRef$current;
|
|
40
|
-
onDragMove === null || onDragMove === void 0 || onDragMove(event, (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.dataset);
|
|
36
|
+
if (moveTracker.current?.isDragging()) {
|
|
37
|
+
onDragMove?.(event, rootRef.current?.dataset);
|
|
41
38
|
setTooltipPosition();
|
|
42
39
|
}
|
|
43
40
|
});
|
|
44
41
|
const handleDragEnd = useEventCallback(event => {
|
|
45
|
-
var _rootRef$current2;
|
|
46
42
|
setActive(false);
|
|
47
43
|
releaseMoves();
|
|
48
|
-
onDragEnd
|
|
44
|
+
onDragEnd?.(event, rootRef.current?.dataset);
|
|
49
45
|
});
|
|
50
46
|
const getMouseMoveTracker = useCallback(() => {
|
|
51
47
|
return moveTracker.current || new PointerMoveTracker(document.body, {
|
|
@@ -55,15 +51,14 @@ const useDrag = props => {
|
|
|
55
51
|
});
|
|
56
52
|
}, [handleDragEnd, handleDragMove]);
|
|
57
53
|
const onMoveStart = useEventCallback(event => {
|
|
58
|
-
var _moveTracker$current3, _rootRef$current3;
|
|
59
54
|
if (disabled) {
|
|
60
55
|
return;
|
|
61
56
|
}
|
|
62
57
|
moveTracker.current = getMouseMoveTracker();
|
|
63
|
-
|
|
64
|
-
|
|
58
|
+
moveTracker.current?.captureMoves(event);
|
|
59
|
+
rootRef.current?.focus();
|
|
65
60
|
setActive(true);
|
|
66
|
-
onDragStart
|
|
61
|
+
onDragStart?.(event);
|
|
67
62
|
});
|
|
68
63
|
const onMouseEnter = useEventCallback(() => {
|
|
69
64
|
setTooltipPosition();
|
package/esm/Slider/utils.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
export declare const precisionMath: (value: any) => number;
|
|
3
|
-
export declare function checkValue<T extends number | undefined | null>(value: T, min: number, max: number): number | T;
|
|
2
|
+
export declare function checkValue<T extends number | undefined | null>(value: T, min: number, max: number): number | (T & undefined);
|
|
4
3
|
export declare function getPosition(e: React.MouseEvent | React.TouchEvent): {
|
|
5
4
|
pageX: number;
|
|
6
5
|
pageY: number;
|
package/esm/Slider/utils.js
CHANGED
|
@@ -13,7 +13,6 @@ export function checkValue(value, min, max) {
|
|
|
13
13
|
return value;
|
|
14
14
|
}
|
|
15
15
|
export function getPosition(e) {
|
|
16
|
-
var _event, _event2;
|
|
17
16
|
let event = 'touches' in e ? e.touches[0] : e;
|
|
18
17
|
|
|
19
18
|
// For touchend event, we need to use `changedTouches` instead of `touches`
|
|
@@ -21,7 +20,7 @@ export function getPosition(e) {
|
|
|
21
20
|
event = e.changedTouches[0];
|
|
22
21
|
}
|
|
23
22
|
return {
|
|
24
|
-
pageX:
|
|
25
|
-
pageY:
|
|
23
|
+
pageX: event?.pageX || 0,
|
|
24
|
+
pageY: event?.pageY || 0
|
|
26
25
|
};
|
|
27
26
|
}
|
package/esm/Steps/StepItem.js
CHANGED
|
@@ -17,7 +17,6 @@ const STEP_STATUS_ICON = {
|
|
|
17
17
|
* @see https://rsuitejs.com/components/steps
|
|
18
18
|
*/
|
|
19
19
|
const StepItem = forwardRef((props, ref) => {
|
|
20
|
-
var _STEP_STATUS_ICON$sta;
|
|
21
20
|
const {
|
|
22
21
|
as: Component = 'div',
|
|
23
22
|
className,
|
|
@@ -43,7 +42,7 @@ const StepItem = forwardRef((props, ref) => {
|
|
|
43
42
|
className: prefix('icon', {
|
|
44
43
|
[`icon-${status}`]: status
|
|
45
44
|
})
|
|
46
|
-
}, status ?
|
|
45
|
+
}, status ? STEP_STATUS_ICON[status] ?? stepNumber : stepNumber);
|
|
47
46
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
48
47
|
ref: ref,
|
|
49
48
|
className: classes,
|
package/esm/Table/Table.d.ts
CHANGED
|
@@ -12,11 +12,11 @@ export interface CellProps<Row extends RowDataType> extends Omit<TableCellProps<
|
|
|
12
12
|
*
|
|
13
13
|
* @see https://rsuitejs.com/components/table/
|
|
14
14
|
*/
|
|
15
|
-
declare const Table: (<Row extends RowDataType
|
|
15
|
+
declare const Table: (<Row extends RowDataType, Key extends RowKeyType>(props: TableProps<Row, Key> & React.RefAttributes<TableInstance<Row, Key>>) => React.ReactElement) & {
|
|
16
16
|
/**
|
|
17
17
|
* The `Table.Cell` component is used to display data in a table cell.
|
|
18
18
|
*/
|
|
19
|
-
Cell: <
|
|
19
|
+
Cell: <Row extends RowDataType, Key extends RowKeyType>(props: import("rsuite-table/lib/Cell").InnerCellProps<Row, Key> & React.RefAttributes<HTMLDivElement>) => React.ReactElement;
|
|
20
20
|
/**
|
|
21
21
|
* The `Table.Column` component is used to define a column in a table.
|
|
22
22
|
*/
|
|
@@ -24,7 +24,7 @@ declare const Table: (<Row extends RowDataType<any>, Key extends RowKeyType>(pro
|
|
|
24
24
|
/**
|
|
25
25
|
* The `Table.HeaderCell` component is used to define a header cell in a table.
|
|
26
26
|
*/
|
|
27
|
-
HeaderCell: <
|
|
27
|
+
HeaderCell: <Row extends RowDataType, Key extends RowKeyType>(props: import("rsuite-table").HeaderCellProps<Row, Key> & React.RefAttributes<HTMLDivElement>) => React.ReactElement;
|
|
28
28
|
/**
|
|
29
29
|
* The `Table.ColumnGroup` component is used to define a column group in a table.
|
|
30
30
|
*/
|
package/esm/Tabs/Tabs.js
CHANGED
|
@@ -13,7 +13,7 @@ import { useStyles, useCustom, useControlled, useEventCallback, useUniqueId } fr
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
function getFocusableTabs(tablist) {
|
|
16
|
-
const tabs = tablist
|
|
16
|
+
const tabs = tablist?.querySelectorAll('[role=tab]');
|
|
17
17
|
return Array.from(tabs).filter(tab => !(tab.getAttribute('aria-disabled') === 'true'));
|
|
18
18
|
}
|
|
19
19
|
function getFocusedTab(tablist) {
|
|
@@ -137,10 +137,9 @@ const Tabs = forwardRef((props, ref) => {
|
|
|
137
137
|
const tablistRef = React.useRef(null);
|
|
138
138
|
const handleSelect = useEventCallback((eventKey, event) => {
|
|
139
139
|
setActiveKey(eventKey);
|
|
140
|
-
onSelect
|
|
140
|
+
onSelect?.(eventKey, event);
|
|
141
141
|
});
|
|
142
142
|
const handleKeyDown = useEventCallback(event => {
|
|
143
|
-
var _getFocusableTabs;
|
|
144
143
|
const target = event.target;
|
|
145
144
|
if (target.getAttribute('role') !== 'tab') {
|
|
146
145
|
return;
|
|
@@ -162,7 +161,7 @@ const Tabs = forwardRef((props, ref) => {
|
|
|
162
161
|
event.preventDefault();
|
|
163
162
|
break;
|
|
164
163
|
case 'Home':
|
|
165
|
-
item =
|
|
164
|
+
item = getFocusableTabs(tablistRef.current)?.[0];
|
|
166
165
|
event.preventDefault();
|
|
167
166
|
break;
|
|
168
167
|
case 'End':
|
|
@@ -11,12 +11,12 @@ const TimePicker = forwardRef((props, ref) => {
|
|
|
11
11
|
} = useCustom('TimePicker', props);
|
|
12
12
|
const locale = getLocale('DateTimeFormats');
|
|
13
13
|
const defaultRanges = useMemo(() => [{
|
|
14
|
-
label: locale
|
|
14
|
+
label: locale?.now,
|
|
15
15
|
value: () => new Date()
|
|
16
16
|
}], [locale]);
|
|
17
17
|
return /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
18
18
|
ref: ref,
|
|
19
|
-
format: locale
|
|
19
|
+
format: locale?.shortTimeFormat,
|
|
20
20
|
ranges: defaultRanges
|
|
21
21
|
}, propsWithDefaults));
|
|
22
22
|
});
|
|
@@ -7,6 +7,11 @@ export interface TimelineProps extends BoxProps {
|
|
|
7
7
|
align?: 'left' | 'right' | 'alternate';
|
|
8
8
|
/** Timeline endless **/
|
|
9
9
|
endless?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Reverse the order of Timeline items
|
|
12
|
+
* @version 6.2.0
|
|
13
|
+
**/
|
|
14
|
+
reverse?: boolean;
|
|
10
15
|
/**
|
|
11
16
|
* Whether an item is active (with highlighted dot).
|
|
12
17
|
*
|
|
@@ -22,7 +27,7 @@ export interface TimelineProps extends BoxProps {
|
|
|
22
27
|
*/
|
|
23
28
|
declare const Timeline: import("../internals/types").InternalRefForwardingComponent<"div", TimelineProps, never> & {
|
|
24
29
|
Item: import("../internals/types").InternalRefForwardingComponent<"div", import("./TimelineItem").TimelineItemProps, never> & Record<string, never>;
|
|
25
|
-
ACTIVE_FIRST: (index: number) =>
|
|
30
|
+
ACTIVE_FIRST: (index: number) => index is 0;
|
|
26
31
|
ACTIVE_LAST: (index: number, totalItemsCount: number) => boolean;
|
|
27
32
|
};
|
|
28
33
|
export default Timeline;
|
package/esm/Timeline/Timeline.js
CHANGED
|
@@ -30,6 +30,7 @@ const Timeline = forwardRef((props, ref) => {
|
|
|
30
30
|
className,
|
|
31
31
|
align = 'left',
|
|
32
32
|
endless,
|
|
33
|
+
reverse,
|
|
33
34
|
isItemActive = ACTIVE_LAST,
|
|
34
35
|
...rest
|
|
35
36
|
} = propsWithDefaults;
|
|
@@ -38,23 +39,26 @@ const Timeline = forwardRef((props, ref) => {
|
|
|
38
39
|
withPrefix
|
|
39
40
|
} = useStyles(classPrefix);
|
|
40
41
|
const count = rch.count(children);
|
|
41
|
-
const withTime = some(React.Children.toArray(children), item =>
|
|
42
|
-
var _item$props;
|
|
43
|
-
return item === null || item === void 0 || (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.time;
|
|
44
|
-
});
|
|
42
|
+
const withTime = some(React.Children.toArray(children), item => item?.props?.time);
|
|
45
43
|
const classes = merge(className, withPrefix(`align-${align}`, {
|
|
46
44
|
endless,
|
|
47
|
-
'with-time': withTime
|
|
45
|
+
'with-time': withTime,
|
|
46
|
+
reverse
|
|
48
47
|
}));
|
|
48
|
+
const childrenArray = React.Children.toArray(children);
|
|
49
|
+
const orderedChildren = reverse ? [...childrenArray].reverse() : childrenArray;
|
|
49
50
|
return /*#__PURE__*/React.createElement(Box, _extends({
|
|
50
51
|
as: as,
|
|
51
52
|
ref: ref,
|
|
52
53
|
className: classes
|
|
53
|
-
}, rest),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
}, rest), orderedChildren.map((child, domIndex) => {
|
|
55
|
+
const logicalIndex = reverse ? count - 1 - domIndex : domIndex;
|
|
56
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
57
|
+
last: logicalIndex + 1 === count,
|
|
58
|
+
INTERNAL_active: isItemActive(logicalIndex, count),
|
|
59
|
+
align
|
|
60
|
+
});
|
|
61
|
+
}));
|
|
58
62
|
}, SubcomponentsAndStaticMethods);
|
|
59
63
|
Timeline.displayName = 'Timeline';
|
|
60
64
|
export default Timeline;
|
package/esm/Toggle/Toggle.js
CHANGED
|
@@ -45,7 +45,7 @@ const Toggle = forwardRef((props, ref) => {
|
|
|
45
45
|
} = useStyles(classPrefix);
|
|
46
46
|
const classes = merge(className, withPrefix({}));
|
|
47
47
|
const inner = checked ? checkedChildren : unCheckedChildren;
|
|
48
|
-
const innerLabel = checked ? locale
|
|
48
|
+
const innerLabel = checked ? locale?.on : locale?.off;
|
|
49
49
|
const labelId = useUniqueId('rs-label');
|
|
50
50
|
const innerId = inner ? labelId + '-inner' : undefined;
|
|
51
51
|
const labelledby = label ? labelId : innerId;
|
|
@@ -58,7 +58,7 @@ const Toggle = forwardRef((props, ref) => {
|
|
|
58
58
|
checked
|
|
59
59
|
} = e.target;
|
|
60
60
|
setChecked(checked);
|
|
61
|
-
onChange
|
|
61
|
+
onChange?.(checked, e);
|
|
62
62
|
});
|
|
63
63
|
if (plaintext) {
|
|
64
64
|
return /*#__PURE__*/React.createElement(Plaintext, null, inner || innerLabel);
|
package/esm/Tree/Tree.js
CHANGED
|
@@ -65,8 +65,8 @@ const Tree = forwardRef((props, ref) => {
|
|
|
65
65
|
});
|
|
66
66
|
const handleSelect = useEventCallback((nodeData, nextValue, event) => {
|
|
67
67
|
setValue(nextValue);
|
|
68
|
-
onSelect
|
|
69
|
-
onChange
|
|
68
|
+
onSelect?.(nodeData, nextValue, event);
|
|
69
|
+
onChange?.(nextValue, event);
|
|
70
70
|
});
|
|
71
71
|
const treeContext = useMemo(() => ({
|
|
72
72
|
props: {
|
package/esm/Tree/TreeNode.js
CHANGED
|
@@ -55,43 +55,42 @@ const TreeNode = forwardRef((props, ref) => {
|
|
|
55
55
|
} = useStyles(classPrefix);
|
|
56
56
|
const labelStr = useMemo(() => stringifyReactNode(label), [label]);
|
|
57
57
|
const handleExpand = useEventCallback(event => {
|
|
58
|
-
var _event$nativeEvent, _event$nativeEvent$st;
|
|
59
58
|
// Stop propagation when using custom loading icon
|
|
60
|
-
event
|
|
59
|
+
event?.nativeEvent?.stopImmediatePropagation?.();
|
|
61
60
|
event.stopPropagation();
|
|
62
|
-
onExpand
|
|
61
|
+
onExpand?.(nodeData, expanded);
|
|
63
62
|
});
|
|
64
63
|
const handleSelect = useEventCallback(event => {
|
|
65
64
|
if (disabled) {
|
|
66
65
|
return;
|
|
67
66
|
}
|
|
68
|
-
onSelect
|
|
67
|
+
onSelect?.(nodeData, event);
|
|
69
68
|
});
|
|
70
69
|
const handleDragStart = useEventCallback(event => {
|
|
71
|
-
onDragStart
|
|
70
|
+
onDragStart?.(nodeData, event);
|
|
72
71
|
});
|
|
73
72
|
const handleDragEnter = useEventCallback(event => {
|
|
74
73
|
event.preventDefault();
|
|
75
74
|
event.stopPropagation();
|
|
76
|
-
onDragEnter
|
|
75
|
+
onDragEnter?.(nodeData, event);
|
|
77
76
|
});
|
|
78
77
|
const handleDragOver = useEventCallback(event => {
|
|
79
78
|
event.preventDefault();
|
|
80
79
|
event.stopPropagation();
|
|
81
|
-
onDragOver
|
|
80
|
+
onDragOver?.(nodeData, event);
|
|
82
81
|
});
|
|
83
82
|
const handleDragLeave = useEventCallback(event => {
|
|
84
83
|
event.stopPropagation();
|
|
85
|
-
onDragLeave
|
|
84
|
+
onDragLeave?.(nodeData, event);
|
|
86
85
|
});
|
|
87
86
|
const handleDragEnd = useEventCallback(event => {
|
|
88
87
|
event.stopPropagation();
|
|
89
|
-
onDragEnd
|
|
88
|
+
onDragEnd?.(nodeData, event);
|
|
90
89
|
});
|
|
91
90
|
const handleDrop = useEventCallback(event => {
|
|
92
91
|
event.preventDefault();
|
|
93
92
|
event.stopPropagation();
|
|
94
|
-
onDrop
|
|
93
|
+
onDrop?.(nodeData, event);
|
|
95
94
|
});
|
|
96
95
|
const classes = merge(className, withPrefix({
|
|
97
96
|
disabled,
|
|
@@ -112,7 +111,7 @@ const TreeNode = forwardRef((props, ref) => {
|
|
|
112
111
|
"aria-disabled": disabled,
|
|
113
112
|
"aria-selected": active,
|
|
114
113
|
"data-layer": layer,
|
|
115
|
-
"data-key":
|
|
114
|
+
"data-key": nodeData?.refKey || '',
|
|
116
115
|
title: labelStr,
|
|
117
116
|
className: classes,
|
|
118
117
|
style: styles,
|
package/esm/Tree/TreeView.js
CHANGED
|
@@ -82,7 +82,7 @@ const TreeView = forwardRef((props, ref) => {
|
|
|
82
82
|
withPrefix
|
|
83
83
|
} = useStyles(classPrefix);
|
|
84
84
|
const handleSearchCallback = useEventCallback((value, _data, event) => {
|
|
85
|
-
onSearch
|
|
85
|
+
onSearch?.(value, event);
|
|
86
86
|
});
|
|
87
87
|
const {
|
|
88
88
|
filteredData,
|
|
@@ -103,7 +103,7 @@ const TreeView = forwardRef((props, ref) => {
|
|
|
103
103
|
if (virtualized) {
|
|
104
104
|
return transformation().filter(n => n.visible);
|
|
105
105
|
}
|
|
106
|
-
return filteredData.map((dataItem, index) => render
|
|
106
|
+
return filteredData.map((dataItem, index) => render?.(dataItem, index, 1)).filter(n => n);
|
|
107
107
|
};
|
|
108
108
|
useEffect(() => {
|
|
109
109
|
setFilteredData(data, keyword);
|
|
@@ -162,8 +162,8 @@ const TreeView = forwardRef((props, ref) => {
|
|
|
162
162
|
const nextValue = nodeData[valueKey];
|
|
163
163
|
const path = getPathTowardsItem(nodeData, item => itemParentMap.get(item[valueKey]));
|
|
164
164
|
setFocusItemValue(nextValue);
|
|
165
|
-
onSelect
|
|
166
|
-
onSelectItem
|
|
165
|
+
onSelect?.(nodeData, nextValue, event);
|
|
166
|
+
onSelectItem?.(nodeData, path);
|
|
167
167
|
});
|
|
168
168
|
const selectActiveItem = useEventCallback(event => {
|
|
169
169
|
if (isNil(focusItemValue)) return;
|
|
@@ -208,7 +208,7 @@ const TreeView = forwardRef((props, ref) => {
|
|
|
208
208
|
})), /*#__PURE__*/React.createElement("div", {
|
|
209
209
|
className: prefix('group'),
|
|
210
210
|
role: "group"
|
|
211
|
-
}, children
|
|
211
|
+
}, children?.map((child, i) => renderNode(child, i, layer)), showIndentLine && /*#__PURE__*/React.createElement(IndentLine, null)));
|
|
212
212
|
}
|
|
213
213
|
return /*#__PURE__*/React.createElement(TreeViewNode, _extends({
|
|
214
214
|
ref: ref => saveTreeNodeRef(ref, node.refKey),
|
|
@@ -49,7 +49,7 @@ function useExpandTree(data, props) {
|
|
|
49
49
|
valueKey
|
|
50
50
|
});
|
|
51
51
|
setExpandItemValues(nextExpandItemValues);
|
|
52
|
-
onExpand
|
|
52
|
+
onExpand?.(nextExpandItemValues, node, createConcatChildrenFunction(node, node[valueKey], {
|
|
53
53
|
valueKey,
|
|
54
54
|
childrenKey
|
|
55
55
|
}));
|
|
@@ -86,27 +86,24 @@ function useFlattenTree(data, options) {
|
|
|
86
86
|
}
|
|
87
87
|
flattenTreeData(node[childrenKey], node, layer + 1);
|
|
88
88
|
});
|
|
89
|
-
callback
|
|
89
|
+
callback?.(flattenedNodes.current);
|
|
90
90
|
forceUpdate();
|
|
91
91
|
}, [callback, forceUpdate, valueKey, labelKey, uncheckableItemValues, childrenKey]);
|
|
92
92
|
useEffect(() => {
|
|
93
|
-
// when data is changed, should clear the flattenedNodes, avoid duplicate keys
|
|
94
93
|
flattenedNodes.current = {};
|
|
95
94
|
seenValues.current.clear();
|
|
96
95
|
flattenTreeData(data);
|
|
96
|
+
if (multiple) {
|
|
97
|
+
updateTreeNodeCheckState(value);
|
|
98
|
+
forceUpdate();
|
|
99
|
+
}
|
|
97
100
|
}, [data]);
|
|
98
101
|
useEffect(() => {
|
|
99
102
|
if (multiple) {
|
|
100
103
|
updateTreeNodeCheckState(value);
|
|
101
104
|
forceUpdate();
|
|
102
105
|
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Add a dependency on data, because when loading data asynchronously through getChildren,
|
|
106
|
-
* data may change and the node status needs to be updated.
|
|
107
|
-
* @see https://github.com/rsuite/rsuite/issues/3973
|
|
108
|
-
*/
|
|
109
|
-
}, [value, data]);
|
|
106
|
+
}, [value]);
|
|
110
107
|
return flattenedNodes.current;
|
|
111
108
|
}
|
|
112
109
|
export default useFlattenTree;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { TreeNode } from '../../internals/Tree/types';
|
|
3
2
|
interface UseFocusTreeProps<T extends TreeNode> {
|
|
4
3
|
filteredData: T[];
|
|
@@ -17,7 +16,7 @@ declare function useFocusTree(props: UseFocusTreeProps<TreeNode>): {
|
|
|
17
16
|
focusTreeFirstNode: (...args: any[]) => any;
|
|
18
17
|
focusItemValue: string | number | null | undefined;
|
|
19
18
|
treeNodesRefs: {};
|
|
20
|
-
saveTreeNodeRef: (ref: any, refKey?: string
|
|
19
|
+
saveTreeNodeRef: (ref: any, refKey?: string) => void;
|
|
21
20
|
setFocusItemValue: import("react").Dispatch<import("react").SetStateAction<string | number | null | undefined>>;
|
|
22
21
|
onTreeKeydown: (...args: any[]) => any;
|
|
23
22
|
};
|
|
@@ -60,7 +60,7 @@ function useFocusTree(props) {
|
|
|
60
60
|
}
|
|
61
61
|
if (focusedValue) {
|
|
62
62
|
setFocusItemValue(focusedValue);
|
|
63
|
-
onFocused
|
|
63
|
+
onFocused?.(focusedValue);
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
66
|
const handleLeftArrowEvent = useEventCallback(() => {
|
|
@@ -68,13 +68,12 @@ function useFocusTree(props) {
|
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
70
|
const focusItem = getActiveItem(focusItemValue, flattenedNodes, valueKey);
|
|
71
|
-
const expand = expandItemValues.includes(focusItem
|
|
71
|
+
const expand = expandItemValues.includes(focusItem?.[valueKey]);
|
|
72
72
|
const onFocusItem = () => {
|
|
73
|
-
|
|
74
|
-
const focusedValue = focusItem === null || focusItem === void 0 || (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey];
|
|
73
|
+
const focusedValue = focusItem?.parent?.[valueKey];
|
|
75
74
|
setFocusItemValue(focusedValue);
|
|
76
|
-
onFocused
|
|
77
|
-
focusTreeNode(focusItem
|
|
75
|
+
onFocused?.(focusedValue);
|
|
76
|
+
focusTreeNode(focusItem?.parent?.refKey, treeNodesRefs);
|
|
78
77
|
};
|
|
79
78
|
handleLeftArrow({
|
|
80
79
|
focusItem,
|
|
@@ -89,7 +88,7 @@ function useFocusTree(props) {
|
|
|
89
88
|
return;
|
|
90
89
|
}
|
|
91
90
|
const focusItem = getActiveItem(focusItemValue, flattenedNodes, valueKey);
|
|
92
|
-
const expand = expandItemValues.includes(focusItem
|
|
91
|
+
const expand = expandItemValues.includes(focusItem?.[valueKey]);
|
|
93
92
|
const onFocusItem = () => handleFocusItem(KEY_VALUES.DOWN);
|
|
94
93
|
handleRightArrow({
|
|
95
94
|
focusItem,
|
|
@@ -104,7 +103,7 @@ function useFocusTree(props) {
|
|
|
104
103
|
const focusedValue = focusFirstItem(focusProps);
|
|
105
104
|
if (focusedValue) {
|
|
106
105
|
setFocusItemValue(focusedValue);
|
|
107
|
-
onFocused
|
|
106
|
+
onFocused?.(focusedValue);
|
|
108
107
|
}
|
|
109
108
|
});
|
|
110
109
|
const handleEndKey = useEventCallback(() => {
|
|
@@ -112,7 +111,7 @@ function useFocusTree(props) {
|
|
|
112
111
|
const focusedValue = focusLastItem(focusProps);
|
|
113
112
|
if (focusedValue) {
|
|
114
113
|
setFocusItemValue(focusedValue);
|
|
115
|
-
onFocused
|
|
114
|
+
onFocused?.(focusedValue);
|
|
116
115
|
}
|
|
117
116
|
});
|
|
118
117
|
const onTreeKeydown = useEventCallback(event => {
|
|
@@ -133,21 +132,20 @@ function useFocusTree(props) {
|
|
|
133
132
|
container: treeViewRef.current
|
|
134
133
|
});
|
|
135
134
|
if (refKey) {
|
|
136
|
-
|
|
137
|
-
const node = (_flattenedNodesRef$cu = flattenedNodesRef.current) === null || _flattenedNodesRef$cu === void 0 ? void 0 : _flattenedNodesRef$cu[refKey];
|
|
135
|
+
const node = flattenedNodesRef.current?.[refKey];
|
|
138
136
|
if (node) {
|
|
139
137
|
setFocusItemValue(node[valueKey]);
|
|
140
|
-
onFocused
|
|
138
|
+
onFocused?.(node[valueKey]);
|
|
141
139
|
}
|
|
142
140
|
}
|
|
143
141
|
}, [onFocused, valueKey]);
|
|
144
142
|
useEffect(() => {
|
|
145
|
-
const unregister = register
|
|
143
|
+
const unregister = register?.({
|
|
146
144
|
focusTreeFirstNode,
|
|
147
145
|
focusTreeActiveNode
|
|
148
146
|
});
|
|
149
147
|
return () => {
|
|
150
|
-
unregister
|
|
148
|
+
unregister?.();
|
|
151
149
|
};
|
|
152
150
|
}, []);
|
|
153
151
|
useEffect(() => {
|
|
@@ -60,9 +60,8 @@ function createDragPreview(name, className) {
|
|
|
60
60
|
* Removes the drag preview element from the DOM.
|
|
61
61
|
*/
|
|
62
62
|
function removeDragPreview() {
|
|
63
|
-
var _dragPreview$parentNo, _dragPreview$parentNo2;
|
|
64
63
|
const dragPreview = document.getElementById('rs-tree-drag-preview');
|
|
65
|
-
dragPreview
|
|
64
|
+
dragPreview?.parentNode?.removeChild?.(dragPreview);
|
|
66
65
|
}
|
|
67
66
|
/**
|
|
68
67
|
* Custom hook for handling tree node dragging.
|
|
@@ -101,7 +100,7 @@ export default function useTreeDrag(props) {
|
|
|
101
100
|
const getDragNodeKeys = useCallback(dragNode => {
|
|
102
101
|
let dragNodeKeys = [dragNode[valueKey]];
|
|
103
102
|
const traverse = data => {
|
|
104
|
-
if (
|
|
103
|
+
if (data?.length > 0) {
|
|
105
104
|
data.forEach(node => {
|
|
106
105
|
dragNodeKeys = dragNodeKeys.concat([node[valueKey]]);
|
|
107
106
|
if (node[childrenKey]) {
|
|
@@ -197,12 +196,11 @@ export default function useTreeDrag(props) {
|
|
|
197
196
|
}, [createDragTreeDataFunction, dropNodePosition]);
|
|
198
197
|
const handleDragStart = useEventCallback((nodeData, event) => {
|
|
199
198
|
if (draggable) {
|
|
200
|
-
var _event$dataTransfer;
|
|
201
199
|
const dragMoverNode = createDragPreview(stringifyReactNode(nodeData[labelKey]), prefix('drag-preview'));
|
|
202
|
-
|
|
200
|
+
event.dataTransfer?.setDragImage(dragMoverNode, 0, 0);
|
|
203
201
|
setDragNodeKeys(getDragNodeKeys(nodeData));
|
|
204
202
|
setDragNode(flattenedNodes[nodeData.refKey]);
|
|
205
|
-
onDragStart
|
|
203
|
+
onDragStart?.(nodeData, event);
|
|
206
204
|
}
|
|
207
205
|
});
|
|
208
206
|
const handleDragEnter = useEventCallback((nodeData, event) => {
|
|
@@ -213,7 +211,7 @@ export default function useTreeDrag(props) {
|
|
|
213
211
|
setDragOverNodeKey(nodeData[valueKey]);
|
|
214
212
|
setDropNodePosition(calDropNodePosition(event, treeNodesRefs[nodeData.refKey]));
|
|
215
213
|
}
|
|
216
|
-
onDragEnter
|
|
214
|
+
onDragEnter?.(nodeData, event);
|
|
217
215
|
});
|
|
218
216
|
const handleDragOver = useEventCallback((nodeData, event) => {
|
|
219
217
|
if (dragNodeKeys.some(d => equal(d, nodeData[valueKey]))) {
|
|
@@ -225,24 +223,24 @@ export default function useTreeDrag(props) {
|
|
|
225
223
|
if (lastDropNodePosition === dropNodePosition) return;
|
|
226
224
|
setDropNodePosition(lastDropNodePosition);
|
|
227
225
|
}
|
|
228
|
-
onDragOver
|
|
226
|
+
onDragOver?.(nodeData, event);
|
|
229
227
|
});
|
|
230
228
|
const handleDragLeave = useEventCallback((nodeData, event) => {
|
|
231
|
-
onDragLeave
|
|
229
|
+
onDragLeave?.(nodeData, event);
|
|
232
230
|
});
|
|
233
231
|
const handleDragEnd = useEventCallback((nodeData, event) => {
|
|
234
232
|
removeDragPreview();
|
|
235
233
|
setDragNode(null);
|
|
236
234
|
setDragNodeKeys([]);
|
|
237
235
|
setDragOverNodeKey(null);
|
|
238
|
-
onDragEnd
|
|
236
|
+
onDragEnd?.(nodeData, event);
|
|
239
237
|
});
|
|
240
238
|
const handleDrop = useEventCallback((nodeData, event) => {
|
|
241
239
|
if (dragNodeKeys.some(d => equal(d, nodeData[valueKey]))) {
|
|
242
240
|
console.error('Cannot drag a node to itself and its children');
|
|
243
241
|
} else {
|
|
244
242
|
const dropData = getDropData(nodeData);
|
|
245
|
-
onDrop
|
|
243
|
+
onDrop?.(dropData, event);
|
|
246
244
|
}
|
|
247
245
|
removeDragPreview();
|
|
248
246
|
setDragNode(null);
|
|
@@ -258,7 +256,7 @@ export default function useTreeDrag(props) {
|
|
|
258
256
|
onDrop: handleDrop
|
|
259
257
|
};
|
|
260
258
|
return {
|
|
261
|
-
dragNode: dragNode
|
|
259
|
+
dragNode: dragNode?.current,
|
|
262
260
|
dragOverNodeKey,
|
|
263
261
|
dropNodePosition,
|
|
264
262
|
dragEvents
|
|
@@ -33,7 +33,7 @@ function useTreeNodeProps(props) {
|
|
|
33
33
|
const {
|
|
34
34
|
visible
|
|
35
35
|
} = nodeData;
|
|
36
|
-
const draggingNode = dragNode
|
|
36
|
+
const draggingNode = dragNode ?? {};
|
|
37
37
|
const nodeValue = nodeData[valueKey];
|
|
38
38
|
const nodeLabel = nodeData[labelKey];
|
|
39
39
|
const children = nodeData[childrenKey];
|
|
@@ -34,21 +34,21 @@ export default function useTreeSearch(props) {
|
|
|
34
34
|
}, [childrenKey, labelKey, searchBy]);
|
|
35
35
|
|
|
36
36
|
// Use search keywords to filter options.
|
|
37
|
-
const [keyword, setSearchKeyword] = useState(searchKeyword
|
|
37
|
+
const [keyword, setSearchKeyword] = useState(searchKeyword ?? '');
|
|
38
38
|
const [filteredData, setFilteredData] = useState(() => filterVisibleData(data, keyword));
|
|
39
39
|
const handleSearch = (searchKeyword, event) => {
|
|
40
40
|
const filteredData = filterVisibleData(data, searchKeyword);
|
|
41
41
|
setFilteredData(filteredData);
|
|
42
42
|
setSearchKeyword(searchKeyword);
|
|
43
43
|
if (event) {
|
|
44
|
-
callback
|
|
44
|
+
callback?.(searchKeyword, filteredData, event);
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
useEffect(() => {
|
|
48
|
-
handleSearch(searchKeyword
|
|
48
|
+
handleSearch(searchKeyword ?? '');
|
|
49
49
|
}, [searchKeyword]);
|
|
50
50
|
useEffect(() => {
|
|
51
|
-
setSearchKeyword(searchKeyword
|
|
51
|
+
setSearchKeyword(searchKeyword ?? '');
|
|
52
52
|
}, [searchKeyword, setSearchKeyword]);
|
|
53
53
|
const setVisibleData = useCallback((data, searchKeyword) => {
|
|
54
54
|
setFilteredData(filterVisibleData(data, searchKeyword));
|
|
@@ -35,14 +35,14 @@ function useVirtualizedTreeData(nodes, data, options) {
|
|
|
35
35
|
} = options;
|
|
36
36
|
return UNSAFE_flattenTree(data, childrenKey, node => {
|
|
37
37
|
let formatted = {};
|
|
38
|
-
const curNode = nodes
|
|
38
|
+
const curNode = nodes?.[node.refKey];
|
|
39
39
|
const parentKeys = getNodeParentKeys(nodes, curNode, valueKey);
|
|
40
40
|
/**
|
|
41
41
|
* When using virtualized,
|
|
42
42
|
* if the parent node is collapsed, the child nodes should be hidden
|
|
43
43
|
* avoid component height calculation errors
|
|
44
44
|
*/
|
|
45
|
-
let visible = curNode
|
|
45
|
+
let visible = curNode?.parent ? shouldShowNodeByParentExpanded(expandItemValues, parentKeys) : true;
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* when searching, every node default expand
|