@spawn-llc/design-system 1.1.1 → 1.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 (188) hide show
  1. package/dist/chunk-227VGN2D.js +617 -0
  2. package/dist/chunk-2UK4FHS3.js +31 -0
  3. package/dist/chunk-36NOAJFW.js +53 -0
  4. package/dist/chunk-3EZ5FFYG.js +154 -0
  5. package/dist/chunk-3PN2XMRA.js +80 -0
  6. package/dist/chunk-3SLZRFKQ.js +107 -0
  7. package/dist/chunk-4ABNKOPC.js +18 -0
  8. package/dist/chunk-4IKPZU4X.js +34 -0
  9. package/dist/chunk-5YRMB7KW.js +31 -0
  10. package/dist/chunk-66R4755B.js +37 -0
  11. package/dist/chunk-ATBQXQM7.js +165 -0
  12. package/dist/chunk-AUWFUYJI.js +79 -0
  13. package/dist/chunk-BTGJV2P6.js +237 -0
  14. package/dist/chunk-BYJWYU66.js +95 -0
  15. package/dist/chunk-D6UXXTC6.js +18 -0
  16. package/dist/chunk-DFVSGTAN.js +24 -0
  17. package/dist/chunk-DQ52UWO2.js +28 -0
  18. package/dist/chunk-DXXFNPYR.js +20 -0
  19. package/dist/chunk-GBPD3QPO.js +60 -0
  20. package/dist/chunk-GHSVAEXO.js +227 -0
  21. package/dist/chunk-GQIUVLXP.js +42 -0
  22. package/dist/chunk-HG4AEMA5.js +74 -0
  23. package/dist/chunk-HK6P54FZ.js +139 -0
  24. package/dist/chunk-HSP43BHH.js +97 -0
  25. package/dist/chunk-HYBBZTLY.js +1 -0
  26. package/dist/chunk-IS2ZVRUW.js +186 -0
  27. package/dist/chunk-JSULEEYQ.js +9 -0
  28. package/dist/chunk-K46NYJUT.js +15 -0
  29. package/dist/chunk-L5SMHZJL.js +162 -0
  30. package/dist/chunk-LPPLLYOR.js +185 -0
  31. package/dist/chunk-LYDG55X2.js +194 -0
  32. package/dist/chunk-MLC45YHE.js +122 -0
  33. package/dist/chunk-MZEY2L46.js +186 -0
  34. package/dist/chunk-N34HFTEJ.js +22 -0
  35. package/dist/chunk-PPW4C342.js +232 -0
  36. package/dist/chunk-PZCXY6QZ.js +208 -0
  37. package/dist/chunk-Q3HD7YQZ.js +261 -0
  38. package/dist/chunk-QF7LZKLC.js +98 -0
  39. package/dist/chunk-QNUAUOJW.js +15 -0
  40. package/dist/chunk-QZSQXEOU.js +28 -0
  41. package/dist/chunk-RBTFEYGV.js +77 -0
  42. package/dist/chunk-SJMEO63M.js +116 -0
  43. package/dist/chunk-T6DWCVR3.js +73 -0
  44. package/dist/chunk-T7GS4AXQ.js +245 -0
  45. package/dist/chunk-TP35WWVP.js +46 -0
  46. package/dist/chunk-TQ6CJZMT.js +42 -0
  47. package/dist/chunk-U7N2A7A3.js +9 -0
  48. package/dist/chunk-V3NRC7QE.js +142 -0
  49. package/dist/chunk-VOHNOSMH.js +22 -0
  50. package/dist/chunk-W3PHWPYP.js +43 -0
  51. package/dist/chunk-WJ6DNG2Z.js +75 -0
  52. package/dist/chunk-WMXCMDSQ.js +126 -0
  53. package/dist/chunk-WSNSTJAR.js +58 -0
  54. package/dist/chunk-XG3HHC3U.js +79 -0
  55. package/dist/chunk-XOLQ37I2.js +118 -0
  56. package/dist/chunk-YFPY5SLS.js +19 -0
  57. package/dist/chunk-YFVERFQA.js +76 -0
  58. package/dist/chunk-YL4VCJKF.js +75 -0
  59. package/dist/chunk-ZMHTPZVQ.js +61 -0
  60. package/dist/chunk-ZO74KVH3.js +38 -0
  61. package/dist/components/ui/accordion.d.ts +9 -0
  62. package/dist/components/ui/accordion.js +3 -0
  63. package/dist/components/ui/alert-dialog.d.ts +24 -0
  64. package/dist/components/ui/alert-dialog.js +5 -0
  65. package/dist/components/ui/alert.d.ts +13 -0
  66. package/dist/components/ui/alert.js +3 -0
  67. package/dist/components/ui/aspect-ratio.d.ts +7 -0
  68. package/dist/components/ui/aspect-ratio.js +3 -0
  69. package/dist/components/ui/avatar.d.ts +13 -0
  70. package/dist/components/ui/avatar.js +3 -0
  71. package/dist/components/ui/badge.d.ts +11 -0
  72. package/dist/components/ui/badge.js +3 -0
  73. package/dist/components/ui/breadcrumb.d.ts +12 -0
  74. package/dist/components/ui/breadcrumb.js +3 -0
  75. package/dist/components/ui/button-group.d.ts +15 -0
  76. package/dist/components/ui/button-group.js +4 -0
  77. package/dist/components/ui/button.d.ts +9 -0
  78. package/dist/components/ui/button.js +4 -0
  79. package/dist/components/ui/calendar.d.ts +16 -0
  80. package/dist/components/ui/calendar.js +5 -0
  81. package/dist/components/ui/card.d.ts +13 -0
  82. package/dist/components/ui/card.js +3 -0
  83. package/dist/components/ui/carousel.d.ts +34 -0
  84. package/dist/components/ui/carousel.js +5 -0
  85. package/dist/components/ui/chart.d.ts +46 -0
  86. package/dist/components/ui/chart.js +3 -0
  87. package/dist/components/ui/checkbox.d.ts +6 -0
  88. package/dist/components/ui/checkbox.js +3 -0
  89. package/dist/components/ui/collapsible.d.ts +8 -0
  90. package/dist/components/ui/collapsible.js +2 -0
  91. package/dist/components/ui/combobox.d.ts +26 -0
  92. package/dist/components/ui/combobox.js +8 -0
  93. package/dist/components/ui/command.d.ts +22 -0
  94. package/dist/components/ui/command.js +9 -0
  95. package/dist/components/ui/context-menu.d.ts +31 -0
  96. package/dist/components/ui/context-menu.js +3 -0
  97. package/dist/components/ui/dialog.d.ts +19 -0
  98. package/dist/components/ui/dialog.js +5 -0
  99. package/dist/components/ui/direction.d.ts +1 -0
  100. package/dist/components/ui/direction.js +2 -0
  101. package/dist/components/ui/drawer.d.ts +15 -0
  102. package/dist/components/ui/drawer.js +3 -0
  103. package/dist/components/ui/dropdown-menu.d.ts +31 -0
  104. package/dist/components/ui/dropdown-menu.js +3 -0
  105. package/dist/components/ui/empty.d.ts +15 -0
  106. package/dist/components/ui/empty.js +3 -0
  107. package/dist/components/ui/field.d.ts +28 -0
  108. package/dist/components/ui/field.js +5 -0
  109. package/dist/components/ui/hover-card.d.ts +8 -0
  110. package/dist/components/ui/hover-card.js +3 -0
  111. package/dist/components/ui/input-group.d.ts +23 -0
  112. package/dist/components/ui/input-group.js +7 -0
  113. package/dist/components/ui/input-otp.d.ts +13 -0
  114. package/dist/components/ui/input-otp.js +3 -0
  115. package/dist/components/ui/input.d.ts +5 -0
  116. package/dist/components/ui/input.js +3 -0
  117. package/dist/components/ui/item.d.ts +26 -0
  118. package/dist/components/ui/item.js +4 -0
  119. package/dist/components/ui/kbd.d.ts +6 -0
  120. package/dist/components/ui/kbd.js +3 -0
  121. package/dist/components/ui/label.d.ts +5 -0
  122. package/dist/components/ui/label.js +3 -0
  123. package/dist/components/ui/logo.d.ts +17 -0
  124. package/dist/components/ui/logo.js +3 -0
  125. package/dist/components/ui/menubar.d.ts +31 -0
  126. package/dist/components/ui/menubar.js +4 -0
  127. package/dist/components/ui/native-select.d.ts +10 -0
  128. package/dist/components/ui/native-select.js +3 -0
  129. package/dist/components/ui/navigation-menu.d.ts +15 -0
  130. package/dist/components/ui/navigation-menu.js +3 -0
  131. package/dist/components/ui/pagination.d.ts +23 -0
  132. package/dist/components/ui/pagination.js +5 -0
  133. package/dist/components/ui/popover.d.ts +11 -0
  134. package/dist/components/ui/popover.js +3 -0
  135. package/dist/components/ui/progress.d.ts +10 -0
  136. package/dist/components/ui/progress.js +3 -0
  137. package/dist/components/ui/radio-group.d.ts +8 -0
  138. package/dist/components/ui/radio-group.js +3 -0
  139. package/dist/components/ui/resizable.d.ts +10 -0
  140. package/dist/components/ui/resizable.js +3 -0
  141. package/dist/components/ui/scroll-area.d.ts +7 -0
  142. package/dist/components/ui/scroll-area.js +3 -0
  143. package/dist/components/ui/select.d.ts +17 -0
  144. package/dist/components/ui/select.js +3 -0
  145. package/dist/components/ui/separator.d.ts +6 -0
  146. package/dist/components/ui/separator.js +3 -0
  147. package/dist/components/ui/sheet.d.ts +16 -0
  148. package/dist/components/ui/sheet.js +5 -0
  149. package/dist/components/ui/sidebar.d.ts +70 -0
  150. package/dist/components/ui/sidebar.js +11 -0
  151. package/dist/components/ui/skeleton.d.ts +5 -0
  152. package/dist/components/ui/skeleton.js +3 -0
  153. package/dist/components/ui/slider.d.ts +6 -0
  154. package/dist/components/ui/slider.js +3 -0
  155. package/dist/components/ui/sonner.d.ts +6 -0
  156. package/dist/components/ui/sonner.js +2 -0
  157. package/dist/components/ui/spinner.d.ts +5 -0
  158. package/dist/components/ui/spinner.js +3 -0
  159. package/dist/components/ui/switch.d.ts +8 -0
  160. package/dist/components/ui/switch.js +3 -0
  161. package/dist/components/ui/table.d.ts +12 -0
  162. package/dist/components/ui/table.js +3 -0
  163. package/dist/components/ui/tabs.d.ts +14 -0
  164. package/dist/components/ui/tabs.js +3 -0
  165. package/dist/components/ui/textarea.d.ts +5 -0
  166. package/dist/components/ui/textarea.js +3 -0
  167. package/dist/components/ui/toggle-group.d.ts +14 -0
  168. package/dist/components/ui/toggle-group.js +4 -0
  169. package/dist/components/ui/toggle.d.ts +12 -0
  170. package/dist/components/ui/toggle.js +3 -0
  171. package/dist/components/ui/tooltip.d.ts +9 -0
  172. package/dist/components/ui/tooltip.js +3 -0
  173. package/dist/hooks/use-mobile.d.ts +3 -0
  174. package/dist/hooks/use-mobile.js +2 -0
  175. package/dist/index.d.ts +98 -640
  176. package/dist/index.js +60 -5573
  177. package/dist/lib/button-variants.d.ts +17 -0
  178. package/dist/lib/button-variants.js +1 -0
  179. package/dist/lib/contrast.d.ts +9 -0
  180. package/dist/lib/contrast.js +1 -0
  181. package/dist/lib/utils.d.ts +5 -0
  182. package/dist/lib/utils.js +1 -0
  183. package/dist/styles.css +1 -1
  184. package/dist/variants.d.ts +3 -0
  185. package/dist/variants.js +1 -0
  186. package/package.json +13 -5
  187. /package/dist/{tokens.d.ts → tokens.generated.d.ts} +0 -0
  188. /package/dist/{tokens.js → tokens.generated.js} +0 -0
