@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select/select.js","sources":["../../../../../src/select/select.tsx"],"sourcesContent":["import { useVirtualizer } from '@tanstack/react-virtual';\nimport { Check, ChevronDown, LoaderCircle, Plus, X } from 'lucide-react';\nimport {\n type CSSProperties,\n forwardRef,\n type InputHTMLAttributes,\n type ReactNode,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useLeafConfig } from '../config-provider/context';\nimport { useFormField } from '../form/form';\nimport { classes } from '../shared/classes';\nimport { ClearButton } from '../shared/clear-button';\nimport { FormValue, useFieldValue, useMergedRef } from '../shared/field';\nimport {\n FloatingPanel,\n type PopupOptions,\n useActiveOption,\n useFloatingDismiss,\n usePopupState,\n} from '../shared/floating';\nimport { FloatingHighlight, useFloatingHighlight } from '../shared/floating-highlight';\nimport { useListMotion } from '../shared/motion';\nimport type { ControlSize, ControlStatus } from '../shared/types';\nimport { useText } from '../shared/use-text';\n\nexport interface SelectOption {\n value: string;\n label: ReactNode;\n disabled?: boolean;\n searchLabel?: string;\n}\nexport interface SelectOptionGroup {\n label: ReactNode;\n options: readonly SelectOption[];\n}\ninterface SelectBaseProps\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'size' | 'value' | 'defaultValue' | 'onChange' | 'children' | 'multiple'\n >,\n PopupOptions {\n options: readonly (SelectOption | SelectOptionGroup)[];\n size?: ControlSize;\n status?: ControlStatus;\n allowClear?: boolean;\n showSearch?: boolean;\n filterOption?: boolean | ((query: string, option: SelectOption) => boolean);\n onSearch?: (query: string) => void;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n defaultOpen?: boolean;\n inputReadOnly?: boolean;\n labelRender?: (option: SelectOption) => ReactNode;\n tagRender?: (option: SelectOption, remove: () => void) => ReactNode;\n popupRender?: (content: ReactNode) => ReactNode;\n onPopupScroll?: (event: React.UIEvent<HTMLDivElement>) => void;\n popupWidth?: number | string;\n popupMaxWidth?: number | string;\n popupClassName?: string;\n popupStyle?: CSSProperties;\n loading?: boolean;\n notFoundContent?: ReactNode;\n optionRender?: (option: SelectOption) => ReactNode;\n maxCount?: number;\n maxTagCount?: number | 'responsive';\n allowCreate?: boolean;\n onCreate?: (option: SelectOption) => void;\n virtual?: boolean;\n listHeight?: number;\n optionHeight?: number;\n}\nexport type SelectProps = SelectBaseProps &\n (\n | {\n multiple?: false;\n value?: string;\n defaultValue?: string;\n onChange?: (value: string, option?: SelectOption) => void;\n }\n | {\n multiple: true;\n value?: readonly string[];\n defaultValue?: readonly string[];\n onChange?: (value: string[], options: SelectOption[]) => void;\n }\n );\nconst empty: readonly string[] = [];\nconst searchText = (option: SelectOption) =>\n option.searchLabel ??\n (typeof option.label === 'string' || typeof option.label === 'number'\n ? String(option.label)\n : option.value);\nexport const Select = forwardRef<HTMLInputElement, SelectProps>(\n function Select(props, forwardedRef) {\n const {\n options: suppliedOptions,\n size = 'md',\n status: statusProp,\n placeholder,\n value,\n defaultValue,\n name,\n required: requiredProp,\n allowClear = false,\n form,\n className,\n style,\n disabled: disabledProp,\n id: idProp,\n onOpenChange,\n open: controlledOpen,\n defaultOpen,\n inputReadOnly,\n labelRender,\n tagRender,\n popupRender,\n onPopupScroll,\n onClick,\n onKeyDown,\n onBlur,\n multiple = false,\n showSearch: searchProp = false,\n filterOption = true,\n onSearch,\n popupWidth = 'auto',\n popupMaxWidth = 420,\n popupClassName,\n popupStyle,\n popupPlacement,\n getPopupContainer,\n loading = false,\n notFoundContent,\n optionRender,\n maxCount,\n maxTagCount,\n allowCreate = false,\n onCreate,\n virtual: virtualProp,\n listHeight = 248,\n optionHeight = 36,\n onChange: _onChange,\n ...inputProps\n } = props;\n const t = useText();\n const showSearch = searchProp || allowCreate;\n const [created, setCreated] = useState<SelectOption[]>([]);\n const baseOptions = useMemo(\n () => suppliedOptions.flatMap((entry) => ('options' in entry ? [...entry.options] : [entry])),\n [suppliedOptions],\n );\n const options = useMemo(\n () => [\n ...baseOptions,\n ...created.filter((entry) => !baseOptions.some((option) => option.value === entry.value)),\n ],\n [baseOptions, created],\n );\n const optionGroups = useMemo(\n () =>\n new Map(\n suppliedOptions.flatMap((entry) =>\n 'options' in entry\n ? entry.options.map((option) => [option.value, entry.label] as const)\n : [],\n ),\n ),\n [suppliedOptions],\n );\n const virtual = virtualProp ?? options.length > 100;\n const { messages } = useLeafConfig();\n const field = useFormField();\n const disabled = disabledProp || field?.disabled;\n const required = requiredProp ?? field?.required;\n const status = statusProp ?? (field?.error ? 'error' : undefined);\n const root = useRef<HTMLDivElement>(null);\n const input = useRef<HTMLInputElement>(null);\n const panel = useRef<HTMLDivElement>(null);\n const merged = useMergedRef(input, forwardedRef);\n const panelId = `${useId()}-listbox`;\n const [selected, setSelected] = useFieldValue<string | readonly string[]>(\n value,\n defaultValue ?? (multiple ? empty : ''),\n input,\n form,\n );\n const values = typeof selected === 'string' ? (selected ? [selected] : []) : selected;\n const [responsiveCount, setResponsiveCount] = useState(3);\n // biome-ignore lint/correctness/useExhaustiveDependencies: Remeasure tag widths when the selected values change.\n useEffect(() => {\n if (maxTagCount !== 'responsive' || !root.current) return;\n const measure = () => {\n const width = root.current?.clientWidth ?? 0;\n let used = 90;\n let count = 0;\n for (const tag of root.current?.querySelectorAll<HTMLElement>('[data-leaf-tag-measure]') ??\n []) {\n used += tag.getBoundingClientRect().width + 4;\n if (used > width) break;\n count++;\n }\n setResponsiveCount(count);\n };\n const observer =\n typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(measure);\n observer?.observe(root.current);\n window.addEventListener('resize', measure);\n measure();\n return () => {\n observer?.disconnect();\n window.removeEventListener('resize', measure);\n };\n }, [maxTagCount, values]);\n const visibleTagCount =\n maxTagCount === 'responsive'\n ? responsiveCount\n : maxTagCount === undefined\n ? values.length\n : Math.max(0, Math.floor(maxTagCount));\n useListMotion(\n root,\n JSON.stringify(values.slice(0, visibleTagCount)),\n '.leaf-select__tag[data-motion-key]',\n );\n useListMotion(root, values[0], multiple ? '' : '.leaf-select__input-wrap[data-motion-key]');\n const atLimit =\n multiple && maxCount !== undefined && values.length >= Math.max(0, Math.floor(maxCount));\n const unavailable = (option: SelectOption) =>\n option.disabled || (atLimit && !values.includes(option.value));\n const selectedCache = useRef(new Map<string, SelectOption>());\n const nextCache = new Map<string, SelectOption>();\n for (const key of values) {\n const record =\n options.find((option) => option.value === key) ?? selectedCache.current.get(key);\n if (record) nextCache.set(key, record);\n }\n selectedCache.current = nextCache;\n const selectedOptions = values.map((key) => nextCache.get(key) ?? { value: key, label: key });\n const [query, setQuery] = useState('');\n const [open, setOpen] = usePopupState(\n disabled || inputProps.readOnly,\n onOpenChange,\n controlledOpen,\n defaultOpen,\n );\n const [highlighted, setHighlighted] = useState(-1);\n const matched =\n !query || !showSearch || filterOption === false\n ? options\n : options.filter((option) =>\n typeof filterOption === 'function'\n ? filterOption(query, option)\n : searchText(option).toLocaleLowerCase().includes(query.toLocaleLowerCase()),\n );\n const newValue = query.trim();\n const createOption =\n allowCreate &&\n newValue &&\n !options.some((option) => option.value === newValue || searchText(option) === newValue)\n ? { value: newValue, label: newValue }\n : null;\n const filtered = createOption ? [...matched, createOption] : matched;\n const rows = useMemo(() => {\n const entries: { key: string; option?: SelectOption; group?: ReactNode; index: number }[] =\n [];\n let previousGroup: ReactNode;\n filtered.forEach((option, index) => {\n const group = optionGroups.get(option.value);\n if (group !== undefined && group !== previousGroup)\n entries.push({ key: `group-${option.value}`, group, index: -1 });\n entries.push({ key: option.value, option, index });\n previousGroup = group;\n });\n return entries;\n }, [filtered, optionGroups]);\n const virtualizer = useVirtualizer({\n count: rows.length,\n getScrollElement: () => panel.current,\n estimateSize: () => Math.max(24, optionHeight),\n overscan: 5,\n getItemKey: (index) => rows[index]?.key ?? index,\n enabled: open && virtual,\n initialRect: { height: listHeight, width: 240 },\n });\n useEffect(() => {\n if (open && virtual && highlighted >= 0) {\n const index = rows.findIndex((row) => row.index === highlighted);\n if (index >= 0) virtualizer.scrollToIndex(index, { align: 'auto' });\n }\n }, [open, virtual, highlighted, rows, virtualizer]);\n const updateQuery = (next: string) => {\n setQuery(next);\n onSearch?.(next);\n };\n const close = () => {\n setOpen(false);\n if (query) updateQuery('');\n };\n useFloatingDismiss(open, close, input, panel, root);\n useActiveOption(open, highlighted >= 0 ? `${panelId}-${highlighted}` : undefined, panel);\n const highlight = useFloatingHighlight(\n open,\n panel,\n highlighted >= 0 ? `${panelId}-${highlighted}` : undefined,\n `${query}:${filtered[highlighted]?.value}:${rows.length}:${virtualizer.range?.startIndex}:${virtualizer.range?.endIndex}`,\n );\n useEffect(() => {\n if (!open) setQuery('');\n }, [open]);\n const change = (next: readonly string[]) => {\n if (disabled || inputProps.readOnly) return;\n setSelected(multiple ? next : (next[0] ?? ''));\n if (props.multiple)\n props.onChange?.(\n [...next],\n [\n ...selectedOptions,\n ...options.filter((option) => !values.includes(option.value)),\n ...(createOption ? [createOption] : []),\n ].filter((option) => next.includes(option.value)),\n );\n else\n props.onChange?.(\n next[0] ?? '',\n [...options, ...(createOption ? [createOption] : [])].find(\n (option) => option.value === next[0],\n ),\n );\n };\n const openMenu = () => {\n if (disabled || inputProps.readOnly) return;\n const active = filtered.findIndex(\n (option) => values.includes(option.value) && !unavailable(option),\n );\n setHighlighted(active >= 0 ? active : filtered.findIndex((option) => !unavailable(option)));\n setOpen(true);\n };\n const selectOption = (option: SelectOption) => {\n if (unavailable(option) || inputProps.readOnly) return;\n if (createOption && option.value === createOption.value) {\n setCreated((previous) => [...previous, option]);\n onCreate?.(option);\n }\n change(\n multiple\n ? values.includes(option.value)\n ? values.filter((value) => value !== option.value)\n : [...values, option.value]\n : [option.value],\n );\n if (multiple) updateQuery('');\n else close();\n input.current?.focus();\n };\n const move = (direction: number) => {\n if (!filtered.length) return;\n let next = highlighted < 0 ? (direction > 0 ? -1 : filtered.length) : highlighted;\n for (let i = 0; i < filtered.length; i++) {\n next = (next + direction + filtered.length) % filtered.length;\n const candidate = filtered[next];\n if (candidate && !unavailable(candidate)) {\n setHighlighted(next);\n break;\n }\n }\n };\n const renderOption = (option: SelectOption, index: number) => (\n <button\n key={option.value}\n id={`${panelId}-${index}`}\n aria-posinset={index + 1}\n aria-setsize={filtered.length}\n type=\"button\"\n role=\"option\"\n aria-selected={values.includes(option.value)}\n aria-disabled={option.disabled || (atLimit && !values.includes(option.value)) || undefined}\n data-highlighted={highlighted === index || undefined}\n className=\"leaf-floating__option\"\n disabled={option.disabled || (atLimit && !values.includes(option.value))}\n tabIndex={-1}\n onMouseEnter={() => {\n if (!unavailable(option)) setHighlighted(index);\n }}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => selectOption(option)}\n >\n <span className=\"leaf-select__option-label\">\n {createOption?.value === option.value ? (\n <>\n <Plus size={14} aria-hidden=\"true\" /> {t('创建', 'Create')} “{option.label}”\n </>\n ) : optionRender ? (\n optionRender(option)\n ) : (\n option.label\n )}\n </span>\n <Check size={15} aria-hidden=\"true\" className=\"leaf-select__check\" />\n </button>\n );\n const displayLabel = selectedOptions[0]\n ? (labelRender?.(selectedOptions[0]) ?? selectedOptions[0].label)\n : undefined;\n const textLabel =\n typeof displayLabel === 'string' || typeof displayLabel === 'number'\n ? String(displayLabel)\n : '';\n const inputValue = multiple || (showSearch && open) ? query : textLabel;\n const clearable = allowClear && values.length > 0 && !disabled && !inputProps.readOnly;\n return (\n // biome-ignore lint/a11y/noStaticElementInteractions: Pointer events on padding forward to the keyboard-accessible combobox input.\n // biome-ignore lint/a11y/useKeyWithClickEvents: The combobox input owns all keyboard interaction; this wrapper only extends its hit area.\n <div\n ref={root}\n className={classes(\n 'leaf-select',\n `leaf-select--${size}`,\n multiple && 'leaf-select--multiple',\n className,\n )}\n style={style}\n data-status={status}\n data-disabled={disabled ? '' : undefined}\n data-open={open ? '' : undefined}\n data-clearable={clearable ? '' : undefined}\n data-searchable={showSearch ? '' : undefined}\n onMouseDown={(event) => {\n if (\n !disabled &&\n event.target instanceof Element &&\n !event.target.closest('input, button, a')\n )\n event.preventDefault();\n }}\n onClick={(event) => {\n if (\n !disabled &&\n event.target instanceof Element &&\n root.current?.contains(event.target) &&\n !event.target.closest('input, button, a')\n ) {\n input.current?.focus();\n input.current?.click();\n }\n }}\n >\n <div className=\"leaf-select__content\">\n {multiple &&\n values.slice(0, visibleTagCount).map((value) => {\n const option = nextCache.get(value) ?? { value, label: value };\n const remove = () => change(values.filter((item) => item !== value));\n if (tagRender)\n return (\n <span key={value} className=\"leaf-select__tag\" data-motion-key={value}>\n {tagRender(option, remove)}\n </span>\n );\n return (\n <span key={value} className=\"leaf-select__tag\" data-motion-key={value}>\n <span>{option?.label ?? value}</span>\n {!disabled && !inputProps.readOnly && !option?.disabled && (\n <button\n type=\"button\"\n tabIndex={-1}\n aria-label={`${messages.remove} ${option ? searchText(option) : value}`}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n change(values.filter((item) => item !== value));\n input.current?.focus();\n }}\n >\n <X size={12} aria-hidden=\"true\" />\n </button>\n )}\n </span>\n );\n })}\n {multiple && values.length > visibleTagCount && (\n <span className=\"leaf-select__tag\">+{values.length - visibleTagCount}</span>\n )}\n {multiple && maxTagCount === 'responsive' && (\n <span\n aria-hidden=\"true\"\n style={{\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none',\n display: 'flex',\n }}\n >\n {selectedOptions.map((option) => (\n <span key={option.value} data-leaf-tag-measure className=\"leaf-select__tag\">\n {option.label}\n <X size={12} />\n </span>\n ))}\n </span>\n )}\n <div className=\"leaf-select__input-wrap\" data-motion-key={values[0] ?? ''}>\n {!multiple &&\n !query &&\n displayLabel != null &&\n (!textLabel || (showSearch && open)) && (\n <span className=\"leaf-select__value\">{displayLabel}</span>\n )}\n <input\n {...inputProps}\n ref={merged}\n id={idProp ?? field?.id}\n form={form}\n type=\"text\"\n className=\"leaf-select__input\"\n disabled={disabled}\n readOnly={!showSearch || inputProps.readOnly || inputReadOnly}\n value={inputValue}\n placeholder={values.length ? '' : (placeholder ?? messages.select)}\n autoComplete=\"off\"\n role=\"combobox\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={panelId}\n aria-autocomplete={showSearch ? 'list' : undefined}\n aria-activedescendant={\n open && filtered[highlighted] ? `${panelId}-${highlighted}` : undefined\n }\n aria-required={required || undefined}\n aria-invalid={status === 'error' ? true : inputProps['aria-invalid']}\n aria-describedby={\n [inputProps['aria-describedby'], field?.descriptionId].filter(Boolean).join(' ') ||\n undefined\n }\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n if (open && !showSearch) close();\n else if (!open) openMenu();\n }\n }}\n onBlur={(event) => {\n onBlur?.(event);\n if (\n !event.defaultPrevented &&\n !root.current?.contains(event.relatedTarget) &&\n !panel.current?.contains(event.relatedTarget)\n )\n close();\n }}\n onChange={(event) => {\n if (!open) openMenu();\n updateQuery(event.target.value);\n setHighlighted(-1);\n }}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || event.nativeEvent.isComposing) return;\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n if (!open) openMenu();\n else move(event.key === 'ArrowDown' ? 1 : -1);\n } else if ((event.key === 'Home' || event.key === 'End') && open && !showSearch) {\n event.preventDefault();\n const candidates = filtered\n .map((option, index) => ({ option, index }))\n .filter(({ option }) => !unavailable(option));\n setHighlighted(\n (event.key === 'Home' ? candidates[0] : candidates.at(-1))?.index ?? -1,\n );\n } else if (event.key === 'Enter' || (event.key === ' ' && !showSearch)) {\n event.preventDefault();\n if (!open) openMenu();\n else {\n const option =\n filtered[highlighted] ?? filtered.find((option) => !unavailable(option));\n if (option) selectOption(option);\n }\n } else if (event.key === 'Escape' && open) {\n event.preventDefault();\n event.stopPropagation();\n close();\n } else if (event.key === 'Tab' && open) close();\n else if (event.key === 'Backspace' && multiple && !query && !inputProps.readOnly) {\n const last = [...values]\n .reverse()\n .find((value) => !options.find((option) => option.value === value)?.disabled);\n if (last) {\n event.preventDefault();\n change(values.filter((value) => value !== last));\n }\n }\n }}\n />\n </div>\n </div>\n <button\n type=\"button\"\n className=\"leaf-select__arrow\"\n tabIndex={-1}\n disabled={disabled}\n aria-label={messages.select}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (open) close();\n else openMenu();\n input.current?.focus();\n }}\n >\n {loading ? (\n <LoaderCircle className=\"leaf-select__spinner\" size={16} aria-hidden=\"true\" />\n ) : (\n <ChevronDown size={16} aria-hidden=\"true\" />\n )}\n </button>\n {clearable && (\n <ClearButton\n label={messages.clearSelection}\n beforeArrow\n onClear={() => {\n change(empty);\n close();\n input.current?.focus();\n }}\n />\n )}\n <FormValue\n name={multiple ? undefined : name}\n form={form}\n value={multiple ? values.join(',') : (values[0] ?? '')}\n disabled={disabled}\n required={required}\n triggerRef={input}\n />\n {multiple &&\n values.map((value) => (\n <input\n key={value}\n type=\"hidden\"\n name={name}\n form={form}\n value={value}\n disabled={disabled}\n />\n ))}\n <FloatingPanel\n open={open}\n placement={popupPlacement}\n container={getPopupContainer}\n triggerRef={root}\n panelRef={panel}\n matchWidth={popupWidth === 'trigger'}\n width={\n popupWidth === 'trigger'\n ? undefined\n : popupWidth === 'auto'\n ? 'max-content'\n : popupWidth\n }\n minWidth={popupWidth === 'auto' ? 'trigger' : undefined}\n maxWidth={popupMaxWidth}\n id={panelId}\n className={classes('leaf-floating', 'leaf-select__panel', popupClassName)}\n data-hover-motion=\"\"\n style={{ maxHeight: listHeight, ...popupStyle }}\n onScroll={onPopupScroll}\n role=\"listbox\"\n aria-busy={loading || undefined}\n aria-label={inputProps['aria-label'] ?? messages.select}\n aria-multiselectable={multiple || undefined}\n >\n <FloatingHighlight style={highlight} />\n {(popupRender ?? ((content: ReactNode) => content))(\n loading && !filtered.length ? (\n <div className=\"leaf-floating__empty\">{messages.loading}</div>\n ) : filtered.length ? (\n virtual ? (\n <div\n style={{\n height: virtualizer.getTotalSize(),\n position: 'relative',\n minWidth: '100%',\n }}\n >\n {virtualizer.getVirtualItems().map((item) => {\n const row = rows[item.index];\n if (!row) return null;\n return (\n <div\n key={row.key}\n ref={virtualizer.measureElement}\n data-index={item.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${item.start}px)`,\n }}\n >\n {row.option ? (\n renderOption(row.option, row.index)\n ) : (\n <div className=\"leaf-select__group\">{row.group}</div>\n )}\n </div>\n );\n })}\n </div>\n ) : (\n rows.map((row) =>\n row.option ? (\n renderOption(row.option, row.index)\n ) : (\n <div key={row.key} className=\"leaf-select__group\">\n {row.group}\n </div>\n ),\n )\n )\n ) : (\n <div className=\"leaf-floating__empty\">{notFoundContent ?? messages.empty}</div>\n ),\n )}\n </FloatingPanel>\n </div>\n );\n },\n);\nSelect.displayName = 'Select';\n"],"names":["empty","searchText","option","String","Select","forwardRef","props","forwardedRef","suppliedOptions","size","statusProp","placeholder","value","defaultValue","name","requiredProp","allowClear","form","className","style","disabledProp","idProp","onOpenChange","controlledOpen","defaultOpen","inputReadOnly","labelRender","tagRender","popupRender","onPopupScroll","onClick","onKeyDown","onBlur","multiple","searchProp","filterOption","onSearch","popupWidth","popupMaxWidth","popupClassName","popupStyle","popupPlacement","getPopupContainer","loading","notFoundContent","optionRender","maxCount","maxTagCount","allowCreate","onCreate","virtualProp","listHeight","optionHeight","_onChange","inputProps","t","useText","showSearch","created","setCreated","useState","baseOptions","useMemo","entry","options","optionGroups","Map","virtual","messages","useLeafConfig","field","useFormField","disabled","required","status","undefined","root","useRef","input","panel","merged","useMergedRef","panelId","useId","selected","setSelected","useFieldValue","values","responsiveCount","setResponsiveCount","useEffect","measure","width","used","count","tag","observer","ResizeObserver","window","visibleTagCount","Math","useListMotion","JSON","atLimit","unavailable","selectedCache","nextCache","key","record","selectedOptions","query","setQuery","open","setOpen","usePopupState","highlighted","setHighlighted","matched","newValue","createOption","filtered","rows","entries","previousGroup","index","group","virtualizer","useVirtualizer","row","updateQuery","next","close","useFloatingDismiss","useActiveOption","highlight","useFloatingHighlight","change","openMenu","active","selectOption","previous","move","direction","i","candidate","renderOption","event","Plus","Check","displayLabel","textLabel","inputValue","clearable","classes","Element","remove","item","X","Boolean","candidates","last","LoaderCircle","ChevronDown","ClearButton","FormValue","FloatingPanel","FloatingHighlight","content"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select/select.js","sources":["../../../../../src/select/select.tsx"],"sourcesContent":["import { useVirtualizer } from '@tanstack/react-virtual';\nimport { Check, ChevronDown, LoaderCircle, Plus } from 'lucide-react';\nimport {\n type CSSProperties,\n forwardRef,\n type InputHTMLAttributes,\n type ReactNode,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { estimateControlHeight } from '../density';\nimport { useFormField } from '../form/form';\nimport { classes } from '../shared/classes';\nimport { ClearButton } from '../shared/clear-button';\nimport { FormValue, useFieldValue, useMergedRef } from '../shared/field';\nimport {\n FloatingPanel,\n type PopupOptions,\n useActiveOption,\n useFloatingDismiss,\n usePopupState,\n} from '../shared/floating';\nimport { FloatingFeedback } from '../shared/floating-feedback';\nimport { FloatingHighlight, useFloatingHighlight } from '../shared/floating-highlight';\nimport { useListMotion } from '../shared/motion';\nimport { SelectionContent } from '../shared/selection-content';\nimport type { ControlSize, ControlStatus } from '../shared/types';\nimport { useFormattedText } from '../shared/use-formatted-text';\n\nexport interface SelectOption {\n value: string;\n label: ReactNode;\n disabled?: boolean;\n searchLabel?: string;\n}\nexport interface SelectOptionGroup {\n label: ReactNode;\n options: readonly SelectOption[];\n}\ninterface SelectBaseProps\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'size' | 'value' | 'defaultValue' | 'onChange' | 'children' | 'multiple'\n >,\n PopupOptions {\n options: readonly (SelectOption | SelectOptionGroup)[];\n size?: ControlSize;\n status?: ControlStatus;\n allowClear?: boolean;\n showSearch?: boolean;\n filterOption?: boolean | ((query: string, option: SelectOption) => boolean);\n onSearch?: (query: string) => void;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n defaultOpen?: boolean;\n inputReadOnly?: boolean;\n labelRender?: (option: SelectOption) => ReactNode;\n tagRender?: (option: SelectOption, remove: () => void) => ReactNode;\n popupRender?: (content: ReactNode) => ReactNode;\n onPopupScroll?: (event: React.UIEvent<HTMLDivElement>) => void;\n popupWidth?: number | string;\n popupMaxWidth?: number | string;\n popupClassName?: string;\n popupStyle?: CSSProperties;\n loading?: boolean;\n notFoundContent?: ReactNode;\n optionRender?: (option: SelectOption) => ReactNode;\n maxCount?: number;\n maxTagCount?: number | 'responsive';\n tagWrap?: boolean;\n allowCreate?: boolean;\n onCreate?: (option: SelectOption) => void;\n virtual?: boolean;\n listHeight?: number;\n optionHeight?: number;\n}\nexport type SelectProps = SelectBaseProps &\n (\n | {\n multiple?: false;\n value?: string;\n defaultValue?: string;\n onChange?: (value: string, option?: SelectOption) => void;\n }\n | {\n multiple: true;\n value?: readonly string[];\n defaultValue?: readonly string[];\n onChange?: (value: string[], options: SelectOption[]) => void;\n }\n );\nconst empty: readonly string[] = [];\nconst searchText = (option: SelectOption) =>\n option.searchLabel ??\n (typeof option.label === 'string' || typeof option.label === 'number'\n ? String(option.label)\n : option.value);\n/** Internal rendering primitive; public Select defaults are resolved at its boundary. */\nexport const SelectControl = forwardRef<HTMLInputElement, SelectProps>(function SelectControl(\n props: SelectProps,\n forwardedRef,\n) {\n const {\n options: suppliedOptions,\n size = 'md',\n status: statusProp,\n placeholder,\n value,\n defaultValue,\n name,\n required: requiredProp,\n allowClear = false,\n form,\n className,\n style,\n disabled: disabledProp,\n id: idProp,\n onOpenChange,\n open: controlledOpen,\n defaultOpen,\n inputReadOnly,\n labelRender,\n tagRender,\n popupRender,\n onPopupScroll,\n onClick,\n onKeyDown,\n onBeforeInput,\n onCompositionStart,\n onPaste,\n onBlur,\n multiple = false,\n showSearch: searchProp = false,\n filterOption = true,\n onSearch,\n popupWidth = 'auto',\n popupMaxWidth = 420,\n popupClassName,\n popupStyle,\n popupPlacement,\n getPopupContainer,\n loading = false,\n notFoundContent,\n optionRender,\n maxCount,\n maxTagCount,\n tagWrap = true,\n allowCreate = false,\n onCreate,\n virtual: virtualProp,\n listHeight = 248,\n optionHeight: optionHeightProp,\n onChange: _onChange,\n ...inputProps\n } = props;\n const format = useFormattedText();\n const showSearch = searchProp || allowCreate;\n const [created, setCreated] = useState<SelectOption[]>([]);\n const baseOptions = useMemo(\n () => suppliedOptions.flatMap((entry) => ('options' in entry ? [...entry.options] : [entry])),\n [suppliedOptions],\n );\n const options = useMemo(\n () => [\n ...baseOptions,\n ...created.filter((entry) => !baseOptions.some((option) => option.value === entry.value)),\n ],\n [baseOptions, created],\n );\n const optionGroups = useMemo(\n () =>\n new Map(\n suppliedOptions.flatMap((entry) =>\n 'options' in entry\n ? entry.options.map((option) => [option.value, entry.label] as const)\n : [],\n ),\n ),\n [suppliedOptions],\n );\n const virtual = virtualProp ?? options.length > 100;\n const { messages, theme, density } = useLeafConfig();\n const optionHeight = optionHeightProp ?? Math.max(24, estimateControlHeight(theme, density) - 4);\n const field = useFormField();\n const disabled = disabledProp || field?.disabled;\n const required = requiredProp ?? field?.required;\n const status = statusProp ?? (field?.error ? 'error' : undefined);\n const root = useRef<HTMLDivElement>(null);\n const input = useRef<HTMLInputElement>(null);\n const panel = useRef<HTMLDivElement>(null);\n const merged = useMergedRef(input, forwardedRef);\n const panelId = `${useId()}-listbox`;\n const [selected, setSelected] = useFieldValue<string | readonly string[]>(\n value,\n defaultValue ?? (multiple ? empty : ''),\n input,\n form,\n );\n const values = typeof selected === 'string' ? (selected ? [selected] : []) : selected;\n useListMotion(root, values[0], multiple ? '' : '.leaf-select__input-wrap[data-motion-key]');\n const atLimit =\n multiple && maxCount !== undefined && values.length >= Math.max(0, Math.floor(maxCount));\n const unavailable = (option: SelectOption) =>\n option.disabled || (atLimit && !values.includes(option.value));\n const selectedCache = useRef(new Map<string, SelectOption>());\n const nextCache = new Map<string, SelectOption>();\n for (const key of values) {\n const record = options.find((option) => option.value === key) ?? selectedCache.current.get(key);\n if (record) nextCache.set(key, record);\n }\n selectedCache.current = nextCache;\n const selectedOptions = values.map((key) => nextCache.get(key) ?? { value: key, label: key });\n // null keeps the selected label in the native input until a search is edited.\n const [query, setQuery] = useState<string | null>(null);\n const searchQuery = query ?? '';\n const [open, setOpen] = usePopupState(\n disabled || inputProps.readOnly,\n onOpenChange,\n controlledOpen,\n defaultOpen,\n );\n const [highlighted, setHighlighted] = useState(-1);\n const matched =\n !searchQuery || !showSearch || filterOption === false\n ? options\n : options.filter((option) =>\n typeof filterOption === 'function'\n ? filterOption(searchQuery, option)\n : searchText(option).toLocaleLowerCase().includes(searchQuery.toLocaleLowerCase()),\n );\n const newValue = searchQuery.trim();\n const createOption =\n allowCreate &&\n newValue &&\n !options.some((option) => option.value === newValue || searchText(option) === newValue)\n ? { value: newValue, label: newValue }\n : null;\n const filtered = createOption ? [...matched, createOption] : matched;\n const rows = useMemo(() => {\n const entries: { key: string; option?: SelectOption; group?: ReactNode; index: number }[] = [];\n let previousGroup: ReactNode;\n filtered.forEach((option, index) => {\n const group = optionGroups.get(option.value);\n if (group !== undefined && group !== previousGroup)\n entries.push({ key: `group-${option.value}`, group, index: -1 });\n entries.push({ key: option.value, option, index });\n previousGroup = group;\n });\n return entries;\n }, [filtered, optionGroups]);\n const virtualizer = useVirtualizer({\n count: rows.length,\n getScrollElement: () => panel.current,\n estimateSize: () => Math.max(24, optionHeight),\n overscan: 5,\n getItemKey: (index) => rows[index]?.key ?? index,\n enabled: open && virtual,\n initialRect: { height: listHeight, width: 240 },\n });\n useEffect(() => {\n if (open && virtual && highlighted >= 0) {\n const index = rows.findIndex((row) => row.index === highlighted);\n if (index >= 0) virtualizer.scrollToIndex(index, { align: 'auto' });\n }\n }, [open, virtual, highlighted, rows, virtualizer]);\n const updateQuery = (next: string) => {\n setQuery(next);\n onSearch?.(next);\n };\n const close = () => {\n setOpen(false);\n setQuery(null);\n if (searchQuery) onSearch?.('');\n };\n useFloatingDismiss(open, close, input, panel, root);\n useActiveOption(open, highlighted >= 0 ? `${panelId}-${highlighted}` : undefined, panel);\n const highlight = useFloatingHighlight(\n open,\n panel,\n highlighted >= 0 ? `${panelId}-${highlighted}` : undefined,\n `${searchQuery}:${filtered[highlighted]?.value}:${rows.length}:${virtualizer.range?.startIndex}:${virtualizer.range?.endIndex}`,\n );\n useEffect(() => {\n if (!open) setQuery(null);\n }, [open]);\n const change = (next: readonly string[]) => {\n if (disabled || inputProps.readOnly) return;\n setSelected(multiple ? next : (next[0] ?? ''));\n if (props.multiple)\n props.onChange?.(\n [...next],\n [\n ...selectedOptions,\n ...options.filter((option) => !values.includes(option.value)),\n ...(createOption ? [createOption] : []),\n ].filter((option) => next.includes(option.value)),\n );\n else\n props.onChange?.(\n next[0] ?? '',\n [...options, ...(createOption ? [createOption] : [])].find(\n (option) => option.value === next[0],\n ),\n );\n };\n const openMenu = () => {\n if (disabled || inputProps.readOnly) return;\n const active = filtered.findIndex(\n (option) => values.includes(option.value) && !unavailable(option),\n );\n setHighlighted(active >= 0 ? active : filtered.findIndex((option) => !unavailable(option)));\n setOpen(true);\n };\n const beginSearch = () => {\n if (!showSearch || disabled || inputProps.readOnly || inputReadOnly) return;\n if (!multiple && query === null) input.current?.select();\n if (!open) openMenu();\n };\n const selectOption = (option: SelectOption) => {\n if (unavailable(option) || inputProps.readOnly) return;\n if (createOption && option.value === createOption.value) {\n setCreated((previous) => [...previous, option]);\n onCreate?.(option);\n }\n change(\n multiple\n ? values.includes(option.value)\n ? values.filter((value) => value !== option.value)\n : [...values, option.value]\n : [option.value],\n );\n if (multiple) updateQuery('');\n else close();\n input.current?.focus();\n };\n const move = (direction: number) => {\n if (!filtered.length) return;\n let next = highlighted < 0 ? (direction > 0 ? -1 : filtered.length) : highlighted;\n for (let i = 0; i < filtered.length; i++) {\n next = (next + direction + filtered.length) % filtered.length;\n const candidate = filtered[next];\n if (candidate && !unavailable(candidate)) {\n setHighlighted(next);\n break;\n }\n }\n };\n const renderOption = (option: SelectOption, index: number) => (\n <button\n key={option.value}\n id={`${panelId}-${index}`}\n aria-posinset={index + 1}\n aria-setsize={filtered.length}\n type=\"button\"\n role=\"option\"\n aria-selected={values.includes(option.value)}\n aria-disabled={option.disabled || (atLimit && !values.includes(option.value)) || undefined}\n data-highlighted={highlighted === index || undefined}\n className=\"leaf-floating__option\"\n disabled={option.disabled || (atLimit && !values.includes(option.value))}\n tabIndex={-1}\n onMouseEnter={() => {\n if (!unavailable(option)) setHighlighted(index);\n }}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => selectOption(option)}\n >\n <span className=\"leaf-floating__option-label\">\n {createOption?.value === option.value ? (\n <>\n <Plus size={14} aria-hidden=\"true\" />{' '}\n {format('select.create', {\n label: typeof option.label === 'string' ? option.label : option.value,\n })}\n </>\n ) : optionRender ? (\n optionRender(option)\n ) : (\n option.label\n )}\n </span>\n <Check size={15} aria-hidden=\"true\" className=\"leaf-select__check\" />\n </button>\n );\n const displayLabel = selectedOptions[0]\n ? (labelRender?.(selectedOptions[0]) ?? selectedOptions[0].label)\n : undefined;\n const textLabel =\n typeof displayLabel === 'string' || typeof displayLabel === 'number'\n ? String(displayLabel)\n : '';\n const inputValue = multiple ? searchQuery : showSearch && open ? (query ?? textLabel) : textLabel;\n const clearable = allowClear && values.length > 0 && !disabled && !inputProps.readOnly;\n const listboxProps = {\n id: panelId,\n role: 'listbox' as const,\n 'aria-busy': loading || undefined,\n 'aria-label': inputProps['aria-label'] ?? messages.select.placeholder,\n 'aria-multiselectable': multiple || undefined,\n };\n return (\n // biome-ignore lint/a11y/noStaticElementInteractions: Pointer events on padding forward to the keyboard-accessible combobox input.\n // biome-ignore lint/a11y/useKeyWithClickEvents: The combobox input owns all keyboard interaction; this wrapper only extends its hit area.\n <div\n ref={root}\n className={classes(\n 'leaf-select',\n `leaf-select--${size}`,\n multiple && 'leaf-select--multiple',\n className,\n )}\n style={style}\n data-status={status}\n data-disabled={disabled ? '' : undefined}\n data-open={open ? '' : undefined}\n data-clearable={clearable ? '' : undefined}\n data-searchable={showSearch ? '' : undefined}\n onMouseDown={(event) => {\n if (\n !disabled &&\n event.target instanceof Element &&\n !event.target.closest('input, button, a')\n )\n event.preventDefault();\n }}\n onClick={(event) => {\n if (\n !disabled &&\n event.target instanceof Element &&\n root.current?.contains(event.target) &&\n !event.target.closest('input, button, a')\n ) {\n input.current?.focus();\n input.current?.click();\n }\n }}\n >\n <SelectionContent\n className=\"leaf-select__content\"\n tagClassName=\"leaf-select__tag\"\n tagWrap={tagWrap}\n maxTagCount={maxTagCount}\n searchable={showSearch && !inputProps.readOnly && !inputReadOnly}\n query={searchQuery}\n removeLabel={messages.common.remove}\n items={\n multiple\n ? selectedOptions.map((option) => {\n const remove = () => {\n if (disabled || inputProps.readOnly || option.disabled) return;\n change(values.filter((item) => item !== option.value));\n input.current?.focus();\n };\n return {\n key: option.value,\n label: option.label,\n text: searchText(option),\n remove:\n !disabled && !inputProps.readOnly && !option.disabled ? remove : undefined,\n render: tagRender?.(option, remove),\n };\n })\n : undefined\n }\n >\n <span className=\"leaf-select__input-wrap\" data-motion-key={values[0] ?? ''}>\n {!multiple &&\n !textLabel &&\n displayLabel != null &&\n (!showSearch || !open || query === null) && (\n <span className=\"leaf-select__value\">{displayLabel}</span>\n )}\n <input\n {...inputProps}\n ref={merged}\n id={idProp ?? field?.id}\n form={form}\n type=\"text\"\n className=\"leaf-select__input\"\n disabled={disabled}\n readOnly={!showSearch || inputProps.readOnly || inputReadOnly}\n value={inputValue}\n placeholder={values.length ? '' : (placeholder ?? messages.select.placeholder)}\n autoComplete=\"off\"\n role=\"combobox\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={panelId}\n aria-autocomplete={showSearch ? 'list' : undefined}\n aria-activedescendant={\n open && filtered[highlighted] ? `${panelId}-${highlighted}` : undefined\n }\n aria-required={required || undefined}\n aria-invalid={status === 'error' ? true : inputProps['aria-invalid']}\n aria-describedby={\n [inputProps['aria-describedby'], field?.descriptionId].filter(Boolean).join(' ') ||\n undefined\n }\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n if (open && !showSearch) close();\n else if (!open) openMenu();\n }\n }}\n onBlur={(event) => {\n onBlur?.(event);\n if (\n !event.defaultPrevented &&\n !root.current?.contains(event.relatedTarget) &&\n !panel.current?.contains(event.relatedTarget)\n )\n close();\n }}\n onChange={(event) => {\n if (!open) openMenu();\n updateQuery(event.target.value);\n setHighlighted(-1);\n }}\n onBeforeInput={(event) => {\n onBeforeInput?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onCompositionStart={(event) => {\n onCompositionStart?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onPaste={(event) => {\n onPaste?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || event.nativeEvent.isComposing) return;\n if (\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey &&\n (event.key.length === 1 || event.key === 'Backspace' || event.key === 'Delete')\n )\n beginSearch();\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n if (!open) openMenu();\n else move(event.key === 'ArrowDown' ? 1 : -1);\n } else if ((event.key === 'Home' || event.key === 'End') && open && !showSearch) {\n event.preventDefault();\n const candidates = filtered\n .map((option, index) => ({ option, index }))\n .filter(({ option }) => !unavailable(option));\n setHighlighted(\n (event.key === 'Home' ? candidates[0] : candidates.at(-1))?.index ?? -1,\n );\n } else if (event.key === 'Enter' || (event.key === ' ' && !showSearch)) {\n event.preventDefault();\n if (!open) openMenu();\n else {\n const option =\n filtered[highlighted] ?? filtered.find((option) => !unavailable(option));\n if (option) selectOption(option);\n }\n } else if (event.key === 'Escape' && open) {\n event.preventDefault();\n event.stopPropagation();\n close();\n } else if (event.key === 'Tab' && open) close();\n else if (\n event.key === 'Backspace' &&\n multiple &&\n !searchQuery &&\n !inputProps.readOnly\n ) {\n const last = [...values]\n .reverse()\n .find((value) => !options.find((option) => option.value === value)?.disabled);\n if (last) {\n event.preventDefault();\n change(values.filter((value) => value !== last));\n }\n }\n }}\n />\n </span>\n </SelectionContent>\n <button\n type=\"button\"\n className=\"leaf-select__arrow\"\n tabIndex={-1}\n disabled={disabled}\n aria-label={messages.select.placeholder}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (open) close();\n else openMenu();\n input.current?.focus();\n }}\n >\n {loading ? (\n <LoaderCircle className=\"leaf-select__spinner\" size={16} aria-hidden=\"true\" />\n ) : (\n <ChevronDown size={16} aria-hidden=\"true\" />\n )}\n </button>\n {clearable && (\n <ClearButton\n label={messages.select.clear}\n beforeArrow\n onClear={() => {\n change(empty);\n close();\n input.current?.focus();\n }}\n />\n )}\n <FormValue\n name={multiple ? undefined : name}\n form={form}\n value={multiple ? values.join(',') : (values[0] ?? '')}\n disabled={disabled}\n required={required}\n triggerRef={input}\n />\n {multiple &&\n values.map((value) => (\n <input\n key={value}\n type=\"hidden\"\n name={name}\n form={form}\n value={value}\n disabled={disabled}\n />\n ))}\n <FloatingPanel\n open={open}\n placement={popupPlacement}\n container={getPopupContainer}\n triggerRef={root}\n panelRef={panel}\n matchWidth={popupWidth === 'trigger'}\n width={\n popupWidth === 'trigger' ? undefined : popupWidth === 'auto' ? 'max-content' : popupWidth\n }\n minWidth={popupWidth === 'auto' ? 'trigger' : undefined}\n maxWidth={popupMaxWidth}\n {...(filtered.length ? listboxProps : {})}\n className={classes('leaf-floating', 'leaf-select__panel', popupClassName)}\n data-hover-motion=\"\"\n style={{ maxHeight: listHeight, ...popupStyle }}\n onScroll={onPopupScroll}\n >\n {/* Feedback is announced beside an empty listbox, never as a selectable option. */}\n {!filtered.length && <div {...listboxProps} />}\n <FloatingHighlight\n style={highlight}\n selected={values.includes(filtered[highlighted]?.value ?? '')}\n />\n {(popupRender ?? ((content: ReactNode) => content))(\n loading && !filtered.length ? (\n <FloatingFeedback loading>{messages.common.loading}</FloatingFeedback>\n ) : filtered.length ? (\n virtual ? (\n <div\n style={{\n height: virtualizer.getTotalSize(),\n position: 'relative',\n minWidth: '100%',\n }}\n >\n {virtualizer.getVirtualItems().map((item) => {\n const row = rows[item.index];\n if (!row) return null;\n return (\n <div\n key={row.key}\n ref={virtualizer.measureElement}\n data-index={item.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${item.start}px)`,\n }}\n >\n {row.option ? (\n renderOption(row.option, row.index)\n ) : (\n <div className=\"leaf-select__group\">{row.group}</div>\n )}\n </div>\n );\n })}\n </div>\n ) : (\n rows.map((row) =>\n row.option ? (\n renderOption(row.option, row.index)\n ) : (\n <div key={row.key} className=\"leaf-select__group\">\n {row.group}\n </div>\n ),\n )\n )\n ) : (\n <FloatingFeedback>{notFoundContent ?? messages.select.empty}</FloatingFeedback>\n ),\n )}\n </FloatingPanel>\n </div>\n );\n});\nSelectControl.displayName = 'SelectControl';\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>(function Select(rawProps, ref) {\n const props = useComponentProps('Select', rawProps);\n return <SelectControl {...props} ref={ref} />;\n});\nSelect.displayName = 'Select';\n"],"names":["empty","searchText","option","String","SelectControl","forwardRef","props","forwardedRef","suppliedOptions","size","statusProp","placeholder","value","defaultValue","name","requiredProp","allowClear","form","className","style","disabledProp","idProp","onOpenChange","controlledOpen","defaultOpen","inputReadOnly","labelRender","tagRender","popupRender","onPopupScroll","onClick","onKeyDown","onBeforeInput","onCompositionStart","onPaste","onBlur","multiple","searchProp","filterOption","onSearch","popupWidth","popupMaxWidth","popupClassName","popupStyle","popupPlacement","getPopupContainer","loading","notFoundContent","optionRender","maxCount","maxTagCount","tagWrap","allowCreate","onCreate","virtualProp","listHeight","optionHeightProp","_onChange","inputProps","format","useFormattedText","showSearch","created","setCreated","useState","baseOptions","useMemo","entry","options","optionGroups","Map","virtual","messages","theme","density","useLeafConfig","optionHeight","Math","estimateControlHeight","field","useFormField","disabled","required","status","undefined","root","useRef","input","panel","merged","useMergedRef","panelId","useId","selected","setSelected","useFieldValue","values","useListMotion","atLimit","unavailable","selectedCache","nextCache","key","record","selectedOptions","query","setQuery","searchQuery","open","setOpen","usePopupState","highlighted","setHighlighted","matched","newValue","createOption","filtered","rows","entries","previousGroup","index","group","virtualizer","useVirtualizer","useEffect","row","updateQuery","next","close","useFloatingDismiss","useActiveOption","highlight","useFloatingHighlight","change","openMenu","active","beginSearch","selectOption","previous","move","direction","i","candidate","renderOption","event","Plus","Check","displayLabel","textLabel","inputValue","clearable","listboxProps","classes","Element","SelectionContent","remove","item","Boolean","candidates","last","LoaderCircle","ChevronDown","ClearButton","FormValue","FloatingPanel","FloatingHighlight","content","FloatingFeedback","Select","rawProps","ref","useComponentProps"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import '../../../styles/foundation.css';
|
|
2
3
|
import '../../../styles/components/shared-calendar.css';
|
|
3
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
5
|
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
@@ -196,7 +197,7 @@ function CalendarPanel({ value, values, onChange, picker = 'date', minDate, maxD
|
|
|
196
197
|
/*#__PURE__*/ jsx("button", {
|
|
197
198
|
type: "button",
|
|
198
199
|
className: "leaf-date-picker__nav",
|
|
199
|
-
"aria-label": 'date' === view ? messages.previousMonth : 'month' === view ? messages.previousYear : messages.previousYears,
|
|
200
|
+
"aria-label": 'date' === view ? messages.calendar.previousMonth : 'month' === view ? messages.calendar.previousYear : messages.calendar.previousYears,
|
|
200
201
|
onClick: ()=>navigate(-1),
|
|
201
202
|
children: /*#__PURE__*/ jsx(ChevronLeft, {
|
|
202
203
|
size: 16,
|
|
@@ -210,7 +211,7 @@ function CalendarPanel({ value, values, onChange, picker = 'date', minDate, maxD
|
|
|
210
211
|
'date' === view && /*#__PURE__*/ jsx("button", {
|
|
211
212
|
type: "button",
|
|
212
213
|
className: "leaf-calendar__heading",
|
|
213
|
-
"aria-label": messages.month,
|
|
214
|
+
"aria-label": messages.calendar.month,
|
|
214
215
|
onClick: ()=>setView('month'),
|
|
215
216
|
children: new Intl.DateTimeFormat(locale, {
|
|
216
217
|
month: 'short'
|
|
@@ -219,7 +220,7 @@ function CalendarPanel({ value, values, onChange, picker = 'date', minDate, maxD
|
|
|
219
220
|
/*#__PURE__*/ jsx("button", {
|
|
220
221
|
type: "button",
|
|
221
222
|
className: "leaf-calendar__heading",
|
|
222
|
-
"aria-label": 'year' === view ? void 0 : messages.year,
|
|
223
|
+
"aria-label": 'year' === view ? void 0 : messages.calendar.year,
|
|
223
224
|
disabled: 'year' === view,
|
|
224
225
|
onClick: ()=>setView('year'),
|
|
225
226
|
children: 'year' === view ? `${decade} – ${decade + 11}` : visible.getFullYear()
|
|
@@ -229,7 +230,7 @@ function CalendarPanel({ value, values, onChange, picker = 'date', minDate, maxD
|
|
|
229
230
|
/*#__PURE__*/ jsx("button", {
|
|
230
231
|
type: "button",
|
|
231
232
|
className: "leaf-date-picker__nav",
|
|
232
|
-
"aria-label": 'date' === view ? messages.nextMonth : 'month' === view ? messages.nextYear : messages.nextYears,
|
|
233
|
+
"aria-label": 'date' === view ? messages.calendar.nextMonth : 'month' === view ? messages.calendar.nextYear : messages.calendar.nextYears,
|
|
233
234
|
onClick: ()=>navigate(1),
|
|
234
235
|
children: /*#__PURE__*/ jsx(ChevronRight, {
|
|
235
236
|
size: 16,
|
|
@@ -244,7 +245,7 @@ function CalendarPanel({ value, values, onChange, picker = 'date', minDate, maxD
|
|
|
244
245
|
setVisible(today);
|
|
245
246
|
setActive(today);
|
|
246
247
|
},
|
|
247
|
-
children: messages.today
|
|
248
|
+
children: messages.calendar.today
|
|
248
249
|
}),
|
|
249
250
|
null != headerExtra && /*#__PURE__*/ jsx("span", {
|
|
250
251
|
className: "leaf-calendar__extra",
|
|
@@ -256,7 +257,7 @@ function CalendarPanel({ value, values, onChange, picker = 'date', minDate, maxD
|
|
|
256
257
|
className: "leaf-calendar__weekdays",
|
|
257
258
|
children: Array.from({
|
|
258
259
|
length: 7
|
|
259
|
-
}, (_, index)=>messages.weekdays[(index + weekStartsOn + 6) % 7] ?? String(index)).map((day)=>/*#__PURE__*/ jsx("span", {
|
|
260
|
+
}, (_, index)=>messages.calendar.weekdays[(index + weekStartsOn + 6) % 7] ?? String(index)).map((day)=>/*#__PURE__*/ jsx("span", {
|
|
260
261
|
children: day
|
|
261
262
|
}, day))
|
|
262
263
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared/calendar.js","sources":["../../../../../src/shared/calendar.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { type KeyboardEvent, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { useLeafConfig } from '../config-provider/context';\nimport { classes } from './classes';\nimport { calendarDays, dateKey, formatMonthLabel, sameDate, shiftMonth } from './date';\nimport { useContentTransition } from './presence';\n\nexport type CalendarMode = 'year' | 'quarter' | 'month' | 'week' | 'date' | 'datetime';\nexport function startOfPeriod(date: Date, mode: CalendarMode) {\n const next = new Date(date);\n next.setMilliseconds(0);\n if (mode !== 'datetime') next.setHours(0, 0, 0, 0);\n if (mode === 'year') next.setMonth(0, 1);\n if (mode === 'month') next.setDate(1);\n if (mode === 'quarter') next.setMonth(Math.floor(next.getMonth() / 3) * 3, 1);\n if (mode === 'week') next.setDate(next.getDate() - ((next.getDay() + 6) % 7));\n return next;\n}\nexport function dateTimeKey(date: Date, showSeconds = true) {\n return (\n dateKey(date) +\n ' ' +\n [date.getHours(), date.getMinutes(), ...(showSeconds ? [date.getSeconds()] : [])]\n .map((n) => String(n).padStart(2, '0'))\n .join(':')\n );\n}\nexport function periodKey(date: Date, mode: CalendarMode) {\n if (mode === 'year') return String(date.getFullYear());\n if (mode === 'month') return dateKey(date).slice(0, 7);\n if (mode === 'quarter') return `${date.getFullYear()}-Q${Math.floor(date.getMonth() / 3) + 1}`;\n if (mode === 'datetime') return dateTimeKey(date);\n if (mode === 'week') {\n const monday = startOfPeriod(date, 'week');\n const thursday = new Date(monday);\n thursday.setDate(monday.getDate() + 3);\n const first = startOfPeriod(new Date(thursday.getFullYear(), 0, 4), 'week');\n const weeks = Math.round(\n (Date.UTC(monday.getFullYear(), monday.getMonth(), monday.getDate()) -\n Date.UTC(first.getFullYear(), first.getMonth(), first.getDate())) /\n 604800000,\n );\n return `${thursday.getFullYear()}-W${String(weeks + 1).padStart(2, '0')}`;\n }\n return dateKey(date);\n}\nexport function withinPeriod(date: Date, mode: CalendarMode, min?: Date, max?: Date) {\n const time = startOfPeriod(date, mode).getTime();\n return (\n Number.isFinite(time) &&\n (!min || time >= startOfPeriod(min, mode).getTime()) &&\n (!max || time <= startOfPeriod(max, mode).getTime())\n );\n}\nexport function shiftCalendar(date: Date, mode: CalendarMode, amount: number) {\n if (mode === 'year') return new Date(date.getFullYear() + amount * 12, 0, 1);\n if (mode === 'month' || mode === 'quarter') return new Date(date.getFullYear() + amount, 0, 1);\n return shiftMonth(date, amount);\n}\ninterface CalendarPanelProps {\n value?: Date | null;\n values?: readonly Date[];\n onChange: (date: Date) => void;\n picker?: CalendarMode;\n minDate?: Date;\n maxDate?: Date;\n visibleDate?: Date;\n onVisibleChange?: (date: Date) => void;\n autoFocus?: boolean;\n range?: readonly [Date | null, Date | null];\n hoverDate?: Date | null;\n onHover?: (date: Date) => void;\n headerExtra?: ReactNode;\n showOutsideDays?: boolean;\n disabledDate?: (date: Date) => boolean;\n cellRender?: (date: Date) => ReactNode;\n showToday?: boolean;\n}\nexport function CalendarPanel({\n value,\n values,\n onChange,\n picker = 'date',\n minDate,\n maxDate,\n visibleDate,\n onVisibleChange,\n autoFocus,\n range,\n hoverDate,\n onHover,\n headerExtra,\n showOutsideDays = true,\n disabledDate,\n cellRender,\n showToday = false,\n}: CalendarPanelProps) {\n const { locale, messages, weekStartsOn, direction } = useLeafConfig();\n const initial = value ?? minDate ?? new Date();\n const [view, setView] = useState<'year' | 'quarter' | 'month' | 'date'>(\n picker === 'year' || picker === 'month' || picker === 'quarter' ? picker : 'date',\n );\n useEffect(() => {\n setView(picker === 'year' || picker === 'month' || picker === 'quarter' ? picker : 'date');\n }, [picker]);\n const [internalVisible, setInternalVisible] = useState(initial);\n const visible = visibleDate ?? internalVisible;\n const [active, setActive] = useState(initial);\n const root = useRef<HTMLDivElement>(null);\n const grid = useRef<HTMLFieldSetElement>(null);\n const previousVisible = useRef(visible.getTime());\n const transitionDirection =\n Math.sign(visible.getTime() - previousVisible.current) * (direction === 'rtl' ? -1 : 1);\n const period =\n view === 'year'\n ? Math.floor(visible.getFullYear() / 12)\n : view === 'date'\n ? `${visible.getFullYear()}-${visible.getMonth()}`\n : visible.getFullYear();\n useContentTransition(root, view, 0, true);\n useContentTransition(grid, `${view}:${period}`, transitionDirection);\n useEffect(() => {\n previousVisible.current = visible.getTime();\n }, [visible]);\n const focusRequested = useRef(false);\n const valueTime = value?.getTime();\n const controlledVisible = visibleDate !== undefined;\n useEffect(() => {\n if (valueTime !== undefined) {\n const next = new Date(valueTime);\n setActive(next);\n if (!controlledVisible) setInternalVisible(next);\n }\n }, [valueTime, controlledVisible]);\n useEffect(() => {\n if (autoFocus) focusRequested.current = true;\n }, [autoFocus]);\n // biome-ignore lint/correctness/useExhaustiveDependencies: Only keyboard navigation requests focus, not hover or selection changes.\n useEffect(() => {\n if (focusRequested.current) {\n root.current\n ?.querySelector<HTMLButtonElement>('[data-active=\"true\"]:not(:disabled)')\n ?.focus();\n focusRequested.current = false;\n }\n }, [active, view, visible, autoFocus]);\n const setVisible = (date: Date) => {\n if (onVisibleChange) onVisibleChange(date);\n else setInternalVisible(date);\n };\n const decade = Math.floor(visible.getFullYear() / 12) * 12;\n const cells =\n view === 'year'\n ? Array.from({ length: 12 }, (_, i) => new Date(decade + i, 0, 1))\n : view === 'quarter'\n ? Array.from({ length: 4 }, (_, i) => new Date(visible.getFullYear(), i * 3, 1))\n : view === 'month'\n ? Array.from({ length: 12 }, (_, i) => new Date(visible.getFullYear(), i, 1))\n : calendarDays(visible, weekStartsOn);\n const cellMode = view === 'date' ? (picker === 'datetime' ? 'date' : picker) : view;\n const selecting =\n view === picker || (view === 'date' && (picker === 'week' || picker === 'datetime'));\n const focusableCells = cells.filter(\n (date) =>\n (showOutsideDays || view !== 'date' || date.getMonth() === visible.getMonth()) &&\n withinPeriod(date, cellMode, minDate, maxDate) &&\n !(selecting && disabledDate?.(date)),\n );\n const activeCell =\n focusableCells.find((date) =>\n view === 'date'\n ? sameDate(date, active)\n : startOfPeriod(date, cellMode).getTime() === startOfPeriod(active, cellMode).getTime(),\n ) ?? focusableCells[0];\n const samePeriod = (date: Date, candidate?: Date | null) =>\n Boolean(\n candidate &&\n startOfPeriod(date, cellMode).getTime() === startOfPeriod(candidate, cellMode).getTime(),\n );\n const choose = (date: Date) => {\n if (view === 'year' && picker !== 'year') {\n setVisible(date);\n setActive(date);\n setView(picker === 'quarter' ? 'quarter' : 'month');\n focusRequested.current = true;\n } else if (view === 'month' && picker !== 'month') {\n setVisible(date);\n setActive(date);\n setView('date');\n focusRequested.current = true;\n } else onChange(startOfPeriod(date, picker === 'datetime' ? 'date' : picker));\n };\n const move = (date: Date, event: KeyboardEvent<HTMLButtonElement>) => {\n const next = new Date(date);\n const delta =\n event.key === (direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft')\n ? -1\n : event.key === (direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight')\n ? 1\n : event.key === 'ArrowUp'\n ? view === 'date'\n ? -7\n : -3\n : event.key === 'ArrowDown'\n ? view === 'date'\n ? 7\n : 3\n : 0;\n if (delta) {\n if (view === 'date') next.setDate(next.getDate() + delta);\n else if (view === 'month') next.setMonth(next.getMonth() + delta);\n else if (view === 'quarter') next.setMonth(next.getMonth() + delta * 3);\n else next.setFullYear(next.getFullYear() + delta);\n } else if (event.key === 'Home' || event.key === 'End') {\n if (view === 'date')\n next.setDate(\n next.getDate() +\n (event.key === 'Home'\n ? -((next.getDay() - weekStartsOn + 7) % 7)\n : 6 - ((next.getDay() - weekStartsOn + 7) % 7)),\n );\n else\n next.setTime((event.key === 'Home' ? cells[0] : cells.at(-1))?.getTime() ?? next.getTime());\n } else if (event.key === 'PageUp' || event.key === 'PageDown') {\n const sign = event.key === 'PageUp' ? -1 : 1;\n if (view === 'date') {\n const month = shiftMonth(next, sign);\n next.setTime(\n new Date(\n month.getFullYear(),\n month.getMonth(),\n Math.min(\n next.getDate(),\n new Date(month.getFullYear(), month.getMonth() + 1, 0).getDate(),\n ),\n ).getTime(),\n );\n } else next.setFullYear(next.getFullYear() + sign * (view === 'year' ? 12 : 1));\n } else return;\n event.preventDefault();\n if (minDate && next < startOfPeriod(minDate, cellMode))\n next.setTime(startOfPeriod(minDate, cellMode).getTime());\n if (maxDate && next > startOfPeriod(maxDate, cellMode))\n next.setTime(startOfPeriod(maxDate, cellMode).getTime());\n if (selecting && disabledDate?.(next)) {\n const step = delta || (event.key === 'End' || event.key === 'PageDown' ? 1 : -1);\n let attempts = 0;\n while (disabledDate(next) && attempts < 366) {\n if (view === 'date') next.setDate(next.getDate() + step);\n else if (view === 'month') next.setMonth(next.getMonth() + step);\n else if (view === 'quarter') next.setMonth(next.getMonth() + step * 3);\n else next.setFullYear(next.getFullYear() + step);\n if (!withinPeriod(next, cellMode, minDate, maxDate)) return;\n attempts += 1;\n }\n if (disabledDate(next)) return;\n }\n setVisible(next);\n setActive(next);\n focusRequested.current = true;\n onHover?.(next);\n };\n const navigate = (direction: number) => {\n const next =\n view === 'date'\n ? shiftMonth(visible, direction)\n : new Date(\n visible.getFullYear() + direction * (view === 'year' ? 12 : 1),\n visible.getMonth(),\n 1,\n );\n const nextActive = new Date(next);\n if (view === 'date')\n nextActive.setDate(\n Math.min(active.getDate(), new Date(next.getFullYear(), next.getMonth() + 1, 0).getDate()),\n );\n setVisible(next);\n setActive(nextActive);\n };\n const periodNames = [range?.[0], range?.[1] ?? (range?.[0] ? hoverDate : null)] as const;\n const times = periodNames\n .filter((date): date is Date => Boolean(date))\n .map((date) => startOfPeriod(date, cellMode).getTime());\n const start = times.length === 2 ? Math.min(...times) : undefined;\n const end = times.length === 2 ? Math.max(...times) : undefined;\n return (\n <div\n ref={root}\n data-view={view}\n className={classes('leaf-calendar', range && 'leaf-calendar--range')}\n >\n <div className=\"leaf-date-picker__header\">\n <button\n type=\"button\"\n className=\"leaf-date-picker__nav\"\n aria-label={\n view === 'date'\n ? messages.previousMonth\n : view === 'month'\n ? messages.previousYear\n : messages.previousYears\n }\n onClick={() => navigate(-1)}\n >\n <ChevronLeft size={16} aria-hidden=\"true\" />\n </button>\n <div className=\"leaf-calendar__headings\" aria-live=\"polite\">\n {view === 'date' && (\n <button\n type=\"button\"\n className=\"leaf-calendar__heading\"\n aria-label={messages.month}\n onClick={() => setView('month')}\n >\n {new Intl.DateTimeFormat(locale, { month: 'short' }).format(visible)}\n </button>\n )}\n <button\n type=\"button\"\n className=\"leaf-calendar__heading\"\n aria-label={view === 'year' ? undefined : messages.year}\n disabled={view === 'year'}\n onClick={() => setView('year')}\n >\n {view === 'year' ? `${decade} – ${decade + 11}` : visible.getFullYear()}\n </button>\n </div>\n <button\n type=\"button\"\n className=\"leaf-date-picker__nav\"\n aria-label={\n view === 'date'\n ? messages.nextMonth\n : view === 'month'\n ? messages.nextYear\n : messages.nextYears\n }\n onClick={() => navigate(1)}\n >\n <ChevronRight size={16} aria-hidden=\"true\" />\n </button>\n {showToday && (\n <button\n type=\"button\"\n className=\"leaf-calendar__today\"\n onClick={() => {\n const today = new Date();\n setVisible(today);\n setActive(today);\n }}\n >\n {messages.today}\n </button>\n )}\n {headerExtra != null && <span className=\"leaf-calendar__extra\">{headerExtra}</span>}\n </div>\n {view === 'date' && (\n <div className=\"leaf-calendar__weekdays\">\n {Array.from(\n { length: 7 },\n (_, index) => messages.weekdays[(index + weekStartsOn + 6) % 7] ?? String(index),\n ).map((day) => (\n <span key={day}>{day}</span>\n ))}\n </div>\n )}\n <fieldset\n ref={grid}\n className={classes(\n 'leaf-calendar__cells',\n view !== 'date' && 'leaf-calendar__cells--coarse',\n )}\n aria-label={\n view === 'date' ? formatMonthLabel(visible, locale) : String(visible.getFullYear())\n }\n >\n {cells.map((date) => {\n const outside = view === 'date' && date.getMonth() !== visible.getMonth();\n if (outside && !showOutsideDays)\n return <span key={dateKey(date)} className=\"leaf-calendar__cell\" />;\n const time = startOfPeriod(date, cellMode).getTime();\n const checked = range\n ? range.some((endpoint) => samePeriod(date, endpoint))\n : values\n ? values.some((value) => samePeriod(date, value))\n : samePeriod(date, value);\n const hovered = Boolean(range?.[0] && !range[1] && samePeriod(date, hoverDate));\n const isActive = Boolean(\n activeCell &&\n (view === 'date' ? sameDate(date, activeCell) : samePeriod(date, activeCell)),\n );\n const between = start !== undefined && end !== undefined && time >= start && time <= end;\n return (\n <span\n key={dateKey(date)}\n className={classes(\n 'leaf-calendar__cell',\n between && start !== end && 'leaf-calendar__cell--range',\n between && time === start && 'leaf-calendar__cell--start',\n between && time === end && 'leaf-calendar__cell--end',\n )}\n >\n <button\n type=\"button\"\n data-active={isActive}\n data-day={dateKey(date)}\n data-range-hover={hovered || undefined}\n tabIndex={isActive ? 0 : -1}\n aria-label={\n view === 'date'\n ? dateKey(date)\n : view === 'month'\n ? dateKey(date).slice(0, 7)\n : view === 'quarter'\n ? periodKey(date, 'quarter')\n : String(date.getFullYear())\n }\n aria-pressed={checked}\n aria-current={sameDate(date, new Date()) ? 'date' : undefined}\n disabled={\n !withinPeriod(date, cellMode, minDate, maxDate) ||\n Boolean(selecting && disabledDate?.(date))\n }\n className={classes(\n 'leaf-date-picker__day',\n outside && 'leaf-date-picker__day--outside',\n (checked || hovered) && 'leaf-date-picker__day--selected',\n )}\n onMouseEnter={() => {\n if (\n withinPeriod(date, cellMode, minDate, maxDate) &&\n !(selecting && disabledDate?.(date))\n )\n onHover?.(date);\n }}\n onClick={() => choose(date)}\n onKeyDown={(event) => move(date, event)}\n >\n <span className=\"leaf-calendar__cell-label\">\n {view === 'date'\n ? date.getDate()\n : view === 'month'\n ? new Intl.DateTimeFormat(locale, { month: 'short' }).format(date)\n : view === 'quarter'\n ? `Q${Math.floor(date.getMonth() / 3) + 1}`\n : date.getFullYear()}\n </span>\n {cellRender && selecting && (\n <span className=\"leaf-calendar__cell-content\">{cellRender(date)}</span>\n )}\n </button>\n </span>\n );\n })}\n </fieldset>\n </div>\n );\n}\n"],"names":["startOfPeriod","date","mode","next","Date","Math","dateTimeKey","showSeconds","dateKey","n","String","periodKey","monday","thursday","first","weeks","withinPeriod","min","max","time","Number","shiftCalendar","amount","shiftMonth","CalendarPanel","value","values","onChange","picker","minDate","maxDate","visibleDate","onVisibleChange","autoFocus","range","hoverDate","onHover","headerExtra","showOutsideDays","disabledDate","cellRender","showToday","locale","messages","weekStartsOn","direction","useLeafConfig","initial","view","setView","useState","useEffect","internalVisible","setInternalVisible","visible","active","setActive","root","useRef","grid","previousVisible","transitionDirection","period","useContentTransition","focusRequested","valueTime","controlledVisible","undefined","setVisible","decade","cells","Array","_","i","calendarDays","cellMode","selecting","focusableCells","activeCell","sameDate","samePeriod","candidate","Boolean","choose","move","event","delta","sign","month","step","attempts","navigate","nextActive","periodNames","times","start","end","classes","ChevronLeft","Intl","ChevronRight","today","index","day","formatMonthLabel","outside","checked","endpoint","hovered","isActive","between"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared/calendar.js","sources":["../../../../../src/shared/calendar.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { type KeyboardEvent, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { useLeafConfig } from '../config-provider/context';\nimport { classes } from './classes';\nimport { calendarDays, dateKey, formatMonthLabel, sameDate, shiftMonth } from './date';\nimport { useContentTransition } from './presence';\n\nexport type CalendarMode = 'year' | 'quarter' | 'month' | 'week' | 'date' | 'datetime';\nexport function startOfPeriod(date: Date, mode: CalendarMode) {\n const next = new Date(date);\n next.setMilliseconds(0);\n if (mode !== 'datetime') next.setHours(0, 0, 0, 0);\n if (mode === 'year') next.setMonth(0, 1);\n if (mode === 'month') next.setDate(1);\n if (mode === 'quarter') next.setMonth(Math.floor(next.getMonth() / 3) * 3, 1);\n if (mode === 'week') next.setDate(next.getDate() - ((next.getDay() + 6) % 7));\n return next;\n}\nexport function dateTimeKey(date: Date, showSeconds = true) {\n return (\n dateKey(date) +\n ' ' +\n [date.getHours(), date.getMinutes(), ...(showSeconds ? [date.getSeconds()] : [])]\n .map((n) => String(n).padStart(2, '0'))\n .join(':')\n );\n}\nexport function periodKey(date: Date, mode: CalendarMode) {\n if (mode === 'year') return String(date.getFullYear());\n if (mode === 'month') return dateKey(date).slice(0, 7);\n if (mode === 'quarter') return `${date.getFullYear()}-Q${Math.floor(date.getMonth() / 3) + 1}`;\n if (mode === 'datetime') return dateTimeKey(date);\n if (mode === 'week') {\n const monday = startOfPeriod(date, 'week');\n const thursday = new Date(monday);\n thursday.setDate(monday.getDate() + 3);\n const first = startOfPeriod(new Date(thursday.getFullYear(), 0, 4), 'week');\n const weeks = Math.round(\n (Date.UTC(monday.getFullYear(), monday.getMonth(), monday.getDate()) -\n Date.UTC(first.getFullYear(), first.getMonth(), first.getDate())) /\n 604800000,\n );\n return `${thursday.getFullYear()}-W${String(weeks + 1).padStart(2, '0')}`;\n }\n return dateKey(date);\n}\nexport function withinPeriod(date: Date, mode: CalendarMode, min?: Date, max?: Date) {\n const time = startOfPeriod(date, mode).getTime();\n return (\n Number.isFinite(time) &&\n (!min || time >= startOfPeriod(min, mode).getTime()) &&\n (!max || time <= startOfPeriod(max, mode).getTime())\n );\n}\nexport function shiftCalendar(date: Date, mode: CalendarMode, amount: number) {\n if (mode === 'year') return new Date(date.getFullYear() + amount * 12, 0, 1);\n if (mode === 'month' || mode === 'quarter') return new Date(date.getFullYear() + amount, 0, 1);\n return shiftMonth(date, amount);\n}\ninterface CalendarPanelProps {\n value?: Date | null;\n values?: readonly Date[];\n onChange: (date: Date) => void;\n picker?: CalendarMode;\n minDate?: Date;\n maxDate?: Date;\n visibleDate?: Date;\n onVisibleChange?: (date: Date) => void;\n autoFocus?: boolean;\n range?: readonly [Date | null, Date | null];\n hoverDate?: Date | null;\n onHover?: (date: Date) => void;\n headerExtra?: ReactNode;\n showOutsideDays?: boolean;\n disabledDate?: (date: Date) => boolean;\n cellRender?: (date: Date) => ReactNode;\n showToday?: boolean;\n}\nexport function CalendarPanel({\n value,\n values,\n onChange,\n picker = 'date',\n minDate,\n maxDate,\n visibleDate,\n onVisibleChange,\n autoFocus,\n range,\n hoverDate,\n onHover,\n headerExtra,\n showOutsideDays = true,\n disabledDate,\n cellRender,\n showToday = false,\n}: CalendarPanelProps) {\n const { locale, messages, weekStartsOn, direction } = useLeafConfig();\n const initial = value ?? minDate ?? new Date();\n const [view, setView] = useState<'year' | 'quarter' | 'month' | 'date'>(\n picker === 'year' || picker === 'month' || picker === 'quarter' ? picker : 'date',\n );\n useEffect(() => {\n setView(picker === 'year' || picker === 'month' || picker === 'quarter' ? picker : 'date');\n }, [picker]);\n const [internalVisible, setInternalVisible] = useState(initial);\n const visible = visibleDate ?? internalVisible;\n const [active, setActive] = useState(initial);\n const root = useRef<HTMLDivElement>(null);\n const grid = useRef<HTMLFieldSetElement>(null);\n const previousVisible = useRef(visible.getTime());\n const transitionDirection =\n Math.sign(visible.getTime() - previousVisible.current) * (direction === 'rtl' ? -1 : 1);\n const period =\n view === 'year'\n ? Math.floor(visible.getFullYear() / 12)\n : view === 'date'\n ? `${visible.getFullYear()}-${visible.getMonth()}`\n : visible.getFullYear();\n useContentTransition(root, view, 0, true);\n useContentTransition(grid, `${view}:${period}`, transitionDirection);\n useEffect(() => {\n previousVisible.current = visible.getTime();\n }, [visible]);\n const focusRequested = useRef(false);\n const valueTime = value?.getTime();\n const controlledVisible = visibleDate !== undefined;\n useEffect(() => {\n if (valueTime !== undefined) {\n const next = new Date(valueTime);\n setActive(next);\n if (!controlledVisible) setInternalVisible(next);\n }\n }, [valueTime, controlledVisible]);\n useEffect(() => {\n if (autoFocus) focusRequested.current = true;\n }, [autoFocus]);\n // biome-ignore lint/correctness/useExhaustiveDependencies: Only keyboard navigation requests focus, not hover or selection changes.\n useEffect(() => {\n if (focusRequested.current) {\n root.current\n ?.querySelector<HTMLButtonElement>('[data-active=\"true\"]:not(:disabled)')\n ?.focus();\n focusRequested.current = false;\n }\n }, [active, view, visible, autoFocus]);\n const setVisible = (date: Date) => {\n if (onVisibleChange) onVisibleChange(date);\n else setInternalVisible(date);\n };\n const decade = Math.floor(visible.getFullYear() / 12) * 12;\n const cells =\n view === 'year'\n ? Array.from({ length: 12 }, (_, i) => new Date(decade + i, 0, 1))\n : view === 'quarter'\n ? Array.from({ length: 4 }, (_, i) => new Date(visible.getFullYear(), i * 3, 1))\n : view === 'month'\n ? Array.from({ length: 12 }, (_, i) => new Date(visible.getFullYear(), i, 1))\n : calendarDays(visible, weekStartsOn);\n const cellMode = view === 'date' ? (picker === 'datetime' ? 'date' : picker) : view;\n const selecting =\n view === picker || (view === 'date' && (picker === 'week' || picker === 'datetime'));\n const focusableCells = cells.filter(\n (date) =>\n (showOutsideDays || view !== 'date' || date.getMonth() === visible.getMonth()) &&\n withinPeriod(date, cellMode, minDate, maxDate) &&\n !(selecting && disabledDate?.(date)),\n );\n const activeCell =\n focusableCells.find((date) =>\n view === 'date'\n ? sameDate(date, active)\n : startOfPeriod(date, cellMode).getTime() === startOfPeriod(active, cellMode).getTime(),\n ) ?? focusableCells[0];\n const samePeriod = (date: Date, candidate?: Date | null) =>\n Boolean(\n candidate &&\n startOfPeriod(date, cellMode).getTime() === startOfPeriod(candidate, cellMode).getTime(),\n );\n const choose = (date: Date) => {\n if (view === 'year' && picker !== 'year') {\n setVisible(date);\n setActive(date);\n setView(picker === 'quarter' ? 'quarter' : 'month');\n focusRequested.current = true;\n } else if (view === 'month' && picker !== 'month') {\n setVisible(date);\n setActive(date);\n setView('date');\n focusRequested.current = true;\n } else onChange(startOfPeriod(date, picker === 'datetime' ? 'date' : picker));\n };\n const move = (date: Date, event: KeyboardEvent<HTMLButtonElement>) => {\n const next = new Date(date);\n const delta =\n event.key === (direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft')\n ? -1\n : event.key === (direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight')\n ? 1\n : event.key === 'ArrowUp'\n ? view === 'date'\n ? -7\n : -3\n : event.key === 'ArrowDown'\n ? view === 'date'\n ? 7\n : 3\n : 0;\n if (delta) {\n if (view === 'date') next.setDate(next.getDate() + delta);\n else if (view === 'month') next.setMonth(next.getMonth() + delta);\n else if (view === 'quarter') next.setMonth(next.getMonth() + delta * 3);\n else next.setFullYear(next.getFullYear() + delta);\n } else if (event.key === 'Home' || event.key === 'End') {\n if (view === 'date')\n next.setDate(\n next.getDate() +\n (event.key === 'Home'\n ? -((next.getDay() - weekStartsOn + 7) % 7)\n : 6 - ((next.getDay() - weekStartsOn + 7) % 7)),\n );\n else\n next.setTime((event.key === 'Home' ? cells[0] : cells.at(-1))?.getTime() ?? next.getTime());\n } else if (event.key === 'PageUp' || event.key === 'PageDown') {\n const sign = event.key === 'PageUp' ? -1 : 1;\n if (view === 'date') {\n const month = shiftMonth(next, sign);\n next.setTime(\n new Date(\n month.getFullYear(),\n month.getMonth(),\n Math.min(\n next.getDate(),\n new Date(month.getFullYear(), month.getMonth() + 1, 0).getDate(),\n ),\n ).getTime(),\n );\n } else next.setFullYear(next.getFullYear() + sign * (view === 'year' ? 12 : 1));\n } else return;\n event.preventDefault();\n if (minDate && next < startOfPeriod(minDate, cellMode))\n next.setTime(startOfPeriod(minDate, cellMode).getTime());\n if (maxDate && next > startOfPeriod(maxDate, cellMode))\n next.setTime(startOfPeriod(maxDate, cellMode).getTime());\n if (selecting && disabledDate?.(next)) {\n const step = delta || (event.key === 'End' || event.key === 'PageDown' ? 1 : -1);\n let attempts = 0;\n while (disabledDate(next) && attempts < 366) {\n if (view === 'date') next.setDate(next.getDate() + step);\n else if (view === 'month') next.setMonth(next.getMonth() + step);\n else if (view === 'quarter') next.setMonth(next.getMonth() + step * 3);\n else next.setFullYear(next.getFullYear() + step);\n if (!withinPeriod(next, cellMode, minDate, maxDate)) return;\n attempts += 1;\n }\n if (disabledDate(next)) return;\n }\n setVisible(next);\n setActive(next);\n focusRequested.current = true;\n onHover?.(next);\n };\n const navigate = (direction: number) => {\n const next =\n view === 'date'\n ? shiftMonth(visible, direction)\n : new Date(\n visible.getFullYear() + direction * (view === 'year' ? 12 : 1),\n visible.getMonth(),\n 1,\n );\n const nextActive = new Date(next);\n if (view === 'date')\n nextActive.setDate(\n Math.min(active.getDate(), new Date(next.getFullYear(), next.getMonth() + 1, 0).getDate()),\n );\n setVisible(next);\n setActive(nextActive);\n };\n const periodNames = [range?.[0], range?.[1] ?? (range?.[0] ? hoverDate : null)] as const;\n const times = periodNames\n .filter((date): date is Date => Boolean(date))\n .map((date) => startOfPeriod(date, cellMode).getTime());\n const start = times.length === 2 ? Math.min(...times) : undefined;\n const end = times.length === 2 ? Math.max(...times) : undefined;\n return (\n <div\n ref={root}\n data-view={view}\n className={classes('leaf-calendar', range && 'leaf-calendar--range')}\n >\n <div className=\"leaf-date-picker__header\">\n <button\n type=\"button\"\n className=\"leaf-date-picker__nav\"\n aria-label={\n view === 'date'\n ? messages.calendar.previousMonth\n : view === 'month'\n ? messages.calendar.previousYear\n : messages.calendar.previousYears\n }\n onClick={() => navigate(-1)}\n >\n <ChevronLeft size={16} aria-hidden=\"true\" />\n </button>\n <div className=\"leaf-calendar__headings\" aria-live=\"polite\">\n {view === 'date' && (\n <button\n type=\"button\"\n className=\"leaf-calendar__heading\"\n aria-label={messages.calendar.month}\n onClick={() => setView('month')}\n >\n {new Intl.DateTimeFormat(locale, { month: 'short' }).format(visible)}\n </button>\n )}\n <button\n type=\"button\"\n className=\"leaf-calendar__heading\"\n aria-label={view === 'year' ? undefined : messages.calendar.year}\n disabled={view === 'year'}\n onClick={() => setView('year')}\n >\n {view === 'year' ? `${decade} – ${decade + 11}` : visible.getFullYear()}\n </button>\n </div>\n <button\n type=\"button\"\n className=\"leaf-date-picker__nav\"\n aria-label={\n view === 'date'\n ? messages.calendar.nextMonth\n : view === 'month'\n ? messages.calendar.nextYear\n : messages.calendar.nextYears\n }\n onClick={() => navigate(1)}\n >\n <ChevronRight size={16} aria-hidden=\"true\" />\n </button>\n {showToday && (\n <button\n type=\"button\"\n className=\"leaf-calendar__today\"\n onClick={() => {\n const today = new Date();\n setVisible(today);\n setActive(today);\n }}\n >\n {messages.calendar.today}\n </button>\n )}\n {headerExtra != null && <span className=\"leaf-calendar__extra\">{headerExtra}</span>}\n </div>\n {view === 'date' && (\n <div className=\"leaf-calendar__weekdays\">\n {Array.from(\n { length: 7 },\n (_, index) =>\n messages.calendar.weekdays[(index + weekStartsOn + 6) % 7] ?? String(index),\n ).map((day) => (\n <span key={day}>{day}</span>\n ))}\n </div>\n )}\n <fieldset\n ref={grid}\n className={classes(\n 'leaf-calendar__cells',\n view !== 'date' && 'leaf-calendar__cells--coarse',\n )}\n aria-label={\n view === 'date' ? formatMonthLabel(visible, locale) : String(visible.getFullYear())\n }\n >\n {cells.map((date) => {\n const outside = view === 'date' && date.getMonth() !== visible.getMonth();\n if (outside && !showOutsideDays)\n return <span key={dateKey(date)} className=\"leaf-calendar__cell\" />;\n const time = startOfPeriod(date, cellMode).getTime();\n const checked = range\n ? range.some((endpoint) => samePeriod(date, endpoint))\n : values\n ? values.some((value) => samePeriod(date, value))\n : samePeriod(date, value);\n const hovered = Boolean(range?.[0] && !range[1] && samePeriod(date, hoverDate));\n const isActive = Boolean(\n activeCell &&\n (view === 'date' ? sameDate(date, activeCell) : samePeriod(date, activeCell)),\n );\n const between = start !== undefined && end !== undefined && time >= start && time <= end;\n return (\n <span\n key={dateKey(date)}\n className={classes(\n 'leaf-calendar__cell',\n between && start !== end && 'leaf-calendar__cell--range',\n between && time === start && 'leaf-calendar__cell--start',\n between && time === end && 'leaf-calendar__cell--end',\n )}\n >\n <button\n type=\"button\"\n data-active={isActive}\n data-day={dateKey(date)}\n data-range-hover={hovered || undefined}\n tabIndex={isActive ? 0 : -1}\n aria-label={\n view === 'date'\n ? dateKey(date)\n : view === 'month'\n ? dateKey(date).slice(0, 7)\n : view === 'quarter'\n ? periodKey(date, 'quarter')\n : String(date.getFullYear())\n }\n aria-pressed={checked}\n aria-current={sameDate(date, new Date()) ? 'date' : undefined}\n disabled={\n !withinPeriod(date, cellMode, minDate, maxDate) ||\n Boolean(selecting && disabledDate?.(date))\n }\n className={classes(\n 'leaf-date-picker__day',\n outside && 'leaf-date-picker__day--outside',\n (checked || hovered) && 'leaf-date-picker__day--selected',\n )}\n onMouseEnter={() => {\n if (\n withinPeriod(date, cellMode, minDate, maxDate) &&\n !(selecting && disabledDate?.(date))\n )\n onHover?.(date);\n }}\n onClick={() => choose(date)}\n onKeyDown={(event) => move(date, event)}\n >\n <span className=\"leaf-calendar__cell-label\">\n {view === 'date'\n ? date.getDate()\n : view === 'month'\n ? new Intl.DateTimeFormat(locale, { month: 'short' }).format(date)\n : view === 'quarter'\n ? `Q${Math.floor(date.getMonth() / 3) + 1}`\n : date.getFullYear()}\n </span>\n {cellRender && selecting && (\n <span className=\"leaf-calendar__cell-content\">{cellRender(date)}</span>\n )}\n </button>\n </span>\n );\n })}\n </fieldset>\n </div>\n );\n}\n"],"names":["startOfPeriod","date","mode","next","Date","Math","dateTimeKey","showSeconds","dateKey","n","String","periodKey","monday","thursday","first","weeks","withinPeriod","min","max","time","Number","shiftCalendar","amount","shiftMonth","CalendarPanel","value","values","onChange","picker","minDate","maxDate","visibleDate","onVisibleChange","autoFocus","range","hoverDate","onHover","headerExtra","showOutsideDays","disabledDate","cellRender","showToday","locale","messages","weekStartsOn","direction","useLeafConfig","initial","view","setView","useState","useEffect","internalVisible","setInternalVisible","visible","active","setActive","root","useRef","grid","previousVisible","transitionDirection","period","useContentTransition","focusRequested","valueTime","controlledVisible","undefined","setVisible","decade","cells","Array","_","i","calendarDays","cellMode","selecting","focusableCells","activeCell","sameDate","samePeriod","candidate","Boolean","choose","move","event","delta","sign","month","step","attempts","navigate","nextActive","periodNames","times","start","end","classes","ChevronLeft","Intl","ChevronRight","today","index","day","formatMonthLabel","outside","checked","endpoint","hovered","isActive","between"],"mappings":"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"}
|
|
@@ -59,10 +59,10 @@ const date_input_DateInput = /*#__PURE__*/ forwardRef(function({ size = 'md', st
|
|
|
59
59
|
displayValue
|
|
60
60
|
]);
|
|
61
61
|
useEffect(()=>{
|
|
62
|
-
input.current?.setCustomValidity(invalid ? messages.invalid : '');
|
|
62
|
+
input.current?.setCustomValidity(invalid ? messages.form.invalid : '');
|
|
63
63
|
}, [
|
|
64
64
|
invalid,
|
|
65
|
-
messages.invalid
|
|
65
|
+
messages.form.invalid
|
|
66
66
|
]);
|
|
67
67
|
useEffect(()=>{
|
|
68
68
|
if (open && focusPanel) {
|
|
@@ -118,7 +118,7 @@ const date_input_DateInput = /*#__PURE__*/ forwardRef(function({ size = 'md', st
|
|
|
118
118
|
disabled: disabled,
|
|
119
119
|
readOnly: props.readOnly || inputReadOnly,
|
|
120
120
|
value: dirty ? text : displayValue,
|
|
121
|
-
placeholder: placeholder ?? messages.
|
|
121
|
+
placeholder: placeholder ?? messages.datePicker.placeholder,
|
|
122
122
|
role: "combobox",
|
|
123
123
|
"aria-haspopup": "dialog",
|
|
124
124
|
"aria-expanded": open,
|
|
@@ -170,7 +170,7 @@ const date_input_DateInput = /*#__PURE__*/ forwardRef(function({ size = 'md', st
|
|
|
170
170
|
}
|
|
171
171
|
}),
|
|
172
172
|
allowClear && (formValue || text) && !disabled && !props.readOnly && /*#__PURE__*/ jsx(ClearButton, {
|
|
173
|
-
label: clearLabel ?? messages.
|
|
173
|
+
label: clearLabel ?? messages.datePicker.clear,
|
|
174
174
|
onClear: ()=>{
|
|
175
175
|
onClear();
|
|
176
176
|
setText('');
|
|
@@ -184,7 +184,7 @@ const date_input_DateInput = /*#__PURE__*/ forwardRef(function({ size = 'md', st
|
|
|
184
184
|
className: "leaf-date-picker__icon",
|
|
185
185
|
tabIndex: -1,
|
|
186
186
|
disabled: disabled,
|
|
187
|
-
"aria-label": panelLabel ?? messages.
|
|
187
|
+
"aria-label": panelLabel ?? messages.datePicker.label,
|
|
188
188
|
onMouseDown: (event)=>event.preventDefault(),
|
|
189
189
|
onClick: ()=>{
|
|
190
190
|
if (open) close();
|
|
@@ -217,7 +217,7 @@ const date_input_DateInput = /*#__PURE__*/ forwardRef(function({ size = 'md', st
|
|
|
217
217
|
render: popupRender,
|
|
218
218
|
container: getPopupContainer,
|
|
219
219
|
role: "dialog",
|
|
220
|
-
"aria-label": panelLabel ?? messages.
|
|
220
|
+
"aria-label": panelLabel ?? messages.datePicker.label,
|
|
221
221
|
children: renderPanel(finish)
|
|
222
222
|
})
|
|
223
223
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared/date-input.js","sources":["../../../../../src/shared/date-input.tsx"],"sourcesContent":["import { CalendarDays } from 'lucide-react';\nimport {\n forwardRef,\n type InputHTMLAttributes,\n type ReactNode,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { useLeafConfig } from '../config-provider/context';\nimport { useFormField } from '../form/form';\nimport { classes } from './classes';\nimport { ClearButton } from './clear-button';\nimport { FormValue, useMergedRef } from './field';\nimport { FloatingPanel, type PopupOptions, useFloatingDismiss } from './floating';\nimport type { ControlSize, ControlStatus } from './types';\n\nexport interface PickerFieldProps\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'size' | 'value' | 'defaultValue' | 'onChange' | 'children'\n >,\n PopupOptions {\n size?: ControlSize;\n status?: ControlStatus;\n allowClear?: boolean;\n inputReadOnly?: boolean;\n open?: boolean;\n defaultOpen?: boolean;\n}\nexport interface DateInputProps extends PickerFieldProps {\n displayValue: string;\n formValue: string;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onOpening: () => void;\n onClear: () => void;\n onTextCommit: (text: string) => boolean;\n onTextChange?: (text: string) => void;\n commitOnBlur?: boolean;\n renderPanel: (close: () => void) => ReactNode;\n panelClassName?: string;\n clearLabel?: string;\n panelLabel?: string;\n icon?: ReactNode;\n}\n/** Editable text field with a custom calendar/time popup and canonical FormData value. */\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>(function DateInput(\n {\n size = 'md',\n status: statusProp,\n placeholder,\n name,\n required: requiredProp,\n allowClear = true,\n inputReadOnly,\n defaultOpen: _defaultOpen,\n popupPlacement,\n popupClassName,\n popupStyle,\n popupRender,\n getPopupContainer,\n displayValue,\n formValue,\n open,\n onOpenChange,\n onOpening,\n onClear,\n onTextCommit,\n onTextChange,\n commitOnBlur = true,\n renderPanel,\n panelClassName,\n clearLabel,\n panelLabel,\n icon,\n className,\n style,\n disabled: disabledProp,\n id: idProp,\n onClick,\n onKeyDown,\n onBlur,\n form,\n ...props\n },\n forwardedRef,\n) {\n const field = useFormField();\n const { messages } = useLeafConfig();\n const disabled = disabledProp || field?.disabled;\n const required = requiredProp ?? field?.required;\n const input = useRef<HTMLInputElement>(null);\n const root = useRef<HTMLDivElement>(null);\n const panel = useRef<HTMLDivElement>(null);\n const panelId = `${useId()}-picker-panel`;\n const ref = useMergedRef(input, forwardedRef);\n const [text, setText] = useState(displayValue);\n const [dirty, setDirty] = useState(false);\n const [invalid, setInvalid] = useState(false);\n const [focusPanel, setFocusPanel] = useState(false);\n const status = statusProp ?? (invalid || field?.error ? 'error' : undefined);\n const restore = () => {\n setText(displayValue);\n setDirty(false);\n setInvalid(false);\n };\n const close = () => {\n onOpenChange(false);\n restore();\n };\n const finish = () => {\n onOpenChange(false);\n restore();\n input.current?.focus();\n };\n const opening = () => {\n if (!open && !disabled && !props.readOnly) {\n onOpening();\n onOpenChange(true);\n }\n };\n useFloatingDismiss(\n open,\n (reason) => {\n if (reason === 'escape' || !dirty || !commitOnBlur) close();\n else {\n const valid = onTextCommit(text.trim());\n setInvalid(!valid);\n if (valid) restore();\n onOpenChange(false);\n }\n },\n input,\n panel,\n root,\n );\n useEffect(() => {\n setText(displayValue);\n setDirty(false);\n setInvalid(false);\n }, [displayValue]);\n useEffect(() => {\n input.current?.setCustomValidity(invalid ? messages.invalid : '');\n }, [invalid, messages.invalid]);\n useEffect(() => {\n if (open && focusPanel) {\n (\n panel.current?.querySelector<HTMLElement>('[tabindex=\"0\"]:not(:disabled)') ??\n panel.current?.querySelector<HTMLElement>('button:not(:disabled)')\n )?.focus();\n setFocusPanel(false);\n }\n }, [open, focusPanel]);\n useEffect(() => {\n const owner = input.current?.form;\n const reset = (event: Event) =>\n queueMicrotask(() => {\n if (!event.defaultPrevented) {\n setText(displayValue);\n setDirty(false);\n setInvalid(false);\n onOpenChange(false);\n }\n });\n owner?.addEventListener('reset', reset);\n return () => owner?.removeEventListener('reset', reset);\n }, [displayValue, onOpenChange]);\n const commitText = (focus = true) => {\n const valid = onTextCommit(text.trim());\n setInvalid(!valid);\n if (valid) {\n restore();\n onOpenChange(false);\n if (focus) input.current?.focus();\n }\n return valid;\n };\n return (\n <div\n ref={root}\n className={classes('leaf-date-picker', `leaf-date-picker--${size}`, className)}\n style={style}\n data-status={status}\n data-disabled={disabled ? '' : undefined}\n data-open={open ? '' : undefined}\n data-clearable={\n allowClear && (formValue || text) && !disabled && !props.readOnly ? '' : undefined\n }\n >\n <input\n {...props}\n ref={ref}\n id={idProp ?? field?.id}\n type=\"text\"\n form={form}\n className=\"leaf-date-picker__input\"\n disabled={disabled}\n readOnly={props.readOnly || inputReadOnly}\n value={dirty ? text : displayValue}\n placeholder={placeholder ?? messages.date}\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n aria-controls={panelId}\n aria-required={required || undefined}\n aria-invalid={status === 'error' ? true : props['aria-invalid']}\n aria-describedby={\n [props['aria-describedby'], field?.descriptionId].filter(Boolean).join(' ') || undefined\n }\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) opening();\n }}\n onChange={(event) => {\n opening();\n setText(event.target.value);\n setDirty(true);\n setInvalid(false);\n onTextChange?.(event.target.value);\n }}\n onBlur={(event) => {\n onBlur?.(event);\n if (\n event.defaultPrevented ||\n root.current?.contains(event.relatedTarget) ||\n panel.current?.contains(event.relatedTarget)\n )\n return;\n if (dirty) {\n if (commitOnBlur) commitText(false);\n else restore();\n }\n }}\n onInvalid={(event) => {\n props.onInvalid?.(event);\n event.preventDefault();\n input.current?.focus();\n }}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || event.nativeEvent.isComposing) return;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n opening();\n setFocusPanel(true);\n } else if (event.key === 'Enter') {\n event.preventDefault();\n if (dirty) commitText();\n else opening();\n } else if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n close();\n }\n }}\n />\n {allowClear && (formValue || text) && !disabled && !props.readOnly && (\n <ClearButton\n label={clearLabel ?? messages.clearDate}\n onClear={() => {\n onClear();\n setText('');\n setDirty(false);\n setInvalid(false);\n finish();\n }}\n />\n )}\n <button\n type=\"button\"\n className=\"leaf-date-picker__icon\"\n tabIndex={-1}\n disabled={disabled}\n aria-label={panelLabel ?? messages.chooseDate}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (open) close();\n else {\n opening();\n setFocusPanel(true);\n }\n }}\n >\n {icon ?? <CalendarDays size={16} aria-hidden=\"true\" />}\n </button>\n <FormValue\n name={name}\n form={form}\n value={formValue}\n disabled={disabled}\n required={required}\n triggerRef={input}\n />\n <FloatingPanel\n open={open}\n triggerRef={root}\n panelRef={panel}\n id={panelId}\n className={classes('leaf-floating', panelClassName, popupClassName)}\n placement={popupPlacement}\n style={popupStyle}\n render={popupRender}\n container={getPopupContainer}\n role=\"dialog\"\n aria-label={panelLabel ?? messages.chooseDate}\n >\n {renderPanel(finish)}\n </FloatingPanel>\n </div>\n );\n});\n"],"names":["DateInput","forwardRef","size","statusProp","placeholder","name","requiredProp","allowClear","inputReadOnly","_defaultOpen","popupPlacement","popupClassName","popupStyle","popupRender","getPopupContainer","displayValue","formValue","open","onOpenChange","onOpening","onClear","onTextCommit","onTextChange","commitOnBlur","renderPanel","panelClassName","clearLabel","panelLabel","icon","className","style","disabledProp","idProp","onClick","onKeyDown","onBlur","form","props","forwardedRef","field","useFormField","messages","useLeafConfig","disabled","required","input","useRef","root","panel","panelId","useId","ref","useMergedRef","text","setText","useState","dirty","setDirty","invalid","setInvalid","focusPanel","setFocusPanel","status","undefined","restore","close","finish","opening","useFloatingDismiss","reason","valid","useEffect","owner","reset","event","queueMicrotask","commitText","focus","classes","Boolean","ClearButton","CalendarDays","FormValue","FloatingPanel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared/date-input.js","sources":["../../../../../src/shared/date-input.tsx"],"sourcesContent":["import { CalendarDays } from 'lucide-react';\nimport {\n forwardRef,\n type InputHTMLAttributes,\n type ReactNode,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { useLeafConfig } from '../config-provider/context';\nimport { useFormField } from '../form/form';\nimport { classes } from './classes';\nimport { ClearButton } from './clear-button';\nimport { FormValue, useMergedRef } from './field';\nimport { FloatingPanel, type PopupOptions, useFloatingDismiss } from './floating';\nimport type { ControlSize, ControlStatus } from './types';\n\nexport interface PickerFieldProps\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'size' | 'value' | 'defaultValue' | 'onChange' | 'children'\n >,\n PopupOptions {\n size?: ControlSize;\n status?: ControlStatus;\n allowClear?: boolean;\n inputReadOnly?: boolean;\n open?: boolean;\n defaultOpen?: boolean;\n}\nexport interface DateInputProps extends PickerFieldProps {\n displayValue: string;\n formValue: string;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onOpening: () => void;\n onClear: () => void;\n onTextCommit: (text: string) => boolean;\n onTextChange?: (text: string) => void;\n commitOnBlur?: boolean;\n renderPanel: (close: () => void) => ReactNode;\n panelClassName?: string;\n clearLabel?: string;\n panelLabel?: string;\n icon?: ReactNode;\n}\n/** Editable text field with a custom calendar/time popup and canonical FormData value. */\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>(function DateInput(\n {\n size = 'md',\n status: statusProp,\n placeholder,\n name,\n required: requiredProp,\n allowClear = true,\n inputReadOnly,\n defaultOpen: _defaultOpen,\n popupPlacement,\n popupClassName,\n popupStyle,\n popupRender,\n getPopupContainer,\n displayValue,\n formValue,\n open,\n onOpenChange,\n onOpening,\n onClear,\n onTextCommit,\n onTextChange,\n commitOnBlur = true,\n renderPanel,\n panelClassName,\n clearLabel,\n panelLabel,\n icon,\n className,\n style,\n disabled: disabledProp,\n id: idProp,\n onClick,\n onKeyDown,\n onBlur,\n form,\n ...props\n },\n forwardedRef,\n) {\n const field = useFormField();\n const { messages } = useLeafConfig();\n const disabled = disabledProp || field?.disabled;\n const required = requiredProp ?? field?.required;\n const input = useRef<HTMLInputElement>(null);\n const root = useRef<HTMLDivElement>(null);\n const panel = useRef<HTMLDivElement>(null);\n const panelId = `${useId()}-picker-panel`;\n const ref = useMergedRef(input, forwardedRef);\n const [text, setText] = useState(displayValue);\n const [dirty, setDirty] = useState(false);\n const [invalid, setInvalid] = useState(false);\n const [focusPanel, setFocusPanel] = useState(false);\n const status = statusProp ?? (invalid || field?.error ? 'error' : undefined);\n const restore = () => {\n setText(displayValue);\n setDirty(false);\n setInvalid(false);\n };\n const close = () => {\n onOpenChange(false);\n restore();\n };\n const finish = () => {\n onOpenChange(false);\n restore();\n input.current?.focus();\n };\n const opening = () => {\n if (!open && !disabled && !props.readOnly) {\n onOpening();\n onOpenChange(true);\n }\n };\n useFloatingDismiss(\n open,\n (reason) => {\n if (reason === 'escape' || !dirty || !commitOnBlur) close();\n else {\n const valid = onTextCommit(text.trim());\n setInvalid(!valid);\n if (valid) restore();\n onOpenChange(false);\n }\n },\n input,\n panel,\n root,\n );\n useEffect(() => {\n setText(displayValue);\n setDirty(false);\n setInvalid(false);\n }, [displayValue]);\n useEffect(() => {\n input.current?.setCustomValidity(invalid ? messages.form.invalid : '');\n }, [invalid, messages.form.invalid]);\n useEffect(() => {\n if (open && focusPanel) {\n (\n panel.current?.querySelector<HTMLElement>('[tabindex=\"0\"]:not(:disabled)') ??\n panel.current?.querySelector<HTMLElement>('button:not(:disabled)')\n )?.focus();\n setFocusPanel(false);\n }\n }, [open, focusPanel]);\n useEffect(() => {\n const owner = input.current?.form;\n const reset = (event: Event) =>\n queueMicrotask(() => {\n if (!event.defaultPrevented) {\n setText(displayValue);\n setDirty(false);\n setInvalid(false);\n onOpenChange(false);\n }\n });\n owner?.addEventListener('reset', reset);\n return () => owner?.removeEventListener('reset', reset);\n }, [displayValue, onOpenChange]);\n const commitText = (focus = true) => {\n const valid = onTextCommit(text.trim());\n setInvalid(!valid);\n if (valid) {\n restore();\n onOpenChange(false);\n if (focus) input.current?.focus();\n }\n return valid;\n };\n return (\n <div\n ref={root}\n className={classes('leaf-date-picker', `leaf-date-picker--${size}`, className)}\n style={style}\n data-status={status}\n data-disabled={disabled ? '' : undefined}\n data-open={open ? '' : undefined}\n data-clearable={\n allowClear && (formValue || text) && !disabled && !props.readOnly ? '' : undefined\n }\n >\n <input\n {...props}\n ref={ref}\n id={idProp ?? field?.id}\n type=\"text\"\n form={form}\n className=\"leaf-date-picker__input\"\n disabled={disabled}\n readOnly={props.readOnly || inputReadOnly}\n value={dirty ? text : displayValue}\n placeholder={placeholder ?? messages.datePicker.placeholder}\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n aria-controls={panelId}\n aria-required={required || undefined}\n aria-invalid={status === 'error' ? true : props['aria-invalid']}\n aria-describedby={\n [props['aria-describedby'], field?.descriptionId].filter(Boolean).join(' ') || undefined\n }\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) opening();\n }}\n onChange={(event) => {\n opening();\n setText(event.target.value);\n setDirty(true);\n setInvalid(false);\n onTextChange?.(event.target.value);\n }}\n onBlur={(event) => {\n onBlur?.(event);\n if (\n event.defaultPrevented ||\n root.current?.contains(event.relatedTarget) ||\n panel.current?.contains(event.relatedTarget)\n )\n return;\n if (dirty) {\n if (commitOnBlur) commitText(false);\n else restore();\n }\n }}\n onInvalid={(event) => {\n props.onInvalid?.(event);\n event.preventDefault();\n input.current?.focus();\n }}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || event.nativeEvent.isComposing) return;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n opening();\n setFocusPanel(true);\n } else if (event.key === 'Enter') {\n event.preventDefault();\n if (dirty) commitText();\n else opening();\n } else if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n close();\n }\n }}\n />\n {allowClear && (formValue || text) && !disabled && !props.readOnly && (\n <ClearButton\n label={clearLabel ?? messages.datePicker.clear}\n onClear={() => {\n onClear();\n setText('');\n setDirty(false);\n setInvalid(false);\n finish();\n }}\n />\n )}\n <button\n type=\"button\"\n className=\"leaf-date-picker__icon\"\n tabIndex={-1}\n disabled={disabled}\n aria-label={panelLabel ?? messages.datePicker.label}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (open) close();\n else {\n opening();\n setFocusPanel(true);\n }\n }}\n >\n {icon ?? <CalendarDays size={16} aria-hidden=\"true\" />}\n </button>\n <FormValue\n name={name}\n form={form}\n value={formValue}\n disabled={disabled}\n required={required}\n triggerRef={input}\n />\n <FloatingPanel\n open={open}\n triggerRef={root}\n panelRef={panel}\n id={panelId}\n className={classes('leaf-floating', panelClassName, popupClassName)}\n placement={popupPlacement}\n style={popupStyle}\n render={popupRender}\n container={getPopupContainer}\n role=\"dialog\"\n aria-label={panelLabel ?? messages.datePicker.label}\n >\n {renderPanel(finish)}\n </FloatingPanel>\n </div>\n );\n});\n"],"names":["DateInput","forwardRef","size","statusProp","placeholder","name","requiredProp","allowClear","inputReadOnly","_defaultOpen","popupPlacement","popupClassName","popupStyle","popupRender","getPopupContainer","displayValue","formValue","open","onOpenChange","onOpening","onClear","onTextCommit","onTextChange","commitOnBlur","renderPanel","panelClassName","clearLabel","panelLabel","icon","className","style","disabledProp","idProp","onClick","onKeyDown","onBlur","form","props","forwardedRef","field","useFormField","messages","useLeafConfig","disabled","required","input","useRef","root","panel","panelId","useId","ref","useMergedRef","text","setText","useState","dirty","setDirty","invalid","setInvalid","focusPanel","setFocusPanel","status","undefined","restore","close","finish","opening","useFloatingDismiss","reason","valid","useEffect","owner","reset","event","queueMicrotask","commitText","focus","classes","Boolean","ClearButton","CalendarDays","FormValue","FloatingPanel"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Inbox, LoaderCircle } from "lucide-react";
|
|
4
|
+
function FloatingFeedback({ loading = false, children }) {
|
|
5
|
+
const Icon = loading ? LoaderCircle : Inbox;
|
|
6
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
7
|
+
className: "leaf-floating__empty leaf-floating__empty--feedback",
|
|
8
|
+
role: "status",
|
|
9
|
+
children: [
|
|
10
|
+
/*#__PURE__*/ jsx(Icon, {
|
|
11
|
+
size: 24,
|
|
12
|
+
strokeWidth: 1.5,
|
|
13
|
+
"aria-hidden": "true",
|
|
14
|
+
className: loading ? 'leaf-floating__loading-icon' : void 0
|
|
15
|
+
}),
|
|
16
|
+
/*#__PURE__*/ jsx("div", {
|
|
17
|
+
children: children
|
|
18
|
+
})
|
|
19
|
+
]
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export { FloatingFeedback };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=floating-feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared/floating-feedback.js","sources":["../../../../../src/shared/floating-feedback.tsx"],"sourcesContent":["import { Inbox, LoaderCircle } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\n/** Shared loading and empty presentation for suggestion and selection panels. */\nexport function FloatingFeedback({\n loading = false,\n children,\n}: {\n loading?: boolean;\n children: ReactNode;\n}) {\n const Icon = loading ? LoaderCircle : Inbox;\n return (\n <div className=\"leaf-floating__empty leaf-floating__empty--feedback\" role=\"status\">\n <Icon\n size={24}\n strokeWidth={1.5}\n aria-hidden=\"true\"\n className={loading ? 'leaf-floating__loading-icon' : undefined}\n />\n <div>{children}</div>\n </div>\n );\n}\n"],"names":["FloatingFeedback","loading","children","Icon","LoaderCircle","Inbox","undefined"],"mappings":";;;AAIO,SAASA,iBAAiB,EAC/BC,UAAU,KAAK,EACfC,QAAQ,EAIT;IACC,MAAMC,OAAOF,UAAUG,eAAeC;IACtC,OAAO,WAAP,GACE,KAAC;QAAI,WAAU;QAAsD,MAAK;;0BACxE,IAACF,MAAAA;gBACC,MAAM;gBACN,aAAa;gBACb,eAAY;gBACZ,WAAWF,UAAU,gCAAgCK;;0BAEvD,IAAC;0BAAKJ;;;;AAGZ"}
|