@invergent/ui-sdk 0.0.0-stage → 2.19.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 (332) hide show
  1. package/README.md +62 -2
  2. package/dist/accordion.cjs +97 -0
  3. package/dist/accordion.cjs.map +1 -0
  4. package/dist/accordion.d.cts +10 -0
  5. package/dist/accordion.d.ts +10 -0
  6. package/dist/accordion.js +92 -0
  7. package/dist/accordion.js.map +1 -0
  8. package/dist/alert.cjs +82 -0
  9. package/dist/alert.cjs.map +1 -0
  10. package/dist/alert.d.cts +14 -0
  11. package/dist/alert.d.ts +14 -0
  12. package/dist/alert.js +77 -0
  13. package/dist/alert.js.map +1 -0
  14. package/dist/avatar.cjs +110 -0
  15. package/dist/avatar.cjs.map +1 -0
  16. package/dist/avatar.d.cts +14 -0
  17. package/dist/avatar.d.ts +14 -0
  18. package/dist/avatar.js +103 -0
  19. package/dist/avatar.js.map +1 -0
  20. package/dist/badge.cjs +47 -0
  21. package/dist/badge.cjs.map +1 -0
  22. package/dist/badge.d.cts +13 -0
  23. package/dist/badge.d.ts +13 -0
  24. package/dist/badge.js +44 -0
  25. package/dist/badge.js.map +1 -0
  26. package/dist/brand-beam.cjs +2303 -0
  27. package/dist/brand-beam.cjs.map +1 -0
  28. package/dist/brand-beam.d.cts +36 -0
  29. package/dist/brand-beam.d.ts +36 -0
  30. package/dist/brand-beam.js +2301 -0
  31. package/dist/brand-beam.js.map +1 -0
  32. package/dist/button.cjs +17 -0
  33. package/dist/button.cjs.map +1 -0
  34. package/dist/button.d.cts +14 -0
  35. package/dist/button.d.ts +14 -0
  36. package/dist/button.js +4 -0
  37. package/dist/button.js.map +1 -0
  38. package/dist/card.cjs +109 -0
  39. package/dist/card.cjs.map +1 -0
  40. package/dist/card.d.cts +14 -0
  41. package/dist/card.d.ts +14 -0
  42. package/dist/card.js +101 -0
  43. package/dist/card.js.map +1 -0
  44. package/dist/chart.cjs +275 -0
  45. package/dist/chart.cjs.map +1 -0
  46. package/dist/chart.d.cts +47 -0
  47. package/dist/chart.d.ts +47 -0
  48. package/dist/chart.js +247 -0
  49. package/dist/chart.js.map +1 -0
  50. package/dist/checkbox.cjs +41 -0
  51. package/dist/checkbox.cjs.map +1 -0
  52. package/dist/checkbox.d.cts +7 -0
  53. package/dist/checkbox.d.ts +7 -0
  54. package/dist/checkbox.js +39 -0
  55. package/dist/checkbox.js.map +1 -0
  56. package/dist/chip.cjs +92 -0
  57. package/dist/chip.cjs.map +1 -0
  58. package/dist/chip.d.cts +33 -0
  59. package/dist/chip.d.ts +33 -0
  60. package/dist/chip.js +86 -0
  61. package/dist/chip.js.map +1 -0
  62. package/dist/choice-card.cjs +127 -0
  63. package/dist/choice-card.cjs.map +1 -0
  64. package/dist/choice-card.d.cts +20 -0
  65. package/dist/choice-card.d.ts +20 -0
  66. package/dist/choice-card.js +124 -0
  67. package/dist/choice-card.js.map +1 -0
  68. package/dist/chunk-2UHRDVPT.cjs +183 -0
  69. package/dist/chunk-2UHRDVPT.cjs.map +1 -0
  70. package/dist/chunk-5CRE35VX.js +20 -0
  71. package/dist/chunk-5CRE35VX.js.map +1 -0
  72. package/dist/chunk-6ARYCL4L.cjs +30 -0
  73. package/dist/chunk-6ARYCL4L.cjs.map +1 -0
  74. package/dist/chunk-6JCVTRUK.js +21 -0
  75. package/dist/chunk-6JCVTRUK.js.map +1 -0
  76. package/dist/chunk-6YHDDRIM.cjs +13 -0
  77. package/dist/chunk-6YHDDRIM.cjs.map +1 -0
  78. package/dist/chunk-A44JJ6NH.js +58 -0
  79. package/dist/chunk-A44JJ6NH.js.map +1 -0
  80. package/dist/chunk-CPAFEXKR.js +63 -0
  81. package/dist/chunk-CPAFEXKR.js.map +1 -0
  82. package/dist/chunk-CTIEUG5L.js +28 -0
  83. package/dist/chunk-CTIEUG5L.js.map +1 -0
  84. package/dist/chunk-DSDDDYG3.cjs +60 -0
  85. package/dist/chunk-DSDDDYG3.cjs.map +1 -0
  86. package/dist/chunk-IB7LTHEQ.js +55 -0
  87. package/dist/chunk-IB7LTHEQ.js.map +1 -0
  88. package/dist/chunk-ID7MWMJO.cjs +162 -0
  89. package/dist/chunk-ID7MWMJO.cjs.map +1 -0
  90. package/dist/chunk-IVMZANP7.cjs +67 -0
  91. package/dist/chunk-IVMZANP7.cjs.map +1 -0
  92. package/dist/chunk-L73QIINW.js +157 -0
  93. package/dist/chunk-L73QIINW.js.map +1 -0
  94. package/dist/chunk-LZGII7SX.js +11 -0
  95. package/dist/chunk-LZGII7SX.js.map +1 -0
  96. package/dist/chunk-M677T75H.js +24 -0
  97. package/dist/chunk-M677T75H.js.map +1 -0
  98. package/dist/chunk-OAVCB3MR.cjs +26 -0
  99. package/dist/chunk-OAVCB3MR.cjs.map +1 -0
  100. package/dist/chunk-RVX6SN4U.cjs +23 -0
  101. package/dist/chunk-RVX6SN4U.cjs.map +1 -0
  102. package/dist/chunk-T74Z3WTK.js +151 -0
  103. package/dist/chunk-T74Z3WTK.js.map +1 -0
  104. package/dist/chunk-UOUXW63J.cjs +22 -0
  105. package/dist/chunk-UOUXW63J.cjs.map +1 -0
  106. package/dist/chunk-VBICNC43.cjs +61 -0
  107. package/dist/chunk-VBICNC43.cjs.map +1 -0
  108. package/dist/collapsible-header.cjs +66 -0
  109. package/dist/collapsible-header.cjs.map +1 -0
  110. package/dist/collapsible-header.d.cts +15 -0
  111. package/dist/collapsible-header.d.ts +15 -0
  112. package/dist/collapsible-header.js +63 -0
  113. package/dist/collapsible-header.js.map +1 -0
  114. package/dist/collapsible.cjs +38 -0
  115. package/dist/collapsible.cjs.map +1 -0
  116. package/dist/collapsible.d.cts +8 -0
  117. package/dist/collapsible.d.ts +8 -0
  118. package/dist/collapsible.js +34 -0
  119. package/dist/collapsible.js.map +1 -0
  120. package/dist/color-picker.cjs +60 -0
  121. package/dist/color-picker.cjs.map +1 -0
  122. package/dist/color-picker.d.cts +12 -0
  123. package/dist/color-picker.d.ts +12 -0
  124. package/dist/color-picker.js +57 -0
  125. package/dist/color-picker.js.map +1 -0
  126. package/dist/confirm-dialog.cjs +72 -0
  127. package/dist/confirm-dialog.cjs.map +1 -0
  128. package/dist/confirm-dialog.d.cts +19 -0
  129. package/dist/confirm-dialog.d.ts +19 -0
  130. package/dist/confirm-dialog.js +70 -0
  131. package/dist/confirm-dialog.js.map +1 -0
  132. package/dist/control-styles.cjs +16 -0
  133. package/dist/control-styles.cjs.map +1 -0
  134. package/dist/control-styles.d.cts +7 -0
  135. package/dist/control-styles.d.ts +7 -0
  136. package/dist/control-styles.js +10 -0
  137. package/dist/control-styles.js.map +1 -0
  138. package/dist/dialog.cjs +50 -0
  139. package/dist/dialog.cjs.map +1 -0
  140. package/dist/dialog.d.cts +20 -0
  141. package/dist/dialog.d.ts +20 -0
  142. package/dist/dialog.js +5 -0
  143. package/dist/dialog.js.map +1 -0
  144. package/dist/dropdown-menu.cjs +265 -0
  145. package/dist/dropdown-menu.cjs.map +1 -0
  146. package/dist/dropdown-menu.d.cts +32 -0
  147. package/dist/dropdown-menu.d.ts +32 -0
  148. package/dist/dropdown-menu.js +249 -0
  149. package/dist/dropdown-menu.js.map +1 -0
  150. package/dist/empty-state.cjs +50 -0
  151. package/dist/empty-state.cjs.map +1 -0
  152. package/dist/empty-state.d.cts +23 -0
  153. package/dist/empty-state.d.ts +23 -0
  154. package/dist/empty-state.js +47 -0
  155. package/dist/empty-state.js.map +1 -0
  156. package/dist/field.cjs +221 -0
  157. package/dist/field.cjs.map +1 -0
  158. package/dist/field.d.cts +30 -0
  159. package/dist/field.d.ts +30 -0
  160. package/dist/field.js +210 -0
  161. package/dist/field.js.map +1 -0
  162. package/dist/input-group.cjs +148 -0
  163. package/dist/input-group.cjs.map +1 -0
  164. package/dist/input-group.d.cts +20 -0
  165. package/dist/input-group.d.ts +20 -0
  166. package/dist/input-group.js +141 -0
  167. package/dist/input-group.js.map +1 -0
  168. package/dist/input.cjs +13 -0
  169. package/dist/input.cjs.map +1 -0
  170. package/dist/input.d.cts +6 -0
  171. package/dist/input.d.ts +6 -0
  172. package/dist/input.js +4 -0
  173. package/dist/input.js.map +1 -0
  174. package/dist/label.cjs +13 -0
  175. package/dist/label.cjs.map +1 -0
  176. package/dist/label.d.cts +7 -0
  177. package/dist/label.d.ts +7 -0
  178. package/dist/label.js +4 -0
  179. package/dist/label.js.map +1 -0
  180. package/dist/lib/utils.cjs +12 -0
  181. package/dist/lib/utils.cjs.map +1 -0
  182. package/dist/lib/utils.d.cts +5 -0
  183. package/dist/lib/utils.d.ts +5 -0
  184. package/dist/lib/utils.js +3 -0
  185. package/dist/lib/utils.js.map +1 -0
  186. package/dist/list-row.cjs +188 -0
  187. package/dist/list-row.cjs.map +1 -0
  188. package/dist/list-row.d.cts +51 -0
  189. package/dist/list-row.d.ts +51 -0
  190. package/dist/list-row.js +164 -0
  191. package/dist/list-row.js.map +1 -0
  192. package/dist/pill-tabs.cjs +109 -0
  193. package/dist/pill-tabs.cjs.map +1 -0
  194. package/dist/pill-tabs.d.cts +24 -0
  195. package/dist/pill-tabs.d.ts +24 -0
  196. package/dist/pill-tabs.js +107 -0
  197. package/dist/pill-tabs.js.map +1 -0
  198. package/dist/popover.cjs +88 -0
  199. package/dist/popover.cjs.map +1 -0
  200. package/dist/popover.d.cts +13 -0
  201. package/dist/popover.d.ts +13 -0
  202. package/dist/popover.js +80 -0
  203. package/dist/popover.js.map +1 -0
  204. package/dist/progress-bar.cjs +28 -0
  205. package/dist/progress-bar.cjs.map +1 -0
  206. package/dist/progress-bar.d.cts +11 -0
  207. package/dist/progress-bar.d.ts +11 -0
  208. package/dist/progress-bar.js +26 -0
  209. package/dist/progress-bar.js.map +1 -0
  210. package/dist/scroll-area.cjs +63 -0
  211. package/dist/scroll-area.cjs.map +1 -0
  212. package/dist/scroll-area.d.cts +8 -0
  213. package/dist/scroll-area.d.ts +8 -0
  214. package/dist/scroll-area.js +60 -0
  215. package/dist/scroll-area.js.map +1 -0
  216. package/dist/section-label.cjs +30 -0
  217. package/dist/section-label.cjs.map +1 -0
  218. package/dist/section-label.d.cts +13 -0
  219. package/dist/section-label.d.ts +13 -0
  220. package/dist/section-label.js +28 -0
  221. package/dist/section-label.js.map +1 -0
  222. package/dist/segmented-control.cjs +75 -0
  223. package/dist/segmented-control.cjs.map +1 -0
  224. package/dist/segmented-control.d.cts +26 -0
  225. package/dist/segmented-control.d.ts +26 -0
  226. package/dist/segmented-control.js +53 -0
  227. package/dist/segmented-control.js.map +1 -0
  228. package/dist/select.cjs +193 -0
  229. package/dist/select.cjs.map +1 -0
  230. package/dist/select.d.cts +18 -0
  231. package/dist/select.d.ts +18 -0
  232. package/dist/select.js +182 -0
  233. package/dist/select.js.map +1 -0
  234. package/dist/separator.cjs +13 -0
  235. package/dist/separator.cjs.map +1 -0
  236. package/dist/separator.d.cts +7 -0
  237. package/dist/separator.d.ts +7 -0
  238. package/dist/separator.js +4 -0
  239. package/dist/separator.js.map +1 -0
  240. package/dist/sidebar.cjs +29 -0
  241. package/dist/sidebar.cjs.map +1 -0
  242. package/dist/sidebar.d.cts +58 -0
  243. package/dist/sidebar.d.ts +58 -0
  244. package/dist/sidebar.js +4 -0
  245. package/dist/sidebar.js.map +1 -0
  246. package/dist/skeleton.cjs +19 -0
  247. package/dist/skeleton.cjs.map +1 -0
  248. package/dist/skeleton.d.cts +5 -0
  249. package/dist/skeleton.d.ts +5 -0
  250. package/dist/skeleton.js +17 -0
  251. package/dist/skeleton.js.map +1 -0
  252. package/dist/sonner.cjs +40 -0
  253. package/dist/sonner.cjs.map +1 -0
  254. package/dist/sonner.d.cts +6 -0
  255. package/dist/sonner.d.ts +6 -0
  256. package/dist/sonner.js +38 -0
  257. package/dist/sonner.js.map +1 -0
  258. package/dist/sparkline.cjs +44 -0
  259. package/dist/sparkline.cjs.map +1 -0
  260. package/dist/sparkline.d.cts +12 -0
  261. package/dist/sparkline.d.ts +12 -0
  262. package/dist/sparkline.js +42 -0
  263. package/dist/sparkline.js.map +1 -0
  264. package/dist/spinner.cjs +13 -0
  265. package/dist/spinner.cjs.map +1 -0
  266. package/dist/spinner.d.cts +5 -0
  267. package/dist/spinner.d.ts +5 -0
  268. package/dist/spinner.js +11 -0
  269. package/dist/spinner.js.map +1 -0
  270. package/dist/stat-card.cjs +65 -0
  271. package/dist/stat-card.cjs.map +1 -0
  272. package/dist/stat-card.d.cts +22 -0
  273. package/dist/stat-card.d.ts +22 -0
  274. package/dist/stat-card.js +61 -0
  275. package/dist/stat-card.js.map +1 -0
  276. package/dist/status-dot.cjs +32 -0
  277. package/dist/status-dot.cjs.map +1 -0
  278. package/dist/status-dot.d.cts +11 -0
  279. package/dist/status-dot.d.ts +11 -0
  280. package/dist/status-dot.js +29 -0
  281. package/dist/status-dot.js.map +1 -0
  282. package/dist/switch.cjs +38 -0
  283. package/dist/switch.cjs.map +1 -0
  284. package/dist/switch.d.cts +9 -0
  285. package/dist/switch.d.ts +9 -0
  286. package/dist/switch.js +36 -0
  287. package/dist/switch.js.map +1 -0
  288. package/dist/table.cjs +118 -0
  289. package/dist/table.cjs.map +1 -0
  290. package/dist/table.d.cts +13 -0
  291. package/dist/table.d.ts +13 -0
  292. package/dist/table.js +109 -0
  293. package/dist/table.js.map +1 -0
  294. package/dist/tabs.cjs +124 -0
  295. package/dist/tabs.cjs.map +1 -0
  296. package/dist/tabs.d.cts +15 -0
  297. package/dist/tabs.d.ts +15 -0
  298. package/dist/tabs.js +118 -0
  299. package/dist/tabs.js.map +1 -0
  300. package/dist/text-link.cjs +51 -0
  301. package/dist/text-link.cjs.map +1 -0
  302. package/dist/text-link.d.cts +15 -0
  303. package/dist/text-link.d.ts +15 -0
  304. package/dist/text-link.js +48 -0
  305. package/dist/text-link.js.map +1 -0
  306. package/dist/textarea.cjs +13 -0
  307. package/dist/textarea.cjs.map +1 -0
  308. package/dist/textarea.d.cts +6 -0
  309. package/dist/textarea.d.ts +6 -0
  310. package/dist/textarea.js +4 -0
  311. package/dist/textarea.js.map +1 -0
  312. package/dist/theme.css +109 -0
  313. package/dist/toggle-group.cjs +155 -0
  314. package/dist/toggle-group.cjs.map +1 -0
  315. package/dist/toggle-group.d.cts +31 -0
  316. package/dist/toggle-group.d.ts +31 -0
  317. package/dist/toggle-group.js +130 -0
  318. package/dist/toggle-group.js.map +1 -0
  319. package/dist/toggle.cjs +21 -0
  320. package/dist/toggle.cjs.map +1 -0
  321. package/dist/toggle.d.cts +23 -0
  322. package/dist/toggle.d.ts +23 -0
  323. package/dist/toggle.js +4 -0
  324. package/dist/toggle.js.map +1 -0
  325. package/dist/tokens.css +77 -0
  326. package/dist/tooltip.cjs +25 -0
  327. package/dist/tooltip.cjs.map +1 -0
  328. package/dist/tooltip.d.cts +10 -0
  329. package/dist/tooltip.d.ts +10 -0
  330. package/dist/tooltip.js +4 -0
  331. package/dist/tooltip.js.map +1 -0
  332. package/package.json +60 -4
