@tanglemedia/svelte-starter-ui-shadcn 0.0.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/LICENSE +7 -0
- package/README.md +21 -0
- package/dist/app.html +13 -0
- package/dist/lib/components/ui/accordion/accordion-content.svelte +24 -0
- package/dist/lib/components/ui/accordion/accordion-content.svelte.d.ts +4 -0
- package/dist/lib/components/ui/accordion/accordion-item.svelte +12 -0
- package/dist/lib/components/ui/accordion/accordion-item.svelte.d.ts +4 -0
- package/dist/lib/components/ui/accordion/accordion-trigger.svelte +29 -0
- package/dist/lib/components/ui/accordion/accordion-trigger.svelte.d.ts +7 -0
- package/dist/lib/components/ui/accordion/index.d.ts +6 -0
- package/dist/lib/components/ui/accordion/index.js +8 -0
- package/dist/lib/components/ui/alert/alert-description.svelte +16 -0
- package/dist/lib/components/ui/alert/alert-description.svelte.d.ts +5 -0
- package/dist/lib/components/ui/alert/alert-title.svelte +24 -0
- package/dist/lib/components/ui/alert/alert-title.svelte.d.ts +8 -0
- package/dist/lib/components/ui/alert/alert.svelte +39 -0
- package/dist/lib/components/ui/alert/alert.svelte.d.ts +26 -0
- package/dist/lib/components/ui/alert/index.d.ts +5 -0
- package/dist/lib/components/ui/alert/index.js +7 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-action.svelte +13 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +4 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte +17 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +4 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-content.svelte +26 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +7 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-description.svelte +16 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +4 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-footer.svelte +20 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +5 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-header.svelte +20 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +5 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte +19 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +4 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-title.svelte +18 -0
- package/dist/lib/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +4 -0
- package/dist/lib/components/ui/alert-dialog/index.d.ts +13 -0
- package/dist/lib/components/ui/alert-dialog/index.js +15 -0
- package/dist/lib/components/ui/aspect-ratio/index.d.ts +3 -0
- package/dist/lib/components/ui/aspect-ratio/index.js +3 -0
- package/dist/lib/components/ui/avatar/avatar-fallback.svelte +16 -0
- package/dist/lib/components/ui/avatar/avatar-fallback.svelte.d.ts +4 -0
- package/dist/lib/components/ui/avatar/avatar-image.svelte +20 -0
- package/dist/lib/components/ui/avatar/avatar-image.svelte.d.ts +4 -0
- package/dist/lib/components/ui/avatar/avatar.svelte +18 -0
- package/dist/lib/components/ui/avatar/avatar.svelte.d.ts +4 -0
- package/dist/lib/components/ui/avatar/index.d.ts +4 -0
- package/dist/lib/components/ui/avatar/index.js +6 -0
- package/dist/lib/components/ui/badge/badge.svelte +49 -0
- package/dist/lib/components/ui/badge/badge.svelte.d.ts +32 -0
- package/dist/lib/components/ui/badge/index.d.ts +2 -0
- package/dist/lib/components/ui/badge/index.js +2 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +23 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-item.svelte +16 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-list.svelte +23 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-separator.svelte +27 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb.svelte +15 -0
- package/dist/lib/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
- package/dist/lib/components/ui/breadcrumb/index.d.ts +8 -0
- package/dist/lib/components/ui/breadcrumb/index.js +10 -0
- package/dist/lib/components/ui/button/button.svelte +75 -0
- package/dist/lib/components/ui/button/button.svelte.d.ts +58 -0
- package/dist/lib/components/ui/button/index.d.ts +2 -0
- package/dist/lib/components/ui/button/index.js +4 -0
- package/dist/lib/components/ui/calendar/calendar-cell.svelte +19 -0
- package/dist/lib/components/ui/calendar/calendar-cell.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-day.svelte +31 -0
- package/dist/lib/components/ui/calendar/calendar-day.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-grid-body.svelte +12 -0
- package/dist/lib/components/ui/calendar/calendar-grid-body.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-grid-head.svelte +12 -0
- package/dist/lib/components/ui/calendar/calendar-grid-head.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-grid-row.svelte +12 -0
- package/dist/lib/components/ui/calendar/calendar-grid-row.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-grid.svelte +16 -0
- package/dist/lib/components/ui/calendar/calendar-grid.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-head-cell.svelte +16 -0
- package/dist/lib/components/ui/calendar/calendar-head-cell.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-header.svelte +16 -0
- package/dist/lib/components/ui/calendar/calendar-header.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-heading.svelte +12 -0
- package/dist/lib/components/ui/calendar/calendar-heading.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-months.svelte +20 -0
- package/dist/lib/components/ui/calendar/calendar-months.svelte.d.ts +5 -0
- package/dist/lib/components/ui/calendar/calendar-next-button.svelte +28 -0
- package/dist/lib/components/ui/calendar/calendar-next-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar-prev-button.svelte +28 -0
- package/dist/lib/components/ui/calendar/calendar-prev-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/calendar/calendar.svelte +61 -0
- package/dist/lib/components/ui/calendar/calendar.svelte.d.ts +5 -0
- package/dist/lib/components/ui/calendar/index.d.ts +14 -0
- package/dist/lib/components/ui/calendar/index.js +16 -0
- package/dist/lib/components/ui/card/card-content.svelte +16 -0
- package/dist/lib/components/ui/card/card-content.svelte.d.ts +5 -0
- package/dist/lib/components/ui/card/card-description.svelte +16 -0
- package/dist/lib/components/ui/card/card-description.svelte.d.ts +5 -0
- package/dist/lib/components/ui/card/card-footer.svelte +16 -0
- package/dist/lib/components/ui/card/card-footer.svelte.d.ts +5 -0
- package/dist/lib/components/ui/card/card-header.svelte +16 -0
- package/dist/lib/components/ui/card/card-header.svelte.d.ts +5 -0
- package/dist/lib/components/ui/card/card-title.svelte +25 -0
- package/dist/lib/components/ui/card/card-title.svelte.d.ts +8 -0
- package/dist/lib/components/ui/card/card.svelte +20 -0
- package/dist/lib/components/ui/card/card.svelte.d.ts +5 -0
- package/dist/lib/components/ui/card/index.d.ts +7 -0
- package/dist/lib/components/ui/card/index.js +9 -0
- package/dist/lib/components/ui/carousel/carousel-content.svelte +44 -0
- package/dist/lib/components/ui/carousel/carousel-content.svelte.d.ts +5 -0
- package/dist/lib/components/ui/carousel/carousel-item.svelte +30 -0
- package/dist/lib/components/ui/carousel/carousel-item.svelte.d.ts +5 -0
- package/dist/lib/components/ui/carousel/carousel-next.svelte +37 -0
- package/dist/lib/components/ui/carousel/carousel-next.svelte.d.ts +4 -0
- package/dist/lib/components/ui/carousel/carousel-previous.svelte +37 -0
- package/dist/lib/components/ui/carousel/carousel-previous.svelte.d.ts +4 -0
- package/dist/lib/components/ui/carousel/carousel.svelte +92 -0
- package/dist/lib/components/ui/carousel/carousel.svelte.d.ts +4 -0
- package/dist/lib/components/ui/carousel/context.d.ts +32 -0
- package/dist/lib/components/ui/carousel/context.js +12 -0
- package/dist/lib/components/ui/carousel/index.d.ts +6 -0
- package/dist/lib/components/ui/carousel/index.js +8 -0
- package/dist/lib/components/ui/checkbox/checkbox.svelte +35 -0
- package/dist/lib/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
- package/dist/lib/components/ui/checkbox/index.d.ts +2 -0
- package/dist/lib/components/ui/checkbox/index.js +4 -0
- package/dist/lib/components/ui/collapsible/index.d.ts +5 -0
- package/dist/lib/components/ui/collapsible/index.js +7 -0
- package/dist/lib/components/ui/command/command-dialog.svelte +35 -0
- package/dist/lib/components/ui/command/command-dialog.svelte.d.ts +9 -0
- package/dist/lib/components/ui/command/command-empty.svelte +12 -0
- package/dist/lib/components/ui/command/command-empty.svelte.d.ts +4 -0
- package/dist/lib/components/ui/command/command-group.svelte +29 -0
- package/dist/lib/components/ui/command/command-group.svelte.d.ts +7 -0
- package/dist/lib/components/ui/command/command-input.svelte +25 -0
- package/dist/lib/components/ui/command/command-input.svelte.d.ts +4 -0
- package/dist/lib/components/ui/command/command-item.svelte +19 -0
- package/dist/lib/components/ui/command/command-item.svelte.d.ts +4 -0
- package/dist/lib/components/ui/command/command-link-item.svelte +19 -0
- package/dist/lib/components/ui/command/command-link-item.svelte.d.ts +4 -0
- package/dist/lib/components/ui/command/command-list.svelte +16 -0
- package/dist/lib/components/ui/command/command-list.svelte.d.ts +4 -0
- package/dist/lib/components/ui/command/command-separator.svelte +12 -0
- package/dist/lib/components/ui/command/command-separator.svelte.d.ts +4 -0
- package/dist/lib/components/ui/command/command-shortcut.svelte +20 -0
- package/dist/lib/components/ui/command/command-shortcut.svelte.d.ts +5 -0
- package/dist/lib/components/ui/command/command.svelte +21 -0
- package/dist/lib/components/ui/command/command.svelte.d.ts +4 -0
- package/dist/lib/components/ui/command/index.d.ts +13 -0
- package/dist/lib/components/ui/command/index.js +15 -0
- package/dist/lib/components/ui/context-menu/context-menu-checkbox-item.svelte +40 -0
- package/dist/lib/components/ui/context-menu/context-menu-checkbox-item.svelte.d.ts +8 -0
- package/dist/lib/components/ui/context-menu/context-menu-content.svelte +24 -0
- package/dist/lib/components/ui/context-menu/context-menu-content.svelte.d.ts +7 -0
- package/dist/lib/components/ui/context-menu/context-menu-group-heading.svelte +19 -0
- package/dist/lib/components/ui/context-menu/context-menu-group-heading.svelte.d.ts +7 -0
- package/dist/lib/components/ui/context-menu/context-menu-item.svelte +23 -0
- package/dist/lib/components/ui/context-menu/context-menu-item.svelte.d.ts +7 -0
- package/dist/lib/components/ui/context-menu/context-menu-radio-item.svelte +30 -0
- package/dist/lib/components/ui/context-menu/context-menu-radio-item.svelte.d.ts +4 -0
- package/dist/lib/components/ui/context-menu/context-menu-separator.svelte +16 -0
- package/dist/lib/components/ui/context-menu/context-menu-separator.svelte.d.ts +4 -0
- package/dist/lib/components/ui/context-menu/context-menu-shortcut.svelte +20 -0
- package/dist/lib/components/ui/context-menu/context-menu-shortcut.svelte.d.ts +5 -0
- package/dist/lib/components/ui/context-menu/context-menu-sub-content.svelte +19 -0
- package/dist/lib/components/ui/context-menu/context-menu-sub-content.svelte.d.ts +4 -0
- package/dist/lib/components/ui/context-menu/context-menu-sub-trigger.svelte +28 -0
- package/dist/lib/components/ui/context-menu/context-menu-sub-trigger.svelte.d.ts +7 -0
- package/dist/lib/components/ui/context-menu/index.d.ts +16 -0
- package/dist/lib/components/ui/context-menu/index.js +18 -0
- package/dist/lib/components/ui/data-table/data-table.svelte.d.ts +36 -0
- package/dist/lib/components/ui/data-table/data-table.svelte.js +89 -0
- package/dist/lib/components/ui/data-table/flex-render.svelte +43 -0
- package/dist/lib/components/ui/data-table/flex-render.svelte.d.ts +23 -0
- package/dist/lib/components/ui/data-table/index.d.ts +3 -0
- package/dist/lib/components/ui/data-table/index.js +3 -0
- package/dist/lib/components/ui/data-table/render-helpers.d.ts +90 -0
- package/dist/lib/components/ui/data-table/render-helpers.js +99 -0
- package/dist/lib/components/ui/dialog/dialog-content.svelte +38 -0
- package/dist/lib/components/ui/dialog/dialog-content.svelte.d.ts +9 -0
- package/dist/lib/components/ui/dialog/dialog-description.svelte +16 -0
- package/dist/lib/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
- package/dist/lib/components/ui/dialog/dialog-footer.svelte +20 -0
- package/dist/lib/components/ui/dialog/dialog-footer.svelte.d.ts +5 -0
- package/dist/lib/components/ui/dialog/dialog-header.svelte +20 -0
- package/dist/lib/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
- package/dist/lib/components/ui/dialog/dialog-overlay.svelte +19 -0
- package/dist/lib/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
- package/dist/lib/components/ui/dialog/dialog-title.svelte +16 -0
- package/dist/lib/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
- package/dist/lib/components/ui/dialog/index.d.ts +12 -0
- package/dist/lib/components/ui/dialog/index.js +14 -0
- package/dist/lib/components/ui/drawer/drawer-content.svelte +30 -0
- package/dist/lib/components/ui/drawer/drawer-content.svelte.d.ts +7 -0
- package/dist/lib/components/ui/drawer/drawer-description.svelte +16 -0
- package/dist/lib/components/ui/drawer/drawer-description.svelte.d.ts +4 -0
- package/dist/lib/components/ui/drawer/drawer-footer.svelte +18 -0
- package/dist/lib/components/ui/drawer/drawer-footer.svelte.d.ts +7 -0
- package/dist/lib/components/ui/drawer/drawer-header.svelte +20 -0
- package/dist/lib/components/ui/drawer/drawer-header.svelte.d.ts +5 -0
- package/dist/lib/components/ui/drawer/drawer-nested.svelte +12 -0
- package/dist/lib/components/ui/drawer/drawer-nested.svelte.d.ts +3 -0
- package/dist/lib/components/ui/drawer/drawer-overlay.svelte +16 -0
- package/dist/lib/components/ui/drawer/drawer-overlay.svelte.d.ts +4 -0
- package/dist/lib/components/ui/drawer/drawer-title.svelte +16 -0
- package/dist/lib/components/ui/drawer/drawer-title.svelte.d.ts +4 -0
- package/dist/lib/components/ui/drawer/drawer.svelte +12 -0
- package/dist/lib/components/ui/drawer/drawer.svelte.d.ts +3 -0
- package/dist/lib/components/ui/drawer/index.d.ts +13 -0
- package/dist/lib/components/ui/drawer/index.js +15 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +40 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +8 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte +27 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +7 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +19 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +7 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte +23 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +7 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte +23 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +30 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte +16 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +19 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +28 -0
- package/dist/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
- package/dist/lib/components/ui/dropdown-menu/index.d.ts +25 -0
- package/dist/lib/components/ui/dropdown-menu/index.js +17 -0
- package/dist/lib/components/ui/form/form-button.svelte +7 -0
- package/dist/lib/components/ui/form/form-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/form/form-description.svelte +17 -0
- package/dist/lib/components/ui/form/form-description.svelte.d.ts +4 -0
- package/dist/lib/components/ui/form/form-element-field.svelte +30 -0
- package/dist/lib/components/ui/form/form-element-field.svelte.d.ts +22 -0
- package/dist/lib/components/ui/form/form-field-errors.svelte +30 -0
- package/dist/lib/components/ui/form/form-field-errors.svelte.d.ts +8 -0
- package/dist/lib/components/ui/form/form-field.svelte +30 -0
- package/dist/lib/components/ui/form/form-field.svelte.d.ts +21 -0
- package/dist/lib/components/ui/form/form-fieldset.svelte +21 -0
- package/dist/lib/components/ui/form/form-fieldset.svelte.d.ts +19 -0
- package/dist/lib/components/ui/form/form-label.svelte +21 -0
- package/dist/lib/components/ui/form/form-label.svelte.d.ts +4 -0
- package/dist/lib/components/ui/form/form-legend.svelte +17 -0
- package/dist/lib/components/ui/form/form-legend.svelte.d.ts +4 -0
- package/dist/lib/components/ui/form/index.d.ts +11 -0
- package/dist/lib/components/ui/form/index.js +13 -0
- package/dist/lib/components/ui/hover-card/hover-card-content.svelte +28 -0
- package/dist/lib/components/ui/hover-card/hover-card-content.svelte.d.ts +7 -0
- package/dist/lib/components/ui/hover-card/index.d.ts +5 -0
- package/dist/lib/components/ui/hover-card/index.js +5 -0
- package/dist/lib/components/ui/input/index.d.ts +2 -0
- package/dist/lib/components/ui/input/index.js +4 -0
- package/dist/lib/components/ui/input/input.svelte +46 -0
- package/dist/lib/components/ui/input/input.svelte.d.ts +13 -0
- package/dist/lib/components/ui/input-otp/index.d.ts +5 -0
- package/dist/lib/components/ui/input-otp/index.js +5 -0
- package/dist/lib/components/ui/input-otp/input-otp-group.svelte +16 -0
- package/dist/lib/components/ui/input-otp/input-otp-group.svelte.d.ts +5 -0
- package/dist/lib/components/ui/input-otp/input-otp-separator.svelte +19 -0
- package/dist/lib/components/ui/input-otp/input-otp-separator.svelte.d.ts +5 -0
- package/dist/lib/components/ui/input-otp/input-otp-slot.svelte +30 -0
- package/dist/lib/components/ui/input-otp/input-otp-slot.svelte.d.ts +12 -0
- package/dist/lib/components/ui/input-otp/input-otp.svelte +22 -0
- package/dist/lib/components/ui/input-otp/input-otp.svelte.d.ts +3 -0
- package/dist/lib/components/ui/label/index.d.ts +2 -0
- package/dist/lib/components/ui/label/index.js +4 -0
- package/dist/lib/components/ui/label/label.svelte +19 -0
- package/dist/lib/components/ui/label/label.svelte.d.ts +4 -0
- package/dist/lib/components/ui/menubar/index.d.ts +17 -0
- package/dist/lib/components/ui/menubar/index.js +19 -0
- package/dist/lib/components/ui/menubar/menubar-checkbox-item.svelte +40 -0
- package/dist/lib/components/ui/menubar/menubar-checkbox-item.svelte.d.ts +8 -0
- package/dist/lib/components/ui/menubar/menubar-content.svelte +32 -0
- package/dist/lib/components/ui/menubar/menubar-content.svelte.d.ts +7 -0
- package/dist/lib/components/ui/menubar/menubar-group-heading.svelte +19 -0
- package/dist/lib/components/ui/menubar/menubar-group-heading.svelte.d.ts +7 -0
- package/dist/lib/components/ui/menubar/menubar-item.svelte +23 -0
- package/dist/lib/components/ui/menubar/menubar-item.svelte.d.ts +7 -0
- package/dist/lib/components/ui/menubar/menubar-radio-item.svelte +30 -0
- package/dist/lib/components/ui/menubar/menubar-radio-item.svelte.d.ts +4 -0
- package/dist/lib/components/ui/menubar/menubar-separator.svelte +16 -0
- package/dist/lib/components/ui/menubar/menubar-separator.svelte.d.ts +4 -0
- package/dist/lib/components/ui/menubar/menubar-shortcut.svelte +20 -0
- package/dist/lib/components/ui/menubar/menubar-shortcut.svelte.d.ts +5 -0
- package/dist/lib/components/ui/menubar/menubar-sub-content.svelte +19 -0
- package/dist/lib/components/ui/menubar/menubar-sub-content.svelte.d.ts +4 -0
- package/dist/lib/components/ui/menubar/menubar-sub-trigger.svelte +28 -0
- package/dist/lib/components/ui/menubar/menubar-sub-trigger.svelte.d.ts +7 -0
- package/dist/lib/components/ui/menubar/menubar-trigger.svelte +19 -0
- package/dist/lib/components/ui/menubar/menubar-trigger.svelte.d.ts +4 -0
- package/dist/lib/components/ui/menubar/menubar.svelte +19 -0
- package/dist/lib/components/ui/menubar/menubar.svelte.d.ts +4 -0
- package/dist/lib/components/ui/pagination/index.d.ts +8 -0
- package/dist/lib/components/ui/pagination/index.js +10 -0
- package/dist/lib/components/ui/pagination/pagination-content.svelte +16 -0
- package/dist/lib/components/ui/pagination/pagination-content.svelte.d.ts +5 -0
- package/dist/lib/components/ui/pagination/pagination-ellipsis.svelte +22 -0
- package/dist/lib/components/ui/pagination/pagination-ellipsis.svelte.d.ts +5 -0
- package/dist/lib/components/ui/pagination/pagination-item.svelte +14 -0
- package/dist/lib/components/ui/pagination/pagination-item.svelte.d.ts +5 -0
- package/dist/lib/components/ui/pagination/pagination-link.svelte +41 -0
- package/dist/lib/components/ui/pagination/pagination-link.svelte.d.ts +8 -0
- package/dist/lib/components/ui/pagination/pagination-next-button.svelte +25 -0
- package/dist/lib/components/ui/pagination/pagination-next-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/pagination/pagination-prev-button.svelte +25 -0
- package/dist/lib/components/ui/pagination/pagination-prev-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/pagination/pagination.svelte +24 -0
- package/dist/lib/components/ui/pagination/pagination.svelte.d.ts +4 -0
- package/dist/lib/components/ui/popover/index.d.ts +6 -0
- package/dist/lib/components/ui/popover/index.js +8 -0
- package/dist/lib/components/ui/popover/popover-content.svelte +28 -0
- package/dist/lib/components/ui/popover/popover-content.svelte.d.ts +7 -0
- package/dist/lib/components/ui/progress/index.d.ts +2 -0
- package/dist/lib/components/ui/progress/index.js +4 -0
- package/dist/lib/components/ui/progress/progress.svelte +24 -0
- package/dist/lib/components/ui/progress/progress.svelte.d.ts +4 -0
- package/dist/lib/components/ui/radio-group/index.d.ts +3 -0
- package/dist/lib/components/ui/radio-group/index.js +5 -0
- package/dist/lib/components/ui/radio-group/radio-group-item.svelte +30 -0
- package/dist/lib/components/ui/radio-group/radio-group-item.svelte.d.ts +7 -0
- package/dist/lib/components/ui/radio-group/radio-group.svelte +13 -0
- package/dist/lib/components/ui/radio-group/radio-group.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/index.d.ts +14 -0
- package/dist/lib/components/ui/range-calendar/index.js +16 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-cell.svelte +19 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-cell.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-day.svelte +35 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-day.svelte.d.ts +6 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-grid-body.svelte +12 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-grid-body.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-grid-head.svelte +12 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-grid-head.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-grid-row.svelte +12 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-grid-row.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-grid.svelte +16 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-grid.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-head-cell.svelte +16 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-head-cell.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-header.svelte +16 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-header.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-heading.svelte +16 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-heading.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-months.svelte +20 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-months.svelte.d.ts +5 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-next-button.svelte +27 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-next-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-prev-button.svelte +27 -0
- package/dist/lib/components/ui/range-calendar/range-calendar-prev-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/range-calendar/range-calendar.svelte +57 -0
- package/dist/lib/components/ui/range-calendar/range-calendar.svelte.d.ts +5 -0
- package/dist/lib/components/ui/resizable/index.d.ts +4 -0
- package/dist/lib/components/ui/resizable/index.js +6 -0
- package/dist/lib/components/ui/resizable/resizable-handle.svelte +30 -0
- package/dist/lib/components/ui/resizable/resizable-handle.svelte.d.ts +8 -0
- package/dist/lib/components/ui/resizable/resizable-pane-group.svelte +22 -0
- package/dist/lib/components/ui/resizable/resizable-pane-group.svelte.d.ts +7 -0
- package/dist/lib/components/ui/scroll-area/index.d.ts +3 -0
- package/dist/lib/components/ui/scroll-area/index.js +5 -0
- package/dist/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte +29 -0
- package/dist/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +4 -0
- package/dist/lib/components/ui/scroll-area/scroll-area.svelte +32 -0
- package/dist/lib/components/ui/scroll-area/scroll-area.svelte.d.ts +9 -0
- package/dist/lib/components/ui/select/index.d.ts +11 -0
- package/dist/lib/components/ui/select/index.js +13 -0
- package/dist/lib/components/ui/select/select-content.svelte +38 -0
- package/dist/lib/components/ui/select/select-content.svelte.d.ts +7 -0
- package/dist/lib/components/ui/select/select-group-heading.svelte +16 -0
- package/dist/lib/components/ui/select/select-group-heading.svelte.d.ts +4 -0
- package/dist/lib/components/ui/select/select-item.svelte +37 -0
- package/dist/lib/components/ui/select/select-item.svelte.d.ts +4 -0
- package/dist/lib/components/ui/select/select-scroll-down-button.svelte +19 -0
- package/dist/lib/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/select/select-scroll-up-button.svelte +19 -0
- package/dist/lib/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
- package/dist/lib/components/ui/select/select-separator.svelte +13 -0
- package/dist/lib/components/ui/select/select-separator.svelte.d.ts +4 -0
- package/dist/lib/components/ui/select/select-trigger.svelte +24 -0
- package/dist/lib/components/ui/select/select-trigger.svelte.d.ts +4 -0
- package/dist/lib/components/ui/separator/index.d.ts +2 -0
- package/dist/lib/components/ui/separator/index.js +4 -0
- package/dist/lib/components/ui/separator/separator.svelte +22 -0
- package/dist/lib/components/ui/separator/separator.svelte.d.ts +4 -0
- package/dist/lib/components/ui/sheet/index.d.ts +12 -0
- package/dist/lib/components/ui/sheet/index.js +14 -0
- package/dist/lib/components/ui/sheet/sheet-content.svelte +54 -0
- package/dist/lib/components/ui/sheet/sheet-content.svelte.d.ts +34 -0
- package/dist/lib/components/ui/sheet/sheet-description.svelte +16 -0
- package/dist/lib/components/ui/sheet/sheet-description.svelte.d.ts +4 -0
- package/dist/lib/components/ui/sheet/sheet-footer.svelte +20 -0
- package/dist/lib/components/ui/sheet/sheet-footer.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sheet/sheet-header.svelte +20 -0
- package/dist/lib/components/ui/sheet/sheet-header.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sheet/sheet-overlay.svelte +19 -0
- package/dist/lib/components/ui/sheet/sheet-overlay.svelte.d.ts +4 -0
- package/dist/lib/components/ui/sheet/sheet-title.svelte +16 -0
- package/dist/lib/components/ui/sheet/sheet-title.svelte.d.ts +4 -0
- package/dist/lib/components/ui/sidebar/constants.d.ts +6 -0
- package/dist/lib/components/ui/sidebar/constants.js +6 -0
- package/dist/lib/components/ui/sidebar/context.svelte.d.ts +42 -0
- package/dist/lib/components/ui/sidebar/context.svelte.js +52 -0
- package/dist/lib/components/ui/sidebar/index.d.ts +25 -0
- package/dist/lib/components/ui/sidebar/index.js +27 -0
- package/dist/lib/components/ui/sidebar/sidebar-content.svelte +24 -0
- package/dist/lib/components/ui/sidebar/sidebar-content.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-footer.svelte +21 -0
- package/dist/lib/components/ui/sidebar/sidebar-footer.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-group-action.svelte +36 -0
- package/dist/lib/components/ui/sidebar/sidebar-group-action.svelte.d.ts +11 -0
- package/dist/lib/components/ui/sidebar/sidebar-group-content.svelte +21 -0
- package/dist/lib/components/ui/sidebar/sidebar-group-content.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-group-label.svelte +34 -0
- package/dist/lib/components/ui/sidebar/sidebar-group-label.svelte.d.ts +11 -0
- package/dist/lib/components/ui/sidebar/sidebar-group.svelte +21 -0
- package/dist/lib/components/ui/sidebar/sidebar-group.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-header.svelte +21 -0
- package/dist/lib/components/ui/sidebar/sidebar-header.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-input.svelte +23 -0
- package/dist/lib/components/ui/sidebar/sidebar-input.svelte.d.ts +11 -0
- package/dist/lib/components/ui/sidebar/sidebar-inset.svelte +24 -0
- package/dist/lib/components/ui/sidebar/sidebar-inset.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-action.svelte +43 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +12 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-badge.svelte +29 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-button.svelte +97 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +51 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-item.svelte +21 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-skeleton.svelte +36 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +8 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-sub-button.svelte +43 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +13 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-sub-item.svelte +14 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-sub.svelte +25 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu.svelte +21 -0
- package/dist/lib/components/ui/sidebar/sidebar-menu.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-provider.svelte +53 -0
- package/dist/lib/components/ui/sidebar/sidebar-provider.svelte.d.ts +9 -0
- package/dist/lib/components/ui/sidebar/sidebar-rail.svelte +36 -0
- package/dist/lib/components/ui/sidebar/sidebar-rail.svelte.d.ts +5 -0
- package/dist/lib/components/ui/sidebar/sidebar-separator.svelte +18 -0
- package/dist/lib/components/ui/sidebar/sidebar-separator.svelte.d.ts +13 -0
- package/dist/lib/components/ui/sidebar/sidebar-trigger.svelte +34 -0
- package/dist/lib/components/ui/sidebar/sidebar-trigger.svelte.d.ts +8 -0
- package/dist/lib/components/ui/sidebar/sidebar.svelte +96 -0
- package/dist/lib/components/ui/sidebar/sidebar.svelte.d.ts +10 -0
- package/dist/lib/components/ui/skeleton/index.d.ts +2 -0
- package/dist/lib/components/ui/skeleton/index.js +4 -0
- package/dist/lib/components/ui/skeleton/skeleton.svelte +17 -0
- package/dist/lib/components/ui/skeleton/skeleton.svelte.d.ts +5 -0
- package/dist/lib/components/ui/slider/index.d.ts +2 -0
- package/dist/lib/components/ui/slider/index.js +4 -0
- package/dist/lib/components/ui/slider/slider.svelte +44 -0
- package/dist/lib/components/ui/slider/slider.svelte.d.ts +4 -0
- package/dist/lib/components/ui/sonner/index.d.ts +1 -0
- package/dist/lib/components/ui/sonner/index.js +1 -0
- package/dist/lib/components/ui/sonner/sonner.svelte +20 -0
- package/dist/lib/components/ui/sonner/sonner.svelte.d.ts +4 -0
- package/dist/lib/components/ui/switch/index.d.ts +2 -0
- package/dist/lib/components/ui/switch/index.js +4 -0
- package/dist/lib/components/ui/switch/switch.svelte +27 -0
- package/dist/lib/components/ui/switch/switch.svelte.d.ts +4 -0
- package/dist/lib/components/ui/table/index.d.ts +9 -0
- package/dist/lib/components/ui/table/index.js +11 -0
- package/dist/lib/components/ui/table/table-body.svelte +16 -0
- package/dist/lib/components/ui/table/table-body.svelte.d.ts +5 -0
- package/dist/lib/components/ui/table/table-caption.svelte +16 -0
- package/dist/lib/components/ui/table/table-caption.svelte.d.ts +5 -0
- package/dist/lib/components/ui/table/table-cell.svelte +23 -0
- package/dist/lib/components/ui/table/table-cell.svelte.d.ts +5 -0
- package/dist/lib/components/ui/table/table-footer.svelte +16 -0
- package/dist/lib/components/ui/table/table-footer.svelte.d.ts +5 -0
- package/dist/lib/components/ui/table/table-head.svelte +23 -0
- package/dist/lib/components/ui/table/table-head.svelte.d.ts +5 -0
- package/dist/lib/components/ui/table/table-header.svelte +16 -0
- package/dist/lib/components/ui/table/table-header.svelte.d.ts +5 -0
- package/dist/lib/components/ui/table/table-row.svelte +23 -0
- package/dist/lib/components/ui/table/table-row.svelte.d.ts +5 -0
- package/dist/lib/components/ui/table/table.svelte +18 -0
- package/dist/lib/components/ui/table/table.svelte.d.ts +5 -0
- package/dist/lib/components/ui/tabs/index.d.ts +6 -0
- package/dist/lib/components/ui/tabs/index.js +8 -0
- package/dist/lib/components/ui/tabs/tabs-content.svelte +21 -0
- package/dist/lib/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
- package/dist/lib/components/ui/tabs/tabs-list.svelte +19 -0
- package/dist/lib/components/ui/tabs/tabs-list.svelte.d.ts +4 -0
- package/dist/lib/components/ui/tabs/tabs-trigger.svelte +21 -0
- package/dist/lib/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
- package/dist/lib/components/ui/textarea/index.d.ts +2 -0
- package/dist/lib/components/ui/textarea/index.js +4 -0
- package/dist/lib/components/ui/textarea/textarea.svelte +22 -0
- package/dist/lib/components/ui/textarea/textarea.svelte.d.ts +5 -0
- package/dist/lib/components/ui/toggle/index.d.ts +3 -0
- package/dist/lib/components/ui/toggle/index.js +5 -0
- package/dist/lib/components/ui/toggle/toggle.svelte +51 -0
- package/dist/lib/components/ui/toggle/toggle.svelte.d.ts +43 -0
- package/dist/lib/components/ui/toggle-group/index.d.ts +3 -0
- package/dist/lib/components/ui/toggle-group/index.js +5 -0
- package/dist/lib/components/ui/toggle-group/toggle-group-item.svelte +30 -0
- package/dist/lib/components/ui/toggle-group/toggle-group-item.svelte.d.ts +6 -0
- package/dist/lib/components/ui/toggle-group/toggle-group.svelte +41 -0
- package/dist/lib/components/ui/toggle-group/toggle-group.svelte.d.ts +8 -0
- package/dist/lib/components/ui/tooltip/index.d.ts +6 -0
- package/dist/lib/components/ui/tooltip/index.js +8 -0
- package/dist/lib/components/ui/tooltip/tooltip-content.svelte +21 -0
- package/dist/lib/components/ui/tooltip/tooltip-content.svelte.d.ts +4 -0
- package/dist/lib/hooks/is-mobile.svelte.d.ts +4 -0
- package/dist/lib/hooks/is-mobile.svelte.js +7 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.js +5 -0
- package/package.json +360 -0
- package/src/app.html +13 -0
- package/src/lib/components/ui/accordion/accordion-content.svelte +24 -0
- package/src/lib/components/ui/accordion/accordion-item.svelte +12 -0
- package/src/lib/components/ui/accordion/accordion-trigger.svelte +29 -0
- package/src/lib/components/ui/accordion/index.ts +17 -0
- package/src/lib/components/ui/alert/alert-description.svelte +16 -0
- package/src/lib/components/ui/alert/alert-title.svelte +24 -0
- package/src/lib/components/ui/alert/alert.svelte +39 -0
- package/src/lib/components/ui/alert/index.ts +14 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte +13 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte +17 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte +26 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte +16 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte +20 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte +20 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte +19 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte +18 -0
- package/src/lib/components/ui/alert-dialog/index.ts +40 -0
- package/src/lib/components/ui/aspect-ratio/index.ts +5 -0
- package/src/lib/components/ui/avatar/avatar-fallback.svelte +16 -0
- package/src/lib/components/ui/avatar/avatar-image.svelte +20 -0
- package/src/lib/components/ui/avatar/avatar.svelte +18 -0
- package/src/lib/components/ui/avatar/index.ts +13 -0
- package/src/lib/components/ui/badge/badge.svelte +49 -0
- package/src/lib/components/ui/badge/index.ts +2 -0
- package/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +23 -0
- package/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte +16 -0
- package/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
- package/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte +23 -0
- package/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
- package/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte +27 -0
- package/src/lib/components/ui/breadcrumb/breadcrumb.svelte +15 -0
- package/src/lib/components/ui/breadcrumb/index.ts +25 -0
- package/src/lib/components/ui/button/button.svelte +75 -0
- package/src/lib/components/ui/button/index.ts +17 -0
- package/src/lib/components/ui/calendar/calendar-cell.svelte +19 -0
- package/src/lib/components/ui/calendar/calendar-day.svelte +31 -0
- package/src/lib/components/ui/calendar/calendar-grid-body.svelte +12 -0
- package/src/lib/components/ui/calendar/calendar-grid-head.svelte +12 -0
- package/src/lib/components/ui/calendar/calendar-grid-row.svelte +12 -0
- package/src/lib/components/ui/calendar/calendar-grid.svelte +16 -0
- package/src/lib/components/ui/calendar/calendar-head-cell.svelte +16 -0
- package/src/lib/components/ui/calendar/calendar-header.svelte +16 -0
- package/src/lib/components/ui/calendar/calendar-heading.svelte +12 -0
- package/src/lib/components/ui/calendar/calendar-months.svelte +20 -0
- package/src/lib/components/ui/calendar/calendar-next-button.svelte +28 -0
- package/src/lib/components/ui/calendar/calendar-prev-button.svelte +28 -0
- package/src/lib/components/ui/calendar/calendar.svelte +61 -0
- package/src/lib/components/ui/calendar/index.ts +30 -0
- package/src/lib/components/ui/card/card-content.svelte +16 -0
- package/src/lib/components/ui/card/card-description.svelte +16 -0
- package/src/lib/components/ui/card/card-footer.svelte +16 -0
- package/src/lib/components/ui/card/card-header.svelte +16 -0
- package/src/lib/components/ui/card/card-title.svelte +25 -0
- package/src/lib/components/ui/card/card.svelte +20 -0
- package/src/lib/components/ui/card/index.ts +22 -0
- package/src/lib/components/ui/carousel/carousel-content.svelte +44 -0
- package/src/lib/components/ui/carousel/carousel-item.svelte +30 -0
- package/src/lib/components/ui/carousel/carousel-next.svelte +37 -0
- package/src/lib/components/ui/carousel/carousel-previous.svelte +37 -0
- package/src/lib/components/ui/carousel/carousel.svelte +92 -0
- package/src/lib/components/ui/carousel/context.ts +56 -0
- package/src/lib/components/ui/carousel/index.ts +19 -0
- package/src/lib/components/ui/checkbox/checkbox.svelte +35 -0
- package/src/lib/components/ui/checkbox/index.ts +6 -0
- package/src/lib/components/ui/collapsible/index.ts +15 -0
- package/src/lib/components/ui/command/command-dialog.svelte +35 -0
- package/src/lib/components/ui/command/command-empty.svelte +12 -0
- package/src/lib/components/ui/command/command-group.svelte +29 -0
- package/src/lib/components/ui/command/command-input.svelte +25 -0
- package/src/lib/components/ui/command/command-item.svelte +19 -0
- package/src/lib/components/ui/command/command-link-item.svelte +19 -0
- package/src/lib/components/ui/command/command-list.svelte +16 -0
- package/src/lib/components/ui/command/command-separator.svelte +12 -0
- package/src/lib/components/ui/command/command-shortcut.svelte +20 -0
- package/src/lib/components/ui/command/command.svelte +21 -0
- package/src/lib/components/ui/command/index.ts +40 -0
- package/src/lib/components/ui/context-menu/context-menu-checkbox-item.svelte +40 -0
- package/src/lib/components/ui/context-menu/context-menu-content.svelte +24 -0
- package/src/lib/components/ui/context-menu/context-menu-group-heading.svelte +19 -0
- package/src/lib/components/ui/context-menu/context-menu-item.svelte +23 -0
- package/src/lib/components/ui/context-menu/context-menu-radio-item.svelte +30 -0
- package/src/lib/components/ui/context-menu/context-menu-separator.svelte +16 -0
- package/src/lib/components/ui/context-menu/context-menu-shortcut.svelte +20 -0
- package/src/lib/components/ui/context-menu/context-menu-sub-content.svelte +19 -0
- package/src/lib/components/ui/context-menu/context-menu-sub-trigger.svelte +28 -0
- package/src/lib/components/ui/context-menu/index.ts +49 -0
- package/src/lib/components/ui/data-table/data-table.svelte.ts +117 -0
- package/src/lib/components/ui/data-table/flex-render.svelte +43 -0
- package/src/lib/components/ui/data-table/index.ts +3 -0
- package/src/lib/components/ui/data-table/render-helpers.ts +111 -0
- package/src/lib/components/ui/dialog/dialog-content.svelte +38 -0
- package/src/lib/components/ui/dialog/dialog-description.svelte +16 -0
- package/src/lib/components/ui/dialog/dialog-footer.svelte +20 -0
- package/src/lib/components/ui/dialog/dialog-header.svelte +20 -0
- package/src/lib/components/ui/dialog/dialog-overlay.svelte +19 -0
- package/src/lib/components/ui/dialog/dialog-title.svelte +16 -0
- package/src/lib/components/ui/dialog/index.ts +37 -0
- package/src/lib/components/ui/drawer/drawer-content.svelte +30 -0
- package/src/lib/components/ui/drawer/drawer-description.svelte +16 -0
- package/src/lib/components/ui/drawer/drawer-footer.svelte +18 -0
- package/src/lib/components/ui/drawer/drawer-header.svelte +20 -0
- package/src/lib/components/ui/drawer/drawer-nested.svelte +12 -0
- package/src/lib/components/ui/drawer/drawer-overlay.svelte +16 -0
- package/src/lib/components/ui/drawer/drawer-title.svelte +16 -0
- package/src/lib/components/ui/drawer/drawer.svelte +12 -0
- package/src/lib/components/ui/drawer/index.ts +40 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +40 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte +27 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +19 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte +23 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte +23 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +30 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte +16 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +19 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +28 -0
- package/src/lib/components/ui/dropdown-menu/index.ts +50 -0
- package/src/lib/components/ui/form/form-button.svelte +7 -0
- package/src/lib/components/ui/form/form-description.svelte +17 -0
- package/src/lib/components/ui/form/form-element-field.svelte +30 -0
- package/src/lib/components/ui/form/form-field-errors.svelte +30 -0
- package/src/lib/components/ui/form/form-field.svelte +30 -0
- package/src/lib/components/ui/form/form-fieldset.svelte +21 -0
- package/src/lib/components/ui/form/form-label.svelte +21 -0
- package/src/lib/components/ui/form/form-legend.svelte +17 -0
- package/src/lib/components/ui/form/index.ts +33 -0
- package/src/lib/components/ui/hover-card/hover-card-content.svelte +28 -0
- package/src/lib/components/ui/hover-card/index.ts +14 -0
- package/src/lib/components/ui/input/index.ts +7 -0
- package/src/lib/components/ui/input/input.svelte +46 -0
- package/src/lib/components/ui/input-otp/index.ts +15 -0
- package/src/lib/components/ui/input-otp/input-otp-group.svelte +16 -0
- package/src/lib/components/ui/input-otp/input-otp-separator.svelte +19 -0
- package/src/lib/components/ui/input-otp/input-otp-slot.svelte +30 -0
- package/src/lib/components/ui/input-otp/input-otp.svelte +22 -0
- package/src/lib/components/ui/label/index.ts +7 -0
- package/src/lib/components/ui/label/label.svelte +19 -0
- package/src/lib/components/ui/menubar/index.ts +51 -0
- package/src/lib/components/ui/menubar/menubar-checkbox-item.svelte +40 -0
- package/src/lib/components/ui/menubar/menubar-content.svelte +32 -0
- package/src/lib/components/ui/menubar/menubar-group-heading.svelte +19 -0
- package/src/lib/components/ui/menubar/menubar-item.svelte +23 -0
- package/src/lib/components/ui/menubar/menubar-radio-item.svelte +30 -0
- package/src/lib/components/ui/menubar/menubar-separator.svelte +16 -0
- package/src/lib/components/ui/menubar/menubar-shortcut.svelte +20 -0
- package/src/lib/components/ui/menubar/menubar-sub-content.svelte +19 -0
- package/src/lib/components/ui/menubar/menubar-sub-trigger.svelte +28 -0
- package/src/lib/components/ui/menubar/menubar-trigger.svelte +19 -0
- package/src/lib/components/ui/menubar/menubar.svelte +19 -0
- package/src/lib/components/ui/pagination/index.ts +24 -0
- package/src/lib/components/ui/pagination/pagination-content.svelte +16 -0
- package/src/lib/components/ui/pagination/pagination-ellipsis.svelte +22 -0
- package/src/lib/components/ui/pagination/pagination-item.svelte +14 -0
- package/src/lib/components/ui/pagination/pagination-link.svelte +41 -0
- package/src/lib/components/ui/pagination/pagination-next-button.svelte +25 -0
- package/src/lib/components/ui/pagination/pagination-prev-button.svelte +25 -0
- package/src/lib/components/ui/pagination/pagination.svelte +24 -0
- package/src/lib/components/ui/popover/index.ts +17 -0
- package/src/lib/components/ui/popover/popover-content.svelte +28 -0
- package/src/lib/components/ui/progress/index.ts +7 -0
- package/src/lib/components/ui/progress/progress.svelte +24 -0
- package/src/lib/components/ui/radio-group/index.ts +10 -0
- package/src/lib/components/ui/radio-group/radio-group-item.svelte +30 -0
- package/src/lib/components/ui/radio-group/radio-group.svelte +13 -0
- package/src/lib/components/ui/range-calendar/index.ts +30 -0
- package/src/lib/components/ui/range-calendar/range-calendar-cell.svelte +19 -0
- package/src/lib/components/ui/range-calendar/range-calendar-day.svelte +35 -0
- package/src/lib/components/ui/range-calendar/range-calendar-grid-body.svelte +12 -0
- package/src/lib/components/ui/range-calendar/range-calendar-grid-head.svelte +12 -0
- package/src/lib/components/ui/range-calendar/range-calendar-grid-row.svelte +12 -0
- package/src/lib/components/ui/range-calendar/range-calendar-grid.svelte +16 -0
- package/src/lib/components/ui/range-calendar/range-calendar-head-cell.svelte +16 -0
- package/src/lib/components/ui/range-calendar/range-calendar-header.svelte +16 -0
- package/src/lib/components/ui/range-calendar/range-calendar-heading.svelte +16 -0
- package/src/lib/components/ui/range-calendar/range-calendar-months.svelte +20 -0
- package/src/lib/components/ui/range-calendar/range-calendar-next-button.svelte +27 -0
- package/src/lib/components/ui/range-calendar/range-calendar-prev-button.svelte +27 -0
- package/src/lib/components/ui/range-calendar/range-calendar.svelte +57 -0
- package/src/lib/components/ui/resizable/index.ts +13 -0
- package/src/lib/components/ui/resizable/resizable-handle.svelte +30 -0
- package/src/lib/components/ui/resizable/resizable-pane-group.svelte +22 -0
- package/src/lib/components/ui/scroll-area/index.ts +10 -0
- package/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte +29 -0
- package/src/lib/components/ui/scroll-area/scroll-area.svelte +32 -0
- package/src/lib/components/ui/select/index.ts +34 -0
- package/src/lib/components/ui/select/select-content.svelte +38 -0
- package/src/lib/components/ui/select/select-group-heading.svelte +16 -0
- package/src/lib/components/ui/select/select-item.svelte +37 -0
- package/src/lib/components/ui/select/select-scroll-down-button.svelte +19 -0
- package/src/lib/components/ui/select/select-scroll-up-button.svelte +19 -0
- package/src/lib/components/ui/select/select-separator.svelte +13 -0
- package/src/lib/components/ui/select/select-trigger.svelte +24 -0
- package/src/lib/components/ui/separator/index.ts +7 -0
- package/src/lib/components/ui/separator/separator.svelte +22 -0
- package/src/lib/components/ui/sheet/index.ts +37 -0
- package/src/lib/components/ui/sheet/sheet-content.svelte +54 -0
- package/src/lib/components/ui/sheet/sheet-description.svelte +16 -0
- package/src/lib/components/ui/sheet/sheet-footer.svelte +20 -0
- package/src/lib/components/ui/sheet/sheet-header.svelte +20 -0
- package/src/lib/components/ui/sheet/sheet-overlay.svelte +19 -0
- package/src/lib/components/ui/sheet/sheet-title.svelte +16 -0
- package/src/lib/components/ui/sidebar/constants.ts +6 -0
- package/src/lib/components/ui/sidebar/context.svelte.ts +79 -0
- package/src/lib/components/ui/sidebar/index.ts +75 -0
- package/src/lib/components/ui/sidebar/sidebar-content.svelte +24 -0
- package/src/lib/components/ui/sidebar/sidebar-footer.svelte +21 -0
- package/src/lib/components/ui/sidebar/sidebar-group-action.svelte +36 -0
- package/src/lib/components/ui/sidebar/sidebar-group-content.svelte +21 -0
- package/src/lib/components/ui/sidebar/sidebar-group-label.svelte +34 -0
- package/src/lib/components/ui/sidebar/sidebar-group.svelte +21 -0
- package/src/lib/components/ui/sidebar/sidebar-header.svelte +21 -0
- package/src/lib/components/ui/sidebar/sidebar-input.svelte +23 -0
- package/src/lib/components/ui/sidebar/sidebar-inset.svelte +24 -0
- package/src/lib/components/ui/sidebar/sidebar-menu-action.svelte +43 -0
- package/src/lib/components/ui/sidebar/sidebar-menu-badge.svelte +29 -0
- package/src/lib/components/ui/sidebar/sidebar-menu-button.svelte +97 -0
- package/src/lib/components/ui/sidebar/sidebar-menu-item.svelte +21 -0
- package/src/lib/components/ui/sidebar/sidebar-menu-skeleton.svelte +36 -0
- package/src/lib/components/ui/sidebar/sidebar-menu-sub-button.svelte +43 -0
- package/src/lib/components/ui/sidebar/sidebar-menu-sub-item.svelte +14 -0
- package/src/lib/components/ui/sidebar/sidebar-menu-sub.svelte +25 -0
- package/src/lib/components/ui/sidebar/sidebar-menu.svelte +21 -0
- package/src/lib/components/ui/sidebar/sidebar-provider.svelte +53 -0
- package/src/lib/components/ui/sidebar/sidebar-rail.svelte +36 -0
- package/src/lib/components/ui/sidebar/sidebar-separator.svelte +18 -0
- package/src/lib/components/ui/sidebar/sidebar-trigger.svelte +34 -0
- package/src/lib/components/ui/sidebar/sidebar.svelte +96 -0
- package/src/lib/components/ui/skeleton/index.ts +7 -0
- package/src/lib/components/ui/skeleton/skeleton.svelte +17 -0
- package/src/lib/components/ui/slider/index.ts +7 -0
- package/src/lib/components/ui/slider/slider.svelte +44 -0
- package/src/lib/components/ui/sonner/index.ts +1 -0
- package/src/lib/components/ui/sonner/sonner.svelte +20 -0
- package/src/lib/components/ui/switch/index.ts +7 -0
- package/src/lib/components/ui/switch/switch.svelte +27 -0
- package/src/lib/components/ui/table/index.ts +28 -0
- package/src/lib/components/ui/table/table-body.svelte +16 -0
- package/src/lib/components/ui/table/table-caption.svelte +16 -0
- package/src/lib/components/ui/table/table-cell.svelte +23 -0
- package/src/lib/components/ui/table/table-footer.svelte +16 -0
- package/src/lib/components/ui/table/table-head.svelte +23 -0
- package/src/lib/components/ui/table/table-header.svelte +16 -0
- package/src/lib/components/ui/table/table-row.svelte +23 -0
- package/src/lib/components/ui/table/table.svelte +18 -0
- package/src/lib/components/ui/tabs/index.ts +18 -0
- package/src/lib/components/ui/tabs/tabs-content.svelte +21 -0
- package/src/lib/components/ui/tabs/tabs-list.svelte +19 -0
- package/src/lib/components/ui/tabs/tabs-trigger.svelte +21 -0
- package/src/lib/components/ui/textarea/index.ts +7 -0
- package/src/lib/components/ui/textarea/textarea.svelte +22 -0
- package/src/lib/components/ui/toggle/index.ts +13 -0
- package/src/lib/components/ui/toggle/toggle.svelte +51 -0
- package/src/lib/components/ui/toggle-group/index.ts +10 -0
- package/src/lib/components/ui/toggle-group/toggle-group-item.svelte +30 -0
- package/src/lib/components/ui/toggle-group/toggle-group.svelte +41 -0
- package/src/lib/components/ui/tooltip/index.ts +18 -0
- package/src/lib/components/ui/tooltip/tooltip-content.svelte +21 -0
- package/src/lib/hooks/is-mobile.svelte.ts +9 -0
- package/src/lib/utils.ts +6 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type RowData,
|
|
3
|
+
type TableOptions,
|
|
4
|
+
type TableOptionsResolved,
|
|
5
|
+
type TableState,
|
|
6
|
+
createTable,
|
|
7
|
+
} from "@tanstack/table-core";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Creates a reactive TanStack table object for Svelte.
|
|
11
|
+
* @param options Table options to create the table with.
|
|
12
|
+
* @returns A reactive table object.
|
|
13
|
+
* @example
|
|
14
|
+
* ```svelte
|
|
15
|
+
* <script>
|
|
16
|
+
* const table = createSvelteTable({ ... })
|
|
17
|
+
* </script>
|
|
18
|
+
*
|
|
19
|
+
* <table>
|
|
20
|
+
* <thead>
|
|
21
|
+
* {#each table.getHeaderGroups() as headerGroup}
|
|
22
|
+
* <tr>
|
|
23
|
+
* {#each headerGroup.headers as header}
|
|
24
|
+
* <th colspan={header.colSpan}>
|
|
25
|
+
* <FlexRender content={header.column.columnDef.header} context={header.getContext()} />
|
|
26
|
+
* </th>
|
|
27
|
+
* {/each}
|
|
28
|
+
* </tr>
|
|
29
|
+
* {/each}
|
|
30
|
+
* </thead>
|
|
31
|
+
* <!-- ... -->
|
|
32
|
+
* </table>
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export function createSvelteTable<TData extends RowData>(options: TableOptions<TData>) {
|
|
36
|
+
const resolvedOptions: TableOptionsResolved<TData> = mergeObjects(
|
|
37
|
+
{
|
|
38
|
+
state: {},
|
|
39
|
+
onStateChange() {},
|
|
40
|
+
renderFallbackValue: null,
|
|
41
|
+
mergeOptions: (
|
|
42
|
+
defaultOptions: TableOptions<TData>,
|
|
43
|
+
options: Partial<TableOptions<TData>>
|
|
44
|
+
) => {
|
|
45
|
+
return mergeObjects(defaultOptions, options);
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
options
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
const table = createTable(resolvedOptions);
|
|
52
|
+
let state = $state<Partial<TableState>>(table.initialState);
|
|
53
|
+
|
|
54
|
+
function updateOptions() {
|
|
55
|
+
table.setOptions((prev) => {
|
|
56
|
+
return mergeObjects(prev, options, {
|
|
57
|
+
state: mergeObjects(state, options.state || {}),
|
|
58
|
+
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
|
+
onStateChange: (updater: any) => {
|
|
61
|
+
if (updater instanceof Function) state = updater(state);
|
|
62
|
+
else state = mergeObjects(state, updater);
|
|
63
|
+
|
|
64
|
+
options.onStateChange?.(updater);
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
updateOptions();
|
|
71
|
+
|
|
72
|
+
$effect.pre(() => {
|
|
73
|
+
updateOptions();
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
return table;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Merges objects together while keeping their getters alive.
|
|
81
|
+
* Taken from SolidJS: {@link https://github.com/solidjs/solid/blob/24abc825c0996fd2bc8c1de1491efe9a7e743aff/packages/solid/src/server/rendering.ts#L82-L115}
|
|
82
|
+
*/
|
|
83
|
+
export function mergeObjects<T>(source: T): T;
|
|
84
|
+
export function mergeObjects<T, U>(source: T, source1: U): T & U;
|
|
85
|
+
export function mergeObjects<T, U, V>(source: T, source1: U, source2: V): T & U & V;
|
|
86
|
+
export function mergeObjects<T, U, V, W>(
|
|
87
|
+
source: T,
|
|
88
|
+
source1: U,
|
|
89
|
+
source2: V,
|
|
90
|
+
source3: W
|
|
91
|
+
): T & U & V & W;
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
93
|
+
export function mergeObjects(...sources: any): any {
|
|
94
|
+
const target = {};
|
|
95
|
+
for (let i = 0; i < sources.length; i++) {
|
|
96
|
+
let source = sources[i];
|
|
97
|
+
if (typeof source === "function") source = source();
|
|
98
|
+
if (source) {
|
|
99
|
+
const descriptors = Object.getOwnPropertyDescriptors(source);
|
|
100
|
+
for (const key in descriptors) {
|
|
101
|
+
if (key in target) continue;
|
|
102
|
+
Object.defineProperty(target, key, {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get() {
|
|
105
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
106
|
+
let s = sources[i];
|
|
107
|
+
if (typeof s === "function") s = s();
|
|
108
|
+
const v = (s || {})[key];
|
|
109
|
+
if (v !== undefined) return v;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return target;
|
|
117
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { CellContext, ColumnDefTemplate, HeaderContext } from "@tanstack/table-core";
|
|
3
|
+
type TData = unknown;
|
|
4
|
+
type TValue = unknown;
|
|
5
|
+
type TContext = unknown;
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<script
|
|
9
|
+
lang="ts"
|
|
10
|
+
generics="TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>"
|
|
11
|
+
>
|
|
12
|
+
import { RenderComponentConfig, RenderSnippetConfig } from "./render-helpers.js";
|
|
13
|
+
|
|
14
|
+
type Props = {
|
|
15
|
+
/** The cell or header field of the current cell's column definition. */
|
|
16
|
+
content?: TContext extends HeaderContext<TData, TValue>
|
|
17
|
+
? ColumnDefTemplate<HeaderContext<TData, TValue>>
|
|
18
|
+
: TContext extends CellContext<TData, TValue>
|
|
19
|
+
? ColumnDefTemplate<CellContext<TData, TValue>>
|
|
20
|
+
: never;
|
|
21
|
+
/** The result of the `getContext()` function of the header or cell */
|
|
22
|
+
context: TContext;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
let { content, context }: Props = $props();
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
{#if typeof content === "string"}
|
|
29
|
+
{content}
|
|
30
|
+
{:else if content instanceof Function}
|
|
31
|
+
<!-- It's unlikely that a CellContext will be passed to a Header -->
|
|
32
|
+
<!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
|
|
33
|
+
{@const result = content(context as any)}
|
|
34
|
+
{#if result instanceof RenderComponentConfig}
|
|
35
|
+
{@const { component: Component, props } = result}
|
|
36
|
+
<Component {...props} />
|
|
37
|
+
{:else if result instanceof RenderSnippetConfig}
|
|
38
|
+
{@const { snippet, params } = result}
|
|
39
|
+
{@render snippet(params)}
|
|
40
|
+
{:else}
|
|
41
|
+
{result}
|
|
42
|
+
{/if}
|
|
43
|
+
{/if}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { Component, ComponentProps, Snippet } from "svelte";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A helper class to make it easy to identify Svelte components in
|
|
5
|
+
* `columnDef.cell` and `columnDef.header` properties.
|
|
6
|
+
*
|
|
7
|
+
* > NOTE: This class should only be used internally by the adapter. If you're
|
|
8
|
+
* reading this and you don't know what this is for, you probably don't need it.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```svelte
|
|
12
|
+
* {@const result = content(context as any)}
|
|
13
|
+
* {#if result instanceof RenderComponentConfig}
|
|
14
|
+
* {@const { component: Component, props } = result}
|
|
15
|
+
* <Component {...props} />
|
|
16
|
+
* {/if}
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export class RenderComponentConfig<TComponent extends Component> {
|
|
20
|
+
component: TComponent;
|
|
21
|
+
props: ComponentProps<TComponent> | Record<string, never>;
|
|
22
|
+
constructor(
|
|
23
|
+
component: TComponent,
|
|
24
|
+
props: ComponentProps<TComponent> | Record<string, never> = {}
|
|
25
|
+
) {
|
|
26
|
+
this.component = component;
|
|
27
|
+
this.props = props;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* A helper class to make it easy to identify Svelte Snippets in `columnDef.cell` and `columnDef.header` properties.
|
|
33
|
+
*
|
|
34
|
+
* > NOTE: This class should only be used internally by the adapter. If you're
|
|
35
|
+
* reading this and you don't know what this is for, you probably don't need it.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```svelte
|
|
39
|
+
* {@const result = content(context as any)}
|
|
40
|
+
* {#if result instanceof RenderSnippetConfig}
|
|
41
|
+
* {@const { snippet, params } = result}
|
|
42
|
+
* {@render snippet(params)}
|
|
43
|
+
* {/if}
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export class RenderSnippetConfig<TProps> {
|
|
47
|
+
snippet: Snippet<[TProps]>;
|
|
48
|
+
params: TProps;
|
|
49
|
+
constructor(snippet: Snippet<[TProps]>, params: TProps) {
|
|
50
|
+
this.snippet = snippet;
|
|
51
|
+
this.params = params;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* A helper function to help create cells from Svelte components through ColumnDef's `cell` and `header` properties.
|
|
57
|
+
*
|
|
58
|
+
* This is only to be used with Svelte Components - use `renderSnippet` for Svelte Snippets.
|
|
59
|
+
*
|
|
60
|
+
* @param component A Svelte component
|
|
61
|
+
* @param props The props to pass to `component`
|
|
62
|
+
* @returns A `RenderComponentConfig` object that helps svelte-table know how to render the header/cell component.
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* // +page.svelte
|
|
66
|
+
* const defaultColumns = [
|
|
67
|
+
* columnHelper.accessor('name', {
|
|
68
|
+
* header: header => renderComponent(SortHeader, { label: 'Name', header }),
|
|
69
|
+
* }),
|
|
70
|
+
* columnHelper.accessor('state', {
|
|
71
|
+
* header: header => renderComponent(SortHeader, { label: 'State', header }),
|
|
72
|
+
* }),
|
|
73
|
+
* ]
|
|
74
|
+
* ```
|
|
75
|
+
* @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
|
|
76
|
+
*/
|
|
77
|
+
export function renderComponent<
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
79
|
+
T extends Component<any>,
|
|
80
|
+
Props extends ComponentProps<T>,
|
|
81
|
+
>(component: T, props: Props) {
|
|
82
|
+
return new RenderComponentConfig(component, props);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* A helper function to help create cells from Svelte Snippets through ColumnDef's `cell` and `header` properties.
|
|
87
|
+
*
|
|
88
|
+
* The snippet must only take one parameter.
|
|
89
|
+
*
|
|
90
|
+
* This is only to be used with Snippets - use `renderComponent` for Svelte Components.
|
|
91
|
+
*
|
|
92
|
+
* @param snippet
|
|
93
|
+
* @param params
|
|
94
|
+
* @returns - A `RenderSnippetConfig` object that helps svelte-table know how to render the header/cell snippet.
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* // +page.svelte
|
|
98
|
+
* const defaultColumns = [
|
|
99
|
+
* columnHelper.accessor('name', {
|
|
100
|
+
* cell: cell => renderSnippet(nameSnippet, { name: cell.row.name }),
|
|
101
|
+
* }),
|
|
102
|
+
* columnHelper.accessor('state', {
|
|
103
|
+
* cell: cell => renderSnippet(stateSnippet, { state: cell.row.state }),
|
|
104
|
+
* }),
|
|
105
|
+
* ]
|
|
106
|
+
* ```
|
|
107
|
+
* @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
|
|
108
|
+
*/
|
|
109
|
+
export function renderSnippet<TProps>(snippet: Snippet<[TProps]>, params: TProps) {
|
|
110
|
+
return new RenderSnippetConfig(snippet, params);
|
|
111
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Dialog as DialogPrimitive, type WithoutChildrenOrChild } from "bits-ui";
|
|
3
|
+
import X from "@lucide/svelte/icons/x";
|
|
4
|
+
import type { Snippet } from "svelte";
|
|
5
|
+
import * as Dialog from "./index.js";
|
|
6
|
+
import { cn } from "$lib/utils.js";
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
ref = $bindable(null),
|
|
10
|
+
class: className,
|
|
11
|
+
portalProps,
|
|
12
|
+
children,
|
|
13
|
+
...restProps
|
|
14
|
+
}: WithoutChildrenOrChild<DialogPrimitive.ContentProps> & {
|
|
15
|
+
portalProps?: DialogPrimitive.PortalProps;
|
|
16
|
+
children: Snippet;
|
|
17
|
+
} = $props();
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<Dialog.Portal {...portalProps}>
|
|
21
|
+
<Dialog.Overlay />
|
|
22
|
+
<DialogPrimitive.Content
|
|
23
|
+
bind:ref
|
|
24
|
+
class={cn(
|
|
25
|
+
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",
|
|
26
|
+
className
|
|
27
|
+
)}
|
|
28
|
+
{...restProps}
|
|
29
|
+
>
|
|
30
|
+
{@render children?.()}
|
|
31
|
+
<DialogPrimitive.Close
|
|
32
|
+
class="ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none"
|
|
33
|
+
>
|
|
34
|
+
<X class="size-4" />
|
|
35
|
+
<span class="sr-only">Close</span>
|
|
36
|
+
</DialogPrimitive.Close>
|
|
37
|
+
</DialogPrimitive.Content>
|
|
38
|
+
</Dialog.Portal>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Dialog as DialogPrimitive } from "bits-ui";
|
|
3
|
+
import { cn } from "$lib/utils.js";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: DialogPrimitive.DescriptionProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<DialogPrimitive.Description
|
|
13
|
+
bind:ref
|
|
14
|
+
class={cn("text-muted-foreground text-sm", className)}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { WithElementRef } from "bits-ui";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import { cn } from "$lib/utils.js";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
ref = $bindable(null),
|
|
8
|
+
class: className,
|
|
9
|
+
children,
|
|
10
|
+
...restProps
|
|
11
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<div
|
|
15
|
+
bind:this={ref}
|
|
16
|
+
class={cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import type { WithElementRef } from "bits-ui";
|
|
4
|
+
import { cn } from "$lib/utils.js";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
ref = $bindable(null),
|
|
8
|
+
class: className,
|
|
9
|
+
children,
|
|
10
|
+
...restProps
|
|
11
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<div
|
|
15
|
+
bind:this={ref}
|
|
16
|
+
class={cn("flex flex-col space-y-1.5 text-center sm:text-left", className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Dialog as DialogPrimitive } from "bits-ui";
|
|
3
|
+
import { cn } from "$lib/utils.js";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: DialogPrimitive.OverlayProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<DialogPrimitive.Overlay
|
|
13
|
+
bind:ref
|
|
14
|
+
class={cn(
|
|
15
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",
|
|
16
|
+
className
|
|
17
|
+
)}
|
|
18
|
+
{...restProps}
|
|
19
|
+
/>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Dialog as DialogPrimitive } from "bits-ui";
|
|
3
|
+
import { cn } from "$lib/utils.js";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: DialogPrimitive.TitleProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<DialogPrimitive.Title
|
|
13
|
+
bind:ref
|
|
14
|
+
class={cn("text-lg font-semibold leading-none tracking-tight", className)}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Dialog as DialogPrimitive } from "bits-ui";
|
|
2
|
+
|
|
3
|
+
import Title from "./dialog-title.svelte";
|
|
4
|
+
import Footer from "./dialog-footer.svelte";
|
|
5
|
+
import Header from "./dialog-header.svelte";
|
|
6
|
+
import Overlay from "./dialog-overlay.svelte";
|
|
7
|
+
import Content from "./dialog-content.svelte";
|
|
8
|
+
import Description from "./dialog-description.svelte";
|
|
9
|
+
|
|
10
|
+
const Root: typeof DialogPrimitive.Root = DialogPrimitive.Root;
|
|
11
|
+
const Trigger: typeof DialogPrimitive.Trigger = DialogPrimitive.Trigger;
|
|
12
|
+
const Close: typeof DialogPrimitive.Close = DialogPrimitive.Close;
|
|
13
|
+
const Portal: typeof DialogPrimitive.Portal = DialogPrimitive.Portal;
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
Root,
|
|
17
|
+
Title,
|
|
18
|
+
Portal,
|
|
19
|
+
Footer,
|
|
20
|
+
Header,
|
|
21
|
+
Trigger,
|
|
22
|
+
Overlay,
|
|
23
|
+
Content,
|
|
24
|
+
Description,
|
|
25
|
+
Close,
|
|
26
|
+
//
|
|
27
|
+
Root as Dialog,
|
|
28
|
+
Title as DialogTitle,
|
|
29
|
+
Portal as DialogPortal,
|
|
30
|
+
Footer as DialogFooter,
|
|
31
|
+
Header as DialogHeader,
|
|
32
|
+
Trigger as DialogTrigger,
|
|
33
|
+
Overlay as DialogOverlay,
|
|
34
|
+
Content as DialogContent,
|
|
35
|
+
Description as DialogDescription,
|
|
36
|
+
Close as DialogClose,
|
|
37
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Drawer as DrawerPrimitive } from "vaul-svelte";
|
|
3
|
+
import DrawerOverlay from "./drawer-overlay.svelte";
|
|
4
|
+
import { cn } from "$lib/utils.js";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
ref = $bindable(null),
|
|
8
|
+
class: className,
|
|
9
|
+
portalProps,
|
|
10
|
+
children,
|
|
11
|
+
...restProps
|
|
12
|
+
}: DrawerPrimitive.ContentProps & {
|
|
13
|
+
portalProps?: DrawerPrimitive.PortalProps;
|
|
14
|
+
} = $props();
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<DrawerPrimitive.Portal {...portalProps}>
|
|
18
|
+
<DrawerOverlay />
|
|
19
|
+
<DrawerPrimitive.Content
|
|
20
|
+
bind:ref
|
|
21
|
+
class={cn(
|
|
22
|
+
"bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border",
|
|
23
|
+
className
|
|
24
|
+
)}
|
|
25
|
+
{...restProps}
|
|
26
|
+
>
|
|
27
|
+
<div class="bg-muted mx-auto mt-4 h-2 w-[100px] rounded-full"></div>
|
|
28
|
+
{@render children?.()}
|
|
29
|
+
</DrawerPrimitive.Content>
|
|
30
|
+
</DrawerPrimitive.Portal>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Drawer as DrawerPrimitive } from "vaul-svelte";
|
|
3
|
+
import { cn } from "$lib/utils.js";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: DrawerPrimitive.DescriptionProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<DrawerPrimitive.Description
|
|
13
|
+
bind:ref
|
|
14
|
+
class={cn("text-muted-foreground text-sm", className)}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "$lib/utils.js";
|
|
3
|
+
import type { WithElementRef } from "bits-ui";
|
|
4
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
ref = $bindable(null),
|
|
8
|
+
class: className,
|
|
9
|
+
children,
|
|
10
|
+
...restProps
|
|
11
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
12
|
+
|
|
13
|
+
export { className as class };
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<div bind:this={ref} class={cn("mt-auto flex flex-col gap-2 p-4", className)} {...restProps}>
|
|
17
|
+
{@render children?.()}
|
|
18
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { WithElementRef } from "bits-ui";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import { cn } from "$lib/utils.js";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
ref = $bindable(null),
|
|
8
|
+
class: className,
|
|
9
|
+
children,
|
|
10
|
+
...restProps
|
|
11
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<div
|
|
15
|
+
bind:this={ref}
|
|
16
|
+
class={cn("grid gap-1.5 p-4 text-center sm:text-left", className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Drawer as DrawerPrimitive } from "vaul-svelte";
|
|
3
|
+
|
|
4
|
+
let {
|
|
5
|
+
shouldScaleBackground = true,
|
|
6
|
+
open = $bindable(false),
|
|
7
|
+
activeSnapPoint = $bindable(null),
|
|
8
|
+
...restProps
|
|
9
|
+
}: DrawerPrimitive.RootProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<DrawerPrimitive.NestedRoot {shouldScaleBackground} bind:open bind:activeSnapPoint {...restProps} />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Drawer as DrawerPrimitive } from "vaul-svelte";
|
|
3
|
+
import { cn } from "$lib/utils.js";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: DrawerPrimitive.OverlayProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<DrawerPrimitive.Overlay
|
|
13
|
+
bind:ref
|
|
14
|
+
class={cn("fixed inset-0 z-50 bg-black/80", className)}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Drawer as DrawerPrimitive } from "vaul-svelte";
|
|
3
|
+
import { cn } from "$lib/utils.js";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: DrawerPrimitive.TitleProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<DrawerPrimitive.Title
|
|
13
|
+
bind:ref
|
|
14
|
+
class={cn("text-lg font-semibold leading-none tracking-tight", className)}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Drawer as DrawerPrimitive } from "vaul-svelte";
|
|
3
|
+
|
|
4
|
+
let {
|
|
5
|
+
shouldScaleBackground = true,
|
|
6
|
+
open = $bindable(false),
|
|
7
|
+
activeSnapPoint = $bindable(null),
|
|
8
|
+
...restProps
|
|
9
|
+
}: DrawerPrimitive.RootProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<DrawerPrimitive.Root {shouldScaleBackground} bind:open bind:activeSnapPoint {...restProps} />
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Drawer as DrawerPrimitive } from "vaul-svelte";
|
|
2
|
+
|
|
3
|
+
import Root from "./drawer.svelte";
|
|
4
|
+
import Content from "./drawer-content.svelte";
|
|
5
|
+
import Description from "./drawer-description.svelte";
|
|
6
|
+
import Overlay from "./drawer-overlay.svelte";
|
|
7
|
+
import Footer from "./drawer-footer.svelte";
|
|
8
|
+
import Header from "./drawer-header.svelte";
|
|
9
|
+
import Title from "./drawer-title.svelte";
|
|
10
|
+
import NestedRoot from "./drawer-nested.svelte";
|
|
11
|
+
|
|
12
|
+
const Trigger: typeof DrawerPrimitive.Trigger = DrawerPrimitive.Trigger;
|
|
13
|
+
const Portal: typeof DrawerPrimitive.Portal = DrawerPrimitive.Portal;
|
|
14
|
+
const Close: typeof DrawerPrimitive.Close = DrawerPrimitive.Close;
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
Root,
|
|
18
|
+
NestedRoot,
|
|
19
|
+
Content,
|
|
20
|
+
Description,
|
|
21
|
+
Overlay,
|
|
22
|
+
Footer,
|
|
23
|
+
Header,
|
|
24
|
+
Title,
|
|
25
|
+
Trigger,
|
|
26
|
+
Portal,
|
|
27
|
+
Close,
|
|
28
|
+
//
|
|
29
|
+
Root as Drawer,
|
|
30
|
+
NestedRoot as DrawerNestedRoot,
|
|
31
|
+
Content as DrawerContent,
|
|
32
|
+
Description as DrawerDescription,
|
|
33
|
+
Overlay as DrawerOverlay,
|
|
34
|
+
Footer as DrawerFooter,
|
|
35
|
+
Header as DrawerHeader,
|
|
36
|
+
Title as DrawerTitle,
|
|
37
|
+
Trigger as DrawerTrigger,
|
|
38
|
+
Portal as DrawerPortal,
|
|
39
|
+
Close as DrawerClose,
|
|
40
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { DropdownMenu as DropdownMenuPrimitive, type WithoutChildrenOrChild } from "bits-ui";
|
|
3
|
+
import Check from "@lucide/svelte/icons/check";
|
|
4
|
+
import Minus from "@lucide/svelte/icons/minus";
|
|
5
|
+
import { cn } from "$lib/utils.js";
|
|
6
|
+
import type { Snippet } from "svelte";
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
ref = $bindable(null),
|
|
10
|
+
class: className,
|
|
11
|
+
children: childrenProp,
|
|
12
|
+
checked = $bindable(false),
|
|
13
|
+
indeterminate = $bindable(false),
|
|
14
|
+
...restProps
|
|
15
|
+
}: WithoutChildrenOrChild<DropdownMenuPrimitive.CheckboxItemProps> & {
|
|
16
|
+
children?: Snippet;
|
|
17
|
+
} = $props();
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<DropdownMenuPrimitive.CheckboxItem
|
|
21
|
+
bind:ref
|
|
22
|
+
bind:checked
|
|
23
|
+
bind:indeterminate
|
|
24
|
+
class={cn(
|
|
25
|
+
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
26
|
+
className
|
|
27
|
+
)}
|
|
28
|
+
{...restProps}
|
|
29
|
+
>
|
|
30
|
+
{#snippet children({ checked, indeterminate })}
|
|
31
|
+
<span class="absolute left-2 flex size-3.5 items-center justify-center">
|
|
32
|
+
{#if indeterminate}
|
|
33
|
+
<Minus class="size-4" />
|
|
34
|
+
{:else}
|
|
35
|
+
<Check class={cn("size-4", !checked && "text-transparent")} />
|
|
36
|
+
{/if}
|
|
37
|
+
</span>
|
|
38
|
+
{@render childrenProp?.()}
|
|
39
|
+
{/snippet}
|
|
40
|
+
</DropdownMenuPrimitive.CheckboxItem>
|