@kayord/ui 2.1.14 → 3.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/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/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 +3 -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/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 +16 -16
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<ScrollAreaPrimitive.Viewport
|
|
25
25
|
bind:ref={viewportRef}
|
|
26
26
|
data-slot="scroll-area-viewport"
|
|
27
|
-
class="
|
|
27
|
+
class="cn-scroll-area-viewport focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"
|
|
28
28
|
>
|
|
29
29
|
{@render children?.()}
|
|
30
30
|
</ScrollAreaPrimitive.Viewport>
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
{preventScroll}
|
|
28
28
|
data-slot="select-content"
|
|
29
29
|
class={cn(
|
|
30
|
-
"bg-popover text-popover-foreground data-
|
|
30
|
+
"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 relative isolate z-50 min-w-36 overflow-x-hidden overflow-y-auto rounded-lg shadow-md ring-1 duration-100",
|
|
31
31
|
className
|
|
32
32
|
)}
|
|
33
33
|
{...restProps}
|
|
34
34
|
>
|
|
35
35
|
<SelectScrollUpButton />
|
|
36
36
|
<SelectPrimitive.Viewport
|
|
37
|
-
class={cn("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1
|
|
37
|
+
class={cn("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1")}
|
|
38
38
|
>
|
|
39
39
|
{@render children?.()}
|
|
40
40
|
</SelectPrimitive.Viewport>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { Select as SelectPrimitive } from "bits-ui";
|
|
3
|
+
import { cn } from "../../../utils.js";
|
|
3
4
|
|
|
4
|
-
let { ref = $bindable(null), ...restProps }: SelectPrimitive.GroupProps = $props();
|
|
5
|
+
let { ref = $bindable(null), class: className, ...restProps }: SelectPrimitive.GroupProps = $props();
|
|
5
6
|
</script>
|
|
6
7
|
|
|
7
|
-
<SelectPrimitive.Group bind:ref data-slot="select-group" {...restProps} />
|
|
8
|
+
<SelectPrimitive.Group bind:ref data-slot="select-group" class={cn("scroll-my-1 p-1", className)} {...restProps} />
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import CheckIcon from "@lucide/svelte/icons/check";
|
|
3
2
|
import { Select as SelectPrimitive } from "bits-ui";
|
|
4
3
|
import { cn, type WithoutChild } from "../../../utils.js";
|
|
4
|
+
import CheckIcon from "@lucide/svelte/icons/check";
|
|
5
5
|
|
|
6
6
|
let {
|
|
7
7
|
ref = $bindable(null),
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
{value}
|
|
19
19
|
data-slot="select-item"
|
|
20
20
|
class={cn(
|
|
21
|
-
"data-[
|
|
21
|
+
"focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground focus:bg-accent data-highlighted:bg-accent data-highlighted:text-accent-foreground focus:text-accent-foreground relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
22
22
|
className
|
|
23
23
|
)}
|
|
24
24
|
{...restProps}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
{#snippet children({ selected, highlighted })}
|
|
27
27
|
<span class="absolute end-2 flex size-3.5 items-center justify-center">
|
|
28
28
|
{#if selected}
|
|
29
|
-
<CheckIcon class="
|
|
29
|
+
<CheckIcon class="cn-select-item-indicator-icon" />
|
|
30
30
|
{/if}
|
|
31
31
|
</span>
|
|
32
32
|
{#if childrenProp}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
|
|
3
2
|
import { Select as SelectPrimitive } from "bits-ui";
|
|
4
3
|
import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
|
|
4
|
+
import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
|
|
5
5
|
|
|
6
6
|
let {
|
|
7
7
|
ref = $bindable(null),
|
|
@@ -13,8 +13,11 @@
|
|
|
13
13
|
<SelectPrimitive.ScrollDownButton
|
|
14
14
|
bind:ref
|
|
15
15
|
data-slot="select-scroll-down-button"
|
|
16
|
-
class={cn(
|
|
16
|
+
class={cn(
|
|
17
|
+
"bg-popover bottom-0 z-10 flex w-full cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
17
20
|
{...restProps}
|
|
18
21
|
>
|
|
19
|
-
<ChevronDownIcon
|
|
22
|
+
<ChevronDownIcon />
|
|
20
23
|
</SelectPrimitive.ScrollDownButton>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import ChevronUpIcon from "@lucide/svelte/icons/chevron-up";
|
|
3
2
|
import { Select as SelectPrimitive } from "bits-ui";
|
|
4
3
|
import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
|
|
4
|
+
import ChevronUpIcon from "@lucide/svelte/icons/chevron-up";
|
|
5
5
|
|
|
6
6
|
let {
|
|
7
7
|
ref = $bindable(null),
|
|
@@ -13,8 +13,11 @@
|
|
|
13
13
|
<SelectPrimitive.ScrollUpButton
|
|
14
14
|
bind:ref
|
|
15
15
|
data-slot="select-scroll-up-button"
|
|
16
|
-
class={cn(
|
|
16
|
+
class={cn(
|
|
17
|
+
"bg-popover top-0 z-10 flex w-full cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
17
20
|
{...restProps}
|
|
18
21
|
>
|
|
19
|
-
<ChevronUpIcon
|
|
22
|
+
<ChevronUpIcon />
|
|
20
23
|
</SelectPrimitive.ScrollUpButton>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { Select as SelectPrimitive } from "bits-ui";
|
|
3
|
-
import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
|
|
4
3
|
import { cn, type WithoutChild } from "../../../utils.js";
|
|
4
|
+
import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
|
|
5
5
|
|
|
6
6
|
let {
|
|
7
7
|
ref = $bindable(null),
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
data-slot="select-trigger"
|
|
20
20
|
data-size={size}
|
|
21
21
|
class={cn(
|
|
22
|
-
"border-input data-
|
|
22
|
+
"border-input data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 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 flex w-fit items-center justify-between gap-1.5 rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-3 data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
23
23
|
className
|
|
24
24
|
)}
|
|
25
25
|
{...restProps}
|
|
26
26
|
>
|
|
27
27
|
{@render children?.()}
|
|
28
|
-
<ChevronDownIcon class="size-4
|
|
28
|
+
<ChevronDownIcon class="text-muted-foreground pointer-events-none size-4" />
|
|
29
29
|
</SelectPrimitive.Trigger>
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
bind:ref
|
|
15
15
|
data-slot={dataSlot}
|
|
16
16
|
class={cn(
|
|
17
|
-
"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:
|
|
17
|
+
"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px",
|
|
18
|
+
// this is different in shadcn/ui but self-stretch breaks things for us
|
|
19
|
+
"data-[orientation=vertical]:h-full",
|
|
18
20
|
className
|
|
19
21
|
)}
|
|
20
22
|
{...restProps}
|
|
@@ -1,31 +1,14 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
|
|
3
|
-
export const sheetVariants = tv({
|
|
4
|
-
base: "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
5
|
-
variants: {
|
|
6
|
-
side: {
|
|
7
|
-
top: "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
|
|
8
|
-
bottom:
|
|
9
|
-
"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
|
|
10
|
-
left: "data-[state=closed]:slide-out-to-start data-[state=open]:slide-in-from-start rtl:data-[state=closed]:slide-out-to-end rtl:data-[state=open]:slide-in-from-end inset-y-0 start-0 h-full w-3/4 border-e sm:max-w-sm",
|
|
11
|
-
right:
|
|
12
|
-
"data-[state=closed]:slide-out-to-end data-[state=open]:slide-in-from-end rtl:data-[state=closed]:slide-out-to-start rtl:data-[state=open]:slide-in-from-start inset-y-0 end-0 h-full w-3/4 border-s sm:max-w-sm",
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
defaultVariants: {
|
|
16
|
-
side: "right",
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
export type Side = VariantProps<typeof sheetVariants>["side"];
|
|
2
|
+
export type Side = "top" | "right" | "bottom" | "left";
|
|
21
3
|
</script>
|
|
22
4
|
|
|
23
5
|
<script lang="ts">
|
|
24
6
|
import { Dialog as SheetPrimitive } from "bits-ui";
|
|
25
|
-
import XIcon from "@lucide/svelte/icons/x";
|
|
26
7
|
import type { Snippet } from "svelte";
|
|
27
8
|
import SheetPortal from "./sheet-portal.svelte";
|
|
28
9
|
import SheetOverlay from "./sheet-overlay.svelte";
|
|
10
|
+
import { Button } from "../button/index.js";
|
|
11
|
+
import XIcon from "@lucide/svelte/icons/x";
|
|
29
12
|
import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
|
|
30
13
|
import type { ComponentProps } from "svelte";
|
|
31
14
|
|
|
@@ -33,12 +16,14 @@
|
|
|
33
16
|
ref = $bindable(null),
|
|
34
17
|
class: className,
|
|
35
18
|
side = "right",
|
|
19
|
+
showCloseButton = true,
|
|
36
20
|
portalProps,
|
|
37
21
|
children,
|
|
38
22
|
...restProps
|
|
39
23
|
}: WithoutChildrenOrChild<SheetPrimitive.ContentProps> & {
|
|
40
24
|
portalProps?: WithoutChildrenOrChild<ComponentProps<typeof SheetPortal>>;
|
|
41
25
|
side?: Side;
|
|
26
|
+
showCloseButton?: boolean;
|
|
42
27
|
children: Snippet;
|
|
43
28
|
} = $props();
|
|
44
29
|
</script>
|
|
@@ -48,15 +33,23 @@
|
|
|
48
33
|
<SheetPrimitive.Content
|
|
49
34
|
bind:ref
|
|
50
35
|
data-slot="sheet-content"
|
|
51
|
-
|
|
36
|
+
data-side={side}
|
|
37
|
+
class={cn(
|
|
38
|
+
"bg-background data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10 fixed z-50 flex flex-col gap-4 bg-clip-padding text-sm shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
|
|
39
|
+
className
|
|
40
|
+
)}
|
|
52
41
|
{...restProps}
|
|
53
42
|
>
|
|
54
43
|
{@render children?.()}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
44
|
+
{#if showCloseButton}
|
|
45
|
+
<SheetPrimitive.Close data-slot="sheet-close">
|
|
46
|
+
{#snippet child({ props })}
|
|
47
|
+
<Button variant="ghost" class="absolute top-3 right-3" size="icon-sm" {...props}>
|
|
48
|
+
<XIcon />
|
|
49
|
+
<span class="sr-only">Close</span>
|
|
50
|
+
</Button>
|
|
51
|
+
{/snippet}
|
|
52
|
+
</SheetPrimitive.Close>
|
|
53
|
+
{/if}
|
|
61
54
|
</SheetPrimitive.Content>
|
|
62
55
|
</SheetPortal>
|
|
@@ -1,27 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const sheetVariants: import("tailwind-variants").TVReturnType<{
|
|
3
|
-
side: {
|
|
4
|
-
top: string;
|
|
5
|
-
bottom: string;
|
|
6
|
-
left: string;
|
|
7
|
-
right: string;
|
|
8
|
-
};
|
|
9
|
-
}, undefined, "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", {
|
|
10
|
-
side: {
|
|
11
|
-
top: string;
|
|
12
|
-
bottom: string;
|
|
13
|
-
left: string;
|
|
14
|
-
right: string;
|
|
15
|
-
};
|
|
16
|
-
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
17
|
-
side: {
|
|
18
|
-
top: string;
|
|
19
|
-
bottom: string;
|
|
20
|
-
left: string;
|
|
21
|
-
right: string;
|
|
22
|
-
};
|
|
23
|
-
}, undefined, "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", unknown, unknown, undefined>>;
|
|
24
|
-
export type Side = VariantProps<typeof sheetVariants>["side"];
|
|
1
|
+
export type Side = "top" | "right" | "bottom" | "left";
|
|
25
2
|
import { Dialog as SheetPrimitive } from "bits-ui";
|
|
26
3
|
import type { Snippet } from "svelte";
|
|
27
4
|
import SheetPortal from "./sheet-portal.svelte";
|
|
@@ -30,6 +7,7 @@ import type { ComponentProps } from "svelte";
|
|
|
30
7
|
type $$ComponentProps = WithoutChildrenOrChild<SheetPrimitive.ContentProps> & {
|
|
31
8
|
portalProps?: WithoutChildrenOrChild<ComponentProps<typeof SheetPortal>>;
|
|
32
9
|
side?: Side;
|
|
10
|
+
showCloseButton?: boolean;
|
|
33
11
|
children: Snippet;
|
|
34
12
|
};
|
|
35
13
|
declare const SheetContent: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
@@ -10,6 +10,6 @@
|
|
|
10
10
|
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
|
-
<div bind:this={ref} data-slot="sheet-header" class={cn("flex flex-col gap-
|
|
13
|
+
<div bind:this={ref} data-slot="sheet-header" class={cn("flex flex-col gap-0.5 p-4", className)} {...restProps}>
|
|
14
14
|
{@render children?.()}
|
|
15
15
|
</div>
|
|
@@ -8,9 +8,6 @@
|
|
|
8
8
|
<SheetPrimitive.Overlay
|
|
9
9
|
bind:ref
|
|
10
10
|
data-slot="sheet-overlay"
|
|
11
|
-
class={cn(
|
|
12
|
-
"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/50",
|
|
13
|
-
className
|
|
14
|
-
)}
|
|
11
|
+
class={cn("fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs", className)}
|
|
15
12
|
{...restProps}
|
|
16
13
|
/>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
data-slot="sidebar-content"
|
|
16
16
|
data-sidebar="content"
|
|
17
17
|
class={cn(
|
|
18
|
-
"flex min-h-0 flex-1 flex-col gap-
|
|
18
|
+
"no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
19
19
|
className
|
|
20
20
|
)}
|
|
21
21
|
{...restProps}
|
|
@@ -15,10 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
const mergedProps = $derived({
|
|
17
17
|
class: cn(
|
|
18
|
-
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute
|
|
19
|
-
// Increases the hit area of the button on mobile.
|
|
20
|
-
"after:absolute after:-inset-2 md:after:hidden",
|
|
21
|
-
"group-data-[collapsible=icon]:hidden",
|
|
18
|
+
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 w-5 rounded-md p-0 focus-visible:ring-2 [&>svg]:size-4 flex aspect-square items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>svg]:shrink-0",
|
|
22
19
|
className
|
|
23
20
|
),
|
|
24
21
|
"data-slot": "sidebar-group-action",
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
const mergedProps = $derived({
|
|
17
17
|
class: cn(
|
|
18
|
-
"text-sidebar-foreground/70 ring-sidebar-ring
|
|
19
|
-
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
|
|
18
|
+
"text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 flex shrink-0 items-center outline-hidden [&>svg]:shrink-0",
|
|
20
19
|
className
|
|
21
20
|
),
|
|
22
21
|
"data-slot": "sidebar-group-label",
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
bind:this={ref}
|
|
15
15
|
data-slot="sidebar-inset"
|
|
16
16
|
class={cn(
|
|
17
|
-
"bg-background relative flex w-full flex-1 flex-col",
|
|
18
|
-
"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",
|
|
17
|
+
"bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
|
|
19
18
|
className
|
|
20
19
|
)}
|
|
21
20
|
{...restProps}
|
|
@@ -17,15 +17,9 @@
|
|
|
17
17
|
|
|
18
18
|
const mergedProps = $derived({
|
|
19
19
|
class: cn(
|
|
20
|
-
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute
|
|
21
|
-
// Increases the hit area of the button on mobile.
|
|
22
|
-
"after:absolute after:-inset-2 md:after:hidden",
|
|
23
|
-
"peer-data-[size=sm]/menu-button:top-1",
|
|
24
|
-
"peer-data-[size=default]/menu-button:top-1.5",
|
|
25
|
-
"peer-data-[size=lg]/menu-button:top-2.5",
|
|
26
|
-
"group-data-[collapsible=icon]:hidden",
|
|
20
|
+
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>svg]:size-4 flex items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>svg]:shrink-0",
|
|
27
21
|
showOnHover &&
|
|
28
|
-
"peer-data-
|
|
22
|
+
"peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-open:opacity-100 md:opacity-0",
|
|
29
23
|
className
|
|
30
24
|
),
|
|
31
25
|
"data-slot": "sidebar-menu-action",
|
|
@@ -15,12 +15,7 @@
|
|
|
15
15
|
data-slot="sidebar-menu-badge"
|
|
16
16
|
data-sidebar="menu-badge"
|
|
17
17
|
class={cn(
|
|
18
|
-
"text-sidebar-foreground pointer-events-none absolute
|
|
19
|
-
"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
|
|
20
|
-
"peer-data-[size=sm]/menu-button:top-1",
|
|
21
|
-
"peer-data-[size=default]/menu-button:top-1.5",
|
|
22
|
-
"peer-data-[size=lg]/menu-button:top-2.5",
|
|
23
|
-
"group-data-[collapsible=icon]:hidden",
|
|
18
|
+
"text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1",
|
|
24
19
|
className
|
|
25
20
|
)}
|
|
26
21
|
{...restProps}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import { tv, type VariantProps } from "tailwind-variants";
|
|
3
3
|
|
|
4
4
|
export const sidebarMenuButtonVariants = tv({
|
|
5
|
-
base: "
|
|
5
|
+
base: "ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button group/menu-button flex w-full items-center overflow-hidden outline-hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",
|
|
6
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
8
|
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
9
9
|
outline:
|
|
10
|
-
"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[
|
|
10
|
+
"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]",
|
|
11
11
|
},
|
|
12
12
|
size: {
|
|
13
13
|
default: "h-8 text-sm",
|
|
@@ -9,7 +9,7 @@ export declare const sidebarMenuButtonVariants: import("tailwind-variants").TVRe
|
|
|
9
9
|
sm: string;
|
|
10
10
|
lg: string;
|
|
11
11
|
};
|
|
12
|
-
}, undefined, "
|
|
12
|
+
}, undefined, "ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button group/menu-button flex w-full items-center overflow-hidden outline-hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate", {
|
|
13
13
|
variant: {
|
|
14
14
|
default: string;
|
|
15
15
|
outline: string;
|
|
@@ -29,7 +29,7 @@ export declare const sidebarMenuButtonVariants: import("tailwind-variants").TVRe
|
|
|
29
29
|
sm: string;
|
|
30
30
|
lg: string;
|
|
31
31
|
};
|
|
32
|
-
}, undefined, "
|
|
32
|
+
}, undefined, "ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button group/menu-button flex w-full items-center overflow-hidden outline-hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate", unknown, unknown, undefined>>;
|
|
33
33
|
export type SidebarMenuButtonVariant = VariantProps<typeof sidebarMenuButtonVariants>["variant"];
|
|
34
34
|
export type SidebarMenuButtonSize = VariantProps<typeof sidebarMenuButtonVariants>["size"];
|
|
35
35
|
import * as Tooltip from "../tooltip/index.js";
|
|
@@ -19,11 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
const mergedProps = $derived({
|
|
21
21
|
class: cn(
|
|
22
|
-
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground
|
|
23
|
-
"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
|
|
24
|
-
size === "sm" && "text-xs",
|
|
25
|
-
size === "md" && "text-sm",
|
|
26
|
-
"group-data-[collapsible=icon]:hidden",
|
|
22
|
+
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>svg]:size-4 flex min-w-0 -translate-x-px items-center overflow-hidden outline-hidden group-data-[collapsible=icon]:hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0",
|
|
27
23
|
className
|
|
28
24
|
),
|
|
29
25
|
"data-slot": "sidebar-menu-sub-button",
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
data-slot="sidebar-menu-sub"
|
|
16
16
|
data-sidebar="menu-sub"
|
|
17
17
|
class={cn(
|
|
18
|
-
"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-
|
|
19
|
-
"group-data-[collapsible=icon]:hidden",
|
|
18
|
+
"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",
|
|
20
19
|
className
|
|
21
20
|
)}
|
|
22
21
|
{...restProps}
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
onclick={sidebar.toggle}
|
|
23
23
|
title="Toggle Sidebar"
|
|
24
24
|
class={cn(
|
|
25
|
-
"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-
|
|
25
|
+
"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex",
|
|
26
26
|
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
|
|
27
27
|
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
28
|
-
"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:
|
|
29
|
-
"[[data-side=left][data-collapsible=offcanvas]_&]:-
|
|
30
|
-
"[[data-side=right][data-collapsible=offcanvas]_&]:-
|
|
28
|
+
"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
|
|
29
|
+
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
30
|
+
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
31
31
|
className
|
|
32
32
|
)}
|
|
33
33
|
{...restProps}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { Button } from "../button/index.js";
|
|
3
|
-
import { cn } from "../../../utils.js";
|
|
4
3
|
import PanelLeftIcon from "@lucide/svelte/icons/panel-left";
|
|
4
|
+
import { cn } from "../../../utils.js";
|
|
5
5
|
import type { ComponentProps } from "svelte";
|
|
6
6
|
import { useSidebar } from "./context.svelte.js";
|
|
7
7
|
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
data-sidebar="trigger"
|
|
23
23
|
data-slot="sidebar-trigger"
|
|
24
24
|
variant="ghost"
|
|
25
|
-
size="icon"
|
|
26
|
-
class={cn("
|
|
25
|
+
size="icon-sm"
|
|
26
|
+
class={cn("cn-sidebar-trigger", className)}
|
|
27
27
|
type="button"
|
|
28
28
|
onclick={(e) => {
|
|
29
29
|
onclick?.(e);
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
data-sidebar="sidebar"
|
|
38
38
|
data-slot="sidebar"
|
|
39
39
|
data-mobile="true"
|
|
40
|
-
class="bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden"
|
|
40
|
+
class={cn("bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden", className)}
|
|
41
41
|
style="--sidebar-width: {SIDEBAR_WIDTH_MOBILE};"
|
|
42
42
|
{side}
|
|
43
43
|
>
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"group-data-[collapsible=offcanvas]:w-0",
|
|
69
69
|
"group-data-[side=right]:rotate-180",
|
|
70
70
|
variant === "floating" || variant === "inset"
|
|
71
|
-
? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))
|
|
71
|
+
? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"
|
|
72
72
|
: "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
|
|
73
73
|
)}
|
|
74
74
|
></div>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
<div
|
|
91
91
|
data-sidebar="sidebar"
|
|
92
92
|
data-slot="sidebar-inner"
|
|
93
|
-
class="bg-sidebar group-data-[variant=floating]:
|
|
93
|
+
class="bg-sidebar group-data-[variant=floating]:ring-sidebar-border flex size-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1"
|
|
94
94
|
>
|
|
95
95
|
{@render children?.()}
|
|
96
96
|
</div>
|
|
@@ -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}
|