@aphexcms/ui 0.1.7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/components/sidebar-07/+page.svelte +1 -1
  2. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +1 -1
  3. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +1 -1
  4. package/dist/components/ui/calendar/calendar-caption.svelte +76 -0
  5. package/dist/components/ui/calendar/calendar-caption.svelte.d.ts +19 -0
  6. package/dist/components/ui/calendar/calendar-cell.svelte +19 -0
  7. package/dist/components/ui/calendar/calendar-cell.svelte.d.ts +4 -0
  8. package/dist/components/ui/calendar/calendar-day.svelte +35 -0
  9. package/dist/components/ui/calendar/calendar-day.svelte.d.ts +4 -0
  10. package/dist/components/ui/calendar/calendar-grid-body.svelte +12 -0
  11. package/dist/components/ui/calendar/calendar-grid-body.svelte.d.ts +4 -0
  12. package/dist/components/ui/calendar/calendar-grid-head.svelte +12 -0
  13. package/dist/components/ui/calendar/calendar-grid-head.svelte.d.ts +4 -0
  14. package/dist/components/ui/calendar/calendar-grid-row.svelte +12 -0
  15. package/dist/components/ui/calendar/calendar-grid-row.svelte.d.ts +4 -0
  16. package/dist/components/ui/calendar/calendar-grid.svelte +16 -0
  17. package/dist/components/ui/calendar/calendar-grid.svelte.d.ts +4 -0
  18. package/dist/components/ui/calendar/calendar-head-cell.svelte +19 -0
  19. package/dist/components/ui/calendar/calendar-head-cell.svelte.d.ts +4 -0
  20. package/dist/components/ui/calendar/calendar-header.svelte +19 -0
  21. package/dist/components/ui/calendar/calendar-header.svelte.d.ts +4 -0
  22. package/dist/components/ui/calendar/calendar-heading.svelte +16 -0
  23. package/dist/components/ui/calendar/calendar-heading.svelte.d.ts +4 -0
  24. package/dist/components/ui/calendar/calendar-month-select.svelte +44 -0
  25. package/dist/components/ui/calendar/calendar-month-select.svelte.d.ts +4 -0
  26. package/dist/components/ui/calendar/calendar-month.svelte +15 -0
  27. package/dist/components/ui/calendar/calendar-month.svelte.d.ts +5 -0
  28. package/dist/components/ui/calendar/calendar-months.svelte +19 -0
  29. package/dist/components/ui/calendar/calendar-months.svelte.d.ts +5 -0
  30. package/dist/components/ui/calendar/calendar-nav.svelte +19 -0
  31. package/dist/components/ui/calendar/calendar-nav.svelte.d.ts +5 -0
  32. package/dist/components/ui/calendar/calendar-next-button.svelte +31 -0
  33. package/dist/components/ui/calendar/calendar-next-button.svelte.d.ts +8 -0
  34. package/dist/components/ui/calendar/calendar-prev-button.svelte +31 -0
  35. package/dist/components/ui/calendar/calendar-prev-button.svelte.d.ts +8 -0
  36. package/dist/components/ui/calendar/calendar-year-select.svelte +43 -0
  37. package/dist/components/ui/calendar/calendar-year-select.svelte.d.ts +4 -0
  38. package/dist/components/ui/calendar/calendar.svelte +115 -0
  39. package/dist/components/ui/calendar/calendar.svelte.d.ts +21 -0
  40. package/dist/components/ui/calendar/index.d.ts +19 -0
  41. package/dist/components/ui/calendar/index.js +21 -0
  42. package/dist/components/ui/card/card-footer.svelte +1 -1
  43. package/dist/components/ui/card/card-header.svelte +1 -1
  44. package/dist/components/ui/card/card-title.svelte +1 -1
  45. package/dist/components/ui/checkbox/checkbox.svelte +5 -5
  46. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +1 -1
  47. package/dist/components/ui/checkbox/index.d.ts +2 -2
  48. package/dist/components/ui/checkbox/index.js +2 -2
  49. package/dist/components/ui/command/command-dialog.svelte +1 -1
  50. package/dist/components/ui/command/command-input.svelte +2 -2
  51. package/dist/components/ui/command/command-item.svelte +1 -1
  52. package/dist/components/ui/command/command-link-item.svelte +1 -1
  53. package/dist/components/ui/command/command-list.svelte +1 -1
  54. package/dist/components/ui/dialog/dialog-content.svelte +2 -2
  55. package/dist/components/ui/dialog/dialog-title.svelte +1 -1
  56. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +1 -1
  57. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +1 -1
  58. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +1 -1
  59. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +1 -1
  60. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
  61. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +1 -1
  62. package/dist/components/ui/input/input.svelte +2 -2
  63. package/dist/components/ui/label/label.svelte +1 -1
  64. package/dist/components/ui/popover/popover-content.svelte +1 -1
  65. package/dist/components/ui/radio-group/index.d.ts +3 -0
  66. package/dist/components/ui/radio-group/index.js +5 -0
  67. package/dist/components/ui/radio-group/radio-group-item.svelte +31 -0
  68. package/dist/components/ui/radio-group/radio-group-item.svelte.d.ts +4 -0
  69. package/dist/components/ui/radio-group/radio-group.svelte +19 -0
  70. package/dist/components/ui/radio-group/radio-group.svelte.d.ts +4 -0
  71. package/dist/components/ui/select/select-content.svelte +2 -2
  72. package/dist/components/ui/select/select-item.svelte +1 -1
  73. package/dist/components/ui/select/select-trigger.svelte +1 -1
  74. package/dist/components/ui/separator/separator.svelte +1 -1
  75. package/dist/components/ui/sheet/sheet-content.svelte +1 -1
  76. package/dist/components/ui/sidebar/sidebar-inset.svelte +1 -1
  77. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +1 -1
  78. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +1 -0
  79. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +1 -0
  80. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +1 -1
  81. package/dist/components/ui/sidebar/sidebar-rail.svelte +1 -1
  82. package/dist/components/ui/sidebar/sidebar.svelte +3 -3
  83. package/dist/components/ui/sonner/index.d.ts +1 -0
  84. package/dist/components/ui/sonner/index.js +1 -0
  85. package/dist/components/ui/sonner/sonner.svelte +34 -0
  86. package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
  87. package/dist/components/ui/switch/index.d.ts +2 -0
  88. package/dist/components/ui/switch/index.js +4 -0
  89. package/dist/components/ui/switch/switch.svelte +29 -0
  90. package/dist/components/ui/switch/switch.svelte.d.ts +4 -0
  91. package/dist/components/ui/tabs/tabs-trigger.svelte +1 -1
  92. package/dist/components/ui/textarea/textarea.svelte +1 -1
  93. package/dist/components/ui/tooltip/tooltip-content.svelte +1 -1
  94. package/package.json +189 -161
  95. package/LICENSE +0 -21
