rsuite 6.0.0-canary-2025032014 → 6.0.0-canary-20250416
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/AutoComplete/styles/index.css +112 -62
- package/AutoComplete/styles/index.less +1 -1
- package/Box/styles/index.css +12 -0
- package/CHANGELOG.md +24 -0
- package/Calendar/styles/index.css +11 -9
- package/Calendar/styles/index.less +3 -1
- package/Cascader/styles/index.css +112 -62
- package/CheckPicker/styles/index.css +112 -62
- package/CheckPicker/styles/index.less +1 -1
- package/CheckTree/styles/index.css +113 -63
- package/CheckTree/styles/index.less +1 -1
- package/CheckTreePicker/styles/index.css +113 -63
- package/DateInput/styles/index.css +0 -7
- package/DatePicker/styles/index.css +122 -74
- package/DatePicker/styles/index.less +5 -11
- package/DateRangeInput/styles/index.css +0 -7
- package/DateRangePicker/styles/index.css +132 -78
- package/DateRangePicker/styles/index.less +10 -4
- package/Divider/styles/index.css +2 -2
- package/Divider/styles/index.less +2 -2
- package/Grid/styles/columns.less +1 -2
- package/Grid/styles/grid-framework.less +1 -0
- package/Grid/styles/index.css +9 -4
- package/Grid/styles/row.less +2 -2
- package/Input/styles/index.css +0 -7
- package/Input/styles/index.less +0 -6
- package/Input/styles/mixin.less +0 -4
- package/InputGroup/styles/index.css +1 -1
- package/InputGroup/styles/index.less +1 -1
- package/InputNumber/styles/index.css +1 -8
- package/InputPicker/styles/index.css +121 -70
- package/InputPicker/styles/index.less +4 -4
- package/Link/package.json +7 -0
- package/Link/styles/index.css +32 -0
- package/Link/styles/index.less +39 -0
- package/Message/styles/index.css +9 -0
- package/Message/styles/index.less +11 -0
- package/MultiCascadeTree/styles/index.css +112 -62
- package/MultiCascader/styles/index.css +112 -62
- package/Nav/styles/index.css +1 -0
- package/Nav/styles/index.less +1 -0
- package/Pagination/styles/index.css +114 -64
- package/PasswordInput/package.json +7 -0
- package/PasswordInput/styles/index.css +172 -0
- package/PasswordInput/styles/index.less +1 -0
- package/PasswordStrengthMeter/package.json +7 -0
- package/PasswordStrengthMeter/styles/index.css +33 -0
- package/PasswordStrengthMeter/styles/index.less +39 -0
- package/README.md +3 -3
- package/RadioGroup/styles/index.css +1 -0
- package/RadioGroup/styles/index.less +1 -0
- package/RangeSlider/styles/index.css +76 -43
- package/Rate/styles/index.css +48 -34
- package/Rate/styles/index.less +32 -21
- package/SelectPicker/styles/index.css +112 -62
- package/SelectPicker/styles/index.less +1 -1
- package/Slider/styles/index.css +76 -43
- package/Slider/styles/index.less +95 -48
- package/Tabs/styles/index.css +1 -0
- package/TagInput/styles/index.css +152 -91
- package/TagInput/styles/index.less +1 -1
- package/TagPicker/styles/index.css +151 -90
- package/TagPicker/styles/index.less +52 -41
- package/Textarea/package.json +7 -0
- package/Textarea/styles/index.css +6 -0
- package/Textarea/styles/index.less +7 -0
- package/TimePicker/styles/index.css +122 -74
- package/TimeRangePicker/styles/index.css +132 -78
- package/Toggle/styles/index.css +146 -87
- package/Toggle/styles/index.less +66 -38
- package/Tree/styles/index.css +113 -63
- package/Tree/styles/index.less +1 -1
- package/TreePicker/styles/index.css +113 -63
- package/cjs/AutoComplete/AutoComplete.d.ts +1 -1
- package/cjs/AutoComplete/AutoComplete.js +13 -11
- package/cjs/Avatar/Avatar.d.ts +3 -4
- package/cjs/Breadcrumb/Breadcrumb.js +2 -2
- package/cjs/Breadcrumb/BreadcrumbItem.js +1 -1
- package/cjs/Button/Button.js +9 -10
- package/cjs/Calendar/CalendarProvider.js +0 -0
- package/cjs/Calendar/hooks/useCalendar.js +0 -0
- package/cjs/Carousel/Carousel.js +2 -2
- package/cjs/Cascader/Cascader.js +42 -45
- package/cjs/Cascader/useActive.d.ts +6 -4
- package/cjs/Cascader/useActive.js +10 -8
- package/cjs/CheckPicker/CheckPicker.js +38 -41
- package/cjs/CheckTreePicker/CheckTreePicker.js +20 -22
- package/cjs/CustomProvider/CustomProvider.d.ts +1 -4
- package/cjs/CustomProvider/types.d.ts +10 -2
- package/cjs/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/DatePicker/DatePicker.js +28 -25
- package/cjs/DatePicker/utils.d.ts +3 -3
- package/cjs/DatePicker/utils.js +3 -3
- package/cjs/DateRangePicker/DateRangePicker.js +39 -33
- package/cjs/DateRangePicker/utils.js +0 -0
- package/cjs/Divider/Divider.d.ts +3 -2
- package/cjs/Divider/Divider.js +2 -2
- package/cjs/Form/hooks/useFormValidate.js +0 -0
- package/cjs/Form/hooks/useSchemaModel.js +2 -54
- package/cjs/Form/utils/constructFlatSchema.d.ts +4 -0
- package/cjs/Form/utils/constructFlatSchema.js +41 -0
- package/cjs/FormControl/hooks/useField.js +0 -0
- package/cjs/FormControl/utils.js +0 -0
- package/cjs/Grid/Row.d.ts +2 -2
- package/cjs/Grid/Row.js +2 -20
- package/cjs/Grid/types.d.ts +1 -0
- package/cjs/Grid/utils/styles.d.ts +6 -0
- package/cjs/Grid/utils/styles.js +43 -0
- package/cjs/Image/Image.js +12 -11
- package/cjs/Image/hooks/useImage.d.ts +2 -0
- package/cjs/Image/hooks/useImage.js +19 -43
- package/cjs/InlineEdit/InlineEdit.js +3 -1
- package/cjs/InlineEdit/useEditState.d.ts +2 -0
- package/cjs/InlineEdit/useEditState.js +8 -0
- package/cjs/Input/Input.d.ts +3 -12
- package/cjs/Input/Input.js +12 -73
- package/cjs/InputPicker/InputPicker.js +27 -28
- package/cjs/Link/ExternalLinkIcon.d.ts +3 -0
- package/cjs/Link/ExternalLinkIcon.js +23 -0
- package/cjs/Link/Link.d.ts +14 -0
- package/cjs/Link/Link.js +52 -0
- package/cjs/Link/index.d.ts +4 -0
- package/cjs/Link/index.js +11 -0
- package/cjs/List/List.js +6 -2
- package/cjs/List/helper/useSortHelper.d.ts +7 -5
- package/cjs/List/helper/useSortHelper.js +109 -16
- package/cjs/List/helper/utils.js +14 -6
- package/cjs/MultiCascader/MultiCascader.js +40 -43
- package/cjs/Nav/NavItem.js +1 -1
- package/cjs/Nav/NavMegaMenu.d.ts +5 -0
- package/cjs/Nav/NavMegaMenu.js +5 -0
- package/cjs/Navbar/NavbarItem.js +1 -1
- package/cjs/Navbar/NavbarMegaMenu.js +1 -1
- package/cjs/PasswordInput/PasswordInput.d.ts +14 -0
- package/cjs/PasswordInput/PasswordInput.js +71 -0
- package/cjs/PasswordInput/index.d.ts +4 -0
- package/cjs/PasswordInput/index.js +11 -0
- package/cjs/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
- package/cjs/PasswordStrengthMeter/PasswordStrengthMeter.js +50 -0
- package/cjs/PasswordStrengthMeter/index.d.ts +4 -0
- package/cjs/PasswordStrengthMeter/index.js +11 -0
- package/cjs/RangeSlider/RangeSlider.js +18 -3
- package/cjs/Rate/Character.d.ts +4 -3
- package/cjs/Rate/Character.js +19 -15
- package/cjs/Rate/Rate.d.ts +10 -2
- package/cjs/Rate/Rate.js +47 -42
- package/cjs/Rate/types.d.ts +8 -0
- package/cjs/Rate/types.js +4 -0
- package/cjs/Rate/useRatingStates.d.ts +20 -0
- package/cjs/Rate/useRatingStates.js +48 -0
- package/cjs/Rate/utils.d.ts +14 -3
- package/cjs/Rate/utils.js +50 -9
- package/cjs/SelectPicker/SelectPicker.js +45 -46
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +1 -1
- package/cjs/Sidenav/SidenavItem.js +1 -1
- package/cjs/Slider/Graduated.d.ts +4 -0
- package/cjs/Slider/Graduated.js +43 -20
- package/cjs/Slider/Handle.d.ts +1 -1
- package/cjs/Slider/Handle.js +12 -12
- package/cjs/Slider/Slider.d.ts +16 -1
- package/cjs/Slider/Slider.js +7 -2
- package/cjs/Slider/useDrag.d.ts +1 -0
- package/cjs/Slider/useDrag.js +8 -3
- package/cjs/Steps/Steps.js +2 -2
- package/cjs/Tabs/Tabs.js +2 -2
- package/cjs/Textarea/Textarea.d.ts +32 -0
- package/cjs/Textarea/Textarea.js +51 -0
- package/cjs/Textarea/index.d.ts +4 -0
- package/cjs/Textarea/index.js +11 -0
- package/cjs/Timeline/Timeline.js +2 -2
- package/cjs/Toggle/Toggle.d.ts +10 -1
- package/cjs/Toggle/Toggle.js +12 -9
- package/cjs/TreePicker/TreePicker.js +18 -19
- package/cjs/index.d.ts +4 -1
- package/cjs/index.js +24 -6
- package/cjs/internals/Box/Box.d.ts +4 -0
- package/cjs/internals/Box/Box.js +1 -1
- package/cjs/internals/Box/utils.js +5 -1
- package/cjs/internals/InputBase/InputBase.d.ts +45 -0
- package/cjs/internals/InputBase/InputBase.js +96 -0
- package/cjs/internals/InputBase/index.d.ts +3 -0
- package/cjs/internals/InputBase/index.js +8 -0
- package/cjs/internals/Overlay/Modal.d.ts +1 -1
- package/cjs/internals/Overlay/OverlayTrigger.d.ts +4 -3
- package/cjs/internals/Overlay/OverlayTrigger.js +8 -3
- package/cjs/internals/Picker/Listbox.js +7 -9
- package/cjs/internals/Picker/PickerDrawer.d.ts +8 -0
- package/cjs/internals/Picker/PickerDrawer.js +31 -0
- package/cjs/internals/Picker/PickerPopup.js +5 -3
- package/cjs/internals/Picker/PickerToggle.d.ts +1 -0
- package/cjs/internals/Picker/PickerToggle.js +10 -3
- package/cjs/internals/Picker/PickerToggleTrigger.d.ts +51 -11
- package/cjs/internals/Picker/PickerToggleTrigger.js +59 -13
- package/cjs/internals/Picker/hooks/index.d.ts +0 -1
- package/cjs/internals/Picker/hooks/index.js +2 -4
- package/cjs/internals/Picker/hooks/useCombobox.d.ts +1 -0
- package/cjs/internals/Picker/hooks/useCombobox.js +3 -1
- package/cjs/internals/Picker/index.d.ts +1 -2
- package/cjs/internals/Picker/index.js +10 -12
- package/{esm → cjs/internals}/SafeAnchor/SafeAnchor.d.ts +2 -2
- package/cjs/{SafeAnchor → internals/SafeAnchor}/SafeAnchor.js +3 -3
- package/cjs/internals/Tree/TreeView.js +3 -4
- package/cjs/internals/hooks/useRootClose.js +4 -4
- package/cjs/internals/index.d.ts +4 -0
- package/cjs/internals/index.js +13 -1
- package/cjs/internals/types/html.d.ts +2 -0
- package/cjs/internals/utils/{dom.d.ts → html/dom.d.ts} +1 -0
- package/cjs/internals/utils/{dom.js → html/dom.js} +8 -0
- package/cjs/internals/utils/{events.js → html/events.js} +0 -0
- package/cjs/internals/utils/{htmlPropsUtils.js → html/htmlPropsUtils.js} +0 -0
- package/cjs/internals/utils/html/index.d.ts +4 -0
- package/cjs/internals/utils/html/index.js +28 -0
- package/cjs/internals/utils/{safeSetSelection.js → html/safeSetSelection.js} +1 -1
- package/cjs/internals/utils/index.d.ts +3 -15
- package/cjs/internals/utils/index.js +20 -49
- package/cjs/internals/utils/{ReactChildren.d.ts → react/ReactChildren.d.ts} +2 -8
- package/cjs/internals/utils/{ReactChildren.js → react/ReactChildren.js} +5 -25
- package/cjs/internals/utils/react/ReactIs.d.ts +7 -0
- package/cjs/internals/utils/react/ReactIs.js +26 -0
- package/{esm/internals/utils → cjs/internals/utils/react}/createComponent.d.ts +2 -2
- package/cjs/internals/utils/{createComponent.js → react/createComponent.js} +3 -3
- package/cjs/internals/utils/{deprecateComponent.js → react/deprecateComponent.js} +1 -1
- package/cjs/internals/utils/{forwardRef.d.ts → react/forwardRef.d.ts} +1 -1
- package/cjs/internals/utils/react/index.d.ts +7 -0
- package/cjs/internals/utils/react/index.js +46 -0
- package/cjs/internals/utils/{mergeRefs.js → react/mergeRefs.js} +0 -0
- package/cjs/internals/utils/{getStringLength.d.ts → string/getStringLength.d.ts} +0 -1
- package/cjs/internals/utils/{getStringLength.js → string/getStringLength.js} +1 -3
- package/cjs/internals/utils/string/index.d.ts +4 -0
- package/cjs/internals/utils/string/index.js +28 -0
- package/cjs/internals/utils/{stringifyReactNode.js → string/stringifyReactNode.js} +0 -0
- package/cjs/internals/utils/{tplTransform.js → string/tplTransform.js} +0 -0
- package/cjs/locales/en_GB.js +2 -2
- package/cjs/locales/en_US.js +2 -2
- package/cjs/locales/index.js +0 -0
- package/cjs/locales/pl_PL.js +2 -3
- package/cjs/useBreakpointValue/useBreakpointValue.d.ts +6 -2
- package/cjs/useBreakpointValue/useBreakpointValue.js +9 -4
- package/cjs/useMediaQuery/breakpoints.d.ts +24 -0
- package/cjs/useMediaQuery/breakpoints.js +248 -0
- package/cjs/useMediaQuery/index.d.ts +1 -1
- package/cjs/useMediaQuery/types.d.ts +45 -0
- package/cjs/useMediaQuery/types.js +4 -0
- package/cjs/useMediaQuery/useMediaQuery.d.ts +4 -13
- package/cjs/useMediaQuery/useMediaQuery.js +30 -12
- package/cjs/useToaster/useToaster.d.ts +1 -1
- package/cjs/useToaster/useToaster.js +1 -1
- package/dist/rsuite-no-reset-rtl.css +565 -276
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +565 -276
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +565 -276
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +565 -276
- package/dist/rsuite.js +508 -211
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/AutoComplete/AutoComplete.d.ts +1 -1
- package/esm/AutoComplete/AutoComplete.js +13 -11
- package/esm/Avatar/Avatar.d.ts +3 -4
- package/esm/Breadcrumb/Breadcrumb.js +3 -3
- package/esm/Breadcrumb/BreadcrumbItem.js +1 -1
- package/esm/Button/Button.js +10 -11
- package/esm/Calendar/CalendarProvider.js +0 -0
- package/esm/Calendar/hooks/useCalendar.js +0 -0
- package/esm/Carousel/Carousel.js +3 -3
- package/esm/Cascader/Cascader.js +43 -46
- package/esm/Cascader/useActive.d.ts +6 -4
- package/esm/Cascader/useActive.js +10 -8
- package/esm/CheckPicker/CheckPicker.js +39 -42
- package/esm/CheckTreePicker/CheckTreePicker.js +21 -23
- package/esm/CustomProvider/CustomProvider.d.ts +1 -4
- package/esm/CustomProvider/types.d.ts +10 -2
- package/esm/DatePicker/DatePicker.d.ts +1 -1
- package/esm/DatePicker/DatePicker.js +29 -26
- package/esm/DatePicker/utils.d.ts +3 -3
- package/esm/DatePicker/utils.js +4 -4
- package/esm/DateRangePicker/DateRangePicker.js +35 -29
- package/esm/DateRangePicker/utils.js +0 -0
- package/esm/Divider/Divider.d.ts +3 -2
- package/esm/Divider/Divider.js +2 -2
- package/esm/Form/hooks/useFormValidate.js +0 -0
- package/esm/Form/hooks/useSchemaModel.js +3 -55
- package/esm/Form/utils/constructFlatSchema.d.ts +4 -0
- package/esm/Form/utils/constructFlatSchema.js +37 -0
- package/esm/FormControl/hooks/useField.js +0 -0
- package/esm/FormControl/utils.js +0 -0
- package/esm/Grid/Row.d.ts +2 -2
- package/esm/Grid/Row.js +2 -20
- package/esm/Grid/types.d.ts +1 -0
- package/esm/Grid/utils/styles.d.ts +6 -0
- package/esm/Grid/utils/styles.js +37 -0
- package/esm/Image/Image.js +12 -11
- package/esm/Image/hooks/useImage.d.ts +2 -0
- package/esm/Image/hooks/useImage.js +20 -43
- package/esm/InlineEdit/InlineEdit.js +3 -1
- package/esm/InlineEdit/useEditState.d.ts +2 -0
- package/esm/InlineEdit/useEditState.js +8 -0
- package/esm/Input/Input.d.ts +3 -12
- package/esm/Input/Input.js +12 -74
- package/esm/InputPicker/InputPicker.js +28 -29
- package/esm/Link/ExternalLinkIcon.d.ts +3 -0
- package/esm/Link/ExternalLinkIcon.js +18 -0
- package/esm/Link/Link.d.ts +14 -0
- package/esm/Link/Link.js +47 -0
- package/esm/Link/index.d.ts +4 -0
- package/esm/Link/index.js +8 -0
- package/esm/List/List.js +6 -2
- package/esm/List/helper/useSortHelper.d.ts +7 -5
- package/esm/List/helper/useSortHelper.js +109 -16
- package/esm/List/helper/utils.js +14 -6
- package/esm/MultiCascader/MultiCascader.js +41 -44
- package/esm/Nav/NavItem.js +1 -1
- package/esm/Nav/NavMegaMenu.d.ts +5 -0
- package/esm/Nav/NavMegaMenu.js +5 -0
- package/esm/Navbar/NavbarItem.js +1 -1
- package/esm/Navbar/NavbarMegaMenu.js +1 -1
- package/esm/PasswordInput/PasswordInput.d.ts +14 -0
- package/esm/PasswordInput/PasswordInput.js +66 -0
- package/esm/PasswordInput/index.d.ts +4 -0
- package/esm/PasswordInput/index.js +8 -0
- package/esm/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
- package/esm/PasswordStrengthMeter/PasswordStrengthMeter.js +45 -0
- package/esm/PasswordStrengthMeter/index.d.ts +4 -0
- package/esm/PasswordStrengthMeter/index.js +8 -0
- package/esm/RangeSlider/RangeSlider.js +18 -3
- package/esm/Rate/Character.d.ts +4 -3
- package/esm/Rate/Character.js +20 -16
- package/esm/Rate/Rate.d.ts +10 -2
- package/esm/Rate/Rate.js +49 -42
- package/esm/Rate/types.d.ts +8 -0
- package/esm/Rate/types.js +2 -0
- package/esm/Rate/useRatingStates.d.ts +20 -0
- package/esm/Rate/useRatingStates.js +43 -0
- package/esm/Rate/utils.d.ts +14 -3
- package/esm/Rate/utils.js +46 -7
- package/esm/SelectPicker/SelectPicker.js +46 -47
- package/esm/Sidenav/ExpandedSidenavDropdownItem.js +1 -1
- package/esm/Sidenav/SidenavItem.js +1 -1
- package/esm/Slider/Graduated.d.ts +4 -0
- package/esm/Slider/Graduated.js +43 -20
- package/esm/Slider/Handle.d.ts +1 -1
- package/esm/Slider/Handle.js +12 -12
- package/esm/Slider/Slider.d.ts +16 -1
- package/esm/Slider/Slider.js +7 -2
- package/esm/Slider/useDrag.d.ts +1 -0
- package/esm/Slider/useDrag.js +8 -3
- package/esm/Steps/Steps.js +3 -3
- package/esm/Tabs/Tabs.js +3 -3
- package/esm/Textarea/Textarea.d.ts +32 -0
- package/esm/Textarea/Textarea.js +46 -0
- package/esm/Textarea/index.d.ts +4 -0
- package/esm/Textarea/index.js +8 -0
- package/esm/Timeline/Timeline.js +3 -3
- package/esm/Toggle/Toggle.d.ts +10 -1
- package/esm/Toggle/Toggle.js +12 -9
- package/esm/TreePicker/TreePicker.js +19 -20
- package/esm/index.d.ts +4 -1
- package/esm/index.js +4 -1
- package/esm/internals/Box/Box.d.ts +4 -0
- package/esm/internals/Box/Box.js +1 -1
- package/esm/internals/Box/utils.js +5 -1
- package/esm/internals/InputBase/InputBase.d.ts +45 -0
- package/esm/internals/InputBase/InputBase.js +89 -0
- package/esm/internals/InputBase/index.d.ts +3 -0
- package/esm/internals/InputBase/index.js +3 -0
- package/esm/internals/Overlay/Modal.d.ts +1 -1
- package/esm/internals/Overlay/OverlayTrigger.d.ts +4 -3
- package/esm/internals/Overlay/OverlayTrigger.js +8 -2
- package/esm/internals/Picker/Listbox.js +8 -10
- package/esm/internals/Picker/PickerDrawer.d.ts +8 -0
- package/esm/internals/Picker/PickerDrawer.js +26 -0
- package/esm/internals/Picker/PickerPopup.js +5 -3
- package/esm/internals/Picker/PickerToggle.d.ts +1 -0
- package/esm/internals/Picker/PickerToggle.js +10 -3
- package/esm/internals/Picker/PickerToggleTrigger.d.ts +51 -11
- package/esm/internals/Picker/PickerToggleTrigger.js +59 -12
- package/esm/internals/Picker/hooks/index.d.ts +0 -1
- package/esm/internals/Picker/hooks/index.js +1 -2
- package/esm/internals/Picker/hooks/useCombobox.d.ts +1 -0
- package/esm/internals/Picker/hooks/useCombobox.js +3 -1
- package/esm/internals/Picker/index.d.ts +1 -2
- package/esm/internals/Picker/index.js +1 -2
- package/{cjs → esm/internals}/SafeAnchor/SafeAnchor.d.ts +2 -2
- package/esm/{SafeAnchor → internals/SafeAnchor}/SafeAnchor.js +3 -3
- package/esm/internals/Tree/TreeView.js +4 -5
- package/esm/internals/hooks/useRootClose.js +1 -1
- package/esm/internals/index.d.ts +4 -0
- package/esm/internals/index.js +5 -0
- package/esm/internals/types/html.d.ts +2 -0
- package/esm/internals/utils/{dom.d.ts → html/dom.d.ts} +1 -0
- package/esm/internals/utils/{dom.js → html/dom.js} +7 -0
- package/esm/internals/utils/{events.js → html/events.js} +0 -0
- package/esm/internals/utils/{htmlPropsUtils.js → html/htmlPropsUtils.js} +0 -0
- package/esm/internals/utils/html/index.d.ts +4 -0
- package/esm/internals/utils/html/index.js +5 -0
- package/esm/internals/utils/{safeSetSelection.js → html/safeSetSelection.js} +1 -1
- package/esm/internals/utils/index.d.ts +3 -15
- package/esm/internals/utils/index.js +3 -14
- package/esm/internals/utils/{ReactChildren.d.ts → react/ReactChildren.d.ts} +2 -8
- package/esm/internals/utils/{ReactChildren.js → react/ReactChildren.js} +3 -21
- package/esm/internals/utils/react/ReactIs.d.ts +7 -0
- package/esm/internals/utils/react/ReactIs.js +22 -0
- package/{cjs/internals/utils → esm/internals/utils/react}/createComponent.d.ts +2 -2
- package/esm/internals/utils/{createComponent.js → react/createComponent.js} +3 -3
- package/esm/internals/utils/{deprecateComponent.js → react/deprecateComponent.js} +1 -1
- package/esm/internals/utils/{forwardRef.d.ts → react/forwardRef.d.ts} +1 -1
- package/esm/internals/utils/react/index.d.ts +7 -0
- package/esm/internals/utils/react/index.js +8 -0
- package/esm/internals/utils/{mergeRefs.js → react/mergeRefs.js} +0 -0
- package/esm/internals/utils/{getStringLength.d.ts → string/getStringLength.d.ts} +0 -1
- package/esm/internals/utils/{getStringLength.js → string/getStringLength.js} +1 -2
- package/esm/internals/utils/string/index.d.ts +4 -0
- package/esm/internals/utils/string/index.js +5 -0
- package/esm/internals/utils/{stringifyReactNode.js → string/stringifyReactNode.js} +0 -0
- package/esm/internals/utils/{tplTransform.js → string/tplTransform.js} +0 -0
- package/esm/locales/en_GB.js +2 -2
- package/esm/locales/en_US.js +2 -2
- package/esm/locales/index.js +0 -0
- package/esm/locales/pl_PL.js +1 -1
- package/esm/useBreakpointValue/useBreakpointValue.d.ts +6 -2
- package/esm/useBreakpointValue/useBreakpointValue.js +9 -4
- package/esm/useMediaQuery/breakpoints.d.ts +24 -0
- package/esm/useMediaQuery/breakpoints.js +244 -0
- package/esm/useMediaQuery/index.d.ts +1 -1
- package/esm/useMediaQuery/types.d.ts +45 -0
- package/esm/useMediaQuery/types.js +2 -0
- package/esm/useMediaQuery/useMediaQuery.d.ts +4 -13
- package/esm/useMediaQuery/useMediaQuery.js +29 -11
- package/esm/useToaster/useToaster.d.ts +1 -1
- package/esm/useToaster/useToaster.js +1 -1
- package/internals/Box/styles/index.less +4 -0
- package/internals/Picker/styles/index.less +105 -23
- package/internals/Picker/styles/mixin.less +6 -6
- package/package.json +3 -2
- package/styles/color-modes/dark.less +2 -2
- package/styles/color-modes/high-contrast.less +2 -2
- package/styles/color-modes/light.less +2 -2
- package/styles/index.less +3 -0
- package/styles/root.less +2 -0
- package/styles/variables.less +0 -24
- package/SafeAnchor/package.json +0 -7
- package/cjs/Form/hooks/useFormClassNames.d.ts +0 -5
- package/cjs/Form/hooks/useFormClassNames.js +0 -29
- package/cjs/internals/Picker/hooks/usePickerClassName.d.ts +0 -19
- package/cjs/internals/Picker/hooks/usePickerClassName.js +0 -45
- package/esm/Form/hooks/useFormClassNames.d.ts +0 -5
- package/esm/Form/hooks/useFormClassNames.js +0 -25
- package/esm/internals/Picker/hooks/usePickerClassName.d.ts +0 -19
- package/esm/internals/Picker/hooks/usePickerClassName.js +0 -40
- /package/cjs/{SafeAnchor → internals/SafeAnchor}/index.d.ts +0 -0
- /package/cjs/{SafeAnchor → internals/SafeAnchor}/index.js +0 -0
- /package/cjs/internals/utils/{events.d.ts → html/events.d.ts} +0 -0
- /package/cjs/internals/utils/{htmlPropsUtils.d.ts → html/htmlPropsUtils.d.ts} +0 -0
- /package/cjs/internals/utils/{safeSetSelection.d.ts → html/safeSetSelection.d.ts} +0 -0
- /package/cjs/internals/utils/{deprecateComponent.d.ts → react/deprecateComponent.d.ts} +0 -0
- /package/cjs/internals/utils/{forwardRef.js → react/forwardRef.js} +0 -0
- /package/cjs/internals/utils/{getDOMNode.d.ts → react/getDOMNode.d.ts} +0 -0
- /package/cjs/internals/utils/{getDOMNode.js → react/getDOMNode.js} +0 -0
- /package/cjs/internals/utils/{mergeRefs.d.ts → react/mergeRefs.d.ts} +0 -0
- /package/cjs/internals/utils/{getSafeRegExpString.d.ts → string/getSafeRegExpString.d.ts} +0 -0
- /package/cjs/internals/utils/{getSafeRegExpString.js → string/getSafeRegExpString.js} +0 -0
- /package/cjs/internals/utils/{stringifyReactNode.d.ts → string/stringifyReactNode.d.ts} +0 -0
- /package/cjs/internals/utils/{tplTransform.d.ts → string/tplTransform.d.ts} +0 -0
- /package/esm/{SafeAnchor → internals/SafeAnchor}/index.d.ts +0 -0
- /package/esm/{SafeAnchor → internals/SafeAnchor}/index.js +0 -0
- /package/esm/internals/utils/{events.d.ts → html/events.d.ts} +0 -0
- /package/esm/internals/utils/{htmlPropsUtils.d.ts → html/htmlPropsUtils.d.ts} +0 -0
- /package/esm/internals/utils/{safeSetSelection.d.ts → html/safeSetSelection.d.ts} +0 -0
- /package/esm/internals/utils/{deprecateComponent.d.ts → react/deprecateComponent.d.ts} +0 -0
- /package/esm/internals/utils/{forwardRef.js → react/forwardRef.js} +0 -0
- /package/esm/internals/utils/{getDOMNode.d.ts → react/getDOMNode.d.ts} +0 -0
- /package/esm/internals/utils/{getDOMNode.js → react/getDOMNode.js} +0 -0
- /package/esm/internals/utils/{mergeRefs.d.ts → react/mergeRefs.d.ts} +0 -0
- /package/esm/internals/utils/{getSafeRegExpString.d.ts → string/getSafeRegExpString.d.ts} +0 -0
- /package/esm/internals/utils/{getSafeRegExpString.js → string/getSafeRegExpString.js} +0 -0
- /package/esm/internals/utils/{stringifyReactNode.d.ts → string/stringifyReactNode.d.ts} +0 -0
- /package/esm/internals/utils/{tplTransform.d.ts → string/tplTransform.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MouseEventHandler } from 'react';
|
|
1
|
+
import { MouseEventHandler, TouchEventHandler } from 'react';
|
|
2
2
|
import { Collection, ManagedItem } from './useManager';
|
|
3
3
|
export interface MovedItemInfo {
|
|
4
4
|
collection: Collection;
|
|
@@ -10,14 +10,16 @@ export type SortConfig = {
|
|
|
10
10
|
autoScroll?: boolean;
|
|
11
11
|
pressDelay?: number;
|
|
12
12
|
transitionDuration?: number;
|
|
13
|
-
onSortStart?(payload?: MovedItemInfo, event?: MouseEvent): void;
|
|
14
|
-
onSortMove?(payload?: MovedItemInfo, event?: MouseEvent): void;
|
|
15
|
-
onSortEnd?(payload?: MovedItemInfo, event?: MouseEvent): void;
|
|
16
|
-
onSort?(payload?: MovedItemInfo, event?: MouseEvent): void;
|
|
13
|
+
onSortStart?(payload?: MovedItemInfo, event?: MouseEvent | TouchEvent): void;
|
|
14
|
+
onSortMove?(payload?: MovedItemInfo, event?: MouseEvent | TouchEvent): void;
|
|
15
|
+
onSortEnd?(payload?: MovedItemInfo, event?: MouseEvent | TouchEvent): void;
|
|
16
|
+
onSort?(payload?: MovedItemInfo, event?: MouseEvent | TouchEvent): void;
|
|
17
17
|
};
|
|
18
18
|
declare const useSortHelper: (config: SortConfig) => {
|
|
19
19
|
handleStart: MouseEventHandler<Element>;
|
|
20
20
|
handleEnd: MouseEventHandler<Element>;
|
|
21
|
+
handleTouchStart: TouchEventHandler<Element>;
|
|
22
|
+
handleTouchEnd: TouchEventHandler<Element>;
|
|
21
23
|
containerRef: import("react").RefObject<HTMLDivElement | null>;
|
|
22
24
|
sorting: boolean;
|
|
23
25
|
register: (item: ManagedItem) => {
|
|
@@ -30,7 +30,7 @@ const useSortHelper = config => {
|
|
|
30
30
|
/**
|
|
31
31
|
* start dragging
|
|
32
32
|
* */
|
|
33
|
-
const handlePress = useCallback((
|
|
33
|
+
const handlePress = useCallback((event, _targetNode, curManagedItem) => {
|
|
34
34
|
var _curManagedItem$info$, _curManagedItem$info$2, _activeNodeHelper;
|
|
35
35
|
if (!isMounted()) return;
|
|
36
36
|
// data
|
|
@@ -44,6 +44,13 @@ const useSortHelper = config => {
|
|
|
44
44
|
};
|
|
45
45
|
let animatedNodesOffset = []; // all list item offset
|
|
46
46
|
|
|
47
|
+
// Get initial position from event
|
|
48
|
+
const isTouchEvent = 'touches' in event;
|
|
49
|
+
const initialPosition = {
|
|
50
|
+
pageX: isTouchEvent ? event.touches[0].pageX : event.pageX,
|
|
51
|
+
pageY: isTouchEvent ? event.touches[0].pageY : event.pageY
|
|
52
|
+
};
|
|
53
|
+
|
|
47
54
|
// init scroller
|
|
48
55
|
const scrollContainer = getScrollingParent(containerElement) || containerElement;
|
|
49
56
|
const initScroll = {
|
|
@@ -79,17 +86,31 @@ const useSortHelper = config => {
|
|
|
79
86
|
x: 0,
|
|
80
87
|
y: 0
|
|
81
88
|
});
|
|
82
|
-
|
|
89
|
+
|
|
90
|
+
// Common handler for both mouse and touch move events
|
|
91
|
+
const handleSortMove = moveEvent => {
|
|
92
|
+
// Prevent default to stop page scrolling during touch drag
|
|
93
|
+
if ('touches' in moveEvent) {
|
|
94
|
+
moveEvent.preventDefault();
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// Get current position from event
|
|
98
|
+
const isTouchMoveEvent = 'touches' in moveEvent;
|
|
99
|
+
const currentPosition = {
|
|
100
|
+
pageX: isTouchMoveEvent ? moveEvent.touches[0].pageX : moveEvent.pageX,
|
|
101
|
+
pageY: isTouchMoveEvent ? moveEvent.touches[0].pageY : moveEvent.pageY
|
|
102
|
+
};
|
|
103
|
+
|
|
83
104
|
// Update helper position
|
|
84
105
|
const offset = {
|
|
85
|
-
x:
|
|
86
|
-
y:
|
|
106
|
+
x: currentPosition.pageX,
|
|
107
|
+
y: currentPosition.pageY
|
|
87
108
|
};
|
|
88
109
|
const containerScrollDelta = getContainerScrollDelta();
|
|
89
110
|
const containerBoundingRect = scrollContainer.getBoundingClientRect();
|
|
90
111
|
activeNodeHolderTranslate = {
|
|
91
|
-
x: offset.x -
|
|
92
|
-
y: offset.y -
|
|
112
|
+
x: offset.x - initialPosition.pageX,
|
|
113
|
+
y: offset.y - initialPosition.pageY
|
|
93
114
|
};
|
|
94
115
|
if (activeNodeHelper) {
|
|
95
116
|
setTranslate3d(activeNodeHelper, activeNodeHolderTranslate);
|
|
@@ -189,14 +210,22 @@ const useSortHelper = config => {
|
|
|
189
210
|
node: activeNode,
|
|
190
211
|
oldIndex: activeNodeOldIndex,
|
|
191
212
|
newIndex: activeNodeNextIndex
|
|
192
|
-
},
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
const
|
|
213
|
+
}, moveEvent);
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
// Common handler for both mouse and touch end events
|
|
217
|
+
const handleSortEnd = endEvent => {
|
|
218
|
+
var _sortTouchMoveListene, _sortTouchEndListener;
|
|
197
219
|
// Remove the event listeners
|
|
198
220
|
sortMouseMoveListener.off();
|
|
199
221
|
sortMouseEndListener.off();
|
|
222
|
+
(_sortTouchMoveListene = sortTouchMoveListener) === null || _sortTouchMoveListene === void 0 || _sortTouchMoveListene.off();
|
|
223
|
+
(_sortTouchEndListener = sortTouchEndListener) === null || _sortTouchEndListener === void 0 || _sortTouchEndListener.off();
|
|
224
|
+
|
|
225
|
+
// Enable page scrolling again
|
|
226
|
+
if (document.body.style.overflow === 'hidden') {
|
|
227
|
+
document.body.style.overflow = '';
|
|
228
|
+
}
|
|
200
229
|
const holderTranslate = getHolderTranslate();
|
|
201
230
|
const containerScrollDelta = getContainerScrollDelta();
|
|
202
231
|
if (activeNodeHelper) {
|
|
@@ -242,12 +271,33 @@ const useSortHelper = config => {
|
|
|
242
271
|
newIndex: activeNodeNextIndex,
|
|
243
272
|
oldIndex: activeNodeOldIndex
|
|
244
273
|
};
|
|
245
|
-
onSortEnd === null || onSortEnd === void 0 || onSortEnd(callbackPayload,
|
|
246
|
-
onSort === null || onSort === void 0 || onSort(callbackPayload,
|
|
274
|
+
onSortEnd === null || onSortEnd === void 0 || onSortEnd(callbackPayload, endEvent);
|
|
275
|
+
onSort === null || onSort === void 0 || onSort(callbackPayload, endEvent);
|
|
247
276
|
}, transitionDuration);
|
|
248
|
-
}
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
// Set up mouse event listeners
|
|
280
|
+
const sortMouseMoveListener = on(window, 'mousemove', handleSortMove, {
|
|
249
281
|
passive: false
|
|
250
282
|
});
|
|
283
|
+
const sortMouseEndListener = on(window, 'mouseup', handleSortEnd, {
|
|
284
|
+
passive: false
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
// Set up touch event listeners
|
|
288
|
+
let sortTouchMoveListener;
|
|
289
|
+
let sortTouchEndListener;
|
|
290
|
+
if (isTouchEvent) {
|
|
291
|
+
// Disable page scrolling during touch drag
|
|
292
|
+
document.body.style.overflow = 'hidden';
|
|
293
|
+
sortTouchMoveListener = on(window, 'touchmove', handleSortMove, {
|
|
294
|
+
passive: false
|
|
295
|
+
} // Important: passive: false allows preventDefault() to work
|
|
296
|
+
);
|
|
297
|
+
sortTouchEndListener = on(window, 'touchend', handleSortEnd, {
|
|
298
|
+
passive: false
|
|
299
|
+
});
|
|
300
|
+
}
|
|
251
301
|
setSorting(true);
|
|
252
302
|
// start callback
|
|
253
303
|
onSortStart === null || onSortStart === void 0 || onSortStart({
|
|
@@ -255,7 +305,7 @@ const useSortHelper = config => {
|
|
|
255
305
|
node: activeNode,
|
|
256
306
|
oldIndex: activeNodeOldIndex,
|
|
257
307
|
newIndex: activeNodeNextIndex
|
|
258
|
-
},
|
|
308
|
+
}, event);
|
|
259
309
|
}, [autoScroll, getOrderedItems, isMounted, onSort, onSortEnd, onSortMove, onSortStart, transitionDuration]);
|
|
260
310
|
|
|
261
311
|
/**
|
|
@@ -281,13 +331,56 @@ const useSortHelper = config => {
|
|
|
281
331
|
}
|
|
282
332
|
}, [getManagedItem, handlePress, pressDelay, sorting]);
|
|
283
333
|
|
|
334
|
+
/**
|
|
335
|
+
* Handle touch start for mobile devices
|
|
336
|
+
*/
|
|
337
|
+
const handleTouchStart = useCallback(touchStartEvent => {
|
|
338
|
+
const triggeredNode = touchStartEvent.target;
|
|
339
|
+
const targetNode = closestNode(triggeredNode, el => Boolean(getManagedItem(el)));
|
|
340
|
+
const curManagedItem = getManagedItem(targetNode);
|
|
341
|
+
if (
|
|
342
|
+
// is list item
|
|
343
|
+
Boolean(curManagedItem) && !curManagedItem.info.disabled &&
|
|
344
|
+
// is not sorting
|
|
345
|
+
!sorting &&
|
|
346
|
+
// is valid node
|
|
347
|
+
targetNode instanceof HTMLElement &&
|
|
348
|
+
// excludes interactive elements
|
|
349
|
+
!targetNode.contains(closestNode(triggeredNode, isContainInteractiveElement))) {
|
|
350
|
+
// Prevent scrolling while sorting
|
|
351
|
+
touchStartEvent.preventDefault();
|
|
352
|
+
pressTimer.current = setTimeout(handlePress, pressDelay, touchStartEvent, targetNode, curManagedItem);
|
|
353
|
+
}
|
|
354
|
+
}, [getManagedItem, handlePress, pressDelay, sorting]);
|
|
355
|
+
|
|
284
356
|
/**
|
|
285
357
|
* Clear timer after drag
|
|
286
358
|
* */
|
|
287
|
-
const handleEnd = useCallback(() =>
|
|
359
|
+
const handleEnd = useCallback(() => {
|
|
360
|
+
clearTimeout(pressTimer.current);
|
|
361
|
+
|
|
362
|
+
// Ensure page scrolling is re-enabled
|
|
363
|
+
if (document.body.style.overflow === 'hidden') {
|
|
364
|
+
document.body.style.overflow = '';
|
|
365
|
+
}
|
|
366
|
+
}, []);
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Clear timer after touch end
|
|
370
|
+
*/
|
|
371
|
+
const handleTouchEnd = useCallback(() => {
|
|
372
|
+
clearTimeout(pressTimer.current);
|
|
373
|
+
|
|
374
|
+
// Ensure page scrolling is re-enabled
|
|
375
|
+
if (document.body.style.overflow === 'hidden') {
|
|
376
|
+
document.body.style.overflow = '';
|
|
377
|
+
}
|
|
378
|
+
}, []);
|
|
288
379
|
return {
|
|
289
380
|
handleStart,
|
|
290
381
|
handleEnd,
|
|
382
|
+
handleTouchStart,
|
|
383
|
+
handleTouchEnd,
|
|
291
384
|
containerRef,
|
|
292
385
|
sorting,
|
|
293
386
|
register: listItemRegister
|
package/esm/List/helper/utils.js
CHANGED
|
@@ -59,10 +59,18 @@ export function getEdgeOffset(node, parent, offset) {
|
|
|
59
59
|
return getEdgeOffset(node.parentNode, parent, nodeOffset);
|
|
60
60
|
}
|
|
61
61
|
export function getScrollingParent(el) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return
|
|
67
|
-
|
|
62
|
+
if (!el || typeof window === 'undefined' || !window.getComputedStyle) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
return closestNode(el, el => {
|
|
67
|
+
const computedStyle = window.getComputedStyle(el);
|
|
68
|
+
const overflowRegex = /(auto|scroll)/;
|
|
69
|
+
const properties = ['overflow', 'overflowX', 'overflowY'];
|
|
70
|
+
return properties.some(property => overflowRegex.test(computedStyle[property]));
|
|
71
|
+
});
|
|
72
|
+
} catch {
|
|
73
|
+
// In test environments, errors may occur, so return null
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
68
76
|
}
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import React, { useCallback } from 'react';
|
|
4
4
|
import pick from 'lodash/pick';
|
|
5
|
-
import omit from 'lodash/omit';
|
|
6
5
|
import isFunction from 'lodash/isFunction';
|
|
7
6
|
import isNil from 'lodash/isNil';
|
|
8
7
|
import TreeView from "../MultiCascadeTree/TreeView.js";
|
|
9
8
|
import SearchView from "../MultiCascadeTree/SearchView.js";
|
|
10
|
-
import Box from "../internals/Box/index.js";
|
|
11
9
|
import useActive from "../Cascader/useActive.js";
|
|
12
10
|
import { findNodeOfTree } from "../internals/Tree/utils/index.js";
|
|
13
11
|
import { useStyles, useControlled, useEventCallback } from "../internals/hooks/index.js";
|
|
@@ -15,7 +13,7 @@ import { getColumnsAndPaths } from "../CascadeTree/utils.js";
|
|
|
15
13
|
import { forwardRef, createChainedFunction, mergeRefs } from "../internals/utils/index.js";
|
|
16
14
|
import { useCascadeValue, useSearch, useSelect } from "../MultiCascadeTree/hooks/index.js";
|
|
17
15
|
import { useCustom } from "../CustomProvider/index.js";
|
|
18
|
-
import { PickerToggle, PickerPopup, SelectedElement, PickerToggleTrigger,
|
|
16
|
+
import { PickerToggle, PickerPopup, SelectedElement, PickerToggleTrigger, usePickerRef, useToggleKeyDownEvent, useFocusItemValue, triggerPropKeys } from "../internals/Picker/index.js";
|
|
19
17
|
const emptyArray = [];
|
|
20
18
|
|
|
21
19
|
/**
|
|
@@ -31,42 +29,44 @@ const MultiCascader = forwardRef((props, ref) => {
|
|
|
31
29
|
const {
|
|
32
30
|
as,
|
|
33
31
|
appearance = 'default',
|
|
32
|
+
block,
|
|
33
|
+
className,
|
|
34
|
+
cleanable = true,
|
|
34
35
|
classPrefix = 'picker',
|
|
35
|
-
defaultValue,
|
|
36
36
|
columnHeight,
|
|
37
37
|
columnWidth,
|
|
38
38
|
childrenKey = 'children',
|
|
39
|
-
|
|
39
|
+
countable = true,
|
|
40
|
+
cascade = true,
|
|
40
41
|
data = emptyArray,
|
|
42
|
+
defaultValue,
|
|
41
43
|
disabled,
|
|
42
44
|
disabledItemValues = emptyArray,
|
|
43
|
-
|
|
44
|
-
valueKey = 'value',
|
|
45
|
+
id,
|
|
45
46
|
labelKey = 'label',
|
|
46
47
|
locale,
|
|
47
|
-
toggleAs,
|
|
48
|
-
style,
|
|
49
|
-
countable = true,
|
|
50
|
-
cascade = true,
|
|
51
48
|
placeholder,
|
|
52
49
|
placement = 'bottomStart',
|
|
53
50
|
popupClassName,
|
|
54
51
|
popupStyle,
|
|
52
|
+
renderColumn,
|
|
53
|
+
renderExtraFooter,
|
|
54
|
+
renderTreeNode,
|
|
55
|
+
renderValue,
|
|
55
56
|
searchable = true,
|
|
57
|
+
style,
|
|
58
|
+
toggleAs,
|
|
56
59
|
uncheckableItemValues = emptyArray,
|
|
57
|
-
|
|
60
|
+
value: valueProp,
|
|
61
|
+
valueKey = 'value',
|
|
58
62
|
getChildren,
|
|
59
|
-
renderValue,
|
|
60
|
-
renderExtraFooter,
|
|
61
|
-
renderColumn,
|
|
62
|
-
renderTreeNode,
|
|
63
|
-
onEntered,
|
|
64
|
-
onExited,
|
|
65
63
|
onClean,
|
|
66
|
-
onSearch,
|
|
67
|
-
onSelect,
|
|
68
64
|
onChange,
|
|
69
65
|
onCheck,
|
|
66
|
+
onEnter,
|
|
67
|
+
onExit,
|
|
68
|
+
onSearch,
|
|
69
|
+
onSelect,
|
|
70
70
|
...rest
|
|
71
71
|
} = propsWithDefaults;
|
|
72
72
|
const {
|
|
@@ -170,11 +170,10 @@ const MultiCascader = forwardRef((props, ref) => {
|
|
|
170
170
|
});
|
|
171
171
|
const {
|
|
172
172
|
active,
|
|
173
|
-
|
|
174
|
-
handleExited
|
|
173
|
+
events
|
|
175
174
|
} = useActive({
|
|
176
|
-
|
|
177
|
-
|
|
175
|
+
onEnter,
|
|
176
|
+
onExit,
|
|
178
177
|
target,
|
|
179
178
|
setSearchKeyword
|
|
180
179
|
});
|
|
@@ -288,43 +287,41 @@ const MultiCascader = forwardRef((props, ref) => {
|
|
|
288
287
|
hasValue = false;
|
|
289
288
|
}
|
|
290
289
|
}
|
|
291
|
-
const
|
|
292
|
-
...props,
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
countable,
|
|
296
|
-
name: 'cascader',
|
|
297
|
-
appearance,
|
|
298
|
-
cleanable
|
|
299
|
-
});
|
|
290
|
+
const triggerProps = {
|
|
291
|
+
...pick(props, triggerPropKeys),
|
|
292
|
+
...events
|
|
293
|
+
};
|
|
300
294
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
295
|
+
as: as,
|
|
301
296
|
id: id,
|
|
297
|
+
name: "multi-cascader",
|
|
298
|
+
block: block,
|
|
299
|
+
disabled: disabled,
|
|
300
|
+
appearance: appearance,
|
|
302
301
|
popupType: "tree",
|
|
303
302
|
multiple: true,
|
|
304
|
-
|
|
303
|
+
triggerProps: triggerProps,
|
|
305
304
|
ref: trigger,
|
|
306
305
|
placement: placement,
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
speaker: renderTreeView
|
|
310
|
-
}, /*#__PURE__*/React.createElement(Box, {
|
|
311
|
-
as: as,
|
|
312
|
-
className: classes,
|
|
306
|
+
speaker: renderTreeView,
|
|
307
|
+
rootRef: root,
|
|
313
308
|
style: style,
|
|
314
|
-
|
|
315
|
-
|
|
309
|
+
classPrefix: classPrefix,
|
|
310
|
+
className: className
|
|
311
|
+
}, /*#__PURE__*/React.createElement(PickerToggle, _extends({
|
|
312
|
+
ref: target,
|
|
316
313
|
as: toggleAs,
|
|
317
314
|
appearance: appearance,
|
|
318
315
|
disabled: disabled,
|
|
319
|
-
ref: target,
|
|
320
316
|
onClean: createChainedFunction(handleClean, onClean),
|
|
321
317
|
onKeyDown: onPickerKeyDown,
|
|
322
318
|
cleanable: cleanable && !disabled,
|
|
319
|
+
countable: countable,
|
|
323
320
|
hasValue: hasValue,
|
|
324
321
|
active: active,
|
|
325
322
|
placement: placement,
|
|
326
323
|
inputValue: value
|
|
327
|
-
}), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)))
|
|
324
|
+
}, rest), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)));
|
|
328
325
|
});
|
|
329
326
|
MultiCascader.displayName = 'MultiCascader';
|
|
330
327
|
export default MultiCascader;
|
package/esm/Nav/NavItem.js
CHANGED
|
@@ -4,7 +4,7 @@ import React, { useCallback, useContext } from 'react';
|
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import isNil from 'lodash/isNil';
|
|
6
6
|
import Ripple from "../internals/Ripple/index.js";
|
|
7
|
-
import SafeAnchor from "../SafeAnchor/index.js";
|
|
7
|
+
import SafeAnchor from "../internals/SafeAnchor/index.js";
|
|
8
8
|
import NavContext from "./NavContext.js";
|
|
9
9
|
import Box from "../internals/Box/index.js";
|
|
10
10
|
import { useStyles } from "../internals/hooks/index.js";
|
package/esm/Nav/NavMegaMenu.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { NavbarMegaMenuProps } from '../Navbar/NavbarMegaMenu';
|
|
3
3
|
export type NavMegaMenuProps = NavbarMegaMenuProps;
|
|
4
|
+
/**
|
|
5
|
+
* The `Nav.MegaMenu` component is used to create a mega menu.
|
|
6
|
+
* @see https://rsuitejs.com/components/navbar/#mega-menu
|
|
7
|
+
* @version 6.0.0
|
|
8
|
+
*/
|
|
4
9
|
declare const NavMegaMenu: React.ForwardRefExoticComponent<NavbarMegaMenuProps & React.RefAttributes<any>>;
|
|
5
10
|
export default NavMegaMenu;
|
package/esm/Nav/NavMegaMenu.js
CHANGED
|
@@ -3,6 +3,11 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
3
3
|
import React, { useContext } from 'react';
|
|
4
4
|
import NavbarMegaMenu from "../Navbar/NavbarMegaMenu.js";
|
|
5
5
|
import { NavbarContext } from "../Navbar/index.js";
|
|
6
|
+
/**
|
|
7
|
+
* The `Nav.MegaMenu` component is used to create a mega menu.
|
|
8
|
+
* @see https://rsuitejs.com/components/navbar/#mega-menu
|
|
9
|
+
* @version 6.0.0
|
|
10
|
+
*/
|
|
6
11
|
const NavMegaMenu = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
7
12
|
const navbar = useContext(NavbarContext);
|
|
8
13
|
if (!navbar) {
|
package/esm/Navbar/NavbarItem.js
CHANGED
|
@@ -4,7 +4,7 @@ import React, { useCallback, useContext } from 'react';
|
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import isNil from 'lodash/isNil';
|
|
6
6
|
import NavContext from "../Nav/NavContext.js";
|
|
7
|
-
import SafeAnchor from "../SafeAnchor/index.js";
|
|
7
|
+
import SafeAnchor from "../internals/SafeAnchor/index.js";
|
|
8
8
|
import Ripple from "../internals/Ripple/index.js";
|
|
9
9
|
import Box from "../internals/Box/index.js";
|
|
10
10
|
import { useStyles } from "../internals/hooks/index.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { InputProps } from '../Input';
|
|
3
|
+
export interface PasswordInputProps extends Omit<InputProps, 'type' | 'plaintext'> {
|
|
4
|
+
/** Controls whether the password is visible */
|
|
5
|
+
visible?: boolean;
|
|
6
|
+
/** Default visibility state of the password */
|
|
7
|
+
defaultVisible?: boolean;
|
|
8
|
+
/** Custom icon for visibility toggle */
|
|
9
|
+
renderVisibilityIcon?: (visible: boolean) => React.ReactNode;
|
|
10
|
+
/** Callback function triggered when the password visibility changes */
|
|
11
|
+
onVisibleChange?: (visible: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
declare const PasswordInput: import("../internals/types").InternalRefForwardingComponent<"input", PasswordInputProps, never> & Record<string, never>;
|
|
14
|
+
export default PasswordInput;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import Input from "../Input/index.js";
|
|
5
|
+
import InputGroup from "../InputGroup/index.js";
|
|
6
|
+
import EyeCloseIcon from '@rsuite/icons/EyeClose';
|
|
7
|
+
import VisibleIcon from '@rsuite/icons/Visible';
|
|
8
|
+
import { forwardRef } from "../internals/utils/index.js";
|
|
9
|
+
import { useStyles, useControlled, useEventCallback } from "../internals/hooks/index.js";
|
|
10
|
+
import { useCustom } from "../CustomProvider/index.js";
|
|
11
|
+
const PasswordInput = forwardRef((props, ref) => {
|
|
12
|
+
const {
|
|
13
|
+
propsWithDefaults
|
|
14
|
+
} = useCustom('PasswordInput', props);
|
|
15
|
+
const {
|
|
16
|
+
classPrefix = 'password-input',
|
|
17
|
+
className,
|
|
18
|
+
visible: controlVisible,
|
|
19
|
+
size,
|
|
20
|
+
defaultVisible,
|
|
21
|
+
value,
|
|
22
|
+
defaultValue,
|
|
23
|
+
placeholder,
|
|
24
|
+
id,
|
|
25
|
+
name,
|
|
26
|
+
readOnly,
|
|
27
|
+
inputRef,
|
|
28
|
+
onChange,
|
|
29
|
+
onVisibleChange,
|
|
30
|
+
renderVisibilityIcon,
|
|
31
|
+
...rest
|
|
32
|
+
} = propsWithDefaults;
|
|
33
|
+
const {
|
|
34
|
+
withPrefix,
|
|
35
|
+
merge
|
|
36
|
+
} = useStyles(classPrefix);
|
|
37
|
+
const [visible, setVisible] = useControlled(controlVisible, defaultVisible);
|
|
38
|
+
const classes = merge(className, withPrefix());
|
|
39
|
+
const handleToggleVisibility = useEventCallback(() => {
|
|
40
|
+
setVisible(!visible);
|
|
41
|
+
onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(!visible);
|
|
42
|
+
});
|
|
43
|
+
return /*#__PURE__*/React.createElement(InputGroup, _extends({
|
|
44
|
+
inside: true,
|
|
45
|
+
ref: ref,
|
|
46
|
+
size: size,
|
|
47
|
+
className: classes
|
|
48
|
+
}, rest), /*#__PURE__*/React.createElement(Input, {
|
|
49
|
+
type: visible ? 'text' : 'password',
|
|
50
|
+
value: value,
|
|
51
|
+
defaultValue: defaultValue,
|
|
52
|
+
onChange: onChange,
|
|
53
|
+
autoComplete: "off",
|
|
54
|
+
placeholder: placeholder,
|
|
55
|
+
readOnly: readOnly,
|
|
56
|
+
name: name,
|
|
57
|
+
id: id,
|
|
58
|
+
inputRef: inputRef
|
|
59
|
+
}), /*#__PURE__*/React.createElement(InputGroup.Button, {
|
|
60
|
+
tabIndex: -1,
|
|
61
|
+
onClick: handleToggleVisibility,
|
|
62
|
+
"aria-label": "Toggle password visibility"
|
|
63
|
+
}, (renderVisibilityIcon === null || renderVisibilityIcon === void 0 ? void 0 : renderVisibilityIcon(visible !== null && visible !== void 0 ? visible : false)) || (visible ? /*#__PURE__*/React.createElement(EyeCloseIcon, null) : /*#__PURE__*/React.createElement(VisibleIcon, null))));
|
|
64
|
+
});
|
|
65
|
+
PasswordInput.displayName = 'PasswordInput';
|
|
66
|
+
export default PasswordInput;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BoxProps } from '../internals/Box';
|
|
3
|
+
export interface PasswordStrengthMeterProps extends BoxProps {
|
|
4
|
+
/** The strength level of the password (0-3) */
|
|
5
|
+
level?: 0 | 1 | 2 | 3;
|
|
6
|
+
/** Label to display below the strength meter */
|
|
7
|
+
label?: React.ReactNode;
|
|
8
|
+
/** Maximum number of segments in the strength meter */
|
|
9
|
+
max?: number;
|
|
10
|
+
}
|
|
11
|
+
declare const PasswordStrengthMeter: import("../internals/types").InternalRefForwardingComponent<"div", PasswordStrengthMeterProps, never> & Record<string, never>;
|
|
12
|
+
export default PasswordStrengthMeter;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import Box from "../internals/Box/index.js";
|
|
5
|
+
import Text from "../Text/index.js";
|
|
6
|
+
import { forwardRef } from "../internals/utils/index.js";
|
|
7
|
+
import { useStyles } from "../internals/hooks/index.js";
|
|
8
|
+
import { useCustom } from "../CustomProvider/index.js";
|
|
9
|
+
const PasswordStrengthMeter = forwardRef((props, ref) => {
|
|
10
|
+
const {
|
|
11
|
+
propsWithDefaults
|
|
12
|
+
} = useCustom('PasswordStrengthMeter', props);
|
|
13
|
+
const {
|
|
14
|
+
classPrefix = 'password-strength-meter',
|
|
15
|
+
className,
|
|
16
|
+
level = 0,
|
|
17
|
+
max = 4,
|
|
18
|
+
label,
|
|
19
|
+
...rest
|
|
20
|
+
} = propsWithDefaults;
|
|
21
|
+
const {
|
|
22
|
+
withPrefix,
|
|
23
|
+
merge,
|
|
24
|
+
prefix
|
|
25
|
+
} = useStyles(classPrefix);
|
|
26
|
+
const classes = merge(className, withPrefix());
|
|
27
|
+
return /*#__PURE__*/React.createElement(Box, _extends({
|
|
28
|
+
ref: ref,
|
|
29
|
+
className: classes
|
|
30
|
+
}, rest), /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
className: prefix('bar')
|
|
32
|
+
}, [...Array.from({
|
|
33
|
+
length: max
|
|
34
|
+
})].map((_, idx) => /*#__PURE__*/React.createElement("div", {
|
|
35
|
+
key: idx,
|
|
36
|
+
"data-active": idx <= level,
|
|
37
|
+
className: prefix('segment')
|
|
38
|
+
}))), label && /*#__PURE__*/React.createElement(Text, {
|
|
39
|
+
as: "span",
|
|
40
|
+
muted: true,
|
|
41
|
+
size: "xs"
|
|
42
|
+
}, label));
|
|
43
|
+
});
|
|
44
|
+
PasswordStrengthMeter.displayName = 'PasswordStrengthMeter';
|
|
45
|
+
export default PasswordStrengthMeter;
|