package/dist/select.js ADDED
@@ -0,0 +1,182 @@
1
+ import { cn } from './chunk-LZGII7SX.js';
2
+ import { Select as Select$1 } from 'radix-ui';
3
+ import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from 'lucide-react';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ function Select({
7
+ ...props
8
+ }) {
9
+ return /* @__PURE__ */ jsx(Select$1.Root, { "data-slot": "select", ...props });
10
+ }
11
+ function SelectGroup({
12
+ className,
13
+ ...props
14
+ }) {
15
+ return /* @__PURE__ */ jsx(
16
+ Select$1.Group,
17
+ {
18
+ "data-slot": "select-group",
19
+ className: cn("scroll-my-1", className),
20
+ ...props
21
+ }
22
+ );
23
+ }
24
+ function SelectValue({
25
+ ...props
26
+ }) {
27
+ return /* @__PURE__ */ jsx(Select$1.Value, { "data-slot": "select-value", ...props });
28
+ }
29
+ function SelectTrigger({
30
+ className,
31
+ size = "default",
32
+ children,
33
+ ...props
34
+ }) {
35
+ return /* @__PURE__ */ jsxs(
36
+ Select$1.Trigger,
37
+ {
38
+ "data-slot": "select-trigger",
39
+ "data-size": size,
40
+ className: cn(
41
+ "flex w-fit items-center justify-between gap-1.5 rounded-[10px] border border-foreground/10 bg-foreground/[0.04] px-3.5 py-2 text-sm whitespace-nowrap transition-colors outline-none focus-visible:border-foreground/20 focus-visible:bg-foreground/[0.06] disabled:cursor-not-allowed disabled:opacity-70 aria-invalid:border-destructive data-placeholder:text-muted-foreground/50 data-[size=default]:h-10 data-[size=sm]:h-9 *: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:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
42
+ className
43
+ ),
44
+ ...props,
45
+ children: [
46
+ children,
47
+ /* @__PURE__ */ jsx(Select$1.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-3.5 text-muted-foreground" }) })
48
+ ]
49
+ }
50
+ );
51
+ }
52
+ function SelectContent({
53
+ className,
54
+ children,
55
+ position = "item-aligned",
56
+ align = "center",
57
+ ...props
58
+ }) {
59
+ return /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsxs(
60
+ Select$1.Content,
61
+ {
62
+ "data-slot": "select-content",
63
+ "data-align-trigger": position === "item-aligned",
64
+ className: cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[8px] border border-foreground/10 bg-card p-1 text-popover-foreground shadow-[0px_10px_24px_0px_rgba(0,0,0,0.12)] dark:shadow-[0px_10px_24px_0px_rgba(0,0,0,0.5)] duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 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", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
65
+ position,
66
+ align,
67
+ ...props,
68
+ children: [
69
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
70
+ /* @__PURE__ */ jsx(
71
+ Select$1.Viewport,
72
+ {
73
+ "data-position": position,
74
+ className: cn(
75
+ "data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)",
76
+ position === "popper" && ""
77
+ ),
78
+ children
79
+ }
80
+ ),
81
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
82
+ ]
83
+ }
84
+ ) });
85
+ }
86
+ function SelectLabel({
87
+ className,
88
+ ...props
89
+ }) {
90
+ return /* @__PURE__ */ jsx(
91
+ Select$1.Label,
92
+ {
93
+ "data-slot": "select-label",
94
+ className: cn(
95
+ "px-3 pt-2 pb-1 text-[11.5px] font-medium text-muted-foreground/80",
96
+ className
97
+ ),
98
+ ...props
99
+ }
100
+ );
101
+ }
102
+ function SelectItem({
103
+ className,
104
+ children,
105
+ ...props
106
+ }) {
107
+ return /* @__PURE__ */ jsxs(
108
+ Select$1.Item,
109
+ {
110
+ "data-slot": "select-item",
111
+ className: cn(
112
+ "relative flex min-h-11 w-full cursor-default items-center gap-2 rounded-[6px] py-[9px] pr-8 pl-3 text-[13px] text-muted-foreground outline-hidden select-none pointer-fine:min-h-0 focus:bg-foreground/[0.06] focus:text-foreground data-[state=checked]:bg-amber-500/10 data-[state=checked]:font-medium data-[state=checked]:text-amber-500 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
113
+ className
114
+ ),
115
+ ...props,
116
+ children: [
117
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx(Select$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "pointer-events-none" }) }) }),
118
+ /* @__PURE__ */ jsx(Select$1.ItemText, { children })
119
+ ]
120
+ }
121
+ );
122
+ }
123
+ function SelectSeparator({
124
+ className,
125
+ ...props
126
+ }) {
127
+ return /* @__PURE__ */ jsx(
128
+ Select$1.Separator,
129
+ {
130
+ "data-slot": "select-separator",
131
+ className: cn(
132
+ "pointer-events-none -mx-1 my-1 h-px bg-foreground/[0.06]",
133
+ className
134
+ ),
135
+ ...props
136
+ }
137
+ );
138
+ }
139
+ function SelectScrollUpButton({
140
+ className,
141
+ ...props
142
+ }) {
143
+ return /* @__PURE__ */ jsx(
144
+ Select$1.ScrollUpButton,
145
+ {
146
+ "data-slot": "select-scroll-up-button",
147
+ className: cn(
148
+ "z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5",
149
+ className
150
+ ),
151
+ ...props,
152
+ children: /* @__PURE__ */ jsx(
153
+ ChevronUpIcon,
154
+ {}
155
+ )
156
+ }
157
+ );
158
+ }
159
+ function SelectScrollDownButton({
160
+ className,
161
+ ...props
162
+ }) {
163
+ return /* @__PURE__ */ jsx(
164
+ Select$1.ScrollDownButton,
165
+ {
166
+ "data-slot": "select-scroll-down-button",
167
+ className: cn(
168
+ "z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5",
169
+ className
170
+ ),
171
+ ...props,
172
+ children: /* @__PURE__ */ jsx(
173
+ ChevronDownIcon,
174
+ {}
175
+ )
176
+ }
177
+ );
178
+ }
179
+
180
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
181
+ //# sourceMappingURL=select.js.map
182
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/select.tsx"],"names":["SelectPrimitive"],"mappings":"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","file":"select.js","sourcesContent":["import * as React from \"react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\nimport { ChevronDownIcon, CheckIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"flex w-fit items-center justify-between gap-1.5 rounded-[10px] border border-foreground/10 bg-foreground/[0.04] px-3.5 py-2 text-sm whitespace-nowrap transition-colors outline-none focus-visible:border-foreground/20 focus-visible:bg-foreground/[0.06] disabled:cursor-not-allowed disabled:opacity-70 aria-invalid:border-destructive data-placeholder:text-muted-foreground/50 data-[size=default]:h-10 data-[size=sm]:h-9 *: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:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"pointer-events-none size-3.5 text-muted-foreground\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\"relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[8px] border border-foreground/10 bg-card p-1 text-popover-foreground shadow-[0px_10px_24px_0px_rgba(0,0,0,0.12)] dark:shadow-[0px_10px_24px_0px_rgba(0,0,0,0.5)] duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 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\", position === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className)}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\n \"px-3 pt-2 pb-1 text-[11.5px] font-medium text-muted-foreground/80\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex min-h-11 w-full cursor-default items-center gap-2 rounded-[6px] py-[9px] pr-8 pl-3 text-[13px] text-muted-foreground outline-hidden select-none pointer-fine:min-h-0 focus:bg-foreground/[0.06] focus:text-foreground data-[state=checked]:bg-amber-500/10 data-[state=checked]:font-medium data-[state=checked]:text-amber-500 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\n \"pointer-events-none -mx-1 my-1 h-px bg-foreground/[0.06]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon\n />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"]}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var chunk6ARYCL4L_cjs = require('./chunk-6ARYCL4L.cjs');
4
+ require('./chunk-6YHDDRIM.cjs');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "Separator", {
9
+ enumerable: true,
10
+ get: function () { return chunk6ARYCL4L_cjs.Separator; }
11
+ });
12
+ //# sourceMappingURL=separator.cjs.map
13
+ //# sourceMappingURL=separator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"separator.cjs"}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { Separator as Separator$1 } from 'radix-ui';
4
+
5
+ declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof Separator$1.Root>): react_jsx_runtime.JSX.Element;
6
+
7
+ export { Separator };
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { Separator as Separator$1 } from 'radix-ui';
4
+
5
+ declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof Separator$1.Root>): react_jsx_runtime.JSX.Element;
6
+
7
+ export { Separator };
@@ -0,0 +1,4 @@
1
+ export { Separator } from './chunk-CTIEUG5L.js';
2
+ import './chunk-LZGII7SX.js';
3
+ //# sourceMappingURL=separator.js.map
4
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"separator.js"}
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var chunk2UHRDVPT_cjs = require('./chunk-2UHRDVPT.cjs');
4
+ require('./chunk-6YHDDRIM.cjs');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "Sidebar", {
9
+ enumerable: true,
10
+ get: function () { return chunk2UHRDVPT_cjs.Sidebar; }
11
+ });
12
+ Object.defineProperty(exports, "SidebarAction", {
13
+ enumerable: true,
14
+ get: function () { return chunk2UHRDVPT_cjs.SidebarAction; }
15
+ });
16
+ Object.defineProperty(exports, "SidebarBrand", {
17
+ enumerable: true,
18
+ get: function () { return chunk2UHRDVPT_cjs.SidebarBrand; }
19
+ });
20
+ Object.defineProperty(exports, "SidebarUserBar", {
21
+ enumerable: true,
22
+ get: function () { return chunk2UHRDVPT_cjs.SidebarUserBar; }
23
+ });
24
+ Object.defineProperty(exports, "useSidebar", {
25
+ enumerable: true,
26
+ get: function () { return chunk2UHRDVPT_cjs.useSidebar; }
27
+ });
28
+ //# sourceMappingURL=sidebar.cjs.map
29
+ //# sourceMappingURL=sidebar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"sidebar.cjs"}
@@ -0,0 +1,58 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ /**
5
+ * Whether the enclosing rail is collapsed to its icons. Outside a `Sidebar`
6
+ * (a phone drawer, a page) nothing is collapsed, so the same parts draw open
7
+ * there.
8
+ */
9
+ declare function useSidebar(): {
10
+ collapsed: boolean;
11
+ };
12
+ type SidebarProps = Omit<React.ComponentProps<"aside">, "onMouseEnter" | "onMouseLeave"> & {
13
+ /** Pinned, the sidebar stays open; unpinned, it is an icon rail that opens
14
+ * while the pointer is over it. Kept here when not passed. */
15
+ pinned?: boolean;
16
+ onPinnedChange?: (pinned: boolean) => void;
17
+ };
18
+ /**
19
+ * The ops console's desktop sidebar: 295px open, a 50px icon rail collapsed,
20
+ * with the pin toggle along its bottom. Hidden below `md`, where navigation
21
+ * belongs in a drawer: render the same parts there, outside a `Sidebar`.
22
+ * `ListRow` and `SectionLabel` inside it shrink to their icon and rule.
23
+ */
24
+ declare function Sidebar({ pinned: pinnedProp, onPinnedChange, className, children, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
25
+ type SidebarBrandProps = Omit<React.ComponentProps<"div">, "title"> & {
26
+ title: string;
27
+ subtitle?: React.ReactNode;
28
+ imageSrc?: string;
29
+ /** What the mark and title link through (a router `Link`); they are placed
30
+ * inside it. */
31
+ link?: React.ReactElement;
32
+ };
33
+ /**
34
+ * The sidebar's brand strip: the mark, a title and a muted subtitle; in the
35
+ * rail the mark alone, centred. Children (a mode switch) follow it.
36
+ */
37
+ declare function SidebarBrand({ title, subtitle, imageSrc, link, className, children, ...props }: SidebarBrandProps): react_jsx_runtime.JSX.Element;
38
+ type SidebarUserBarProps = Omit<React.ComponentProps<"div">, "children"> & {
39
+ avatar: React.ReactNode;
40
+ name: React.ReactNode;
41
+ /** The bar's `SidebarAction`s: theme, settings, sign out. */
42
+ children?: React.ReactNode;
43
+ };
44
+ /**
45
+ * The sidebar's bottom bar: the user's avatar and name, then the global
46
+ * controls. In the rail the avatar alone.
47
+ */
48
+ declare function SidebarUserBar({ avatar, name, className, children, ...props }: SidebarUserBarProps): react_jsx_runtime.JSX.Element;
49
+ /**
50
+ * An icon control in the user bar. 26px with a cursor, the 44px floor on
51
+ * touch. A button, or a router link via `asChild`.
52
+ */
53
+ declare function SidebarAction({ label, asChild, className, ...props }: React.ComponentProps<"button"> & {
54
+ label: string;
55
+ asChild?: boolean;
56
+ }): react_jsx_runtime.JSX.Element;
57
+
58
+ export { Sidebar, SidebarAction, SidebarBrand, SidebarUserBar, useSidebar };
@@ -0,0 +1,58 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ /**
5
+ * Whether the enclosing rail is collapsed to its icons. Outside a `Sidebar`
6
+ * (a phone drawer, a page) nothing is collapsed, so the same parts draw open
7
+ * there.
8
+ */
9
+ declare function useSidebar(): {
10
+ collapsed: boolean;
11
+ };
12
+ type SidebarProps = Omit<React.ComponentProps<"aside">, "onMouseEnter" | "onMouseLeave"> & {
13
+ /** Pinned, the sidebar stays open; unpinned, it is an icon rail that opens
14
+ * while the pointer is over it. Kept here when not passed. */
15
+ pinned?: boolean;
16
+ onPinnedChange?: (pinned: boolean) => void;
17
+ };
18
+ /**
19
+ * The ops console's desktop sidebar: 295px open, a 50px icon rail collapsed,
20
+ * with the pin toggle along its bottom. Hidden below `md`, where navigation
21
+ * belongs in a drawer: render the same parts there, outside a `Sidebar`.
22
+ * `ListRow` and `SectionLabel` inside it shrink to their icon and rule.
23
+ */
24
+ declare function Sidebar({ pinned: pinnedProp, onPinnedChange, className, children, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
25
+ type SidebarBrandProps = Omit<React.ComponentProps<"div">, "title"> & {
26
+ title: string;
27
+ subtitle?: React.ReactNode;
28
+ imageSrc?: string;
29
+ /** What the mark and title link through (a router `Link`); they are placed
30
+ * inside it. */
31
+ link?: React.ReactElement;
32
+ };
33
+ /**
34
+ * The sidebar's brand strip: the mark, a title and a muted subtitle; in the
35
+ * rail the mark alone, centred. Children (a mode switch) follow it.
36
+ */
37
+ declare function SidebarBrand({ title, subtitle, imageSrc, link, className, children, ...props }: SidebarBrandProps): react_jsx_runtime.JSX.Element;
38
+ type SidebarUserBarProps = Omit<React.ComponentProps<"div">, "children"> & {
39
+ avatar: React.ReactNode;
40
+ name: React.ReactNode;
41
+ /** The bar's `SidebarAction`s: theme, settings, sign out. */
42
+ children?: React.ReactNode;
43
+ };
44
+ /**
45
+ * The sidebar's bottom bar: the user's avatar and name, then the global
46
+ * controls. In the rail the avatar alone.
47
+ */
48
+ declare function SidebarUserBar({ avatar, name, className, children, ...props }: SidebarUserBarProps): react_jsx_runtime.JSX.Element;
49
+ /**
50
+ * An icon control in the user bar. 26px with a cursor, the 44px floor on
51
+ * touch. A button, or a router link via `asChild`.
52
+ */
53
+ declare function SidebarAction({ label, asChild, className, ...props }: React.ComponentProps<"button"> & {
54
+ label: string;
55
+ asChild?: boolean;
56
+ }): react_jsx_runtime.JSX.Element;
57
+
58
+ export { Sidebar, SidebarAction, SidebarBrand, SidebarUserBar, useSidebar };
@@ -0,0 +1,4 @@
1
+ export { Sidebar, SidebarAction, SidebarBrand, SidebarUserBar, useSidebar } from './chunk-L73QIINW.js';
2
+ import './chunk-LZGII7SX.js';
3
+ //# sourceMappingURL=sidebar.js.map
4
+ //# sourceMappingURL=sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"sidebar.js"}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ function Skeleton({ className, ...props }) {
7
+ return /* @__PURE__ */ jsxRuntime.jsx(
8
+ "div",
9
+ {
10
+ "data-slot": "skeleton",
11
+ className: chunk6YHDDRIM_cjs.cn("animate-pulse bg-muted", className),
12
+ ...props
13
+ }
14
+ );
15
+ }
16
+
17
+ exports.Skeleton = Skeleton;
18
+ //# sourceMappingURL=skeleton.cjs.map
19
+ //# sourceMappingURL=skeleton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/skeleton.tsx"],"names":["jsx","cn"],"mappings":";;;;;AAEA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACtE,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAWC,oBAAA,CAAG,wBAAA,EAA0B,SAAS,CAAA;AAAA,MAChD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"skeleton.cjs","sourcesContent":["import { cn } from \"./lib/utils\"\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n"]}
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
4
+
5
+ export { Skeleton };
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
4
+
5
+ export { Skeleton };
@@ -0,0 +1,17 @@
1
+ import { cn } from './chunk-LZGII7SX.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ function Skeleton({ className, ...props }) {
5
+ return /* @__PURE__ */ jsx(
6
+ "div",
7
+ {
8
+ "data-slot": "skeleton",
9
+ className: cn("animate-pulse bg-muted", className),
10
+ ...props
11
+ }
12
+ );
13
+ }
14
+
15
+ export { Skeleton };
16
+ //# sourceMappingURL=skeleton.js.map
17
+ //# sourceMappingURL=skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/skeleton.tsx"],"names":[],"mappings":";;;AAEA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACtE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,wBAAA,EAA0B,SAAS,CAAA;AAAA,MAChD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"skeleton.js","sourcesContent":["import { cn } from \"./lib/utils\"\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n"]}
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var nextThemes = require('next-themes');
4
+ var sonner = require('sonner');
5
+ var lucideReact = require('lucide-react');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ var Toaster = ({ ...props }) => {
9
+ const { theme = "system" } = nextThemes.useTheme();
10
+ return /* @__PURE__ */ jsxRuntime.jsx(
11
+ sonner.Toaster,
12
+ {
13
+ theme,
14
+ className: "toaster group",
15
+ icons: {
16
+ success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleCheckIcon, { className: "size-4" }),
17
+ info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.InfoIcon, { className: "size-4" }),
18
+ warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TriangleAlertIcon, { className: "size-4" }),
19
+ error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.OctagonXIcon, { className: "size-4" }),
20
+ loading: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2Icon, { className: "size-4 animate-spin" })
21
+ },
22
+ style: {
23
+ "--normal-bg": "var(--popover)",
24
+ "--normal-text": "var(--popover-foreground)",
25
+ "--normal-border": "var(--border)",
26
+ "--border-radius": "var(--radius)"
27
+ },
28
+ toastOptions: {
29
+ classNames: {
30
+ toast: "cn-toast"
31
+ }
32
+ },
33
+ ...props
34
+ }
35
+ );
36
+ };
37
+
38
+ exports.Toaster = Toaster;
39
+ //# sourceMappingURL=sonner.cjs.map
40
+ //# sourceMappingURL=sonner.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sonner.tsx"],"names":["useTheme","jsx","Sonner","CircleCheckIcon","InfoIcon","TriangleAlertIcon","OctagonXIcon","Loader2Icon"],"mappings":";;;;;;;AAMA,IAAM,OAAA,GAAU,CAAC,EAAE,GAAG,OAAM,KAAoB;AAC9C,EAAA,MAAM,EAAE,KAAA,GAAQ,QAAA,EAAS,GAAIA,mBAAA,EAAS;AAEtC,EAAA,uBACEC,cAAA;AAAA,IAACC,cAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,SAAA,EAAU,eAAA;AAAA,MACV,KAAA,EAAO;AAAA,QACL,OAAA,kBACED,cAAA,CAACE,2BAAA,EAAA,EAAgB,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,QAEtC,IAAA,kBACEF,cAAA,CAACG,oBAAA,EAAA,EAAS,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,QAE/B,OAAA,kBACEH,cAAA,CAACI,6BAAA,EAAA,EAAkB,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,QAExC,KAAA,kBACEJ,cAAA,CAACK,wBAAA,EAAA,EAAa,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,QAEnC,OAAA,kBACEL,cAAA,CAACM,uBAAA,EAAA,EAAY,SAAA,EAAU,qBAAA,EAAsB;AAAA,OAEjD;AAAA,MACA,KAAA,EACE;AAAA,QACE,aAAA,EAAe,gBAAA;AAAA,QACf,eAAA,EAAiB,2BAAA;AAAA,QACjB,iBAAA,EAAmB,eAAA;AAAA,QACnB,iBAAA,EAAmB;AAAA,OACrB;AAAA,MAEF,YAAA,EAAc;AAAA,QACZ,UAAA,EAAY;AAAA,UACV,KAAA,EAAO;AAAA;AACT,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"sonner.cjs","sourcesContent":["\"use client\"\n\nimport { useTheme } from \"next-themes\"\nimport { Toaster as Sonner, type ToasterProps } from \"sonner\"\nimport { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, Loader2Icon } from \"lucide-react\"\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme()\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n icons={{\n success: (\n <CircleCheckIcon className=\"size-4\" />\n ),\n info: (\n <InfoIcon className=\"size-4\" />\n ),\n warning: (\n <TriangleAlertIcon className=\"size-4\" />\n ),\n error: (\n <OctagonXIcon className=\"size-4\" />\n ),\n loading: (\n <Loader2Icon className=\"size-4 animate-spin\" />\n ),\n }}\n style={\n {\n \"--normal-bg\": \"var(--popover)\",\n \"--normal-text\": \"var(--popover-foreground)\",\n \"--normal-border\": \"var(--border)\",\n \"--border-radius\": \"var(--radius)\",\n } as React.CSSProperties\n }\n toastOptions={{\n classNames: {\n toast: \"cn-toast\",\n },\n }}\n {...props}\n />\n )\n}\n\nexport { Toaster }\n"]}
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ToasterProps } from 'sonner';
3
+
4
+ declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
5
+
6
+ export { Toaster };
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ToasterProps } from 'sonner';
3
+
4
+ declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
5
+
6
+ export { Toaster };
package/dist/sonner.js ADDED
@@ -0,0 +1,38 @@
1
+ import { useTheme } from 'next-themes';
2
+ import { Toaster as Toaster$1 } from 'sonner';
3
+ import { Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon } from 'lucide-react';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var Toaster = ({ ...props }) => {
7
+ const { theme = "system" } = useTheme();
8
+ return /* @__PURE__ */ jsx(
9
+ Toaster$1,
10
+ {
11
+ theme,
12
+ className: "toaster group",
13
+ icons: {
14
+ success: /* @__PURE__ */ jsx(CircleCheckIcon, { className: "size-4" }),
15
+ info: /* @__PURE__ */ jsx(InfoIcon, { className: "size-4" }),
16
+ warning: /* @__PURE__ */ jsx(TriangleAlertIcon, { className: "size-4" }),
17
+ error: /* @__PURE__ */ jsx(OctagonXIcon, { className: "size-4" }),
18
+ loading: /* @__PURE__ */ jsx(Loader2Icon, { className: "size-4 animate-spin" })
19
+ },
20
+ style: {
21
+ "--normal-bg": "var(--popover)",
22
+ "--normal-text": "var(--popover-foreground)",
23
+ "--normal-border": "var(--border)",
24
+ "--border-radius": "var(--radius)"
25
+ },
26
+ toastOptions: {
27
+ classNames: {
28
+ toast: "cn-toast"
29
+ }
30
+ },
31
+ ...props
32
+ }
33
+ );
34
+ };
35
+
36
+ export { Toaster };
37
+ //# sourceMappingURL=sonner.js.map
38
+ //# sourceMappingURL=sonner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sonner.tsx"],"names":["Sonner"],"mappings":";;;;;AAMA,IAAM,OAAA,GAAU,CAAC,EAAE,GAAG,OAAM,KAAoB;AAC9C,EAAA,MAAM,EAAE,KAAA,GAAQ,QAAA,EAAS,GAAI,QAAA,EAAS;AAEtC,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,SAAA,EAAU,eAAA;AAAA,MACV,KAAA,EAAO;AAAA,QACL,OAAA,kBACE,GAAA,CAAC,eAAA,EAAA,EAAgB,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,QAEtC,IAAA,kBACE,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,QAE/B,OAAA,kBACE,GAAA,CAAC,iBAAA,EAAA,EAAkB,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,QAExC,KAAA,kBACE,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,QAEnC,OAAA,kBACE,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,qBAAA,EAAsB;AAAA,OAEjD;AAAA,MACA,KAAA,EACE;AAAA,QACE,aAAA,EAAe,gBAAA;AAAA,QACf,eAAA,EAAiB,2BAAA;AAAA,QACjB,iBAAA,EAAmB,eAAA;AAAA,QACnB,iBAAA,EAAmB;AAAA,OACrB;AAAA,MAEF,YAAA,EAAc;AAAA,QACZ,UAAA,EAAY;AAAA,UACV,KAAA,EAAO;AAAA;AACT,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"sonner.js","sourcesContent":["\"use client\"\n\nimport { useTheme } from \"next-themes\"\nimport { Toaster as Sonner, type ToasterProps } from \"sonner\"\nimport { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, Loader2Icon } from \"lucide-react\"\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme()\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n icons={{\n success: (\n <CircleCheckIcon className=\"size-4\" />\n ),\n info: (\n <InfoIcon className=\"size-4\" />\n ),\n warning: (\n <TriangleAlertIcon className=\"size-4\" />\n ),\n error: (\n <OctagonXIcon className=\"size-4\" />\n ),\n loading: (\n <Loader2Icon className=\"size-4 animate-spin\" />\n ),\n }}\n style={\n {\n \"--normal-bg\": \"var(--popover)\",\n \"--normal-text\": \"var(--popover-foreground)\",\n \"--normal-border\": \"var(--border)\",\n \"--border-radius\": \"var(--radius)\",\n } as React.CSSProperties\n }\n toastOptions={{\n classNames: {\n toast: \"cn-toast\",\n },\n }}\n {...props}\n />\n )\n}\n\nexport { Toaster }\n"]}
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+
5
+ // src/sparkline.tsx
6
+ function Sparkline({
7
+ data,
8
+ color = "var(--primary)",
9
+ height = 28,
10
+ width = 80,
11
+ className
12
+ }) {
13
+ const max = Math.max(...data);
14
+ const min = Math.min(...data);
15
+ const range = max - min || 1;
16
+ const points = data.map(
17
+ (v, i) => `${i / (data.length - 1) * width},${height - (v - min) / range * (height - 4) - 2}`
18
+ ).join(" ");
19
+ return /* @__PURE__ */ jsxRuntime.jsx(
20
+ "svg",
21
+ {
22
+ viewBox: `0 0 ${width} ${height}`,
23
+ width: className ? void 0 : width,
24
+ height,
25
+ preserveAspectRatio: "none",
26
+ className: className ?? "block",
27
+ children: /* @__PURE__ */ jsxRuntime.jsx(
28
+ "polyline",
29
+ {
30
+ points,
31
+ fill: "none",
32
+ stroke: color,
33
+ strokeWidth: "1.5",
34
+ strokeLinecap: "round",
35
+ strokeLinejoin: "round"
36
+ }
37
+ )
38
+ }
39
+ );
40
+ }
41
+
42
+ exports.Sparkline = Sparkline;
43
+ //# sourceMappingURL=sparkline.cjs.map
44
+ //# sourceMappingURL=sparkline.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sparkline.tsx"],"names":["jsx"],"mappings":";;;;;AAYO,SAAS,SAAA,CAAU;AAAA,EACxB,IAAA;AAAA,EACA,KAAA,GAAQ,gBAAA;AAAA,EACR,MAAA,GAAS,EAAA;AAAA,EACT,KAAA,GAAQ,EAAA;AAAA,EACR;AACF,CAAA,EAAmB;AACjB,EAAA,MAAM,GAAA,GAAM,IAAA,CAAK,GAAA,CAAI,GAAG,IAAI,CAAA;AAC5B,EAAA,MAAM,GAAA,GAAM,IAAA,CAAK,GAAA,CAAI,GAAG,IAAI,CAAA;AAC5B,EAAA,MAAM,KAAA,GAAQ,MAAM,GAAA,IAAO,CAAA;AAC3B,EAAA,MAAM,SAAS,IAAA,CACZ,GAAA;AAAA,IACC,CAAC,CAAA,EAAG,CAAA,KACF,CAAA,EAAI,CAAA,IAAK,KAAK,MAAA,GAAS,CAAA,CAAA,GAAM,KAAK,CAAA,CAAA,EAAI,UAAW,CAAA,GAAI,GAAA,IAAO,KAAA,IAAU,MAAA,GAAS,KAAK,CAAC,CAAA;AAAA,GACzF,CACC,KAAK,GAAG,CAAA;AAEX,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,CAAA,IAAA,EAAO,KAAK,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAAA,MAC/B,KAAA,EAAO,YAAY,MAAA,GAAY,KAAA;AAAA,MAC/B,MAAA;AAAA,MACA,mBAAA,EAAoB,MAAA;AAAA,MACpB,WAAW,SAAA,IAAa,OAAA;AAAA,MAExB,QAAA,kBAAAA,cAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,MAAA;AAAA,UACA,IAAA,EAAK,MAAA;AAAA,UACL,MAAA,EAAQ,KAAA;AAAA,UACR,WAAA,EAAY,KAAA;AAAA,UACZ,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe;AAAA;AAAA;AACjB;AAAA,GACF;AAEJ","file":"sparkline.cjs","sourcesContent":["// Copyright (c) 2026, Invergent SA, developed by Flavius Burca\n// SPDX-License-Identifier: AGPL-3.0-only\n//\n\ninterface SparklineProps {\n data: number[];\n color?: string;\n height?: number;\n width?: number;\n className?: string;\n}\n\nexport function Sparkline({\n data,\n color = \"var(--primary)\",\n height = 28,\n width = 80,\n className,\n}: SparklineProps) {\n const max = Math.max(...data);\n const min = Math.min(...data);\n const range = max - min || 1;\n const points = data\n .map(\n (v, i) =>\n `${(i / (data.length - 1)) * width},${height - ((v - min) / range) * (height - 4) - 2}`,\n )\n .join(\" \");\n\n return (\n <svg\n viewBox={`0 0 ${width} ${height}`}\n width={className ? undefined : width}\n height={height}\n preserveAspectRatio=\"none\"\n className={className ?? \"block\"}\n >\n <polyline\n points={points}\n fill=\"none\"\n stroke={color}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface SparklineProps {
4
+ data: number[];
5
+ color?: string;
6
+ height?: number;
7
+ width?: number;
8
+ className?: string;
9
+ }
10
+ declare function Sparkline({ data, color, height, width, className, }: SparklineProps): react_jsx_runtime.JSX.Element;
11
+
12
+ export { Sparkline };