@docyrus/shadcn 1.1.0 → 1.2.1
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 +40 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/compose-refs.ts","../../src/lib/utils.ts","../../src/radix-vega/kanban.tsx"],"names":["React","id","items"],"mappings":"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","file":"kanban.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","\"use client\";\n\nimport {\n type Announcements,\n type CollisionDetection,\n closestCenter,\n closestCorners,\n DndContext,\n type DndContextProps,\n type DragCancelEvent,\n type DragEndEvent,\n type DraggableAttributes,\n type DraggableSyntheticListeners,\n type DragOverEvent,\n DragOverlay,\n type DragStartEvent,\n type DropAnimation,\n type DroppableContainer,\n defaultDropAnimationSideEffects,\n getFirstCollision,\n KeyboardCode,\n type KeyboardCoordinateGetter,\n KeyboardSensor,\n MeasuringStrategy,\n MouseSensor,\n pointerWithin,\n rectIntersection,\n TouchSensor,\n type UniqueIdentifier,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport {\n type AnimateLayoutChanges,\n arrayMove,\n defaultAnimateLayoutChanges,\n horizontalListSortingStrategy,\n SortableContext,\n type SortableContextProps,\n useSortable,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\n\nimport { useComposedRefs } from \"@/lib/compose-refs\";\nimport { cn } from \"@/lib/utils\";\n\nconst directions: string[] = [\n KeyboardCode.Down,\n KeyboardCode.Right,\n KeyboardCode.Up,\n KeyboardCode.Left,\n];\n\nconst coordinateGetter: KeyboardCoordinateGetter = (event, { context }) => {\n const { active, droppableRects, droppableContainers, collisionRect } =\n context;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) return;\n\n const filteredContainers: DroppableContainer[] = [];\n\n for (const entry of droppableContainers.getEnabled()) {\n if (!entry || entry?.disabled) return;\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) return;\n\n const data = entry.data.current;\n\n if (data) {\n const { type, children } = data;\n\n if (type === \"container\" && children?.length > 0) {\n if (active.data.current?.type !== \"container\") {\n return;\n }\n }\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n break;\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n break;\n case KeyboardCode.Left:\n if (collisionRect.left >= rect.left + rect.width) {\n filteredContainers.push(entry);\n }\n break;\n case KeyboardCode.Right:\n if (collisionRect.left + collisionRect.width <= rect.left) {\n filteredContainers.push(entry);\n }\n break;\n }\n }\n\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null,\n });\n const closestId = getFirstCollision(collisions, \"id\");\n\n if (closestId != null) {\n const newDroppable = droppableContainers.get(closestId);\n const newNode = newDroppable?.node.current;\n const newRect = newDroppable?.rect.current;\n\n if (newNode && newRect) {\n if (newDroppable.id === \"placeholder\") {\n return {\n x: newRect.left + (newRect.width - collisionRect.width) / 2,\n y: newRect.top + (newRect.height - collisionRect.height) / 2,\n };\n }\n\n if (newDroppable.data.current?.type === \"container\") {\n return {\n x: newRect.left + 20,\n y: newRect.top + 74,\n };\n }\n\n return {\n x: newRect.left,\n y: newRect.top,\n };\n }\n }\n }\n\n return undefined;\n};\n\nconst ROOT_NAME = \"Kanban\";\nconst BOARD_NAME = \"KanbanBoard\";\nconst COLUMN_NAME = \"KanbanColumn\";\nconst COLUMN_HANDLE_NAME = \"KanbanColumnHandle\";\nconst ITEM_NAME = \"KanbanItem\";\nconst ITEM_HANDLE_NAME = \"KanbanItemHandle\";\nconst OVERLAY_NAME = \"KanbanOverlay\";\n\ninterface KanbanContextValue<T> {\n id: string;\n items: Record<UniqueIdentifier, T[]>;\n modifiers: DndContextProps[\"modifiers\"];\n strategy: SortableContextProps[\"strategy\"];\n orientation: \"horizontal\" | \"vertical\";\n activeId: UniqueIdentifier | null;\n setActiveId: (id: UniqueIdentifier | null) => void;\n getItemValue: (item: T) => UniqueIdentifier;\n flatCursor: boolean;\n}\n\nconst KanbanContext = React.createContext<KanbanContextValue<unknown> | null>(\n null,\n);\n\nfunction useKanbanContext(consumerName: string) {\n const context = React.useContext(KanbanContext);\n if (!context) {\n throw new Error(`\\`${consumerName}\\` must be used within \\`${ROOT_NAME}\\``);\n }\n return context;\n}\n\ninterface GetItemValue<T> {\n /**\n * Callback that returns a unique identifier for each kanban item. Required for array of objects.\n * @example getItemValue={(item) => item.id}\n */\n getItemValue: (item: T) => UniqueIdentifier;\n}\n\ntype KanbanProps<T> = Omit<DndContextProps, \"collisionDetection\"> &\n (T extends object ? GetItemValue<T> : Partial<GetItemValue<T>>) & {\n value: Record<UniqueIdentifier, T[]>;\n onValueChange?: (columns: Record<UniqueIdentifier, T[]>) => void;\n onMove?: (\n event: DragEndEvent & { activeIndex: number; overIndex: number },\n ) => void;\n strategy?: SortableContextProps[\"strategy\"];\n orientation?: \"horizontal\" | \"vertical\";\n flatCursor?: boolean;\n };\n\nfunction Kanban<T>(props: KanbanProps<T>) {\n const {\n value,\n onValueChange,\n modifiers,\n strategy = verticalListSortingStrategy,\n orientation = \"horizontal\",\n onMove,\n getItemValue: getItemValueProp,\n accessibility,\n flatCursor = false,\n ...kanbanProps\n } = props;\n\n const id = React.useId();\n const [activeId, setActiveId] = React.useState<UniqueIdentifier | null>(null);\n const lastOverIdRef = React.useRef<UniqueIdentifier | null>(null);\n const hasMovedRef = React.useRef(false);\n const sensors = useSensors(\n useSensor(MouseSensor),\n useSensor(TouchSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter,\n }),\n );\n\n const getItemValue = React.useCallback(\n (item: T): UniqueIdentifier => {\n if (typeof item === \"object\" && !getItemValueProp) {\n throw new Error(\n \"`getItemValue` is required when using array of objects\",\n );\n }\n return getItemValueProp\n ? getItemValueProp(item)\n : (item as UniqueIdentifier);\n },\n [getItemValueProp],\n );\n\n const getColumn = React.useCallback(\n (id: UniqueIdentifier) => {\n if (id in value) return id;\n\n for (const [columnId, items] of Object.entries(value)) {\n if (items.some((item) => getItemValue(item) === id)) {\n return columnId;\n }\n }\n\n return null;\n },\n [value, getItemValue],\n );\n\n const collisionDetection: CollisionDetection = React.useCallback(\n (args) => {\n if (activeId && activeId in value) {\n return closestCenter({\n ...args,\n droppableContainers: args.droppableContainers.filter(\n (container) => container.id in value,\n ),\n });\n }\n\n const pointerIntersections = pointerWithin(args);\n const intersections =\n pointerIntersections.length > 0\n ? pointerIntersections\n : rectIntersection(args);\n let overId = getFirstCollision(intersections, \"id\");\n\n if (!overId) {\n if (hasMovedRef.current) {\n lastOverIdRef.current = activeId;\n }\n return lastOverIdRef.current ? [{ id: lastOverIdRef.current }] : [];\n }\n\n if (overId in value) {\n const containerItems = value[overId];\n if (containerItems && containerItems.length > 0) {\n const closestItem = closestCenter({\n ...args,\n droppableContainers: args.droppableContainers.filter(\n (container) =>\n container.id !== overId &&\n containerItems.some(\n (item) => getItemValue(item) === container.id,\n ),\n ),\n });\n\n if (closestItem.length > 0) {\n overId = closestItem[0]?.id ?? overId;\n }\n }\n }\n\n lastOverIdRef.current = overId;\n return [{ id: overId }];\n },\n [activeId, value, getItemValue],\n );\n\n const onDragStart = React.useCallback(\n (event: DragStartEvent) => {\n kanbanProps.onDragStart?.(event);\n\n if (event.activatorEvent.defaultPrevented) return;\n setActiveId(event.active.id);\n },\n [kanbanProps.onDragStart],\n );\n\n const onDragOver = React.useCallback(\n (event: DragOverEvent) => {\n kanbanProps.onDragOver?.(event);\n\n if (event.activatorEvent.defaultPrevented) return;\n\n const { active, over } = event;\n if (!over) return;\n\n const activeColumn = getColumn(active.id);\n const overColumn = getColumn(over.id);\n\n if (!activeColumn || !overColumn) return;\n\n if (activeColumn === overColumn) {\n const items = value[activeColumn];\n if (!items) return;\n\n const activeIndex = items.findIndex(\n (item) => getItemValue(item) === active.id,\n );\n const overIndex = items.findIndex(\n (item) => getItemValue(item) === over.id,\n );\n\n if (activeIndex !== overIndex) {\n const newColumns = { ...value };\n newColumns[activeColumn] = arrayMove(items, activeIndex, overIndex);\n onValueChange?.(newColumns);\n }\n } else {\n const activeItems = value[activeColumn];\n const overItems = value[overColumn];\n\n if (!activeItems || !overItems) return;\n\n const activeIndex = activeItems.findIndex(\n (item) => getItemValue(item) === active.id,\n );\n\n if (activeIndex === -1) return;\n\n const activeItem = activeItems[activeIndex];\n if (!activeItem) return;\n\n const updatedItems = {\n ...value,\n [activeColumn]: activeItems.filter(\n (item) => getItemValue(item) !== active.id,\n ),\n [overColumn]: [...overItems, activeItem],\n };\n\n onValueChange?.(updatedItems);\n hasMovedRef.current = true;\n }\n },\n [value, getColumn, getItemValue, onValueChange, kanbanProps.onDragOver],\n );\n\n const onDragEnd = React.useCallback(\n (event: DragEndEvent) => {\n kanbanProps.onDragEnd?.(event);\n\n if (event.activatorEvent.defaultPrevented) return;\n\n const { active, over } = event;\n\n if (!over) {\n setActiveId(null);\n return;\n }\n\n if (active.id in value && over.id in value) {\n const activeIndex = Object.keys(value).indexOf(active.id as string);\n const overIndex = Object.keys(value).indexOf(over.id as string);\n\n if (activeIndex !== overIndex) {\n const orderedColumns = Object.keys(value);\n const newOrder = arrayMove(orderedColumns, activeIndex, overIndex);\n\n const newColumns: Record<UniqueIdentifier, T[]> = {};\n for (const key of newOrder) {\n const items = value[key];\n if (items) {\n newColumns[key] = items;\n }\n }\n\n if (onMove) {\n onMove({ ...event, activeIndex, overIndex });\n } else {\n onValueChange?.(newColumns);\n }\n }\n } else {\n const activeColumn = getColumn(active.id);\n const overColumn = getColumn(over.id);\n\n if (!activeColumn || !overColumn) {\n setActiveId(null);\n return;\n }\n\n if (activeColumn === overColumn) {\n const items = value[activeColumn];\n if (!items) {\n setActiveId(null);\n return;\n }\n\n const activeIndex = items.findIndex(\n (item) => getItemValue(item) === active.id,\n );\n const overIndex = items.findIndex(\n (item) => getItemValue(item) === over.id,\n );\n\n if (activeIndex !== overIndex) {\n const newColumns = { ...value };\n newColumns[activeColumn] = arrayMove(items, activeIndex, overIndex);\n if (onMove) {\n onMove({\n ...event,\n activeIndex,\n overIndex,\n });\n } else {\n onValueChange?.(newColumns);\n }\n }\n }\n }\n\n setActiveId(null);\n hasMovedRef.current = false;\n },\n [\n value,\n getColumn,\n getItemValue,\n onValueChange,\n onMove,\n kanbanProps.onDragEnd,\n ],\n );\n\n const onDragCancel = React.useCallback(\n (event: DragCancelEvent) => {\n kanbanProps.onDragCancel?.(event);\n\n if (event.activatorEvent.defaultPrevented) return;\n\n setActiveId(null);\n hasMovedRef.current = false;\n },\n [kanbanProps.onDragCancel],\n );\n\n const announcements: Announcements = React.useMemo(\n () => ({\n onDragStart({ active }) {\n const isColumn = active.id in value;\n const itemType = isColumn ? \"column\" : \"item\";\n const position = isColumn\n ? Object.keys(value).indexOf(active.id as string) + 1\n : (() => {\n const column = getColumn(active.id);\n if (!column || !value[column]) return 1;\n return (\n value[column].findIndex(\n (item) => getItemValue(item) === active.id,\n ) + 1\n );\n })();\n const total = isColumn\n ? Object.keys(value).length\n : (() => {\n const column = getColumn(active.id);\n return column ? (value[column]?.length ?? 0) : 0;\n })();\n\n return `Picked up ${itemType} at position ${position} of ${total}`;\n },\n onDragOver({ active, over }) {\n if (!over) return;\n\n const isColumn = active.id in value;\n const itemType = isColumn ? \"column\" : \"item\";\n const position = isColumn\n ? Object.keys(value).indexOf(over.id as string) + 1\n : (() => {\n const column = getColumn(over.id);\n if (!column || !value[column]) return 1;\n return (\n value[column].findIndex(\n (item) => getItemValue(item) === over.id,\n ) + 1\n );\n })();\n const total = isColumn\n ? Object.keys(value).length\n : (() => {\n const column = getColumn(over.id);\n return column ? (value[column]?.length ?? 0) : 0;\n })();\n\n const overColumn = getColumn(over.id);\n const activeColumn = getColumn(active.id);\n\n if (isColumn) {\n return `${itemType} is now at position ${position} of ${total}`;\n }\n\n if (activeColumn !== overColumn) {\n return `${itemType} is now at position ${position} of ${total} in ${overColumn}`;\n }\n\n return `${itemType} is now at position ${position} of ${total}`;\n },\n onDragEnd({ active, over }) {\n if (!over) return;\n\n const isColumn = active.id in value;\n const itemType = isColumn ? \"column\" : \"item\";\n const position = isColumn\n ? Object.keys(value).indexOf(over.id as string) + 1\n : (() => {\n const column = getColumn(over.id);\n if (!column || !value[column]) return 1;\n return (\n value[column].findIndex(\n (item) => getItemValue(item) === over.id,\n ) + 1\n );\n })();\n const total = isColumn\n ? Object.keys(value).length\n : (() => {\n const column = getColumn(over.id);\n return column ? (value[column]?.length ?? 0) : 0;\n })();\n\n const overColumn = getColumn(over.id);\n const activeColumn = getColumn(active.id);\n\n if (isColumn) {\n return `${itemType} was dropped at position ${position} of ${total}`;\n }\n\n if (activeColumn !== overColumn) {\n return `${itemType} was dropped at position ${position} of ${total} in ${overColumn}`;\n }\n\n return `${itemType} was dropped at position ${position} of ${total}`;\n },\n onDragCancel({ active }) {\n const isColumn = active.id in value;\n const itemType = isColumn ? \"column\" : \"item\";\n return `Dragging was cancelled. ${itemType} was dropped.`;\n },\n }),\n [value, getColumn, getItemValue],\n );\n\n const contextValue = React.useMemo<KanbanContextValue<T>>(\n () => ({\n id,\n items: value,\n modifiers,\n strategy,\n orientation,\n activeId,\n setActiveId,\n getItemValue,\n flatCursor,\n }),\n [\n id,\n value,\n activeId,\n modifiers,\n strategy,\n orientation,\n getItemValue,\n flatCursor,\n ],\n );\n\n return (\n <KanbanContext.Provider value={contextValue as KanbanContextValue<unknown>}>\n <DndContext\n collisionDetection={collisionDetection}\n modifiers={modifiers}\n sensors={sensors}\n {...kanbanProps}\n id={id}\n measuring={{\n droppable: {\n strategy: MeasuringStrategy.Always,\n },\n }}\n onDragStart={onDragStart}\n onDragOver={onDragOver}\n onDragEnd={onDragEnd}\n onDragCancel={onDragCancel}\n accessibility={{\n announcements,\n screenReaderInstructions: {\n draggable: `\n To pick up a kanban item or column, press space or enter.\n While dragging, use the arrow keys to move the item.\n Press space or enter again to drop the item in its new position, or press escape to cancel.\n `,\n },\n ...accessibility,\n }}\n />\n </KanbanContext.Provider>\n );\n}\n\nconst KanbanBoardContext = React.createContext<boolean>(false);\n\ninterface KanbanBoardProps extends React.ComponentProps<\"div\"> {\n children: React.ReactNode;\n asChild?: boolean;\n}\n\nfunction KanbanBoard(props: KanbanBoardProps) {\n const { asChild, className, ref, ...boardProps } = props;\n\n const context = useKanbanContext(BOARD_NAME);\n\n const columns = React.useMemo(() => {\n return Object.keys(context.items);\n }, [context.items]);\n\n const BoardPrimitive = asChild ? Slot : \"div\";\n\n return (\n <KanbanBoardContext.Provider value={true}>\n <SortableContext\n items={columns}\n strategy={\n context.orientation === \"horizontal\"\n ? horizontalListSortingStrategy\n : verticalListSortingStrategy\n }\n >\n <BoardPrimitive\n aria-orientation={context.orientation}\n data-orientation={context.orientation}\n data-slot=\"kanban-board\"\n {...boardProps}\n ref={ref}\n className={cn(\n \"flex size-full gap-4\",\n context.orientation === \"horizontal\" ? \"flex-row\" : \"flex-col\",\n className,\n )}\n />\n </SortableContext>\n </KanbanBoardContext.Provider>\n );\n}\n\ninterface KanbanColumnContextValue {\n id: string;\n attributes: DraggableAttributes;\n listeners: DraggableSyntheticListeners | undefined;\n setActivatorNodeRef: (node: HTMLElement | null) => void;\n isDragging?: boolean;\n disabled?: boolean;\n}\n\nconst KanbanColumnContext =\n React.createContext<KanbanColumnContextValue | null>(null);\n\nfunction useKanbanColumnContext(consumerName: string) {\n const context = React.useContext(KanbanColumnContext);\n if (!context) {\n throw new Error(\n `\\`${consumerName}\\` must be used within \\`${COLUMN_NAME}\\``,\n );\n }\n return context;\n}\n\nconst animateLayoutChanges: AnimateLayoutChanges = (args) =>\n defaultAnimateLayoutChanges({ ...args, wasDragging: true });\n\ninterface KanbanColumnProps extends React.ComponentProps<\"div\"> {\n value: UniqueIdentifier;\n children: React.ReactNode;\n asChild?: boolean;\n asHandle?: boolean;\n disabled?: boolean;\n}\n\nfunction KanbanColumn(props: KanbanColumnProps) {\n const {\n value,\n asChild,\n asHandle,\n disabled,\n className,\n style,\n ref,\n ...columnProps\n } = props;\n\n const id = React.useId();\n const context = useKanbanContext(COLUMN_NAME);\n const inBoard = React.useContext(KanbanBoardContext);\n const inOverlay = React.useContext(KanbanOverlayContext);\n\n if (!inBoard && !inOverlay) {\n throw new Error(\n `\\`${COLUMN_NAME}\\` must be used within \\`${BOARD_NAME}\\` or \\`${OVERLAY_NAME}\\``,\n );\n }\n\n if (value === \"\") {\n throw new Error(`\\`${COLUMN_NAME}\\` value cannot be an empty string`);\n }\n\n const {\n attributes,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id: value,\n disabled,\n animateLayoutChanges,\n });\n\n const composedRef = useComposedRefs(ref, (node) => {\n if (disabled) return;\n setNodeRef(node);\n });\n\n const composedStyle = React.useMemo<React.CSSProperties>(() => {\n return {\n transform: CSS.Transform.toString(transform),\n transition,\n ...style,\n };\n }, [transform, transition, style]);\n\n const items = React.useMemo(() => {\n const items = context.items[value] ?? [];\n return items.map((item) => context.getItemValue(item));\n }, [context.items, value, context.getItemValue]);\n\n const columnContext = React.useMemo<KanbanColumnContextValue>(\n () => ({\n id,\n attributes,\n listeners,\n setActivatorNodeRef,\n isDragging,\n disabled,\n }),\n [id, attributes, listeners, setActivatorNodeRef, isDragging, disabled],\n );\n\n const ColumnPrimitive = asChild ? Slot : \"div\";\n\n return (\n <KanbanColumnContext.Provider value={columnContext}>\n <SortableContext\n items={items}\n strategy={\n context.orientation === \"horizontal\"\n ? horizontalListSortingStrategy\n : verticalListSortingStrategy\n }\n >\n <ColumnPrimitive\n id={id}\n data-disabled={disabled}\n data-dragging={isDragging ? \"\" : undefined}\n data-slot=\"kanban-column\"\n {...columnProps}\n {...(asHandle && !disabled ? attributes : {})}\n {...(asHandle && !disabled ? listeners : {})}\n ref={composedRef}\n style={composedStyle}\n className={cn(\n \"flex size-full flex-col gap-2 rounded-lg border bg-zinc-100 p-2.5 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:bg-zinc-900\",\n {\n \"touch-none select-none\": asHandle,\n \"cursor-default\": context.flatCursor,\n \"data-dragging:cursor-grabbing\": !context.flatCursor,\n \"cursor-grab\": !isDragging && asHandle && !context.flatCursor,\n \"opacity-50\": isDragging,\n \"pointer-events-none opacity-50\": disabled,\n },\n className,\n )}\n />\n </SortableContext>\n </KanbanColumnContext.Provider>\n );\n}\n\ninterface KanbanColumnHandleProps extends React.ComponentProps<\"button\"> {\n asChild?: boolean;\n}\n\nfunction KanbanColumnHandle(props: KanbanColumnHandleProps) {\n const { asChild, disabled, className, ref, ...columnHandleProps } = props;\n\n const context = useKanbanContext(COLUMN_NAME);\n const columnContext = useKanbanColumnContext(COLUMN_HANDLE_NAME);\n\n const isDisabled = disabled ?? columnContext.disabled;\n\n const composedRef = useComposedRefs(ref, (node) => {\n if (isDisabled) return;\n columnContext.setActivatorNodeRef(node);\n });\n\n const HandlePrimitive = asChild ? Slot : \"button\";\n\n return (\n <HandlePrimitive\n type=\"button\"\n aria-controls={columnContext.id}\n data-disabled={isDisabled}\n data-dragging={columnContext.isDragging ? \"\" : undefined}\n data-slot=\"kanban-column-handle\"\n {...columnHandleProps}\n {...(isDisabled ? {} : columnContext.attributes)}\n {...(isDisabled ? {} : columnContext.listeners)}\n ref={composedRef}\n className={cn(\n \"select-none disabled:pointer-events-none disabled:opacity-50\",\n context.flatCursor\n ? \"cursor-default\"\n : \"cursor-grab data-dragging:cursor-grabbing\",\n className,\n )}\n disabled={isDisabled}\n />\n );\n}\n\ninterface KanbanItemContextValue {\n id: string;\n attributes: DraggableAttributes;\n listeners: DraggableSyntheticListeners | undefined;\n setActivatorNodeRef: (node: HTMLElement | null) => void;\n isDragging?: boolean;\n disabled?: boolean;\n}\n\nconst KanbanItemContext = React.createContext<KanbanItemContextValue | null>(\n null,\n);\n\nfunction useKanbanItemContext(consumerName: string) {\n const context = React.useContext(KanbanItemContext);\n if (!context) {\n throw new Error(`\\`${consumerName}\\` must be used within \\`${ITEM_NAME}\\``);\n }\n return context;\n}\n\ninterface KanbanItemProps extends React.ComponentProps<\"div\"> {\n value: UniqueIdentifier;\n asHandle?: boolean;\n asChild?: boolean;\n disabled?: boolean;\n}\n\nfunction KanbanItem(props: KanbanItemProps) {\n const {\n value,\n style,\n asHandle,\n asChild,\n disabled,\n className,\n ref,\n ...itemProps\n } = props;\n\n const id = React.useId();\n const context = useKanbanContext(ITEM_NAME);\n const inBoard = React.useContext(KanbanBoardContext);\n const inOverlay = React.useContext(KanbanOverlayContext);\n\n if (!inBoard && !inOverlay) {\n throw new Error(`\\`${ITEM_NAME}\\` must be used within \\`${BOARD_NAME}\\``);\n }\n\n const {\n attributes,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id: value, disabled });\n\n if (value === \"\") {\n throw new Error(`\\`${ITEM_NAME}\\` value cannot be an empty string`);\n }\n\n const composedRef = useComposedRefs(ref, (node) => {\n if (disabled) return;\n setNodeRef(node);\n });\n\n const composedStyle = React.useMemo<React.CSSProperties>(() => {\n return {\n transform: CSS.Transform.toString(transform),\n transition,\n ...style,\n };\n }, [transform, transition, style]);\n\n const itemContext = React.useMemo<KanbanItemContextValue>(\n () => ({\n id,\n attributes,\n listeners,\n setActivatorNodeRef,\n isDragging,\n disabled,\n }),\n [id, attributes, listeners, setActivatorNodeRef, isDragging, disabled],\n );\n\n const ItemPrimitive = asChild ? Slot : \"div\";\n\n return (\n <KanbanItemContext.Provider value={itemContext}>\n <ItemPrimitive\n id={id}\n data-disabled={disabled}\n data-dragging={isDragging ? \"\" : undefined}\n data-slot=\"kanban-item\"\n {...itemProps}\n {...(asHandle && !disabled ? attributes : {})}\n {...(asHandle && !disabled ? listeners : {})}\n ref={composedRef}\n style={composedStyle}\n className={cn(\n \"focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1\",\n {\n \"touch-none select-none\": asHandle,\n \"cursor-default\": context.flatCursor,\n \"data-dragging:cursor-grabbing\": !context.flatCursor,\n \"cursor-grab\": !isDragging && asHandle && !context.flatCursor,\n \"opacity-50\": isDragging,\n \"pointer-events-none opacity-50\": disabled,\n },\n className,\n )}\n />\n </KanbanItemContext.Provider>\n );\n}\n\ninterface KanbanItemHandleProps extends React.ComponentProps<\"button\"> {\n asChild?: boolean;\n}\n\nfunction KanbanItemHandle(props: KanbanItemHandleProps) {\n const { asChild, disabled, className, ref, ...itemHandleProps } = props;\n\n const context = useKanbanContext(ITEM_HANDLE_NAME);\n const itemContext = useKanbanItemContext(ITEM_HANDLE_NAME);\n\n const isDisabled = disabled ?? itemContext.disabled;\n\n const composedRef = useComposedRefs(ref, (node) => {\n if (isDisabled) return;\n itemContext.setActivatorNodeRef(node);\n });\n\n const HandlePrimitive = asChild ? Slot : \"button\";\n\n return (\n <HandlePrimitive\n type=\"button\"\n aria-controls={itemContext.id}\n data-disabled={isDisabled}\n data-dragging={itemContext.isDragging ? \"\" : undefined}\n data-slot=\"kanban-item-handle\"\n {...itemHandleProps}\n {...(isDisabled ? {} : itemContext.attributes)}\n {...(isDisabled ? {} : itemContext.listeners)}\n ref={composedRef}\n className={cn(\n \"select-none disabled:pointer-events-none disabled:opacity-50\",\n context.flatCursor\n ? \"cursor-default\"\n : \"cursor-grab data-dragging:cursor-grabbing\",\n className,\n )}\n disabled={isDisabled}\n />\n );\n}\n\nconst KanbanOverlayContext = React.createContext(false);\n\nconst dropAnimation: DropAnimation = {\n sideEffects: defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: \"0.4\",\n },\n },\n }),\n};\n\ninterface KanbanOverlayProps\n extends Omit<React.ComponentProps<typeof DragOverlay>, \"children\"> {\n container?: Element | DocumentFragment | null;\n children?:\n | React.ReactNode\n | ((params: {\n value: UniqueIdentifier;\n variant: \"column\" | \"item\";\n }) => React.ReactNode);\n}\n\nfunction KanbanOverlay(props: KanbanOverlayProps) {\n const { container: containerProp, children, ...overlayProps } = props;\n\n const context = useKanbanContext(OVERLAY_NAME);\n\n const [mounted, setMounted] = React.useState(false);\n\n React.useLayoutEffect(() => setMounted(true), []);\n\n const container =\n containerProp ?? (mounted ? globalThis.document?.body : null);\n\n if (!container) return null;\n\n const variant =\n context.activeId && context.activeId in context.items ? \"column\" : \"item\";\n\n return ReactDOM.createPortal(\n <DragOverlay\n dropAnimation={dropAnimation}\n modifiers={context.modifiers}\n className={cn(!context.flatCursor && \"cursor-grabbing\")}\n {...overlayProps}\n >\n <KanbanOverlayContext.Provider value={true}>\n {context.activeId && children\n ? typeof children === \"function\"\n ? children({\n value: context.activeId,\n variant,\n })\n : children\n : null}\n </KanbanOverlayContext.Provider>\n </DragOverlay>,\n container,\n );\n}\n\nexport {\n Kanban,\n KanbanBoard,\n KanbanColumn,\n KanbanColumnHandle,\n KanbanItem,\n KanbanItemHandle,\n KanbanOverlay,\n //\n type KanbanProps,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/kbd.tsx"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/kbd.tsx"],"names":[],"mappings":";;;;;AASO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACTA,SAAS,GAAA,CAAI,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACjE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,KAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,uWAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACtE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,gCAAA,EAAkC,SAAS,CAAA;AAAA,MACxD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"kbd.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 { cn } from \"@/lib/utils\"\n\nfunction Kbd({ className, ...props }: React.ComponentProps<\"kbd\">) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n \"bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction KbdGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <kbd\n data-slot=\"kbd-group\"\n className={cn(\"gap-1 inline-flex items-center\", className)}\n {...props}\n />\n )\n}\n\nexport { Kbd, KbdGroup }\n"]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Button } from './button.js';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
|
|
7
|
+
type Orientation = "vertical" | "horizontal";
|
|
8
|
+
type Field = "key" | "value";
|
|
9
|
+
interface DivProps extends React.ComponentProps<"div"> {
|
|
10
|
+
asChild?: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface Store {
|
|
13
|
+
subscribe: (callback: () => void) => () => void;
|
|
14
|
+
getState: () => KeyValueState;
|
|
15
|
+
setState: <K extends keyof KeyValueState>(key: K, value: KeyValueState[K]) => void;
|
|
16
|
+
notify: () => void;
|
|
17
|
+
}
|
|
18
|
+
declare function useStore<T>(selector: (state: KeyValueState) => T, ogStore?: Store | null): T;
|
|
19
|
+
interface ItemData {
|
|
20
|
+
id: string;
|
|
21
|
+
key: string;
|
|
22
|
+
value: string;
|
|
23
|
+
}
|
|
24
|
+
interface KeyValueState {
|
|
25
|
+
value: ItemData[];
|
|
26
|
+
focusedId: string | null;
|
|
27
|
+
errors: Record<string, {
|
|
28
|
+
key?: string;
|
|
29
|
+
value?: string;
|
|
30
|
+
}>;
|
|
31
|
+
}
|
|
32
|
+
interface KeyValueProps extends Omit<DivProps, "onPaste" | "defaultValue"> {
|
|
33
|
+
id?: string;
|
|
34
|
+
defaultValue?: ItemData[];
|
|
35
|
+
value?: ItemData[];
|
|
36
|
+
onValueChange?: (value: ItemData[]) => void;
|
|
37
|
+
maxItems?: number;
|
|
38
|
+
minItems?: number;
|
|
39
|
+
keyPlaceholder?: string;
|
|
40
|
+
valuePlaceholder?: string;
|
|
41
|
+
name?: string;
|
|
42
|
+
allowDuplicateKeys?: boolean;
|
|
43
|
+
enablePaste?: boolean;
|
|
44
|
+
trim?: boolean;
|
|
45
|
+
stripQuotes?: boolean;
|
|
46
|
+
disabled?: boolean;
|
|
47
|
+
readOnly?: boolean;
|
|
48
|
+
required?: boolean;
|
|
49
|
+
onPaste?: (event: ClipboardEvent, items: ItemData[]) => void;
|
|
50
|
+
onAdd?: (value: ItemData) => void;
|
|
51
|
+
onRemove?: (value: ItemData) => void;
|
|
52
|
+
onKeyValidate?: (key: string, value: ItemData[]) => string | undefined;
|
|
53
|
+
onValueValidate?: (value: string, key: string, items: ItemData[]) => string | undefined;
|
|
54
|
+
}
|
|
55
|
+
declare function KeyValue(props: KeyValueProps): react_jsx_runtime.JSX.Element;
|
|
56
|
+
interface KeyValueListProps extends DivProps {
|
|
57
|
+
orientation?: Orientation;
|
|
58
|
+
}
|
|
59
|
+
declare function KeyValueList(props: KeyValueListProps): react_jsx_runtime.JSX.Element;
|
|
60
|
+
interface KeyValueItemProps extends React.ComponentProps<"div"> {
|
|
61
|
+
asChild?: boolean;
|
|
62
|
+
}
|
|
63
|
+
declare function KeyValueItem(props: KeyValueItemProps): react_jsx_runtime.JSX.Element;
|
|
64
|
+
interface KeyValueKeyInputProps extends React.ComponentProps<"input"> {
|
|
65
|
+
asChild?: boolean;
|
|
66
|
+
}
|
|
67
|
+
declare function KeyValueKeyInput(props: KeyValueKeyInputProps): react_jsx_runtime.JSX.Element;
|
|
68
|
+
interface KeyValueValueInputProps extends Omit<React.ComponentProps<"textarea">, "rows"> {
|
|
69
|
+
maxRows?: number;
|
|
70
|
+
asChild?: boolean;
|
|
71
|
+
}
|
|
72
|
+
declare function KeyValueValueInput(props: KeyValueValueInputProps): react_jsx_runtime.JSX.Element;
|
|
73
|
+
interface KeyValueRemoveProps extends React.ComponentProps<typeof Button> {
|
|
74
|
+
}
|
|
75
|
+
declare function KeyValueRemove(props: KeyValueRemoveProps): react_jsx_runtime.JSX.Element;
|
|
76
|
+
declare function KeyValueAdd(props: React.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
|
|
77
|
+
interface KeyValueErrorProps extends DivProps {
|
|
78
|
+
field: Field;
|
|
79
|
+
}
|
|
80
|
+
declare function KeyValueError(props: KeyValueErrorProps): react_jsx_runtime.JSX.Element | null;
|
|
81
|
+
|
|
82
|
+
export { KeyValue, KeyValueAdd, KeyValueError, KeyValueItem, type ItemData as KeyValueItemData, KeyValueKeyInput, KeyValueList, type KeyValueProps, KeyValueRemove, KeyValueValueInput, useStore as useKeyValueStore };
|