@@ -0,0 +1,115 @@
1
+ <script lang="ts">
2
+ import { Calendar as CalendarPrimitive } from 'bits-ui';
3
+ import * as Calendar from './index.js';
4
+ import { cn, type WithoutChildrenOrChild } from '../../../utils.js';
5
+ import type { ButtonVariant } from '../button/button.svelte';
6
+ import { isEqualMonth, type DateValue } from '@internationalized/date';
7
+ import type { Snippet } from 'svelte';
8
+
9
+ let {
10
+ ref = $bindable(null),
11
+ value = $bindable(),
12
+ placeholder = $bindable(),
13
+ class: className,
14
+ weekdayFormat = 'short',
15
+ buttonVariant = 'ghost',
16
+ captionLayout = 'label',
17
+ locale = 'en-US',
18
+ months: monthsProp,
19
+ years,
20
+ monthFormat: monthFormatProp,
21
+ yearFormat = 'numeric',
22
+ day,
23
+ disableDaysOutsideMonth = false,
24
+ ...restProps
25
+ }: WithoutChildrenOrChild<CalendarPrimitive.RootProps> & {
26
+ buttonVariant?: ButtonVariant;
27
+ captionLayout?: 'dropdown' | 'dropdown-months' | 'dropdown-years' | 'label';
28
+ months?: CalendarPrimitive.MonthSelectProps['months'];
29
+ years?: CalendarPrimitive.YearSelectProps['years'];
30
+ monthFormat?: CalendarPrimitive.MonthSelectProps['monthFormat'];
31
+ yearFormat?: CalendarPrimitive.YearSelectProps['yearFormat'];
32
+ day?: Snippet<[{ day: DateValue; outsideMonth: boolean }]>;
33
+ } = $props();
34
+
35
+ const monthFormat = $derived.by(() => {
36
+ if (monthFormatProp) return monthFormatProp;
37
+ if (captionLayout.startsWith('dropdown')) return 'short';
38
+ return 'long';
39
+ });
40
+ </script>
41
+
42
+ <!--
43
+ Discriminated Unions + Destructing (required for bindable) do not
44
+ get along, so we shut typescript up by casting `value` to `never`.
45
+ -->
46
+ <CalendarPrimitive.Root
47
+ bind:value={value as never}
48
+ bind:ref
49
+ bind:placeholder
50
+ {weekdayFormat}
51
+ {disableDaysOutsideMonth}
52
+ class={cn(
53
+ 'bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',
54
+ className
55
+ )}
56
+ {locale}
57
+ {monthFormat}
58
+ {yearFormat}
59
+ {...restProps}
60
+ >
61
+ {#snippet children({ months, weekdays })}
62
+ <Calendar.Months>
63
+ <Calendar.Nav>
64
+ <Calendar.PrevButton variant={buttonVariant} />
65
+ <Calendar.NextButton variant={buttonVariant} />
66
+ </Calendar.Nav>
67
+ {#each months as month, monthIndex (month)}
68
+ <Calendar.Month>
69
+ <Calendar.Header>
70
+ <Calendar.Caption
71
+ {captionLayout}
72
+ months={monthsProp}
73
+ {monthFormat}
74
+ {years}
75
+ {yearFormat}
76
+ month={month.value}
77
+ bind:placeholder
78
+ {locale}
79
+ {monthIndex}
80
+ />
81
+ </Calendar.Header>
82
+ <Calendar.Grid>
83
+ <Calendar.GridHead>
84
+ <Calendar.GridRow class="select-none">
85
+ {#each weekdays as weekday (weekday)}
86
+ <Calendar.HeadCell>
87
+ {weekday.slice(0, 2)}
88
+ </Calendar.HeadCell>
89
+ {/each}
90
+ </Calendar.GridRow>
91
+ </Calendar.GridHead>
92
+ <Calendar.GridBody>
93
+ {#each month.weeks as weekDates (weekDates)}
94
+ <Calendar.GridRow class="mt-2 w-full">
95
+ {#each weekDates as date (date)}
96
+ <Calendar.Cell {date} month={month.value}>
97
+ {#if day}
98
+ {@render day({
99
+ day: date,
100
+ outsideMonth: !isEqualMonth(date, month.value)
101
+ })}
102
+ {:else}
103
+ <Calendar.Day />
104
+ {/if}
105
+ </Calendar.Cell>
106
+ {/each}
107
+ </Calendar.GridRow>
108
+ {/each}
109
+ </Calendar.GridBody>
110
+ </Calendar.Grid>
111
+ </Calendar.Month>
112
+ {/each}
113
+ </Calendar.Months>
114
+ {/snippet}
115
+ </CalendarPrimitive.Root>
@@ -0,0 +1,21 @@
1
+ import { Calendar as CalendarPrimitive } from 'bits-ui';
2
+ import * as Calendar from './index.js';
3
+ import { type WithoutChildrenOrChild } from '../../../utils.js';
4
+ import type { ButtonVariant } from '../button/button.svelte';
5
+ import { type DateValue } from '@internationalized/date';
6
+ import type { Snippet } from 'svelte';
7
+ type $$ComponentProps = WithoutChildrenOrChild<CalendarPrimitive.RootProps> & {
8
+ buttonVariant?: ButtonVariant;
9
+ captionLayout?: 'dropdown' | 'dropdown-months' | 'dropdown-years' | 'label';
10
+ months?: CalendarPrimitive.MonthSelectProps['months'];
11
+ years?: CalendarPrimitive.YearSelectProps['years'];
12
+ monthFormat?: CalendarPrimitive.MonthSelectProps['monthFormat'];
13
+ yearFormat?: CalendarPrimitive.YearSelectProps['yearFormat'];
14
+ day?: Snippet<[{
15
+ day: DateValue;
16
+ outsideMonth: boolean;
17
+ }]>;
18
+ };
19
+ declare const Calendar: import("svelte").Component<$$ComponentProps, {}, "placeholder" | "ref" | "value">;
20
+ type Calendar = ReturnType<typeof Calendar>;
21
+ export default Calendar;
@@ -0,0 +1,19 @@
1
+ import Root from './calendar.svelte';
2
+ import Cell from './calendar-cell.svelte';
3
+ import Day from './calendar-day.svelte';
4
+ import Grid from './calendar-grid.svelte';
5
+ import Header from './calendar-header.svelte';
6
+ import Months from './calendar-months.svelte';
7
+ import GridRow from './calendar-grid-row.svelte';
8
+ import Heading from './calendar-heading.svelte';
9
+ import GridBody from './calendar-grid-body.svelte';
10
+ import GridHead from './calendar-grid-head.svelte';
11
+ import HeadCell from './calendar-head-cell.svelte';
12
+ import NextButton from './calendar-next-button.svelte';
13
+ import PrevButton from './calendar-prev-button.svelte';
14
+ import MonthSelect from './calendar-month-select.svelte';
15
+ import YearSelect from './calendar-year-select.svelte';
16
+ import Month from './calendar-month.svelte';
17
+ import Nav from './calendar-nav.svelte';
18
+ import Caption from './calendar-caption.svelte';
19
+ export { Day, Cell, Grid, Header, Months, GridRow, Heading, GridBody, GridHead, HeadCell, NextButton, PrevButton, Nav, Month, YearSelect, MonthSelect, Caption, Root as Calendar };
@@ -0,0 +1,21 @@
1
+ import Root from './calendar.svelte';
2
+ import Cell from './calendar-cell.svelte';
3
+ import Day from './calendar-day.svelte';
4
+ import Grid from './calendar-grid.svelte';
5
+ import Header from './calendar-header.svelte';
6
+ import Months from './calendar-months.svelte';
7
+ import GridRow from './calendar-grid-row.svelte';
8
+ import Heading from './calendar-heading.svelte';
9
+ import GridBody from './calendar-grid-body.svelte';
10
+ import GridHead from './calendar-grid-head.svelte';
11
+ import HeadCell from './calendar-head-cell.svelte';
12
+ import NextButton from './calendar-next-button.svelte';
13
+ import PrevButton from './calendar-prev-button.svelte';
14
+ import MonthSelect from './calendar-month-select.svelte';
15
+ import YearSelect from './calendar-year-select.svelte';
16
+ import Month from './calendar-month.svelte';
17
+ import Nav from './calendar-nav.svelte';
18
+ import Caption from './calendar-caption.svelte';
19
+ export { Day, Cell, Grid, Header, Months, GridRow, Heading, GridBody, GridHead, HeadCell, NextButton, PrevButton, Nav, Month, YearSelect, MonthSelect, Caption,
20
+ //
21
+ Root as Calendar };
@@ -13,7 +13,7 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="card-footer"
16
- class={cn('[.border-t]:pt-6 flex items-center px-6', className)}
16
+ class={cn('flex items-center px-6 [.border-t]:pt-6', className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
@@ -14,7 +14,7 @@
14
14
  bind:this={ref}
15
15
  data-slot="card-header"
16
16
  class={cn(
17
- '@container/card-header has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6 grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6',
17
+ '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',
18
18
  className
19
19
  )}
20
20
  {...restProps}
@@ -13,7 +13,7 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="card-title"
16
- class={cn('font-semibold leading-none', className)}
16
+ class={cn('leading-none font-semibold', className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
@@ -1,8 +1,8 @@
1
1
  <script lang="ts">
2
- import { Checkbox as CheckboxPrimitive } from "bits-ui";
3
- import CheckIcon from "@lucide/svelte/icons/check";
4
- import MinusIcon from "@lucide/svelte/icons/minus";
5
- import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
2
+ import { Checkbox as CheckboxPrimitive } from 'bits-ui';
3
+ import CheckIcon from '@lucide/svelte/icons/check';
4
+ import MinusIcon from '@lucide/svelte/icons/minus';
5
+ import { cn, type WithoutChildrenOrChild } from '../../../utils.js';
6
6
 
7
7
  let {
8
8
  ref = $bindable(null),
@@ -17,7 +17,7 @@
17
17
  bind:ref
18
18
  data-slot="checkbox"
19
19
  class={cn(
20
- "border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shadow-xs peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border outline-none transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
20
+ 'border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',
21
21
  className
22
22
  )}
23
23
  bind:checked
@@ -1,4 +1,4 @@
1
- import { Checkbox as CheckboxPrimitive } from "bits-ui";
1
+ import { Checkbox as CheckboxPrimitive } from 'bits-ui';
2
2
  declare const Checkbox: import("svelte").Component<Omit<Omit<CheckboxPrimitive.RootProps, "child">, "children">, {}, "ref" | "checked" | "indeterminate">;
3
3
  type Checkbox = ReturnType<typeof Checkbox>;
4
4
  export default Checkbox;
@@ -1,2 +1,2 @@
1
- import Root from "./checkbox.svelte";
2
- export { Root, Root as Checkbox, };
1
+ import Root from './checkbox.svelte';
2
+ export { Root, Root as Checkbox };
@@ -1,4 +1,4 @@
1
- import Root from "./checkbox.svelte";
1
+ import Root from './checkbox.svelte';
2
2
  export { Root,
3
3
  //
4
- Root as Checkbox, };
4
+ Root as Checkbox };
@@ -30,7 +30,7 @@
30
30
  </Dialog.Header>
31
31
  <Dialog.Content class="overflow-hidden p-0" {portalProps}>
32
32
  <Command
33
- class="**:data-[slot=command-input-wrapper]:h-12 [&_[data-command-group]:not([hidden])_~[data-command-group]]:pt-0 [&_[data-command-group]]:px-2 [&_[data-command-input-wrapper]_svg]:h-5 [&_[data-command-input-wrapper]_svg]:w-5 [&_[data-command-input]]:h-12 [&_[data-command-item]]:px-2 [&_[data-command-item]]:py-3 [&_[data-command-item]_svg]:h-5 [&_[data-command-item]_svg]:w-5"
33
+ class="**:data-[slot=command-input-wrapper]:h-12 [&_[data-command-group]]:px-2 [&_[data-command-group]:not([hidden])_~[data-command-group]]:pt-0 [&_[data-command-input-wrapper]_svg]:h-5 [&_[data-command-input-wrapper]_svg]:w-5 [&_[data-command-input]]:h-12 [&_[data-command-item]]:px-2 [&_[data-command-item]]:py-3 [&_[data-command-item]_svg]:h-5 [&_[data-command-item]_svg]:w-5"
34
34
  {...restProps}
35
35
  bind:value
36
36
  bind:ref
@@ -11,12 +11,12 @@
11
11
  }: CommandPrimitive.InputProps = $props();
12
12
  </script>
13
13
 
14
- <div class="flex h-9 items-center gap-2 border-b pl-3 pr-8" data-slot="command-input-wrapper">
14
+ <div class="flex h-9 items-center gap-2 border-b pr-8 pl-3" data-slot="command-input-wrapper">
15
15
  <SearchIcon class="size-4 shrink-0 opacity-50" />
16
16
  <CommandPrimitive.Input
17
17
  data-slot="command-input"
18
18
  class={cn(
19
- 'placeholder:text-muted-foreground outline-hidden flex h-10 w-full rounded-md bg-transparent py-3 text-sm disabled:cursor-not-allowed disabled:opacity-50',
19
+ 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50',
20
20
  className
21
21
  )}
22
22
  bind:ref
@@ -13,7 +13,7 @@
13
13
  bind:ref
14
14
  data-slot="command-item"
15
15
  class={cn(
16
- "aria-selected:bg-accent aria-selected:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
16
+ "aria-selected:bg-accent aria-selected:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-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",
17
17
  className
18
18
  )}
19
19
  {...restProps}
@@ -13,7 +13,7 @@
13
13
  bind:ref
14
14
  data-slot="command-item"
15
15
  class={cn(
16
- "aria-selected:bg-accent aria-selected:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
16
+ "aria-selected:bg-accent aria-selected:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
17
17
  className
18
18
  )}
19
19
  {...restProps}
@@ -12,6 +12,6 @@
12
12
  <CommandPrimitive.List
13
13
  bind:ref
14
14
  data-slot="command-list"
15
- class={cn('max-h-[300px] scroll-py-1 overflow-y-auto overflow-x-hidden', className)}
15
+ class={cn('max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto', className)}
16
16
  {...restProps}
17
17
  />
@@ -25,7 +25,7 @@
25
25
  bind:ref
26
26
  data-slot="dialog-content"
27
27
  class={cn(
28
- 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',
28
+ 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',
29
29
  className
30
30
  )}
31
31
  {...restProps}
@@ -33,7 +33,7 @@
33
33
  {@render children?.()}
34
34
  {#if showCloseButton}
35
35
  <DialogPrimitive.Close
36
- class="ring-offset-background focus:ring-ring rounded-xs focus:outline-hidden absolute end-4 top-4 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0"
36
+ class="ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
37
37
  >
38
38
  <XIcon />
39
39
  <span class="sr-only">Close</span>
@@ -12,6 +12,6 @@
12
12
  <DialogPrimitive.Title
13
13
  bind:ref
14
14
  data-slot="dialog-title"
15
- class={cn('text-lg font-semibold leading-none', className)}
15
+ class={cn('text-lg leading-none font-semibold', className)}
16
16
  {...restProps}
17
17
  />
@@ -23,7 +23,7 @@
23
23
  bind:indeterminate
24
24
  data-slot="dropdown-menu-checkbox-item"
25
25
  class={cn(
26
- "focus:bg-accent focus:text-accent-foreground outline-hidden relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pl-8 pr-2 text-sm data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
26
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 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",
27
27
  className
28
28
  )}
29
29
  {...restProps}
@@ -19,7 +19,7 @@
19
19
  data-slot="dropdown-menu-content"
20
20
  {sideOffset}
21
21
  class={cn(
22
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[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 max-h-(--bits-dropdown-menu-content-available-height) origin-(--bits-dropdown-menu-content-transform-origin) z-50 min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border p-1 shadow-md outline-none',
22
+ 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[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 z-50 max-h-(--bits-dropdown-menu-content-available-height) min-w-[8rem] origin-(--bits-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md outline-none',
23
23
  className
24
24
  )}
25
25
  {...restProps}
@@ -20,7 +20,7 @@
20
20
  data-inset={inset}
21
21
  data-variant={variant}
22
22
  class={cn(
23
- "data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 data-[variant=destructive]:data-highlighted:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm data-[disabled]:pointer-events-none data-[inset]:pl-8 data-[disabled]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
23
+ "data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 data-[variant=destructive]:data-highlighted:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
24
24
  className
25
25
  )}
26
26
  {...restProps}
@@ -15,7 +15,7 @@
15
15
  bind:ref
16
16
  data-slot="dropdown-menu-radio-item"
17
17
  class={cn(
18
- "focus:bg-accent focus:text-accent-foreground outline-hidden relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pl-8 pr-2 text-sm data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
18
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 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",
19
19
  className
20
20
  )}
21
21
  {...restProps}
@@ -13,7 +13,7 @@
13
13
  bind:ref
14
14
  data-slot="dropdown-menu-sub-content"
15
15
  class={cn(
16
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[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 origin-(--bits-dropdown-menu-content-transform-origin) z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg',
16
+ 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[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 z-50 min-w-[8rem] origin-(--bits-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',
17
17
  className
18
18
  )}
19
19
  {...restProps}
@@ -19,7 +19,7 @@
19
19
  data-slot="dropdown-menu-sub-trigger"
20
20
  data-inset={inset}
21
21
  class={cn(
22
- "data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground outline-hidden [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm data-[disabled]:pointer-events-none data-[inset]:pl-8 data-[disabled]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
22
+ "data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
23
23
  className
24
24
  )}
25
25
  {...restProps}
@@ -25,7 +25,7 @@
25
25
  bind:this={ref}
26
26
  data-slot={dataSlot}
27
27
  class={cn(
28
- 'selection:bg-primary dark:bg-input/30 selection:text-primary-foreground border-input ring-offset-background placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 pt-1.5 text-sm font-medium outline-none transition-[color,box-shadow] disabled:cursor-not-allowed disabled:opacity-50',
28
+ 'selection:bg-primary dark:bg-input/30 selection:text-primary-foreground border-input ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 pt-1.5 text-sm font-medium shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50',
29
29
  'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',
30
30
  'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',
31
31
  className
@@ -40,7 +40,7 @@
40
40
  bind:this={ref}
41
41
  data-slot={dataSlot}
42
42
  class={cn(
43
- 'border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base outline-none transition-[color,box-shadow] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',
43
+ 'border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',
44
44
  'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',
45
45
  'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',
46
46
  className
@@ -13,7 +13,7 @@
13
13
  bind:ref
14
14
  data-slot="label"
15
15
  class={cn(
16
- 'flex select-none items-center gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50',
16
+ 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',
17
17
  className
18
18
  )}
19
19
  {...restProps}
@@ -21,7 +21,7 @@
21
21
  {sideOffset}
22
22
  {align}
23
23
  class={cn(
24
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[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 origin-(--bits-popover-content-transform-origin) outline-hidden z-50 w-72 rounded-md border p-4 shadow-md',
24
+ 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[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 z-50 w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',
25
25
  className
26
26
  )}
27
27
  {...restProps}
@@ -0,0 +1,3 @@
1
+ import Root from './radio-group.svelte';
2
+ import Item from './radio-group-item.svelte';
3
+ export { Root, Item, Root as RadioGroup, Item as RadioGroupItem };
@@ -0,0 +1,5 @@
1
+ import Root from './radio-group.svelte';
2
+ import Item from './radio-group-item.svelte';
3
+ export { Root, Item,
4
+ //
5
+ Root as RadioGroup, Item as RadioGroupItem };
@@ -0,0 +1,31 @@
1
+ <script lang="ts">
2
+ import { RadioGroup as RadioGroupPrimitive } from 'bits-ui';
3
+ import CircleIcon from '@lucide/svelte/icons/circle';
4
+ import { cn, type WithoutChildrenOrChild } from '../../../utils.js';
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ ...restProps
10
+ }: WithoutChildrenOrChild<RadioGroupPrimitive.ItemProps> = $props();
11
+ </script>
12
+
13
+ <RadioGroupPrimitive.Item
14
+ bind:ref
15
+ data-slot="radio-group-item"
16
+ class={cn(
17
+ 'border-input text-primary 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:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',
18
+ className
19
+ )}
20
+ {...restProps}
21
+ >
22
+ {#snippet children({ checked })}
23
+ <div data-slot="radio-group-indicator" class="relative flex items-center justify-center">
24
+ {#if checked}
25
+ <CircleIcon
26
+ class="fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"
27
+ />
28
+ {/if}
29
+ </div>
30
+ {/snippet}
31
+ </RadioGroupPrimitive.Item>
@@ -0,0 +1,4 @@
1
+ import { RadioGroup as RadioGroupPrimitive } from 'bits-ui';
2
+ declare const RadioGroupItem: import("svelte").Component<Omit<Omit<RadioGroupPrimitive.ItemProps, "child">, "children">, {}, "ref">;
3
+ type RadioGroupItem = ReturnType<typeof RadioGroupItem>;
4
+ export default RadioGroupItem;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import { RadioGroup as RadioGroupPrimitive } from 'bits-ui';
3
+ import { cn } from '../../../utils.js';
4
+
5
+ let {
6
+ ref = $bindable(null),
7
+ class: className,
8
+ value = $bindable(''),
9
+ ...restProps
10
+ }: RadioGroupPrimitive.RootProps = $props();
11
+ </script>
12
+
13
+ <RadioGroupPrimitive.Root
14
+ bind:ref
15
+ bind:value
16
+ data-slot="radio-group"
17
+ class={cn('grid gap-3', className)}
18
+ {...restProps}
19
+ />
@@ -0,0 +1,4 @@
1
+ import { RadioGroup as RadioGroupPrimitive } from 'bits-ui';
2
+ declare const RadioGroup: import("svelte").Component<RadioGroupPrimitive.RootProps, {}, "ref" | "value">;
3
+ type RadioGroup = ReturnType<typeof RadioGroup>;
4
+ export default RadioGroup;
@@ -22,7 +22,7 @@
22
22
  {sideOffset}
23
23
  data-slot="select-content"
24
24
  class={cn(
25
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[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 max-h-(--bits-select-content-available-height) origin-(--bits-select-content-transform-origin) relative z-50 min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
25
+ 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[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 relative z-50 max-h-(--bits-select-content-available-height) min-w-[8rem] origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
26
26
  className
27
27
  )}
28
28
  {...restProps}
@@ -30,7 +30,7 @@
30
30
  <SelectScrollUpButton />
31
31
  <SelectPrimitive.Viewport
32
32
  class={cn(
33
- 'h-(--bits-select-anchor-height) min-w-(--bits-select-anchor-width) w-full scroll-my-1 p-1'
33
+ 'h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1 p-1'
34
34
  )}
35
35
  >
36
36
  {@render children?.()}
@@ -18,7 +18,7 @@
18
18
  {value}
19
19
  data-slot="select-item"
20
20
  class={cn(
21
- "data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pl-2 pr-8 text-sm data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
21
+ "data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 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}
@@ -19,7 +19,7 @@
19
19
  data-slot="select-trigger"
20
20
  data-size={size}
21
21
  class={cn(
22
- "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground 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:bg-input/30 dark:hover:bg-input/50 shadow-xs flex w-fit select-none items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-transparent px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
22
+ "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground 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:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
23
23
  className
24
24
  )}
25
25
  {...restProps}
@@ -14,7 +14,7 @@
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=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px',
17
+ 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',
18
18
  className
19
19
  )}
20
20
  {...restProps}
@@ -51,7 +51,7 @@
51
51
  >
52
52
  {@render children?.()}
53
53
  <SheetPrimitive.Close
54
- class="ring-offset-background focus-visible:ring-ring rounded-xs focus-visible:outline-hidden absolute right-4 top-4 opacity-70 transition-opacity hover:opacity-100 focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none"
54
+ class="ring-offset-background focus-visible:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none"
55
55
  >
56
56
  <XIcon class="size-4" />
57
57
  <span class="sr-only">Close</span>
@@ -15,7 +15,7 @@
15
15
  data-slot="sidebar-inset"
16
16
  class={cn(
17
17
  'bg-background relative flex w-full flex-1 flex-col',
18
- 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm',
18
+ '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
19
  className
20
20
  )}
21
21
  {...restProps}
@@ -15,7 +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 right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums',
18
+ 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',
19
19
  'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',
20
20
  'peer-data-[size=sm]/menu-button:top-1',
21
21
  'peer-data-[size=default]/menu-button:top-1.5',