@ifhover/leaf-ui 0.5.0 → 0.6.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/README.md +10 -7
- package/THIRD_PARTY.md +2 -3
- package/dist/cjs/alert/alert.cjs +4 -2
- package/dist/cjs/alert/alert.cjs.map +1 -1
- package/dist/cjs/alert/alert.d.cts +1 -1
- package/dist/cjs/alert/alert.d.cts.map +1 -1
- package/dist/cjs/anchor/anchor.cjs +5 -2
- package/dist/cjs/anchor/anchor.cjs.map +1 -1
- package/dist/cjs/anchor/anchor.d.cts +2 -2
- package/dist/cjs/anchor/anchor.d.cts.map +1 -1
- package/dist/cjs/anchor/index.cjs +13 -32
- package/dist/cjs/anchor/index.cjs.map +1 -1
- package/dist/cjs/anchor/index.d.cts +2 -1
- package/dist/cjs/anchor/index.d.cts.map +1 -1
- package/dist/cjs/appbar/appbar.cjs +7 -3
- package/dist/cjs/appbar/appbar.cjs.map +1 -1
- package/dist/cjs/appbar/appbar.d.cts +1 -1
- package/dist/cjs/appbar/appbar.d.cts.map +1 -1
- package/dist/cjs/appbar/index.cjs +16 -32
- package/dist/cjs/appbar/index.cjs.map +1 -1
- package/dist/cjs/appbar/index.d.cts +2 -1
- package/dist/cjs/appbar/index.d.cts.map +1 -1
- package/dist/cjs/autocomplete/autocomplete.cjs +35 -16
- package/dist/cjs/autocomplete/autocomplete.cjs.map +1 -1
- package/dist/cjs/autocomplete/autocomplete.d.cts.map +1 -1
- package/dist/cjs/autocomplete/index.cjs +10 -32
- package/dist/cjs/autocomplete/index.cjs.map +1 -1
- package/dist/cjs/autocomplete/index.d.cts +2 -1
- package/dist/cjs/autocomplete/index.d.cts.map +1 -1
- package/dist/cjs/avatar/avatar.cjs +14 -4
- package/dist/cjs/avatar/avatar.cjs.map +1 -1
- package/dist/cjs/avatar/avatar.d.cts +2 -1
- package/dist/cjs/avatar/avatar.d.cts.map +1 -1
- package/dist/cjs/avatar/group.cjs +12 -6
- package/dist/cjs/avatar/group.cjs.map +1 -1
- package/dist/cjs/avatar/group.d.cts +1 -1
- package/dist/cjs/avatar/group.d.cts.map +1 -1
- package/dist/cjs/backtop/backtop.cjs +6 -4
- package/dist/cjs/backtop/backtop.cjs.map +1 -1
- package/dist/cjs/backtop/backtop.d.cts +1 -1
- package/dist/cjs/backtop/backtop.d.cts.map +1 -1
- package/dist/cjs/badge/badge.cjs +3 -1
- package/dist/cjs/badge/badge.cjs.map +1 -1
- package/dist/cjs/badge/badge.d.cts +1 -1
- package/dist/cjs/badge/badge.d.cts.map +1 -1
- package/dist/cjs/breadcrumb/breadcrumb.cjs +13 -11
- package/dist/cjs/breadcrumb/breadcrumb.cjs.map +1 -1
- package/dist/cjs/breadcrumb/breadcrumb.d.cts +2 -2
- package/dist/cjs/breadcrumb/breadcrumb.d.cts.map +1 -1
- package/dist/cjs/browser/flex.cjs +2 -0
- package/dist/cjs/browser/modules/alert/alert.cjs +5 -2
- package/dist/cjs/browser/modules/alert/alert.cjs.map +1 -1
- package/dist/cjs/browser/modules/anchor/anchor.cjs +6 -2
- package/dist/cjs/browser/modules/anchor/anchor.cjs.map +1 -1
- package/dist/cjs/browser/modules/anchor/index.cjs +13 -32
- package/dist/cjs/browser/modules/anchor/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/appbar/appbar.cjs +8 -3
- package/dist/cjs/browser/modules/appbar/appbar.cjs.map +1 -1
- package/dist/cjs/browser/modules/appbar/index.cjs +16 -32
- package/dist/cjs/browser/modules/appbar/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/autocomplete/autocomplete.cjs +36 -16
- package/dist/cjs/browser/modules/autocomplete/autocomplete.cjs.map +1 -1
- package/dist/cjs/browser/modules/autocomplete/index.cjs +10 -32
- package/dist/cjs/browser/modules/autocomplete/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/avatar/avatar.cjs +15 -4
- package/dist/cjs/browser/modules/avatar/avatar.cjs.map +1 -1
- package/dist/cjs/browser/modules/avatar/group.cjs +13 -6
- package/dist/cjs/browser/modules/avatar/group.cjs.map +1 -1
- package/dist/cjs/browser/modules/backtop/backtop.cjs +7 -4
- package/dist/cjs/browser/modules/backtop/backtop.cjs.map +1 -1
- package/dist/cjs/browser/modules/badge/badge.cjs +4 -1
- package/dist/cjs/browser/modules/badge/badge.cjs.map +1 -1
- package/dist/cjs/browser/modules/breadcrumb/breadcrumb.cjs +14 -11
- package/dist/cjs/browser/modules/breadcrumb/breadcrumb.cjs.map +1 -1
- package/dist/cjs/browser/modules/button/button.cjs +17 -3
- package/dist/cjs/browser/modules/button/button.cjs.map +1 -1
- package/dist/cjs/browser/modules/button/group.cjs +26 -10
- package/dist/cjs/browser/modules/button/group.cjs.map +1 -1
- package/dist/cjs/browser/modules/calendar/calendar.cjs +5 -2
- package/dist/cjs/browser/modules/calendar/calendar.cjs.map +1 -1
- package/dist/cjs/browser/modules/card/card.cjs +42 -6
- package/dist/cjs/browser/modules/card/card.cjs.map +1 -1
- package/dist/cjs/browser/modules/carousel/carousel.cjs +13 -6
- package/dist/cjs/browser/modules/carousel/carousel.cjs.map +1 -1
- package/dist/cjs/browser/modules/carousel/index.cjs +10 -32
- package/dist/cjs/browser/modules/carousel/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/cascader/cascader.cjs +41 -20
- package/dist/cjs/browser/modules/cascader/cascader.cjs.map +1 -1
- package/dist/cjs/browser/modules/cascader/index.cjs +10 -41
- package/dist/cjs/browser/modules/cascader/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/checkbox/checkbox.cjs +16 -3
- package/dist/cjs/browser/modules/checkbox/checkbox.cjs.map +1 -1
- package/dist/cjs/browser/modules/checkbox/group.cjs +5 -2
- package/dist/cjs/browser/modules/checkbox/group.cjs.map +1 -1
- package/dist/cjs/browser/modules/checkbox/index.cjs +10 -41
- package/dist/cjs/browser/modules/checkbox/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/collapse/collapse.cjs +5 -2
- package/dist/cjs/browser/modules/collapse/collapse.cjs.map +1 -1
- package/dist/cjs/browser/modules/color-recipes.cjs +5 -0
- package/dist/cjs/browser/modules/color-recipes.cjs.map +1 -1
- package/dist/cjs/browser/modules/colorpicker/colorpicker.cjs +27 -13
- package/dist/cjs/browser/modules/colorpicker/colorpicker.cjs.map +1 -1
- package/dist/cjs/browser/modules/colorpicker/gradient.cjs +36 -19
- package/dist/cjs/browser/modules/colorpicker/gradient.cjs.map +1 -1
- package/dist/cjs/browser/modules/commandpalette/commandpalette.cjs +17 -14
- package/dist/cjs/browser/modules/commandpalette/commandpalette.cjs.map +1 -1
- package/dist/cjs/browser/modules/commandpalette/index.cjs +10 -32
- package/dist/cjs/browser/modules/commandpalette/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/config-provider/component-defaults.cjs +117 -0
- package/dist/cjs/browser/modules/config-provider/component-defaults.cjs.map +1 -0
- package/dist/cjs/browser/modules/{signaturepad/index.cjs → config-provider/config-context.cjs} +6 -5
- package/dist/cjs/browser/modules/config-provider/config-context.cjs.map +1 -0
- package/dist/cjs/browser/modules/config-provider/config-provider.cjs +44 -23
- package/dist/cjs/browser/modules/config-provider/config-provider.cjs.map +1 -1
- package/dist/cjs/browser/modules/config-provider/context.cjs +20 -207
- package/dist/cjs/browser/modules/config-provider/context.cjs.map +1 -1
- package/dist/cjs/browser/modules/config-provider/index.cjs +17 -42
- package/dist/cjs/browser/modules/config-provider/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/confirm/confirm.cjs +10 -8
- package/dist/cjs/browser/modules/confirm/confirm.cjs.map +1 -1
- package/dist/cjs/browser/modules/confirm/provider.cjs +26 -18
- package/dist/cjs/browser/modules/confirm/provider.cjs.map +1 -1
- package/dist/cjs/browser/modules/confirm/store.cjs +6 -4
- package/dist/cjs/browser/modules/confirm/store.cjs.map +1 -1
- package/dist/cjs/browser/modules/datepicker/datepicker.cjs +8 -5
- package/dist/cjs/browser/modules/datepicker/datepicker.cjs.map +1 -1
- package/dist/cjs/browser/modules/datepicker/index.cjs +10 -32
- package/dist/cjs/browser/modules/datepicker/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/datepicker/multiple.cjs +1 -0
- package/dist/cjs/browser/modules/datepicker/multiple.cjs.map +1 -1
- package/dist/cjs/browser/modules/daterangepicker/daterangepicker.cjs +29 -21
- package/dist/cjs/browser/modules/daterangepicker/daterangepicker.cjs.map +1 -1
- package/dist/cjs/browser/modules/datetimepicker/datetimepicker.cjs +24 -16
- package/dist/cjs/browser/modules/datetimepicker/datetimepicker.cjs.map +1 -1
- package/dist/cjs/browser/modules/density.cjs +13 -4
- package/dist/cjs/browser/modules/density.cjs.map +1 -1
- package/dist/cjs/browser/modules/descriptions/descriptions.cjs +8 -5
- package/dist/cjs/browser/modules/descriptions/descriptions.cjs.map +1 -1
- package/dist/cjs/browser/modules/divider/divider.cjs +4 -1
- package/dist/cjs/browser/modules/divider/divider.cjs.map +1 -1
- package/dist/cjs/browser/modules/drawer/drawer.cjs +7 -4
- package/dist/cjs/browser/modules/drawer/drawer.cjs.map +1 -1
- package/dist/cjs/browser/modules/dropdown/dropdown.cjs +17 -4
- package/dist/cjs/browser/modules/dropdown/dropdown.cjs.map +1 -1
- package/dist/cjs/browser/modules/empty/empty.cjs +5 -3
- package/dist/cjs/browser/modules/empty/empty.cjs.map +1 -1
- package/dist/cjs/browser/modules/errorboundary/errorboundary.cjs +26 -14
- package/dist/cjs/browser/modules/errorboundary/errorboundary.cjs.map +1 -1
- package/dist/cjs/browser/modules/filelist/filelist.cjs +288 -192
- package/dist/cjs/browser/modules/filelist/filelist.cjs.map +1 -1
- package/dist/cjs/browser/modules/flex/flex.cjs +76 -0
- package/dist/cjs/browser/modules/flex/flex.cjs.map +1 -0
- package/dist/cjs/browser/modules/{imagecropper → flex}/index.cjs +4 -4
- package/dist/cjs/browser/modules/flex/index.cjs.map +1 -0
- package/dist/cjs/browser/modules/floatbutton/floatbutton.cjs +23 -11
- package/dist/cjs/browser/modules/floatbutton/floatbutton.cjs.map +1 -1
- package/dist/cjs/browser/modules/floatbutton/index.cjs +16 -32
- package/dist/cjs/browser/modules/floatbutton/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/form/form.cjs +15 -9
- package/dist/cjs/browser/modules/form/form.cjs.map +1 -1
- package/dist/cjs/browser/modules/form/index.cjs +16 -54
- package/dist/cjs/browser/modules/form/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/form/list.cjs +4 -1
- package/dist/cjs/browser/modules/form/list.cjs.map +1 -1
- package/dist/cjs/browser/modules/grid/grid.cjs +19 -4
- package/dist/cjs/browser/modules/grid/grid.cjs.map +1 -1
- package/dist/cjs/browser/modules/image/image.cjs +26 -9
- package/dist/cjs/browser/modules/image/image.cjs.map +1 -1
- package/dist/cjs/browser/modules/image/viewer.cjs +35 -25
- package/dist/cjs/browser/modules/image/viewer.cjs.map +1 -1
- package/dist/cjs/browser/modules/index.cjs +4 -8
- package/dist/cjs/browser/modules/infinitescroll/infinitescroll.cjs +13 -10
- package/dist/cjs/browser/modules/infinitescroll/infinitescroll.cjs.map +1 -1
- package/dist/cjs/browser/modules/input/group.cjs +19 -8
- package/dist/cjs/browser/modules/input/group.cjs.map +1 -1
- package/dist/cjs/browser/modules/input/index.cjs +11 -43
- package/dist/cjs/browser/modules/input/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/input/input.cjs +17 -5
- package/dist/cjs/browser/modules/input/input.cjs.map +1 -1
- package/dist/cjs/browser/modules/inputmask/inputmask.cjs +6 -3
- package/dist/cjs/browser/modules/inputmask/inputmask.cjs.map +1 -1
- package/dist/cjs/browser/modules/inputnumber/inputnumber.cjs +20 -7
- package/dist/cjs/browser/modules/inputnumber/inputnumber.cjs.map +1 -1
- package/dist/cjs/browser/modules/inputnumber/string.cjs +4 -3
- package/dist/cjs/browser/modules/inputnumber/string.cjs.map +1 -1
- package/dist/cjs/browser/modules/inputotp/inputotp.cjs +5 -2
- package/dist/cjs/browser/modules/inputotp/inputotp.cjs.map +1 -1
- package/dist/cjs/browser/modules/layout/layout.cjs +16 -9
- package/dist/cjs/browser/modules/layout/layout.cjs.map +1 -1
- package/dist/cjs/browser/modules/loading/loading.cjs +15 -4
- package/dist/cjs/browser/modules/loading/loading.cjs.map +1 -1
- package/dist/cjs/browser/modules/loadingbar/loadingbar.cjs +55 -9
- package/dist/cjs/browser/modules/loadingbar/loadingbar.cjs.map +1 -1
- package/dist/cjs/browser/modules/locales/en-US.cjs +1 -0
- package/dist/cjs/browser/modules/locales/ja-JP.cjs +1 -0
- package/dist/cjs/browser/modules/locales/ko-KR.cjs +1 -0
- package/dist/cjs/browser/modules/locales/messages.cjs +21 -0
- package/dist/cjs/browser/modules/locales/messages.cjs.map +1 -0
- package/dist/cjs/browser/modules/locales/resolve.cjs +153 -0
- package/dist/cjs/browser/modules/locales/resolve.cjs.map +1 -0
- package/dist/cjs/browser/modules/locales/types.cjs +21 -0
- package/dist/cjs/browser/modules/locales/types.cjs.map +1 -0
- package/dist/cjs/browser/modules/locales/zh-CN.cjs +1 -0
- package/dist/cjs/browser/modules/locales/zh-TW.cjs +1 -0
- package/dist/cjs/browser/modules/masonry/masonry.cjs +8 -5
- package/dist/cjs/browser/modules/masonry/masonry.cjs.map +1 -1
- package/dist/cjs/browser/modules/mentions/index.cjs +10 -32
- package/dist/cjs/browser/modules/mentions/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/mentions/mentions.cjs +10 -6
- package/dist/cjs/browser/modules/mentions/mentions.cjs.map +1 -1
- package/dist/cjs/browser/modules/menu/menu.cjs +7 -4
- package/dist/cjs/browser/modules/menu/menu.cjs.map +1 -1
- package/dist/cjs/browser/modules/message/item.cjs +2 -1
- package/dist/cjs/browser/modules/message/item.cjs.map +1 -1
- package/dist/cjs/browser/modules/message/message.cjs +11 -4
- package/dist/cjs/browser/modules/message/message.cjs.map +1 -1
- package/dist/cjs/browser/modules/message/provider.cjs +9 -4
- package/dist/cjs/browser/modules/message/provider.cjs.map +1 -1
- package/dist/cjs/browser/modules/message/store.cjs +12 -6
- package/dist/cjs/browser/modules/message/store.cjs.map +1 -1
- package/dist/cjs/browser/modules/modal/modal.cjs +26 -13
- package/dist/cjs/browser/modules/modal/modal.cjs.map +1 -1
- package/dist/cjs/browser/modules/notification/notification.cjs +28 -14
- package/dist/cjs/browser/modules/notification/notification.cjs.map +1 -1
- package/dist/cjs/browser/modules/pagination/pagination.cjs +75 -26
- package/dist/cjs/browser/modules/pagination/pagination.cjs.map +1 -1
- package/dist/cjs/browser/modules/popconfirm/popconfirm.cjs +13 -10
- package/dist/cjs/browser/modules/popconfirm/popconfirm.cjs.map +1 -1
- package/dist/cjs/browser/modules/popover/popover.cjs +14 -3
- package/dist/cjs/browser/modules/popover/popover.cjs.map +1 -1
- package/dist/cjs/browser/modules/progress/progress.cjs +6 -3
- package/dist/cjs/browser/modules/progress/progress.cjs.map +1 -1
- package/dist/cjs/browser/modules/qrcode/qrcode.cjs +11 -8
- package/dist/cjs/browser/modules/qrcode/qrcode.cjs.map +1 -1
- package/dist/cjs/browser/modules/radio/index.cjs +13 -32
- package/dist/cjs/browser/modules/radio/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/radio/radio.cjs +18 -4
- package/dist/cjs/browser/modules/radio/radio.cjs.map +1 -1
- package/dist/cjs/browser/modules/rate/rate.cjs +9 -6
- package/dist/cjs/browser/modules/rate/rate.cjs.map +1 -1
- package/dist/cjs/browser/modules/result/result.cjs +15 -4
- package/dist/cjs/browser/modules/result/result.cjs.map +1 -1
- package/dist/cjs/browser/modules/scrollarea/scrollarea.cjs +6 -3
- package/dist/cjs/browser/modules/scrollarea/scrollarea.cjs.map +1 -1
- package/dist/cjs/browser/modules/scrollbar/scrollbar.cjs +17 -4
- package/dist/cjs/browser/modules/scrollbar/scrollbar.cjs.map +1 -1
- package/dist/cjs/browser/modules/segmented/segmented.cjs +4 -1
- package/dist/cjs/browser/modules/segmented/segmented.cjs.map +1 -1
- package/dist/cjs/browser/modules/select/index.cjs +10 -32
- package/dist/cjs/browser/modules/select/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/select/select.cjs +180 -209
- package/dist/cjs/browser/modules/select/select.cjs.map +1 -1
- package/dist/cjs/browser/modules/shared/calendar.cjs +7 -6
- package/dist/cjs/browser/modules/shared/calendar.cjs.map +1 -1
- package/dist/cjs/browser/modules/shared/date-input.cjs +6 -6
- package/dist/cjs/browser/modules/shared/date-input.cjs.map +1 -1
- package/dist/cjs/browser/modules/shared/floating-feedback.cjs +62 -0
- package/dist/cjs/browser/modules/shared/floating-feedback.cjs.map +1 -0
- package/dist/cjs/browser/modules/shared/floating.cjs +1 -0
- package/dist/cjs/browser/modules/shared/floating.cjs.map +1 -1
- package/dist/cjs/browser/modules/shared/motion.cjs +3 -3
- package/dist/cjs/browser/modules/shared/motion.cjs.map +1 -1
- package/dist/cjs/browser/modules/shared/parse-date.cjs +2 -2
- package/dist/cjs/browser/modules/shared/parse-date.cjs.map +1 -1
- package/dist/cjs/browser/modules/shared/scoped-portal.cjs +17 -2
- package/dist/cjs/browser/modules/shared/scoped-portal.cjs.map +1 -1
- package/dist/cjs/browser/modules/shared/selection-content.cjs +202 -0
- package/dist/cjs/browser/modules/shared/selection-content.cjs.map +1 -0
- package/dist/cjs/browser/modules/shared/time.cjs +16 -2
- package/dist/cjs/browser/modules/shared/time.cjs.map +1 -1
- package/dist/cjs/browser/modules/shared/use-drag-announcements.cjs +66 -0
- package/dist/cjs/browser/modules/shared/use-drag-announcements.cjs.map +1 -0
- package/dist/cjs/browser/modules/shared/use-formatted-text.cjs +118 -0
- package/dist/cjs/browser/modules/shared/use-formatted-text.cjs.map +1 -0
- package/dist/cjs/browser/modules/shared/use-text.cjs +3 -3
- package/dist/cjs/browser/modules/shared/use-text.cjs.map +1 -1
- package/dist/cjs/browser/modules/skeleton/skeleton.cjs +15 -4
- package/dist/cjs/browser/modules/skeleton/skeleton.cjs.map +1 -1
- package/dist/cjs/browser/modules/slider/slider.cjs +19 -6
- package/dist/cjs/browser/modules/slider/slider.cjs.map +1 -1
- package/dist/cjs/browser/modules/space/space.cjs +4 -1
- package/dist/cjs/browser/modules/space/space.cjs.map +1 -1
- package/dist/cjs/browser/modules/splitter/index.cjs +13 -32
- package/dist/cjs/browser/modules/splitter/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/splitter/splitter.cjs +10 -3
- package/dist/cjs/browser/modules/splitter/splitter.cjs.map +1 -1
- package/dist/cjs/browser/modules/statistic/index.cjs +13 -32
- package/dist/cjs/browser/modules/statistic/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/statistic/statistic.cjs +18 -6
- package/dist/cjs/browser/modules/statistic/statistic.cjs.map +1 -1
- package/dist/cjs/browser/modules/steps/steps.cjs +4 -1
- package/dist/cjs/browser/modules/steps/steps.cjs.map +1 -1
- package/dist/cjs/browser/modules/switch/index.cjs +10 -32
- package/dist/cjs/browser/modules/switch/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/switch/switch.cjs +4 -1
- package/dist/cjs/browser/modules/switch/switch.cjs.map +1 -1
- package/dist/cjs/browser/modules/table/table.cjs +148 -32
- package/dist/cjs/browser/modules/table/table.cjs.map +1 -1
- package/dist/cjs/browser/modules/tabletanstack/defaults.cjs +21 -0
- package/dist/cjs/browser/modules/tabletanstack/defaults.cjs.map +1 -0
- package/dist/cjs/browser/modules/tabletanstack/reordering.cjs +19 -10
- package/dist/cjs/browser/modules/tabletanstack/reordering.cjs.map +1 -1
- package/dist/cjs/browser/modules/tabletanstack/tabletanstack.cjs +116 -69
- package/dist/cjs/browser/modules/tabletanstack/tabletanstack.cjs.map +1 -1
- package/dist/cjs/browser/modules/tabs/tabs.cjs +122 -173
- package/dist/cjs/browser/modules/tabs/tabs.cjs.map +1 -1
- package/dist/cjs/browser/modules/tag/group.cjs +6 -2
- package/dist/cjs/browser/modules/tag/group.cjs.map +1 -1
- package/dist/cjs/browser/modules/tag/tag.cjs +5 -8
- package/dist/cjs/browser/modules/tag/tag.cjs.map +1 -1
- package/dist/cjs/browser/modules/tailwind-tokens.cjs +131 -0
- package/dist/cjs/browser/modules/tailwind-tokens.cjs.map +1 -0
- package/dist/cjs/browser/modules/tailwind.cjs +62 -0
- package/dist/cjs/browser/modules/tailwind.cjs.map +1 -0
- package/dist/cjs/browser/modules/textarea/index.cjs +10 -32
- package/dist/cjs/browser/modules/textarea/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/textarea/textarea.cjs +16 -3
- package/dist/cjs/browser/modules/textarea/textarea.cjs.map +1 -1
- package/dist/cjs/browser/modules/timeline/timeline.cjs +4 -1
- package/dist/cjs/browser/modules/timeline/timeline.cjs.map +1 -1
- package/dist/cjs/browser/modules/timepicker/index.cjs +10 -32
- package/dist/cjs/browser/modules/timepicker/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/timepicker/time-panel.cjs +7 -6
- package/dist/cjs/browser/modules/timepicker/time-panel.cjs.map +1 -1
- package/dist/cjs/browser/modules/timepicker/timepicker.cjs +22 -13
- package/dist/cjs/browser/modules/timepicker/timepicker.cjs.map +1 -1
- package/dist/cjs/browser/modules/timerangepicker/timerangepicker.cjs +21 -14
- package/dist/cjs/browser/modules/timerangepicker/timerangepicker.cjs.map +1 -1
- package/dist/cjs/browser/modules/tooltip/tooltip.cjs +14 -3
- package/dist/cjs/browser/modules/tooltip/tooltip.cjs.map +1 -1
- package/dist/cjs/browser/modules/tour/index.cjs +10 -32
- package/dist/cjs/browser/modules/tour/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/tour/tour.cjs +11 -8
- package/dist/cjs/browser/modules/tour/tour.cjs.map +1 -1
- package/dist/cjs/browser/modules/transfer/transfer.cjs +27 -21
- package/dist/cjs/browser/modules/transfer/transfer.cjs.map +1 -1
- package/dist/cjs/browser/modules/tree/drag.cjs +14 -11
- package/dist/cjs/browser/modules/tree/drag.cjs.map +1 -1
- package/dist/cjs/browser/modules/tree/tree.cjs +33 -13
- package/dist/cjs/browser/modules/tree/tree.cjs.map +1 -1
- package/dist/cjs/browser/modules/treeselect/treeselect.cjs +154 -112
- package/dist/cjs/browser/modules/treeselect/treeselect.cjs.map +1 -1
- package/dist/cjs/browser/modules/typography/index.cjs +22 -32
- package/dist/cjs/browser/modules/typography/index.cjs.map +1 -1
- package/dist/cjs/browser/modules/typography/typography.cjs +19 -12
- package/dist/cjs/browser/modules/typography/typography.cjs.map +1 -1
- package/dist/cjs/browser/modules/upload/upload.cjs +30 -21
- package/dist/cjs/browser/modules/upload/upload.cjs.map +1 -1
- package/dist/cjs/browser/modules/virtuallist/virtuallist.cjs +20 -6
- package/dist/cjs/browser/modules/virtuallist/virtuallist.cjs.map +1 -1
- package/dist/cjs/button/button.cjs +16 -3
- package/dist/cjs/button/button.cjs.map +1 -1
- package/dist/cjs/button/button.d.cts +3 -1
- package/dist/cjs/button/button.d.cts.map +1 -1
- package/dist/cjs/button/group.cjs +25 -10
- package/dist/cjs/button/group.cjs.map +1 -1
- package/dist/cjs/button/group.d.cts +4 -3
- package/dist/cjs/button/group.d.cts.map +1 -1
- package/dist/cjs/calendar/calendar.cjs +4 -2
- package/dist/cjs/calendar/calendar.cjs.map +1 -1
- package/dist/cjs/calendar/calendar.d.cts +1 -1
- package/dist/cjs/calendar/calendar.d.cts.map +1 -1
- package/dist/cjs/card/card.cjs +41 -6
- package/dist/cjs/card/card.cjs.map +1 -1
- package/dist/cjs/card/card.d.cts +9 -3
- package/dist/cjs/card/card.d.cts.map +1 -1
- package/dist/cjs/card/index.d.cts +1 -1
- package/dist/cjs/card/index.d.cts.map +1 -1
- package/dist/cjs/carousel/carousel.cjs +12 -6
- package/dist/cjs/carousel/carousel.cjs.map +1 -1
- package/dist/cjs/carousel/carousel.d.cts.map +1 -1
- package/dist/cjs/carousel/index.cjs +10 -32
- package/dist/cjs/carousel/index.cjs.map +1 -1
- package/dist/cjs/carousel/index.d.cts +2 -1
- package/dist/cjs/carousel/index.d.cts.map +1 -1
- package/dist/cjs/cascader/cascader.cjs +40 -20
- package/dist/cjs/cascader/cascader.cjs.map +1 -1
- package/dist/cjs/cascader/cascader.d.cts +2 -0
- package/dist/cjs/cascader/cascader.d.cts.map +1 -1
- package/dist/cjs/cascader/index.cjs +10 -41
- package/dist/cjs/cascader/index.cjs.map +1 -1
- package/dist/cjs/cascader/index.d.cts +2 -1
- package/dist/cjs/cascader/index.d.cts.map +1 -1
- package/dist/cjs/checkbox/checkbox.cjs +15 -3
- package/dist/cjs/checkbox/checkbox.cjs.map +1 -1
- package/dist/cjs/checkbox/checkbox.d.cts +1 -0
- package/dist/cjs/checkbox/checkbox.d.cts.map +1 -1
- package/dist/cjs/checkbox/group.cjs +4 -2
- package/dist/cjs/checkbox/group.cjs.map +1 -1
- package/dist/cjs/checkbox/group.d.cts +1 -1
- package/dist/cjs/checkbox/group.d.cts.map +1 -1
- package/dist/cjs/checkbox/index.cjs +10 -41
- package/dist/cjs/checkbox/index.cjs.map +1 -1
- package/dist/cjs/checkbox/index.d.cts +2 -1
- package/dist/cjs/checkbox/index.d.cts.map +1 -1
- package/dist/cjs/collapse/collapse.cjs +4 -2
- package/dist/cjs/collapse/collapse.cjs.map +1 -1
- package/dist/cjs/collapse/collapse.d.cts +1 -1
- package/dist/cjs/collapse/collapse.d.cts.map +1 -1
- package/dist/cjs/color-recipes.cjs +5 -0
- package/dist/cjs/color-recipes.cjs.map +1 -1
- package/dist/cjs/color-recipes.d.cts.map +1 -1
- package/dist/cjs/colorpicker/colorpicker.cjs +26 -13
- package/dist/cjs/colorpicker/colorpicker.cjs.map +1 -1
- package/dist/cjs/colorpicker/colorpicker.d.cts +1 -1
- package/dist/cjs/colorpicker/colorpicker.d.cts.map +1 -1
- package/dist/cjs/colorpicker/gradient.cjs +35 -19
- package/dist/cjs/colorpicker/gradient.cjs.map +1 -1
- package/dist/cjs/colorpicker/gradient.d.cts.map +1 -1
- package/dist/cjs/commandpalette/commandpalette.cjs +16 -14
- package/dist/cjs/commandpalette/commandpalette.cjs.map +1 -1
- package/dist/cjs/commandpalette/commandpalette.d.cts +1 -1
- package/dist/cjs/commandpalette/commandpalette.d.cts.map +1 -1
- package/dist/cjs/commandpalette/index.cjs +10 -32
- package/dist/cjs/commandpalette/index.cjs.map +1 -1
- package/dist/cjs/commandpalette/index.d.cts +2 -1
- package/dist/cjs/commandpalette/index.d.cts.map +1 -1
- package/dist/cjs/config-provider/component-defaults.cjs +117 -0
- package/dist/cjs/config-provider/component-defaults.cjs.map +1 -0
- package/dist/cjs/config-provider/component-defaults.d.cts +365 -0
- package/dist/cjs/config-provider/component-defaults.d.cts.map +1 -0
- package/dist/cjs/{signaturepad/index.cjs → config-provider/config-context.cjs} +6 -5
- package/dist/cjs/config-provider/config-context.cjs.map +1 -0
- package/dist/cjs/config-provider/config-context.d.cts +15 -0
- package/dist/cjs/config-provider/config-context.d.cts.map +1 -0
- package/dist/cjs/config-provider/config-provider.cjs +44 -23
- package/dist/cjs/config-provider/config-provider.cjs.map +1 -1
- package/dist/cjs/config-provider/config-provider.d.cts +13 -6
- package/dist/cjs/config-provider/config-provider.d.cts.map +1 -1
- package/dist/cjs/config-provider/context.cjs +20 -207
- package/dist/cjs/config-provider/context.cjs.map +1 -1
- package/dist/cjs/config-provider/context.d.cts +11 -368
- package/dist/cjs/config-provider/context.d.cts.map +1 -1
- package/dist/cjs/config-provider/index.cjs +17 -42
- package/dist/cjs/config-provider/index.cjs.map +1 -1
- package/dist/cjs/config-provider/index.d.cts +2 -2
- package/dist/cjs/config-provider/index.d.cts.map +1 -1
- package/dist/cjs/confirm/confirm.cjs +10 -8
- package/dist/cjs/confirm/confirm.cjs.map +1 -1
- package/dist/cjs/confirm/confirm.d.cts +1 -1
- package/dist/cjs/confirm/confirm.d.cts.map +1 -1
- package/dist/cjs/confirm/provider.cjs +26 -18
- package/dist/cjs/confirm/provider.cjs.map +1 -1
- package/dist/cjs/confirm/provider.d.cts.map +1 -1
- package/dist/cjs/confirm/store.cjs +6 -4
- package/dist/cjs/confirm/store.cjs.map +1 -1
- package/dist/cjs/confirm/store.d.cts +6 -4
- package/dist/cjs/confirm/store.d.cts.map +1 -1
- package/dist/cjs/datepicker/datepicker.cjs +7 -5
- package/dist/cjs/datepicker/datepicker.cjs.map +1 -1
- package/dist/cjs/datepicker/datepicker.d.cts.map +1 -1
- package/dist/cjs/datepicker/index.cjs +10 -32
- package/dist/cjs/datepicker/index.cjs.map +1 -1
- package/dist/cjs/datepicker/index.d.cts +2 -1
- package/dist/cjs/datepicker/index.d.cts.map +1 -1
- package/dist/cjs/daterangepicker/daterangepicker.cjs +29 -21
- package/dist/cjs/daterangepicker/daterangepicker.cjs.map +1 -1
- package/dist/cjs/daterangepicker/daterangepicker.d.cts.map +1 -1
- package/dist/cjs/datetimepicker/datetimepicker.cjs +24 -16
- package/dist/cjs/datetimepicker/datetimepicker.cjs.map +1 -1
- package/dist/cjs/datetimepicker/datetimepicker.d.cts.map +1 -1
- package/dist/cjs/density.cjs +13 -4
- package/dist/cjs/density.cjs.map +1 -1
- package/dist/cjs/density.d.cts +3 -1
- package/dist/cjs/density.d.cts.map +1 -1
- package/dist/cjs/descriptions/descriptions.cjs +7 -5
- package/dist/cjs/descriptions/descriptions.cjs.map +1 -1
- package/dist/cjs/descriptions/descriptions.d.cts +1 -1
- package/dist/cjs/descriptions/descriptions.d.cts.map +1 -1
- package/dist/cjs/divider/divider.cjs +3 -1
- package/dist/cjs/divider/divider.cjs.map +1 -1
- package/dist/cjs/divider/divider.d.cts +1 -1
- package/dist/cjs/divider/divider.d.cts.map +1 -1
- package/dist/cjs/drawer/drawer.cjs +6 -4
- package/dist/cjs/drawer/drawer.cjs.map +1 -1
- package/dist/cjs/drawer/drawer.d.cts +1 -1
- package/dist/cjs/drawer/drawer.d.cts.map +1 -1
- package/dist/cjs/dropdown/dropdown.cjs +16 -4
- package/dist/cjs/dropdown/dropdown.cjs.map +1 -1
- package/dist/cjs/dropdown/dropdown.d.cts +2 -1
- package/dist/cjs/dropdown/dropdown.d.cts.map +1 -1
- package/dist/cjs/empty/empty.cjs +5 -3
- package/dist/cjs/empty/empty.cjs.map +1 -1
- package/dist/cjs/empty/empty.d.cts +1 -1
- package/dist/cjs/empty/empty.d.cts.map +1 -1
- package/dist/cjs/errorboundary/errorboundary.cjs +25 -14
- package/dist/cjs/errorboundary/errorboundary.cjs.map +1 -1
- package/dist/cjs/errorboundary/errorboundary.d.cts +8 -2
- package/dist/cjs/errorboundary/errorboundary.d.cts.map +1 -1
- package/dist/cjs/filelist/filelist.cjs +287 -192
- package/dist/cjs/filelist/filelist.cjs.map +1 -1
- package/dist/cjs/filelist/filelist.d.cts +2 -1
- package/dist/cjs/filelist/filelist.d.cts.map +1 -1
- package/dist/cjs/flex/flex.cjs +74 -0
- package/dist/cjs/flex/flex.cjs.map +1 -0
- package/dist/cjs/flex/flex.d.cts +13 -0
- package/dist/cjs/flex/flex.d.cts.map +1 -0
- package/dist/cjs/{imagecropper → flex}/index.cjs +4 -4
- package/dist/cjs/flex/index.cjs.map +1 -0
- package/dist/cjs/flex/index.d.cts +2 -0
- package/dist/cjs/flex/index.d.cts.map +1 -0
- package/dist/cjs/floatbutton/floatbutton.cjs +22 -11
- package/dist/cjs/floatbutton/floatbutton.cjs.map +1 -1
- package/dist/cjs/floatbutton/floatbutton.d.cts +5 -3
- package/dist/cjs/floatbutton/floatbutton.d.cts.map +1 -1
- package/dist/cjs/floatbutton/index.cjs +16 -32
- package/dist/cjs/floatbutton/index.cjs.map +1 -1
- package/dist/cjs/floatbutton/index.d.cts +2 -1
- package/dist/cjs/floatbutton/index.d.cts.map +1 -1
- package/dist/cjs/form/form.cjs +14 -9
- package/dist/cjs/form/form.cjs.map +1 -1
- package/dist/cjs/form/form.d.cts +3 -3
- package/dist/cjs/form/form.d.cts.map +1 -1
- package/dist/cjs/form/index.cjs +16 -54
- package/dist/cjs/form/index.cjs.map +1 -1
- package/dist/cjs/form/index.d.cts +2 -1
- package/dist/cjs/form/index.d.cts.map +1 -1
- package/dist/cjs/form/list.cjs +3 -1
- package/dist/cjs/form/list.cjs.map +1 -1
- package/dist/cjs/form/list.d.cts +1 -1
- package/dist/cjs/form/list.d.cts.map +1 -1
- package/dist/cjs/grid/grid.cjs +18 -4
- package/dist/cjs/grid/grid.cjs.map +1 -1
- package/dist/cjs/grid/grid.d.cts +2 -1
- package/dist/cjs/grid/grid.d.cts.map +1 -1
- package/dist/cjs/image/image.cjs +25 -9
- package/dist/cjs/image/image.cjs.map +1 -1
- package/dist/cjs/image/image.d.cts +3 -2
- package/dist/cjs/image/image.d.cts.map +1 -1
- package/dist/cjs/image/viewer.cjs +34 -25
- package/dist/cjs/image/viewer.cjs.map +1 -1
- package/dist/cjs/image/viewer.d.cts.map +1 -1
- package/dist/cjs/index.cjs +4 -8
- package/dist/cjs/index.d.cts +6 -7
- package/dist/cjs/index.d.cts.map +1 -1
- package/dist/cjs/infinitescroll/infinitescroll.cjs +12 -10
- package/dist/cjs/infinitescroll/infinitescroll.cjs.map +1 -1
- package/dist/cjs/infinitescroll/infinitescroll.d.cts +1 -1
- package/dist/cjs/infinitescroll/infinitescroll.d.cts.map +1 -1
- package/dist/cjs/input/group.cjs +18 -8
- package/dist/cjs/input/group.cjs.map +1 -1
- package/dist/cjs/input/group.d.cts +1 -1
- package/dist/cjs/input/group.d.cts.map +1 -1
- package/dist/cjs/input/index.cjs +11 -43
- package/dist/cjs/input/index.cjs.map +1 -1
- package/dist/cjs/input/index.d.cts +2 -1
- package/dist/cjs/input/index.d.cts.map +1 -1
- package/dist/cjs/input/input.cjs +16 -5
- package/dist/cjs/input/input.cjs.map +1 -1
- package/dist/cjs/input/input.d.cts +1 -0
- package/dist/cjs/input/input.d.cts.map +1 -1
- package/dist/cjs/inputmask/inputmask.cjs +5 -3
- package/dist/cjs/inputmask/inputmask.cjs.map +1 -1
- package/dist/cjs/inputmask/inputmask.d.cts +1 -1
- package/dist/cjs/inputmask/inputmask.d.cts.map +1 -1
- package/dist/cjs/inputnumber/inputnumber.cjs +19 -7
- package/dist/cjs/inputnumber/inputnumber.cjs.map +1 -1
- package/dist/cjs/inputnumber/inputnumber.d.cts +1 -0
- package/dist/cjs/inputnumber/inputnumber.d.cts.map +1 -1
- package/dist/cjs/inputnumber/string.cjs +3 -3
- package/dist/cjs/inputnumber/string.cjs.map +1 -1
- package/dist/cjs/inputnumber/string.d.cts.map +1 -1
- package/dist/cjs/inputotp/inputotp.cjs +4 -2
- package/dist/cjs/inputotp/inputotp.cjs.map +1 -1
- package/dist/cjs/inputotp/inputotp.d.cts.map +1 -1
- package/dist/cjs/layout/layout.cjs +15 -9
- package/dist/cjs/layout/layout.cjs.map +1 -1
- package/dist/cjs/layout/layout.d.cts.map +1 -1
- package/dist/cjs/loading/loading.cjs +14 -4
- package/dist/cjs/loading/loading.cjs.map +1 -1
- package/dist/cjs/loading/loading.d.cts +2 -1
- package/dist/cjs/loading/loading.d.cts.map +1 -1
- package/dist/cjs/loadingbar/loadingbar.cjs +54 -9
- package/dist/cjs/loadingbar/loadingbar.cjs.map +1 -1
- package/dist/cjs/loadingbar/loadingbar.d.cts +2 -1
- package/dist/cjs/loadingbar/loadingbar.d.cts.map +1 -1
- package/dist/cjs/locales/en-US.cjs +1 -0
- package/dist/cjs/locales/ja-JP.cjs +1 -0
- package/dist/cjs/locales/ko-KR.cjs +1 -0
- package/dist/cjs/locales/messages.cjs +21 -0
- package/dist/cjs/locales/messages.cjs.map +1 -0
- package/dist/cjs/locales/messages.d.cts +336 -0
- package/dist/cjs/locales/messages.d.cts.map +1 -0
- package/dist/cjs/locales/resolve.cjs +153 -0
- package/dist/cjs/locales/resolve.cjs.map +1 -0
- package/dist/cjs/locales/resolve.d.cts +13 -0
- package/dist/cjs/locales/resolve.d.cts.map +1 -0
- package/dist/cjs/locales/types.cjs +21 -0
- package/dist/cjs/locales/types.cjs.map +1 -0
- package/dist/cjs/locales/types.d.cts +18 -0
- package/dist/cjs/locales/types.d.cts.map +1 -0
- package/dist/cjs/locales/zh-CN.cjs +1 -0
- package/dist/cjs/locales/zh-TW.cjs +1 -0
- package/dist/cjs/masonry/masonry.cjs +7 -5
- package/dist/cjs/masonry/masonry.cjs.map +1 -1
- package/dist/cjs/masonry/masonry.d.cts.map +1 -1
- package/dist/cjs/mentions/index.cjs +10 -32
- package/dist/cjs/mentions/index.cjs.map +1 -1
- package/dist/cjs/mentions/index.d.cts +2 -1
- package/dist/cjs/mentions/index.d.cts.map +1 -1
- package/dist/cjs/mentions/mentions.cjs +9 -6
- package/dist/cjs/mentions/mentions.cjs.map +1 -1
- package/dist/cjs/mentions/mentions.d.cts +1 -1
- package/dist/cjs/mentions/mentions.d.cts.map +1 -1
- package/dist/cjs/menu/menu.cjs +6 -4
- package/dist/cjs/menu/menu.cjs.map +1 -1
- package/dist/cjs/menu/menu.d.cts +1 -1
- package/dist/cjs/menu/menu.d.cts.map +1 -1
- package/dist/cjs/message/item.cjs +1 -1
- package/dist/cjs/message/item.cjs.map +1 -1
- package/dist/cjs/message/message.cjs +10 -4
- package/dist/cjs/message/message.cjs.map +1 -1
- package/dist/cjs/message/message.d.cts +1 -1
- package/dist/cjs/message/message.d.cts.map +1 -1
- package/dist/cjs/message/provider.cjs +8 -4
- package/dist/cjs/message/provider.cjs.map +1 -1
- package/dist/cjs/message/provider.d.cts.map +1 -1
- package/dist/cjs/message/store.cjs +12 -6
- package/dist/cjs/message/store.cjs.map +1 -1
- package/dist/cjs/message/store.d.cts +6 -4
- package/dist/cjs/message/store.d.cts.map +1 -1
- package/dist/cjs/modal/modal.cjs +25 -13
- package/dist/cjs/modal/modal.cjs.map +1 -1
- package/dist/cjs/modal/modal.d.cts +3 -2
- package/dist/cjs/modal/modal.d.cts.map +1 -1
- package/dist/cjs/notification/notification.cjs +27 -14
- package/dist/cjs/notification/notification.cjs.map +1 -1
- package/dist/cjs/notification/notification.d.cts +1 -1
- package/dist/cjs/notification/notification.d.cts.map +1 -1
- package/dist/cjs/pagination/pagination.cjs +74 -26
- package/dist/cjs/pagination/pagination.cjs.map +1 -1
- package/dist/cjs/pagination/pagination.d.cts +4 -2
- package/dist/cjs/pagination/pagination.d.cts.map +1 -1
- package/dist/cjs/popconfirm/popconfirm.cjs +12 -10
- package/dist/cjs/popconfirm/popconfirm.cjs.map +1 -1
- package/dist/cjs/popconfirm/popconfirm.d.cts +3 -3
- package/dist/cjs/popconfirm/popconfirm.d.cts.map +1 -1
- package/dist/cjs/popover/popover.cjs +13 -3
- package/dist/cjs/popover/popover.cjs.map +1 -1
- package/dist/cjs/popover/popover.d.cts +2 -1
- package/dist/cjs/popover/popover.d.cts.map +1 -1
- package/dist/cjs/progress/progress.cjs +5 -3
- package/dist/cjs/progress/progress.cjs.map +1 -1
- package/dist/cjs/progress/progress.d.cts +1 -1
- package/dist/cjs/progress/progress.d.cts.map +1 -1
- package/dist/cjs/qrcode/qrcode.cjs +10 -8
- package/dist/cjs/qrcode/qrcode.cjs.map +1 -1
- package/dist/cjs/qrcode/qrcode.d.cts +1 -1
- package/dist/cjs/qrcode/qrcode.d.cts.map +1 -1
- package/dist/cjs/radio/index.cjs +13 -32
- package/dist/cjs/radio/index.cjs.map +1 -1
- package/dist/cjs/radio/index.d.cts +2 -1
- package/dist/cjs/radio/index.d.cts.map +1 -1
- package/dist/cjs/radio/radio.cjs +17 -4
- package/dist/cjs/radio/radio.cjs.map +1 -1
- package/dist/cjs/radio/radio.d.cts +2 -1
- package/dist/cjs/radio/radio.d.cts.map +1 -1
- package/dist/cjs/rate/rate.cjs +8 -6
- package/dist/cjs/rate/rate.cjs.map +1 -1
- package/dist/cjs/rate/rate.d.cts +1 -1
- package/dist/cjs/rate/rate.d.cts.map +1 -1
- package/dist/cjs/result/result.cjs +14 -4
- package/dist/cjs/result/result.cjs.map +1 -1
- package/dist/cjs/result/result.d.cts +2 -1
- package/dist/cjs/result/result.d.cts.map +1 -1
- package/dist/cjs/scrollarea/scrollarea.cjs +5 -3
- package/dist/cjs/scrollarea/scrollarea.cjs.map +1 -1
- package/dist/cjs/scrollarea/scrollarea.d.cts +1 -1
- package/dist/cjs/scrollarea/scrollarea.d.cts.map +1 -1
- package/dist/cjs/scrollbar/scrollbar.cjs +16 -4
- package/dist/cjs/scrollbar/scrollbar.cjs.map +1 -1
- package/dist/cjs/scrollbar/scrollbar.d.cts +1 -0
- package/dist/cjs/scrollbar/scrollbar.d.cts.map +1 -1
- package/dist/cjs/segmented/segmented.cjs +3 -1
- package/dist/cjs/segmented/segmented.cjs.map +1 -1
- package/dist/cjs/segmented/segmented.d.cts.map +1 -1
- package/dist/cjs/select/index.cjs +10 -32
- package/dist/cjs/select/index.cjs.map +1 -1
- package/dist/cjs/select/index.d.cts +2 -2
- package/dist/cjs/select/index.d.cts.map +1 -1
- package/dist/cjs/select/select.cjs +179 -209
- package/dist/cjs/select/select.cjs.map +1 -1
- package/dist/cjs/select/select.d.cts +3 -0
- package/dist/cjs/select/select.d.cts.map +1 -1
- package/dist/cjs/shared/calendar.cjs +6 -6
- package/dist/cjs/shared/calendar.cjs.map +1 -1
- package/dist/cjs/shared/calendar.d.cts.map +1 -1
- package/dist/cjs/shared/date-input.cjs +6 -6
- package/dist/cjs/shared/date-input.cjs.map +1 -1
- package/dist/cjs/shared/floating-feedback.cjs +62 -0
- package/dist/cjs/shared/floating-feedback.cjs.map +1 -0
- package/dist/cjs/shared/floating-feedback.d.cts +7 -0
- package/dist/cjs/shared/floating-feedback.d.cts.map +1 -0
- package/dist/cjs/shared/floating.cjs +1 -0
- package/dist/cjs/shared/floating.cjs.map +1 -1
- package/dist/cjs/shared/floating.d.cts.map +1 -1
- package/dist/cjs/shared/motion.cjs +3 -3
- package/dist/cjs/shared/motion.cjs.map +1 -1
- package/dist/cjs/shared/motion.d.cts.map +1 -1
- package/dist/cjs/shared/parse-date.cjs +2 -2
- package/dist/cjs/shared/parse-date.cjs.map +1 -1
- package/dist/cjs/shared/parse-date.d.cts +1 -1
- package/dist/cjs/shared/parse-date.d.cts.map +1 -1
- package/dist/cjs/shared/scoped-portal.cjs +17 -2
- package/dist/cjs/shared/scoped-portal.cjs.map +1 -1
- package/dist/cjs/shared/scoped-portal.d.cts.map +1 -1
- package/dist/cjs/shared/selection-content.cjs +202 -0
- package/dist/cjs/shared/selection-content.cjs.map +1 -0
- package/dist/cjs/shared/selection-content.d.cts +22 -0
- package/dist/cjs/shared/selection-content.d.cts.map +1 -0
- package/dist/cjs/shared/time.cjs +16 -2
- package/dist/cjs/shared/time.cjs.map +1 -1
- package/dist/cjs/shared/time.d.cts +1 -1
- package/dist/cjs/shared/time.d.cts.map +1 -1
- package/dist/cjs/shared/types.d.cts +1 -1
- package/dist/cjs/shared/use-drag-announcements.cjs +66 -0
- package/dist/cjs/shared/use-drag-announcements.cjs.map +1 -0
- package/dist/cjs/shared/use-drag-announcements.d.cts +8 -0
- package/dist/cjs/shared/use-drag-announcements.d.cts.map +1 -0
- package/dist/cjs/shared/use-formatted-text.cjs +118 -0
- package/dist/cjs/shared/use-formatted-text.cjs.map +1 -0
- package/dist/cjs/shared/use-formatted-text.d.cts +4 -0
- package/dist/cjs/shared/use-formatted-text.d.cts.map +1 -0
- package/dist/cjs/shared/use-text.cjs +3 -3
- package/dist/cjs/shared/use-text.cjs.map +1 -1
- package/dist/cjs/shared/use-text.d.cts +3 -2
- package/dist/cjs/shared/use-text.d.cts.map +1 -1
- package/dist/cjs/skeleton/skeleton.cjs +14 -4
- package/dist/cjs/skeleton/skeleton.cjs.map +1 -1
- package/dist/cjs/skeleton/skeleton.d.cts +2 -1
- package/dist/cjs/skeleton/skeleton.d.cts.map +1 -1
- package/dist/cjs/slider/slider.cjs +18 -6
- package/dist/cjs/slider/slider.cjs.map +1 -1
- package/dist/cjs/slider/slider.d.cts +1 -0
- package/dist/cjs/slider/slider.d.cts.map +1 -1
- package/dist/cjs/space/space.cjs +3 -1
- package/dist/cjs/space/space.cjs.map +1 -1
- package/dist/cjs/space/space.d.cts.map +1 -1
- package/dist/cjs/splitter/index.cjs +13 -32
- package/dist/cjs/splitter/index.cjs.map +1 -1
- package/dist/cjs/splitter/index.d.cts +2 -1
- package/dist/cjs/splitter/index.d.cts.map +1 -1
- package/dist/cjs/splitter/splitter.cjs +9 -3
- package/dist/cjs/splitter/splitter.cjs.map +1 -1
- package/dist/cjs/splitter/splitter.d.cts +1 -1
- package/dist/cjs/splitter/splitter.d.cts.map +1 -1
- package/dist/cjs/statistic/index.cjs +13 -32
- package/dist/cjs/statistic/index.cjs.map +1 -1
- package/dist/cjs/statistic/index.d.cts +2 -1
- package/dist/cjs/statistic/index.d.cts.map +1 -1
- package/dist/cjs/statistic/statistic.cjs +17 -6
- package/dist/cjs/statistic/statistic.cjs.map +1 -1
- package/dist/cjs/statistic/statistic.d.cts +3 -2
- package/dist/cjs/statistic/statistic.d.cts.map +1 -1
- package/dist/cjs/steps/steps.cjs +3 -1
- package/dist/cjs/steps/steps.cjs.map +1 -1
- package/dist/cjs/steps/steps.d.cts +1 -1
- package/dist/cjs/steps/steps.d.cts.map +1 -1
- package/dist/cjs/styles/alert.css +1 -1
- package/dist/cjs/styles/anchor.css +1 -1
- package/dist/cjs/styles/appbar.css +1 -1
- package/dist/cjs/styles/autocomplete.css +1 -1
- package/dist/cjs/styles/avatar.css +1 -1
- package/dist/cjs/styles/backtop.css +1 -1
- package/dist/cjs/styles/badge.css +1 -1
- package/dist/cjs/styles/base.css +1 -2
- package/dist/cjs/styles/breadcrumb.css +1 -1
- package/dist/cjs/styles/button.css +1 -1
- package/dist/cjs/styles/calendar.css +1 -1
- package/dist/cjs/styles/card.css +1 -1
- package/dist/cjs/styles/carousel.css +1 -1
- package/dist/cjs/styles/cascader.css +1 -1
- package/dist/cjs/styles/checkbox.css +1 -1
- package/dist/cjs/styles/collapse.css +1 -1
- package/dist/cjs/styles/colorpicker.css +1 -1
- package/dist/cjs/styles/commandpalette.css +1 -1
- package/dist/cjs/styles/components/autocomplete.css +1 -1
- package/dist/cjs/styles/components/button.css +1 -1
- package/dist/cjs/styles/components/card.css +1 -1
- package/dist/cjs/styles/components/cascader.css +1 -1
- package/dist/cjs/styles/components/checkbox.css +1 -1
- package/dist/cjs/styles/components/collapse.css +1 -1
- package/dist/cjs/styles/components/colorpicker.css +1 -1
- package/dist/cjs/styles/components/commandpalette.css +1 -1
- package/dist/cjs/styles/components/datepicker.css +1 -1
- package/dist/cjs/styles/components/drawer.css +1 -1
- package/dist/cjs/styles/components/dropdown.css +1 -1
- package/dist/cjs/styles/components/filelist.css +1 -1
- package/dist/cjs/styles/components/flex.css +1 -0
- package/dist/cjs/styles/components/floatbutton.css +1 -1
- package/dist/cjs/styles/components/form.css +1 -1
- package/dist/cjs/styles/components/input.css +1 -1
- package/dist/cjs/styles/components/inputnumber.css +1 -1
- package/dist/cjs/styles/components/inputotp.css +1 -1
- package/dist/cjs/styles/components/mentions.css +1 -1
- package/dist/cjs/styles/components/menu.css +1 -1
- package/dist/cjs/styles/components/modal.css +1 -1
- package/dist/cjs/styles/components/pagination.css +1 -1
- package/dist/cjs/styles/components/radio.css +1 -1
- package/dist/cjs/styles/components/segmented.css +1 -1
- package/dist/cjs/styles/components/select.css +1 -1
- package/dist/cjs/styles/components/steps.css +1 -1
- package/dist/cjs/styles/components/switch.css +1 -1
- package/dist/cjs/styles/components/tabs.css +1 -1
- package/dist/cjs/styles/components/tag.css +1 -1
- package/dist/cjs/styles/components/textarea.css +1 -1
- package/dist/cjs/styles/components/timepicker.css +1 -1
- package/dist/cjs/styles/components/tree.css +1 -1
- package/dist/cjs/styles/components/treeselect.css +1 -1
- package/dist/cjs/styles/config-provider.css +1 -1
- package/dist/cjs/styles/confirm.css +1 -1
- package/dist/cjs/styles/datepicker.css +1 -1
- package/dist/cjs/styles/daterangepicker.css +1 -1
- package/dist/cjs/styles/datetimepicker.css +1 -1
- package/dist/cjs/styles/descriptions.css +1 -1
- package/dist/cjs/styles/divider.css +1 -1
- package/dist/cjs/styles/drawer.css +1 -1
- package/dist/cjs/styles/dropdown.css +1 -1
- package/dist/cjs/styles/empty.css +1 -1
- package/dist/cjs/styles/errorboundary.css +1 -1
- package/dist/cjs/styles/filelist.css +1 -1
- package/dist/cjs/styles/flex.css +1 -0
- package/dist/cjs/styles/floatbutton.css +1 -1
- package/dist/cjs/styles/form.css +1 -1
- package/dist/cjs/styles/foundation.css +1 -0
- package/dist/cjs/styles/grid.css +1 -1
- package/dist/cjs/styles/image.css +1 -1
- package/dist/cjs/styles/index.css +886 -941
- package/dist/cjs/styles/index.css.map +1 -1
- package/dist/cjs/styles/infinitescroll.css +1 -1
- package/dist/cjs/styles/input.css +1 -1
- package/dist/cjs/styles/inputmask.css +1 -1
- package/dist/cjs/styles/inputnumber.css +1 -1
- package/dist/cjs/styles/inputotp.css +1 -1
- package/dist/cjs/styles/layout.css +1 -1
- package/dist/cjs/styles/loading.css +1 -1
- package/dist/cjs/styles/loadingbar.css +1 -1
- package/dist/cjs/styles/masonry.css +1 -1
- package/dist/cjs/styles/mentions.css +1 -1
- package/dist/cjs/styles/menu.css +1 -1
- package/dist/cjs/styles/message.css +1 -1
- package/dist/cjs/styles/modal.css +1 -1
- package/dist/cjs/styles/notification.css +1 -1
- package/dist/cjs/styles/pagination.css +1 -1
- package/dist/cjs/styles/popconfirm.css +1 -1
- package/dist/cjs/styles/popover.css +1 -1
- package/dist/cjs/styles/progress.css +1 -1
- package/dist/cjs/styles/qrcode.css +1 -1
- package/dist/cjs/styles/radio.css +1 -1
- package/dist/cjs/styles/rate.css +1 -1
- package/dist/cjs/styles/result.css +1 -1
- package/dist/cjs/styles/scrollarea.css +1 -1
- package/dist/cjs/styles/scrollbar.css +1 -1
- package/dist/cjs/styles/segmented.css +1 -1
- package/dist/cjs/styles/select.css +1 -1
- package/dist/cjs/styles/skeleton.css +1 -1
- package/dist/cjs/styles/slider.css +1 -1
- package/dist/cjs/styles/space.css +1 -1
- package/dist/cjs/styles/splitter.css +1 -1
- package/dist/cjs/styles/statistic.css +1 -1
- package/dist/cjs/styles/steps.css +1 -1
- package/dist/cjs/styles/switch.css +1 -1
- package/dist/cjs/styles/table.css +1 -1
- package/dist/cjs/styles/tabletanstack.css +1 -1
- package/dist/cjs/styles/tabs.css +1 -1
- package/dist/cjs/styles/tag.css +1 -1
- package/dist/cjs/styles/textarea.css +1 -1
- package/dist/cjs/styles/timeline.css +1 -1
- package/dist/cjs/styles/timepicker.css +1 -1
- package/dist/cjs/styles/timerangepicker.css +1 -1
- package/dist/cjs/styles/tooltip.css +1 -1
- package/dist/cjs/styles/tour.css +1 -1
- package/dist/cjs/styles/transfer.css +1 -1
- package/dist/cjs/styles/tree.css +1 -1
- package/dist/cjs/styles/treeselect.css +1 -1
- package/dist/cjs/styles/typography.css +1 -1
- package/dist/cjs/styles/upload.css +1 -1
- package/dist/cjs/styles/virtuallist.css +1 -1
- package/dist/cjs/switch/index.cjs +10 -32
- package/dist/cjs/switch/index.cjs.map +1 -1
- package/dist/cjs/switch/index.d.cts +2 -1
- package/dist/cjs/switch/index.d.cts.map +1 -1
- package/dist/cjs/switch/switch.cjs +3 -1
- package/dist/cjs/switch/switch.cjs.map +1 -1
- package/dist/cjs/switch/switch.d.cts.map +1 -1
- package/dist/cjs/table/table.cjs +147 -32
- package/dist/cjs/table/table.cjs.map +1 -1
- package/dist/cjs/table/table.d.cts +28 -5
- package/dist/cjs/table/table.d.cts.map +1 -1
- package/dist/cjs/tabletanstack/defaults.cjs +21 -0
- package/dist/cjs/tabletanstack/defaults.cjs.map +1 -0
- package/dist/cjs/tabletanstack/defaults.d.cts +44 -0
- package/dist/cjs/tabletanstack/defaults.d.cts.map +1 -0
- package/dist/cjs/tabletanstack/index.d.cts +1 -1
- package/dist/cjs/tabletanstack/index.d.cts.map +1 -1
- package/dist/cjs/tabletanstack/reordering.cjs +18 -10
- package/dist/cjs/tabletanstack/reordering.cjs.map +1 -1
- package/dist/cjs/tabletanstack/reordering.d.cts +1 -1
- package/dist/cjs/tabletanstack/reordering.d.cts.map +1 -1
- package/dist/cjs/tabletanstack/tabletanstack.cjs +115 -69
- package/dist/cjs/tabletanstack/tabletanstack.cjs.map +1 -1
- package/dist/cjs/tabletanstack/tabletanstack.d.cts +15 -49
- package/dist/cjs/tabletanstack/tabletanstack.d.cts.map +1 -1
- package/dist/cjs/tabs/tabs.cjs +121 -173
- package/dist/cjs/tabs/tabs.cjs.map +1 -1
- package/dist/cjs/tabs/tabs.d.cts +2 -1
- package/dist/cjs/tabs/tabs.d.cts.map +1 -1
- package/dist/cjs/tag/group.cjs +5 -2
- package/dist/cjs/tag/group.cjs.map +1 -1
- package/dist/cjs/tag/group.d.cts +2 -2
- package/dist/cjs/tag/group.d.cts.map +1 -1
- package/dist/cjs/tag/tag.cjs +4 -8
- package/dist/cjs/tag/tag.cjs.map +1 -1
- package/dist/cjs/tag/tag.d.cts +2 -2
- package/dist/cjs/tag/tag.d.cts.map +1 -1
- package/dist/cjs/tailwind-tokens.cjs +131 -0
- package/dist/cjs/tailwind-tokens.cjs.map +1 -0
- package/dist/cjs/tailwind-tokens.d.cts +91 -0
- package/dist/cjs/tailwind-tokens.d.cts.map +1 -0
- package/dist/cjs/tailwind.cjs +62 -0
- package/dist/cjs/tailwind.cjs.map +1 -0
- package/dist/cjs/tailwind.d.cts +136 -0
- package/dist/cjs/tailwind.d.cts.map +1 -0
- package/dist/cjs/textarea/index.cjs +10 -32
- package/dist/cjs/textarea/index.cjs.map +1 -1
- package/dist/cjs/textarea/index.d.cts +2 -2
- package/dist/cjs/textarea/index.d.cts.map +1 -1
- package/dist/cjs/textarea/textarea.cjs +15 -3
- package/dist/cjs/textarea/textarea.cjs.map +1 -1
- package/dist/cjs/textarea/textarea.d.cts +1 -0
- package/dist/cjs/textarea/textarea.d.cts.map +1 -1
- package/dist/cjs/timeline/timeline.cjs +3 -1
- package/dist/cjs/timeline/timeline.cjs.map +1 -1
- package/dist/cjs/timeline/timeline.d.cts +1 -1
- package/dist/cjs/timeline/timeline.d.cts.map +1 -1
- package/dist/cjs/timepicker/index.cjs +10 -32
- package/dist/cjs/timepicker/index.cjs.map +1 -1
- package/dist/cjs/timepicker/index.d.cts +2 -1
- package/dist/cjs/timepicker/index.d.cts.map +1 -1
- package/dist/cjs/timepicker/time-panel.cjs +6 -6
- package/dist/cjs/timepicker/time-panel.cjs.map +1 -1
- package/dist/cjs/timepicker/timepicker.cjs +21 -13
- package/dist/cjs/timepicker/timepicker.cjs.map +1 -1
- package/dist/cjs/timepicker/timepicker.d.cts.map +1 -1
- package/dist/cjs/timerangepicker/timerangepicker.cjs +20 -14
- package/dist/cjs/timerangepicker/timerangepicker.cjs.map +1 -1
- package/dist/cjs/timerangepicker/timerangepicker.d.cts.map +1 -1
- package/dist/cjs/tooltip/tooltip.cjs +13 -3
- package/dist/cjs/tooltip/tooltip.cjs.map +1 -1
- package/dist/cjs/tooltip/tooltip.d.cts +2 -1
- package/dist/cjs/tooltip/tooltip.d.cts.map +1 -1
- package/dist/cjs/tour/index.cjs +10 -32
- package/dist/cjs/tour/index.cjs.map +1 -1
- package/dist/cjs/tour/index.d.cts +2 -1
- package/dist/cjs/tour/index.d.cts.map +1 -1
- package/dist/cjs/tour/tour.cjs +10 -8
- package/dist/cjs/tour/tour.cjs.map +1 -1
- package/dist/cjs/tour/tour.d.cts +1 -1
- package/dist/cjs/tour/tour.d.cts.map +1 -1
- package/dist/cjs/transfer/transfer.cjs +26 -21
- package/dist/cjs/transfer/transfer.cjs.map +1 -1
- package/dist/cjs/transfer/transfer.d.cts +1 -1
- package/dist/cjs/transfer/transfer.d.cts.map +1 -1
- package/dist/cjs/tree/drag.cjs +13 -11
- package/dist/cjs/tree/drag.cjs.map +1 -1
- package/dist/cjs/tree/drag.d.cts.map +1 -1
- package/dist/cjs/tree/tree.cjs +32 -13
- package/dist/cjs/tree/tree.cjs.map +1 -1
- package/dist/cjs/tree/tree.d.cts +5 -1
- package/dist/cjs/tree/tree.d.cts.map +1 -1
- package/dist/cjs/treeselect/treeselect.cjs +153 -112
- package/dist/cjs/treeselect/treeselect.cjs.map +1 -1
- package/dist/cjs/treeselect/treeselect.d.cts +4 -2
- package/dist/cjs/treeselect/treeselect.d.cts.map +1 -1
- package/dist/cjs/typography/index.cjs +22 -32
- package/dist/cjs/typography/index.cjs.map +1 -1
- package/dist/cjs/typography/index.d.cts +2 -1
- package/dist/cjs/typography/index.d.cts.map +1 -1
- package/dist/cjs/typography/typography.cjs +18 -12
- package/dist/cjs/typography/typography.cjs.map +1 -1
- package/dist/cjs/typography/typography.d.cts.map +1 -1
- package/dist/cjs/upload/upload.cjs +29 -21
- package/dist/cjs/upload/upload.cjs.map +1 -1
- package/dist/cjs/upload/upload.d.cts +1 -1
- package/dist/cjs/upload/upload.d.cts.map +1 -1
- package/dist/cjs/virtuallist/virtuallist.cjs +19 -6
- package/dist/cjs/virtuallist/virtuallist.cjs.map +1 -1
- package/dist/cjs/virtuallist/virtuallist.d.cts +1 -0
- package/dist/cjs/virtuallist/virtuallist.d.cts.map +1 -1
- package/dist/esm/alert/alert.d.ts +1 -1
- package/dist/esm/alert/alert.d.ts.map +1 -1
- package/dist/esm/alert/alert.js +4 -2
- package/dist/esm/alert/alert.js.map +1 -1
- package/dist/esm/anchor/anchor.d.ts +2 -2
- package/dist/esm/anchor/anchor.d.ts.map +1 -1
- package/dist/esm/anchor/anchor.js +5 -2
- package/dist/esm/anchor/anchor.js.map +1 -1
- package/dist/esm/anchor/index.d.ts +2 -1
- package/dist/esm/anchor/index.d.ts.map +1 -1
- package/dist/esm/anchor/index.js +1 -1
- package/dist/esm/appbar/appbar.d.ts +1 -1
- package/dist/esm/appbar/appbar.d.ts.map +1 -1
- package/dist/esm/appbar/appbar.js +7 -3
- package/dist/esm/appbar/appbar.js.map +1 -1
- package/dist/esm/appbar/index.d.ts +2 -1
- package/dist/esm/appbar/index.d.ts.map +1 -1
- package/dist/esm/appbar/index.js +1 -1
- package/dist/esm/autocomplete/autocomplete.d.ts.map +1 -1
- package/dist/esm/autocomplete/autocomplete.js +35 -16
- package/dist/esm/autocomplete/autocomplete.js.map +1 -1
- package/dist/esm/autocomplete/index.d.ts +2 -1
- package/dist/esm/autocomplete/index.d.ts.map +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/avatar/avatar.d.ts +2 -1
- package/dist/esm/avatar/avatar.d.ts.map +1 -1
- package/dist/esm/avatar/avatar.js +10 -3
- package/dist/esm/avatar/avatar.js.map +1 -1
- package/dist/esm/avatar/group.d.ts +1 -1
- package/dist/esm/avatar/group.d.ts.map +1 -1
- package/dist/esm/avatar/group.js +13 -7
- package/dist/esm/avatar/group.js.map +1 -1
- package/dist/esm/backtop/backtop.d.ts +1 -1
- package/dist/esm/backtop/backtop.d.ts.map +1 -1
- package/dist/esm/backtop/backtop.js +6 -4
- package/dist/esm/backtop/backtop.js.map +1 -1
- package/dist/esm/badge/badge.d.ts +1 -1
- package/dist/esm/badge/badge.d.ts.map +1 -1
- package/dist/esm/badge/badge.js +3 -1
- package/dist/esm/badge/badge.js.map +1 -1
- package/dist/esm/breadcrumb/breadcrumb.d.ts +2 -2
- package/dist/esm/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/esm/breadcrumb/breadcrumb.js +13 -11
- package/dist/esm/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/esm/browser/flex.js +2 -0
- package/dist/esm/browser/modules/alert/alert.js +5 -2
- package/dist/esm/browser/modules/alert/alert.js.map +1 -1
- package/dist/esm/browser/modules/anchor/anchor.js +6 -2
- package/dist/esm/browser/modules/anchor/anchor.js.map +1 -1
- package/dist/esm/browser/modules/anchor/index.js +1 -1
- package/dist/esm/browser/modules/appbar/appbar.js +8 -3
- package/dist/esm/browser/modules/appbar/appbar.js.map +1 -1
- package/dist/esm/browser/modules/appbar/index.js +1 -1
- package/dist/esm/browser/modules/autocomplete/autocomplete.js +36 -16
- package/dist/esm/browser/modules/autocomplete/autocomplete.js.map +1 -1
- package/dist/esm/browser/modules/autocomplete/index.js +1 -1
- package/dist/esm/browser/modules/avatar/avatar.js +11 -3
- package/dist/esm/browser/modules/avatar/avatar.js.map +1 -1
- package/dist/esm/browser/modules/avatar/group.js +14 -7
- package/dist/esm/browser/modules/avatar/group.js.map +1 -1
- package/dist/esm/browser/modules/backtop/backtop.js +7 -4
- package/dist/esm/browser/modules/backtop/backtop.js.map +1 -1
- package/dist/esm/browser/modules/badge/badge.js +4 -1
- package/dist/esm/browser/modules/badge/badge.js.map +1 -1
- package/dist/esm/browser/modules/breadcrumb/breadcrumb.js +14 -11
- package/dist/esm/browser/modules/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/esm/browser/modules/button/button.js +13 -2
- package/dist/esm/browser/modules/button/button.js.map +1 -1
- package/dist/esm/browser/modules/button/group.js +25 -12
- package/dist/esm/browser/modules/button/group.js.map +1 -1
- package/dist/esm/browser/modules/calendar/calendar.js +5 -2
- package/dist/esm/browser/modules/calendar/calendar.js.map +1 -1
- package/dist/esm/browser/modules/card/card.js +42 -6
- package/dist/esm/browser/modules/card/card.js.map +1 -1
- package/dist/esm/browser/modules/carousel/carousel.js +13 -6
- package/dist/esm/browser/modules/carousel/carousel.js.map +1 -1
- package/dist/esm/browser/modules/carousel/index.js +1 -1
- package/dist/esm/browser/modules/cascader/cascader.js +41 -20
- package/dist/esm/browser/modules/cascader/cascader.js.map +1 -1
- package/dist/esm/browser/modules/cascader/index.js +1 -1
- package/dist/esm/browser/modules/checkbox/checkbox.js +12 -2
- package/dist/esm/browser/modules/checkbox/checkbox.js.map +1 -1
- package/dist/esm/browser/modules/checkbox/group.js +6 -3
- package/dist/esm/browser/modules/checkbox/group.js.map +1 -1
- package/dist/esm/browser/modules/checkbox/index.js +1 -1
- package/dist/esm/browser/modules/collapse/collapse.js +5 -2
- package/dist/esm/browser/modules/collapse/collapse.js.map +1 -1
- package/dist/esm/browser/modules/color-recipes.js +5 -0
- package/dist/esm/browser/modules/color-recipes.js.map +1 -1
- package/dist/esm/browser/modules/colorpicker/colorpicker.js +27 -13
- package/dist/esm/browser/modules/colorpicker/colorpicker.js.map +1 -1
- package/dist/esm/browser/modules/colorpicker/gradient.js +36 -19
- package/dist/esm/browser/modules/colorpicker/gradient.js.map +1 -1
- package/dist/esm/browser/modules/commandpalette/commandpalette.js +17 -14
- package/dist/esm/browser/modules/commandpalette/commandpalette.js.map +1 -1
- package/dist/esm/browser/modules/commandpalette/index.js +1 -1
- package/dist/esm/browser/modules/config-provider/component-defaults.js +64 -0
- package/dist/esm/browser/modules/config-provider/component-defaults.js.map +1 -0
- package/dist/esm/browser/modules/config-provider/config-context.js +6 -0
- package/dist/esm/browser/modules/config-provider/config-context.js.map +1 -0
- package/dist/esm/browser/modules/config-provider/config-provider.js +46 -25
- package/dist/esm/browser/modules/config-provider/config-provider.js.map +1 -1
- package/dist/esm/browser/modules/config-provider/context.js +11 -205
- package/dist/esm/browser/modules/config-provider/context.js.map +1 -1
- package/dist/esm/browser/modules/config-provider/index.js +1 -1
- package/dist/esm/browser/modules/confirm/confirm.js +10 -8
- package/dist/esm/browser/modules/confirm/confirm.js.map +1 -1
- package/dist/esm/browser/modules/confirm/provider.js +26 -18
- package/dist/esm/browser/modules/confirm/provider.js.map +1 -1
- package/dist/esm/browser/modules/confirm/store.js +6 -4
- package/dist/esm/browser/modules/confirm/store.js.map +1 -1
- package/dist/esm/browser/modules/datepicker/datepicker.js +8 -5
- package/dist/esm/browser/modules/datepicker/datepicker.js.map +1 -1
- package/dist/esm/browser/modules/datepicker/index.js +1 -1
- package/dist/esm/browser/modules/datepicker/multiple.js +1 -0
- package/dist/esm/browser/modules/datepicker/multiple.js.map +1 -1
- package/dist/esm/browser/modules/daterangepicker/daterangepicker.js +29 -21
- package/dist/esm/browser/modules/daterangepicker/daterangepicker.js.map +1 -1
- package/dist/esm/browser/modules/datetimepicker/datetimepicker.js +24 -16
- package/dist/esm/browser/modules/datetimepicker/datetimepicker.js.map +1 -1
- package/dist/esm/browser/modules/density.js +11 -5
- package/dist/esm/browser/modules/density.js.map +1 -1
- package/dist/esm/browser/modules/descriptions/descriptions.js +8 -5
- package/dist/esm/browser/modules/descriptions/descriptions.js.map +1 -1
- package/dist/esm/browser/modules/divider/divider.js +4 -1
- package/dist/esm/browser/modules/divider/divider.js.map +1 -1
- package/dist/esm/browser/modules/drawer/drawer.js +7 -4
- package/dist/esm/browser/modules/drawer/drawer.js.map +1 -1
- package/dist/esm/browser/modules/dropdown/dropdown.js +13 -3
- package/dist/esm/browser/modules/dropdown/dropdown.js.map +1 -1
- package/dist/esm/browser/modules/empty/empty.js +5 -3
- package/dist/esm/browser/modules/empty/empty.js.map +1 -1
- package/dist/esm/browser/modules/errorboundary/errorboundary.js +26 -14
- package/dist/esm/browser/modules/errorboundary/errorboundary.js.map +1 -1
- package/dist/esm/browser/modules/filelist/filelist.js +286 -193
- package/dist/esm/browser/modules/filelist/filelist.js.map +1 -1
- package/dist/esm/browser/modules/flex/flex.js +38 -0
- package/dist/esm/browser/modules/flex/flex.js.map +1 -0
- package/dist/esm/browser/modules/flex/index.js +2 -0
- package/dist/esm/browser/modules/floatbutton/floatbutton.js +21 -12
- package/dist/esm/browser/modules/floatbutton/floatbutton.js.map +1 -1
- package/dist/esm/browser/modules/floatbutton/index.js +1 -1
- package/dist/esm/browser/modules/form/form.js +15 -9
- package/dist/esm/browser/modules/form/form.js.map +1 -1
- package/dist/esm/browser/modules/form/index.js +1 -1
- package/dist/esm/browser/modules/form/list.js +4 -1
- package/dist/esm/browser/modules/form/list.js.map +1 -1
- package/dist/esm/browser/modules/grid/grid.js +17 -5
- package/dist/esm/browser/modules/grid/grid.js.map +1 -1
- package/dist/esm/browser/modules/image/image.js +24 -10
- package/dist/esm/browser/modules/image/image.js.map +1 -1
- package/dist/esm/browser/modules/image/viewer.js +35 -25
- package/dist/esm/browser/modules/image/viewer.js.map +1 -1
- package/dist/esm/browser/modules/index.js +1 -2
- package/dist/esm/browser/modules/infinitescroll/infinitescroll.js +13 -10
- package/dist/esm/browser/modules/infinitescroll/infinitescroll.js.map +1 -1
- package/dist/esm/browser/modules/input/group.js +20 -9
- package/dist/esm/browser/modules/input/group.js.map +1 -1
- package/dist/esm/browser/modules/input/index.js +1 -1
- package/dist/esm/browser/modules/input/input.js +13 -4
- package/dist/esm/browser/modules/input/input.js.map +1 -1
- package/dist/esm/browser/modules/inputmask/inputmask.js +6 -3
- package/dist/esm/browser/modules/inputmask/inputmask.js.map +1 -1
- package/dist/esm/browser/modules/inputnumber/inputnumber.js +16 -6
- package/dist/esm/browser/modules/inputnumber/inputnumber.js.map +1 -1
- package/dist/esm/browser/modules/inputnumber/string.js +4 -3
- package/dist/esm/browser/modules/inputnumber/string.js.map +1 -1
- package/dist/esm/browser/modules/inputotp/inputotp.js +5 -2
- package/dist/esm/browser/modules/inputotp/inputotp.js.map +1 -1
- package/dist/esm/browser/modules/layout/layout.js +16 -9
- package/dist/esm/browser/modules/layout/layout.js.map +1 -1
- package/dist/esm/browser/modules/loading/loading.js +11 -3
- package/dist/esm/browser/modules/loading/loading.js.map +1 -1
- package/dist/esm/browser/modules/loadingbar/loadingbar.js +53 -10
- package/dist/esm/browser/modules/loadingbar/loadingbar.js.map +1 -1
- package/dist/esm/browser/modules/locales/en-US.js +1 -0
- package/dist/esm/browser/modules/locales/ja-JP.js +1 -0
- package/dist/esm/browser/modules/locales/ko-KR.js +1 -0
- package/dist/esm/browser/modules/locales/messages.js +1 -0
- package/dist/esm/browser/modules/locales/resolve.js +89 -0
- package/dist/esm/browser/modules/locales/resolve.js.map +1 -0
- package/dist/esm/browser/modules/locales/types.js +1 -0
- package/dist/esm/browser/modules/locales/zh-CN.js +1 -0
- package/dist/esm/browser/modules/locales/zh-TW.js +1 -0
- package/dist/esm/browser/modules/masonry/masonry.js +8 -5
- package/dist/esm/browser/modules/masonry/masonry.js.map +1 -1
- package/dist/esm/browser/modules/mentions/index.js +1 -1
- package/dist/esm/browser/modules/mentions/mentions.js +10 -6
- package/dist/esm/browser/modules/mentions/mentions.js.map +1 -1
- package/dist/esm/browser/modules/menu/menu.js +7 -4
- package/dist/esm/browser/modules/menu/menu.js.map +1 -1
- package/dist/esm/browser/modules/message/item.js +2 -1
- package/dist/esm/browser/modules/message/item.js.map +1 -1
- package/dist/esm/browser/modules/message/message.js +11 -4
- package/dist/esm/browser/modules/message/message.js.map +1 -1
- package/dist/esm/browser/modules/message/provider.js +9 -4
- package/dist/esm/browser/modules/message/provider.js.map +1 -1
- package/dist/esm/browser/modules/message/store.js +12 -6
- package/dist/esm/browser/modules/message/store.js.map +1 -1
- package/dist/esm/browser/modules/modal/modal.js +22 -12
- package/dist/esm/browser/modules/modal/modal.js.map +1 -1
- package/dist/esm/browser/modules/notification/notification.js +28 -14
- package/dist/esm/browser/modules/notification/notification.js.map +1 -1
- package/dist/esm/browser/modules/pagination/pagination.js +71 -25
- package/dist/esm/browser/modules/pagination/pagination.js.map +1 -1
- package/dist/esm/browser/modules/popconfirm/popconfirm.js +13 -10
- package/dist/esm/browser/modules/popconfirm/popconfirm.js.map +1 -1
- package/dist/esm/browser/modules/popover/popover.js +10 -2
- package/dist/esm/browser/modules/popover/popover.js.map +1 -1
- package/dist/esm/browser/modules/progress/progress.js +6 -3
- package/dist/esm/browser/modules/progress/progress.js.map +1 -1
- package/dist/esm/browser/modules/qrcode/qrcode.js +11 -8
- package/dist/esm/browser/modules/qrcode/qrcode.js.map +1 -1
- package/dist/esm/browser/modules/radio/index.js +1 -1
- package/dist/esm/browser/modules/radio/radio.js +16 -5
- package/dist/esm/browser/modules/radio/radio.js.map +1 -1
- package/dist/esm/browser/modules/rate/rate.js +9 -6
- package/dist/esm/browser/modules/rate/rate.js.map +1 -1
- package/dist/esm/browser/modules/result/result.js +11 -3
- package/dist/esm/browser/modules/result/result.js.map +1 -1
- package/dist/esm/browser/modules/scrollarea/scrollarea.js +6 -3
- package/dist/esm/browser/modules/scrollarea/scrollarea.js.map +1 -1
- package/dist/esm/browser/modules/scrollbar/scrollbar.js +13 -3
- package/dist/esm/browser/modules/scrollbar/scrollbar.js.map +1 -1
- package/dist/esm/browser/modules/segmented/segmented.js +4 -1
- package/dist/esm/browser/modules/segmented/segmented.js.map +1 -1
- package/dist/esm/browser/modules/select/index.js +1 -1
- package/dist/esm/browser/modules/select/select.js +177 -209
- package/dist/esm/browser/modules/select/select.js.map +1 -1
- package/dist/esm/browser/modules/shared/calendar.js +7 -6
- package/dist/esm/browser/modules/shared/calendar.js.map +1 -1
- package/dist/esm/browser/modules/shared/date-input.js +6 -6
- package/dist/esm/browser/modules/shared/date-input.js.map +1 -1
- package/dist/esm/browser/modules/shared/floating-feedback.js +24 -0
- package/dist/esm/browser/modules/shared/floating-feedback.js.map +1 -0
- package/dist/esm/browser/modules/shared/floating.js +1 -0
- package/dist/esm/browser/modules/shared/floating.js.map +1 -1
- package/dist/esm/browser/modules/shared/motion.js +4 -4
- package/dist/esm/browser/modules/shared/motion.js.map +1 -1
- package/dist/esm/browser/modules/shared/parse-date.js +2 -2
- package/dist/esm/browser/modules/shared/parse-date.js.map +1 -1
- package/dist/esm/browser/modules/shared/scoped-portal.js +17 -2
- package/dist/esm/browser/modules/shared/scoped-portal.js.map +1 -1
- package/dist/esm/browser/modules/shared/selection-content.js +164 -0
- package/dist/esm/browser/modules/shared/selection-content.js.map +1 -0
- package/dist/esm/browser/modules/shared/time.js +16 -2
- package/dist/esm/browser/modules/shared/time.js.map +1 -1
- package/dist/esm/browser/modules/shared/use-drag-announcements.js +28 -0
- package/dist/esm/browser/modules/shared/use-drag-announcements.js.map +1 -0
- package/dist/esm/browser/modules/shared/use-formatted-text.js +80 -0
- package/dist/esm/browser/modules/shared/use-formatted-text.js.map +1 -0
- package/dist/esm/browser/modules/shared/use-text.js +3 -3
- package/dist/esm/browser/modules/shared/use-text.js.map +1 -1
- package/dist/esm/browser/modules/skeleton/skeleton.js +11 -3
- package/dist/esm/browser/modules/skeleton/skeleton.js.map +1 -1
- package/dist/esm/browser/modules/slider/slider.js +15 -5
- package/dist/esm/browser/modules/slider/slider.js.map +1 -1
- package/dist/esm/browser/modules/space/space.js +4 -1
- package/dist/esm/browser/modules/space/space.js.map +1 -1
- package/dist/esm/browser/modules/splitter/index.js +1 -1
- package/dist/esm/browser/modules/splitter/splitter.js +10 -3
- package/dist/esm/browser/modules/splitter/splitter.js.map +1 -1
- package/dist/esm/browser/modules/statistic/index.js +1 -1
- package/dist/esm/browser/modules/statistic/statistic.js +14 -5
- package/dist/esm/browser/modules/statistic/statistic.js.map +1 -1
- package/dist/esm/browser/modules/steps/steps.js +4 -1
- package/dist/esm/browser/modules/steps/steps.js.map +1 -1
- package/dist/esm/browser/modules/switch/index.js +1 -1
- package/dist/esm/browser/modules/switch/switch.js +4 -1
- package/dist/esm/browser/modules/switch/switch.js.map +1 -1
- package/dist/esm/browser/modules/table/table.js +114 -31
- package/dist/esm/browser/modules/table/table.js.map +1 -1
- package/dist/esm/browser/modules/tabletanstack/defaults.js +1 -0
- package/dist/esm/browser/modules/tabletanstack/reordering.js +19 -10
- package/dist/esm/browser/modules/tabletanstack/reordering.js.map +1 -1
- package/dist/esm/browser/modules/tabletanstack/tabletanstack.js +108 -70
- package/dist/esm/browser/modules/tabletanstack/tabletanstack.js.map +1 -1
- package/dist/esm/browser/modules/tabs/tabs.js +120 -174
- package/dist/esm/browser/modules/tabs/tabs.js.map +1 -1
- package/dist/esm/browser/modules/tag/group.js +6 -2
- package/dist/esm/browser/modules/tag/group.js.map +1 -1
- package/dist/esm/browser/modules/tag/tag.js +5 -8
- package/dist/esm/browser/modules/tag/tag.js.map +1 -1
- package/dist/esm/browser/modules/tailwind-tokens.js +93 -0
- package/dist/esm/browser/modules/tailwind-tokens.js.map +1 -0
- package/dist/esm/browser/modules/tailwind.js +24 -0
- package/dist/esm/browser/modules/tailwind.js.map +1 -0
- package/dist/esm/browser/modules/textarea/index.js +1 -1
- package/dist/esm/browser/modules/textarea/textarea.js +12 -2
- package/dist/esm/browser/modules/textarea/textarea.js.map +1 -1
- package/dist/esm/browser/modules/timeline/timeline.js +4 -1
- package/dist/esm/browser/modules/timeline/timeline.js.map +1 -1
- package/dist/esm/browser/modules/timepicker/index.js +1 -1
- package/dist/esm/browser/modules/timepicker/time-panel.js +7 -6
- package/dist/esm/browser/modules/timepicker/time-panel.js.map +1 -1
- package/dist/esm/browser/modules/timepicker/timepicker.js +22 -13
- package/dist/esm/browser/modules/timepicker/timepicker.js.map +1 -1
- package/dist/esm/browser/modules/timerangepicker/timerangepicker.js +21 -14
- package/dist/esm/browser/modules/timerangepicker/timerangepicker.js.map +1 -1
- package/dist/esm/browser/modules/tooltip/tooltip.js +10 -2
- package/dist/esm/browser/modules/tooltip/tooltip.js.map +1 -1
- package/dist/esm/browser/modules/tour/index.js +1 -1
- package/dist/esm/browser/modules/tour/tour.js +11 -8
- package/dist/esm/browser/modules/tour/tour.js.map +1 -1
- package/dist/esm/browser/modules/transfer/transfer.js +28 -22
- package/dist/esm/browser/modules/transfer/transfer.js.map +1 -1
- package/dist/esm/browser/modules/tree/drag.js +14 -11
- package/dist/esm/browser/modules/tree/drag.js.map +1 -1
- package/dist/esm/browser/modules/tree/tree.js +29 -12
- package/dist/esm/browser/modules/tree/tree.js.map +1 -1
- package/dist/esm/browser/modules/treeselect/treeselect.js +150 -111
- package/dist/esm/browser/modules/treeselect/treeselect.js.map +1 -1
- package/dist/esm/browser/modules/typography/index.js +1 -1
- package/dist/esm/browser/modules/typography/typography.js +19 -12
- package/dist/esm/browser/modules/typography/typography.js.map +1 -1
- package/dist/esm/browser/modules/upload/upload.js +30 -21
- package/dist/esm/browser/modules/upload/upload.js.map +1 -1
- package/dist/esm/browser/modules/virtuallist/virtuallist.js +16 -5
- package/dist/esm/browser/modules/virtuallist/virtuallist.js.map +1 -1
- package/dist/esm/button/button.d.ts +3 -1
- package/dist/esm/button/button.d.ts.map +1 -1
- package/dist/esm/button/button.js +12 -2
- package/dist/esm/button/button.js.map +1 -1
- package/dist/esm/button/group.d.ts +4 -3
- package/dist/esm/button/group.d.ts.map +1 -1
- package/dist/esm/button/group.js +24 -12
- package/dist/esm/button/group.js.map +1 -1
- package/dist/esm/calendar/calendar.d.ts +1 -1
- package/dist/esm/calendar/calendar.d.ts.map +1 -1
- package/dist/esm/calendar/calendar.js +4 -2
- package/dist/esm/calendar/calendar.js.map +1 -1
- package/dist/esm/card/card.d.ts +9 -3
- package/dist/esm/card/card.d.ts.map +1 -1
- package/dist/esm/card/card.js +41 -6
- package/dist/esm/card/card.js.map +1 -1
- package/dist/esm/card/index.d.ts +1 -1
- package/dist/esm/card/index.d.ts.map +1 -1
- package/dist/esm/carousel/carousel.d.ts.map +1 -1
- package/dist/esm/carousel/carousel.js +12 -6
- package/dist/esm/carousel/carousel.js.map +1 -1
- package/dist/esm/carousel/index.d.ts +2 -1
- package/dist/esm/carousel/index.d.ts.map +1 -1
- package/dist/esm/carousel/index.js +1 -1
- package/dist/esm/cascader/cascader.d.ts +2 -0
- package/dist/esm/cascader/cascader.d.ts.map +1 -1
- package/dist/esm/cascader/cascader.js +40 -20
- package/dist/esm/cascader/cascader.js.map +1 -1
- package/dist/esm/cascader/index.d.ts +2 -1
- package/dist/esm/cascader/index.d.ts.map +1 -1
- package/dist/esm/cascader/index.js +1 -1
- package/dist/esm/checkbox/checkbox.d.ts +1 -0
- package/dist/esm/checkbox/checkbox.d.ts.map +1 -1
- package/dist/esm/checkbox/checkbox.js +11 -2
- package/dist/esm/checkbox/checkbox.js.map +1 -1
- package/dist/esm/checkbox/group.d.ts +1 -1
- package/dist/esm/checkbox/group.d.ts.map +1 -1
- package/dist/esm/checkbox/group.js +5 -3
- package/dist/esm/checkbox/group.js.map +1 -1
- package/dist/esm/checkbox/index.d.ts +2 -1
- package/dist/esm/checkbox/index.d.ts.map +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/collapse/collapse.d.ts +1 -1
- package/dist/esm/collapse/collapse.d.ts.map +1 -1
- package/dist/esm/collapse/collapse.js +4 -2
- package/dist/esm/collapse/collapse.js.map +1 -1
- package/dist/esm/color-recipes.d.ts.map +1 -1
- package/dist/esm/color-recipes.js +5 -0
- package/dist/esm/color-recipes.js.map +1 -1
- package/dist/esm/colorpicker/colorpicker.d.ts +1 -1
- package/dist/esm/colorpicker/colorpicker.d.ts.map +1 -1
- package/dist/esm/colorpicker/colorpicker.js +26 -13
- package/dist/esm/colorpicker/colorpicker.js.map +1 -1
- package/dist/esm/colorpicker/gradient.d.ts.map +1 -1
- package/dist/esm/colorpicker/gradient.js +35 -19
- package/dist/esm/colorpicker/gradient.js.map +1 -1
- package/dist/esm/commandpalette/commandpalette.d.ts +1 -1
- package/dist/esm/commandpalette/commandpalette.d.ts.map +1 -1
- package/dist/esm/commandpalette/commandpalette.js +16 -14
- package/dist/esm/commandpalette/commandpalette.js.map +1 -1
- package/dist/esm/commandpalette/index.d.ts +2 -1
- package/dist/esm/commandpalette/index.d.ts.map +1 -1
- package/dist/esm/commandpalette/index.js +1 -1
- package/dist/esm/config-provider/component-defaults.d.ts +365 -0
- package/dist/esm/config-provider/component-defaults.d.ts.map +1 -0
- package/dist/esm/config-provider/component-defaults.js +64 -0
- package/dist/esm/config-provider/component-defaults.js.map +1 -0
- package/dist/esm/config-provider/config-context.d.ts +15 -0
- package/dist/esm/config-provider/config-context.d.ts.map +1 -0
- package/dist/esm/config-provider/config-context.js +6 -0
- package/dist/esm/config-provider/config-context.js.map +1 -0
- package/dist/esm/config-provider/config-provider.d.ts +13 -6
- package/dist/esm/config-provider/config-provider.d.ts.map +1 -1
- package/dist/esm/config-provider/config-provider.js +46 -25
- package/dist/esm/config-provider/config-provider.js.map +1 -1
- package/dist/esm/config-provider/context.d.ts +11 -368
- package/dist/esm/config-provider/context.d.ts.map +1 -1
- package/dist/esm/config-provider/context.js +11 -205
- package/dist/esm/config-provider/context.js.map +1 -1
- package/dist/esm/config-provider/index.d.ts +2 -2
- package/dist/esm/config-provider/index.d.ts.map +1 -1
- package/dist/esm/config-provider/index.js +1 -1
- package/dist/esm/confirm/confirm.d.ts +1 -1
- package/dist/esm/confirm/confirm.d.ts.map +1 -1
- package/dist/esm/confirm/confirm.js +10 -8
- package/dist/esm/confirm/confirm.js.map +1 -1
- package/dist/esm/confirm/provider.d.ts.map +1 -1
- package/dist/esm/confirm/provider.js +26 -18
- package/dist/esm/confirm/provider.js.map +1 -1
- package/dist/esm/confirm/store.d.ts +6 -4
- package/dist/esm/confirm/store.d.ts.map +1 -1
- package/dist/esm/confirm/store.js +6 -4
- package/dist/esm/confirm/store.js.map +1 -1
- package/dist/esm/datepicker/datepicker.d.ts.map +1 -1
- package/dist/esm/datepicker/datepicker.js +7 -5
- package/dist/esm/datepicker/datepicker.js.map +1 -1
- package/dist/esm/datepicker/index.d.ts +2 -1
- package/dist/esm/datepicker/index.d.ts.map +1 -1
- package/dist/esm/datepicker/index.js +1 -1
- package/dist/esm/daterangepicker/daterangepicker.d.ts.map +1 -1
- package/dist/esm/daterangepicker/daterangepicker.js +29 -21
- package/dist/esm/daterangepicker/daterangepicker.js.map +1 -1
- package/dist/esm/datetimepicker/datetimepicker.d.ts.map +1 -1
- package/dist/esm/datetimepicker/datetimepicker.js +24 -16
- package/dist/esm/datetimepicker/datetimepicker.js.map +1 -1
- package/dist/esm/density.d.ts +3 -1
- package/dist/esm/density.d.ts.map +1 -1
- package/dist/esm/density.js +11 -5
- package/dist/esm/density.js.map +1 -1
- package/dist/esm/descriptions/descriptions.d.ts +1 -1
- package/dist/esm/descriptions/descriptions.d.ts.map +1 -1
- package/dist/esm/descriptions/descriptions.js +7 -5
- package/dist/esm/descriptions/descriptions.js.map +1 -1
- package/dist/esm/divider/divider.d.ts +1 -1
- package/dist/esm/divider/divider.d.ts.map +1 -1
- package/dist/esm/divider/divider.js +3 -1
- package/dist/esm/divider/divider.js.map +1 -1
- package/dist/esm/drawer/drawer.d.ts +1 -1
- package/dist/esm/drawer/drawer.d.ts.map +1 -1
- package/dist/esm/drawer/drawer.js +6 -4
- package/dist/esm/drawer/drawer.js.map +1 -1
- package/dist/esm/dropdown/dropdown.d.ts +2 -1
- package/dist/esm/dropdown/dropdown.d.ts.map +1 -1
- package/dist/esm/dropdown/dropdown.js +12 -3
- package/dist/esm/dropdown/dropdown.js.map +1 -1
- package/dist/esm/empty/empty.d.ts +1 -1
- package/dist/esm/empty/empty.d.ts.map +1 -1
- package/dist/esm/empty/empty.js +5 -3
- package/dist/esm/empty/empty.js.map +1 -1
- package/dist/esm/errorboundary/errorboundary.d.ts +8 -2
- package/dist/esm/errorboundary/errorboundary.d.ts.map +1 -1
- package/dist/esm/errorboundary/errorboundary.js +25 -14
- package/dist/esm/errorboundary/errorboundary.js.map +1 -1
- package/dist/esm/filelist/filelist.d.ts +2 -1
- package/dist/esm/filelist/filelist.d.ts.map +1 -1
- package/dist/esm/filelist/filelist.js +285 -193
- package/dist/esm/filelist/filelist.js.map +1 -1
- package/dist/esm/flex/flex.d.ts +13 -0
- package/dist/esm/flex/flex.d.ts.map +1 -0
- package/dist/esm/flex/flex.js +36 -0
- package/dist/esm/flex/flex.js.map +1 -0
- package/dist/esm/flex/index.d.ts +2 -0
- package/dist/esm/flex/index.d.ts.map +1 -0
- package/dist/esm/flex/index.js +2 -0
- package/dist/esm/floatbutton/floatbutton.d.ts +5 -3
- package/dist/esm/floatbutton/floatbutton.d.ts.map +1 -1
- package/dist/esm/floatbutton/floatbutton.js +20 -12
- package/dist/esm/floatbutton/floatbutton.js.map +1 -1
- package/dist/esm/floatbutton/index.d.ts +2 -1
- package/dist/esm/floatbutton/index.d.ts.map +1 -1
- package/dist/esm/floatbutton/index.js +1 -1
- package/dist/esm/form/form.d.ts +3 -3
- package/dist/esm/form/form.d.ts.map +1 -1
- package/dist/esm/form/form.js +14 -9
- package/dist/esm/form/form.js.map +1 -1
- package/dist/esm/form/index.d.ts +2 -1
- package/dist/esm/form/index.d.ts.map +1 -1
- package/dist/esm/form/index.js +1 -1
- package/dist/esm/form/list.d.ts +1 -1
- package/dist/esm/form/list.d.ts.map +1 -1
- package/dist/esm/form/list.js +3 -1
- package/dist/esm/form/list.js.map +1 -1
- package/dist/esm/grid/grid.d.ts +2 -1
- package/dist/esm/grid/grid.d.ts.map +1 -1
- package/dist/esm/grid/grid.js +16 -5
- package/dist/esm/grid/grid.js.map +1 -1
- package/dist/esm/image/image.d.ts +3 -2
- package/dist/esm/image/image.d.ts.map +1 -1
- package/dist/esm/image/image.js +23 -10
- package/dist/esm/image/image.js.map +1 -1
- package/dist/esm/image/viewer.d.ts.map +1 -1
- package/dist/esm/image/viewer.js +34 -25
- package/dist/esm/image/viewer.js.map +1 -1
- package/dist/esm/index.d.ts +6 -7
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/infinitescroll/infinitescroll.d.ts +1 -1
- package/dist/esm/infinitescroll/infinitescroll.d.ts.map +1 -1
- package/dist/esm/infinitescroll/infinitescroll.js +12 -10
- package/dist/esm/infinitescroll/infinitescroll.js.map +1 -1
- package/dist/esm/input/group.d.ts +1 -1
- package/dist/esm/input/group.d.ts.map +1 -1
- package/dist/esm/input/group.js +19 -9
- package/dist/esm/input/group.js.map +1 -1
- package/dist/esm/input/index.d.ts +2 -1
- package/dist/esm/input/index.d.ts.map +1 -1
- package/dist/esm/input/index.js +1 -1
- package/dist/esm/input/input.d.ts +1 -0
- package/dist/esm/input/input.d.ts.map +1 -1
- package/dist/esm/input/input.js +12 -4
- package/dist/esm/input/input.js.map +1 -1
- package/dist/esm/inputmask/inputmask.d.ts +1 -1
- package/dist/esm/inputmask/inputmask.d.ts.map +1 -1
- package/dist/esm/inputmask/inputmask.js +5 -3
- package/dist/esm/inputmask/inputmask.js.map +1 -1
- package/dist/esm/inputnumber/inputnumber.d.ts +1 -0
- package/dist/esm/inputnumber/inputnumber.d.ts.map +1 -1
- package/dist/esm/inputnumber/inputnumber.js +15 -6
- package/dist/esm/inputnumber/inputnumber.js.map +1 -1
- package/dist/esm/inputnumber/string.d.ts.map +1 -1
- package/dist/esm/inputnumber/string.js +3 -3
- package/dist/esm/inputnumber/string.js.map +1 -1
- package/dist/esm/inputotp/inputotp.d.ts.map +1 -1
- package/dist/esm/inputotp/inputotp.js +4 -2
- package/dist/esm/inputotp/inputotp.js.map +1 -1
- package/dist/esm/layout/layout.d.ts.map +1 -1
- package/dist/esm/layout/layout.js +15 -9
- package/dist/esm/layout/layout.js.map +1 -1
- package/dist/esm/loading/loading.d.ts +2 -1
- package/dist/esm/loading/loading.d.ts.map +1 -1
- package/dist/esm/loading/loading.js +10 -3
- package/dist/esm/loading/loading.js.map +1 -1
- package/dist/esm/loadingbar/loadingbar.d.ts +2 -1
- package/dist/esm/loadingbar/loadingbar.d.ts.map +1 -1
- package/dist/esm/loadingbar/loadingbar.js +52 -10
- package/dist/esm/loadingbar/loadingbar.js.map +1 -1
- package/dist/esm/locales/en-US.js +1 -0
- package/dist/esm/locales/ja-JP.js +1 -0
- package/dist/esm/locales/ko-KR.js +1 -0
- package/dist/esm/locales/messages.d.ts +336 -0
- package/dist/esm/locales/messages.d.ts.map +1 -0
- package/dist/esm/locales/messages.js +1 -0
- package/dist/esm/locales/resolve.d.ts +13 -0
- package/dist/esm/locales/resolve.d.ts.map +1 -0
- package/dist/esm/locales/resolve.js +89 -0
- package/dist/esm/locales/resolve.js.map +1 -0
- package/dist/esm/locales/types.d.ts +18 -0
- package/dist/esm/locales/types.d.ts.map +1 -0
- package/dist/esm/locales/types.js +1 -0
- package/dist/esm/locales/zh-CN.js +1 -0
- package/dist/esm/locales/zh-TW.js +1 -0
- package/dist/esm/masonry/masonry.d.ts.map +1 -1
- package/dist/esm/masonry/masonry.js +7 -5
- package/dist/esm/masonry/masonry.js.map +1 -1
- package/dist/esm/mentions/index.d.ts +2 -1
- package/dist/esm/mentions/index.d.ts.map +1 -1
- package/dist/esm/mentions/index.js +1 -1
- package/dist/esm/mentions/mentions.d.ts +1 -1
- package/dist/esm/mentions/mentions.d.ts.map +1 -1
- package/dist/esm/mentions/mentions.js +9 -6
- package/dist/esm/mentions/mentions.js.map +1 -1
- package/dist/esm/menu/menu.d.ts +1 -1
- package/dist/esm/menu/menu.d.ts.map +1 -1
- package/dist/esm/menu/menu.js +6 -4
- package/dist/esm/menu/menu.js.map +1 -1
- package/dist/esm/message/item.js +1 -1
- package/dist/esm/message/item.js.map +1 -1
- package/dist/esm/message/message.d.ts +1 -1
- package/dist/esm/message/message.d.ts.map +1 -1
- package/dist/esm/message/message.js +10 -4
- package/dist/esm/message/message.js.map +1 -1
- package/dist/esm/message/provider.d.ts.map +1 -1
- package/dist/esm/message/provider.js +8 -4
- package/dist/esm/message/provider.js.map +1 -1
- package/dist/esm/message/store.d.ts +6 -4
- package/dist/esm/message/store.d.ts.map +1 -1
- package/dist/esm/message/store.js +12 -6
- package/dist/esm/message/store.js.map +1 -1
- package/dist/esm/modal/modal.d.ts +3 -2
- package/dist/esm/modal/modal.d.ts.map +1 -1
- package/dist/esm/modal/modal.js +21 -12
- package/dist/esm/modal/modal.js.map +1 -1
- package/dist/esm/notification/notification.d.ts +1 -1
- package/dist/esm/notification/notification.d.ts.map +1 -1
- package/dist/esm/notification/notification.js +27 -14
- package/dist/esm/notification/notification.js.map +1 -1
- package/dist/esm/pagination/pagination.d.ts +4 -2
- package/dist/esm/pagination/pagination.d.ts.map +1 -1
- package/dist/esm/pagination/pagination.js +70 -25
- package/dist/esm/pagination/pagination.js.map +1 -1
- package/dist/esm/popconfirm/popconfirm.d.ts +3 -3
- package/dist/esm/popconfirm/popconfirm.d.ts.map +1 -1
- package/dist/esm/popconfirm/popconfirm.js +12 -10
- package/dist/esm/popconfirm/popconfirm.js.map +1 -1
- package/dist/esm/popover/popover.d.ts +2 -1
- package/dist/esm/popover/popover.d.ts.map +1 -1
- package/dist/esm/popover/popover.js +9 -2
- package/dist/esm/popover/popover.js.map +1 -1
- package/dist/esm/progress/progress.d.ts +1 -1
- package/dist/esm/progress/progress.d.ts.map +1 -1
- package/dist/esm/progress/progress.js +5 -3
- package/dist/esm/progress/progress.js.map +1 -1
- package/dist/esm/qrcode/qrcode.d.ts +1 -1
- package/dist/esm/qrcode/qrcode.d.ts.map +1 -1
- package/dist/esm/qrcode/qrcode.js +10 -8
- package/dist/esm/qrcode/qrcode.js.map +1 -1
- package/dist/esm/radio/index.d.ts +2 -1
- package/dist/esm/radio/index.d.ts.map +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/radio/radio.d.ts +2 -1
- package/dist/esm/radio/radio.d.ts.map +1 -1
- package/dist/esm/radio/radio.js +15 -5
- package/dist/esm/radio/radio.js.map +1 -1
- package/dist/esm/rate/rate.d.ts +1 -1
- package/dist/esm/rate/rate.d.ts.map +1 -1
- package/dist/esm/rate/rate.js +8 -6
- package/dist/esm/rate/rate.js.map +1 -1
- package/dist/esm/result/result.d.ts +2 -1
- package/dist/esm/result/result.d.ts.map +1 -1
- package/dist/esm/result/result.js +10 -3
- package/dist/esm/result/result.js.map +1 -1
- package/dist/esm/scrollarea/scrollarea.d.ts +1 -1
- package/dist/esm/scrollarea/scrollarea.d.ts.map +1 -1
- package/dist/esm/scrollarea/scrollarea.js +5 -3
- package/dist/esm/scrollarea/scrollarea.js.map +1 -1
- package/dist/esm/scrollbar/scrollbar.d.ts +1 -0
- package/dist/esm/scrollbar/scrollbar.d.ts.map +1 -1
- package/dist/esm/scrollbar/scrollbar.js +12 -3
- package/dist/esm/scrollbar/scrollbar.js.map +1 -1
- package/dist/esm/segmented/segmented.d.ts.map +1 -1
- package/dist/esm/segmented/segmented.js +3 -1
- package/dist/esm/segmented/segmented.js.map +1 -1
- package/dist/esm/select/index.d.ts +2 -2
- package/dist/esm/select/index.d.ts.map +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/select.d.ts +3 -0
- package/dist/esm/select/select.d.ts.map +1 -1
- package/dist/esm/select/select.js +176 -209
- package/dist/esm/select/select.js.map +1 -1
- package/dist/esm/shared/calendar.d.ts.map +1 -1
- package/dist/esm/shared/calendar.js +6 -6
- package/dist/esm/shared/calendar.js.map +1 -1
- package/dist/esm/shared/date-input.js +6 -6
- package/dist/esm/shared/date-input.js.map +1 -1
- package/dist/esm/shared/floating-feedback.d.ts +7 -0
- package/dist/esm/shared/floating-feedback.d.ts.map +1 -0
- package/dist/esm/shared/floating-feedback.js +24 -0
- package/dist/esm/shared/floating-feedback.js.map +1 -0
- package/dist/esm/shared/floating.d.ts.map +1 -1
- package/dist/esm/shared/floating.js +1 -0
- package/dist/esm/shared/floating.js.map +1 -1
- package/dist/esm/shared/motion.d.ts.map +1 -1
- package/dist/esm/shared/motion.js +4 -4
- package/dist/esm/shared/motion.js.map +1 -1
- package/dist/esm/shared/parse-date.d.ts +1 -1
- package/dist/esm/shared/parse-date.d.ts.map +1 -1
- package/dist/esm/shared/parse-date.js +2 -2
- package/dist/esm/shared/parse-date.js.map +1 -1
- package/dist/esm/shared/scoped-portal.d.ts.map +1 -1
- package/dist/esm/shared/scoped-portal.js +17 -2
- package/dist/esm/shared/scoped-portal.js.map +1 -1
- package/dist/esm/shared/selection-content.d.ts +22 -0
- package/dist/esm/shared/selection-content.d.ts.map +1 -0
- package/dist/esm/shared/selection-content.js +164 -0
- package/dist/esm/shared/selection-content.js.map +1 -0
- package/dist/esm/shared/time.d.ts +1 -1
- package/dist/esm/shared/time.d.ts.map +1 -1
- package/dist/esm/shared/time.js +16 -2
- package/dist/esm/shared/time.js.map +1 -1
- package/dist/esm/shared/types.d.ts +1 -1
- package/dist/esm/shared/use-drag-announcements.d.ts +8 -0
- package/dist/esm/shared/use-drag-announcements.d.ts.map +1 -0
- package/dist/esm/shared/use-drag-announcements.js +28 -0
- package/dist/esm/shared/use-drag-announcements.js.map +1 -0
- package/dist/esm/shared/use-formatted-text.d.ts +4 -0
- package/dist/esm/shared/use-formatted-text.d.ts.map +1 -0
- package/dist/esm/shared/use-formatted-text.js +80 -0
- package/dist/esm/shared/use-formatted-text.js.map +1 -0
- package/dist/esm/shared/use-text.d.ts +3 -2
- package/dist/esm/shared/use-text.d.ts.map +1 -1
- package/dist/esm/shared/use-text.js +3 -3
- package/dist/esm/shared/use-text.js.map +1 -1
- package/dist/esm/skeleton/skeleton.d.ts +2 -1
- package/dist/esm/skeleton/skeleton.d.ts.map +1 -1
- package/dist/esm/skeleton/skeleton.js +10 -3
- package/dist/esm/skeleton/skeleton.js.map +1 -1
- package/dist/esm/slider/slider.d.ts +1 -0
- package/dist/esm/slider/slider.d.ts.map +1 -1
- package/dist/esm/slider/slider.js +14 -5
- package/dist/esm/slider/slider.js.map +1 -1
- package/dist/esm/space/space.d.ts.map +1 -1
- package/dist/esm/space/space.js +3 -1
- package/dist/esm/space/space.js.map +1 -1
- package/dist/esm/splitter/index.d.ts +2 -1
- package/dist/esm/splitter/index.d.ts.map +1 -1
- package/dist/esm/splitter/index.js +1 -1
- package/dist/esm/splitter/splitter.d.ts +1 -1
- package/dist/esm/splitter/splitter.d.ts.map +1 -1
- package/dist/esm/splitter/splitter.js +9 -3
- package/dist/esm/splitter/splitter.js.map +1 -1
- package/dist/esm/statistic/index.d.ts +2 -1
- package/dist/esm/statistic/index.d.ts.map +1 -1
- package/dist/esm/statistic/index.js +1 -1
- package/dist/esm/statistic/statistic.d.ts +3 -2
- package/dist/esm/statistic/statistic.d.ts.map +1 -1
- package/dist/esm/statistic/statistic.js +13 -5
- package/dist/esm/statistic/statistic.js.map +1 -1
- package/dist/esm/steps/steps.d.ts +1 -1
- package/dist/esm/steps/steps.d.ts.map +1 -1
- package/dist/esm/steps/steps.js +3 -1
- package/dist/esm/steps/steps.js.map +1 -1
- package/dist/esm/styles/alert.css +1 -1
- package/dist/esm/styles/anchor.css +1 -1
- package/dist/esm/styles/appbar.css +1 -1
- package/dist/esm/styles/autocomplete.css +1 -1
- package/dist/esm/styles/avatar.css +1 -1
- package/dist/esm/styles/backtop.css +1 -1
- package/dist/esm/styles/badge.css +1 -1
- package/dist/esm/styles/base.css +1 -2
- package/dist/esm/styles/breadcrumb.css +1 -1
- package/dist/esm/styles/button.css +1 -1
- package/dist/esm/styles/calendar.css +1 -1
- package/dist/esm/styles/card.css +1 -1
- package/dist/esm/styles/carousel.css +1 -1
- package/dist/esm/styles/cascader.css +1 -1
- package/dist/esm/styles/checkbox.css +1 -1
- package/dist/esm/styles/collapse.css +1 -1
- package/dist/esm/styles/colorpicker.css +1 -1
- package/dist/esm/styles/commandpalette.css +1 -1
- package/dist/esm/styles/components/autocomplete.css +1 -1
- package/dist/esm/styles/components/button.css +1 -1
- package/dist/esm/styles/components/card.css +1 -1
- package/dist/esm/styles/components/cascader.css +1 -1
- package/dist/esm/styles/components/checkbox.css +1 -1
- package/dist/esm/styles/components/collapse.css +1 -1
- package/dist/esm/styles/components/colorpicker.css +1 -1
- package/dist/esm/styles/components/commandpalette.css +1 -1
- package/dist/esm/styles/components/datepicker.css +1 -1
- package/dist/esm/styles/components/drawer.css +1 -1
- package/dist/esm/styles/components/dropdown.css +1 -1
- package/dist/esm/styles/components/filelist.css +1 -1
- package/dist/esm/styles/components/flex.css +1 -0
- package/dist/esm/styles/components/floatbutton.css +1 -1
- package/dist/esm/styles/components/form.css +1 -1
- package/dist/esm/styles/components/input.css +1 -1
- package/dist/esm/styles/components/inputnumber.css +1 -1
- package/dist/esm/styles/components/inputotp.css +1 -1
- package/dist/esm/styles/components/mentions.css +1 -1
- package/dist/esm/styles/components/menu.css +1 -1
- package/dist/esm/styles/components/modal.css +1 -1
- package/dist/esm/styles/components/pagination.css +1 -1
- package/dist/esm/styles/components/radio.css +1 -1
- package/dist/esm/styles/components/segmented.css +1 -1
- package/dist/esm/styles/components/select.css +1 -1
- package/dist/esm/styles/components/steps.css +1 -1
- package/dist/esm/styles/components/switch.css +1 -1
- package/dist/esm/styles/components/tabs.css +1 -1
- package/dist/esm/styles/components/tag.css +1 -1
- package/dist/esm/styles/components/textarea.css +1 -1
- package/dist/esm/styles/components/timepicker.css +1 -1
- package/dist/esm/styles/components/tree.css +1 -1
- package/dist/esm/styles/components/treeselect.css +1 -1
- package/dist/esm/styles/config-provider.css +1 -1
- package/dist/esm/styles/confirm.css +1 -1
- package/dist/esm/styles/datepicker.css +1 -1
- package/dist/esm/styles/daterangepicker.css +1 -1
- package/dist/esm/styles/datetimepicker.css +1 -1
- package/dist/esm/styles/descriptions.css +1 -1
- package/dist/esm/styles/divider.css +1 -1
- package/dist/esm/styles/drawer.css +1 -1
- package/dist/esm/styles/dropdown.css +1 -1
- package/dist/esm/styles/empty.css +1 -1
- package/dist/esm/styles/errorboundary.css +1 -1
- package/dist/esm/styles/filelist.css +1 -1
- package/dist/esm/styles/flex.css +1 -0
- package/dist/esm/styles/floatbutton.css +1 -1
- package/dist/esm/styles/form.css +1 -1
- package/dist/esm/styles/foundation.css +1 -0
- package/dist/esm/styles/grid.css +1 -1
- package/dist/esm/styles/image.css +1 -1
- package/dist/esm/styles/index.css +886 -941
- package/dist/esm/styles/index.css.map +1 -1
- package/dist/esm/styles/infinitescroll.css +1 -1
- package/dist/esm/styles/input.css +1 -1
- package/dist/esm/styles/inputmask.css +1 -1
- package/dist/esm/styles/inputnumber.css +1 -1
- package/dist/esm/styles/inputotp.css +1 -1
- package/dist/esm/styles/layout.css +1 -1
- package/dist/esm/styles/loading.css +1 -1
- package/dist/esm/styles/loadingbar.css +1 -1
- package/dist/esm/styles/masonry.css +1 -1
- package/dist/esm/styles/mentions.css +1 -1
- package/dist/esm/styles/menu.css +1 -1
- package/dist/esm/styles/message.css +1 -1
- package/dist/esm/styles/modal.css +1 -1
- package/dist/esm/styles/notification.css +1 -1
- package/dist/esm/styles/pagination.css +1 -1
- package/dist/esm/styles/popconfirm.css +1 -1
- package/dist/esm/styles/popover.css +1 -1
- package/dist/esm/styles/progress.css +1 -1
- package/dist/esm/styles/qrcode.css +1 -1
- package/dist/esm/styles/radio.css +1 -1
- package/dist/esm/styles/rate.css +1 -1
- package/dist/esm/styles/result.css +1 -1
- package/dist/esm/styles/scrollarea.css +1 -1
- package/dist/esm/styles/scrollbar.css +1 -1
- package/dist/esm/styles/segmented.css +1 -1
- package/dist/esm/styles/select.css +1 -1
- package/dist/esm/styles/skeleton.css +1 -1
- package/dist/esm/styles/slider.css +1 -1
- package/dist/esm/styles/space.css +1 -1
- package/dist/esm/styles/splitter.css +1 -1
- package/dist/esm/styles/statistic.css +1 -1
- package/dist/esm/styles/steps.css +1 -1
- package/dist/esm/styles/switch.css +1 -1
- package/dist/esm/styles/table.css +1 -1
- package/dist/esm/styles/tabletanstack.css +1 -1
- package/dist/esm/styles/tabs.css +1 -1
- package/dist/esm/styles/tag.css +1 -1
- package/dist/esm/styles/textarea.css +1 -1
- package/dist/esm/styles/timeline.css +1 -1
- package/dist/esm/styles/timepicker.css +1 -1
- package/dist/esm/styles/timerangepicker.css +1 -1
- package/dist/esm/styles/tooltip.css +1 -1
- package/dist/esm/styles/tour.css +1 -1
- package/dist/esm/styles/transfer.css +1 -1
- package/dist/esm/styles/tree.css +1 -1
- package/dist/esm/styles/treeselect.css +1 -1
- package/dist/esm/styles/typography.css +1 -1
- package/dist/esm/styles/upload.css +1 -1
- package/dist/esm/styles/virtuallist.css +1 -1
- package/dist/esm/switch/index.d.ts +2 -1
- package/dist/esm/switch/index.d.ts.map +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/switch/switch.d.ts.map +1 -1
- package/dist/esm/switch/switch.js +3 -1
- package/dist/esm/switch/switch.js.map +1 -1
- package/dist/esm/table/table.d.ts +28 -5
- package/dist/esm/table/table.d.ts.map +1 -1
- package/dist/esm/table/table.js +113 -31
- package/dist/esm/table/table.js.map +1 -1
- package/dist/esm/tabletanstack/defaults.d.ts +44 -0
- package/dist/esm/tabletanstack/defaults.d.ts.map +1 -0
- package/dist/esm/tabletanstack/defaults.js +1 -0
- package/dist/esm/tabletanstack/index.d.ts +1 -1
- package/dist/esm/tabletanstack/index.d.ts.map +1 -1
- package/dist/esm/tabletanstack/reordering.d.ts +1 -1
- package/dist/esm/tabletanstack/reordering.d.ts.map +1 -1
- package/dist/esm/tabletanstack/reordering.js +18 -10
- package/dist/esm/tabletanstack/reordering.js.map +1 -1
- package/dist/esm/tabletanstack/tabletanstack.d.ts +15 -49
- package/dist/esm/tabletanstack/tabletanstack.d.ts.map +1 -1
- package/dist/esm/tabletanstack/tabletanstack.js +107 -70
- package/dist/esm/tabletanstack/tabletanstack.js.map +1 -1
- package/dist/esm/tabs/tabs.d.ts +2 -1
- package/dist/esm/tabs/tabs.d.ts.map +1 -1
- package/dist/esm/tabs/tabs.js +119 -174
- package/dist/esm/tabs/tabs.js.map +1 -1
- package/dist/esm/tag/group.d.ts +2 -2
- package/dist/esm/tag/group.d.ts.map +1 -1
- package/dist/esm/tag/group.js +5 -2
- package/dist/esm/tag/group.js.map +1 -1
- package/dist/esm/tag/tag.d.ts +2 -2
- package/dist/esm/tag/tag.d.ts.map +1 -1
- package/dist/esm/tag/tag.js +4 -8
- package/dist/esm/tag/tag.js.map +1 -1
- package/dist/esm/tailwind-tokens.d.ts +91 -0
- package/dist/esm/tailwind-tokens.d.ts.map +1 -0
- package/dist/esm/tailwind-tokens.js +93 -0
- package/dist/esm/tailwind-tokens.js.map +1 -0
- package/dist/esm/tailwind.d.ts +136 -0
- package/dist/esm/tailwind.d.ts.map +1 -0
- package/dist/esm/tailwind.js +24 -0
- package/dist/esm/tailwind.js.map +1 -0
- package/dist/esm/textarea/index.d.ts +2 -2
- package/dist/esm/textarea/index.d.ts.map +1 -1
- package/dist/esm/textarea/index.js +1 -1
- package/dist/esm/textarea/textarea.d.ts +1 -0
- package/dist/esm/textarea/textarea.d.ts.map +1 -1
- package/dist/esm/textarea/textarea.js +11 -2
- package/dist/esm/textarea/textarea.js.map +1 -1
- package/dist/esm/timeline/timeline.d.ts +1 -1
- package/dist/esm/timeline/timeline.d.ts.map +1 -1
- package/dist/esm/timeline/timeline.js +3 -1
- package/dist/esm/timeline/timeline.js.map +1 -1
- package/dist/esm/timepicker/index.d.ts +2 -1
- package/dist/esm/timepicker/index.d.ts.map +1 -1
- package/dist/esm/timepicker/index.js +1 -1
- package/dist/esm/timepicker/time-panel.js +6 -6
- package/dist/esm/timepicker/time-panel.js.map +1 -1
- package/dist/esm/timepicker/timepicker.d.ts.map +1 -1
- package/dist/esm/timepicker/timepicker.js +21 -13
- package/dist/esm/timepicker/timepicker.js.map +1 -1
- package/dist/esm/timerangepicker/timerangepicker.d.ts.map +1 -1
- package/dist/esm/timerangepicker/timerangepicker.js +20 -14
- package/dist/esm/timerangepicker/timerangepicker.js.map +1 -1
- package/dist/esm/tooltip/tooltip.d.ts +2 -1
- package/dist/esm/tooltip/tooltip.d.ts.map +1 -1
- package/dist/esm/tooltip/tooltip.js +9 -2
- package/dist/esm/tooltip/tooltip.js.map +1 -1
- package/dist/esm/tour/index.d.ts +2 -1
- package/dist/esm/tour/index.d.ts.map +1 -1
- package/dist/esm/tour/index.js +1 -1
- package/dist/esm/tour/tour.d.ts +1 -1
- package/dist/esm/tour/tour.d.ts.map +1 -1
- package/dist/esm/tour/tour.js +10 -8
- package/dist/esm/tour/tour.js.map +1 -1
- package/dist/esm/transfer/transfer.d.ts +1 -1
- package/dist/esm/transfer/transfer.d.ts.map +1 -1
- package/dist/esm/transfer/transfer.js +27 -22
- package/dist/esm/transfer/transfer.js.map +1 -1
- package/dist/esm/tree/drag.d.ts.map +1 -1
- package/dist/esm/tree/drag.js +13 -11
- package/dist/esm/tree/drag.js.map +1 -1
- package/dist/esm/tree/tree.d.ts +5 -1
- package/dist/esm/tree/tree.d.ts.map +1 -1
- package/dist/esm/tree/tree.js +28 -12
- package/dist/esm/tree/tree.js.map +1 -1
- package/dist/esm/treeselect/treeselect.d.ts +4 -2
- package/dist/esm/treeselect/treeselect.d.ts.map +1 -1
- package/dist/esm/treeselect/treeselect.js +149 -111
- package/dist/esm/treeselect/treeselect.js.map +1 -1
- package/dist/esm/typography/index.d.ts +2 -1
- package/dist/esm/typography/index.d.ts.map +1 -1
- package/dist/esm/typography/index.js +1 -1
- package/dist/esm/typography/typography.d.ts.map +1 -1
- package/dist/esm/typography/typography.js +18 -12
- package/dist/esm/typography/typography.js.map +1 -1
- package/dist/esm/upload/upload.d.ts +1 -1
- package/dist/esm/upload/upload.d.ts.map +1 -1
- package/dist/esm/upload/upload.js +29 -21
- package/dist/esm/upload/upload.js.map +1 -1
- package/dist/esm/virtuallist/virtuallist.d.ts +1 -0
- package/dist/esm/virtuallist/virtuallist.d.ts.map +1 -1
- package/dist/esm/virtuallist/virtuallist.js +15 -5
- package/dist/esm/virtuallist/virtuallist.js.map +1 -1
- package/dist/locales/check-translations.mjs +84 -0
- package/dist/locales/en-US.json +335 -0
- package/dist/locales/ja-JP.json +335 -0
- package/dist/locales/ko-KR.json +335 -0
- package/dist/locales/schema.json +1250 -0
- package/dist/locales/zh-CN.json +335 -0
- package/dist/locales/zh-TW.json +335 -0
- package/dist/tailwind.css +71 -0
- package/package.json +46 -47
- package/dist/cjs/browser/imagecropper.cjs +0 -2
- package/dist/cjs/browser/modules/imagecropper/crop.cjs +0 -75
- package/dist/cjs/browser/modules/imagecropper/crop.cjs.map +0 -1
- package/dist/cjs/browser/modules/imagecropper/editor.cjs +0 -245
- package/dist/cjs/browser/modules/imagecropper/editor.cjs.map +0 -1
- package/dist/cjs/browser/modules/imagecropper/imagecropper.cjs +0 -76
- package/dist/cjs/browser/modules/imagecropper/imagecropper.cjs.map +0 -1
- package/dist/cjs/browser/modules/imagecropper/index.cjs.map +0 -1
- package/dist/cjs/browser/modules/locales/zh-tw.cjs +0 -304
- package/dist/cjs/browser/modules/locales/zh-tw.cjs.map +0 -1
- package/dist/cjs/browser/modules/signaturepad/index.cjs.map +0 -1
- package/dist/cjs/browser/modules/signaturepad/signaturepad.cjs +0 -301
- package/dist/cjs/browser/modules/signaturepad/signaturepad.cjs.map +0 -1
- package/dist/cjs/browser/signaturepad.cjs +0 -2
- package/dist/cjs/imagecropper/crop.cjs +0 -75
- package/dist/cjs/imagecropper/crop.cjs.map +0 -1
- package/dist/cjs/imagecropper/crop.d.cts +0 -3
- package/dist/cjs/imagecropper/crop.d.cts.map +0 -1
- package/dist/cjs/imagecropper/editor.cjs +0 -244
- package/dist/cjs/imagecropper/editor.cjs.map +0 -1
- package/dist/cjs/imagecropper/editor.d.cts +0 -3
- package/dist/cjs/imagecropper/editor.d.cts.map +0 -1
- package/dist/cjs/imagecropper/imagecropper.cjs +0 -75
- package/dist/cjs/imagecropper/imagecropper.cjs.map +0 -1
- package/dist/cjs/imagecropper/imagecropper.d.cts +0 -35
- package/dist/cjs/imagecropper/imagecropper.d.cts.map +0 -1
- package/dist/cjs/imagecropper/index.cjs.map +0 -1
- package/dist/cjs/imagecropper/index.d.cts +0 -3
- package/dist/cjs/imagecropper/index.d.cts.map +0 -1
- package/dist/cjs/locales/zh-tw.cjs +0 -304
- package/dist/cjs/locales/zh-tw.cjs.map +0 -1
- package/dist/cjs/locales/zh-tw.d.cts +0 -90
- package/dist/cjs/locales/zh-tw.d.cts.map +0 -1
- package/dist/cjs/signaturepad/index.cjs.map +0 -1
- package/dist/cjs/signaturepad/index.d.cts +0 -3
- package/dist/cjs/signaturepad/index.d.cts.map +0 -1
- package/dist/cjs/signaturepad/signaturepad.cjs +0 -300
- package/dist/cjs/signaturepad/signaturepad.cjs.map +0 -1
- package/dist/cjs/signaturepad/signaturepad.d.cts +0 -38
- package/dist/cjs/signaturepad/signaturepad.d.cts.map +0 -1
- package/dist/cjs/styles/components/imagecropper.css +0 -1
- package/dist/cjs/styles/components/signaturepad.css +0 -1
- package/dist/cjs/styles/imagecropper.css +0 -1
- package/dist/cjs/styles/signaturepad.css +0 -1
- package/dist/esm/browser/imagecropper.js +0 -2
- package/dist/esm/browser/modules/imagecropper/crop.js +0 -37
- package/dist/esm/browser/modules/imagecropper/crop.js.map +0 -1
- package/dist/esm/browser/modules/imagecropper/editor.js +0 -197
- package/dist/esm/browser/modules/imagecropper/editor.js.map +0 -1
- package/dist/esm/browser/modules/imagecropper/imagecropper.js +0 -38
- package/dist/esm/browser/modules/imagecropper/imagecropper.js.map +0 -1
- package/dist/esm/browser/modules/imagecropper/index.js +0 -2
- package/dist/esm/browser/modules/locales/zh-tw.js +0 -263
- package/dist/esm/browser/modules/locales/zh-tw.js.map +0 -1
- package/dist/esm/browser/modules/signaturepad/index.js +0 -2
- package/dist/esm/browser/modules/signaturepad/signaturepad.js +0 -263
- package/dist/esm/browser/modules/signaturepad/signaturepad.js.map +0 -1
- package/dist/esm/browser/signaturepad.js +0 -2
- package/dist/esm/imagecropper/crop.d.ts +0 -3
- package/dist/esm/imagecropper/crop.d.ts.map +0 -1
- package/dist/esm/imagecropper/crop.js +0 -37
- package/dist/esm/imagecropper/crop.js.map +0 -1
- package/dist/esm/imagecropper/editor.d.ts +0 -3
- package/dist/esm/imagecropper/editor.d.ts.map +0 -1
- package/dist/esm/imagecropper/editor.js +0 -196
- package/dist/esm/imagecropper/editor.js.map +0 -1
- package/dist/esm/imagecropper/imagecropper.d.ts +0 -35
- package/dist/esm/imagecropper/imagecropper.d.ts.map +0 -1
- package/dist/esm/imagecropper/imagecropper.js +0 -37
- package/dist/esm/imagecropper/imagecropper.js.map +0 -1
- package/dist/esm/imagecropper/index.d.ts +0 -3
- package/dist/esm/imagecropper/index.d.ts.map +0 -1
- package/dist/esm/imagecropper/index.js +0 -2
- package/dist/esm/locales/zh-tw.d.ts +0 -90
- package/dist/esm/locales/zh-tw.d.ts.map +0 -1
- package/dist/esm/locales/zh-tw.js +0 -263
- package/dist/esm/locales/zh-tw.js.map +0 -1
- package/dist/esm/signaturepad/index.d.ts +0 -3
- package/dist/esm/signaturepad/index.d.ts.map +0 -1
- package/dist/esm/signaturepad/index.js +0 -2
- package/dist/esm/signaturepad/signaturepad.d.ts +0 -38
- package/dist/esm/signaturepad/signaturepad.d.ts.map +0 -1
- package/dist/esm/signaturepad/signaturepad.js +0 -262
- package/dist/esm/signaturepad/signaturepad.js.map +0 -1
- package/dist/esm/styles/components/imagecropper.css +0 -1
- package/dist/esm/styles/components/signaturepad.css +0 -1
- package/dist/esm/styles/imagecropper.css +0 -1
- package/dist/esm/styles/signaturepad.css +0 -1
|
@@ -191,6 +191,7 @@ function FloatingPanel({ open, triggerRef, panelRef, matchWidth, width, minWidth
|
|
|
191
191
|
"data-side": resolvedPlacement.split('-')[0],
|
|
192
192
|
"data-align": resolvedPlacement.split('-')[1] ?? 'center',
|
|
193
193
|
dir: props.dir ?? theme.direction ?? config.direction,
|
|
194
|
+
lang: props.lang ?? config.locale,
|
|
194
195
|
"data-state": open ? 'open' : 'closing',
|
|
195
196
|
"data-positioned": isPositioned || !open,
|
|
196
197
|
"aria-hidden": !open || void 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared/floating.js","sources":["../../../../../src/shared/floating.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n offset,\n type Placement,\n shift,\n size,\n useFloating,\n} from '@floating-ui/react-dom';\nimport {\n type CSSProperties,\n createContext,\n type HTMLAttributes,\n type RefObject,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { tabbable } from 'tabbable';\nimport { useLeafConfig } from '../config-provider/context';\nimport type { LeafThemeStyle } from '../theme';\nimport { composedEventTarget, composedParent, deepActiveElement } from './dom';\nimport { assignRef } from './field';\nimport { inertProps } from './inert';\nimport { OverlayOwner } from './overlay-owner';\nimport { usePresence } from './presence';\n\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\nconst PopupParent = createContext<string | undefined>(undefined);\nconst popupNodes = new Map<string, HTMLElement>();\nconst dismissStack: RefObject<HTMLElement | null>[] = [];\nfunction insidePopup(target: Node, panel: HTMLElement | null) {\n if (!panel) return false;\n if (panel.contains(target)) return true;\n let popup = target instanceof Element ? target.closest<HTMLElement>('[data-leaf-popup]') : null;\n const visited = new Set<string>();\n while (popup?.dataset.leafPopupParent) {\n const parent = popup.dataset.leafPopupParent;\n if (visited.has(parent)) break;\n visited.add(parent);\n popup = popupNodes.get(parent) ?? null;\n if (popup === panel) return true;\n }\n return false;\n}\n\n/** Close disabled fields immediately and report each open-state change once. */\nexport function usePopupState(\n disabled?: boolean,\n onOpenChange?: (open: boolean) => void,\n controlledOpen?: boolean,\n defaultOpen = false,\n) {\n const [internalOpen, setRequestedOpen] = useState(defaultOpen);\n const requestedOpen = controlledOpen ?? internalOpen;\n const requestedRef = useRef(requestedOpen);\n requestedRef.current = requestedOpen;\n const open = requestedOpen && !disabled;\n const setOpen = useCallback(\n (next: boolean) => {\n if (next === requestedRef.current || (next && disabled)) return;\n requestedRef.current = next;\n if (controlledOpen === undefined) setRequestedOpen(next);\n onOpenChange?.(next);\n },\n [disabled, onOpenChange, controlledOpen],\n );\n useEffect(() => {\n if (disabled && requestedOpen) setOpen(false);\n }, [disabled, requestedOpen, setOpen]);\n return [open, setOpen] as const;\n}\n\nexport interface PopupOptions {\n popupPlacement?: Placement;\n popupClassName?: string;\n popupStyle?: CSSProperties;\n popupRender?: (content: React.ReactNode) => React.ReactNode;\n getPopupContainer?: () => Element | DocumentFragment;\n}\ninterface FloatingPanelProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n triggerRef: RefObject<HTMLElement | null>;\n panelRef: RefObject<HTMLDivElement | null>;\n matchWidth?: boolean;\n width?: CSSProperties['width'];\n minWidth?: CSSProperties['minWidth'] | 'trigger';\n maxWidth?: CSSProperties['maxWidth'];\n maxHeight?: CSSProperties['maxHeight'];\n placement?: Placement;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n render?: (content: React.ReactNode) => React.ReactNode;\n position?: { x: number; y: number };\n}\n\n/** Position a lazily mounted portal, preserving the trigger's scoped theme. */\nexport function FloatingPanel({\n open,\n triggerRef,\n panelRef,\n matchWidth,\n width,\n minWidth,\n maxWidth,\n maxHeight,\n placement = 'bottom-start',\n container,\n render,\n position,\n style,\n children,\n ...props\n}: FloatingPanelProps) {\n const popupId = useId();\n const parentPopup = useContext(PopupParent);\n const config = useLeafConfig();\n const owner = useContext(OverlayOwner);\n const present = usePresence(open, panelRef);\n const [theme, setTheme] = useState<LeafThemeStyle>({});\n const [inheritedMotion, setInheritedMotion] = useState<string>();\n const openRef = useRef(open);\n openRef.current = open;\n const previousPosition = useRef<CSSProperties>({});\n const closingContent = useRef(children);\n const referenceElement = triggerRef.current;\n if (open) closingContent.current = children;\n const {\n refs,\n floatingStyles,\n isPositioned,\n update,\n placement: resolvedPlacement,\n } = useFloating({\n open,\n placement,\n strategy: 'fixed',\n // Keep viewport positioning outside the popup's local scale/translate motion.\n transform: false,\n whileElementsMounted: (reference, floating, update) =>\n autoUpdate(reference, floating, () => {\n if (openRef.current) update();\n }),\n middleware: [\n offset(6),\n flip({ padding: 12 }),\n shift({ padding: 12 }),\n size({\n padding: 12,\n apply({ availableHeight, availableWidth, rects, elements }) {\n if (!openRef.current) return;\n const length = (value: string | number) =>\n typeof value === 'number' ? `${value}px` : value;\n const widthMaximum = maxWidth ?? style?.maxWidth;\n const heightMaximum = maxHeight ?? style?.maxHeight;\n const viewportWidth = `${Math.max(0, availableWidth)}px`;\n const viewportHeight = `${Math.max(0, availableHeight)}px`;\n const widthLimit =\n widthMaximum === undefined\n ? viewportWidth\n : `min(${length(widthMaximum)}, ${viewportWidth})`;\n Object.assign(elements.floating.style, {\n maxHeight:\n heightMaximum === undefined\n ? viewportHeight\n : `min(${length(heightMaximum)}, ${viewportHeight})`,\n maxWidth: widthLimit,\n width: matchWidth\n ? `${Math.min(rects.reference.width, availableWidth)}px`\n : length(width ?? style?.width ?? ''),\n minWidth:\n minWidth === 'trigger'\n ? `min(${rects.reference.width}px, ${widthLimit})`\n : length(minWidth ?? style?.minWidth ?? ''),\n });\n },\n }),\n ],\n });\n if (open) previousPosition.current = floatingStyles;\n const setPanelRef = useCallback(\n (node: HTMLDivElement | null) => {\n if (node) popupNodes.set(popupId, node);\n else popupNodes.delete(popupId);\n assignRef(panelRef, node);\n refs.setFloating(node);\n },\n [panelRef, refs.setFloating, popupId],\n );\n\n useBrowserLayoutEffect(() => {\n const trigger = referenceElement ?? triggerRef.current;\n if (!trigger || !present) return;\n refs.setReference(\n position\n ? {\n getBoundingClientRect: () => ({\n x: position.x,\n y: position.y,\n top: position.y,\n bottom: position.y,\n left: position.x,\n right: position.x,\n width: 0,\n height: 0,\n }),\n }\n : trigger,\n );\n const syncTheme = () => {\n const computed = getComputedStyle(trigger);\n let motionAncestor: HTMLElement | null = trigger;\n while (motionAncestor && !motionAncestor.hasAttribute('data-leaf-motion'))\n motionAncestor = composedParent(motionAncestor);\n setInheritedMotion(motionAncestor?.getAttribute('data-leaf-motion') ?? undefined);\n const variables: LeafThemeStyle = {\n colorScheme: computed.colorScheme,\n direction: computed.direction as CSSProperties['direction'],\n };\n for (let i = 0; i < computed.length; i += 1) {\n const key = computed.item(i);\n if (key.startsWith('--leaf-'))\n variables[key as `--leaf-${string}`] = computed.getPropertyValue(key);\n }\n setTheme(variables);\n };\n syncTheme();\n const observer = new MutationObserver(syncTheme);\n let ancestor: HTMLElement | null = trigger;\n while (ancestor) {\n observer.observe(ancestor, {\n attributes: true,\n attributeFilter: ['class', 'style', 'data-leaf-theme', 'data-leaf-motion', 'dir'],\n });\n ancestor = composedParent(ancestor);\n }\n return () => observer.disconnect();\n }, [triggerRef, referenceElement, refs.setReference, present, position]);\n\n useBrowserLayoutEffect(() => {\n // A quick reopen can reuse the exit-presence node without remounting autoUpdate.\n if (open && present) void update();\n }, [open, present, update]);\n\n if (!present || typeof document === 'undefined') return null;\n return createPortal(\n <PopupParent.Provider value={popupId}>\n <div\n {...props}\n ref={setPanelRef}\n data-leaf-owner={owner}\n data-leaf-popup={popupId}\n data-leaf-popup-parent={parentPopup}\n data-leaf-motion={config.theme.motion === false ? 'off' : inheritedMotion}\n data-side={resolvedPlacement.split('-')[0]}\n data-align={resolvedPlacement.split('-')[1] ?? 'center'}\n dir={props.dir ?? theme.direction ?? config.direction}\n data-state={open ? 'open' : 'closing'}\n data-positioned={isPositioned || !open}\n aria-hidden={!open || undefined}\n {...inertProps(!open)}\n style={{ ...theme, ...style, ...(open ? floatingStyles : previousPosition.current) }}\n >\n {render\n ? render(open ? children : closingContent.current)\n : open\n ? children\n : closingContent.current}\n </div>\n </PopupParent.Provider>,\n (typeof container === 'function' ? container() : container) ??\n config.getPopupContainer?.() ??\n document.body,\n );\n}\n\n/** Close a custom floating panel when focus leaves it or Escape is pressed. */\nexport function useFloatingDismiss(\n open: boolean,\n onClose: (reason?: 'escape' | 'outside' | 'focus' | 'tab') => void,\n triggerRef: RefObject<HTMLElement | null>,\n panelRef: RefObject<HTMLElement | null>,\n boundaryRef: RefObject<HTMLElement | null> = triggerRef,\n) {\n const closeRef = useRef(onClose);\n closeRef.current = onClose;\n useEffect(() => {\n if (!open) {\n return;\n }\n dismissStack.push(panelRef);\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.composedPath()[0] ?? event.target;\n if (!(target instanceof Node)) {\n return;\n }\n const label = target instanceof Element ? target.closest('label') : null;\n const labelledControl = label?.control;\n if (\n boundaryRef.current?.contains(target) ||\n insidePopup(target, panelRef.current) ||\n (labelledControl && boundaryRef.current?.contains(labelledControl))\n ) {\n return;\n }\n closeRef.current('outside');\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.defaultPrevented || dismissStack.at(-1) !== panelRef) return;\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n closeRef.current('escape');\n triggerRef.current?.focus();\n } else if (event.key === 'Tab') {\n const panel = panelRef.current;\n const trigger = triggerRef.current;\n const active = deepActiveElement();\n if (!panel || !trigger || !panel.contains(active)) return;\n const items = tabbable(panel, {\n getShadowRoot: (element) => element.shadowRoot ?? undefined,\n });\n const index = active instanceof HTMLElement ? items.indexOf(active) : -1;\n const leaving = event.shiftKey ? index <= 0 : index === items.length - 1;\n if (!leaving) return;\n event.preventDefault();\n closeRef.current('tab');\n if (event.shiftKey) trigger.focus();\n else {\n const pageItems = tabbable(document.body, {\n getShadowRoot: (element) => element.shadowRoot ?? undefined,\n }).filter((item) => !panel.contains(item));\n const triggerIndex = pageItems.indexOf(trigger);\n (pageItems[triggerIndex + 1] ?? trigger).focus();\n }\n }\n };\n\n const handleFocus = (event: FocusEvent) => {\n const target = composedEventTarget(event);\n if (\n target instanceof Node &&\n !boundaryRef.current?.contains(target) &&\n !insidePopup(target, panelRef.current)\n )\n closeRef.current('focus');\n };\n\n document.addEventListener('pointerdown', handlePointerDown);\n document.addEventListener('keydown', handleKeyDown, true);\n document.addEventListener('focusin', handleFocus);\n return () => {\n const index = dismissStack.indexOf(panelRef);\n if (index >= 0) dismissStack.splice(index, 1);\n document.removeEventListener('pointerdown', handlePointerDown);\n document.removeEventListener('keydown', handleKeyDown, true);\n document.removeEventListener('focusin', handleFocus);\n };\n }, [open, panelRef, triggerRef, boundaryRef]);\n}\n\n/** Keep keyboard-highlighted options visible without animated scrolling. */\nexport function useActiveOption(\n open: boolean,\n optionId: string | undefined,\n panelRef?: RefObject<HTMLElement | null>,\n) {\n useEffect(() => {\n if (!open || !optionId) return;\n const root = panelRef?.current?.getRootNode();\n const scope = root instanceof ShadowRoot ? root : document;\n scope.getElementById(optionId)?.scrollIntoView?.({ block: 'nearest' });\n }, [open, optionId, panelRef]);\n}\n"],"names":["useBrowserLayoutEffect","window","useEffect","useLayoutEffect","PopupParent","createContext","undefined","popupNodes","Map","dismissStack","insidePopup","target","panel","popup","Element","visited","Set","parent","usePopupState","disabled","onOpenChange","controlledOpen","defaultOpen","internalOpen","setRequestedOpen","useState","requestedOpen","requestedRef","useRef","open","setOpen","useCallback","next","FloatingPanel","triggerRef","panelRef","matchWidth","width","minWidth","maxWidth","maxHeight","placement","container","render","position","style","children","props","popupId","useId","parentPopup","useContext","config","useLeafConfig","owner","OverlayOwner","present","usePresence","theme","setTheme","inheritedMotion","setInheritedMotion","openRef","previousPosition","closingContent","referenceElement","refs","floatingStyles","isPositioned","update","resolvedPlacement","useFloating","reference","floating","autoUpdate","offset","flip","shift","size","availableHeight","availableWidth","rects","elements","length","value","widthMaximum","heightMaximum","viewportWidth","Math","viewportHeight","widthLimit","Object","setPanelRef","node","assignRef","trigger","syncTheme","computed","getComputedStyle","motionAncestor","composedParent","variables","i","key","observer","MutationObserver","ancestor","document","createPortal","inertProps","useFloatingDismiss","onClose","boundaryRef","closeRef","handlePointerDown","event","Node","label","labelledControl","handleKeyDown","active","deepActiveElement","items","tabbable","element","index","HTMLElement","leaving","pageItems","item","triggerIndex","handleFocus","composedEventTarget","useActiveOption","optionId","root","scope","ShadowRoot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared/floating.js","sources":["../../../../../src/shared/floating.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n offset,\n type Placement,\n shift,\n size,\n useFloating,\n} from '@floating-ui/react-dom';\nimport {\n type CSSProperties,\n createContext,\n type HTMLAttributes,\n type RefObject,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { tabbable } from 'tabbable';\nimport { useLeafConfig } from '../config-provider/context';\nimport type { LeafThemeStyle } from '../theme';\nimport { composedEventTarget, composedParent, deepActiveElement } from './dom';\nimport { assignRef } from './field';\nimport { inertProps } from './inert';\nimport { OverlayOwner } from './overlay-owner';\nimport { usePresence } from './presence';\n\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\nconst PopupParent = createContext<string | undefined>(undefined);\nconst popupNodes = new Map<string, HTMLElement>();\nconst dismissStack: RefObject<HTMLElement | null>[] = [];\nfunction insidePopup(target: Node, panel: HTMLElement | null) {\n if (!panel) return false;\n if (panel.contains(target)) return true;\n let popup = target instanceof Element ? target.closest<HTMLElement>('[data-leaf-popup]') : null;\n const visited = new Set<string>();\n while (popup?.dataset.leafPopupParent) {\n const parent = popup.dataset.leafPopupParent;\n if (visited.has(parent)) break;\n visited.add(parent);\n popup = popupNodes.get(parent) ?? null;\n if (popup === panel) return true;\n }\n return false;\n}\n\n/** Close disabled fields immediately and report each open-state change once. */\nexport function usePopupState(\n disabled?: boolean,\n onOpenChange?: (open: boolean) => void,\n controlledOpen?: boolean,\n defaultOpen = false,\n) {\n const [internalOpen, setRequestedOpen] = useState(defaultOpen);\n const requestedOpen = controlledOpen ?? internalOpen;\n const requestedRef = useRef(requestedOpen);\n requestedRef.current = requestedOpen;\n const open = requestedOpen && !disabled;\n const setOpen = useCallback(\n (next: boolean) => {\n if (next === requestedRef.current || (next && disabled)) return;\n requestedRef.current = next;\n if (controlledOpen === undefined) setRequestedOpen(next);\n onOpenChange?.(next);\n },\n [disabled, onOpenChange, controlledOpen],\n );\n useEffect(() => {\n if (disabled && requestedOpen) setOpen(false);\n }, [disabled, requestedOpen, setOpen]);\n return [open, setOpen] as const;\n}\n\nexport interface PopupOptions {\n popupPlacement?: Placement;\n popupClassName?: string;\n popupStyle?: CSSProperties;\n popupRender?: (content: React.ReactNode) => React.ReactNode;\n getPopupContainer?: () => Element | DocumentFragment;\n}\ninterface FloatingPanelProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n triggerRef: RefObject<HTMLElement | null>;\n panelRef: RefObject<HTMLDivElement | null>;\n matchWidth?: boolean;\n width?: CSSProperties['width'];\n minWidth?: CSSProperties['minWidth'] | 'trigger';\n maxWidth?: CSSProperties['maxWidth'];\n maxHeight?: CSSProperties['maxHeight'];\n placement?: Placement;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n render?: (content: React.ReactNode) => React.ReactNode;\n position?: { x: number; y: number };\n}\n\n/** Position a lazily mounted portal, preserving the trigger's scoped theme. */\nexport function FloatingPanel({\n open,\n triggerRef,\n panelRef,\n matchWidth,\n width,\n minWidth,\n maxWidth,\n maxHeight,\n placement = 'bottom-start',\n container,\n render,\n position,\n style,\n children,\n ...props\n}: FloatingPanelProps) {\n const popupId = useId();\n const parentPopup = useContext(PopupParent);\n const config = useLeafConfig();\n const owner = useContext(OverlayOwner);\n const present = usePresence(open, panelRef);\n const [theme, setTheme] = useState<LeafThemeStyle>({});\n const [inheritedMotion, setInheritedMotion] = useState<string>();\n const openRef = useRef(open);\n openRef.current = open;\n const previousPosition = useRef<CSSProperties>({});\n const closingContent = useRef(children);\n const referenceElement = triggerRef.current;\n if (open) closingContent.current = children;\n const {\n refs,\n floatingStyles,\n isPositioned,\n update,\n placement: resolvedPlacement,\n } = useFloating({\n open,\n placement,\n strategy: 'fixed',\n // Keep viewport positioning outside the popup's local scale/translate motion.\n transform: false,\n whileElementsMounted: (reference, floating, update) =>\n autoUpdate(reference, floating, () => {\n if (openRef.current) update();\n }),\n middleware: [\n offset(6),\n flip({ padding: 12 }),\n shift({ padding: 12 }),\n size({\n padding: 12,\n apply({ availableHeight, availableWidth, rects, elements }) {\n if (!openRef.current) return;\n const length = (value: string | number) =>\n typeof value === 'number' ? `${value}px` : value;\n const widthMaximum = maxWidth ?? style?.maxWidth;\n const heightMaximum = maxHeight ?? style?.maxHeight;\n const viewportWidth = `${Math.max(0, availableWidth)}px`;\n const viewportHeight = `${Math.max(0, availableHeight)}px`;\n const widthLimit =\n widthMaximum === undefined\n ? viewportWidth\n : `min(${length(widthMaximum)}, ${viewportWidth})`;\n Object.assign(elements.floating.style, {\n maxHeight:\n heightMaximum === undefined\n ? viewportHeight\n : `min(${length(heightMaximum)}, ${viewportHeight})`,\n maxWidth: widthLimit,\n width: matchWidth\n ? `${Math.min(rects.reference.width, availableWidth)}px`\n : length(width ?? style?.width ?? ''),\n minWidth:\n minWidth === 'trigger'\n ? `min(${rects.reference.width}px, ${widthLimit})`\n : length(minWidth ?? style?.minWidth ?? ''),\n });\n },\n }),\n ],\n });\n if (open) previousPosition.current = floatingStyles;\n const setPanelRef = useCallback(\n (node: HTMLDivElement | null) => {\n if (node) popupNodes.set(popupId, node);\n else popupNodes.delete(popupId);\n assignRef(panelRef, node);\n refs.setFloating(node);\n },\n [panelRef, refs.setFloating, popupId],\n );\n\n useBrowserLayoutEffect(() => {\n const trigger = referenceElement ?? triggerRef.current;\n if (!trigger || !present) return;\n refs.setReference(\n position\n ? {\n getBoundingClientRect: () => ({\n x: position.x,\n y: position.y,\n top: position.y,\n bottom: position.y,\n left: position.x,\n right: position.x,\n width: 0,\n height: 0,\n }),\n }\n : trigger,\n );\n const syncTheme = () => {\n const computed = getComputedStyle(trigger);\n let motionAncestor: HTMLElement | null = trigger;\n while (motionAncestor && !motionAncestor.hasAttribute('data-leaf-motion'))\n motionAncestor = composedParent(motionAncestor);\n setInheritedMotion(motionAncestor?.getAttribute('data-leaf-motion') ?? undefined);\n const variables: LeafThemeStyle = {\n colorScheme: computed.colorScheme,\n direction: computed.direction as CSSProperties['direction'],\n };\n for (let i = 0; i < computed.length; i += 1) {\n const key = computed.item(i);\n if (key.startsWith('--leaf-'))\n variables[key as `--leaf-${string}`] = computed.getPropertyValue(key);\n }\n setTheme(variables);\n };\n syncTheme();\n const observer = new MutationObserver(syncTheme);\n let ancestor: HTMLElement | null = trigger;\n while (ancestor) {\n observer.observe(ancestor, {\n attributes: true,\n attributeFilter: ['class', 'style', 'data-leaf-theme', 'data-leaf-motion', 'dir'],\n });\n ancestor = composedParent(ancestor);\n }\n return () => observer.disconnect();\n }, [triggerRef, referenceElement, refs.setReference, present, position]);\n\n useBrowserLayoutEffect(() => {\n // A quick reopen can reuse the exit-presence node without remounting autoUpdate.\n if (open && present) void update();\n }, [open, present, update]);\n\n if (!present || typeof document === 'undefined') return null;\n return createPortal(\n <PopupParent.Provider value={popupId}>\n <div\n {...props}\n ref={setPanelRef}\n data-leaf-owner={owner}\n data-leaf-popup={popupId}\n data-leaf-popup-parent={parentPopup}\n data-leaf-motion={config.theme.motion === false ? 'off' : inheritedMotion}\n data-side={resolvedPlacement.split('-')[0]}\n data-align={resolvedPlacement.split('-')[1] ?? 'center'}\n dir={props.dir ?? theme.direction ?? config.direction}\n lang={props.lang ?? config.locale}\n data-state={open ? 'open' : 'closing'}\n data-positioned={isPositioned || !open}\n aria-hidden={!open || undefined}\n {...inertProps(!open)}\n style={{ ...theme, ...style, ...(open ? floatingStyles : previousPosition.current) }}\n >\n {render\n ? render(open ? children : closingContent.current)\n : open\n ? children\n : closingContent.current}\n </div>\n </PopupParent.Provider>,\n (typeof container === 'function' ? container() : container) ??\n config.getPopupContainer?.() ??\n document.body,\n );\n}\n\n/** Close a custom floating panel when focus leaves it or Escape is pressed. */\nexport function useFloatingDismiss(\n open: boolean,\n onClose: (reason?: 'escape' | 'outside' | 'focus' | 'tab') => void,\n triggerRef: RefObject<HTMLElement | null>,\n panelRef: RefObject<HTMLElement | null>,\n boundaryRef: RefObject<HTMLElement | null> = triggerRef,\n) {\n const closeRef = useRef(onClose);\n closeRef.current = onClose;\n useEffect(() => {\n if (!open) {\n return;\n }\n dismissStack.push(panelRef);\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.composedPath()[0] ?? event.target;\n if (!(target instanceof Node)) {\n return;\n }\n const label = target instanceof Element ? target.closest('label') : null;\n const labelledControl = label?.control;\n if (\n boundaryRef.current?.contains(target) ||\n insidePopup(target, panelRef.current) ||\n (labelledControl && boundaryRef.current?.contains(labelledControl))\n ) {\n return;\n }\n closeRef.current('outside');\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.defaultPrevented || dismissStack.at(-1) !== panelRef) return;\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n closeRef.current('escape');\n triggerRef.current?.focus();\n } else if (event.key === 'Tab') {\n const panel = panelRef.current;\n const trigger = triggerRef.current;\n const active = deepActiveElement();\n if (!panel || !trigger || !panel.contains(active)) return;\n const items = tabbable(panel, {\n getShadowRoot: (element) => element.shadowRoot ?? undefined,\n });\n const index = active instanceof HTMLElement ? items.indexOf(active) : -1;\n const leaving = event.shiftKey ? index <= 0 : index === items.length - 1;\n if (!leaving) return;\n event.preventDefault();\n closeRef.current('tab');\n if (event.shiftKey) trigger.focus();\n else {\n const pageItems = tabbable(document.body, {\n getShadowRoot: (element) => element.shadowRoot ?? undefined,\n }).filter((item) => !panel.contains(item));\n const triggerIndex = pageItems.indexOf(trigger);\n (pageItems[triggerIndex + 1] ?? trigger).focus();\n }\n }\n };\n\n const handleFocus = (event: FocusEvent) => {\n const target = composedEventTarget(event);\n if (\n target instanceof Node &&\n !boundaryRef.current?.contains(target) &&\n !insidePopup(target, panelRef.current)\n )\n closeRef.current('focus');\n };\n\n document.addEventListener('pointerdown', handlePointerDown);\n document.addEventListener('keydown', handleKeyDown, true);\n document.addEventListener('focusin', handleFocus);\n return () => {\n const index = dismissStack.indexOf(panelRef);\n if (index >= 0) dismissStack.splice(index, 1);\n document.removeEventListener('pointerdown', handlePointerDown);\n document.removeEventListener('keydown', handleKeyDown, true);\n document.removeEventListener('focusin', handleFocus);\n };\n }, [open, panelRef, triggerRef, boundaryRef]);\n}\n\n/** Keep keyboard-highlighted options visible without animated scrolling. */\nexport function useActiveOption(\n open: boolean,\n optionId: string | undefined,\n panelRef?: RefObject<HTMLElement | null>,\n) {\n useEffect(() => {\n if (!open || !optionId) return;\n const root = panelRef?.current?.getRootNode();\n const scope = root instanceof ShadowRoot ? root : document;\n scope.getElementById(optionId)?.scrollIntoView?.({ block: 'nearest' });\n }, [open, optionId, panelRef]);\n}\n"],"names":["useBrowserLayoutEffect","window","useEffect","useLayoutEffect","PopupParent","createContext","undefined","popupNodes","Map","dismissStack","insidePopup","target","panel","popup","Element","visited","Set","parent","usePopupState","disabled","onOpenChange","controlledOpen","defaultOpen","internalOpen","setRequestedOpen","useState","requestedOpen","requestedRef","useRef","open","setOpen","useCallback","next","FloatingPanel","triggerRef","panelRef","matchWidth","width","minWidth","maxWidth","maxHeight","placement","container","render","position","style","children","props","popupId","useId","parentPopup","useContext","config","useLeafConfig","owner","OverlayOwner","present","usePresence","theme","setTheme","inheritedMotion","setInheritedMotion","openRef","previousPosition","closingContent","referenceElement","refs","floatingStyles","isPositioned","update","resolvedPlacement","useFloating","reference","floating","autoUpdate","offset","flip","shift","size","availableHeight","availableWidth","rects","elements","length","value","widthMaximum","heightMaximum","viewportWidth","Math","viewportHeight","widthLimit","Object","setPanelRef","node","assignRef","trigger","syncTheme","computed","getComputedStyle","motionAncestor","composedParent","variables","i","key","observer","MutationObserver","ancestor","document","createPortal","inertProps","useFloatingDismiss","onClose","boundaryRef","closeRef","handlePointerDown","event","Node","label","labelledControl","handleKeyDown","active","deepActiveElement","items","tabbable","element","index","HTMLElement","leaving","pageItems","item","triggerIndex","handleFocus","composedEventTarget","useActiveOption","optionId","root","scope","ShadowRoot"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useEffect, useLayoutEffect, useRef, useSyncExternalStore } from "react";
|
|
3
|
-
import {
|
|
2
|
+
import { useContext, useEffect, useLayoutEffect, useRef, useSyncExternalStore } from "react";
|
|
3
|
+
import { ConfigContext } from "../config-provider/config-context.js";
|
|
4
4
|
const reducedQuery = '(prefers-reduced-motion: reduce)';
|
|
5
5
|
const useBrowserLayoutEffect = "u" < typeof window ? useEffect : useLayoutEffect;
|
|
6
6
|
function reducedMotion() {
|
|
@@ -12,9 +12,9 @@ function subscribeMotion(listener) {
|
|
|
12
12
|
return ()=>query?.removeEventListener?.('change', listener);
|
|
13
13
|
}
|
|
14
14
|
function useMotionEnabled() {
|
|
15
|
-
const
|
|
15
|
+
const config = useContext(ConfigContext);
|
|
16
16
|
const reduced = useSyncExternalStore(subscribeMotion, reducedMotion, ()=>false);
|
|
17
|
-
return
|
|
17
|
+
return config?.theme.motion !== false && !reduced;
|
|
18
18
|
}
|
|
19
19
|
function motionDuration(element, multiplier = 1) {
|
|
20
20
|
if (reducedMotion()) return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared/motion.js","sources":["../../../../../src/shared/motion.ts"],"sourcesContent":["import { type RefObject, useEffect, useLayoutEffect, useRef, useSyncExternalStore } from 'react';\nimport { useLeafConfig } from '../config-provider/context';\n\nconst reducedQuery = '(prefers-reduced-motion: reduce)';\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\nfunction reducedMotion() {\n return typeof window !== 'undefined' && Boolean(window.matchMedia?.(reducedQuery).matches);\n}\n\nfunction subscribeMotion(listener: () => void) {\n const query = typeof window !== 'undefined' ? window.matchMedia?.(reducedQuery) : undefined;\n query?.addEventListener?.('change', listener);\n return () => query?.removeEventListener?.('change', listener);\n}\n\n/** Live preference with a deterministic server snapshot; CSS handles the first frame. */\nexport function useMotionEnabled() {\n const { theme } = useLeafConfig();\n const reduced = useSyncExternalStore(subscribeMotion, reducedMotion, () => false);\n return theme.motion !== false && !reduced;\n}\n\n/** Read the actual region, including variables transferred to a portal. */\nexport function motionDuration(element: Element, multiplier = 1) {\n if (reducedMotion()) return 0;\n const style = getComputedStyle(element);\n if (style.getPropertyValue('--leaf-motion-play-state').trim() === 'paused') return 0;\n const value = style.getPropertyValue('--leaf-motion-duration').trim();\n const numeric = Number.parseFloat(value);\n const duration = Number.isFinite(numeric)\n ? numeric * (value.endsWith('ms') ? 1 : value.endsWith('s') ? 1000 : 1)\n : 200;\n return Math.max(0, duration * multiplier);\n}\n\nexport interface MotionOptions {\n durationMultiplier?: number;\n easing?: string;\n}\n\n/** Never retain a final keyframe: the component's natural layout stays authoritative. */\nexport function animateMotion(\n element: HTMLElement | null,\n keyframes: Keyframe[],\n { durationMultiplier = 1, easing }: MotionOptions = {},\n) {\n if (!element?.animate) return;\n const duration = motionDuration(element, durationMultiplier);\n if (!duration) return;\n const style = getComputedStyle(element);\n const curve =\n easing === 'spring'\n ? style.getPropertyValue('--leaf-motion-spring').trim()\n : easing || style.getPropertyValue('--leaf-motion-easing').trim();\n return element.animate(keyframes, {\n duration,\n easing: curve || 'cubic-bezier(0.22, 1, 0.36, 1)',\n });\n}\n\ninterface LayoutPosition {\n left: number;\n top: number;\n}\n\nfunction listGeometry(root: HTMLElement, nodes: HTMLElement[]) {\n const bounds = root.getBoundingClientRect();\n const scaleX = root.offsetWidth ? bounds.width / root.offsetWidth : 1;\n const scaleY = root.offsetHeight ? bounds.height / root.offsetHeight : 1;\n const positions = nodes.map((node) => {\n const rect = node.getBoundingClientRect();\n let left = (rect.left - bounds.left) / (scaleX || 1);\n let top = (rect.top - bounds.top) / (scaleY || 1);\n let parent = node.parentElement;\n while (parent) {\n left += parent.scrollLeft;\n top += parent.scrollTop;\n if (parent === root) break;\n parent = parent.parentElement;\n }\n return { node, rect, key: node.dataset.motionKey ?? node, position: { left, top } };\n });\n return { positions, scaleX: scaleX || 1, scaleY: scaleY || 1 };\n}\n\n/** Animate keyed, ordinary rows; virtual window movement must not use this helper. */\nexport function useListMotion(\n rootRef: RefObject<HTMLElement | null>,\n changeKey: unknown,\n selector = '[data-motion-key]',\n layoutKey?: unknown,\n) {\n const enabled = useMotionEnabled();\n const previous = useRef<Map<string | HTMLElement, LayoutPosition> | null>(null);\n const animations = useRef<Animation[]>([]);\n const layout = useRef(layoutKey);\n useBrowserLayoutEffect(() => {\n // The key explicitly opts into a layout update; ordinary renders do not restart it.\n void changeKey;\n const root = rootRef.current;\n if (!root || !selector) {\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n previous.current = null;\n return;\n }\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(selector));\n if (nodes.length > 200) {\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n previous.current = null;\n return;\n }\n if (!Object.is(layout.current, layoutKey)) previous.current = null;\n layout.current = layoutKey;\n // React has already changed layout. Recover the remaining visual offset from\n // the running animation, then measure the new, unanimated layout in a batch.\n const live = new Map(\n nodes.map((node) => [\n node,\n {\n rect: node.getBoundingClientRect(),\n opacity: getComputedStyle(node).opacity,\n },\n ]),\n );\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n const geometry = listGeometry(root, nodes);\n const current = new Map<string | HTMLElement, LayoutPosition>();\n const positions = geometry.positions.map(({ node, key, position, rect }) => {\n current.set(key, position);\n const rendered = live.get(node);\n return {\n node,\n key,\n position,\n offset: {\n left: ((rendered?.rect.left ?? rect.left) - rect.left) / geometry.scaleX,\n top: ((rendered?.rect.top ?? rect.top) - rect.top) / geometry.scaleY,\n },\n opacity: rendered?.opacity ?? '1',\n naturalOpacity: getComputedStyle(node).opacity,\n };\n });\n if (enabled && previous.current) {\n for (const { node, key, position, offset, opacity, naturalOpacity } of positions) {\n const before = previous.current.get(key);\n const x = before ? before.left + offset.left - position.left : 0;\n const y = before ? before.top + offset.top - position.top : 5;\n if (before && Math.abs(x) < 0.5 && Math.abs(y) < 0.5) continue;\n const animation = animateMotion(\n node,\n [\n { translate: `${x}px ${y}px`, opacity: before ? opacity : 0 },\n { translate: '0 0', opacity: naturalOpacity },\n ],\n { durationMultiplier: 1.5 },\n );\n if (animation) animations.current.push(animation);\n }\n }\n previous.current = current;\n }, [changeKey, selector, rootRef, enabled, layoutKey]);\n useBrowserLayoutEffect(() => {\n const root = rootRef.current;\n if (!root || !selector || typeof ResizeObserver === 'undefined') return;\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(selector));\n if (nodes.length > 200) return;\n let initial = true;\n const observer = new ResizeObserver(() => {\n // Initial delivery belongs to the keyed update above. Independent resize\n // and font reflow should establish a fresh baseline, without replaying FLIP.\n if (initial) {\n initial = false;\n return;\n }\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n const geometry = listGeometry(root, nodes);\n previous.current = new Map(geometry.positions.map(({ key, position }) => [key, position]));\n });\n observer.observe(root);\n for (const node of nodes) observer.observe(node);\n return () => observer.disconnect();\n }, [changeKey, selector, rootRef, enabled, layoutKey]);\n useBrowserLayoutEffect(\n () => () => {\n for (const animation of animations.current) animation.cancel();\n },\n [],\n );\n}\n"],"names":["reducedQuery","useBrowserLayoutEffect","window","useEffect","useLayoutEffect","reducedMotion","Boolean","subscribeMotion","listener","query","undefined","useMotionEnabled","theme","useLeafConfig","reduced","useSyncExternalStore","motionDuration","element","multiplier","style","getComputedStyle","value","numeric","Number","duration","Math","animateMotion","keyframes","durationMultiplier","easing","curve","listGeometry","root","nodes","bounds","scaleX","scaleY","positions","node","rect","left","top","parent","useListMotion","rootRef","changeKey","selector","layoutKey","enabled","previous","useRef","animations","layout","animation","Array","Object","live","Map","geometry","current","key","position","rendered","offset","opacity","naturalOpacity","before","x","y","ResizeObserver","initial","observer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared/motion.js","sources":["../../../../../src/shared/motion.ts"],"sourcesContent":["import {\n type RefObject,\n useContext,\n useEffect,\n useLayoutEffect,\n useRef,\n useSyncExternalStore,\n} from 'react';\nimport { ConfigContext } from '../config-provider/config-context';\n\nconst reducedQuery = '(prefers-reduced-motion: reduce)';\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\nfunction reducedMotion() {\n return typeof window !== 'undefined' && Boolean(window.matchMedia?.(reducedQuery).matches);\n}\n\nfunction subscribeMotion(listener: () => void) {\n const query = typeof window !== 'undefined' ? window.matchMedia?.(reducedQuery) : undefined;\n query?.addEventListener?.('change', listener);\n return () => query?.removeEventListener?.('change', listener);\n}\n\n/** Live preference with a deterministic server snapshot; CSS handles the first frame. */\nexport function useMotionEnabled() {\n const config = useContext(ConfigContext);\n const reduced = useSyncExternalStore(subscribeMotion, reducedMotion, () => false);\n return config?.theme.motion !== false && !reduced;\n}\n\n/** Read the actual region, including variables transferred to a portal. */\nexport function motionDuration(element: Element, multiplier = 1) {\n if (reducedMotion()) return 0;\n const style = getComputedStyle(element);\n if (style.getPropertyValue('--leaf-motion-play-state').trim() === 'paused') return 0;\n const value = style.getPropertyValue('--leaf-motion-duration').trim();\n const numeric = Number.parseFloat(value);\n const duration = Number.isFinite(numeric)\n ? numeric * (value.endsWith('ms') ? 1 : value.endsWith('s') ? 1000 : 1)\n : 200;\n return Math.max(0, duration * multiplier);\n}\n\nexport interface MotionOptions {\n durationMultiplier?: number;\n easing?: string;\n}\n\n/** Never retain a final keyframe: the component's natural layout stays authoritative. */\nexport function animateMotion(\n element: HTMLElement | null,\n keyframes: Keyframe[],\n { durationMultiplier = 1, easing }: MotionOptions = {},\n) {\n if (!element?.animate) return;\n const duration = motionDuration(element, durationMultiplier);\n if (!duration) return;\n const style = getComputedStyle(element);\n const curve =\n easing === 'spring'\n ? style.getPropertyValue('--leaf-motion-spring').trim()\n : easing || style.getPropertyValue('--leaf-motion-easing').trim();\n return element.animate(keyframes, {\n duration,\n easing: curve || 'cubic-bezier(0.22, 1, 0.36, 1)',\n });\n}\n\ninterface LayoutPosition {\n left: number;\n top: number;\n}\n\nfunction listGeometry(root: HTMLElement, nodes: HTMLElement[]) {\n const bounds = root.getBoundingClientRect();\n const scaleX = root.offsetWidth ? bounds.width / root.offsetWidth : 1;\n const scaleY = root.offsetHeight ? bounds.height / root.offsetHeight : 1;\n const positions = nodes.map((node) => {\n const rect = node.getBoundingClientRect();\n let left = (rect.left - bounds.left) / (scaleX || 1);\n let top = (rect.top - bounds.top) / (scaleY || 1);\n let parent = node.parentElement;\n while (parent) {\n left += parent.scrollLeft;\n top += parent.scrollTop;\n if (parent === root) break;\n parent = parent.parentElement;\n }\n return { node, rect, key: node.dataset.motionKey ?? node, position: { left, top } };\n });\n return { positions, scaleX: scaleX || 1, scaleY: scaleY || 1 };\n}\n\n/** Animate keyed, ordinary rows; virtual window movement must not use this helper. */\nexport function useListMotion(\n rootRef: RefObject<HTMLElement | null>,\n changeKey: unknown,\n selector = '[data-motion-key]',\n layoutKey?: unknown,\n) {\n const enabled = useMotionEnabled();\n const previous = useRef<Map<string | HTMLElement, LayoutPosition> | null>(null);\n const animations = useRef<Animation[]>([]);\n const layout = useRef(layoutKey);\n useBrowserLayoutEffect(() => {\n // The key explicitly opts into a layout update; ordinary renders do not restart it.\n void changeKey;\n const root = rootRef.current;\n if (!root || !selector) {\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n previous.current = null;\n return;\n }\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(selector));\n if (nodes.length > 200) {\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n previous.current = null;\n return;\n }\n if (!Object.is(layout.current, layoutKey)) previous.current = null;\n layout.current = layoutKey;\n // React has already changed layout. Recover the remaining visual offset from\n // the running animation, then measure the new, unanimated layout in a batch.\n const live = new Map(\n nodes.map((node) => [\n node,\n {\n rect: node.getBoundingClientRect(),\n opacity: getComputedStyle(node).opacity,\n },\n ]),\n );\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n const geometry = listGeometry(root, nodes);\n const current = new Map<string | HTMLElement, LayoutPosition>();\n const positions = geometry.positions.map(({ node, key, position, rect }) => {\n current.set(key, position);\n const rendered = live.get(node);\n return {\n node,\n key,\n position,\n offset: {\n left: ((rendered?.rect.left ?? rect.left) - rect.left) / geometry.scaleX,\n top: ((rendered?.rect.top ?? rect.top) - rect.top) / geometry.scaleY,\n },\n opacity: rendered?.opacity ?? '1',\n naturalOpacity: getComputedStyle(node).opacity,\n };\n });\n if (enabled && previous.current) {\n for (const { node, key, position, offset, opacity, naturalOpacity } of positions) {\n const before = previous.current.get(key);\n const x = before ? before.left + offset.left - position.left : 0;\n const y = before ? before.top + offset.top - position.top : 5;\n if (before && Math.abs(x) < 0.5 && Math.abs(y) < 0.5) continue;\n const animation = animateMotion(\n node,\n [\n { translate: `${x}px ${y}px`, opacity: before ? opacity : 0 },\n { translate: '0 0', opacity: naturalOpacity },\n ],\n { durationMultiplier: 1.5 },\n );\n if (animation) animations.current.push(animation);\n }\n }\n previous.current = current;\n }, [changeKey, selector, rootRef, enabled, layoutKey]);\n useBrowserLayoutEffect(() => {\n const root = rootRef.current;\n if (!root || !selector || typeof ResizeObserver === 'undefined') return;\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(selector));\n if (nodes.length > 200) return;\n let initial = true;\n const observer = new ResizeObserver(() => {\n // Initial delivery belongs to the keyed update above. Independent resize\n // and font reflow should establish a fresh baseline, without replaying FLIP.\n if (initial) {\n initial = false;\n return;\n }\n for (const animation of animations.current) animation.cancel();\n animations.current = [];\n const geometry = listGeometry(root, nodes);\n previous.current = new Map(geometry.positions.map(({ key, position }) => [key, position]));\n });\n observer.observe(root);\n for (const node of nodes) observer.observe(node);\n return () => observer.disconnect();\n }, [changeKey, selector, rootRef, enabled, layoutKey]);\n useBrowserLayoutEffect(\n () => () => {\n for (const animation of animations.current) animation.cancel();\n },\n [],\n );\n}\n"],"names":["reducedQuery","useBrowserLayoutEffect","window","useEffect","useLayoutEffect","reducedMotion","Boolean","subscribeMotion","listener","query","undefined","useMotionEnabled","config","useContext","ConfigContext","reduced","useSyncExternalStore","motionDuration","element","multiplier","style","getComputedStyle","value","numeric","Number","duration","Math","animateMotion","keyframes","durationMultiplier","easing","curve","listGeometry","root","nodes","bounds","scaleX","scaleY","positions","node","rect","left","top","parent","useListMotion","rootRef","changeKey","selector","layoutKey","enabled","previous","useRef","animations","layout","animation","Array","Object","live","Map","geometry","current","key","position","rendered","offset","opacity","naturalOpacity","before","x","y","ResizeObserver","initial","observer"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { periodKey, startOfPeriod } from "./calendar.js";
|
|
3
3
|
import { parseTime } from "./time.js";
|
|
4
|
-
function parseDateText(text, mode = 'date') {
|
|
4
|
+
function parseDateText(text, mode = 'date', periods) {
|
|
5
5
|
if ('quarter' === mode) {
|
|
6
6
|
const match = /^(\d{4})-Q([1-4])$/i.exec(text);
|
|
7
7
|
if (!match) return null;
|
|
@@ -28,7 +28,7 @@ function parseDateText(text, mode = 'date') {
|
|
|
28
28
|
date.setHours(0, 0, 0, 0);
|
|
29
29
|
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) return null;
|
|
30
30
|
if ('datetime' === mode) {
|
|
31
|
-
const time = parseTime(match[4]);
|
|
31
|
+
const time = parseTime(match[4], periods);
|
|
32
32
|
if (!time) return null;
|
|
33
33
|
date.setHours(time.hour, time.minute, time.second, 0);
|
|
34
34
|
if (date.getHours() !== time.hour || date.getMinutes() !== time.minute) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared/parse-date.js","sources":["../../../../../src/shared/parse-date.ts"],"sourcesContent":["import { type CalendarMode, periodKey, startOfPeriod } from './calendar';\nimport { parseTime } from './time';\n\n/** Strict local parsing: never silently roll an invalid day into the next month. */\nexport function parseDateText(text: string
|
|
1
|
+
{"version":3,"file":"shared/parse-date.js","sources":["../../../../../src/shared/parse-date.ts"],"sourcesContent":["import { type CalendarMode, periodKey, startOfPeriod } from './calendar';\nimport { parseTime } from './time';\n\n/** Strict local parsing: never silently roll an invalid day into the next month. */\nexport function parseDateText(\n text: string,\n mode: CalendarMode = 'date',\n periods?: readonly [string, string],\n) {\n if (mode === 'quarter') {\n const match = /^(\\d{4})-Q([1-4])$/i.exec(text);\n if (!match) return null;\n const date = new Date(0);\n date.setFullYear(Number(match[1]), (Number(match[2]) - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n if (mode === 'week') {\n const match = /^(\\d{4})-W(\\d{2})$/i.exec(text);\n if (!match) return null;\n const date = startOfPeriod(new Date(Number(match[1]), 0, 4), 'week');\n date.setDate(date.getDate() + (Number(match[2]) - 1) * 7);\n return periodKey(date, 'week').toLowerCase() === text.toLowerCase() ? date : null;\n }\n const expression =\n mode === 'year'\n ? /^(\\d{4})$/\n : mode === 'month'\n ? /^(\\d{4})[-/](\\d{1,2})$/\n : /^(\\d{4})[-/](\\d{1,2})[-/](\\d{1,2})(?:[T\\s]+(.+))?$/;\n const match = expression.exec(text);\n if (!match) return null;\n const year = Number(match[1]);\n const month = mode === 'year' ? 1 : Number(match[2]);\n const day = mode === 'year' || mode === 'month' ? 1 : Number(match[3]);\n const date = new Date(0);\n date.setFullYear(year, month - 1, day);\n date.setHours(0, 0, 0, 0);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day)\n return null;\n if (mode === 'datetime') {\n const time = parseTime(match[4], periods);\n if (!time) return null;\n date.setHours(time.hour, time.minute, time.second, 0);\n if (date.getHours() !== time.hour || date.getMinutes() !== time.minute) return null;\n } else if (match[4]) return null;\n return date;\n}\n"],"names":["parseDateText","text","mode","periods","match","date","Date","Number","startOfPeriod","periodKey","expression","year","month","day","time","parseTime"],"mappings":";;;AAIO,SAASA,cACdC,IAAY,EACZC,OAAqB,MAAM,EAC3BC,OAAmC;IAEnC,IAAID,AAAS,cAATA,MAAoB;QACtB,MAAME,QAAQ,sBAAsB,IAAI,CAACH;QACzC,IAAI,CAACG,OAAO,OAAO;QACnB,MAAMC,OAAO,IAAIC,KAAK;QACtBD,KAAK,WAAW,CAACE,OAAOH,KAAK,CAAC,EAAE,GAAIG,AAAAA,CAAAA,OAAOH,KAAK,CAAC,EAAE,IAAI,KAAK,GAAG;QAC/DC,KAAK,QAAQ,CAAC,GAAG,GAAG,GAAG;QACvB,OAAOA;IACT;IACA,IAAIH,AAAS,WAATA,MAAiB;QACnB,MAAME,QAAQ,sBAAsB,IAAI,CAACH;QACzC,IAAI,CAACG,OAAO,OAAO;QACnB,MAAMC,OAAOG,cAAc,IAAIF,KAAKC,OAAOH,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI;QAC7DC,KAAK,OAAO,CAACA,KAAK,OAAO,KAAME,AAAAA,CAAAA,OAAOH,KAAK,CAAC,EAAE,IAAI,KAAK;QACvD,OAAOK,UAAUJ,MAAM,QAAQ,WAAW,OAAOJ,KAAK,WAAW,KAAKI,OAAO;IAC/E;IACA,MAAMK,aACJR,AAAS,WAATA,OACI,cACAA,AAAS,YAATA,OACE,2BACA;IACR,MAAME,QAAQM,WAAW,IAAI,CAACT;IAC9B,IAAI,CAACG,OAAO,OAAO;IACnB,MAAMO,OAAOJ,OAAOH,KAAK,CAAC,EAAE;IAC5B,MAAMQ,QAAQV,AAAS,WAATA,OAAkB,IAAIK,OAAOH,KAAK,CAAC,EAAE;IACnD,MAAMS,MAAMX,AAAS,WAATA,QAAmBA,AAAS,YAATA,OAAmB,IAAIK,OAAOH,KAAK,CAAC,EAAE;IACrE,MAAMC,OAAO,IAAIC,KAAK;IACtBD,KAAK,WAAW,CAACM,MAAMC,QAAQ,GAAGC;IAClCR,KAAK,QAAQ,CAAC,GAAG,GAAG,GAAG;IACvB,IAAIA,KAAK,WAAW,OAAOM,QAAQN,KAAK,QAAQ,OAAOO,QAAQ,KAAKP,KAAK,OAAO,OAAOQ,KACrF,OAAO;IACT,IAAIX,AAAS,eAATA,MAAqB;QACvB,MAAMY,OAAOC,UAAUX,KAAK,CAAC,EAAE,EAAED;QACjC,IAAI,CAACW,MAAM,OAAO;QAClBT,KAAK,QAAQ,CAACS,KAAK,IAAI,EAAEA,KAAK,MAAM,EAAEA,KAAK,MAAM,EAAE;QACnD,IAAIT,KAAK,QAAQ,OAAOS,KAAK,IAAI,IAAIT,KAAK,UAAU,OAAOS,KAAK,MAAM,EAAE,OAAO;IACjF,OAAO,IAAIV,KAAK,CAAC,EAAE,EAAE,OAAO;IAC5B,OAAOC;AACT"}
|
|
@@ -12,14 +12,27 @@ function ScopedPortal({ children, container }) {
|
|
|
12
12
|
const node = anchor.current;
|
|
13
13
|
if (!node) return;
|
|
14
14
|
const sync = ()=>{
|
|
15
|
-
const computed = getComputedStyle(node);
|
|
15
|
+
const computed = getComputedStyle(composedParent(node) ?? node);
|
|
16
16
|
const next = {
|
|
17
17
|
colorScheme: computed.colorScheme,
|
|
18
18
|
direction: computed.direction
|
|
19
19
|
};
|
|
20
|
+
const keys = new Set();
|
|
20
21
|
for(let i = 0; i < computed.length; i++){
|
|
21
22
|
const key = computed.item(i);
|
|
22
|
-
if (key.startsWith('--leaf-'))
|
|
23
|
+
if (key.startsWith('--leaf-')) keys.add(key);
|
|
24
|
+
}
|
|
25
|
+
let owner = composedParent(node);
|
|
26
|
+
while(owner){
|
|
27
|
+
for(let i = 0; i < owner.style.length; i++){
|
|
28
|
+
const key = owner.style.item(i);
|
|
29
|
+
if (key.startsWith('--leaf-')) keys.add(key);
|
|
30
|
+
}
|
|
31
|
+
owner = composedParent(owner);
|
|
32
|
+
}
|
|
33
|
+
for (const key of keys){
|
|
34
|
+
const value = computed.getPropertyValue(key);
|
|
35
|
+
if (value.trim()) next[key] = value;
|
|
23
36
|
}
|
|
24
37
|
setStyle(next);
|
|
25
38
|
};
|
|
@@ -50,6 +63,8 @@ function ScopedPortal({ children, container }) {
|
|
|
50
63
|
}),
|
|
51
64
|
style && "u" > typeof document && /*#__PURE__*/ createPortal(/*#__PURE__*/ jsx("div", {
|
|
52
65
|
className: "leaf-portal-scope",
|
|
66
|
+
lang: config.locale,
|
|
67
|
+
dir: config.direction,
|
|
53
68
|
"data-leaf-density": config.density,
|
|
54
69
|
"data-leaf-motion": void 0 === config.theme.motion ? void 0 : config.theme.motion ? 'on' : 'off',
|
|
55
70
|
style: style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared/scoped-portal.js","sources":["../../../../../src/shared/scoped-portal.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useLeafConfig } from '../config-provider/context';\nimport type { LeafThemeStyle } from '../theme';\nimport { composedParent } from './dom';\n\n/** Transfer inherited variables into a portal without moving the React context. */\nexport function ScopedPortal({\n children,\n container,\n}: {\n children: ReactNode;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n}) {\n const config = useLeafConfig();\n const anchor = useRef<HTMLSpanElement>(null);\n const [style, setStyle] = useState<LeafThemeStyle>();\n useEffect(() => {\n const node = anchor.current;\n if (!node) return;\n const sync = () => {\n const computed = getComputedStyle(node);\n const next: LeafThemeStyle = {\n colorScheme: computed.colorScheme,\n direction: computed.direction as LeafThemeStyle['direction'],\n };\n for (let i = 0; i < computed.length; i++) {\n const key = computed.item(i);\n if (key.startsWith('--leaf-'))\n next[key as `--leaf-${string}`] =
|
|
1
|
+
{"version":3,"file":"shared/scoped-portal.js","sources":["../../../../../src/shared/scoped-portal.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useLeafConfig } from '../config-provider/context';\nimport type { LeafThemeStyle } from '../theme';\nimport { composedParent } from './dom';\n\n/** Transfer inherited variables into a portal without moving the React context. */\nexport function ScopedPortal({\n children,\n container,\n}: {\n children: ReactNode;\n container?: Element | DocumentFragment | (() => Element | DocumentFragment);\n}) {\n const config = useLeafConfig();\n const anchor = useRef<HTMLSpanElement>(null);\n const [style, setStyle] = useState<LeafThemeStyle>();\n useEffect(() => {\n const node = anchor.current;\n if (!node) return;\n const sync = () => {\n // Read the owning element; hidden markers can omit inherited custom\n // properties from computed-style enumeration in Firefox.\n const computed = getComputedStyle(composedParent(node) ?? node);\n const next: LeafThemeStyle = {\n colorScheme: computed.colorScheme,\n direction: computed.direction as LeafThemeStyle['direction'],\n };\n const keys = new Set<string>();\n for (let i = 0; i < computed.length; i++) {\n const key = computed.item(i);\n if (key.startsWith('--leaf-')) keys.add(key);\n }\n // Some engines do not enumerate every inherited custom property. Include\n // inline scope keys, then read their effective values at the source.\n let owner = composedParent(node);\n while (owner) {\n for (let i = 0; i < owner.style.length; i++) {\n const key = owner.style.item(i);\n if (key.startsWith('--leaf-')) keys.add(key);\n }\n owner = composedParent(owner);\n }\n for (const key of keys) {\n const value = computed.getPropertyValue(key);\n if (value.trim()) next[key as `--leaf-${string}`] = value;\n }\n setStyle(next);\n };\n sync();\n const observer = new MutationObserver(sync);\n let parent: HTMLElement | null = node;\n while (parent) {\n observer.observe(parent, {\n attributes: true,\n attributeFilter: [\n 'style',\n 'class',\n 'data-leaf-theme',\n 'data-leaf-density',\n 'data-leaf-motion',\n 'dir',\n ],\n });\n parent = composedParent(parent);\n }\n return () => observer.disconnect();\n }, []);\n return (\n <>\n <span ref={anchor} hidden />\n {style &&\n typeof document !== 'undefined' &&\n createPortal(\n <div\n className=\"leaf-portal-scope\"\n lang={config.locale}\n dir={config.direction}\n data-leaf-density={config.density}\n data-leaf-motion={\n config.theme.motion === undefined ? undefined : config.theme.motion ? 'on' : 'off'\n }\n style={style}\n >\n {children}\n </div>,\n (typeof container === 'function' ? container() : container) ??\n config.getPopupContainer?.() ??\n document.body,\n )}\n </>\n );\n}\n"],"names":["ScopedPortal","children","container","config","useLeafConfig","anchor","useRef","style","setStyle","useState","useEffect","node","sync","computed","getComputedStyle","composedParent","next","keys","Set","i","key","owner","value","observer","MutationObserver","parent","document","createPortal","undefined"],"mappings":";;;;;;AAOO,SAASA,aAAa,EAC3BC,QAAQ,EACRC,SAAS,EAIV;IACC,MAAMC,SAASC;IACf,MAAMC,SAASC,OAAwB;IACvC,MAAM,CAACC,OAAOC,SAAS,GAAGC;IAC1BC,UAAU;QACR,MAAMC,OAAON,OAAO,OAAO;QAC3B,IAAI,CAACM,MAAM;QACX,MAAMC,OAAO;YAGX,MAAMC,WAAWC,iBAAiBC,eAAeJ,SAASA;YAC1D,MAAMK,OAAuB;gBAC3B,aAAaH,SAAS,WAAW;gBACjC,WAAWA,SAAS,SAAS;YAC/B;YACA,MAAMI,OAAO,IAAIC;YACjB,IAAK,IAAIC,IAAI,GAAGA,IAAIN,SAAS,MAAM,EAAEM,IAAK;gBACxC,MAAMC,MAAMP,SAAS,IAAI,CAACM;gBAC1B,IAAIC,IAAI,UAAU,CAAC,YAAYH,KAAK,GAAG,CAACG;YAC1C;YAGA,IAAIC,QAAQN,eAAeJ;YAC3B,MAAOU,MAAO;gBACZ,IAAK,IAAIF,IAAI,GAAGA,IAAIE,MAAM,KAAK,CAAC,MAAM,EAAEF,IAAK;oBAC3C,MAAMC,MAAMC,MAAM,KAAK,CAAC,IAAI,CAACF;oBAC7B,IAAIC,IAAI,UAAU,CAAC,YAAYH,KAAK,GAAG,CAACG;gBAC1C;gBACAC,QAAQN,eAAeM;YACzB;YACA,KAAK,MAAMD,OAAOH,KAAM;gBACtB,MAAMK,QAAQT,SAAS,gBAAgB,CAACO;gBACxC,IAAIE,MAAM,IAAI,IAAIN,IAAI,CAACI,IAA0B,GAAGE;YACtD;YACAd,SAASQ;QACX;QACAJ;QACA,MAAMW,WAAW,IAAIC,iBAAiBZ;QACtC,IAAIa,SAA6Bd;QACjC,MAAOc,OAAQ;YACbF,SAAS,OAAO,CAACE,QAAQ;gBACvB,YAAY;gBACZ,iBAAiB;oBACf;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;YACH;YACAA,SAASV,eAAeU;QAC1B;QACA,OAAO,IAAMF,SAAS,UAAU;IAClC,GAAG,EAAE;IACL,OAAO,WAAP,GACE;;0BACE,IAAC;gBAAK,KAAKlB;gBAAQ,QAAM;;YACxBE,SACC,AAAoB,MAApB,OAAOmB,YAAa,cACpBC,aAAa,WAADA,GACV,IAAC;gBACC,WAAU;gBACV,MAAMxB,OAAO,MAAM;gBACnB,KAAKA,OAAO,SAAS;gBACrB,qBAAmBA,OAAO,OAAO;gBACjC,oBACEA,AAAwByB,WAAxBzB,OAAO,KAAK,CAAC,MAAM,GAAiByB,SAAYzB,OAAO,KAAK,CAAC,MAAM,GAAG,OAAO;gBAE/E,OAAOI;0BAENN;gBAEF,CAAqB,cAArB,OAAOC,YAA2BA,cAAcA,SAAQ,KACvDC,OAAO,iBAAiB,QACxBuB,SAAS,IAAI;;;AAIzB"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { X } from "lucide-react";
|
|
4
|
+
import { useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
5
|
+
import { classes } from "./classes.js";
|
|
6
|
+
import { inertProps } from "./inert.js";
|
|
7
|
+
import { useListMotion } from "./motion.js";
|
|
8
|
+
const useBrowserLayoutEffect = "u" < typeof window ? useEffect : useLayoutEffect;
|
|
9
|
+
function SelectionContent({ items, children, className, tagClassName, tagWrap = true, maxTagCount, searchable = false, query = '', removeLabel }) {
|
|
10
|
+
const root = useRef(null);
|
|
11
|
+
const count = items?.length ?? 0;
|
|
12
|
+
const limit = 'number' == typeof maxTagCount ? Math.max(0, Math.floor(maxTagCount)) : count;
|
|
13
|
+
const singleLine = void 0 !== items && (!tagWrap || 'responsive' === maxTagCount);
|
|
14
|
+
const [layout, setLayout] = useState({
|
|
15
|
+
count,
|
|
16
|
+
firstWidth: 0,
|
|
17
|
+
inputWidth: 0
|
|
18
|
+
});
|
|
19
|
+
const visibleCount = Math.min(count, limit, singleLine ? layout.count : count);
|
|
20
|
+
const hiddenItems = items?.slice(visibleCount) ?? [];
|
|
21
|
+
const measure = useRef(()=>{});
|
|
22
|
+
measure.current = ()=>{
|
|
23
|
+
const element = root.current;
|
|
24
|
+
if (!singleLine || !element?.clientWidth) return;
|
|
25
|
+
const width = element.clientWidth;
|
|
26
|
+
const gap = Number.parseFloat(getComputedStyle(element).columnGap) || 0;
|
|
27
|
+
const tags = Array.from(element.querySelectorAll('[data-selection-item]'));
|
|
28
|
+
const hiddenTags = tags.filter((tag)=>tag.hidden);
|
|
29
|
+
element.dataset.measuring = '';
|
|
30
|
+
for (const tag of hiddenTags)tag.hidden = false;
|
|
31
|
+
const widths = tags.map((tag)=>tag.getBoundingClientRect().width);
|
|
32
|
+
const overflowWidth = element.querySelector('[data-selection-counter]')?.getBoundingClientRect().width ?? 0;
|
|
33
|
+
const queryWidth = element.querySelector('[data-selection-query]')?.getBoundingClientRect().width ?? 0;
|
|
34
|
+
for (const tag of hiddenTags)tag.hidden = true;
|
|
35
|
+
delete element.dataset.measuring;
|
|
36
|
+
const inputWidth = children ? Math.min(Math.max(0, width - (count ? overflowWidth + gap : 0)), searchable ? query ? Math.max(48, queryWidth + 12) : 24 : 1) : 0;
|
|
37
|
+
const budget = Math.max(0, width - inputWidth - (children && count ? gap : 0));
|
|
38
|
+
const totalWidth = widths.reduce((sum, value)=>sum + value, 0) + Math.max(0, count - 1) * gap;
|
|
39
|
+
let nextCount = 0;
|
|
40
|
+
let firstWidth = 0;
|
|
41
|
+
if (count <= limit && totalWidth <= budget) nextCount = count;
|
|
42
|
+
else if (1 === count && limit > 0 && budget >= Math.min(widths[0] ?? 0, 48)) {
|
|
43
|
+
nextCount = 1;
|
|
44
|
+
firstWidth = budget;
|
|
45
|
+
} else {
|
|
46
|
+
const tagBudget = Math.max(0, budget - overflowWidth - gap);
|
|
47
|
+
let used = 0;
|
|
48
|
+
for (const tagWidth of widths.slice(0, Math.min(limit, count - 1))){
|
|
49
|
+
const next = used + (nextCount ? gap : 0) + tagWidth;
|
|
50
|
+
if (next > tagBudget) break;
|
|
51
|
+
used = next;
|
|
52
|
+
nextCount++;
|
|
53
|
+
}
|
|
54
|
+
if (!nextCount && limit > 0 && count > 1 && tagBudget >= Math.min(widths[0] ?? 0, 48)) {
|
|
55
|
+
nextCount = 1;
|
|
56
|
+
firstWidth = tagBudget;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
setLayout((previous)=>previous.count === nextCount && previous.firstWidth === firstWidth && previous.inputWidth === inputWidth ? previous : {
|
|
60
|
+
count: nextCount,
|
|
61
|
+
firstWidth,
|
|
62
|
+
inputWidth
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
useBrowserLayoutEffect(()=>measure.current());
|
|
66
|
+
useEffect(()=>{
|
|
67
|
+
if (!singleLine || !root.current) return;
|
|
68
|
+
const update = ()=>measure.current();
|
|
69
|
+
const observer = "u" < typeof ResizeObserver ? void 0 : new ResizeObserver(update);
|
|
70
|
+
observer?.observe(root.current);
|
|
71
|
+
for (const tag of root.current.querySelectorAll('[data-selection-item]'))observer?.observe(tag);
|
|
72
|
+
window.addEventListener('resize', update);
|
|
73
|
+
document.fonts?.addEventListener('loadingdone', update);
|
|
74
|
+
return ()=>{
|
|
75
|
+
observer?.disconnect();
|
|
76
|
+
window.removeEventListener('resize', update);
|
|
77
|
+
document.fonts?.removeEventListener('loadingdone', update);
|
|
78
|
+
};
|
|
79
|
+
}, [
|
|
80
|
+
singleLine,
|
|
81
|
+
count
|
|
82
|
+
]);
|
|
83
|
+
useListMotion(root, JSON.stringify(items?.slice(0, visibleCount).map((item)=>item.key)), '.leaf-selection__tag[data-motion-key]:not([hidden])', singleLine ? visibleCount : false);
|
|
84
|
+
return /*#__PURE__*/ jsxs("span", {
|
|
85
|
+
ref: root,
|
|
86
|
+
className: classes('leaf-selection', className),
|
|
87
|
+
"data-multiple": void 0 !== items || void 0,
|
|
88
|
+
"data-single-line": singleLine || void 0,
|
|
89
|
+
style: singleLine ? {
|
|
90
|
+
'--leaf-selection-first-width': layout.firstWidth ? `${layout.firstWidth}px` : void 0,
|
|
91
|
+
'--leaf-selection-input-width': `${layout.inputWidth}px`
|
|
92
|
+
} : void 0,
|
|
93
|
+
children: [
|
|
94
|
+
items?.slice(0, singleLine ? count : visibleCount).map((item, index)=>/*#__PURE__*/ jsx("span", {
|
|
95
|
+
className: classes('leaf-selection__tag', tagClassName),
|
|
96
|
+
"data-selection-item": "",
|
|
97
|
+
"data-motion-key": item.key,
|
|
98
|
+
"data-custom": null != item.render || void 0,
|
|
99
|
+
hidden: index >= visibleCount,
|
|
100
|
+
...inertProps(index >= visibleCount),
|
|
101
|
+
title: item.text,
|
|
102
|
+
children: item.render ?? /*#__PURE__*/ jsxs(Fragment, {
|
|
103
|
+
children: [
|
|
104
|
+
/*#__PURE__*/ jsx("span", {
|
|
105
|
+
children: item.label
|
|
106
|
+
}),
|
|
107
|
+
item.remove && /*#__PURE__*/ jsx("button", {
|
|
108
|
+
type: "button",
|
|
109
|
+
tabIndex: -1,
|
|
110
|
+
"aria-label": `${removeLabel} ${item.text}`,
|
|
111
|
+
onMouseDown: (event)=>event.preventDefault(),
|
|
112
|
+
onClick: (event)=>{
|
|
113
|
+
event.stopPropagation();
|
|
114
|
+
item.remove?.();
|
|
115
|
+
},
|
|
116
|
+
children: /*#__PURE__*/ jsx(X, {
|
|
117
|
+
size: 12,
|
|
118
|
+
"aria-hidden": "true"
|
|
119
|
+
})
|
|
120
|
+
})
|
|
121
|
+
]
|
|
122
|
+
})
|
|
123
|
+
}, item.key)),
|
|
124
|
+
hiddenItems.length > 0 && /*#__PURE__*/ jsxs("span", {
|
|
125
|
+
className: classes('leaf-selection__tag', tagClassName),
|
|
126
|
+
title: hiddenItems.map((item)=>item.text).join(', '),
|
|
127
|
+
"data-selection-overflow": "",
|
|
128
|
+
children: [
|
|
129
|
+
"+",
|
|
130
|
+
hiddenItems.length,
|
|
131
|
+
/*#__PURE__*/ jsx("span", {
|
|
132
|
+
className: "leaf-selection__sr",
|
|
133
|
+
children: hiddenItems.map((item)=>item.text).join(', ')
|
|
134
|
+
})
|
|
135
|
+
]
|
|
136
|
+
}),
|
|
137
|
+
children && /*#__PURE__*/ jsx("span", {
|
|
138
|
+
className: "leaf-selection__input",
|
|
139
|
+
children: children
|
|
140
|
+
}),
|
|
141
|
+
singleLine && /*#__PURE__*/ jsxs("span", {
|
|
142
|
+
className: "leaf-selection__measure",
|
|
143
|
+
"aria-hidden": "true",
|
|
144
|
+
children: [
|
|
145
|
+
/*#__PURE__*/ jsxs("span", {
|
|
146
|
+
className: classes('leaf-selection__tag', tagClassName),
|
|
147
|
+
"data-selection-counter": "",
|
|
148
|
+
children: [
|
|
149
|
+
"+",
|
|
150
|
+
count
|
|
151
|
+
]
|
|
152
|
+
}),
|
|
153
|
+
/*#__PURE__*/ jsx("span", {
|
|
154
|
+
"data-selection-query": "",
|
|
155
|
+
children: query
|
|
156
|
+
})
|
|
157
|
+
]
|
|
158
|
+
})
|
|
159
|
+
]
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
export { SelectionContent };
|
|
163
|
+
|
|
164
|
+
//# sourceMappingURL=selection-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared/selection-content.js","sources":["../../../../../src/shared/selection-content.tsx"],"sourcesContent":["import { X } from 'lucide-react';\nimport {\n type CSSProperties,\n type ReactNode,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { classes } from './classes';\nimport { inertProps } from './inert';\nimport { useListMotion } from './motion';\n\nconst useBrowserLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\ninterface SelectionItem {\n key: string;\n label: ReactNode;\n text: string;\n remove?: () => void;\n render?: ReactNode;\n}\n\n/** Shared selected-value layout. Measure the real tags, without mounting custom renderers twice. */\nexport function SelectionContent({\n items,\n children,\n className,\n tagClassName,\n tagWrap = true,\n maxTagCount,\n searchable = false,\n query = '',\n removeLabel,\n}: {\n items?: readonly SelectionItem[];\n children?: ReactNode;\n className?: string;\n tagClassName?: string;\n tagWrap?: boolean;\n maxTagCount?: number | 'responsive';\n searchable?: boolean;\n query?: string;\n removeLabel?: string;\n}) {\n const root = useRef<HTMLSpanElement>(null);\n const count = items?.length ?? 0;\n const limit = typeof maxTagCount === 'number' ? Math.max(0, Math.floor(maxTagCount)) : count;\n const singleLine = items !== undefined && (!tagWrap || maxTagCount === 'responsive');\n const [layout, setLayout] = useState({ count, firstWidth: 0, inputWidth: 0 });\n const visibleCount = Math.min(count, limit, singleLine ? layout.count : count);\n const hiddenItems = items?.slice(visibleCount) ?? [];\n const measure = useRef(() => {});\n measure.current = () => {\n const element = root.current;\n if (!singleLine || !element?.clientWidth) return;\n const width = element.clientWidth;\n const gap = Number.parseFloat(getComputedStyle(element).columnGap) || 0;\n // All writes precede the reads. The temporary measurement is restored before paint.\n const tags = Array.from(element.querySelectorAll<HTMLElement>('[data-selection-item]'));\n const hiddenTags = tags.filter((tag) => tag.hidden);\n element.dataset.measuring = '';\n // Normalize/utility styles often enforce [hidden] with !important. Temporarily\n // remove the attribute itself instead of relying on a CSS override.\n for (const tag of hiddenTags) tag.hidden = false;\n const widths = tags.map((tag) => tag.getBoundingClientRect().width);\n const overflowWidth =\n element.querySelector<HTMLElement>('[data-selection-counter]')?.getBoundingClientRect()\n .width ?? 0;\n const queryWidth =\n element.querySelector<HTMLElement>('[data-selection-query]')?.getBoundingClientRect().width ??\n 0;\n for (const tag of hiddenTags) tag.hidden = true;\n delete element.dataset.measuring;\n const inputWidth = children\n ? Math.min(\n Math.max(0, width - (count ? overflowWidth + gap : 0)),\n searchable ? (query ? Math.max(48, queryWidth + 12) : 24) : 1,\n )\n : 0;\n const budget = Math.max(0, width - inputWidth - (children && count ? gap : 0));\n const totalWidth = widths.reduce((sum, value) => sum + value, 0) + Math.max(0, count - 1) * gap;\n let nextCount = 0;\n let firstWidth = 0;\n if (count <= limit && totalWidth <= budget) nextCount = count;\n else if (count === 1 && limit > 0 && budget >= Math.min(widths[0] ?? 0, 48)) {\n nextCount = 1;\n firstWidth = budget;\n } else {\n const tagBudget = Math.max(0, budget - overflowWidth - gap);\n let used = 0;\n for (const tagWidth of widths.slice(0, Math.min(limit, count - 1))) {\n const next = used + (nextCount ? gap : 0) + tagWidth;\n if (next > tagBudget) break;\n used = next;\n nextCount++;\n }\n // Keep the first long label useful, while preserving the remove button and +N.\n if (!nextCount && limit > 0 && count > 1 && tagBudget >= Math.min(widths[0] ?? 0, 48)) {\n nextCount = 1;\n firstWidth = tagBudget;\n }\n }\n setLayout((previous) =>\n previous.count === nextCount &&\n previous.firstWidth === firstWidth &&\n previous.inputWidth === inputWidth\n ? previous\n : { count: nextCount, firstWidth, inputWidth },\n );\n };\n useBrowserLayoutEffect(() => measure.current());\n // biome-ignore lint/correctness/useExhaustiveDependencies: Observe the new tag elements after selection changes.\n useEffect(() => {\n if (!singleLine || !root.current) return;\n const update = () => measure.current();\n const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(update);\n observer?.observe(root.current);\n for (const tag of root.current.querySelectorAll('[data-selection-item]'))\n observer?.observe(tag);\n window.addEventListener('resize', update);\n document.fonts?.addEventListener('loadingdone', update);\n return () => {\n observer?.disconnect();\n window.removeEventListener('resize', update);\n document.fonts?.removeEventListener('loadingdone', update);\n };\n }, [singleLine, count]);\n useListMotion(\n root,\n JSON.stringify(items?.slice(0, visibleCount).map((item) => item.key)),\n '.leaf-selection__tag[data-motion-key]:not([hidden])',\n singleLine ? visibleCount : false,\n );\n return (\n <span\n ref={root}\n className={classes('leaf-selection', className)}\n data-multiple={items !== undefined || undefined}\n data-single-line={singleLine || undefined}\n style={\n singleLine\n ? ({\n '--leaf-selection-first-width': layout.firstWidth\n ? `${layout.firstWidth}px`\n : undefined,\n '--leaf-selection-input-width': `${layout.inputWidth}px`,\n } as CSSProperties)\n : undefined\n }\n >\n {items?.slice(0, singleLine ? count : visibleCount).map((item, index) => (\n <span\n className={classes('leaf-selection__tag', tagClassName)}\n key={item.key}\n data-selection-item=\"\"\n data-motion-key={item.key}\n data-custom={item.render != null || undefined}\n hidden={index >= visibleCount}\n {...inertProps(index >= visibleCount)}\n title={item.text}\n >\n {item.render ?? (\n <>\n <span>{item.label}</span>\n {item.remove && (\n <button\n type=\"button\"\n tabIndex={-1}\n aria-label={`${removeLabel} ${item.text}`}\n onMouseDown={(event) => event.preventDefault()}\n onClick={(event) => {\n event.stopPropagation();\n item.remove?.();\n }}\n >\n <X size={12} aria-hidden=\"true\" />\n </button>\n )}\n </>\n )}\n </span>\n ))}\n {hiddenItems.length > 0 && (\n <span\n className={classes('leaf-selection__tag', tagClassName)}\n title={hiddenItems.map((item) => item.text).join(', ')}\n data-selection-overflow=\"\"\n >\n +{hiddenItems.length}\n <span className=\"leaf-selection__sr\">\n {hiddenItems.map((item) => item.text).join(', ')}\n </span>\n </span>\n )}\n {children && <span className=\"leaf-selection__input\">{children}</span>}\n {singleLine && (\n <span className=\"leaf-selection__measure\" aria-hidden=\"true\">\n <span className={classes('leaf-selection__tag', tagClassName)} data-selection-counter=\"\">\n +{count}\n </span>\n <span data-selection-query=\"\">{query}</span>\n </span>\n )}\n </span>\n );\n}\n"],"names":["useBrowserLayoutEffect","window","useEffect","useLayoutEffect","SelectionContent","items","children","className","tagClassName","tagWrap","maxTagCount","searchable","query","removeLabel","root","useRef","count","limit","Math","singleLine","undefined","layout","setLayout","useState","visibleCount","hiddenItems","measure","element","width","gap","Number","getComputedStyle","tags","Array","hiddenTags","tag","widths","overflowWidth","queryWidth","inputWidth","budget","totalWidth","sum","value","nextCount","firstWidth","tagBudget","used","tagWidth","next","previous","update","observer","ResizeObserver","document","useListMotion","JSON","item","classes","index","inertProps","event","X"],"mappings":"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"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
const padTime = (value)=>String(value).padStart(2, '0');
|
|
3
|
-
function parseTime(value) {
|
|
4
|
-
|
|
3
|
+
function parseTime(value, periods) {
|
|
4
|
+
let text = value?.trim();
|
|
5
|
+
if (text && periods) for (const [index, label] of periods.entries()){
|
|
6
|
+
if (!label) continue;
|
|
7
|
+
const normalized = text.toLowerCase();
|
|
8
|
+
const token = label.toLowerCase();
|
|
9
|
+
if (normalized.endsWith(token)) {
|
|
10
|
+
text = `${text.slice(0, -label.length).trim()} ${0 === index ? 'AM' : 'PM'}`;
|
|
11
|
+
break;
|
|
12
|
+
}
|
|
13
|
+
if (normalized.startsWith(token)) {
|
|
14
|
+
text = `${text.slice(label.length).trim()} ${0 === index ? 'AM' : 'PM'}`;
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const match = text?.match(/^(?:(上午|下午)\s*)?(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM|上午|下午)?$/i);
|
|
5
19
|
if (!match) return null;
|
|
6
20
|
if (match[1] && match[5]) return null;
|
|
7
21
|
let hour = Number(match[2]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared/time.js","sources":["../../../../../src/shared/time.ts"],"sourcesContent":["export interface TimeParts {\n hour: number;\n minute: number;\n second: number;\n}\nexport const padTime = (value: number) => String(value).padStart(2, '0');\nexport function parseTime(value: string | null | undefined): TimeParts | null {\n
|
|
1
|
+
{"version":3,"file":"shared/time.js","sources":["../../../../../src/shared/time.ts"],"sourcesContent":["export interface TimeParts {\n hour: number;\n minute: number;\n second: number;\n}\nexport const padTime = (value: number) => String(value).padStart(2, '0');\nexport function parseTime(\n value: string | null | undefined,\n periods?: readonly [string, string],\n): TimeParts | null {\n let text = value?.trim();\n if (text && periods) {\n for (const [index, label] of periods.entries()) {\n if (!label) continue;\n const normalized = text.toLowerCase();\n const token = label.toLowerCase();\n if (normalized.endsWith(token)) {\n text = `${text.slice(0, -label.length).trim()} ${index === 0 ? 'AM' : 'PM'}`;\n break;\n }\n if (normalized.startsWith(token)) {\n text = `${text.slice(label.length).trim()} ${index === 0 ? 'AM' : 'PM'}`;\n break;\n }\n }\n }\n const match = text?.match(\n /^(?:(上午|下午)\\s*)?(\\d{1,2}):(\\d{2})(?::(\\d{2}))?\\s*(AM|PM|上午|下午)?$/i,\n );\n if (!match) return null;\n if (match[1] && match[5]) return null;\n let hour = Number(match[2]);\n const minute = Number(match[3]);\n const second = Number(match[4] ?? 0);\n const period = (match[1] ?? match[5])?.toUpperCase();\n if (period) {\n if (hour < 1 || hour > 12) return null;\n hour = (hour % 12) + (period === 'PM' || period === '下午' ? 12 : 0);\n }\n return hour < 24 && minute < 60 && second < 60 ? { hour, minute, second } : null;\n}\nexport function timeString(parts: TimeParts, seconds = false) {\n return `${padTime(parts.hour)}:${padTime(parts.minute)}${seconds ? `:${padTime(parts.second)}` : ''}`;\n}\nexport function displayTime(\n parts: TimeParts,\n seconds: boolean,\n use12Hours: boolean,\n period: readonly [string, string],\n) {\n return use12Hours\n ? `${timeString({ ...parts, hour: parts.hour % 12 || 12 }, seconds)} ${period[parts.hour < 12 ? 0 : 1]}`\n : timeString(parts, seconds);\n}\n"],"names":["padTime","value","String","parseTime","periods","text","index","label","normalized","token","match","hour","Number","minute","second","period","timeString","parts","seconds","displayTime","use12Hours"],"mappings":";AAKO,MAAMA,UAAU,CAACC,QAAkBC,OAAOD,OAAO,QAAQ,CAAC,GAAG;AAC7D,SAASE,UACdF,KAAgC,EAChCG,OAAmC;IAEnC,IAAIC,OAAOJ,OAAO;IAClB,IAAII,QAAQD,SACV,KAAK,MAAM,CAACE,OAAOC,MAAM,IAAIH,QAAQ,OAAO,GAAI;QAC9C,IAAI,CAACG,OAAO;QACZ,MAAMC,aAAaH,KAAK,WAAW;QACnC,MAAMI,QAAQF,MAAM,WAAW;QAC/B,IAAIC,WAAW,QAAQ,CAACC,QAAQ;YAC9BJ,OAAO,GAAGA,KAAK,KAAK,CAAC,GAAG,CAACE,MAAM,MAAM,EAAE,IAAI,GAAG,CAAC,EAAED,AAAU,MAAVA,QAAc,OAAO,MAAM;YAC5E;QACF;QACA,IAAIE,WAAW,UAAU,CAACC,QAAQ;YAChCJ,OAAO,GAAGA,KAAK,KAAK,CAACE,MAAM,MAAM,EAAE,IAAI,GAAG,CAAC,EAAED,AAAU,MAAVA,QAAc,OAAO,MAAM;YACxE;QACF;IACF;IAEF,MAAMI,QAAQL,MAAM,MAClB;IAEF,IAAI,CAACK,OAAO,OAAO;IACnB,IAAIA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,EAAE,OAAO;IACjC,IAAIC,OAAOC,OAAOF,KAAK,CAAC,EAAE;IAC1B,MAAMG,SAASD,OAAOF,KAAK,CAAC,EAAE;IAC9B,MAAMI,SAASF,OAAOF,KAAK,CAAC,EAAE,IAAI;IAClC,MAAMK,SAAUL,CAAAA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAC,GAAI;IACvC,IAAIK,QAAQ;QACV,IAAIJ,OAAO,KAAKA,OAAO,IAAI,OAAO;QAClCA,OAAQA,OAAO,KAAOI,CAAAA,AAAW,SAAXA,UAAmBA,AAAW,SAAXA,SAAkB,KAAK;IAClE;IACA,OAAOJ,OAAO,MAAME,SAAS,MAAMC,SAAS,KAAK;QAAEH;QAAME;QAAQC;IAAO,IAAI;AAC9E;AACO,SAASE,WAAWC,KAAgB,EAAEC,UAAU,KAAK;IAC1D,OAAO,GAAGlB,QAAQiB,MAAM,IAAI,EAAE,CAAC,EAAEjB,QAAQiB,MAAM,MAAM,IAAIC,UAAU,CAAC,CAAC,EAAElB,QAAQiB,MAAM,MAAM,GAAG,GAAG,IAAI;AACvG;AACO,SAASE,YACdF,KAAgB,EAChBC,OAAgB,EAChBE,UAAmB,EACnBL,MAAiC;IAEjC,OAAOK,aACH,GAAGJ,WAAW;QAAE,GAAGC,KAAK;QAAE,MAAMA,MAAM,IAAI,GAAG,MAAM;IAAG,GAAGC,SAAS,CAAC,EAAEH,MAAM,CAACE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,EAAE,GACtGD,WAAWC,OAAOC;AACxB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useFormattedText } from "./use-formatted-text.js";
|
|
3
|
+
import { useText } from "./use-text.js";
|
|
4
|
+
function useDragAnnouncements(label, tree = false) {
|
|
5
|
+
const t = useText();
|
|
6
|
+
const format = useFormattedText();
|
|
7
|
+
const announcements = {
|
|
8
|
+
onDragStart: ({ active })=>format('drag.pickedUp', {
|
|
9
|
+
label: label(active.id)
|
|
10
|
+
}),
|
|
11
|
+
onDragOver: ({ over })=>over ? format('drag.moved', {
|
|
12
|
+
label: label(over.id)
|
|
13
|
+
}) : t('drag.outside'),
|
|
14
|
+
onDragEnd: ({ active, over })=>over ? format('drag.dropped', {
|
|
15
|
+
label: label(active.id)
|
|
16
|
+
}) : t('drag.cancelled'),
|
|
17
|
+
onDragCancel: ()=>t('drag.cancelled')
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
screenReaderInstructions: {
|
|
21
|
+
draggable: t(tree ? 'tree.reorderInstructions' : 'drag.instructions')
|
|
22
|
+
},
|
|
23
|
+
announcements
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export { useDragAnnouncements };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=use-drag-announcements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared/use-drag-announcements.js","sources":["../../../../../src/shared/use-drag-announcements.ts"],"sourcesContent":["import type { Announcements, UniqueIdentifier } from '@dnd-kit/core';\nimport { useFormattedText } from './use-formatted-text';\nimport { useText } from './use-text';\n\nexport function useDragAnnouncements(label: (id: UniqueIdentifier) => string, tree = false) {\n const t = useText();\n const format = useFormattedText();\n const announcements: Announcements = {\n onDragStart: ({ active }) => format('drag.pickedUp', { label: label(active.id) }),\n onDragOver: ({ over }) =>\n over ? format('drag.moved', { label: label(over.id) }) : t('drag.outside'),\n onDragEnd: ({ active, over }) =>\n over ? format('drag.dropped', { label: label(active.id) }) : t('drag.cancelled'),\n onDragCancel: () => t('drag.cancelled'),\n };\n return {\n screenReaderInstructions: {\n draggable: t(tree ? 'tree.reorderInstructions' : 'drag.instructions'),\n },\n announcements,\n };\n}\n"],"names":["useDragAnnouncements","label","tree","t","useText","format","useFormattedText","announcements","active","over"],"mappings":";;;AAIO,SAASA,qBAAqBC,KAAuC,EAAEC,OAAO,KAAK;IACxF,MAAMC,IAAIC;IACV,MAAMC,SAASC;IACf,MAAMC,gBAA+B;QACnC,aAAa,CAAC,EAAEC,MAAM,EAAE,GAAKH,OAAO,iBAAiB;gBAAE,OAAOJ,MAAMO,OAAO,EAAE;YAAE;QAC/E,YAAY,CAAC,EAAEC,IAAI,EAAE,GACnBA,OAAOJ,OAAO,cAAc;gBAAE,OAAOJ,MAAMQ,KAAK,EAAE;YAAE,KAAKN,EAAE;QAC7D,WAAW,CAAC,EAAEK,MAAM,EAAEC,IAAI,EAAE,GAC1BA,OAAOJ,OAAO,gBAAgB;gBAAE,OAAOJ,MAAMO,OAAO,EAAE;YAAE,KAAKL,EAAE;QACjE,cAAc,IAAMA,EAAE;IACxB;IACA,OAAO;QACL,0BAA0B;YACxB,WAAWA,EAAED,OAAO,6BAA6B;QACnD;QACAK;IACF;AACF"}
|