@@ -0,0 +1,186 @@
1
+ import { Button } from './chunk-N34HFTEJ.js';
2
+ import { buttonVariants } from './chunk-4IKPZU4X.js';
3
+ import { cn } from './chunk-U7N2A7A3.js';
4
+ import * as React from 'react';
5
+ import { getDefaultClassNames, DayPicker } from 'react-day-picker';
6
+ import { ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon } from 'lucide-react';
7
+ import { jsx } from 'react/jsx-runtime';
8
+
9
+ function Calendar({
10
+ className,
11
+ classNames,
12
+ showOutsideDays = true,
13
+ captionLayout = "label",
14
+ buttonVariant = "ghost",
15
+ locale,
16
+ formatters,
17
+ components,
18
+ ...props
19
+ }) {
20
+ const defaultClassNames = getDefaultClassNames();
21
+ return /* @__PURE__ */ jsx(
22
+ DayPicker,
23
+ {
24
+ showOutsideDays,
25
+ className: cn(
26
+ "group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",
27
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
28
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
29
+ className
30
+ ),
31
+ captionLayout,
32
+ locale,
33
+ formatters: {
34
+ formatMonthDropdown: (date) => date.toLocaleString(locale?.code, { month: "short" }),
35
+ ...formatters
36
+ },
37
+ classNames: {
38
+ root: cn("w-fit", defaultClassNames.root),
39
+ months: cn(
40
+ "relative flex flex-col gap-4 md:flex-row",
41
+ defaultClassNames.months
42
+ ),
43
+ month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
44
+ nav: cn(
45
+ "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
46
+ defaultClassNames.nav
47
+ ),
48
+ button_previous: cn(
49
+ buttonVariants({ variant: buttonVariant }),
50
+ "size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
51
+ defaultClassNames.button_previous
52
+ ),
53
+ button_next: cn(
54
+ buttonVariants({ variant: buttonVariant }),
55
+ "size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
56
+ defaultClassNames.button_next
57
+ ),
58
+ month_caption: cn(
59
+ "flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",
60
+ defaultClassNames.month_caption
61
+ ),
62
+ dropdowns: cn(
63
+ "flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",
64
+ defaultClassNames.dropdowns
65
+ ),
66
+ dropdown_root: cn(
67
+ "relative rounded-(--cell-radius)",
68
+ defaultClassNames.dropdown_root
69
+ ),
70
+ dropdown: cn(
71
+ "absolute inset-0 bg-popover opacity-0",
72
+ defaultClassNames.dropdown
73
+ ),
74
+ caption_label: cn(
75
+ "font-medium select-none",
76
+ captionLayout === "label" ? "text-sm" : "flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",
77
+ defaultClassNames.caption_label
78
+ ),
79
+ month_grid: cn("w-full border-collapse", defaultClassNames.month_grid),
80
+ weekdays: cn("flex", defaultClassNames.weekdays),
81
+ weekday: cn(
82
+ "flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none",
83
+ defaultClassNames.weekday
84
+ ),
85
+ week: cn("mt-2 flex w-full", defaultClassNames.week),
86
+ week_number_header: cn(
87
+ "w-(--cell-size) select-none",
88
+ defaultClassNames.week_number_header
89
+ ),
90
+ week_number: cn(
91
+ "text-[0.8rem] text-muted-foreground select-none",
92
+ defaultClassNames.week_number
93
+ ),
94
+ day: cn(
95
+ "group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius)",
96
+ props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)" : "[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",
97
+ defaultClassNames.day
98
+ ),
99
+ range_start: cn(
100
+ "relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted",
101
+ defaultClassNames.range_start
102
+ ),
103
+ range_middle: cn("rounded-none", defaultClassNames.range_middle),
104
+ range_end: cn(
105
+ "relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted",
106
+ defaultClassNames.range_end
107
+ ),
108
+ today: cn(
109
+ "rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none",
110
+ defaultClassNames.today
111
+ ),
112
+ outside: cn(
113
+ "text-muted-foreground aria-selected:text-muted-foreground",
114
+ defaultClassNames.outside
115
+ ),
116
+ disabled: cn(
117
+ "text-muted-foreground opacity-50",
118
+ defaultClassNames.disabled
119
+ ),
120
+ hidden: cn("invisible", defaultClassNames.hidden),
121
+ ...classNames
122
+ },
123
+ components: {
124
+ Root: ({ className: className2, rootRef, ...props2 }) => {
125
+ return /* @__PURE__ */ jsx(
126
+ "div",
127
+ {
128
+ "data-slot": "calendar",
129
+ ref: rootRef,
130
+ className: cn(className2),
131
+ ...props2
132
+ }
133
+ );
134
+ },
135
+ Chevron: ({ className: className2, orientation, ...props2 }) => {
136
+ if (orientation === "left") {
137
+ return /* @__PURE__ */ jsx(ChevronLeftIcon, { className: cn("size-4", className2), ...props2 });
138
+ }
139
+ if (orientation === "right") {
140
+ return /* @__PURE__ */ jsx(ChevronRightIcon, { className: cn("size-4", className2), ...props2 });
141
+ }
142
+ return /* @__PURE__ */ jsx(ChevronDownIcon, { className: cn("size-4", className2), ...props2 });
143
+ },
144
+ DayButton: ({ ...props2 }) => /* @__PURE__ */ jsx(CalendarDayButton, { locale, ...props2 }),
145
+ WeekNumber: ({ children, ...props2 }) => {
146
+ return /* @__PURE__ */ jsx("td", { ...props2, children: /* @__PURE__ */ jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
147
+ },
148
+ ...components
149
+ },
150
+ ...props
151
+ }
152
+ );
153
+ }
154
+ function CalendarDayButton({
155
+ className,
156
+ day,
157
+ modifiers,
158
+ locale,
159
+ ...props
160
+ }) {
161
+ const defaultClassNames = getDefaultClassNames();
162
+ const ref = React.useRef(null);
163
+ React.useEffect(() => {
164
+ if (modifiers.focused) ref.current?.focus();
165
+ }, [modifiers.focused]);
166
+ return /* @__PURE__ */ jsx(
167
+ Button,
168
+ {
169
+ variant: "ghost",
170
+ size: "icon",
171
+ "data-day": day.date.toLocaleDateString(locale?.code),
172
+ "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
173
+ "data-range-start": modifiers.range_start,
174
+ "data-range-end": modifiers.range_end,
175
+ "data-range-middle": modifiers.range_middle,
176
+ className: cn(
177
+ "relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground [&>span]:text-xs [&>span]:opacity-70",
178
+ defaultClassNames.day,
179
+ className
180
+ ),
181
+ ...props
182
+ }
183
+ );
184
+ }
185
+
186
+ export { Calendar, CalendarDayButton };
@@ -0,0 +1,9 @@
1
+ import { cn } from './chunk-U7N2A7A3.js';
2
+ import { Loader2Icon } from 'lucide-react';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ function Spinner({ className, ...props }) {
6
+ return /* @__PURE__ */ jsx(Loader2Icon, { "data-slot": "spinner", role: "status", "aria-label": "Loading", className: cn("size-4 animate-spin", className), ...props });
7
+ }
8
+
9
+ export { Spinner };
@@ -0,0 +1,15 @@
1
+ import { Collapsible as Collapsible$1 } from '@base-ui/react/collapsible';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ // src/components/ui/collapsible.tsx
5
+ function Collapsible({ ...props }) {
6
+ return /* @__PURE__ */ jsx(Collapsible$1.Root, { "data-slot": "collapsible", ...props });
7
+ }
8
+ function CollapsibleTrigger({ ...props }) {
9
+ return /* @__PURE__ */ jsx(Collapsible$1.Trigger, { "data-slot": "collapsible-trigger", ...props });
10
+ }
11
+ function CollapsibleContent({ ...props }) {
12
+ return /* @__PURE__ */ jsx(Collapsible$1.Panel, { "data-slot": "collapsible-content", ...props });
13
+ }
14
+
15
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger };
@@ -0,0 +1,162 @@
1
+ import { Button } from './chunk-N34HFTEJ.js';
2
+ import { cn } from './chunk-U7N2A7A3.js';
3
+ import { AlertDialog as AlertDialog$1 } from '@base-ui/react/alert-dialog';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ function AlertDialog({ ...props }) {
7
+ return /* @__PURE__ */ jsx(AlertDialog$1.Root, { "data-slot": "alert-dialog", ...props });
8
+ }
9
+ function AlertDialogTrigger({ ...props }) {
10
+ return /* @__PURE__ */ jsx(AlertDialog$1.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
11
+ }
12
+ function AlertDialogPortal({ ...props }) {
13
+ return /* @__PURE__ */ jsx(AlertDialog$1.Portal, { "data-slot": "alert-dialog-portal", ...props });
14
+ }
15
+ function AlertDialogOverlay({
16
+ className,
17
+ ...props
18
+ }) {
19
+ return /* @__PURE__ */ jsx(
20
+ AlertDialog$1.Backdrop,
21
+ {
22
+ "data-slot": "alert-dialog-overlay",
23
+ className: cn(
24
+ "fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
25
+ className
26
+ ),
27
+ ...props
28
+ }
29
+ );
30
+ }
31
+ function AlertDialogContent({
32
+ className,
33
+ size = "default",
34
+ ...props
35
+ }) {
36
+ return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
37
+ /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
38
+ /* @__PURE__ */ jsx(
39
+ AlertDialog$1.Popup,
40
+ {
41
+ "data-slot": "alert-dialog-content",
42
+ "data-size": size,
43
+ className: cn(
44
+ "group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
45
+ className
46
+ ),
47
+ ...props
48
+ }
49
+ )
50
+ ] });
51
+ }
52
+ function AlertDialogHeader({
53
+ className,
54
+ ...props
55
+ }) {
56
+ return /* @__PURE__ */ jsx(
57
+ "div",
58
+ {
59
+ "data-slot": "alert-dialog-header",
60
+ className: cn(
61
+ "grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
62
+ className
63
+ ),
64
+ ...props
65
+ }
66
+ );
67
+ }
68
+ function AlertDialogFooter({
69
+ className,
70
+ ...props
71
+ }) {
72
+ return /* @__PURE__ */ jsx(
73
+ "div",
74
+ {
75
+ "data-slot": "alert-dialog-footer",
76
+ className: cn(
77
+ "-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
78
+ className
79
+ ),
80
+ ...props
81
+ }
82
+ );
83
+ }
84
+ function AlertDialogMedia({
85
+ className,
86
+ ...props
87
+ }) {
88
+ return /* @__PURE__ */ jsx(
89
+ "div",
90
+ {
91
+ "data-slot": "alert-dialog-media",
92
+ className: cn(
93
+ "mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6",
94
+ className
95
+ ),
96
+ ...props
97
+ }
98
+ );
99
+ }
100
+ function AlertDialogTitle({
101
+ className,
102
+ ...props
103
+ }) {
104
+ return /* @__PURE__ */ jsx(
105
+ AlertDialog$1.Title,
106
+ {
107
+ "data-slot": "alert-dialog-title",
108
+ className: cn(
109
+ "text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
110
+ className
111
+ ),
112
+ ...props
113
+ }
114
+ );
115
+ }
116
+ function AlertDialogDescription({
117
+ className,
118
+ ...props
119
+ }) {
120
+ return /* @__PURE__ */ jsx(
121
+ AlertDialog$1.Description,
122
+ {
123
+ "data-slot": "alert-dialog-description",
124
+ className: cn(
125
+ "text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
126
+ className
127
+ ),
128
+ ...props
129
+ }
130
+ );
131
+ }
132
+ function AlertDialogAction({
133
+ className,
134
+ ...props
135
+ }) {
136
+ return /* @__PURE__ */ jsx(
137
+ Button,
138
+ {
139
+ "data-slot": "alert-dialog-action",
140
+ className: cn(className),
141
+ ...props
142
+ }
143
+ );
144
+ }
145
+ function AlertDialogCancel({
146
+ className,
147
+ variant = "secondary",
148
+ size = "default",
149
+ ...props
150
+ }) {
151
+ return /* @__PURE__ */ jsx(
152
+ AlertDialog$1.Close,
153
+ {
154
+ "data-slot": "alert-dialog-cancel",
155
+ className: cn("border-border", className),
156
+ render: /* @__PURE__ */ jsx(Button, { variant, size }),
157
+ ...props
158
+ }
159
+ );
160
+ }
161
+
162
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
@@ -0,0 +1,185 @@
1
+ import { cn } from './chunk-U7N2A7A3.js';
2
+ import { Select as Select$1 } from '@base-ui/react/select';
3
+ import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from 'lucide-react';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ var Select = Select$1.Root;
7
+ function SelectGroup({ className, ...props }) {
8
+ return /* @__PURE__ */ jsx(
9
+ Select$1.Group,
10
+ {
11
+ "data-slot": "select-group",
12
+ className: cn("scroll-my-1 p-1", className),
13
+ ...props
14
+ }
15
+ );
16
+ }
17
+ function SelectValue({ className, ...props }) {
18
+ return /* @__PURE__ */ jsx(
19
+ Select$1.Value,
20
+ {
21
+ "data-slot": "select-value",
22
+ className: cn("flex flex-1 text-left", className),
23
+ ...props
24
+ }
25
+ );
26
+ }
27
+ function SelectTrigger({
28
+ className,
29
+ size = "default",
30
+ children,
31
+ ...props
32
+ }) {
33
+ return /* @__PURE__ */ jsxs(
34
+ Select$1.Trigger,
35
+ {
36
+ "data-slot": "select-trigger",
37
+ "data-size": size,
38
+ className: cn(
39
+ "flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground 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]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
40
+ className
41
+ ),
42
+ ...props,
43
+ children: [
44
+ children,
45
+ /* @__PURE__ */ jsx(
46
+ Select$1.Icon,
47
+ {
48
+ render: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })
49
+ }
50
+ )
51
+ ]
52
+ }
53
+ );
54
+ }
55
+ function SelectContent({
56
+ className,
57
+ children,
58
+ side = "bottom",
59
+ sideOffset = 4,
60
+ align = "center",
61
+ alignOffset = 0,
62
+ alignItemWithTrigger = true,
63
+ ...props
64
+ }) {
65
+ return /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsx(
66
+ Select$1.Positioner,
67
+ {
68
+ side,
69
+ sideOffset,
70
+ align,
71
+ alignOffset,
72
+ alignItemWithTrigger,
73
+ className: "isolate z-50",
74
+ children: /* @__PURE__ */ jsxs(
75
+ Select$1.Popup,
76
+ {
77
+ "data-slot": "select-content",
78
+ "data-align-trigger": alignItemWithTrigger,
79
+ className: cn("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
80
+ ...props,
81
+ children: [
82
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
83
+ /* @__PURE__ */ jsx(Select$1.List, { children }),
84
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
85
+ ]
86
+ }
87
+ )
88
+ }
89
+ ) });
90
+ }
91
+ function SelectLabel({
92
+ className,
93
+ ...props
94
+ }) {
95
+ return /* @__PURE__ */ jsx(
96
+ Select$1.GroupLabel,
97
+ {
98
+ "data-slot": "select-label",
99
+ className: cn("px-1.5 py-1 text-xs text-muted-foreground", className),
100
+ ...props
101
+ }
102
+ );
103
+ }
104
+ function SelectItem({
105
+ className,
106
+ children,
107
+ ...props
108
+ }) {
109
+ return /* @__PURE__ */ jsxs(
110
+ Select$1.Item,
111
+ {
112
+ "data-slot": "select-item",
113
+ className: cn(
114
+ "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 focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground 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",
115
+ className
116
+ ),
117
+ ...props,
118
+ children: [
119
+ /* @__PURE__ */ jsx(Select$1.ItemText, { className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap", children }),
120
+ /* @__PURE__ */ jsx(
121
+ Select$1.ItemIndicator,
122
+ {
123
+ render: /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
124
+ children: /* @__PURE__ */ jsx(CheckIcon, { className: "pointer-events-none" })
125
+ }
126
+ )
127
+ ]
128
+ }
129
+ );
130
+ }
131
+ function SelectSeparator({
132
+ className,
133
+ ...props
134
+ }) {
135
+ return /* @__PURE__ */ jsx(
136
+ Select$1.Separator,
137
+ {
138
+ "data-slot": "select-separator",
139
+ className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
140
+ ...props
141
+ }
142
+ );
143
+ }
144
+ function SelectScrollUpButton({
145
+ className,
146
+ ...props
147
+ }) {
148
+ return /* @__PURE__ */ jsx(
149
+ Select$1.ScrollUpArrow,
150
+ {
151
+ "data-slot": "select-scroll-up-button",
152
+ className: cn(
153
+ "top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
154
+ className
155
+ ),
156
+ ...props,
157
+ children: /* @__PURE__ */ jsx(
158
+ ChevronUpIcon,
159
+ {}
160
+ )
161
+ }
162
+ );
163
+ }
164
+ function SelectScrollDownButton({
165
+ className,
166
+ ...props
167
+ }) {
168
+ return /* @__PURE__ */ jsx(
169
+ Select$1.ScrollDownArrow,
170
+ {
171
+ "data-slot": "select-scroll-down-button",
172
+ className: cn(
173
+ "bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
174
+ className
175
+ ),
176
+ ...props,
177
+ children: /* @__PURE__ */ jsx(
178
+ ChevronDownIcon,
179
+ {}
180
+ )
181
+ }
182
+ );
183
+ }
184
+
185
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };