@docyrus/shadcn 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base-lyra/accordion.js.map +1 -1
- package/dist/base-lyra/alert-dialog.js.map +1 -1
- package/dist/base-lyra/alert.js.map +1 -1
- package/dist/base-lyra/aspect-ratio.js.map +1 -1
- package/dist/base-lyra/avatar.js.map +1 -1
- package/dist/base-lyra/badge.js.map +1 -1
- package/dist/base-lyra/breadcrumb.js.map +1 -1
- package/dist/base-lyra/button-group.js.map +1 -1
- package/dist/base-lyra/button.js.map +1 -1
- package/dist/base-lyra/calendar.js.map +1 -1
- package/dist/base-lyra/card.js.map +1 -1
- package/dist/base-lyra/carousel.js.map +1 -1
- package/dist/base-lyra/chart.js.map +1 -1
- package/dist/base-lyra/checkbox.js.map +1 -1
- package/dist/base-lyra/combobox.js.map +1 -1
- package/dist/base-lyra/command.js.map +1 -1
- package/dist/base-lyra/context-menu.js.map +1 -1
- package/dist/base-lyra/dialog.js.map +1 -1
- package/dist/base-lyra/drawer.js.map +1 -1
- package/dist/base-lyra/dropdown-menu.js.map +1 -1
- package/dist/base-lyra/empty.js.map +1 -1
- package/dist/base-lyra/field.js.map +1 -1
- package/dist/base-lyra/hover-card.js.map +1 -1
- package/dist/base-lyra/index.js +8 -6
- package/dist/base-lyra/index.js.map +1 -1
- package/dist/base-lyra/input-group.js.map +1 -1
- package/dist/base-lyra/input-otp.js.map +1 -1
- package/dist/base-lyra/input.js.map +1 -1
- package/dist/base-lyra/item.js.map +1 -1
- package/dist/base-lyra/kbd.js.map +1 -1
- package/dist/base-lyra/label.js.map +1 -1
- package/dist/base-lyra/menubar.js.map +1 -1
- package/dist/base-lyra/native-select.js.map +1 -1
- package/dist/base-lyra/navigation-menu.js.map +1 -1
- package/dist/base-lyra/pagination.js.map +1 -1
- package/dist/base-lyra/popover.js.map +1 -1
- package/dist/base-lyra/progress.js.map +1 -1
- package/dist/base-lyra/radio-group.js.map +1 -1
- package/dist/base-lyra/resizable.js.map +1 -1
- package/dist/base-lyra/scroll-area.js.map +1 -1
- package/dist/base-lyra/select.js.map +1 -1
- package/dist/base-lyra/separator.js.map +1 -1
- package/dist/base-lyra/sheet.js.map +1 -1
- package/dist/base-lyra/sidebar.js +8 -6
- package/dist/base-lyra/sidebar.js.map +1 -1
- package/dist/base-lyra/skeleton.js.map +1 -1
- package/dist/base-lyra/slider.js.map +1 -1
- package/dist/base-lyra/spinner.js.map +1 -1
- package/dist/base-lyra/switch.js.map +1 -1
- package/dist/base-lyra/table.js.map +1 -1
- package/dist/base-lyra/tabs.js.map +1 -1
- package/dist/base-lyra/textarea.js.map +1 -1
- package/dist/base-lyra/toggle-group.js.map +1 -1
- package/dist/base-lyra/toggle.js.map +1 -1
- package/dist/base-lyra/tooltip.js.map +1 -1
- package/dist/base-maia/accordion.js.map +1 -1
- package/dist/base-maia/alert-dialog.js.map +1 -1
- package/dist/base-maia/alert.js.map +1 -1
- package/dist/base-maia/aspect-ratio.js.map +1 -1
- package/dist/base-maia/avatar.js.map +1 -1
- package/dist/base-maia/badge.js.map +1 -1
- package/dist/base-maia/breadcrumb.js.map +1 -1
- package/dist/base-maia/button-group.js.map +1 -1
- package/dist/base-maia/button.js.map +1 -1
- package/dist/base-maia/calendar.js.map +1 -1
- package/dist/base-maia/card.js.map +1 -1
- package/dist/base-maia/carousel.js.map +1 -1
- package/dist/base-maia/chart.js.map +1 -1
- package/dist/base-maia/checkbox.js.map +1 -1
- package/dist/base-maia/combobox.js.map +1 -1
- package/dist/base-maia/command.js.map +1 -1
- package/dist/base-maia/context-menu.js.map +1 -1
- package/dist/base-maia/dialog.js.map +1 -1
- package/dist/base-maia/drawer.js.map +1 -1
- package/dist/base-maia/dropdown-menu.js.map +1 -1
- package/dist/base-maia/empty.js.map +1 -1
- package/dist/base-maia/field.js.map +1 -1
- package/dist/base-maia/hover-card.js.map +1 -1
- package/dist/base-maia/index.js +8 -6
- package/dist/base-maia/index.js.map +1 -1
- package/dist/base-maia/input-group.js.map +1 -1
- package/dist/base-maia/input-otp.js.map +1 -1
- package/dist/base-maia/input.js.map +1 -1
- package/dist/base-maia/item.js.map +1 -1
- package/dist/base-maia/kbd.js.map +1 -1
- package/dist/base-maia/label.js.map +1 -1
- package/dist/base-maia/menubar.js.map +1 -1
- package/dist/base-maia/native-select.js.map +1 -1
- package/dist/base-maia/navigation-menu.js.map +1 -1
- package/dist/base-maia/pagination.js.map +1 -1
- package/dist/base-maia/popover.js.map +1 -1
- package/dist/base-maia/progress.js.map +1 -1
- package/dist/base-maia/radio-group.js.map +1 -1
- package/dist/base-maia/resizable.js.map +1 -1
- package/dist/base-maia/scroll-area.js.map +1 -1
- package/dist/base-maia/select.js.map +1 -1
- package/dist/base-maia/separator.js.map +1 -1
- package/dist/base-maia/sheet.js.map +1 -1
- package/dist/base-maia/sidebar.js +8 -6
- package/dist/base-maia/sidebar.js.map +1 -1
- package/dist/base-maia/skeleton.js.map +1 -1
- package/dist/base-maia/slider.js.map +1 -1
- package/dist/base-maia/spinner.js.map +1 -1
- package/dist/base-maia/switch.js.map +1 -1
- package/dist/base-maia/table.js.map +1 -1
- package/dist/base-maia/tabs.js.map +1 -1
- package/dist/base-maia/textarea.js.map +1 -1
- package/dist/base-maia/toggle-group.js.map +1 -1
- package/dist/base-maia/toggle.js.map +1 -1
- package/dist/base-maia/tooltip.js.map +1 -1
- package/dist/base-mira/accordion.js.map +1 -1
- package/dist/base-mira/alert-dialog.js.map +1 -1
- package/dist/base-mira/alert.js.map +1 -1
- package/dist/base-mira/aspect-ratio.js.map +1 -1
- package/dist/base-mira/avatar.js.map +1 -1
- package/dist/base-mira/badge.js.map +1 -1
- package/dist/base-mira/breadcrumb.js.map +1 -1
- package/dist/base-mira/button-group.js.map +1 -1
- package/dist/base-mira/button.js.map +1 -1
- package/dist/base-mira/calendar.js.map +1 -1
- package/dist/base-mira/card.js.map +1 -1
- package/dist/base-mira/carousel.js.map +1 -1
- package/dist/base-mira/chart.js.map +1 -1
- package/dist/base-mira/checkbox.js.map +1 -1
- package/dist/base-mira/combobox.js.map +1 -1
- package/dist/base-mira/command.js.map +1 -1
- package/dist/base-mira/context-menu.js.map +1 -1
- package/dist/base-mira/dialog.js.map +1 -1
- package/dist/base-mira/drawer.js.map +1 -1
- package/dist/base-mira/dropdown-menu.js.map +1 -1
- package/dist/base-mira/empty.js.map +1 -1
- package/dist/base-mira/field.js.map +1 -1
- package/dist/base-mira/hover-card.js.map +1 -1
- package/dist/base-mira/index.js +8 -6
- package/dist/base-mira/index.js.map +1 -1
- package/dist/base-mira/input-group.js.map +1 -1
- package/dist/base-mira/input-otp.js.map +1 -1
- package/dist/base-mira/input.js.map +1 -1
- package/dist/base-mira/item.js.map +1 -1
- package/dist/base-mira/kbd.js.map +1 -1
- package/dist/base-mira/label.js.map +1 -1
- package/dist/base-mira/menubar.js.map +1 -1
- package/dist/base-mira/native-select.js.map +1 -1
- package/dist/base-mira/navigation-menu.js.map +1 -1
- package/dist/base-mira/pagination.js.map +1 -1
- package/dist/base-mira/popover.js.map +1 -1
- package/dist/base-mira/progress.js.map +1 -1
- package/dist/base-mira/radio-group.js.map +1 -1
- package/dist/base-mira/resizable.js.map +1 -1
- package/dist/base-mira/scroll-area.js.map +1 -1
- package/dist/base-mira/select.js.map +1 -1
- package/dist/base-mira/separator.js.map +1 -1
- package/dist/base-mira/sheet.js.map +1 -1
- package/dist/base-mira/sidebar.js +8 -6
- package/dist/base-mira/sidebar.js.map +1 -1
- package/dist/base-mira/skeleton.js.map +1 -1
- package/dist/base-mira/slider.js.map +1 -1
- package/dist/base-mira/spinner.js.map +1 -1
- package/dist/base-mira/switch.js.map +1 -1
- package/dist/base-mira/table.js.map +1 -1
- package/dist/base-mira/tabs.js.map +1 -1
- package/dist/base-mira/textarea.js.map +1 -1
- package/dist/base-mira/toggle-group.js.map +1 -1
- package/dist/base-mira/toggle.js.map +1 -1
- package/dist/base-mira/tooltip.js.map +1 -1
- package/dist/base-nova/accordion.js.map +1 -1
- package/dist/base-nova/alert-dialog.js.map +1 -1
- package/dist/base-nova/alert.js.map +1 -1
- package/dist/base-nova/aspect-ratio.js.map +1 -1
- package/dist/base-nova/avatar.js.map +1 -1
- package/dist/base-nova/badge.js.map +1 -1
- package/dist/base-nova/breadcrumb.js.map +1 -1
- package/dist/base-nova/button-group.js.map +1 -1
- package/dist/base-nova/button.js.map +1 -1
- package/dist/base-nova/calendar.js.map +1 -1
- package/dist/base-nova/card.js.map +1 -1
- package/dist/base-nova/carousel.js.map +1 -1
- package/dist/base-nova/chart.js.map +1 -1
- package/dist/base-nova/checkbox.js.map +1 -1
- package/dist/base-nova/combobox.js.map +1 -1
- package/dist/base-nova/command.js.map +1 -1
- package/dist/base-nova/context-menu.js.map +1 -1
- package/dist/base-nova/dialog.js.map +1 -1
- package/dist/base-nova/drawer.js.map +1 -1
- package/dist/base-nova/dropdown-menu.js.map +1 -1
- package/dist/base-nova/empty.js.map +1 -1
- package/dist/base-nova/field.js.map +1 -1
- package/dist/base-nova/hover-card.js.map +1 -1
- package/dist/base-nova/index.js +8 -6
- package/dist/base-nova/index.js.map +1 -1
- package/dist/base-nova/input-group.js.map +1 -1
- package/dist/base-nova/input-otp.js.map +1 -1
- package/dist/base-nova/input.js.map +1 -1
- package/dist/base-nova/item.js.map +1 -1
- package/dist/base-nova/kbd.js.map +1 -1
- package/dist/base-nova/label.js.map +1 -1
- package/dist/base-nova/menubar.js.map +1 -1
- package/dist/base-nova/native-select.js.map +1 -1
- package/dist/base-nova/navigation-menu.js.map +1 -1
- package/dist/base-nova/pagination.js.map +1 -1
- package/dist/base-nova/popover.js.map +1 -1
- package/dist/base-nova/progress.js.map +1 -1
- package/dist/base-nova/radio-group.js.map +1 -1
- package/dist/base-nova/resizable.js.map +1 -1
- package/dist/base-nova/scroll-area.js.map +1 -1
- package/dist/base-nova/select.js.map +1 -1
- package/dist/base-nova/separator.js.map +1 -1
- package/dist/base-nova/sheet.js.map +1 -1
- package/dist/base-nova/sidebar.js +8 -6
- package/dist/base-nova/sidebar.js.map +1 -1
- package/dist/base-nova/skeleton.js.map +1 -1
- package/dist/base-nova/slider.js.map +1 -1
- package/dist/base-nova/spinner.js.map +1 -1
- package/dist/base-nova/switch.js.map +1 -1
- package/dist/base-nova/table.js.map +1 -1
- package/dist/base-nova/tabs.js.map +1 -1
- package/dist/base-nova/textarea.js.map +1 -1
- package/dist/base-nova/toggle-group.js.map +1 -1
- package/dist/base-nova/toggle.js.map +1 -1
- package/dist/base-nova/tooltip.js.map +1 -1
- package/dist/base-vega/accordion.js.map +1 -1
- package/dist/base-vega/alert-dialog.js.map +1 -1
- package/dist/base-vega/alert.js.map +1 -1
- package/dist/base-vega/aspect-ratio.js.map +1 -1
- package/dist/base-vega/avatar.js.map +1 -1
- package/dist/base-vega/badge.js.map +1 -1
- package/dist/base-vega/breadcrumb.js.map +1 -1
- package/dist/base-vega/button-group.js.map +1 -1
- package/dist/base-vega/button.js.map +1 -1
- package/dist/base-vega/calendar.js.map +1 -1
- package/dist/base-vega/card.js.map +1 -1
- package/dist/base-vega/carousel.js.map +1 -1
- package/dist/base-vega/chart.js.map +1 -1
- package/dist/base-vega/checkbox.js.map +1 -1
- package/dist/base-vega/combobox.js.map +1 -1
- package/dist/base-vega/command.js.map +1 -1
- package/dist/base-vega/context-menu.js.map +1 -1
- package/dist/base-vega/dialog.js.map +1 -1
- package/dist/base-vega/drawer.js.map +1 -1
- package/dist/base-vega/dropdown-menu.js.map +1 -1
- package/dist/base-vega/empty.js.map +1 -1
- package/dist/base-vega/field.js.map +1 -1
- package/dist/base-vega/hover-card.js.map +1 -1
- package/dist/base-vega/index.js +8 -6
- package/dist/base-vega/index.js.map +1 -1
- package/dist/base-vega/input-group.js.map +1 -1
- package/dist/base-vega/input-otp.js.map +1 -1
- package/dist/base-vega/input.js.map +1 -1
- package/dist/base-vega/item.js.map +1 -1
- package/dist/base-vega/kbd.js.map +1 -1
- package/dist/base-vega/label.js.map +1 -1
- package/dist/base-vega/menubar.js.map +1 -1
- package/dist/base-vega/native-select.js.map +1 -1
- package/dist/base-vega/navigation-menu.js.map +1 -1
- package/dist/base-vega/pagination.js.map +1 -1
- package/dist/base-vega/popover.js.map +1 -1
- package/dist/base-vega/progress.js.map +1 -1
- package/dist/base-vega/radio-group.js.map +1 -1
- package/dist/base-vega/resizable.js.map +1 -1
- package/dist/base-vega/scroll-area.js.map +1 -1
- package/dist/base-vega/select.js.map +1 -1
- package/dist/base-vega/separator.js.map +1 -1
- package/dist/base-vega/sheet.js.map +1 -1
- package/dist/base-vega/sidebar.js +8 -6
- package/dist/base-vega/sidebar.js.map +1 -1
- package/dist/base-vega/skeleton.js.map +1 -1
- package/dist/base-vega/slider.js.map +1 -1
- package/dist/base-vega/spinner.js.map +1 -1
- package/dist/base-vega/switch.js.map +1 -1
- package/dist/base-vega/table.js.map +1 -1
- package/dist/base-vega/tabs.js.map +1 -1
- package/dist/base-vega/textarea.js.map +1 -1
- package/dist/base-vega/toggle-group.js.map +1 -1
- package/dist/base-vega/toggle.js.map +1 -1
- package/dist/base-vega/tooltip.js.map +1 -1
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.js +181 -10
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-as-ref.d.ts +5 -0
- package/dist/hooks/use-as-ref.js +17 -0
- package/dist/hooks/use-as-ref.js.map +1 -0
- package/dist/hooks/use-badge-overflow.d.ts +24 -0
- package/dist/hooks/use-badge-overflow.js +130 -0
- package/dist/hooks/use-badge-overflow.js.map +1 -0
- package/dist/hooks/use-callback-ref.d.ts +10 -0
- package/dist/hooks/use-callback-ref.js +17 -0
- package/dist/hooks/use-callback-ref.js.map +1 -0
- package/dist/hooks/use-debounced-callback.d.ts +3 -0
- package/dist/hooks/use-debounced-callback.js +38 -0
- package/dist/hooks/use-debounced-callback.js.map +1 -0
- package/dist/hooks/use-file-upload.d.ts +48 -0
- package/dist/hooks/use-file-upload.js +279 -0
- package/dist/hooks/use-file-upload.js.map +1 -0
- package/dist/hooks/use-isomorphic-layout-effect.d.ts +5 -0
- package/dist/hooks/use-isomorphic-layout-effect.js +8 -0
- package/dist/hooks/use-isomorphic-layout-effect.js.map +1 -0
- package/dist/hooks/use-lazy-ref.d.ts +5 -0
- package/dist/hooks/use-lazy-ref.js +14 -0
- package/dist/hooks/use-lazy-ref.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +1 -1
- package/dist/hooks/use-mobile.js +8 -6
- package/dist/hooks/use-mobile.js.map +1 -1
- package/dist/index.d.ts +1561 -57
- package/dist/index.js +23035 -2534
- package/dist/index.js.map +1 -1
- package/dist/lib/compose-refs.d.ts +15 -0
- package/dist/lib/compose-refs.js +42 -0
- package/dist/lib/compose-refs.js.map +1 -0
- package/dist/lib/format.d.ts +3 -0
- package/dist/lib/format.js +18 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.js +53 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/utils.d.ts +6 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/new-york/accordion.js.map +1 -1
- package/dist/new-york/alert-dialog.js.map +1 -1
- package/dist/new-york/alert.js.map +1 -1
- package/dist/new-york/avatar.js.map +1 -1
- package/dist/new-york/badge.js.map +1 -1
- package/dist/new-york/breadcrumb.js.map +1 -1
- package/dist/new-york/button-group.js.map +1 -1
- package/dist/new-york/button.js.map +1 -1
- package/dist/new-york/calendar.js.map +1 -1
- package/dist/new-york/card.js.map +1 -1
- package/dist/new-york/carousel.js.map +1 -1
- package/dist/new-york/chart.js.map +1 -1
- package/dist/new-york/checkbox.js.map +1 -1
- package/dist/new-york/combobox.js.map +1 -1
- package/dist/new-york/command.js.map +1 -1
- package/dist/new-york/context-menu.js.map +1 -1
- package/dist/new-york/dialog.js.map +1 -1
- package/dist/new-york/drawer.js.map +1 -1
- package/dist/new-york/dropdown-menu.js.map +1 -1
- package/dist/new-york/empty.js.map +1 -1
- package/dist/new-york/field.js.map +1 -1
- package/dist/new-york/form.js.map +1 -1
- package/dist/new-york/hover-card.js.map +1 -1
- package/dist/new-york/index.js +8 -6
- package/dist/new-york/index.js.map +1 -1
- package/dist/new-york/input-group.js.map +1 -1
- package/dist/new-york/input-otp.js.map +1 -1
- package/dist/new-york/input.js.map +1 -1
- package/dist/new-york/item.js.map +1 -1
- package/dist/new-york/kbd.js.map +1 -1
- package/dist/new-york/label.js.map +1 -1
- package/dist/new-york/menubar.js.map +1 -1
- package/dist/new-york/native-select.js.map +1 -1
- package/dist/new-york/navigation-menu.js.map +1 -1
- package/dist/new-york/pagination.js.map +1 -1
- package/dist/new-york/popover.js.map +1 -1
- package/dist/new-york/progress.js.map +1 -1
- package/dist/new-york/radio-group.js.map +1 -1
- package/dist/new-york/resizable.js.map +1 -1
- package/dist/new-york/scroll-area.js.map +1 -1
- package/dist/new-york/select.js.map +1 -1
- package/dist/new-york/separator.js.map +1 -1
- package/dist/new-york/sheet.js.map +1 -1
- package/dist/new-york/sidebar.js +8 -6
- package/dist/new-york/sidebar.js.map +1 -1
- package/dist/new-york/skeleton.js.map +1 -1
- package/dist/new-york/slider.js.map +1 -1
- package/dist/new-york/spinner.js.map +1 -1
- package/dist/new-york/switch.js.map +1 -1
- package/dist/new-york/table.js.map +1 -1
- package/dist/new-york/tabs.js.map +1 -1
- package/dist/new-york/textarea.js.map +1 -1
- package/dist/new-york/toggle-group.js.map +1 -1
- package/dist/new-york/toggle.js.map +1 -1
- package/dist/new-york/tooltip.js.map +1 -1
- package/dist/radix-lyra/accordion.js.map +1 -1
- package/dist/radix-lyra/alert-dialog.js.map +1 -1
- package/dist/radix-lyra/alert.js.map +1 -1
- package/dist/radix-lyra/avatar.js.map +1 -1
- package/dist/radix-lyra/badge.js.map +1 -1
- package/dist/radix-lyra/breadcrumb.js.map +1 -1
- package/dist/radix-lyra/button-group.js.map +1 -1
- package/dist/radix-lyra/button.js.map +1 -1
- package/dist/radix-lyra/calendar.js.map +1 -1
- package/dist/radix-lyra/card.js.map +1 -1
- package/dist/radix-lyra/carousel.js.map +1 -1
- package/dist/radix-lyra/chart.js.map +1 -1
- package/dist/radix-lyra/checkbox.js.map +1 -1
- package/dist/radix-lyra/combobox.js.map +1 -1
- package/dist/radix-lyra/command.js.map +1 -1
- package/dist/radix-lyra/context-menu.js.map +1 -1
- package/dist/radix-lyra/dialog.js.map +1 -1
- package/dist/radix-lyra/drawer.js.map +1 -1
- package/dist/radix-lyra/dropdown-menu.js.map +1 -1
- package/dist/radix-lyra/empty.js.map +1 -1
- package/dist/radix-lyra/field.js.map +1 -1
- package/dist/radix-lyra/hover-card.js.map +1 -1
- package/dist/radix-lyra/index.js +8 -6
- package/dist/radix-lyra/index.js.map +1 -1
- package/dist/radix-lyra/input-group.js.map +1 -1
- package/dist/radix-lyra/input-otp.js.map +1 -1
- package/dist/radix-lyra/input.js.map +1 -1
- package/dist/radix-lyra/item.js.map +1 -1
- package/dist/radix-lyra/kbd.js.map +1 -1
- package/dist/radix-lyra/label.js.map +1 -1
- package/dist/radix-lyra/menubar.js.map +1 -1
- package/dist/radix-lyra/native-select.js.map +1 -1
- package/dist/radix-lyra/navigation-menu.js.map +1 -1
- package/dist/radix-lyra/pagination.js.map +1 -1
- package/dist/radix-lyra/popover.js.map +1 -1
- package/dist/radix-lyra/progress.js.map +1 -1
- package/dist/radix-lyra/radio-group.js.map +1 -1
- package/dist/radix-lyra/resizable.js.map +1 -1
- package/dist/radix-lyra/scroll-area.js.map +1 -1
- package/dist/radix-lyra/select.js.map +1 -1
- package/dist/radix-lyra/separator.js.map +1 -1
- package/dist/radix-lyra/sheet.js.map +1 -1
- package/dist/radix-lyra/sidebar.js +8 -6
- package/dist/radix-lyra/sidebar.js.map +1 -1
- package/dist/radix-lyra/skeleton.js.map +1 -1
- package/dist/radix-lyra/slider.js.map +1 -1
- package/dist/radix-lyra/spinner.js.map +1 -1
- package/dist/radix-lyra/switch.js.map +1 -1
- package/dist/radix-lyra/table.js.map +1 -1
- package/dist/radix-lyra/tabs.js.map +1 -1
- package/dist/radix-lyra/textarea.js.map +1 -1
- package/dist/radix-lyra/toggle-group.js.map +1 -1
- package/dist/radix-lyra/toggle.js.map +1 -1
- package/dist/radix-lyra/tooltip.js.map +1 -1
- package/dist/radix-maia/accordion.js.map +1 -1
- package/dist/radix-maia/alert-dialog.js.map +1 -1
- package/dist/radix-maia/alert.js.map +1 -1
- package/dist/radix-maia/avatar.js.map +1 -1
- package/dist/radix-maia/badge.js.map +1 -1
- package/dist/radix-maia/breadcrumb.js.map +1 -1
- package/dist/radix-maia/button-group.js.map +1 -1
- package/dist/radix-maia/button.js.map +1 -1
- package/dist/radix-maia/calendar.js.map +1 -1
- package/dist/radix-maia/card.js.map +1 -1
- package/dist/radix-maia/carousel.js.map +1 -1
- package/dist/radix-maia/chart.js.map +1 -1
- package/dist/radix-maia/checkbox.js.map +1 -1
- package/dist/radix-maia/combobox.js.map +1 -1
- package/dist/radix-maia/command.js.map +1 -1
- package/dist/radix-maia/context-menu.js.map +1 -1
- package/dist/radix-maia/dialog.js.map +1 -1
- package/dist/radix-maia/drawer.js.map +1 -1
- package/dist/radix-maia/dropdown-menu.js.map +1 -1
- package/dist/radix-maia/empty.js.map +1 -1
- package/dist/radix-maia/field.js.map +1 -1
- package/dist/radix-maia/hover-card.js.map +1 -1
- package/dist/radix-maia/index.js +8 -6
- package/dist/radix-maia/index.js.map +1 -1
- package/dist/radix-maia/input-group.js.map +1 -1
- package/dist/radix-maia/input-otp.js.map +1 -1
- package/dist/radix-maia/input.js.map +1 -1
- package/dist/radix-maia/item.js.map +1 -1
- package/dist/radix-maia/kbd.js.map +1 -1
- package/dist/radix-maia/label.js.map +1 -1
- package/dist/radix-maia/menubar.js.map +1 -1
- package/dist/radix-maia/native-select.js.map +1 -1
- package/dist/radix-maia/navigation-menu.js.map +1 -1
- package/dist/radix-maia/pagination.js.map +1 -1
- package/dist/radix-maia/popover.js.map +1 -1
- package/dist/radix-maia/progress.js.map +1 -1
- package/dist/radix-maia/radio-group.js.map +1 -1
- package/dist/radix-maia/resizable.js.map +1 -1
- package/dist/radix-maia/scroll-area.js.map +1 -1
- package/dist/radix-maia/select.js.map +1 -1
- package/dist/radix-maia/separator.js.map +1 -1
- package/dist/radix-maia/sheet.js.map +1 -1
- package/dist/radix-maia/sidebar.js +8 -6
- package/dist/radix-maia/sidebar.js.map +1 -1
- package/dist/radix-maia/skeleton.js.map +1 -1
- package/dist/radix-maia/slider.js.map +1 -1
- package/dist/radix-maia/spinner.js.map +1 -1
- package/dist/radix-maia/switch.js.map +1 -1
- package/dist/radix-maia/table.js.map +1 -1
- package/dist/radix-maia/tabs.js.map +1 -1
- package/dist/radix-maia/textarea.js.map +1 -1
- package/dist/radix-maia/toggle-group.js.map +1 -1
- package/dist/radix-maia/toggle.js.map +1 -1
- package/dist/radix-maia/tooltip.js.map +1 -1
- package/dist/radix-mira/accordion.js.map +1 -1
- package/dist/radix-mira/alert-dialog.js.map +1 -1
- package/dist/radix-mira/alert.js.map +1 -1
- package/dist/radix-mira/avatar.js.map +1 -1
- package/dist/radix-mira/badge.js.map +1 -1
- package/dist/radix-mira/breadcrumb.js.map +1 -1
- package/dist/radix-mira/button-group.js.map +1 -1
- package/dist/radix-mira/button.js.map +1 -1
- package/dist/radix-mira/calendar.js.map +1 -1
- package/dist/radix-mira/card.js.map +1 -1
- package/dist/radix-mira/carousel.js.map +1 -1
- package/dist/radix-mira/chart.js.map +1 -1
- package/dist/radix-mira/checkbox.js.map +1 -1
- package/dist/radix-mira/combobox.js.map +1 -1
- package/dist/radix-mira/command.js.map +1 -1
- package/dist/radix-mira/context-menu.js.map +1 -1
- package/dist/radix-mira/dialog.js.map +1 -1
- package/dist/radix-mira/drawer.js.map +1 -1
- package/dist/radix-mira/dropdown-menu.js.map +1 -1
- package/dist/radix-mira/empty.js.map +1 -1
- package/dist/radix-mira/field.js.map +1 -1
- package/dist/radix-mira/hover-card.js.map +1 -1
- package/dist/radix-mira/index.js +8 -6
- package/dist/radix-mira/index.js.map +1 -1
- package/dist/radix-mira/input-group.js.map +1 -1
- package/dist/radix-mira/input-otp.js.map +1 -1
- package/dist/radix-mira/input.js.map +1 -1
- package/dist/radix-mira/item.js.map +1 -1
- package/dist/radix-mira/kbd.js.map +1 -1
- package/dist/radix-mira/label.js.map +1 -1
- package/dist/radix-mira/menubar.js.map +1 -1
- package/dist/radix-mira/native-select.js.map +1 -1
- package/dist/radix-mira/navigation-menu.js.map +1 -1
- package/dist/radix-mira/pagination.js.map +1 -1
- package/dist/radix-mira/popover.js.map +1 -1
- package/dist/radix-mira/progress.js.map +1 -1
- package/dist/radix-mira/radio-group.js.map +1 -1
- package/dist/radix-mira/resizable.js.map +1 -1
- package/dist/radix-mira/scroll-area.js.map +1 -1
- package/dist/radix-mira/select.js.map +1 -1
- package/dist/radix-mira/separator.js.map +1 -1
- package/dist/radix-mira/sheet.js.map +1 -1
- package/dist/radix-mira/sidebar.js +8 -6
- package/dist/radix-mira/sidebar.js.map +1 -1
- package/dist/radix-mira/skeleton.js.map +1 -1
- package/dist/radix-mira/slider.js.map +1 -1
- package/dist/radix-mira/spinner.js.map +1 -1
- package/dist/radix-mira/switch.js.map +1 -1
- package/dist/radix-mira/table.js.map +1 -1
- package/dist/radix-mira/tabs.js.map +1 -1
- package/dist/radix-mira/textarea.js.map +1 -1
- package/dist/radix-mira/toggle-group.js.map +1 -1
- package/dist/radix-mira/toggle.js.map +1 -1
- package/dist/radix-mira/tooltip.js.map +1 -1
- package/dist/radix-nova/accordion.js.map +1 -1
- package/dist/radix-nova/alert-dialog.js.map +1 -1
- package/dist/radix-nova/alert.js.map +1 -1
- package/dist/radix-nova/avatar.js.map +1 -1
- package/dist/radix-nova/badge.js.map +1 -1
- package/dist/radix-nova/breadcrumb.js.map +1 -1
- package/dist/radix-nova/button-group.js.map +1 -1
- package/dist/radix-nova/button.js.map +1 -1
- package/dist/radix-nova/calendar.js.map +1 -1
- package/dist/radix-nova/card.js.map +1 -1
- package/dist/radix-nova/carousel.js.map +1 -1
- package/dist/radix-nova/chart.js.map +1 -1
- package/dist/radix-nova/checkbox.js.map +1 -1
- package/dist/radix-nova/combobox.js.map +1 -1
- package/dist/radix-nova/command.js.map +1 -1
- package/dist/radix-nova/context-menu.js.map +1 -1
- package/dist/radix-nova/dialog.js.map +1 -1
- package/dist/radix-nova/drawer.js.map +1 -1
- package/dist/radix-nova/dropdown-menu.js.map +1 -1
- package/dist/radix-nova/empty.js.map +1 -1
- package/dist/radix-nova/field.js.map +1 -1
- package/dist/radix-nova/hover-card.js.map +1 -1
- package/dist/radix-nova/index.js +8 -6
- package/dist/radix-nova/index.js.map +1 -1
- package/dist/radix-nova/input-group.js.map +1 -1
- package/dist/radix-nova/input-otp.js.map +1 -1
- package/dist/radix-nova/input.js.map +1 -1
- package/dist/radix-nova/item.js.map +1 -1
- package/dist/radix-nova/kbd.js.map +1 -1
- package/dist/radix-nova/label.js.map +1 -1
- package/dist/radix-nova/menubar.js.map +1 -1
- package/dist/radix-nova/native-select.js.map +1 -1
- package/dist/radix-nova/navigation-menu.js.map +1 -1
- package/dist/radix-nova/pagination.js.map +1 -1
- package/dist/radix-nova/popover.js.map +1 -1
- package/dist/radix-nova/progress.js.map +1 -1
- package/dist/radix-nova/radio-group.js.map +1 -1
- package/dist/radix-nova/resizable.js.map +1 -1
- package/dist/radix-nova/scroll-area.js.map +1 -1
- package/dist/radix-nova/select.js.map +1 -1
- package/dist/radix-nova/separator.js.map +1 -1
- package/dist/radix-nova/sheet.js.map +1 -1
- package/dist/radix-nova/sidebar.js +8 -6
- package/dist/radix-nova/sidebar.js.map +1 -1
- package/dist/radix-nova/skeleton.js.map +1 -1
- package/dist/radix-nova/slider.js.map +1 -1
- package/dist/radix-nova/spinner.js.map +1 -1
- package/dist/radix-nova/switch.js.map +1 -1
- package/dist/radix-nova/table.js.map +1 -1
- package/dist/radix-nova/tabs.js.map +1 -1
- package/dist/radix-nova/textarea.js.map +1 -1
- package/dist/radix-nova/toggle-group.js.map +1 -1
- package/dist/radix-nova/toggle.js.map +1 -1
- package/dist/radix-nova/tooltip.js.map +1 -1
- package/dist/radix-vega/accordion.js.map +1 -1
- package/dist/radix-vega/action-bar.d.ts +41 -0
- package/dist/radix-vega/action-bar.js +589 -0
- package/dist/radix-vega/action-bar.js.map +1 -0
- package/dist/radix-vega/alert-dialog.js.map +1 -1
- package/dist/radix-vega/alert.js.map +1 -1
- package/dist/radix-vega/avatar-group.d.ts +19 -0
- package/dist/radix-vega/avatar-group.js +193 -0
- package/dist/radix-vega/avatar-group.js.map +1 -0
- package/dist/radix-vega/avatar.d.ts +1 -3
- package/dist/radix-vega/avatar.js +1 -27
- package/dist/radix-vega/avatar.js.map +1 -1
- package/dist/radix-vega/badge-overflow.d.ts +21 -0
- package/dist/radix-vega/badge-overflow.js +223 -0
- package/dist/radix-vega/badge-overflow.js.map +1 -0
- package/dist/radix-vega/badge.d.ts +1 -1
- package/dist/radix-vega/badge.js.map +1 -1
- package/dist/radix-vega/breadcrumb.js.map +1 -1
- package/dist/radix-vega/button-group.js.map +1 -1
- package/dist/radix-vega/button.d.ts +2 -2
- package/dist/radix-vega/button.js.map +1 -1
- package/dist/radix-vega/calendar.js.map +1 -1
- package/dist/radix-vega/card.js.map +1 -1
- package/dist/radix-vega/carousel.js.map +1 -1
- package/dist/radix-vega/chart.js.map +1 -1
- package/dist/radix-vega/checkbox-group.d.ts +12 -0
- package/dist/radix-vega/checkbox-group.js +119 -0
- package/dist/radix-vega/checkbox-group.js.map +1 -0
- package/dist/radix-vega/checkbox.js.map +1 -1
- package/dist/radix-vega/circular-progress.d.ts +27 -0
- package/dist/radix-vega/circular-progress.js +252 -0
- package/dist/radix-vega/circular-progress.js.map +1 -0
- package/dist/radix-vega/color-picker.d.ts +85 -0
- package/dist/radix-vega/color-picker.js +1683 -0
- package/dist/radix-vega/color-picker.js.map +1 -0
- package/dist/radix-vega/color-swatch.d.ts +17 -0
- package/dist/radix-vega/color-swatch.js +95 -0
- package/dist/radix-vega/color-swatch.js.map +1 -0
- package/dist/radix-vega/combobox.d.ts +18 -22
- package/dist/radix-vega/combobox.js +118 -276
- package/dist/radix-vega/combobox.js.map +1 -1
- package/dist/radix-vega/command.js.map +1 -1
- package/dist/radix-vega/compare-slider.d.ts +32 -0
- package/dist/radix-vega/compare-slider.js +393 -0
- package/dist/radix-vega/compare-slider.js.map +1 -0
- package/dist/radix-vega/context-menu.js.map +1 -1
- package/dist/radix-vega/cropper.d.ts +89 -0
- package/dist/radix-vega/cropper.js +1396 -0
- package/dist/radix-vega/cropper.js.map +1 -0
- package/dist/radix-vega/dialog.js.map +1 -1
- package/dist/radix-vega/drawer.js.map +1 -1
- package/dist/radix-vega/dropdown-menu.js.map +1 -1
- package/dist/radix-vega/editable.d.ts +100 -0
- package/dist/radix-vega/editable.js +684 -0
- package/dist/radix-vega/editable.js.map +1 -0
- package/dist/radix-vega/empty.js.map +1 -1
- package/dist/radix-vega/field.js.map +1 -1
- package/dist/radix-vega/file-upload.d.ts +89 -0
- package/dist/radix-vega/file-upload.js +1089 -0
- package/dist/radix-vega/file-upload.js.map +1 -0
- package/dist/radix-vega/gauge.d.ts +27 -0
- package/dist/radix-vega/gauge.js +359 -0
- package/dist/radix-vega/gauge.js.map +1 -0
- package/dist/radix-vega/hover-card.js.map +1 -1
- package/dist/radix-vega/index.d.ts +50 -3
- package/dist/radix-vega/index.js +23001 -2667
- package/dist/radix-vega/index.js.map +1 -1
- package/dist/radix-vega/input-group.d.ts +1 -1
- package/dist/radix-vega/input-group.js.map +1 -1
- package/dist/radix-vega/input-otp.js.map +1 -1
- package/dist/radix-vega/input.js.map +1 -1
- package/dist/radix-vega/item.d.ts +2 -2
- package/dist/radix-vega/item.js.map +1 -1
- package/dist/radix-vega/kanban.d.ts +62 -0
- package/dist/radix-vega/kanban.js +831 -0
- package/dist/radix-vega/kanban.js.map +1 -0
- package/dist/radix-vega/kbd.js.map +1 -1
- package/dist/radix-vega/key-value.d.ts +82 -0
- package/dist/radix-vega/key-value.js +765 -0
- package/dist/radix-vega/key-value.js.map +1 -0
- package/dist/radix-vega/label.js.map +1 -1
- package/dist/radix-vega/listbox.d.ts +11 -0
- package/dist/radix-vega/listbox.js +90 -0
- package/dist/radix-vega/listbox.js.map +1 -0
- package/dist/radix-vega/mask-input.d.ts +64 -0
- package/dist/radix-vega/mask-input.js +1186 -0
- package/dist/radix-vega/mask-input.js.map +1 -0
- package/dist/radix-vega/media-player.d.ts +127 -0
- package/dist/radix-vega/media-player.js +2696 -0
- package/dist/radix-vega/media-player.js.map +1 -0
- package/dist/radix-vega/mention.d.ts +11 -0
- package/dist/radix-vega/mention.js +94 -0
- package/dist/radix-vega/mention.js.map +1 -0
- package/dist/radix-vega/menubar.js.map +1 -1
- package/dist/radix-vega/native-select.js.map +1 -1
- package/dist/radix-vega/navigation-menu.js.map +1 -1
- package/dist/radix-vega/pagination.js.map +1 -1
- package/dist/radix-vega/phone-input.d.ts +48 -0
- package/dist/radix-vega/phone-input.js +957 -0
- package/dist/radix-vega/phone-input.js.map +1 -0
- package/dist/radix-vega/popover.js.map +1 -1
- package/dist/radix-vega/progress.js.map +1 -1
- package/dist/radix-vega/qr-code.d.ts +53 -0
- package/dist/radix-vega/qr-code.js +396 -0
- package/dist/radix-vega/qr-code.js.map +1 -0
- package/dist/radix-vega/radio-group.js.map +1 -1
- package/dist/radix-vega/rating.d.ts +47 -0
- package/dist/radix-vega/rating.js +749 -0
- package/dist/radix-vega/rating.js.map +1 -0
- package/dist/radix-vega/relative-time-card.d.ts +22 -0
- package/dist/radix-vega/relative-time-card.js +236 -0
- package/dist/radix-vega/relative-time-card.js.map +1 -0
- package/dist/radix-vega/resizable.js.map +1 -1
- package/dist/radix-vega/responsive-dialog.d.ts +20 -0
- package/dist/radix-vega/responsive-dialog.js +483 -0
- package/dist/radix-vega/responsive-dialog.js.map +1 -0
- package/dist/radix-vega/scroll-area.js.map +1 -1
- package/dist/radix-vega/scroll-spy.d.ts +39 -0
- package/dist/radix-vega/scroll-spy.js +372 -0
- package/dist/radix-vega/scroll-spy.js.map +1 -0
- package/dist/radix-vega/scroller.d.ts +20 -0
- package/dist/radix-vega/scroller.js +352 -0
- package/dist/radix-vega/scroller.js.map +1 -0
- package/dist/radix-vega/segmented-input.d.ts +29 -0
- package/dist/radix-vega/segmented-input.js +178 -0
- package/dist/radix-vega/segmented-input.js.map +1 -0
- package/dist/radix-vega/select.js.map +1 -1
- package/dist/radix-vega/separator.js.map +1 -1
- package/dist/radix-vega/sheet.js.map +1 -1
- package/dist/radix-vega/sidebar.js +8 -6
- package/dist/radix-vega/sidebar.js.map +1 -1
- package/dist/radix-vega/skeleton.js.map +1 -1
- package/dist/radix-vega/slider.js.map +1 -1
- package/dist/radix-vega/sortable.d.ts +51 -0
- package/dist/radix-vega/sortable.js +444 -0
- package/dist/radix-vega/sortable.js.map +1 -0
- package/dist/radix-vega/speed-dial.d.ts +46 -0
- package/dist/radix-vega/speed-dial.js +898 -0
- package/dist/radix-vega/speed-dial.js.map +1 -0
- package/dist/radix-vega/spinner.js.map +1 -1
- package/dist/radix-vega/stack.d.ts +21 -0
- package/dist/radix-vega/stack.js +268 -0
- package/dist/radix-vega/stack.js.map +1 -0
- package/dist/radix-vega/stat.d.ts +24 -0
- package/dist/radix-vega/stat.js +147 -0
- package/dist/radix-vega/stat.js.map +1 -0
- package/dist/radix-vega/status.d.ts +18 -0
- package/dist/radix-vega/status.js +71 -0
- package/dist/radix-vega/status.js.map +1 -0
- package/dist/radix-vega/stepper.d.ts +73 -0
- package/dist/radix-vega/stepper.js +973 -0
- package/dist/radix-vega/stepper.js.map +1 -0
- package/dist/radix-vega/swap.d.ts +29 -0
- package/dist/radix-vega/swap.js +214 -0
- package/dist/radix-vega/swap.js.map +1 -0
- package/dist/radix-vega/switch.js.map +1 -1
- package/dist/radix-vega/table.js.map +1 -1
- package/dist/radix-vega/tabs.d.ts +1 -1
- package/dist/radix-vega/tabs.js.map +1 -1
- package/dist/radix-vega/tags-input.d.ts +12 -0
- package/dist/radix-vega/tags-input.js +98 -0
- package/dist/radix-vega/tags-input.js.map +1 -0
- package/dist/radix-vega/textarea.js.map +1 -1
- package/dist/radix-vega/time-picker.d.ts +88 -0
- package/dist/radix-vega/time-picker.js +1750 -0
- package/dist/radix-vega/time-picker.js.map +1 -0
- package/dist/radix-vega/timeline.d.ts +32 -0
- package/dist/radix-vega/timeline.js +611 -0
- package/dist/radix-vega/timeline.js.map +1 -0
- package/dist/radix-vega/toggle-group.js.map +1 -1
- package/dist/radix-vega/toggle.js.map +1 -1
- package/dist/radix-vega/tooltip.js.map +1 -1
- package/dist/radix-vega/tour.d.ts +109 -0
- package/dist/radix-vega/tour.js +1314 -0
- package/dist/radix-vega/tour.js.map +1 -0
- package/dist/radix-vega/visually-hidden-input.d.ts +8 -0
- package/dist/radix-vega/visually-hidden-input.js +33 -0
- package/dist/radix-vega/visually-hidden-input.js.map +1 -0
- package/package.json +29 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/compose-refs.ts","../../src/lib/utils.ts","../../src/radix-vega/visually-hidden-input.tsx","../../src/hooks/use-isomorphic-layout-effect.ts","../../src/hooks/use-as-ref.ts","../../src/hooks/use-lazy-ref.ts","../../src/radix-vega/editable.tsx"],"names":["React","React2","React3","React4","React5","value","jsx"],"mappings":"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","file":"editable.js","sourcesContent":["import * as React from \"react\";\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n if (typeof ref === \"function\") {\n return ref(value);\n }\n\n if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup === \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n\n // React <19 will log an error to the console if a callback ref returns a\n // value. We don't use ref cleanups internally so this will only happen if a\n // user's ref callback returns a value, which we only expect if they are\n // using the cleanup functionality added in React 19.\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup === \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n // biome-ignore lint/correctness/useExhaustiveDependencies: we want to memoize by all values\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merges Tailwind class names, resolving any conflicts.\n *\n * @param inputs - An array of class names to merge.\n * @returns A string of merged and optimized class names.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface VisuallyHiddenInputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n control?: HTMLElement | null;\n}\n\nconst VisuallyHiddenInput = React.forwardRef<\n HTMLInputElement,\n VisuallyHiddenInputProps\n>(({ className, control, ...props }, ref) => {\n const input = (\n <input\n ref={ref}\n className={cn(\n \"absolute h-px w-px overflow-hidden whitespace-nowrap border-0 p-0\",\n \"[clip:rect(0,0,0,0)]\",\n className\n )}\n {...props}\n />\n );\n\n // If control is provided, render input inside control via portal\n if (control) {\n return ReactDOM.createPortal(input, control);\n }\n\n return input;\n});\n\nVisuallyHiddenInput.displayName = \"VisuallyHiddenInput\";\n\nexport { VisuallyHiddenInput };\n","import * as React from \"react\";\n\nconst useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import * as React from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"@/hooks/use-isomorphic-layout-effect\";\n\nfunction useAsRef<T>(props: T) {\n const ref = React.useRef<T>(props);\n\n useIsomorphicLayoutEffect(() => {\n ref.current = props;\n });\n\n return ref;\n}\n\nexport { useAsRef };\n","import * as React from \"react\";\n\nfunction useLazyRef<T>(fn: () => T) {\n const ref = React.useRef<T | null>(null);\n\n if (ref.current === null) {\n ref.current = fn();\n }\n\n return ref as React.RefObject<T>;\n}\n\nexport { useLazyRef };\n","\"use client\";\n\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@/lib/compose-refs\";\nimport { cn } from \"@/lib/utils\";\nimport { VisuallyHiddenInput } from \"@/radix-vega/visually-hidden-input\";\nimport { useAsRef } from \"@/hooks/use-as-ref\";\nimport { useIsomorphicLayoutEffect } from \"@/hooks/use-isomorphic-layout-effect\";\nimport { useLazyRef } from \"@/hooks/use-lazy-ref\";\n\nconst ROOT_NAME = \"Editable\";\nconst LABEL_NAME = \"EditableLabel\";\nconst AREA_NAME = \"EditableArea\";\nconst PREVIEW_NAME = \"EditablePreview\";\nconst INPUT_NAME = \"EditableInput\";\nconst TRIGGER_NAME = \"EditableTrigger\";\nconst TOOLBAR_NAME = \"EditableToolbar\";\nconst CANCEL_NAME = \"EditableCancel\";\nconst SUBMIT_NAME = \"EditableSubmit\";\n\ntype Direction = \"ltr\" | \"rtl\";\n\ninterface DivProps extends React.ComponentProps<\"div\"> {\n asChild?: boolean;\n}\n\ntype RootElement = React.ComponentRef<typeof Editable>;\ntype PreviewElement = React.ComponentRef<typeof EditablePreview>;\ntype SubmitElement = React.ComponentRef<typeof EditableSubmit>;\ntype InputElement = React.ComponentRef<typeof EditableInput>;\n\ninterface StoreState {\n value: string;\n editing: boolean;\n}\n\ninterface Store {\n subscribe: (callback: () => void) => () => void;\n getState: () => StoreState;\n setState: <K extends keyof StoreState>(key: K, value: StoreState[K]) => void;\n notify: () => void;\n}\n\nconst StoreContext = React.createContext<Store | null>(null);\n\nfunction useStoreContext(consumerName: string) {\n const context = React.useContext(StoreContext);\n if (!context) {\n throw new Error(`\\`${consumerName}\\` must be used within \\`${ROOT_NAME}\\``);\n }\n return context;\n}\n\nfunction useStore<T>(\n selector: (state: StoreState) => T,\n ogStore?: Store | null,\n): T {\n const contextStore = React.useContext(StoreContext);\n\n const store = ogStore ?? contextStore;\n\n if (!store) {\n throw new Error(`\\`useStore\\` must be used within \\`${ROOT_NAME}\\``);\n }\n\n const getSnapshot = React.useCallback(\n () => selector(store.getState()),\n [store, selector],\n );\n\n return React.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);\n}\n\ninterface EditableContextValue {\n rootId: string;\n inputId: string;\n labelId: string;\n defaultValue: string;\n onCancel: () => void;\n onEdit: () => void;\n onSubmit: (value: string) => void;\n onEnterKeyDown?: (event: KeyboardEvent) => void;\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n dir?: Direction;\n maxLength?: number;\n placeholder?: string;\n triggerMode: \"click\" | \"dblclick\" | \"focus\";\n autosize: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n invalid?: boolean;\n}\n\nconst EditableContext = React.createContext<EditableContextValue | null>(null);\n\nfunction useEditableContext(consumerName: string) {\n const context = React.useContext(EditableContext);\n if (!context) {\n throw new Error(`\\`${consumerName}\\` must be used within \\`${ROOT_NAME}\\``);\n }\n return context;\n}\n\ninterface EditableProps extends Omit<DivProps, \"onSubmit\"> {\n id?: string;\n defaultValue?: string;\n value?: string;\n onValueChange?: (value: string) => void;\n defaultEditing?: boolean;\n editing?: boolean;\n onEditingChange?: (editing: boolean) => void;\n onCancel?: () => void;\n onEdit?: () => void;\n onSubmit?: (value: string) => void;\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n onEnterKeyDown?: (event: KeyboardEvent) => void;\n dir?: Direction;\n maxLength?: number;\n name?: string;\n placeholder?: string;\n triggerMode?: EditableContextValue[\"triggerMode\"];\n autosize?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n invalid?: boolean;\n}\n\nfunction Editable(props: EditableProps) {\n const {\n value: valueProp,\n defaultValue = \"\",\n defaultEditing,\n editing: editingProp,\n onValueChange,\n onEditingChange,\n onCancel: onCancelProp,\n onEdit: onEditProp,\n onSubmit: onSubmitProp,\n onEscapeKeyDown,\n onEnterKeyDown,\n dir: dirProp,\n maxLength,\n name,\n placeholder,\n triggerMode = \"click\",\n asChild,\n autosize = false,\n disabled,\n required,\n readOnly,\n invalid,\n className,\n id,\n ref,\n ...rootProps\n } = props;\n\n const instanceId = React.useId();\n const rootId = id ?? instanceId;\n\n const inputId = React.useId();\n const labelId = React.useId();\n\n const dir = useDirection(dirProp);\n\n const previousValueRef = React.useRef(defaultValue);\n\n const [formTrigger, setFormTrigger] = React.useState<RootElement | null>(\n null,\n );\n const composedRef = useComposedRefs(ref, (node) => setFormTrigger(node));\n const isFormControl = formTrigger ? !!formTrigger.closest(\"form\") : true;\n\n const listenersRef = useLazyRef(() => new Set<() => void>());\n const stateRef = useLazyRef<StoreState>(() => ({\n value: valueProp ?? defaultValue,\n editing: editingProp ?? defaultEditing ?? false,\n }));\n\n const propsRef = useAsRef({\n onValueChange,\n onEditingChange,\n onCancel: onCancelProp,\n onEdit: onEditProp,\n onSubmit: onSubmitProp,\n onEscapeKeyDown,\n onEnterKeyDown,\n });\n\n const store = React.useMemo<Store>(() => {\n return {\n subscribe: (cb) => {\n listenersRef.current.add(cb);\n return () => listenersRef.current.delete(cb);\n },\n getState: () => stateRef.current,\n setState: (key, value) => {\n if (Object.is(stateRef.current[key], value)) return;\n\n if (key === \"value\" && typeof value === \"string\") {\n stateRef.current.value = value;\n propsRef.current.onValueChange?.(value);\n } else if (key === \"editing\" && typeof value === \"boolean\") {\n stateRef.current.editing = value;\n propsRef.current.onEditingChange?.(value);\n } else {\n stateRef.current[key] = value;\n }\n\n store.notify();\n },\n notify: () => {\n for (const cb of listenersRef.current) {\n cb();\n }\n },\n };\n }, [listenersRef, stateRef, propsRef]);\n\n const value = useStore((state) => state.value, store);\n\n useIsomorphicLayoutEffect(() => {\n if (valueProp !== undefined) {\n store.setState(\"value\", valueProp);\n }\n }, [valueProp]);\n\n useIsomorphicLayoutEffect(() => {\n if (editingProp !== undefined) {\n store.setState(\"editing\", editingProp);\n }\n }, [editingProp]);\n\n const onCancel = React.useCallback(() => {\n const prevValue = previousValueRef.current;\n store.setState(\"value\", prevValue);\n store.setState(\"editing\", false);\n propsRef.current.onCancel?.();\n }, [store, propsRef]);\n\n const onEdit = React.useCallback(() => {\n const currentValue = store.getState().value;\n previousValueRef.current = currentValue;\n store.setState(\"editing\", true);\n propsRef.current.onEdit?.();\n }, [store, propsRef]);\n\n const onSubmit = React.useCallback(\n (newValue: string) => {\n store.setState(\"value\", newValue);\n store.setState(\"editing\", false);\n propsRef.current.onSubmit?.(newValue);\n },\n [store, propsRef],\n );\n\n const contextValue = React.useMemo<EditableContextValue>(\n () => ({\n rootId,\n inputId,\n labelId,\n defaultValue,\n onSubmit,\n onEdit,\n onCancel,\n onEscapeKeyDown,\n onEnterKeyDown,\n dir,\n maxLength,\n placeholder,\n triggerMode,\n autosize,\n disabled,\n readOnly,\n required,\n invalid,\n }),\n [\n rootId,\n inputId,\n labelId,\n defaultValue,\n onSubmit,\n onCancel,\n onEdit,\n onEscapeKeyDown,\n onEnterKeyDown,\n dir,\n maxLength,\n placeholder,\n triggerMode,\n autosize,\n disabled,\n required,\n readOnly,\n invalid,\n ],\n );\n\n const RootPrimitive = asChild ? Slot : \"div\";\n\n return (\n <StoreContext.Provider value={store}>\n <EditableContext.Provider value={contextValue}>\n <RootPrimitive\n data-slot=\"editable\"\n {...rootProps}\n id={id}\n ref={composedRef}\n className={cn(\"flex min-w-0 flex-col gap-2\", className)}\n />\n {isFormControl && (\n <VisuallyHiddenInput\n type=\"hidden\"\n control={formTrigger}\n name={name}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n />\n )}\n </EditableContext.Provider>\n </StoreContext.Provider>\n );\n}\n\ninterface EditableLabelProps extends React.ComponentProps<\"label\"> {\n asChild?: boolean;\n}\n\nfunction EditableLabel(props: EditableLabelProps) {\n const { asChild, className, children, ref, ...labelProps } = props;\n const context = useEditableContext(LABEL_NAME);\n\n const LabelPrimitive = asChild ? Slot : \"label\";\n\n return (\n <LabelPrimitive\n data-disabled={context.disabled ? \"\" : undefined}\n data-invalid={context.invalid ? \"\" : undefined}\n data-required={context.required ? \"\" : undefined}\n data-slot=\"editable-label\"\n {...labelProps}\n ref={ref}\n id={context.labelId}\n htmlFor={context.inputId}\n className={cn(\n \"font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 data-required:after:ml-0.5 data-required:after:text-destructive data-required:after:content-['*']\",\n className,\n )}\n >\n {children}\n </LabelPrimitive>\n );\n}\n\ninterface EditableAreaProps extends React.ComponentProps<\"div\"> {\n asChild?: boolean;\n}\n\nfunction EditableArea(props: EditableAreaProps) {\n const { asChild, className, ref, ...areaProps } = props;\n const context = useEditableContext(AREA_NAME);\n const editing = useStore((state) => state.editing);\n\n const AreaPrimitive = asChild ? Slot : \"div\";\n\n return (\n <AreaPrimitive\n role=\"group\"\n data-disabled={context.disabled ? \"\" : undefined}\n data-editing={editing ? \"\" : undefined}\n data-slot=\"editable-area\"\n dir={context.dir}\n {...areaProps}\n ref={ref}\n className={cn(\n \"relative inline-block min-w-0 data-disabled:cursor-not-allowed data-disabled:opacity-50\",\n className,\n )}\n />\n );\n}\n\ninterface EditablePreviewProps extends React.ComponentProps<\"div\"> {\n asChild?: boolean;\n}\n\nfunction EditablePreview(props: EditablePreviewProps) {\n const {\n onClick: onClickProp,\n onDoubleClick: onDoubleClickProp,\n onFocus: onFocusProp,\n onKeyDown: onKeyDownProp,\n asChild,\n className,\n ref,\n ...previewProps\n } = props;\n\n const context = useEditableContext(PREVIEW_NAME);\n const value = useStore((state) => state.value);\n const editing = useStore((state) => state.editing);\n\n const propsRef = useAsRef({\n onClick: onClickProp,\n onDoubleClick: onDoubleClickProp,\n onFocus: onFocusProp,\n onKeyDown: onKeyDownProp,\n });\n\n const onTrigger = React.useCallback(() => {\n if (context.disabled || context.readOnly) return;\n context.onEdit();\n }, [context.onEdit, context.disabled, context.readOnly]);\n\n const onClick = React.useCallback(\n (event: React.MouseEvent<PreviewElement>) => {\n propsRef.current.onClick?.(event);\n if (event.defaultPrevented || context.triggerMode !== \"click\") return;\n\n onTrigger();\n },\n [propsRef, onTrigger, context.triggerMode],\n );\n\n const onDoubleClick = React.useCallback(\n (event: React.MouseEvent<PreviewElement>) => {\n propsRef.current.onDoubleClick?.(event);\n if (event.defaultPrevented || context.triggerMode !== \"dblclick\") return;\n\n onTrigger();\n },\n [propsRef, onTrigger, context.triggerMode],\n );\n\n const onFocus = React.useCallback(\n (event: React.FocusEvent<PreviewElement>) => {\n propsRef.current.onFocus?.(event);\n if (event.defaultPrevented || context.triggerMode !== \"focus\") return;\n\n onTrigger();\n },\n [propsRef, onTrigger, context.triggerMode],\n );\n\n const onKeyDown = React.useCallback(\n (event: React.KeyboardEvent<PreviewElement>) => {\n propsRef.current.onKeyDown?.(event);\n if (event.defaultPrevented) return;\n\n if (event.key === \"Enter\") {\n const nativeEvent = event.nativeEvent;\n if (context.onEnterKeyDown) {\n context.onEnterKeyDown(nativeEvent);\n if (nativeEvent.defaultPrevented) return;\n }\n onTrigger();\n }\n },\n [propsRef, onTrigger, context.onEnterKeyDown],\n );\n\n const PreviewPrimitive = asChild ? Slot : \"div\";\n\n if (editing || context.readOnly) return null;\n\n return (\n <PreviewPrimitive\n role=\"button\"\n aria-disabled={context.disabled || context.readOnly}\n data-empty={!value ? \"\" : undefined}\n data-disabled={context.disabled ? \"\" : undefined}\n data-readonly={context.readOnly ? \"\" : undefined}\n data-slot=\"editable-preview\"\n tabIndex={context.disabled || context.readOnly ? undefined : 0}\n {...previewProps}\n ref={ref}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n className={cn(\n \"cursor-text truncate rounded-sm border border-transparent py-1 text-base focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring data-disabled:cursor-not-allowed data-readonly:cursor-default data-empty:text-muted-foreground data-disabled:opacity-50 md:text-sm\",\n className,\n )}\n >\n {value || context.placeholder}\n </PreviewPrimitive>\n );\n}\n\ninterface EditableInputProps extends React.ComponentProps<\"input\"> {\n asChild?: boolean;\n maxLength?: number;\n}\n\nfunction EditableInput(props: EditableInputProps) {\n const {\n onBlur: onBlurProp,\n onChange: onChangeProp,\n onKeyDown: onKeyDownProp,\n asChild,\n className,\n disabled,\n readOnly,\n required,\n maxLength,\n ref,\n ...inputProps\n } = props;\n\n const context = useEditableContext(INPUT_NAME);\n const store = useStoreContext(INPUT_NAME);\n const value = useStore((state) => state.value);\n const editing = useStore((state) => state.editing);\n const inputRef = React.useRef<InputElement>(null);\n const composedRef = useComposedRefs(ref, inputRef);\n\n const propsRef = useAsRef({\n onBlur: onBlurProp,\n onChange: onChangeProp,\n onKeyDown: onKeyDownProp,\n });\n\n const isDisabled = disabled || context.disabled;\n const isReadOnly = readOnly || context.readOnly;\n const isRequired = required || context.required;\n\n const onAutosize = React.useCallback(\n (target: InputElement) => {\n if (!context.autosize) return;\n\n if (target instanceof HTMLTextAreaElement) {\n target.style.height = \"0\";\n target.style.height = `${target.scrollHeight}px`;\n } else {\n target.style.width = \"0\";\n target.style.width = `${target.scrollWidth + 4}px`;\n }\n },\n [context.autosize],\n );\n\n const onBlur = React.useCallback(\n (event: React.FocusEvent<InputElement>) => {\n if (isDisabled || isReadOnly) return;\n\n propsRef.current.onBlur?.(event);\n if (event.defaultPrevented) return;\n\n const relatedTarget = event.relatedTarget;\n\n const isAction =\n relatedTarget instanceof HTMLElement &&\n (relatedTarget.closest(`[data-slot=\"editable-trigger\"]`) ||\n relatedTarget.closest(`[data-slot=\"editable-cancel\"]`));\n\n if (!isAction) {\n context.onSubmit(value);\n }\n },\n [value, context.onSubmit, propsRef, isDisabled, isReadOnly],\n );\n\n const onChange = React.useCallback(\n (event: React.ChangeEvent<InputElement>) => {\n if (isDisabled || isReadOnly) return;\n\n propsRef.current.onChange?.(event);\n if (event.defaultPrevented) return;\n\n store.setState(\"value\", event.target.value);\n onAutosize(event.target);\n },\n [store, propsRef, onAutosize, isDisabled, isReadOnly],\n );\n\n const onKeyDown = React.useCallback(\n (event: React.KeyboardEvent<InputElement>) => {\n if (isDisabled || isReadOnly) return;\n\n propsRef.current.onKeyDown?.(event);\n if (event.defaultPrevented) return;\n\n if (event.key === \"Escape\") {\n const nativeEvent = event.nativeEvent;\n if (context.onEscapeKeyDown) {\n context.onEscapeKeyDown(nativeEvent);\n if (nativeEvent.defaultPrevented) return;\n }\n context.onCancel();\n } else if (event.key === \"Enter\") {\n context.onSubmit(value);\n }\n },\n [\n value,\n context.onSubmit,\n context.onCancel,\n context.onEscapeKeyDown,\n propsRef,\n isDisabled,\n isReadOnly,\n ],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!editing || isDisabled || isReadOnly || !inputRef.current) return;\n\n const frameId = window.requestAnimationFrame(() => {\n if (!inputRef.current) return;\n\n inputRef.current.focus();\n inputRef.current.select();\n onAutosize(inputRef.current);\n });\n\n return () => {\n window.cancelAnimationFrame(frameId);\n };\n }, [editing, onAutosize, isDisabled, isReadOnly]);\n\n const InputPrimitive = asChild ? Slot : \"input\";\n\n if (!editing && !isReadOnly) return null;\n\n return (\n <InputPrimitive\n aria-required={isRequired}\n aria-invalid={context.invalid}\n data-slot=\"editable-input\"\n dir={context.dir}\n disabled={isDisabled}\n readOnly={isReadOnly}\n required={isRequired}\n {...inputProps}\n id={context.inputId}\n aria-labelledby={context.labelId}\n ref={composedRef}\n maxLength={maxLength}\n placeholder={context.placeholder}\n value={value}\n onBlur={onBlur}\n onChange={onChange}\n onKeyDown={onKeyDown}\n className={cn(\n \"flex rounded-sm border border-input bg-transparent py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n context.autosize ? \"w-auto\" : \"w-full\",\n className,\n )}\n />\n );\n}\n\ninterface EditableTriggerProps extends React.ComponentProps<\"button\"> {\n asChild?: boolean;\n forceMount?: boolean;\n}\n\nfunction EditableTrigger(props: EditableTriggerProps) {\n const { asChild, forceMount = false, ref, ...triggerProps } = props;\n const context = useEditableContext(TRIGGER_NAME);\n const editing = useStore((state) => state.editing);\n\n const onTrigger = React.useCallback(() => {\n if (context.disabled || context.readOnly) return;\n context.onEdit();\n }, [context.disabled, context.readOnly, context.onEdit]);\n\n const TriggerPrimitive = asChild ? Slot : \"button\";\n\n if (!forceMount && (editing || context.readOnly)) return null;\n\n return (\n <TriggerPrimitive\n type=\"button\"\n aria-controls={context.rootId}\n aria-disabled={context.disabled || context.readOnly}\n data-disabled={context.disabled ? \"\" : undefined}\n data-readonly={context.readOnly ? \"\" : undefined}\n data-slot=\"editable-trigger\"\n {...triggerProps}\n ref={ref}\n onClick={context.triggerMode === \"click\" ? onTrigger : undefined}\n onDoubleClick={context.triggerMode === \"dblclick\" ? onTrigger : undefined}\n />\n );\n}\n\ninterface EditableToolbarProps extends React.ComponentProps<\"div\"> {\n asChild?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n}\n\nfunction EditableToolbar(props: EditableToolbarProps) {\n const {\n asChild,\n className,\n orientation = \"horizontal\",\n ref,\n ...toolbarProps\n } = props;\n const context = useEditableContext(TOOLBAR_NAME);\n\n const ToolbarPrimitive = asChild ? Slot : \"div\";\n\n return (\n <ToolbarPrimitive\n role=\"toolbar\"\n aria-controls={context.rootId}\n aria-orientation={orientation}\n data-slot=\"editable-toolbar\"\n dir={context.dir}\n {...toolbarProps}\n ref={ref}\n className={cn(\n \"flex items-center gap-2\",\n orientation === \"vertical\" && \"flex-col\",\n className,\n )}\n />\n );\n}\n\ninterface EditableCancelProps extends React.ComponentProps<\"button\"> {\n asChild?: boolean;\n}\n\nfunction EditableCancel(props: EditableCancelProps) {\n const { onClick: onClickProp, asChild, ref, ...cancelProps } = props;\n const context = useEditableContext(CANCEL_NAME);\n const editing = useStore((state) => state.editing);\n\n const propsRef = useAsRef({\n onClick: onClickProp,\n });\n\n const onClick = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (context.disabled || context.readOnly) return;\n\n propsRef.current.onClick?.(event);\n if (event.defaultPrevented) return;\n\n context.onCancel();\n },\n [propsRef, context.onCancel, context.disabled, context.readOnly],\n );\n\n const CancelPrimitive = asChild ? Slot : \"button\";\n\n if (!editing && !context.readOnly) return null;\n\n return (\n <CancelPrimitive\n type=\"button\"\n aria-controls={context.rootId}\n data-slot=\"editable-cancel\"\n {...cancelProps}\n onClick={onClick}\n ref={ref}\n />\n );\n}\n\ninterface EditableSubmitProps extends React.ComponentProps<\"button\"> {\n asChild?: boolean;\n}\n\nfunction EditableSubmit(props: EditableSubmitProps) {\n const { onClick: onClickProp, asChild, ref, ...submitProps } = props;\n const context = useEditableContext(SUBMIT_NAME);\n const value = useStore((state) => state.value);\n const editing = useStore((state) => state.editing);\n\n const propsRef = useAsRef({\n onClick: onClickProp,\n });\n\n const onClick = React.useCallback(\n (event: React.MouseEvent<SubmitElement>) => {\n if (context.disabled || context.readOnly) return;\n\n propsRef.current.onClick?.(event);\n if (event.defaultPrevented) return;\n\n context.onSubmit(value);\n },\n [propsRef, context.onSubmit, value, context.disabled, context.readOnly],\n );\n\n const SubmitPrimitive = asChild ? Slot : \"button\";\n\n if (!editing && !context.readOnly) return null;\n\n return (\n <SubmitPrimitive\n type=\"button\"\n aria-controls={context.rootId}\n data-slot=\"editable-submit\"\n {...submitProps}\n ref={ref}\n onClick={onClick}\n />\n );\n}\n\nexport {\n Editable,\n EditableLabel,\n EditableArea,\n EditablePreview,\n EditableInput,\n EditableTrigger,\n EditableToolbar,\n EditableCancel,\n EditableSubmit,\n //\n useStore as useEditable,\n //\n type EditableProps,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/empty.tsx"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/empty.tsx"],"names":[],"mappings":";;;;;;AASO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACPA,SAAS,KAAA,CAAM,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACnE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,8HAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACzE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,2CAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,IAAM,kBAAA,GAAqB,GAAA;AAAA,EACzB,6FAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,gBAAA;AAAA,QACT,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EAA0E;AACxE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,YAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAW,EAAA,CAAG,kBAAA,CAAmB,EAAE,OAAA,EAAS,SAAA,EAAW,CAAC,CAAA;AAAA,MACvD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACxE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,oCAAA,EAAsC,SAAS,CAAA;AAAA,MAC5D,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,gBAAA,CAAiB,EAAE,SAAA,EAAW,GAAG,OAAM,EAA8B;AAC5E,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,yGAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,YAAA,CAAa,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AAC1E,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,+EAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"empty.js","sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merges Tailwind class names, resolving any conflicts.\n *\n * @param inputs - An array of class names to merge.\n * @returns A string of merged and optimized class names.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n","import { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"gap-4 rounded-lg border-dashed p-12 flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"gap-2 flex max-w-sm flex-col items-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-sm/relaxed text-muted-foreground [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"gap-4 text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/label.tsx","../../src/radix-vega/separator.tsx","../../src/radix-vega/field.tsx"],"names":["LabelPrimitive","jsx","SeparatorPrimitive"],"mappings":"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","file":"field.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","import * as React from \"react\"\nimport { Separator as SeparatorPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/radix-vega/label\"\nimport { Separator } from \"@/radix-vega/separator\"\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\"gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\"mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base\", className)}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4 group/field-group @container/field-group flex w-full flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\"data-[invalid=true]:text-destructive gap-3 group/field flex w-full\", {\n variants: {\n orientation: {\n vertical:\n \"flex-col *:w-full [&>.sr-only]:w-auto\",\n horizontal:\n \"flex-row items-center *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n responsive:\n \"flex-col *:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:*:data-[slot=field-label]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n})\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"gap-1 group/field-content flex flex-1 flex-col leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"has-data-checked:bg-primary/5 has-data-checked:border-primary/30 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit leading-snug\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-data-horizontal/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\"-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative\", className)}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"text-muted-foreground px-2 bg-background relative mx-auto block w-fit\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/label.tsx","../../src/radix-vega/separator.tsx","../../src/radix-vega/field.tsx"],"names":["LabelPrimitive","jsx","SeparatorPrimitive"],"mappings":"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","file":"field.js","sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merges Tailwind class names, resolving any conflicts.\n *\n * @param inputs - An array of class names to merge.\n * @returns A string of merged and optimized class names.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","import * as React from \"react\"\nimport { Separator as SeparatorPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/radix-vega/label\"\nimport { Separator } from \"@/radix-vega/separator\"\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\"gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\"mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base\", className)}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4 group/field-group @container/field-group flex w-full flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\"data-[invalid=true]:text-destructive gap-3 group/field flex w-full\", {\n variants: {\n orientation: {\n vertical:\n \"flex-col *:w-full [&>.sr-only]:w-auto\",\n horizontal:\n \"flex-row items-center *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n responsive:\n \"flex-col *:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:*:data-[slot=field-label]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n})\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"gap-1 group/field-content flex flex-1 flex-col leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"has-data-checked:bg-primary/5 has-data-checked:border-primary/30 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit leading-snug\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-data-horizontal/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\"-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative\", className)}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"text-muted-foreground px-2 bg-background relative mx-auto block w-fit\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n}\n"]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
type Direction = "ltr" | "rtl";
|
|
5
|
+
interface FileState {
|
|
6
|
+
file: File;
|
|
7
|
+
progress: number;
|
|
8
|
+
error?: string;
|
|
9
|
+
status: "idle" | "uploading" | "error" | "success";
|
|
10
|
+
}
|
|
11
|
+
interface StoreState {
|
|
12
|
+
files: Map<File, FileState>;
|
|
13
|
+
dragOver: boolean;
|
|
14
|
+
invalid: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare function useStore<T>(selector: (state: StoreState) => T): T;
|
|
17
|
+
interface FileUploadProps extends Omit<React.ComponentProps<"div">, "defaultValue" | "onChange"> {
|
|
18
|
+
value?: File[];
|
|
19
|
+
defaultValue?: File[];
|
|
20
|
+
onValueChange?: (files: File[]) => void;
|
|
21
|
+
onAccept?: (files: File[]) => void;
|
|
22
|
+
onFileAccept?: (file: File) => void;
|
|
23
|
+
onFileReject?: (file: File, message: string) => void;
|
|
24
|
+
onFileValidate?: (file: File) => string | null | undefined;
|
|
25
|
+
onUpload?: (files: File[], options: {
|
|
26
|
+
onProgress: (file: File, progress: number) => void;
|
|
27
|
+
onSuccess: (file: File) => void;
|
|
28
|
+
onError: (file: File, error: Error) => void;
|
|
29
|
+
}) => Promise<void> | void;
|
|
30
|
+
accept?: string;
|
|
31
|
+
maxFiles?: number;
|
|
32
|
+
maxSize?: number;
|
|
33
|
+
dir?: Direction;
|
|
34
|
+
label?: string;
|
|
35
|
+
name?: string;
|
|
36
|
+
asChild?: boolean;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
invalid?: boolean;
|
|
39
|
+
multiple?: boolean;
|
|
40
|
+
required?: boolean;
|
|
41
|
+
}
|
|
42
|
+
declare function FileUpload(props: FileUploadProps): react_jsx_runtime.JSX.Element;
|
|
43
|
+
interface FileUploadDropzoneProps extends React.ComponentProps<"div"> {
|
|
44
|
+
asChild?: boolean;
|
|
45
|
+
}
|
|
46
|
+
declare function FileUploadDropzone(props: FileUploadDropzoneProps): react_jsx_runtime.JSX.Element;
|
|
47
|
+
interface FileUploadTriggerProps extends React.ComponentProps<"button"> {
|
|
48
|
+
asChild?: boolean;
|
|
49
|
+
}
|
|
50
|
+
declare function FileUploadTrigger(props: FileUploadTriggerProps): react_jsx_runtime.JSX.Element;
|
|
51
|
+
interface FileUploadListProps extends React.ComponentProps<"div"> {
|
|
52
|
+
orientation?: "horizontal" | "vertical";
|
|
53
|
+
asChild?: boolean;
|
|
54
|
+
forceMount?: boolean;
|
|
55
|
+
}
|
|
56
|
+
declare function FileUploadList(props: FileUploadListProps): react_jsx_runtime.JSX.Element | null;
|
|
57
|
+
interface FileUploadItemProps extends React.ComponentProps<"div"> {
|
|
58
|
+
value: File;
|
|
59
|
+
asChild?: boolean;
|
|
60
|
+
}
|
|
61
|
+
declare function FileUploadItem(props: FileUploadItemProps): react_jsx_runtime.JSX.Element | null;
|
|
62
|
+
interface FileUploadItemPreviewProps extends React.ComponentProps<"div"> {
|
|
63
|
+
render?: (file: File, fallback: () => React.ReactNode) => React.ReactNode;
|
|
64
|
+
asChild?: boolean;
|
|
65
|
+
}
|
|
66
|
+
declare function FileUploadItemPreview(props: FileUploadItemPreviewProps): react_jsx_runtime.JSX.Element | null;
|
|
67
|
+
interface FileUploadItemMetadataProps extends React.ComponentProps<"div"> {
|
|
68
|
+
asChild?: boolean;
|
|
69
|
+
size?: "default" | "sm";
|
|
70
|
+
}
|
|
71
|
+
declare function FileUploadItemMetadata(props: FileUploadItemMetadataProps): react_jsx_runtime.JSX.Element | null;
|
|
72
|
+
interface FileUploadItemProgressProps extends React.ComponentProps<"div"> {
|
|
73
|
+
variant?: "linear" | "circular" | "fill";
|
|
74
|
+
size?: number;
|
|
75
|
+
asChild?: boolean;
|
|
76
|
+
forceMount?: boolean;
|
|
77
|
+
}
|
|
78
|
+
declare function FileUploadItemProgress(props: FileUploadItemProgressProps): react_jsx_runtime.JSX.Element | null;
|
|
79
|
+
interface FileUploadItemDeleteProps extends React.ComponentProps<"button"> {
|
|
80
|
+
asChild?: boolean;
|
|
81
|
+
}
|
|
82
|
+
declare function FileUploadItemDelete(props: FileUploadItemDeleteProps): react_jsx_runtime.JSX.Element | null;
|
|
83
|
+
interface FileUploadClearProps extends React.ComponentProps<"button"> {
|
|
84
|
+
forceMount?: boolean;
|
|
85
|
+
asChild?: boolean;
|
|
86
|
+
}
|
|
87
|
+
declare function FileUploadClear(props: FileUploadClearProps): react_jsx_runtime.JSX.Element | null;
|
|
88
|
+
|
|
89
|
+
export { FileUpload, FileUploadClear, FileUploadDropzone, FileUploadItem, FileUploadItemDelete, FileUploadItemMetadata, FileUploadItemPreview, FileUploadItemProgress, FileUploadList, type FileUploadProps, FileUploadTrigger, useStore as useFileUpload };
|