@prototyperco/ui 0.5.0-alpha.0 → 0.5.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 (349) hide show
  1. package/dist/components/accordion.cjs +154 -0
  2. package/dist/components/accordion.cjs.map +1 -0
  3. package/dist/components/accordion.d.cts +14 -0
  4. package/dist/components/accordion.d.ts +14 -0
  5. package/dist/components/accordion.js +127 -0
  6. package/dist/components/accordion.js.map +1 -0
  7. package/dist/components/alert-dialog.cjs +324 -0
  8. package/dist/components/alert-dialog.cjs.map +1 -0
  9. package/dist/components/alert-dialog.d.cts +30 -0
  10. package/dist/components/alert-dialog.d.ts +30 -0
  11. package/dist/components/alert-dialog.js +289 -0
  12. package/dist/components/alert-dialog.js.map +1 -0
  13. package/dist/components/alert.cjs +105 -0
  14. package/dist/components/alert.cjs.map +1 -0
  15. package/dist/components/alert.d.cts +17 -0
  16. package/dist/components/alert.d.ts +17 -0
  17. package/dist/components/alert.js +78 -0
  18. package/dist/components/alert.js.map +1 -0
  19. package/dist/components/autocomplete.cjs +512 -0
  20. package/dist/components/autocomplete.cjs.map +1 -0
  21. package/dist/components/autocomplete.d.cts +31 -0
  22. package/dist/components/autocomplete.d.ts +31 -0
  23. package/dist/components/autocomplete.js +472 -0
  24. package/dist/components/autocomplete.js.map +1 -0
  25. package/dist/components/avatar.cjs +144 -0
  26. package/dist/components/avatar.cjs.map +1 -0
  27. package/dist/components/avatar.d.cts +18 -0
  28. package/dist/components/avatar.d.ts +18 -0
  29. package/dist/components/avatar.js +115 -0
  30. package/dist/components/avatar.js.map +1 -0
  31. package/dist/components/badge.cjs +81 -0
  32. package/dist/components/badge.cjs.map +1 -0
  33. package/dist/components/badge.d.cts +13 -0
  34. package/dist/components/badge.d.ts +13 -0
  35. package/dist/components/badge.js +56 -0
  36. package/dist/components/badge.js.map +1 -0
  37. package/dist/components/breadcrumb.cjs +142 -0
  38. package/dist/components/breadcrumb.cjs.map +1 -0
  39. package/dist/components/breadcrumb.d.cts +20 -0
  40. package/dist/components/breadcrumb.d.ts +20 -0
  41. package/dist/components/breadcrumb.js +112 -0
  42. package/dist/components/breadcrumb.js.map +1 -0
  43. package/dist/components/button.cjs +145 -0
  44. package/dist/components/button.cjs.map +1 -0
  45. package/dist/components/button.d.cts +16 -0
  46. package/dist/components/button.d.ts +16 -0
  47. package/dist/components/button.js +120 -0
  48. package/dist/components/button.js.map +1 -0
  49. package/dist/components/card.cjs +141 -0
  50. package/dist/components/card.cjs.map +1 -0
  51. package/dist/components/card.d.cts +23 -0
  52. package/dist/components/card.d.ts +23 -0
  53. package/dist/components/card.js +111 -0
  54. package/dist/components/card.js.map +1 -0
  55. package/dist/components/checkbox-group.cjs +56 -0
  56. package/dist/components/checkbox-group.cjs.map +1 -0
  57. package/dist/components/checkbox-group.d.cts +8 -0
  58. package/dist/components/checkbox-group.d.ts +8 -0
  59. package/dist/components/checkbox-group.js +32 -0
  60. package/dist/components/checkbox-group.js.map +1 -0
  61. package/dist/components/checkbox.cjs +152 -0
  62. package/dist/components/checkbox.cjs.map +1 -0
  63. package/dist/components/checkbox.d.cts +12 -0
  64. package/dist/components/checkbox.d.ts +12 -0
  65. package/dist/components/checkbox.js +126 -0
  66. package/dist/components/checkbox.js.map +1 -0
  67. package/dist/components/collapsible.cjs +89 -0
  68. package/dist/components/collapsible.cjs.map +1 -0
  69. package/dist/components/collapsible.d.cts +12 -0
  70. package/dist/components/collapsible.d.ts +12 -0
  71. package/dist/components/collapsible.js +63 -0
  72. package/dist/components/collapsible.js.map +1 -0
  73. package/dist/components/color-picker.cjs +983 -0
  74. package/dist/components/color-picker.cjs.map +1 -0
  75. package/dist/components/color-picker.d.cts +41 -0
  76. package/dist/components/color-picker.d.ts +41 -0
  77. package/dist/components/color-picker.js +939 -0
  78. package/dist/components/color-picker.js.map +1 -0
  79. package/dist/components/columns.cjs +163 -0
  80. package/dist/components/columns.cjs.map +1 -0
  81. package/dist/components/columns.d.cts +16 -0
  82. package/dist/components/columns.d.ts +16 -0
  83. package/dist/components/columns.js +136 -0
  84. package/dist/components/columns.js.map +1 -0
  85. package/dist/components/combobox.cjs +633 -0
  86. package/dist/components/combobox.cjs.map +1 -0
  87. package/dist/components/combobox.d.cts +40 -0
  88. package/dist/components/combobox.d.ts +40 -0
  89. package/dist/components/combobox.js +576 -0
  90. package/dist/components/combobox.js.map +1 -0
  91. package/dist/components/command-palette.cjs +370 -0
  92. package/dist/components/command-palette.cjs.map +1 -0
  93. package/dist/components/command-palette.d.cts +42 -0
  94. package/dist/components/command-palette.d.ts +42 -0
  95. package/dist/components/command-palette.js +329 -0
  96. package/dist/components/command-palette.js.map +1 -0
  97. package/dist/components/container.cjs +80 -0
  98. package/dist/components/container.cjs.map +1 -0
  99. package/dist/components/container.d.cts +27 -0
  100. package/dist/components/container.d.ts +27 -0
  101. package/dist/components/container.js +54 -0
  102. package/dist/components/container.js.map +1 -0
  103. package/dist/components/context-menu.cjs +309 -0
  104. package/dist/components/context-menu.cjs.map +1 -0
  105. package/dist/components/context-menu.d.cts +37 -0
  106. package/dist/components/context-menu.d.ts +37 -0
  107. package/dist/components/context-menu.js +271 -0
  108. package/dist/components/context-menu.js.map +1 -0
  109. package/dist/components/dialog.cjs +319 -0
  110. package/dist/components/dialog.cjs.map +1 -0
  111. package/dist/components/dialog.d.cts +32 -0
  112. package/dist/components/dialog.d.ts +32 -0
  113. package/dist/components/dialog.js +285 -0
  114. package/dist/components/dialog.js.map +1 -0
  115. package/dist/components/drawer.cjs +185 -0
  116. package/dist/components/drawer.cjs.map +1 -0
  117. package/dist/components/drawer.d.cts +32 -0
  118. package/dist/components/drawer.d.ts +32 -0
  119. package/dist/components/drawer.js +151 -0
  120. package/dist/components/drawer.js.map +1 -0
  121. package/dist/components/field.cjs +334 -0
  122. package/dist/components/field.cjs.map +1 -0
  123. package/dist/components/field.d.cts +39 -0
  124. package/dist/components/field.d.ts +39 -0
  125. package/dist/components/field.js +299 -0
  126. package/dist/components/field.js.map +1 -0
  127. package/dist/components/fieldset.cjs +75 -0
  128. package/dist/components/fieldset.cjs.map +1 -0
  129. package/dist/components/fieldset.d.cts +12 -0
  130. package/dist/components/fieldset.d.ts +12 -0
  131. package/dist/components/fieldset.js +50 -0
  132. package/dist/components/fieldset.js.map +1 -0
  133. package/dist/components/form.cjs +52 -0
  134. package/dist/components/form.cjs.map +1 -0
  135. package/dist/components/form.d.cts +8 -0
  136. package/dist/components/form.d.ts +8 -0
  137. package/dist/components/form.js +28 -0
  138. package/dist/components/form.js.map +1 -0
  139. package/dist/components/input-group.cjs +338 -0
  140. package/dist/components/input-group.cjs.map +1 -0
  141. package/dist/components/input-group.d.cts +27 -0
  142. package/dist/components/input-group.d.ts +27 -0
  143. package/dist/components/input-group.js +307 -0
  144. package/dist/components/input-group.js.map +1 -0
  145. package/dist/components/input.cjs +63 -0
  146. package/dist/components/input.cjs.map +1 -0
  147. package/dist/components/input.d.cts +8 -0
  148. package/dist/components/input.d.ts +8 -0
  149. package/dist/components/input.js +39 -0
  150. package/dist/components/input.js.map +1 -0
  151. package/dist/components/label.cjs +54 -0
  152. package/dist/components/label.cjs.map +1 -0
  153. package/dist/components/label.d.cts +8 -0
  154. package/dist/components/label.d.ts +8 -0
  155. package/dist/components/label.js +28 -0
  156. package/dist/components/label.js.map +1 -0
  157. package/dist/components/menu.cjs +305 -0
  158. package/dist/components/menu.cjs.map +1 -0
  159. package/dist/components/menu.d.cts +37 -0
  160. package/dist/components/menu.d.ts +37 -0
  161. package/dist/components/menu.js +267 -0
  162. package/dist/components/menu.js.map +1 -0
  163. package/dist/components/menubar.cjs +503 -0
  164. package/dist/components/menubar.cjs.map +1 -0
  165. package/dist/components/menubar.d.cts +37 -0
  166. package/dist/components/menubar.d.ts +37 -0
  167. package/dist/components/menubar.js +464 -0
  168. package/dist/components/menubar.js.map +1 -0
  169. package/dist/components/meter.cjs +152 -0
  170. package/dist/components/meter.cjs.map +1 -0
  171. package/dist/components/meter.d.cts +23 -0
  172. package/dist/components/meter.d.ts +23 -0
  173. package/dist/components/meter.js +122 -0
  174. package/dist/components/meter.js.map +1 -0
  175. package/dist/components/navigation-menu.cjs +315 -0
  176. package/dist/components/navigation-menu.cjs.map +1 -0
  177. package/dist/components/navigation-menu.d.cts +22 -0
  178. package/dist/components/navigation-menu.d.ts +22 -0
  179. package/dist/components/navigation-menu.js +283 -0
  180. package/dist/components/navigation-menu.js.map +1 -0
  181. package/dist/components/number-field.cjs +217 -0
  182. package/dist/components/number-field.cjs.map +1 -0
  183. package/dist/components/number-field.d.cts +23 -0
  184. package/dist/components/number-field.d.ts +23 -0
  185. package/dist/components/number-field.js +185 -0
  186. package/dist/components/number-field.js.map +1 -0
  187. package/dist/components/popover.cjs +125 -0
  188. package/dist/components/popover.cjs.map +1 -0
  189. package/dist/components/popover.d.cts +16 -0
  190. package/dist/components/popover.d.ts +16 -0
  191. package/dist/components/popover.js +96 -0
  192. package/dist/components/popover.js.map +1 -0
  193. package/dist/components/preview-card.cjs +86 -0
  194. package/dist/components/preview-card.cjs.map +1 -0
  195. package/dist/components/preview-card.d.cts +12 -0
  196. package/dist/components/preview-card.d.ts +12 -0
  197. package/dist/components/preview-card.js +60 -0
  198. package/dist/components/preview-card.js.map +1 -0
  199. package/dist/components/progress.cjs +167 -0
  200. package/dist/components/progress.cjs.map +1 -0
  201. package/dist/components/progress.d.cts +23 -0
  202. package/dist/components/progress.d.ts +23 -0
  203. package/dist/components/progress.js +137 -0
  204. package/dist/components/progress.js.map +1 -0
  205. package/dist/components/radio-group.cjs +98 -0
  206. package/dist/components/radio-group.cjs.map +1 -0
  207. package/dist/components/radio-group.d.cts +11 -0
  208. package/dist/components/radio-group.d.ts +11 -0
  209. package/dist/components/radio-group.js +73 -0
  210. package/dist/components/radio-group.js.map +1 -0
  211. package/dist/components/resizable-panel.cjs +91 -0
  212. package/dist/components/resizable-panel.cjs.map +1 -0
  213. package/dist/components/resizable-panel.d.cts +14 -0
  214. package/dist/components/resizable-panel.d.ts +14 -0
  215. package/dist/components/resizable-panel.js +69 -0
  216. package/dist/components/resizable-panel.js.map +1 -0
  217. package/dist/components/row.cjs +94 -0
  218. package/dist/components/row.cjs.map +1 -0
  219. package/dist/components/row.d.cts +27 -0
  220. package/dist/components/row.d.ts +27 -0
  221. package/dist/components/row.js +68 -0
  222. package/dist/components/row.js.map +1 -0
  223. package/dist/components/scroll-area.cjs +96 -0
  224. package/dist/components/scroll-area.cjs.map +1 -0
  225. package/dist/components/scroll-area.d.cts +10 -0
  226. package/dist/components/scroll-area.d.ts +10 -0
  227. package/dist/components/scroll-area.js +71 -0
  228. package/dist/components/scroll-area.js.map +1 -0
  229. package/dist/components/section.cjs +104 -0
  230. package/dist/components/section.cjs.map +1 -0
  231. package/dist/components/section.d.cts +26 -0
  232. package/dist/components/section.d.ts +26 -0
  233. package/dist/components/section.js +79 -0
  234. package/dist/components/section.js.map +1 -0
  235. package/dist/components/segmented-control.cjs +117 -0
  236. package/dist/components/segmented-control.cjs.map +1 -0
  237. package/dist/components/segmented-control.d.cts +16 -0
  238. package/dist/components/segmented-control.d.ts +16 -0
  239. package/dist/components/segmented-control.js +91 -0
  240. package/dist/components/segmented-control.js.map +1 -0
  241. package/dist/components/select.cjs +273 -0
  242. package/dist/components/select.cjs.map +1 -0
  243. package/dist/components/select.d.cts +26 -0
  244. package/dist/components/select.d.ts +26 -0
  245. package/dist/components/select.js +239 -0
  246. package/dist/components/select.js.map +1 -0
  247. package/dist/components/separator.cjs +60 -0
  248. package/dist/components/separator.cjs.map +1 -0
  249. package/dist/components/separator.d.cts +8 -0
  250. package/dist/components/separator.d.ts +8 -0
  251. package/dist/components/separator.js +36 -0
  252. package/dist/components/separator.js.map +1 -0
  253. package/dist/components/skeleton.cjs +54 -0
  254. package/dist/components/skeleton.cjs.map +1 -0
  255. package/dist/components/skeleton.d.cts +8 -0
  256. package/dist/components/skeleton.d.ts +8 -0
  257. package/dist/components/skeleton.js +28 -0
  258. package/dist/components/skeleton.js.map +1 -0
  259. package/dist/components/slider.cjs +221 -0
  260. package/dist/components/slider.cjs.map +1 -0
  261. package/dist/components/slider.d.cts +16 -0
  262. package/dist/components/slider.d.ts +16 -0
  263. package/dist/components/slider.js +182 -0
  264. package/dist/components/slider.js.map +1 -0
  265. package/dist/components/spinner.cjs +97 -0
  266. package/dist/components/spinner.cjs.map +1 -0
  267. package/dist/components/spinner.d.cts +13 -0
  268. package/dist/components/spinner.d.ts +13 -0
  269. package/dist/components/spinner.js +72 -0
  270. package/dist/components/spinner.js.map +1 -0
  271. package/dist/components/switch.cjs +177 -0
  272. package/dist/components/switch.cjs.map +1 -0
  273. package/dist/components/switch.d.cts +22 -0
  274. package/dist/components/switch.d.ts +22 -0
  275. package/dist/components/switch.js +139 -0
  276. package/dist/components/switch.js.map +1 -0
  277. package/dist/components/tabs.cjs +123 -0
  278. package/dist/components/tabs.cjs.map +1 -0
  279. package/dist/components/tabs.d.cts +19 -0
  280. package/dist/components/tabs.d.ts +19 -0
  281. package/dist/components/tabs.js +95 -0
  282. package/dist/components/tabs.js.map +1 -0
  283. package/dist/components/text-field.cjs +290 -0
  284. package/dist/components/text-field.cjs.map +1 -0
  285. package/dist/components/text-field.d.cts +27 -0
  286. package/dist/components/text-field.d.ts +27 -0
  287. package/dist/components/text-field.js +262 -0
  288. package/dist/components/text-field.js.map +1 -0
  289. package/dist/components/textarea.cjs +60 -0
  290. package/dist/components/textarea.cjs.map +1 -0
  291. package/dist/components/textarea.d.cts +8 -0
  292. package/dist/components/textarea.d.ts +8 -0
  293. package/dist/components/textarea.js +34 -0
  294. package/dist/components/textarea.js.map +1 -0
  295. package/dist/components/toast.cjs +167 -0
  296. package/dist/components/toast.cjs.map +1 -0
  297. package/dist/components/toast.d.cts +28 -0
  298. package/dist/components/toast.d.ts +28 -0
  299. package/dist/components/toast.js +147 -0
  300. package/dist/components/toast.js.map +1 -0
  301. package/dist/components/toggle-group.cjs +171 -0
  302. package/dist/components/toggle-group.cjs.map +1 -0
  303. package/dist/components/toggle-group.d.cts +18 -0
  304. package/dist/components/toggle-group.d.ts +18 -0
  305. package/dist/components/toggle-group.js +136 -0
  306. package/dist/components/toggle-group.js.map +1 -0
  307. package/dist/components/toggle.cjs +92 -0
  308. package/dist/components/toggle.cjs.map +1 -0
  309. package/dist/components/toggle.d.cts +14 -0
  310. package/dist/components/toggle.d.ts +14 -0
  311. package/dist/components/toggle.js +67 -0
  312. package/dist/components/toggle.js.map +1 -0
  313. package/dist/components/toolbar.cjs +160 -0
  314. package/dist/components/toolbar.cjs.map +1 -0
  315. package/dist/components/toolbar.d.cts +14 -0
  316. package/dist/components/toolbar.d.ts +14 -0
  317. package/dist/components/toolbar.js +131 -0
  318. package/dist/components/toolbar.js.map +1 -0
  319. package/dist/components/tooltip.cjs +116 -0
  320. package/dist/components/tooltip.cjs.map +1 -0
  321. package/dist/components/tooltip.d.cts +13 -0
  322. package/dist/components/tooltip.d.ts +13 -0
  323. package/dist/components/tooltip.js +89 -0
  324. package/dist/components/tooltip.js.map +1 -0
  325. package/dist/components/tree-view.cjs +472 -0
  326. package/dist/components/tree-view.cjs.map +1 -0
  327. package/dist/components/tree-view.d.cts +33 -0
  328. package/dist/components/tree-view.d.ts +33 -0
  329. package/dist/components/tree-view.js +435 -0
  330. package/dist/components/tree-view.js.map +1 -0
  331. package/dist/index.cjs +11 -14
  332. package/dist/index.cjs.map +1 -1
  333. package/dist/index.d.cts +101 -903
  334. package/dist/index.d.ts +101 -903
  335. package/dist/index.js +4 -6
  336. package/dist/index.js.map +1 -1
  337. package/dist/lib/color-utils.cjs +315 -0
  338. package/dist/lib/color-utils.cjs.map +1 -0
  339. package/dist/lib/color-utils.d.cts +24 -0
  340. package/dist/lib/color-utils.d.ts +24 -0
  341. package/dist/lib/color-utils.js +280 -0
  342. package/dist/lib/color-utils.js.map +1 -0
  343. package/dist/lib/utils.cjs +35 -0
  344. package/dist/lib/utils.cjs.map +1 -0
  345. package/dist/lib/utils.d.cts +5 -0
  346. package/dist/lib/utils.d.ts +5 -0
  347. package/dist/lib/utils.js +10 -0
  348. package/dist/lib/utils.js.map +1 -0
  349. package/package.json +24 -5
