@kayord/ui 2.1.13 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/accordion/accordion-content.svelte +7 -2
- package/dist/components/ui/accordion/accordion-item.svelte +1 -1
- package/dist/components/ui/accordion/accordion-trigger.svelte +9 -3
- package/dist/components/ui/accordion/accordion.svelte +14 -2
- package/dist/components/ui/alert/alert-action.svelte +15 -0
- package/dist/components/ui/alert/alert-action.svelte.d.ts +5 -0
- package/dist/components/ui/alert/alert-description.svelte +1 -1
- package/dist/components/ui/alert/alert-title.svelte +4 -1
- package/dist/components/ui/alert/alert.svelte +2 -2
- package/dist/components/ui/alert/alert.svelte.d.ts +2 -2
- package/dist/components/ui/alert/index.d.ts +2 -1
- package/dist/components/ui/alert/index.js +3 -2
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +12 -3
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +6 -1
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +12 -3
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +6 -1
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +4 -1
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +1 -0
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +4 -1
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +4 -1
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +4 -1
- package/dist/components/ui/alert-dialog/alert-dialog-media.svelte +23 -0
- package/dist/components/ui/alert-dialog/alert-dialog-media.svelte.d.ts +5 -0
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +4 -1
- package/dist/components/ui/alert-dialog/index.d.ts +2 -1
- package/dist/components/ui/alert-dialog/index.js +3 -2
- package/dist/components/ui/avatar/avatar-badge.svelte +26 -0
- package/dist/components/ui/avatar/avatar-badge.svelte.d.ts +5 -0
- package/dist/components/ui/avatar/avatar-fallback.svelte +4 -1
- package/dist/components/ui/avatar/avatar-group-count.svelte +23 -0
- package/dist/components/ui/avatar/avatar-group-count.svelte.d.ts +5 -0
- package/dist/components/ui/avatar/avatar-group.svelte +23 -0
- package/dist/components/ui/avatar/avatar-group.svelte.d.ts +5 -0
- package/dist/components/ui/avatar/avatar-image.svelte +1 -1
- package/dist/components/ui/avatar/avatar.svelte +9 -2
- package/dist/components/ui/avatar/avatar.svelte.d.ts +4 -1
- package/dist/components/ui/avatar/index.d.ts +4 -1
- package/dist/components/ui/avatar/index.js +5 -2
- package/dist/components/ui/badge/badge.svelte +7 -5
- package/dist/components/ui/badge/badge.svelte.d.ts +8 -2
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +3 -3
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +1 -6
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb.svelte +8 -1
- package/dist/components/ui/button/button.svelte +18 -13
- package/dist/components/ui/button/button.svelte.d.ts +11 -5
- package/dist/components/ui/button-group/button-group-separator.svelte +4 -1
- package/dist/components/ui/button-group/button-group-text.svelte +2 -1
- package/dist/components/ui/button-group/button-group.svelte +3 -3
- package/dist/components/ui/button-group/button-group.svelte.d.ts +2 -2
- package/dist/components/ui/button-group/index.d.ts +2 -2
- package/dist/components/ui/button-group/index.js +2 -2
- package/dist/components/ui/calendar/calendar-cell.svelte +1 -1
- package/dist/components/ui/calendar/calendar-day.svelte +4 -6
- package/dist/components/ui/calendar/calendar-grid.svelte +1 -5
- package/dist/components/ui/calendar/calendar-month-select.svelte +2 -2
- package/dist/components/ui/calendar/calendar-month.svelte +1 -1
- package/dist/components/ui/calendar/calendar-next-button.svelte +7 -2
- package/dist/components/ui/calendar/calendar-prev-button.svelte +7 -2
- package/dist/components/ui/calendar/calendar-year-select.svelte +1 -1
- package/dist/components/ui/calendar/calendar.svelte +1 -1
- package/dist/components/ui/card/card-action.svelte +1 -1
- package/dist/components/ui/card/card-content.svelte +6 -1
- package/dist/components/ui/card/card-footer.svelte +1 -1
- package/dist/components/ui/card/card-header.svelte +1 -1
- package/dist/components/ui/card/card-title.svelte +6 -1
- package/dist/components/ui/card/card.svelte +7 -2
- package/dist/components/ui/card/card.svelte.d.ts +4 -1
- package/dist/components/ui/carousel/carousel-next.svelte +5 -4
- package/dist/components/ui/carousel/carousel-previous.svelte +5 -4
- package/dist/components/ui/carousel/carousel.svelte +1 -0
- package/dist/components/ui/chart/chart-container.svelte +1 -1
- package/dist/components/ui/chart/chart-tooltip.svelte +1 -0
- package/dist/components/ui/checkbox/checkbox.svelte +5 -5
- package/dist/components/ui/command/command-dialog.svelte +12 -10
- package/dist/components/ui/command/command-dialog.svelte.d.ts +3 -1
- package/dist/components/ui/command/command-group.svelte +4 -1
- package/dist/components/ui/command/command-input.svelte +17 -13
- package/dist/components/ui/command/command-item.svelte +9 -3
- package/dist/components/ui/command/command-list.svelte +1 -1
- package/dist/components/ui/command/command-shortcut.svelte +4 -1
- package/dist/components/ui/command/command.svelte +1 -1
- package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +7 -4
- package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte.d.ts +1 -0
- package/dist/components/ui/context-menu/context-menu-content.svelte +1 -1
- package/dist/components/ui/context-menu/context-menu-group-heading.svelte +1 -1
- package/dist/components/ui/context-menu/context-menu-item.svelte +1 -1
- package/dist/components/ui/context-menu/context-menu-label.svelte +1 -1
- package/dist/components/ui/context-menu/context-menu-radio-item.svelte +9 -5
- package/dist/components/ui/context-menu/context-menu-radio-item.svelte.d.ts +5 -1
- package/dist/components/ui/context-menu/context-menu-shortcut.svelte +4 -1
- package/dist/components/ui/context-menu/context-menu-sub-content.svelte +1 -1
- package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +3 -3
- package/dist/components/ui/context-menu/context-menu-trigger.svelte +8 -2
- package/dist/components/ui/dialog/dialog-close.svelte +2 -2
- package/dist/components/ui/dialog/dialog-content.svelte +10 -7
- package/dist/components/ui/dialog/dialog-description.svelte +4 -1
- package/dist/components/ui/dialog/dialog-footer.svelte +17 -2
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +4 -1
- package/dist/components/ui/dialog/dialog-header.svelte +1 -6
- package/dist/components/ui/dialog/dialog-overlay.svelte +1 -1
- package/dist/components/ui/dialog/dialog-title.svelte +1 -1
- package/dist/components/ui/dialog/dialog-trigger.svelte +2 -2
- package/dist/components/ui/drawer/drawer-content.svelte +2 -6
- package/dist/components/ui/drawer/drawer-header.svelte +9 -1
- package/dist/components/ui/drawer/drawer-overlay.svelte +1 -1
- package/dist/components/ui/drawer/drawer-title.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +9 -6
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +3 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +7 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +4 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +2 -2
- package/dist/components/ui/empty/empty-content.svelte +1 -1
- package/dist/components/ui/empty/empty-description.svelte +1 -1
- package/dist/components/ui/empty/empty-header.svelte +1 -1
- package/dist/components/ui/empty/empty-media.svelte +1 -1
- package/dist/components/ui/empty/empty-title.svelte +1 -1
- package/dist/components/ui/empty/empty.svelte +1 -1
- package/dist/components/ui/field/field-content.svelte +1 -1
- package/dist/components/ui/field/field-description.svelte +2 -2
- package/dist/components/ui/field/field-error.svelte +1 -1
- package/dist/components/ui/field/field-group.svelte +1 -1
- package/dist/components/ui/field/field-label.svelte +2 -3
- package/dist/components/ui/field/field-legend.svelte +1 -1
- package/dist/components/ui/field/field-separator.svelte +1 -1
- package/dist/components/ui/field/field-set.svelte +1 -2
- package/dist/components/ui/field/field-title.svelte +1 -1
- package/dist/components/ui/field/field.svelte +6 -12
- package/dist/components/ui/field/field.svelte.d.ts +8 -8
- package/dist/components/ui/hover-card/hover-card-content.svelte +1 -1
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/input/input.svelte +2 -6
- package/dist/components/ui/input-group/input-group-addon.svelte +5 -5
- package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +2 -2
- package/dist/components/ui/input-group/input-group-button.svelte +4 -4
- package/dist/components/ui/input-group/input-group-button.svelte.d.ts +2 -2
- package/dist/components/ui/input-group/input-group-input.svelte +1 -1
- package/dist/components/ui/input-group/input-group-textarea.svelte +1 -1
- package/dist/components/ui/input-group/input-group.svelte +1 -15
- package/dist/components/ui/input-otp/input-otp-group.svelte +9 -1
- package/dist/components/ui/input-otp/input-otp-separator.svelte +14 -2
- package/dist/components/ui/input-otp/input-otp-slot.svelte +3 -5
- package/dist/components/ui/input-otp/input-otp.svelte +5 -1
- package/dist/components/ui/item/item-content.svelte +4 -1
- package/dist/components/ui/item/item-description.svelte +1 -2
- package/dist/components/ui/item/item-group.svelte +4 -1
- package/dist/components/ui/item/item-media.svelte +4 -3
- package/dist/components/ui/item/item-media.svelte.d.ts +2 -2
- package/dist/components/ui/item/item-separator.svelte +1 -1
- package/dist/components/ui/item/item-title.svelte +4 -1
- package/dist/components/ui/item/item.svelte +6 -5
- package/dist/components/ui/item/item.svelte.d.ts +5 -2
- package/dist/components/ui/kbd/kbd.svelte +1 -3
- package/dist/components/ui/menubar/menubar-checkbox-item.svelte +13 -8
- package/dist/components/ui/menubar/menubar-checkbox-item.svelte.d.ts +1 -0
- package/dist/components/ui/menubar/menubar-content.svelte +2 -2
- package/dist/components/ui/menubar/menubar-item.svelte +1 -1
- package/dist/components/ui/menubar/menubar-label.svelte +1 -1
- package/dist/components/ui/menubar/menubar-radio-item.svelte +11 -5
- package/dist/components/ui/menubar/menubar-radio-item.svelte.d.ts +5 -1
- package/dist/components/ui/menubar/menubar-shortcut.svelte +4 -1
- package/dist/components/ui/menubar/menubar-sub-content.svelte +1 -1
- package/dist/components/ui/menubar/menubar-sub-trigger.svelte +3 -3
- package/dist/components/ui/menubar/menubar-trigger.svelte +1 -1
- package/dist/components/ui/menubar/menubar.svelte +1 -1
- package/dist/components/ui/native-select/native-select.svelte +15 -10
- package/dist/components/ui/native-select/native-select.svelte.d.ts +4 -1
- package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +1 -2
- package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +2 -4
- package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte.d.ts +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu.svelte +1 -2
- package/dist/components/ui/pagination/index.d.ts +4 -4
- package/dist/components/ui/pagination/index.js +4 -4
- package/dist/components/ui/pagination/pagination-content.svelte +1 -6
- package/dist/components/ui/pagination/pagination-ellipsis.svelte +7 -4
- package/dist/components/ui/pagination/pagination-ellipsis.svelte.d.ts +1 -1
- package/dist/components/ui/pagination/pagination-link.svelte +14 -15
- package/dist/components/ui/pagination/pagination-link.svelte.d.ts +3 -2
- package/dist/components/ui/pagination/pagination-next-button.svelte +9 -11
- package/dist/components/ui/pagination/pagination-next.svelte +10 -20
- package/dist/components/ui/pagination/pagination-next.svelte.d.ts +13 -2
- package/dist/components/ui/pagination/pagination-prev-button.svelte +9 -11
- package/dist/components/ui/pagination/pagination-previous.svelte +10 -20
- package/dist/components/ui/pagination/pagination-previous.svelte.d.ts +13 -2
- package/dist/components/ui/pagination/pagination.svelte +1 -1
- package/dist/components/ui/popover/index.d.ts +4 -1
- package/dist/components/ui/popover/index.js +5 -2
- package/dist/components/ui/popover/popover-content.svelte +1 -1
- package/dist/components/ui/popover/popover-description.svelte +15 -0
- package/dist/components/ui/popover/popover-description.svelte.d.ts +5 -0
- package/dist/components/ui/popover/popover-header.svelte +15 -0
- package/dist/components/ui/popover/popover-header.svelte.d.ts +5 -0
- package/dist/components/ui/popover/popover-title.svelte +15 -0
- package/dist/components/ui/popover/popover-title.svelte.d.ts +5 -0
- package/dist/components/ui/progress/progress.svelte +2 -2
- package/dist/components/ui/radio-group/radio-group-item.svelte +5 -3
- package/dist/components/ui/radio-group/radio-group.svelte +1 -1
- package/dist/components/ui/range-calendar/range-calendar-cell.svelte +1 -1
- package/dist/components/ui/range-calendar/range-calendar-day.svelte +4 -7
- package/dist/components/ui/range-calendar/range-calendar-month-select.svelte +1 -1
- package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +7 -2
- package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +7 -2
- package/dist/components/ui/range-calendar/range-calendar-year-select.svelte +1 -1
- package/dist/components/ui/range-calendar/range-calendar.svelte +1 -1
- package/dist/components/ui/resizable/resizable-handle.svelte +2 -5
- package/dist/components/ui/resizable/resizable-pane-group.svelte +2 -1
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +2 -3
- package/dist/components/ui/scroll-area/scroll-area.svelte +1 -1
- package/dist/components/ui/select/select-content.svelte +2 -2
- package/dist/components/ui/select/select-group.svelte +3 -2
- package/dist/components/ui/select/select-item.svelte +3 -3
- package/dist/components/ui/select/select-label.svelte +1 -1
- package/dist/components/ui/select/select-scroll-down-button.svelte +6 -3
- package/dist/components/ui/select/select-scroll-up-button.svelte +6 -3
- package/dist/components/ui/select/select-trigger.svelte +3 -3
- package/dist/components/ui/separator/separator.svelte +3 -1
- package/dist/components/ui/sheet/sheet-content.svelte +20 -27
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +2 -24
- package/dist/components/ui/sheet/sheet-header.svelte +1 -1
- package/dist/components/ui/sheet/sheet-overlay.svelte +1 -4
- package/dist/components/ui/sheet/sheet-title.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-content.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-group-action.svelte +1 -4
- package/dist/components/ui/sidebar/sidebar-group-label.svelte +1 -2
- package/dist/components/ui/sidebar/sidebar-inset.svelte +1 -2
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +2 -8
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +1 -6
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +2 -2
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +2 -2
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +1 -5
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +1 -2
- package/dist/components/ui/sidebar/sidebar-menu.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-rail.svelte +4 -4
- package/dist/components/ui/sidebar/sidebar-separator.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +4 -3
- package/dist/components/ui/sidebar/sidebar.svelte +3 -3
- package/dist/components/ui/skeleton/skeleton.svelte +1 -1
- package/dist/components/ui/slider/slider.svelte +8 -8
- package/dist/components/ui/sonner/sonner.svelte +6 -6
- package/dist/components/ui/spinner/spinner.svelte +18 -4
- package/dist/components/ui/spinner/spinner.svelte.d.ts +2 -1
- package/dist/components/ui/stepper/ctx.d.ts +8 -0
- package/dist/components/ui/stepper/ctx.js +8 -0
- package/dist/components/ui/stepper/index.d.ts +8 -0
- package/dist/components/ui/stepper/index.js +8 -0
- package/dist/components/ui/stepper/stepper-description.svelte +7 -0
- package/dist/components/ui/stepper/stepper-description.svelte.d.ts +8 -0
- package/dist/components/ui/stepper/stepper-indicator.svelte +45 -0
- package/dist/components/ui/stepper/stepper-indicator.svelte.d.ts +10 -0
- package/dist/components/ui/stepper/stepper-item.svelte +33 -0
- package/dist/components/ui/stepper/stepper-item.svelte.d.ts +9 -0
- package/dist/components/ui/stepper/stepper-separator.svelte +28 -0
- package/dist/components/ui/stepper/stepper-separator.svelte.d.ts +6 -0
- package/dist/components/ui/stepper/stepper-title.svelte +7 -0
- package/dist/components/ui/stepper/stepper-title.svelte.d.ts +8 -0
- package/dist/components/ui/stepper/stepper-trigger.svelte +35 -0
- package/dist/components/ui/stepper/stepper-trigger.svelte.d.ts +10 -0
- package/dist/components/ui/stepper/stepper.svelte +35 -0
- package/dist/components/ui/stepper/stepper.svelte.d.ts +10 -0
- package/dist/components/ui/switch/switch.svelte +7 -5
- package/dist/components/ui/switch/switch.svelte.d.ts +5 -1
- package/dist/components/ui/table/table-cell.svelte +1 -1
- package/dist/components/ui/table/table-head.svelte +1 -1
- package/dist/components/ui/table/table-row.svelte +1 -4
- package/dist/components/ui/tabs/index.d.ts +2 -2
- package/dist/components/ui/tabs/index.js +2 -2
- package/dist/components/ui/tabs/tabs-content.svelte +6 -1
- package/dist/components/ui/tabs/tabs-list.svelte +29 -5
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +22 -1
- package/dist/components/ui/tabs/tabs-trigger.svelte +4 -1
- package/dist/components/ui/tabs/tabs.svelte +7 -1
- package/dist/components/ui/textarea/textarea.svelte +1 -1
- package/dist/components/ui/toggle/toggle.svelte +5 -5
- package/dist/components/ui/toggle/toggle.svelte.d.ts +2 -2
- package/dist/components/ui/toggle-group/toggle-group-item.svelte +1 -1
- package/dist/components/ui/toggle-group/toggle-group.svelte +21 -5
- package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +2 -0
- package/dist/components/ui/tooltip/tooltip-content.svelte +6 -6
- package/dist/components/ui/tooltip/tooltip-provider.svelte +2 -2
- package/dist/components/ui/tooltip/tooltip.svelte +4 -1
- package/package.json +15 -15
|
@@ -21,29 +21,29 @@ get along, so we shut typescript up by casting `value` to `never`.
|
|
|
21
21
|
data-slot="slider"
|
|
22
22
|
{orientation}
|
|
23
23
|
class={cn(
|
|
24
|
-
"relative flex w-full touch-none items-center select-none data-
|
|
24
|
+
"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col",
|
|
25
25
|
className
|
|
26
26
|
)}
|
|
27
27
|
{...restProps}
|
|
28
28
|
>
|
|
29
|
-
{#snippet children({
|
|
29
|
+
{#snippet children({ thumbItems })}
|
|
30
30
|
<span
|
|
31
|
-
data-orientation={orientation}
|
|
32
31
|
data-slot="slider-track"
|
|
32
|
+
data-orientation={orientation}
|
|
33
33
|
class={cn(
|
|
34
|
-
"bg-muted relative grow overflow-hidden rounded-full data-
|
|
34
|
+
"bg-muted bg-muted relative grow overflow-hidden rounded-full data-horizontal:h-1 data-horizontal:w-full data-horizontal:w-full data-vertical:h-full data-vertical:h-full data-vertical:w-1"
|
|
35
35
|
)}
|
|
36
36
|
>
|
|
37
37
|
<SliderPrimitive.Range
|
|
38
38
|
data-slot="slider-range"
|
|
39
|
-
class={cn("bg-primary absolute data-
|
|
39
|
+
class={cn("bg-primary absolute select-none data-horizontal:h-full data-vertical:w-full")}
|
|
40
40
|
/>
|
|
41
41
|
</span>
|
|
42
|
-
{#each
|
|
42
|
+
{#each thumbItems as thumb (thumb)}
|
|
43
43
|
<SliderPrimitive.Thumb
|
|
44
44
|
data-slot="slider-thumb"
|
|
45
|
-
index={thumb}
|
|
46
|
-
class="border-
|
|
45
|
+
index={thumb.index}
|
|
46
|
+
class="border-ring ring-ring/50 relative block size-3 shrink-0 rounded-full border bg-white transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50"
|
|
47
47
|
/>
|
|
48
48
|
{/each}
|
|
49
49
|
{/snippet}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import { Toaster as Sonner, type ToasterProps as SonnerProps } from "svelte-sonner";
|
|
3
|
+
import { mode } from "mode-watcher";
|
|
4
4
|
import Loader2Icon from "@lucide/svelte/icons/loader-2";
|
|
5
|
+
import CircleCheckIcon from "@lucide/svelte/icons/circle-check";
|
|
5
6
|
import OctagonXIcon from "@lucide/svelte/icons/octagon-x";
|
|
7
|
+
import InfoIcon from "@lucide/svelte/icons/info";
|
|
6
8
|
import TriangleAlertIcon from "@lucide/svelte/icons/triangle-alert";
|
|
7
9
|
|
|
8
|
-
import { Toaster as Sonner, type ToasterProps as SonnerProps } from "svelte-sonner";
|
|
9
|
-
import { mode } from "mode-watcher";
|
|
10
|
-
|
|
11
10
|
let { ...restProps }: SonnerProps = $props();
|
|
12
11
|
</script>
|
|
13
12
|
|
|
@@ -16,7 +15,8 @@
|
|
|
16
15
|
class="toaster group"
|
|
17
16
|
style="--normal-bg: var(--color-popover); --normal-text: var(--color-popover-foreground); --normal-border: var(--color-border);"
|
|
18
17
|
{...restProps}
|
|
19
|
-
|
|
18
|
+
>
|
|
19
|
+
{#snippet loadingIcon()}
|
|
20
20
|
<Loader2Icon class="size-4 animate-spin" />
|
|
21
21
|
{/snippet}
|
|
22
22
|
{#snippet successIcon()}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { cn } from "../../../utils.js";
|
|
3
3
|
import Loader2Icon from "@lucide/svelte/icons/loader-2";
|
|
4
|
-
import type {
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import type { SVGAttributes } from "svelte/elements";
|
|
5
|
+
let {
|
|
6
|
+
class: className,
|
|
7
|
+
role = "status",
|
|
8
|
+
// we add color and stroke for compatibility with different icon libraries props
|
|
9
|
+
color,
|
|
10
|
+
stroke,
|
|
11
|
+
"aria-label": ariaLabel = "Loading",
|
|
12
|
+
...restProps
|
|
13
|
+
}: SVGAttributes<SVGSVGElement> = $props();
|
|
7
14
|
</script>
|
|
8
15
|
|
|
9
|
-
<Loader2Icon
|
|
16
|
+
<Loader2Icon
|
|
17
|
+
{role}
|
|
18
|
+
color={color === null ? undefined : color}
|
|
19
|
+
stroke={stroke === null ? undefined : stroke}
|
|
20
|
+
aria-label={ariaLabel}
|
|
21
|
+
class={cn("size-4 animate-spin", className)}
|
|
22
|
+
{...restProps as any}
|
|
23
|
+
/>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { SVGAttributes } from "svelte/elements";
|
|
2
|
+
declare const Spinner: import("svelte").Component<SVGAttributes<SVGSVGElement>, {}, "">;
|
|
2
3
|
type Spinner = ReturnType<typeof Spinner>;
|
|
3
4
|
export default Spinner;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type StepperContext = {
|
|
2
|
+
activeStep: () => number;
|
|
3
|
+
setStep: (step: number) => void;
|
|
4
|
+
orientation: () => "horizontal" | "vertical";
|
|
5
|
+
};
|
|
6
|
+
export declare function setStepperContext(props: StepperContext): void;
|
|
7
|
+
export declare function getStepperContext(): StepperContext;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Stepper from "./stepper.svelte";
|
|
2
|
+
import StepperItem from "./stepper-item.svelte";
|
|
3
|
+
import StepperTrigger from "./stepper-trigger.svelte";
|
|
4
|
+
import StepperIndicator from "./stepper-indicator.svelte";
|
|
5
|
+
import StepperSeparator from "./stepper-separator.svelte";
|
|
6
|
+
import StepperTitle from "./stepper-title.svelte";
|
|
7
|
+
import StepperDescription from "./stepper-description.svelte";
|
|
8
|
+
export { Stepper as Root, StepperItem as Item, StepperTrigger as Trigger, StepperIndicator as Indicator, StepperSeparator as Separator, StepperTitle as Title, StepperDescription as Description, };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Stepper from "./stepper.svelte";
|
|
2
|
+
import StepperItem from "./stepper-item.svelte";
|
|
3
|
+
import StepperTrigger from "./stepper-trigger.svelte";
|
|
4
|
+
import StepperIndicator from "./stepper-indicator.svelte";
|
|
5
|
+
import StepperSeparator from "./stepper-separator.svelte";
|
|
6
|
+
import StepperTitle from "./stepper-title.svelte";
|
|
7
|
+
import StepperDescription from "./stepper-description.svelte";
|
|
8
|
+
export { Stepper as Root, StepperItem as Item, StepperTrigger as Trigger, StepperIndicator as Indicator, StepperSeparator as Separator, StepperTitle as Title, StepperDescription as Description, };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import type { Snippet } from "svelte";
|
|
4
|
+
let { class: className, children }: { class?: string; children: Snippet } = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<p class={cn("text-muted-foreground text-xs", className)}>{@render children()}</p>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
class?: string;
|
|
4
|
+
children: Snippet;
|
|
5
|
+
};
|
|
6
|
+
declare const StepperDescription: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
|
+
type StepperDescription = ReturnType<typeof StepperDescription>;
|
|
8
|
+
export default StepperDescription;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import { Check } from "@lucide/svelte";
|
|
4
|
+
import { getStepperContext } from "./ctx";
|
|
5
|
+
import type { Snippet } from "svelte";
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
step,
|
|
9
|
+
class: className,
|
|
10
|
+
children,
|
|
11
|
+
success,
|
|
12
|
+
}: {
|
|
13
|
+
step: number;
|
|
14
|
+
class?: string;
|
|
15
|
+
children?: Snippet;
|
|
16
|
+
success?: Snippet;
|
|
17
|
+
} = $props();
|
|
18
|
+
|
|
19
|
+
const ctx = getStepperContext();
|
|
20
|
+
|
|
21
|
+
let isCompleted = $derived(step < ctx.activeStep());
|
|
22
|
+
let isActive = $derived(step === ctx.activeStep());
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<div
|
|
26
|
+
class={cn(
|
|
27
|
+
"relative flex h-10 w-10 items-center justify-center rounded-full border-2 text-sm font-semibold transition-colors duration-200",
|
|
28
|
+
isActive && "border-primary text-primary ring-primary/20 ring-2 ring-offset-2",
|
|
29
|
+
isCompleted && "border-primary bg-primary text-primary-foreground",
|
|
30
|
+
!isActive && !isCompleted && "border-muted-foreground/25 text-muted-foreground",
|
|
31
|
+
className
|
|
32
|
+
)}
|
|
33
|
+
>
|
|
34
|
+
{#if isCompleted}
|
|
35
|
+
{#if success}
|
|
36
|
+
{@render success()}
|
|
37
|
+
{:else}
|
|
38
|
+
<Check class="h-5 w-5" />
|
|
39
|
+
{/if}
|
|
40
|
+
{:else if children}
|
|
41
|
+
{@render children()}
|
|
42
|
+
{:else}
|
|
43
|
+
{step + 1}
|
|
44
|
+
{/if}
|
|
45
|
+
</div>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
step: number;
|
|
4
|
+
class?: string;
|
|
5
|
+
children?: Snippet;
|
|
6
|
+
success?: Snippet;
|
|
7
|
+
};
|
|
8
|
+
declare const StepperIndicator: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
9
|
+
type StepperIndicator = ReturnType<typeof StepperIndicator>;
|
|
10
|
+
export default StepperIndicator;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import { getStepperContext } from "./ctx";
|
|
4
|
+
import type { Snippet } from "svelte";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
step,
|
|
8
|
+
class: className,
|
|
9
|
+
children,
|
|
10
|
+
}: {
|
|
11
|
+
step: number;
|
|
12
|
+
class?: string;
|
|
13
|
+
children: Snippet;
|
|
14
|
+
} = $props();
|
|
15
|
+
|
|
16
|
+
const ctx = getStepperContext();
|
|
17
|
+
|
|
18
|
+
let isCompleted = $derived(step < ctx.activeStep());
|
|
19
|
+
let isActive = $derived(step === ctx.activeStep());
|
|
20
|
+
let isVertical = $derived(ctx.orientation() === "vertical");
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<div
|
|
24
|
+
data-state={isActive ? "active" : isCompleted ? "completed" : "inactive"}
|
|
25
|
+
class={cn(
|
|
26
|
+
"group flex items-center",
|
|
27
|
+
!isVertical && "flex-1 gap-4 last:flex-none",
|
|
28
|
+
isVertical && "relative flex-col items-start gap-0",
|
|
29
|
+
className
|
|
30
|
+
)}
|
|
31
|
+
>
|
|
32
|
+
{@render children()}
|
|
33
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
step: number;
|
|
4
|
+
class?: string;
|
|
5
|
+
children: Snippet;
|
|
6
|
+
};
|
|
7
|
+
declare const StepperItem: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
8
|
+
type StepperItem = ReturnType<typeof StepperItem>;
|
|
9
|
+
export default StepperItem;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import { getStepperContext } from "./ctx";
|
|
4
|
+
|
|
5
|
+
let { class: className }: { class?: string } = $props();
|
|
6
|
+
const ctx = getStepperContext();
|
|
7
|
+
let isVertical = $derived(ctx.orientation() === "vertical");
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<div
|
|
11
|
+
class={cn(
|
|
12
|
+
"bg-muted flex-1",
|
|
13
|
+
|
|
14
|
+
!isVertical && "-mt-8 mr-4 ml-4 h-[2px]",
|
|
15
|
+
|
|
16
|
+
isVertical && "absolute top-14 -bottom-4 left-[27px] w-[2px]",
|
|
17
|
+
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
20
|
+
>
|
|
21
|
+
<div
|
|
22
|
+
class={cn(
|
|
23
|
+
"bg-primary transition-all duration-200 ease-in-out",
|
|
24
|
+
!isVertical && "h-full w-full origin-left scale-x-0 group-data-[state=completed]:scale-x-100",
|
|
25
|
+
isVertical && "h-full w-full origin-top scale-y-0 group-data-[state=completed]:scale-y-100"
|
|
26
|
+
)}
|
|
27
|
+
/>
|
|
28
|
+
</div>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import type { Snippet } from "svelte";
|
|
4
|
+
let { class: className, children }: { class?: string; children: Snippet } = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<h3 class={cn("text-sm leading-none font-medium", className)}>{@render children()}</h3>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
class?: string;
|
|
4
|
+
children: Snippet;
|
|
5
|
+
};
|
|
6
|
+
declare const StepperTitle: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
|
+
type StepperTitle = ReturnType<typeof StepperTitle>;
|
|
8
|
+
export default StepperTitle;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import { Button } from "../button";
|
|
4
|
+
import { getStepperContext } from "./ctx";
|
|
5
|
+
import type { Snippet } from "svelte";
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
step,
|
|
9
|
+
class: className,
|
|
10
|
+
children,
|
|
11
|
+
...rest
|
|
12
|
+
}: {
|
|
13
|
+
step: number;
|
|
14
|
+
class?: string;
|
|
15
|
+
children: Snippet;
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
} = $props();
|
|
18
|
+
|
|
19
|
+
const ctx = getStepperContext();
|
|
20
|
+
let isVertical = $derived(ctx.orientation() === "vertical");
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<Button
|
|
24
|
+
variant="ghost"
|
|
25
|
+
onclick={() => ctx.setStep(step)}
|
|
26
|
+
class={cn(
|
|
27
|
+
"flex h-auto items-center justify-center gap-3 p-2 hover:bg-transparent",
|
|
28
|
+
!isVertical && "flex-col",
|
|
29
|
+
isVertical && "flex-row justify-start",
|
|
30
|
+
className
|
|
31
|
+
)}
|
|
32
|
+
{...rest}
|
|
33
|
+
>
|
|
34
|
+
{@render children()}
|
|
35
|
+
</Button>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
step: number;
|
|
4
|
+
class?: string;
|
|
5
|
+
children: Snippet;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
};
|
|
8
|
+
declare const StepperTrigger: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
9
|
+
type StepperTrigger = ReturnType<typeof StepperTrigger>;
|
|
10
|
+
export default StepperTrigger;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../utils";
|
|
3
|
+
import { setStepperContext } from "./ctx";
|
|
4
|
+
import type { Snippet } from "svelte";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
value = $bindable(0),
|
|
8
|
+
orientation = "horizontal",
|
|
9
|
+
class: className,
|
|
10
|
+
children,
|
|
11
|
+
}: {
|
|
12
|
+
value: number;
|
|
13
|
+
orientation?: "horizontal" | "vertical";
|
|
14
|
+
class?: string;
|
|
15
|
+
children: Snippet;
|
|
16
|
+
} = $props();
|
|
17
|
+
|
|
18
|
+
setStepperContext({
|
|
19
|
+
activeStep: () => value,
|
|
20
|
+
setStep: (s: number) => {
|
|
21
|
+
value = s;
|
|
22
|
+
},
|
|
23
|
+
orientation: () => orientation,
|
|
24
|
+
});
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<div
|
|
28
|
+
class={cn(
|
|
29
|
+
"flex w-full gap-4",
|
|
30
|
+
orientation === "vertical" ? "flex-col" : "flex-row items-start justify-between",
|
|
31
|
+
className
|
|
32
|
+
)}
|
|
33
|
+
>
|
|
34
|
+
{@render children()}
|
|
35
|
+
</div>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
value: number;
|
|
4
|
+
orientation?: "horizontal" | "vertical";
|
|
5
|
+
class?: string;
|
|
6
|
+
children: Snippet;
|
|
7
|
+
};
|
|
8
|
+
declare const Stepper: import("svelte").Component<$$ComponentProps, {}, "value">;
|
|
9
|
+
type Stepper = ReturnType<typeof Stepper>;
|
|
10
|
+
export default Stepper;
|
|
@@ -6,24 +6,26 @@
|
|
|
6
6
|
ref = $bindable(null),
|
|
7
7
|
class: className,
|
|
8
8
|
checked = $bindable(false),
|
|
9
|
+
size = "default",
|
|
9
10
|
...restProps
|
|
10
|
-
}: WithoutChildrenOrChild<SwitchPrimitive.RootProps>
|
|
11
|
+
}: WithoutChildrenOrChild<SwitchPrimitive.RootProps> & {
|
|
12
|
+
size?: "sm" | "default";
|
|
13
|
+
} = $props();
|
|
11
14
|
</script>
|
|
12
15
|
|
|
13
16
|
<SwitchPrimitive.Root
|
|
14
17
|
bind:ref
|
|
15
18
|
bind:checked
|
|
16
19
|
data-slot="switch"
|
|
20
|
+
data-size={size}
|
|
17
21
|
class={cn(
|
|
18
|
-
"data-
|
|
22
|
+
"data-checked:bg-primary data-unchecked:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-unchecked:bg-input/80 peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:ring-3 aria-invalid:ring-3 data-disabled:cursor-not-allowed data-disabled:opacity-50 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px]",
|
|
19
23
|
className
|
|
20
24
|
)}
|
|
21
25
|
{...restProps}
|
|
22
26
|
>
|
|
23
27
|
<SwitchPrimitive.Thumb
|
|
24
28
|
data-slot="switch-thumb"
|
|
25
|
-
class=
|
|
26
|
-
"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
|
|
27
|
-
)}
|
|
29
|
+
class="bg-background dark:data-unchecked:bg-foreground dark:data-checked:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 rtl:data-[state=checked]:translate-x-[calc(-100%)]"
|
|
28
30
|
/>
|
|
29
31
|
</SwitchPrimitive.Root>
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { Switch as SwitchPrimitive } from "bits-ui";
|
|
2
|
-
|
|
2
|
+
import { type WithoutChildrenOrChild } from "../../../utils.js";
|
|
3
|
+
type $$ComponentProps = WithoutChildrenOrChild<SwitchPrimitive.RootProps> & {
|
|
4
|
+
size?: "sm" | "default";
|
|
5
|
+
};
|
|
6
|
+
declare const Switch: import("svelte").Component<$$ComponentProps, {}, "ref" | "checked">;
|
|
3
7
|
type Switch = ReturnType<typeof Switch>;
|
|
4
8
|
export default Switch;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<td
|
|
9
9
|
bind:this={ref}
|
|
10
10
|
data-slot="table-cell"
|
|
11
|
-
class={cn("
|
|
11
|
+
class={cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0", className)}
|
|
12
12
|
{...restProps}
|
|
13
13
|
>
|
|
14
14
|
{@render children?.()}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
bind:this={ref}
|
|
10
10
|
data-slot="table-head"
|
|
11
11
|
class={cn(
|
|
12
|
-
"text-foreground h-10
|
|
12
|
+
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0",
|
|
13
13
|
className
|
|
14
14
|
)}
|
|
15
15
|
{...restProps}
|
|
@@ -13,10 +13,7 @@
|
|
|
13
13
|
<tr
|
|
14
14
|
bind:this={ref}
|
|
15
15
|
data-slot="table-row"
|
|
16
|
-
class={cn(
|
|
17
|
-
"hover:[&,&>svelte-css-wrapper]:[&>th,td]:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
|
|
18
|
-
className
|
|
19
|
-
)}
|
|
16
|
+
class={cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className)}
|
|
20
17
|
{...restProps}
|
|
21
18
|
>
|
|
22
19
|
{@render children?.()}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Root from "./tabs.svelte";
|
|
2
2
|
import Content from "./tabs-content.svelte";
|
|
3
|
-
import List from "./tabs-list.svelte";
|
|
3
|
+
import List, { tabsListVariants, type TabsListVariant } from "./tabs-list.svelte";
|
|
4
4
|
import Trigger from "./tabs-trigger.svelte";
|
|
5
|
-
export { Root, Content, List, Trigger, Root as Tabs, Content as TabsContent, List as TabsList, Trigger as TabsTrigger, };
|
|
5
|
+
export { Root, Content, List, Trigger, tabsListVariants, type TabsListVariant, Root as Tabs, Content as TabsContent, List as TabsList, Trigger as TabsTrigger, };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Root from "./tabs.svelte";
|
|
2
2
|
import Content from "./tabs-content.svelte";
|
|
3
|
-
import List from "./tabs-list.svelte";
|
|
3
|
+
import List, { tabsListVariants } from "./tabs-list.svelte";
|
|
4
4
|
import Trigger from "./tabs-trigger.svelte";
|
|
5
|
-
export { Root, Content, List, Trigger,
|
|
5
|
+
export { Root, Content, List, Trigger, tabsListVariants,
|
|
6
6
|
//
|
|
7
7
|
Root as Tabs, Content as TabsContent, List as TabsList, Trigger as TabsTrigger, };
|
|
@@ -5,4 +5,9 @@
|
|
|
5
5
|
let { ref = $bindable(null), class: className, ...restProps }: TabsPrimitive.ContentProps = $props();
|
|
6
6
|
</script>
|
|
7
7
|
|
|
8
|
-
<TabsPrimitive.Content
|
|
8
|
+
<TabsPrimitive.Content
|
|
9
|
+
bind:ref
|
|
10
|
+
data-slot="tabs-content"
|
|
11
|
+
class={cn("flex-1 text-sm outline-none", className)}
|
|
12
|
+
{...restProps}
|
|
13
|
+
/>
|
|
@@ -1,16 +1,40 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
3
|
+
|
|
4
|
+
export const tabsListVariants = tv({
|
|
5
|
+
base: "rounded-lg p-[3px] group-data-horizontal/tabs:h-8 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "cn-tabs-list-variant-default bg-muted",
|
|
9
|
+
line: "cn-tabs-list-variant-line gap-1 bg-transparent",
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
defaultVariants: {
|
|
13
|
+
variant: "default",
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export type TabsListVariant = VariantProps<typeof tabsListVariants>["variant"];
|
|
18
|
+
</script>
|
|
19
|
+
|
|
1
20
|
<script lang="ts">
|
|
2
21
|
import { Tabs as TabsPrimitive } from "bits-ui";
|
|
3
22
|
import { cn } from "../../../utils.js";
|
|
4
23
|
|
|
5
|
-
let {
|
|
24
|
+
let {
|
|
25
|
+
ref = $bindable(null),
|
|
26
|
+
variant = "default",
|
|
27
|
+
class: className,
|
|
28
|
+
...restProps
|
|
29
|
+
}: TabsPrimitive.ListProps & {
|
|
30
|
+
variant?: TabsListVariant;
|
|
31
|
+
} = $props();
|
|
6
32
|
</script>
|
|
7
33
|
|
|
8
34
|
<TabsPrimitive.List
|
|
9
35
|
bind:ref
|
|
10
36
|
data-slot="tabs-list"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
className
|
|
14
|
-
)}
|
|
37
|
+
data-variant={variant}
|
|
38
|
+
class={cn(tabsListVariants({ variant }), className)}
|
|
15
39
|
{...restProps}
|
|
16
40
|
/>
|
|
@@ -1,4 +1,25 @@
|
|
|
1
|
+
import { type VariantProps } from "tailwind-variants";
|
|
2
|
+
export declare const tabsListVariants: import("tailwind-variants").TVReturnType<{
|
|
3
|
+
variant: {
|
|
4
|
+
default: string;
|
|
5
|
+
line: string;
|
|
6
|
+
};
|
|
7
|
+
}, undefined, "rounded-lg p-[3px] group-data-horizontal/tabs:h-8 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col", {
|
|
8
|
+
variant: {
|
|
9
|
+
default: string;
|
|
10
|
+
line: string;
|
|
11
|
+
};
|
|
12
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
13
|
+
variant: {
|
|
14
|
+
default: string;
|
|
15
|
+
line: string;
|
|
16
|
+
};
|
|
17
|
+
}, undefined, "rounded-lg p-[3px] group-data-horizontal/tabs:h-8 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col", unknown, unknown, undefined>>;
|
|
18
|
+
export type TabsListVariant = VariantProps<typeof tabsListVariants>["variant"];
|
|
1
19
|
import { Tabs as TabsPrimitive } from "bits-ui";
|
|
2
|
-
|
|
20
|
+
type $$ComponentProps = TabsPrimitive.ListProps & {
|
|
21
|
+
variant?: TabsListVariant;
|
|
22
|
+
};
|
|
23
|
+
declare const TabsList: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
3
24
|
type TabsList = ReturnType<typeof TabsList>;
|
|
4
25
|
export default TabsList;
|
|
@@ -9,7 +9,10 @@
|
|
|
9
9
|
bind:ref
|
|
10
10
|
data-slot="tabs-trigger"
|
|
11
11
|
class={cn(
|
|
12
|
-
"
|
|
12
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
13
|
+
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
|
|
14
|
+
"data-active:bg-background dark:data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 data-active:text-foreground",
|
|
15
|
+
"after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
|
|
13
16
|
className
|
|
14
17
|
)}
|
|
15
18
|
{...restProps}
|
|
@@ -10,4 +10,10 @@
|
|
|
10
10
|
}: TabsPrimitive.RootProps = $props();
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
|
-
<TabsPrimitive.Root
|
|
13
|
+
<TabsPrimitive.Root
|
|
14
|
+
bind:ref
|
|
15
|
+
bind:value
|
|
16
|
+
data-slot="tabs"
|
|
17
|
+
class={cn("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col", className)}
|
|
18
|
+
{...restProps}
|
|
19
|
+
/>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
bind:this={ref}
|
|
16
16
|
data-slot={dataSlot}
|
|
17
17
|
class={cn(
|
|
18
|
-
"border-input
|
|
18
|
+
"border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full rounded-lg border bg-transparent px-2.5 py-2 text-base transition-colors outline-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-3 md:text-sm",
|
|
19
19
|
className
|
|
20
20
|
)}
|
|
21
21
|
bind:value
|