@@ -0,0 +1,78 @@
1
+ "use client";
2
+
3
+ // src/components/alert.tsx
4
+ import { cva } from "class-variance-authority";
5
+
6
+ // src/lib/utils.ts
7
+ import { clsx } from "clsx";
8
+ import { twMerge } from "tailwind-merge";
9
+ function cn(...inputs) {
10
+ return twMerge(clsx(inputs));
11
+ }
12
+
13
+ // src/components/alert.tsx
14
+ import { jsx } from "react/jsx-runtime";
15
+ var alertVariants = cva(
16
+ [
17
+ "relative flex w-full gap-3 rounded-lg border p-4 text-sm",
18
+ "[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5"
19
+ ],
20
+ {
21
+ variants: {
22
+ variant: {
23
+ default: "bg-background text-foreground border-border",
24
+ destructive: "bg-destructive/5 text-destructive border-destructive/20 [&>svg]:text-destructive",
25
+ success: "bg-success/5 text-success border-success/20 [&>svg]:text-success",
26
+ warning: "bg-warning/5 text-warning border-warning/20 [&>svg]:text-warning"
27
+ }
28
+ },
29
+ defaultVariants: {
30
+ variant: "default"
31
+ }
32
+ }
33
+ );
34
+ function Alert({
35
+ className,
36
+ variant,
37
+ ...props
38
+ }) {
39
+ return /* @__PURE__ */ jsx(
40
+ "div",
41
+ {
42
+ "data-slot": "alert",
43
+ role: "alert",
44
+ className: cn(alertVariants({ variant }), className),
45
+ ...props
46
+ }
47
+ );
48
+ }
49
+ function AlertTitle({ className, ...props }) {
50
+ return /* @__PURE__ */ jsx(
51
+ "h5",
52
+ {
53
+ "data-slot": "alert-title",
54
+ className: cn("font-medium leading-none tracking-tight", className),
55
+ ...props
56
+ }
57
+ );
58
+ }
59
+ function AlertDescription({
60
+ className,
61
+ ...props
62
+ }) {
63
+ return /* @__PURE__ */ jsx(
64
+ "div",
65
+ {
66
+ "data-slot": "alert-description",
67
+ className: cn("text-sm [&_p]:leading-relaxed", className),
68
+ ...props
69
+ }
70
+ );
71
+ }
72
+ export {
73
+ Alert,
74
+ AlertDescription,
75
+ AlertTitle,
76
+ alertVariants
77
+ };
78
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/alert.tsx","../../src/lib/utils.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst alertVariants = cva(\n [\n \"relative flex w-full gap-3 rounded-lg border p-4 text-sm\",\n \"[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5\",\n ],\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground border-border\",\n destructive:\n \"bg-destructive/5 text-destructive border-destructive/20 [&>svg]:text-destructive\",\n success:\n \"bg-success/5 text-success border-success/20 [&>svg]:text-success\",\n warning:\n \"bg-warning/5 text-warning border-warning/20 [&>svg]:text-warning\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"h5\">) {\n return (\n <h5\n data-slot=\"alert-title\"\n className={cn(\"font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, alertVariants };\n\nexport type AlertProps = React.ComponentProps<typeof Alert>;\nexport type AlertTitleProps = React.ComponentProps<typeof AlertTitle>;\nexport type AlertDescriptionProps = React.ComponentProps<\n typeof AlertDescription\n>;\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;AAGA,SAAS,WAA8B;;;ACHvC,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;AD+BI;AA7BJ,IAAM,gBAAgB;AAAA,EACpB;AAAA,IACE;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,QACF,SACE;AAAA,QACF,SACE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEA,SAAS,MAAM;AAAA,EACb;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqE;AACnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,MAClD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAA+B;AACvE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,2CAA2C,SAAS;AAAA,MACjE,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,512 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/components/autocomplete.tsx
22
+ var autocomplete_exports = {};
23
+ __export(autocomplete_exports, {
24
+ Autocomplete: () => Autocomplete,
25
+ AutocompleteArrow: () => AutocompleteArrow,
26
+ AutocompleteBackdrop: () => AutocompleteBackdrop,
27
+ AutocompleteCollection: () => AutocompleteCollection,
28
+ AutocompleteContent: () => AutocompleteContent,
29
+ AutocompleteEmpty: () => AutocompleteEmpty,
30
+ AutocompleteGroup: () => AutocompleteGroup,
31
+ AutocompleteGroupLabel: () => AutocompleteGroupLabel,
32
+ AutocompleteIcon: () => AutocompleteIcon,
33
+ AutocompleteInput: () => AutocompleteInput,
34
+ AutocompleteItem: () => AutocompleteItem,
35
+ AutocompleteList: () => AutocompleteList,
36
+ AutocompleteSeparator: () => AutocompleteSeparator,
37
+ AutocompleteStatus: () => AutocompleteStatus,
38
+ AutocompleteTrigger: () => AutocompleteTrigger,
39
+ AutocompleteValue: () => AutocompleteValue,
40
+ useAutocompleteFilter: () => useAutocompleteFilter
41
+ });
42
+ module.exports = __toCommonJS(autocomplete_exports);
43
+ var import_autocomplete = require("@base-ui/react/autocomplete");
44
+ var import_lucide_react = require("lucide-react");
45
+
46
+ // src/lib/utils.ts
47
+ var import_clsx = require("clsx");
48
+ var import_tailwind_merge = require("tailwind-merge");
49
+ function cn(...inputs) {
50
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
51
+ }
52
+
53
+ // src/components/input-group.tsx
54
+ var import_class_variance_authority2 = require("class-variance-authority");
55
+
56
+ // src/components/button.tsx
57
+ var import_button = require("@base-ui/react/button");
58
+ var import_class_variance_authority = require("class-variance-authority");
59
+ var import_jsx_runtime = require("react/jsx-runtime");
60
+ var buttonVariants = (0, import_class_variance_authority.cva)(
61
+ [
62
+ "inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium",
63
+ "transform-gpu transition-[color,background-color,border-color,box-shadow,opacity,transform] duration-150 ease-smooth",
64
+ "motion-reduce:transition-none",
65
+ "disabled:status-disabled",
66
+ "focus-visible:focus-ring",
67
+ "[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
68
+ "shrink-0 group/button select-none no-highlight"
69
+ ],
70
+ {
71
+ variants: {
72
+ variant: {
73
+ default: [
74
+ // Base styles
75
+ "relative rounded-lg overflow-visible shadow-surface border border-primary dark:border-primary-dark",
76
+ "isolate text-primary-foreground [text-shadow:_0_1px_2px_oklch(0%_0_0_/_30%)]",
77
+ "[&>*]:relative [&>*]:z-[2]",
78
+ // Combined gradient layer with primary colors
79
+ "before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]",
80
+ "before:bg-gradient-to-br before:from-primary-light before:via-primary-middle before:to-primary-dark",
81
+ "before:dark:from-primary-light before:dark:via-primary-middle before:dark:to-primary-dark",
82
+ "before:z-[-1]",
83
+ // Additional outer border
84
+ "after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]",
85
+ "after:bg-gradient-to-br after:from-primary after:to-primary-dark",
86
+ "after:z-[-1] after:transition-opacity after:duration-200 after:opacity-40 after:motion-reduce:transition-none",
87
+ // Hover state
88
+ "hover-only:after:opacity-100 hover-only:transition-opacity hover-only:duration-200"
89
+ ].join(" "),
90
+ destructive: "bg-destructive text-destructive-foreground hover-only:hover:bg-destructive-hover",
91
+ outline: [
92
+ // Base styles
93
+ "relative rounded-lg overflow-visible shadow-field border",
94
+ "isolate text-foreground",
95
+ "[&>*]:relative [&>*]:z-[2]",
96
+ // Background layer
97
+ "before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]",
98
+ "before:bg-gradient-to-br before:from-border-light before:via-border before:to-border-dark/50",
99
+ "before:dark:from-border-light before:dark:to-border-dark",
100
+ "before:z-[-1]",
101
+ // Inner background layer
102
+ "after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]",
103
+ "after:bg-background",
104
+ "after:z-[-1]",
105
+ "after:transition-colors after:duration-200 after:ease-out after:motion-reduce:transition-none",
106
+ // Hover state
107
+ "hover-only:after:bg-muted"
108
+ ].join(" "),
109
+ secondary: "bg-secondary text-secondary-foreground hover-only:hover:bg-accent",
110
+ ghost: "hover-only:bg-accent hover-only:text-accent-foreground motion-safe:active:scale-100",
111
+ "primary-soft": "bg-primary-soft text-primary hover-only:hover:bg-primary-soft-hover",
112
+ "destructive-soft": "bg-destructive-soft text-destructive hover-only:hover:bg-destructive-soft-hover",
113
+ success: "bg-success text-success-foreground hover-only:hover:bg-success-hover",
114
+ warning: "bg-warning text-warning-foreground hover-only:hover:bg-warning-hover",
115
+ link: "dark:text-primary-light text-primary-dark underline-offset-4 hover-only:underline motion-safe:active:scale-100"
116
+ },
117
+ size: {
118
+ default: "h-9 gap-2 px-4 py-1 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 motion-safe:active:scale-[0.97]",
119
+ xs: "h-6 gap-1 rounded-lg px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3 motion-safe:active:scale-[0.985]",
120
+ sm: "h-8 gap-1.5 rounded-lg px-3 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 motion-safe:active:scale-[0.98]",
121
+ lg: "h-10 gap-2 rounded-lg px-8 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3 motion-safe:active:scale-[0.96]",
122
+ icon: "size-9 motion-safe:active:scale-[0.97]",
123
+ "icon-xs": "size-6 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.985]",
124
+ "icon-sm": "size-8 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.98]",
125
+ "icon-lg": "size-10 motion-safe:active:scale-[0.96]"
126
+ }
127
+ },
128
+ defaultVariants: {
129
+ variant: "default",
130
+ size: "default"
131
+ }
132
+ }
133
+ );
134
+ function Button({
135
+ className,
136
+ variant = "default",
137
+ size = "default",
138
+ isPending,
139
+ nativeButton,
140
+ render,
141
+ ...props
142
+ }) {
143
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
144
+ import_button.Button,
145
+ {
146
+ "data-slot": "button",
147
+ "data-pending": isPending || void 0,
148
+ "aria-disabled": isPending || void 0,
149
+ nativeButton: nativeButton ?? (render ? false : void 0),
150
+ render,
151
+ className: cn(
152
+ buttonVariants({ variant, size }),
153
+ isPending && "status-pending",
154
+ className
155
+ ),
156
+ ...props
157
+ }
158
+ );
159
+ }
160
+
161
+ // src/components/input-group.tsx
162
+ var import_jsx_runtime2 = require("react/jsx-runtime");
163
+ function InputGroup({ className, ...props }) {
164
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
165
+ "div",
166
+ {
167
+ "data-slot": "input-group",
168
+ role: "group",
169
+ className: cn(
170
+ "border-field-border bg-field-background hover-only:hover:border-field-border-hover has-[[data-slot=input-group-control]:focus-visible]:focus-field-ring has-[[data-slot][aria-invalid=true]]:border-field-border-invalid has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:invalid-field-ring h-9 rounded-md border shadow-field transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth motion-reduce:transition-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto",
171
+ className
172
+ ),
173
+ ...props
174
+ }
175
+ );
176
+ }
177
+ var inputGroupAddonVariants = (0, import_class_variance_authority2.cva)(
178
+ "text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none",
179
+ {
180
+ variants: {
181
+ align: {
182
+ "inline-start": "pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem] order-first",
183
+ "inline-end": "pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem] order-last",
184
+ "block-start": "px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start",
185
+ "block-end": "px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start"
186
+ }
187
+ },
188
+ defaultVariants: {
189
+ align: "inline-start"
190
+ }
191
+ }
192
+ );
193
+ function InputGroupAddon({
194
+ className,
195
+ align = "inline-start",
196
+ ...props
197
+ }) {
198
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
199
+ "div",
200
+ {
201
+ role: "group",
202
+ "data-slot": "input-group-addon",
203
+ "data-align": align,
204
+ className: cn(inputGroupAddonVariants({ align }), className),
205
+ onClick: (e) => {
206
+ if (e.target.closest("button")) {
207
+ return;
208
+ }
209
+ e.currentTarget.parentElement?.querySelector("input")?.focus();
210
+ },
211
+ ...props
212
+ }
213
+ );
214
+ }
215
+ var inputGroupButtonVariants = (0, import_class_variance_authority2.cva)(
216
+ "gap-2 text-sm shadow-none flex items-center",
217
+ {
218
+ variants: {
219
+ size: {
220
+ xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
221
+ sm: "",
222
+ "icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
223
+ "icon-sm": "size-8 p-0 has-[>svg]:p-0"
224
+ }
225
+ },
226
+ defaultVariants: {
227
+ size: "xs"
228
+ }
229
+ }
230
+ );
231
+ function InputGroupButton({
232
+ className,
233
+ type = "button",
234
+ variant = "ghost",
235
+ size = "xs",
236
+ ...props
237
+ }) {
238
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
239
+ Button,
240
+ {
241
+ type,
242
+ "data-size": size,
243
+ variant,
244
+ className: cn(inputGroupButtonVariants({ size }), className),
245
+ ...props
246
+ }
247
+ );
248
+ }
249
+
250
+ // src/components/autocomplete.tsx
251
+ var import_jsx_runtime3 = require("react/jsx-runtime");
252
+ function Autocomplete({ ...props }) {
253
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_autocomplete.Autocomplete.Root, { ...props });
254
+ }
255
+ function AutocompleteInput({
256
+ className,
257
+ showTrigger = false,
258
+ children,
259
+ ...props
260
+ }) {
261
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(InputGroup, { className: "no-highlight transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth motion-reduce:transition-none hover-only:border-field-border-hover data-[invalid]:border-field-border-invalid", children: [
262
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
263
+ import_autocomplete.Autocomplete.Input,
264
+ {
265
+ "data-slot": "input-group-control",
266
+ className: cn(
267
+ "flex-1 rounded-none border-0 bg-transparent px-3 py-2 text-sm shadow-none outline-none",
268
+ "placeholder:text-muted-foreground",
269
+ "focus-visible:ring-0",
270
+ "data-disabled:status-disabled",
271
+ className
272
+ ),
273
+ ...props
274
+ }
275
+ ),
276
+ showTrigger && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(InputGroupAddon, { align: "inline-end", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AutocompleteTrigger, {}) }),
277
+ children
278
+ ] });
279
+ }
280
+ function AutocompleteTrigger({
281
+ className,
282
+ children,
283
+ ...props
284
+ }) {
285
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
286
+ import_autocomplete.Autocomplete.Trigger,
287
+ {
288
+ "data-slot": "autocomplete-trigger",
289
+ "aria-label": "Toggle options",
290
+ ...props,
291
+ render: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
292
+ InputGroupButton,
293
+ {
294
+ variant: "ghost",
295
+ size: "icon-xs",
296
+ className: cn("group", className)
297
+ }
298
+ ),
299
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react.ChevronDownIcon, { className: "size-3.5 transition-transform duration-150 ease-smooth group-data-[open]:rotate-180 motion-reduce:transition-none" })
300
+ }
301
+ );
302
+ }
303
+ function AutocompleteValue({ ...props }) {
304
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_autocomplete.Autocomplete.Value, { "data-slot": "autocomplete-value", ...props });
305
+ }
306
+ function AutocompleteContent({
307
+ className,
308
+ side = "bottom",
309
+ sideOffset = 4,
310
+ align = "start",
311
+ alignOffset = 0,
312
+ anchor,
313
+ ...props
314
+ }) {
315
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_autocomplete.Autocomplete.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
316
+ import_autocomplete.Autocomplete.Positioner,
317
+ {
318
+ side,
319
+ sideOffset,
320
+ align,
321
+ alignOffset,
322
+ anchor,
323
+ className: "isolate z-50",
324
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
325
+ import_autocomplete.Autocomplete.Popup,
326
+ {
327
+ "data-slot": "autocomplete-content",
328
+ className: cn(
329
+ "group/autocomplete-content",
330
+ "min-w-[8rem] overflow-hidden rounded-xl border border-border-light bg-overlay text-overlay-foreground shadow-overlay outline-none",
331
+ "data-open:animate-in data-open:duration-200 data-open:[animation-timing-function:var(--ease-out-fluid)] data-closed:animate-out data-closed:duration-100 data-closed:[animation-timing-function:var(--ease-in-quart)] data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95",
332
+ "data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform]",
333
+ "data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1",
334
+ "max-h-(--available-height) w-(--anchor-width) origin-(--transform-origin) overflow-y-auto overscroll-contain",
335
+ "motion-reduce:animate-none motion-reduce:transition-none",
336
+ className
337
+ ),
338
+ ...props
339
+ }
340
+ )
341
+ }
342
+ ) });
343
+ }
344
+ function AutocompleteList({
345
+ className,
346
+ ...props
347
+ }) {
348
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
349
+ import_autocomplete.Autocomplete.List,
350
+ {
351
+ "data-slot": "autocomplete-list",
352
+ className: cn(
353
+ "scroll-py-1 overflow-y-auto overscroll-contain p-1",
354
+ className
355
+ ),
356
+ ...props
357
+ }
358
+ );
359
+ }
360
+ function AutocompleteItem({
361
+ className,
362
+ children,
363
+ ...props
364
+ }) {
365
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
366
+ import_autocomplete.Autocomplete.Item,
367
+ {
368
+ "data-slot": "autocomplete-item",
369
+ className: cn(
370
+ "no-highlight relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 px-2 text-sm outline-none transition-colors duration-150 ease-smooth motion-reduce:transition-none",
371
+ "data-highlighted:bg-primary-soft data-highlighted:text-foreground",
372
+ "data-disabled:status-disabled",
373
+ className
374
+ ),
375
+ ...props,
376
+ children
377
+ }
378
+ );
379
+ }
380
+ function AutocompleteEmpty({
381
+ className,
382
+ ...props
383
+ }) {
384
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
385
+ import_autocomplete.Autocomplete.Empty,
386
+ {
387
+ "data-slot": "autocomplete-empty",
388
+ className: cn(
389
+ "empty:hidden py-6 text-center text-sm text-muted-foreground",
390
+ className
391
+ ),
392
+ ...props
393
+ }
394
+ );
395
+ }
396
+ function AutocompleteGroup({
397
+ className,
398
+ ...props
399
+ }) {
400
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
401
+ import_autocomplete.Autocomplete.Group,
402
+ {
403
+ "data-slot": "autocomplete-group",
404
+ className: cn("p-1", className),
405
+ ...props
406
+ }
407
+ );
408
+ }
409
+ function AutocompleteGroupLabel({
410
+ className,
411
+ ...props
412
+ }) {
413
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
414
+ import_autocomplete.Autocomplete.GroupLabel,
415
+ {
416
+ "data-slot": "autocomplete-group-label",
417
+ className: cn(
418
+ "px-2 py-1.5 text-xs font-medium text-muted-foreground",
419
+ className
420
+ ),
421
+ ...props
422
+ }
423
+ );
424
+ }
425
+ function AutocompleteSeparator({
426
+ className,
427
+ ...props
428
+ }) {
429
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
430
+ import_autocomplete.Autocomplete.Separator,
431
+ {
432
+ "data-slot": "autocomplete-separator",
433
+ className: cn("-mx-1 my-1 h-px bg-border-light", className),
434
+ ...props
435
+ }
436
+ );
437
+ }
438
+ function AutocompleteIcon({
439
+ className,
440
+ ...props
441
+ }) {
442
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
443
+ import_autocomplete.Autocomplete.Icon,
444
+ {
445
+ "data-slot": "autocomplete-icon",
446
+ className: cn("", className),
447
+ ...props
448
+ }
449
+ );
450
+ }
451
+ function AutocompleteStatus({
452
+ className,
453
+ ...props
454
+ }) {
455
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
456
+ import_autocomplete.Autocomplete.Status,
457
+ {
458
+ "data-slot": "autocomplete-status",
459
+ className: cn("sr-only", className),
460
+ ...props
461
+ }
462
+ );
463
+ }
464
+ function AutocompleteArrow({
465
+ className,
466
+ ...props
467
+ }) {
468
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
469
+ import_autocomplete.Autocomplete.Arrow,
470
+ {
471
+ "data-slot": "autocomplete-arrow",
472
+ className: cn("fill-overlay stroke-border", className),
473
+ ...props
474
+ }
475
+ );
476
+ }
477
+ function AutocompleteBackdrop({
478
+ className,
479
+ ...props
480
+ }) {
481
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
482
+ import_autocomplete.Autocomplete.Backdrop,
483
+ {
484
+ "data-slot": "autocomplete-backdrop",
485
+ className: cn("fixed inset-0 z-50", className),
486
+ ...props
487
+ }
488
+ );
489
+ }
490
+ var AutocompleteCollection = import_autocomplete.Autocomplete.Collection;
491
+ var useAutocompleteFilter = import_autocomplete.Autocomplete.useFilter;
492
+ // Annotate the CommonJS export names for ESM import in node:
493
+ 0 && (module.exports = {
494
+ Autocomplete,
495
+ AutocompleteArrow,
496
+ AutocompleteBackdrop,
497
+ AutocompleteCollection,
498
+ AutocompleteContent,
499
+ AutocompleteEmpty,
500
+ AutocompleteGroup,
501
+ AutocompleteGroupLabel,
502
+ AutocompleteIcon,
503
+ AutocompleteInput,
504
+ AutocompleteItem,
505
+ AutocompleteList,
506
+ AutocompleteSeparator,
507
+ AutocompleteStatus,
508
+ AutocompleteTrigger,
509
+ AutocompleteValue,
510
+ useAutocompleteFilter
511
+ });
512
+ //# sourceMappingURL=autocomplete.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/autocomplete.tsx","../../src/lib/utils.ts","../../src/components/input-group.tsx","../../src/components/button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Autocomplete as AutocompletePrimitive } from \"@base-ui/react/autocomplete\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { InputGroup, InputGroupAddon, InputGroupButton } from \"./input-group\";\n\nfunction Autocomplete({ ...props }: AutocompletePrimitive.Root.Props<any>) {\n return <AutocompletePrimitive.Root {...props} />;\n}\n\nfunction AutocompleteInput({\n className,\n showTrigger = false,\n children,\n ...props\n}: AutocompletePrimitive.Input.Props & {\n showTrigger?: boolean;\n}) {\n return (\n <InputGroup className=\"no-highlight transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth motion-reduce:transition-none hover-only:border-field-border-hover data-[invalid]:border-field-border-invalid\">\n <AutocompletePrimitive.Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent px-3 py-2 text-sm shadow-none outline-none\",\n \"placeholder:text-muted-foreground\",\n \"focus-visible:ring-0\",\n \"data-disabled:status-disabled\",\n className,\n )}\n {...props}\n />\n {showTrigger && (\n <InputGroupAddon align=\"inline-end\">\n <AutocompleteTrigger />\n </InputGroupAddon>\n )}\n {children}\n </InputGroup>\n );\n}\n\nfunction AutocompleteTrigger({\n className,\n children,\n ...props\n}: AutocompletePrimitive.Trigger.Props) {\n return (\n <AutocompletePrimitive.Trigger\n data-slot=\"autocomplete-trigger\"\n aria-label=\"Toggle options\"\n {...props}\n render={\n <InputGroupButton\n variant=\"ghost\"\n size=\"icon-xs\"\n className={cn(\"group\", className)}\n />\n }\n >\n {children ?? (\n <ChevronDownIcon className=\"size-3.5 transition-transform duration-150 ease-smooth group-data-[open]:rotate-180 motion-reduce:transition-none\" />\n )}\n </AutocompletePrimitive.Trigger>\n );\n}\n\nfunction AutocompleteValue({ ...props }: AutocompletePrimitive.Value.Props) {\n return (\n <AutocompletePrimitive.Value data-slot=\"autocomplete-value\" {...props} />\n );\n}\n\nfunction AutocompleteContent({\n className,\n side = \"bottom\",\n sideOffset = 4,\n align = \"start\",\n alignOffset = 0,\n anchor,\n ...props\n}: AutocompletePrimitive.Popup.Props &\n Pick<\n AutocompletePrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n return (\n <AutocompletePrimitive.Portal>\n <AutocompletePrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <AutocompletePrimitive.Popup\n data-slot=\"autocomplete-content\"\n className={cn(\n \"group/autocomplete-content\",\n \"min-w-[8rem] overflow-hidden rounded-xl border border-border-light bg-overlay text-overlay-foreground shadow-overlay outline-none\",\n \"data-open:animate-in data-open:duration-200 data-open:[animation-timing-function:var(--ease-out-fluid)] data-closed:animate-out data-closed:duration-100 data-closed:[animation-timing-function:var(--ease-in-quart)] data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95\",\n \"data-entering:will-change-[opacity,transform] data-exiting:will-change-[opacity,transform]\",\n \"data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1\",\n \"max-h-(--available-height) w-(--anchor-width) origin-(--transform-origin) overflow-y-auto overscroll-contain\",\n \"motion-reduce:animate-none motion-reduce:transition-none\",\n className,\n )}\n {...props}\n />\n </AutocompletePrimitive.Positioner>\n </AutocompletePrimitive.Portal>\n );\n}\n\nfunction AutocompleteList({\n className,\n ...props\n}: AutocompletePrimitive.List.Props) {\n return (\n <AutocompletePrimitive.List\n data-slot=\"autocomplete-list\"\n className={cn(\n \"scroll-py-1 overflow-y-auto overscroll-contain p-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AutocompleteItem({\n className,\n children,\n ...props\n}: AutocompletePrimitive.Item.Props) {\n return (\n <AutocompletePrimitive.Item\n data-slot=\"autocomplete-item\"\n className={cn(\n \"no-highlight relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 px-2 text-sm outline-none transition-colors duration-150 ease-smooth motion-reduce:transition-none\",\n \"data-highlighted:bg-primary-soft data-highlighted:text-foreground\",\n \"data-disabled:status-disabled\",\n className,\n )}\n {...props}\n >\n {children}\n </AutocompletePrimitive.Item>\n );\n}\n\nfunction AutocompleteEmpty({\n className,\n ...props\n}: AutocompletePrimitive.Empty.Props) {\n return (\n <AutocompletePrimitive.Empty\n data-slot=\"autocomplete-empty\"\n className={cn(\n \"empty:hidden py-6 text-center text-sm text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AutocompleteGroup({\n className,\n ...props\n}: AutocompletePrimitive.Group.Props) {\n return (\n <AutocompletePrimitive.Group\n data-slot=\"autocomplete-group\"\n className={cn(\"p-1\", className)}\n {...props}\n />\n );\n}\n\nfunction AutocompleteGroupLabel({\n className,\n ...props\n}: AutocompletePrimitive.GroupLabel.Props) {\n return (\n <AutocompletePrimitive.GroupLabel\n data-slot=\"autocomplete-group-label\"\n className={cn(\n \"px-2 py-1.5 text-xs font-medium text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AutocompleteSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof AutocompletePrimitive.Separator>) {\n return (\n <AutocompletePrimitive.Separator\n data-slot=\"autocomplete-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border-light\", className)}\n {...props}\n />\n );\n}\n\nfunction AutocompleteIcon({\n className,\n ...props\n}: AutocompletePrimitive.Icon.Props) {\n return (\n <AutocompletePrimitive.Icon\n data-slot=\"autocomplete-icon\"\n className={cn(\"\", className)}\n {...props}\n />\n );\n}\n\nfunction AutocompleteStatus({\n className,\n ...props\n}: AutocompletePrimitive.Status.Props) {\n return (\n <AutocompletePrimitive.Status\n data-slot=\"autocomplete-status\"\n className={cn(\"sr-only\", className)}\n {...props}\n />\n );\n}\n\nfunction AutocompleteArrow({\n className,\n ...props\n}: AutocompletePrimitive.Arrow.Props) {\n return (\n <AutocompletePrimitive.Arrow\n data-slot=\"autocomplete-arrow\"\n className={cn(\"fill-overlay stroke-border\", className)}\n {...props}\n />\n );\n}\n\nfunction AutocompleteBackdrop({\n className,\n ...props\n}: AutocompletePrimitive.Backdrop.Props) {\n return (\n <AutocompletePrimitive.Backdrop\n data-slot=\"autocomplete-backdrop\"\n className={cn(\"fixed inset-0 z-50\", className)}\n {...props}\n />\n );\n}\n\nconst AutocompleteCollection = AutocompletePrimitive.Collection;\n\nconst useAutocompleteFilter = AutocompletePrimitive.useFilter;\n\nexport {\n Autocomplete,\n AutocompleteCollection,\n AutocompleteInput,\n AutocompleteContent,\n AutocompleteList,\n AutocompleteItem,\n AutocompleteEmpty,\n AutocompleteGroup,\n AutocompleteGroupLabel,\n AutocompleteSeparator,\n AutocompleteTrigger,\n AutocompleteValue,\n AutocompleteIcon,\n AutocompleteStatus,\n AutocompleteArrow,\n AutocompleteBackdrop,\n useAutocompleteFilter,\n};\n\nexport type AutocompleteProps = React.ComponentProps<typeof Autocomplete>;\nexport type AutocompleteInputProps = React.ComponentProps<\n typeof AutocompleteInput\n>;\nexport type AutocompleteContentProps = React.ComponentProps<\n typeof AutocompleteContent\n>;\nexport type AutocompleteItemProps = React.ComponentProps<\n typeof AutocompleteItem\n>;\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\nimport { Input } from \"./input\";\nimport { Textarea } from \"./textarea\";\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"border-field-border bg-field-background hover-only:hover:border-field-border-hover has-[[data-slot=input-group-control]:focus-visible]:focus-field-ring has-[[data-slot][aria-invalid=true]]:border-field-border-invalid has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:invalid-field-ring h-9 rounded-md border shadow-field transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-smooth motion-reduce:transition-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem] order-first\",\n \"inline-end\":\n \"pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem] order-last\",\n \"block-start\":\n \"px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start\",\n \"block-end\":\n \"px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n);\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\n \"gap-2 text-sm shadow-none flex items-center\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n },\n);\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\" | \"type\"> &\n VariantProps<typeof inputGroupButtonVariants> & {\n type?: \"button\" | \"submit\" | \"reset\";\n }) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"text-muted-foreground gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 flex-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 flex-1 resize-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n inputGroupAddonVariants,\n inputGroupButtonVariants,\n};\n\nexport type InputGroupProps = React.ComponentProps<typeof InputGroup>;\nexport type InputGroupAddonProps = React.ComponentProps<typeof InputGroupAddon>;\nexport type InputGroupButtonProps = React.ComponentProps<\n typeof InputGroupButton\n>;\n","\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst buttonVariants = cva(\n [\n \"inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium\",\n \"transform-gpu transition-[color,background-color,border-color,box-shadow,opacity,transform] duration-150 ease-smooth\",\n \"motion-reduce:transition-none\",\n \"disabled:status-disabled\",\n \"focus-visible:focus-ring\",\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n \"shrink-0 group/button select-none no-highlight\",\n ],\n {\n variants: {\n variant: {\n default: [\n // Base styles\n \"relative rounded-lg overflow-visible shadow-surface border border-primary dark:border-primary-dark\",\n \"isolate text-primary-foreground [text-shadow:_0_1px_2px_oklch(0%_0_0_/_30%)]\",\n \"[&>*]:relative [&>*]:z-[2]\",\n // Combined gradient layer with primary colors\n \"before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]\",\n \"before:bg-gradient-to-br before:from-primary-light before:via-primary-middle before:to-primary-dark\",\n \"before:dark:from-primary-light before:dark:via-primary-middle before:dark:to-primary-dark\",\n \"before:z-[-1]\",\n // Additional outer border\n \"after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]\",\n \"after:bg-gradient-to-br after:from-primary after:to-primary-dark\",\n \"after:z-[-1] after:transition-opacity after:duration-200 after:opacity-40 after:motion-reduce:transition-none\",\n // Hover state\n \"hover-only:after:opacity-100 hover-only:transition-opacity hover-only:duration-200\",\n ].join(\" \"),\n destructive:\n \"bg-destructive text-destructive-foreground hover-only:hover:bg-destructive-hover\",\n outline: [\n // Base styles\n \"relative rounded-lg overflow-visible shadow-field border\",\n \"isolate text-foreground\",\n \"[&>*]:relative [&>*]:z-[2]\",\n // Background layer\n \"before:pointer-events-none before:absolute before:inset-[-0.5px] before:rounded-[inherit]\",\n \"before:bg-gradient-to-br before:from-border-light before:via-border before:to-border-dark/50\",\n \"before:dark:from-border-light before:dark:to-border-dark\",\n \"before:z-[-1]\",\n // Inner background layer\n \"after:pointer-events-none after:absolute after:inset-[0.5px] after:rounded-[inherit]\",\n \"after:bg-background\",\n \"after:z-[-1]\",\n \"after:transition-colors after:duration-200 after:ease-out after:motion-reduce:transition-none\",\n // Hover state\n \"hover-only:after:bg-muted\",\n ].join(\" \"),\n secondary:\n \"bg-secondary text-secondary-foreground hover-only:hover:bg-accent\",\n ghost:\n \"hover-only:bg-accent hover-only:text-accent-foreground motion-safe:active:scale-100\",\n \"primary-soft\":\n \"bg-primary-soft text-primary hover-only:hover:bg-primary-soft-hover\",\n \"destructive-soft\":\n \"bg-destructive-soft text-destructive hover-only:hover:bg-destructive-soft-hover\",\n success:\n \"bg-success text-success-foreground hover-only:hover:bg-success-hover\",\n warning:\n \"bg-warning text-warning-foreground hover-only:hover:bg-warning-hover\",\n link: \"dark:text-primary-light text-primary-dark underline-offset-4 hover-only:underline motion-safe:active:scale-100\",\n },\n size: {\n default:\n \"h-9 gap-2 px-4 py-1 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 motion-safe:active:scale-[0.97]\",\n xs: \"h-6 gap-1 rounded-lg px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3 motion-safe:active:scale-[0.985]\",\n sm: \"h-8 gap-1.5 rounded-lg px-3 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 motion-safe:active:scale-[0.98]\",\n lg: \"h-10 gap-2 rounded-lg px-8 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3 motion-safe:active:scale-[0.96]\",\n icon: \"size-9 motion-safe:active:scale-[0.97]\",\n \"icon-xs\":\n \"size-6 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.985]\",\n \"icon-sm\":\n \"size-8 rounded-lg in-data-[slot=button-group]:rounded-md motion-safe:active:scale-[0.98]\",\n \"icon-lg\": \"size-10 motion-safe:active:scale-[0.96]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n isPending,\n nativeButton,\n render,\n ...props\n}: ButtonPrimitive.Props &\n VariantProps<typeof buttonVariants> & { isPending?: boolean }) {\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n data-pending={isPending || undefined}\n aria-disabled={isPending || undefined}\n nativeButton={nativeButton ?? (render ? false : undefined)}\n render={render}\n className={cn(\n buttonVariants({ variant, size }),\n isPending && \"status-pending\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n\nexport type ButtonProps = React.ComponentProps<typeof Button>;\n"],"mappings":"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","names":["import_class_variance_authority","ButtonPrimitive","import_jsx_runtime","import_jsx_runtime","AutocompletePrimitive"]}