@bzync/rui 0.0.5 → 0.0.8

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 (240) hide show
  1. package/README.md +5 -0
  2. package/dist/autocomplete-D6z5B-WU.cjs +1 -0
  3. package/dist/{autocomplete-BgKbj6M4.js → autocomplete-bgySuP8X.js} +149 -142
  4. package/dist/calendar-CQumLNgS.cjs +1 -0
  5. package/dist/{calendar-j2_zvum1.js → calendar-nkYCMEy3.js} +9 -9
  6. package/dist/charts-Cot5lCgC.cjs +1 -0
  7. package/dist/{charts-CxEy2c3M.js → charts-Dscl6UC3.js} +122 -145
  8. package/dist/cn-B6R3HKzx.cjs +1 -0
  9. package/dist/{cn-DpgY2leY.js → cn-BJyZJP-y.js} +389 -389
  10. package/dist/{component-styles-Bgy44fc8.js → component-styles-C2CbHEEA.js} +2 -2
  11. package/dist/component-styles-DY4wigiq.cjs +1 -0
  12. package/dist/components/accordion.cjs +1 -1
  13. package/dist/components/accordion.js +2 -2
  14. package/dist/components/alert.cjs +1 -1
  15. package/dist/components/alert.js +3 -3
  16. package/dist/components/aspect-ratio.cjs +1 -1
  17. package/dist/components/aspect-ratio.js +1 -1
  18. package/dist/components/auth-backdrop.cjs +1 -1
  19. package/dist/components/auth-backdrop.d.ts +4 -1
  20. package/dist/components/auth-backdrop.js +12 -8
  21. package/dist/components/autocomplete/dropdown.d.ts +4 -1
  22. package/dist/components/autocomplete/multi-trigger.d.ts +3 -1
  23. package/dist/components/autocomplete/single-trigger.d.ts +3 -1
  24. package/dist/components/autocomplete/types.d.ts +15 -0
  25. package/dist/components/autocomplete.cjs +1 -1
  26. package/dist/components/autocomplete.js +1 -1
  27. package/dist/components/avatar-group.cjs +1 -1
  28. package/dist/components/avatar-group.js +1 -1
  29. package/dist/components/avatar.cjs +1 -1
  30. package/dist/components/avatar.js +2 -2
  31. package/dist/components/badge.cjs +1 -1
  32. package/dist/components/badge.js +1 -1
  33. package/dist/components/billing-interval-toggle.cjs +1 -1
  34. package/dist/components/billing-interval-toggle.d.ts +4 -6
  35. package/dist/components/billing-interval-toggle.js +26 -19
  36. package/dist/components/blockquote.cjs +1 -1
  37. package/dist/components/blockquote.js +3 -3
  38. package/dist/components/breadcrumb.cjs +1 -1
  39. package/dist/components/breadcrumb.js +2 -2
  40. package/dist/components/button-group.cjs +1 -1
  41. package/dist/components/button-group.js +1 -1
  42. package/dist/components/button.cjs +1 -1
  43. package/dist/components/button.d.ts +2 -0
  44. package/dist/components/button.js +79 -36
  45. package/dist/components/calendar.cjs +1 -1
  46. package/dist/components/calendar.js +1 -1
  47. package/dist/components/callout.cjs +1 -1
  48. package/dist/components/callout.js +14 -14
  49. package/dist/components/card.cjs +1 -1
  50. package/dist/components/card.js +1 -1
  51. package/dist/components/charts/shared.d.ts +15 -0
  52. package/dist/components/charts.cjs +1 -1
  53. package/dist/components/charts.js +1 -1
  54. package/dist/components/checkbox.cjs +1 -1
  55. package/dist/components/checkbox.js +3 -3
  56. package/dist/components/code.cjs +3 -3
  57. package/dist/components/code.js +4 -4
  58. package/dist/components/command.cjs +1 -1
  59. package/dist/components/command.d.ts +8 -1
  60. package/dist/components/command.js +84 -83
  61. package/dist/components/confirm-dialog.cjs +1 -1
  62. package/dist/components/confirm-dialog.d.ts +8 -1
  63. package/dist/components/confirm-dialog.js +37 -31
  64. package/dist/components/copy-button.cjs +1 -1
  65. package/dist/components/copy-button.js +3 -2
  66. package/dist/components/currency.cjs +1 -1
  67. package/dist/components/currency.js +1 -1
  68. package/dist/components/datatable/types.d.ts +4 -0
  69. package/dist/components/datatable.cjs +1 -1
  70. package/dist/components/datatable.d.ts +1 -5
  71. package/dist/components/datatable.js +1 -1
  72. package/dist/components/datepicker.cjs +1 -1
  73. package/dist/components/datepicker.d.ts +3 -3
  74. package/dist/components/datepicker.js +234 -105
  75. package/dist/components/description-list.cjs +1 -1
  76. package/dist/components/description-list.js +1 -1
  77. package/dist/components/divider.cjs +1 -1
  78. package/dist/components/divider.js +1 -1
  79. package/dist/components/drawer.cjs +1 -1
  80. package/dist/components/drawer.d.ts +6 -1
  81. package/dist/components/drawer.js +128 -2
  82. package/dist/components/dropdown-menu-panel.cjs +1 -0
  83. package/dist/components/dropdown-menu-panel.d.ts +24 -0
  84. package/dist/components/dropdown-menu-panel.js +84 -0
  85. package/dist/components/dropdown-menu.cjs +1 -1
  86. package/dist/components/dropdown-menu.d.ts +5 -1
  87. package/dist/components/dropdown-menu.js +38 -93
  88. package/dist/components/empty-state.cjs +1 -1
  89. package/dist/components/empty-state.d.ts +5 -1
  90. package/dist/components/empty-state.js +9 -9
  91. package/dist/components/error-state.cjs +1 -1
  92. package/dist/components/error-state.js +2 -2
  93. package/dist/components/file-upload.cjs +1 -1
  94. package/dist/components/file-upload.js +4 -4
  95. package/dist/components/form-field.cjs +1 -1
  96. package/dist/components/form-field.d.ts +9 -0
  97. package/dist/components/form-field.js +49 -14
  98. package/dist/components/info-button.cjs +1 -1
  99. package/dist/components/info-button.d.ts +5 -3
  100. package/dist/components/info-button.js +33 -29
  101. package/dist/components/input.cjs +1 -1
  102. package/dist/components/input.js +3 -3
  103. package/dist/components/kbd.cjs +1 -1
  104. package/dist/components/kbd.js +1 -1
  105. package/dist/components/label.cjs +1 -1
  106. package/dist/components/label.js +2 -2
  107. package/dist/components/layout.cjs +1 -1
  108. package/dist/components/layout.js +1 -1
  109. package/dist/components/link.cjs +1 -1
  110. package/dist/components/link.js +1 -1
  111. package/dist/components/list.cjs +1 -1
  112. package/dist/components/list.js +1 -1
  113. package/dist/components/modal.cjs +1 -1
  114. package/dist/components/modal.d.ts +8 -1
  115. package/dist/components/modal.js +74 -120
  116. package/dist/components/navigation.cjs +1 -1
  117. package/dist/components/navigation.js +2 -2
  118. package/dist/components/number-input.cjs +1 -1
  119. package/dist/components/number-input.js +3 -3
  120. package/dist/components/otp-input.cjs +1 -1
  121. package/dist/components/otp-input.js +2 -2
  122. package/dist/components/overlay.cjs +1 -0
  123. package/dist/components/overlay.d.ts +52 -0
  124. package/dist/components/overlay.js +87 -0
  125. package/dist/components/pagination.cjs +1 -1
  126. package/dist/components/pagination.js +2 -2
  127. package/dist/components/popover.cjs +1 -1
  128. package/dist/components/popover.d.ts +2 -1
  129. package/dist/components/popover.js +41 -40
  130. package/dist/components/progressbar.cjs +1 -1
  131. package/dist/components/progressbar.js +1 -1
  132. package/dist/components/radio.cjs +1 -1
  133. package/dist/components/radio.js +3 -3
  134. package/dist/components/rating.cjs +1 -1
  135. package/dist/components/rating.js +3 -3
  136. package/dist/components/richtext.cjs +1 -1
  137. package/dist/components/richtext.js +2 -2
  138. package/dist/components/scroll-area.cjs +1 -1
  139. package/dist/components/scroll-area.js +3 -3
  140. package/dist/components/select/option-list.d.ts +3 -1
  141. package/dist/components/select/types.d.ts +4 -0
  142. package/dist/components/select.cjs +1 -1
  143. package/dist/components/select.js +1 -1
  144. package/dist/components/seo.cjs +1 -1
  145. package/dist/components/seo.js +1 -1
  146. package/dist/components/separator.cjs +1 -1
  147. package/dist/components/separator.js +1 -1
  148. package/dist/components/skeleton.cjs +1 -1
  149. package/dist/components/skeleton.d.ts +14 -1
  150. package/dist/components/skeleton.js +56 -4
  151. package/dist/components/slider.cjs +1 -1
  152. package/dist/components/slider.js +2 -2
  153. package/dist/components/slot.cjs +1 -0
  154. package/dist/components/slot.d.ts +12 -0
  155. package/dist/components/slot.js +16 -0
  156. package/dist/components/snackbar-viewport.cjs +1 -0
  157. package/dist/components/snackbar-viewport.d.ts +27 -0
  158. package/dist/components/snackbar-viewport.js +181 -0
  159. package/dist/components/snackbar.cjs +1 -1
  160. package/dist/components/snackbar.d.ts +5 -1
  161. package/dist/components/snackbar.js +36 -200
  162. package/dist/components/spinner.cjs +1 -1
  163. package/dist/components/spinner.js +1 -1
  164. package/dist/components/stat.cjs +1 -1
  165. package/dist/components/stat.js +1 -1
  166. package/dist/components/status-dot.cjs +1 -1
  167. package/dist/components/status-dot.js +1 -1
  168. package/dist/components/stepper.cjs +1 -1
  169. package/dist/components/stepper.js +5 -5
  170. package/dist/components/switch.cjs +1 -1
  171. package/dist/components/switch.js +37 -43
  172. package/dist/components/table.cjs +1 -1
  173. package/dist/components/table.js +1 -1
  174. package/dist/components/tabs.cjs +1 -1
  175. package/dist/components/tabs.d.ts +6 -4
  176. package/dist/components/tabs.js +51 -81
  177. package/dist/components/tag.cjs +1 -1
  178. package/dist/components/tag.js +1 -1
  179. package/dist/components/terminal.cjs +1 -1
  180. package/dist/components/terminal.js +1 -1
  181. package/dist/components/textarea.cjs +1 -1
  182. package/dist/components/textarea.js +3 -3
  183. package/dist/components/theme-provider.cjs +1 -1
  184. package/dist/components/theme-provider.js +1 -1
  185. package/dist/components/theme-toggle.cjs +1 -1
  186. package/dist/components/theme-toggle.js +27 -3
  187. package/dist/components/time-picker.cjs +1 -1
  188. package/dist/components/time-picker.d.ts +2 -0
  189. package/dist/components/time-picker.js +206 -148
  190. package/dist/components/timeline.cjs +1 -1
  191. package/dist/components/timeline.js +1 -1
  192. package/dist/components/toggle.cjs +1 -1
  193. package/dist/components/toggle.js +2 -2
  194. package/dist/components/tooltip.cjs +1 -1
  195. package/dist/components/tooltip.d.ts +2 -1
  196. package/dist/components/tooltip.js +37 -36
  197. package/dist/components/tree.cjs +1 -1
  198. package/dist/components/tree.js +1 -1
  199. package/dist/components/typography.cjs +1 -1
  200. package/dist/components/typography.d.ts +2 -3
  201. package/dist/components/typography.js +37 -24
  202. package/dist/components/visually-hidden.cjs +1 -0
  203. package/dist/components/visually-hidden.d.ts +16 -0
  204. package/dist/components/visually-hidden.js +13 -0
  205. package/dist/{datatable-yBN4M3UV.js → datatable-BJoZMrKI.js} +6 -6
  206. package/dist/datatable-t0U7t_xh.cjs +1 -0
  207. package/dist/icons-Dfetr1L2.cjs +1 -0
  208. package/dist/icons-Dk7VZ4Ph.js +51 -0
  209. package/dist/index.cjs +1 -1
  210. package/dist/index.d.ts +4 -0
  211. package/dist/index.js +126 -99
  212. package/dist/lib/cn.d.ts +13 -1
  213. package/dist/lib/component-styles.d.ts +14 -2
  214. package/dist/lib/icons.d.ts +12 -0
  215. package/dist/lib/motion.d.ts +58 -0
  216. package/dist/motion-B2shivEB.cjs +1 -0
  217. package/dist/motion-gnRzFS5f.js +62 -0
  218. package/dist/select-ByjnuEcE.cjs +1 -0
  219. package/dist/{select-ClWrcj3R.js → select-CiMzLhUK.js} +128 -122
  220. package/dist/styles.css +1 -1
  221. package/dist/{terminal-CpraMs50.cjs → terminal-1U0ftG3i.cjs} +2 -2
  222. package/dist/{terminal-BOR2cFi1.js → terminal-VXdxVoAv.js} +4 -4
  223. package/dist/use-focus-trap-CPLT49gN.cjs +1 -0
  224. package/dist/use-focus-trap-CS6BXJAB.js +77 -0
  225. package/dist/{utils-CQ8pvCtk.js → utils-DEw5mQrH.js} +1 -1
  226. package/dist/{utils-DOFJTw8o.cjs → utils-MnnCTelh.cjs} +1 -1
  227. package/package.json +56 -9
  228. package/dist/autocomplete-Bk4pRQ2R.cjs +0 -1
  229. package/dist/calendar-CUXpVrVE.cjs +0 -1
  230. package/dist/charts-UDqS1BH1.cjs +0 -1
  231. package/dist/cn-BdjraxxU.cjs +0 -1
  232. package/dist/component-styles-DOUctc8_.cjs +0 -1
  233. package/dist/createLucideIcon-DDY8HuQR.js +0 -42
  234. package/dist/createLucideIcon-b_X_3fj-.cjs +0 -1
  235. package/dist/datatable-rzDgQ3r6.cjs +0 -1
  236. package/dist/drawer-CTeBsYrO.cjs +0 -1
  237. package/dist/drawer-ixuzyLVS.js +0 -189
  238. package/dist/select-BFwx--uK.cjs +0 -1
  239. package/dist/theme-toggle-Bb0BYo51.js +0 -71
  240. package/dist/theme-toggle-Cld8tktJ.cjs +0 -1
@@ -1,10 +1,11 @@
1
1
  "use client";
2
- import { t as e } from "../cn-DpgY2leY.js";
3
- import { s as t } from "../component-styles-Bgy44fc8.js";
4
- import { forwardRef as n, memo as r } from "react";
5
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
2
+ import { t as e } from "../cn-BJyZJP-y.js";
3
+ import { s as t } from "../component-styles-C2CbHEEA.js";
4
+ import { Slot as n } from "./slot.js";
5
+ import { forwardRef as r, memo as i } from "react";
6
+ import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
6
7
  //#region src/components/button.tsx
7
- var o = {
8
+ var c = {
8
9
  primary: [
9
10
  "bg-primary hover:bg-primary-hover active:bg-primary-hover",
10
11
  "text-primary-foreground font-semibold",
@@ -31,60 +32,102 @@ var o = {
31
32
  "border border-transparent shadow-xs"
32
33
  ].join(" "),
33
34
  link: "h-auto bg-transparent p-0 text-accent-700 underline-offset-4 hover:underline dark:text-accent-300"
34
- }, s = {
35
+ }, l = {
35
36
  sm: "h-8 px-3 text-xs rounded-[var(--radius-md)] gap-1.5",
36
37
  md: "h-9 px-4 text-sm rounded-[var(--radius-lg)] gap-2",
37
38
  lg: "h-10 px-5 text-sm rounded-[var(--radius-lg)] gap-2.5",
38
39
  icon: "size-9 rounded-[var(--radius-md)] p-0"
39
- }, c = n(({ className: n, variant: r = "primary", size: c = "md", loading: l = !1, icon: u, iconPosition: d = "left", variantClassName: f, unstyled: p = !1, children: m, disabled: h, type: g = "button", ..._ }, v) => {
40
- let y = h || l;
41
- return p ? /* @__PURE__ */ i("button", {
42
- ref: v,
43
- type: g,
44
- disabled: y,
45
- className: e(n, f),
46
- ..._,
47
- children: l ? "Loading…" : m
48
- }) : /* @__PURE__ */ a("button", {
49
- ref: v,
50
- type: g,
51
- "data-loading": l || void 0,
52
- className: e("inline-flex items-center justify-center cursor-pointer select-none whitespace-nowrap", "transition-[color,background-color,border-color,box-shadow] duration-150", "disabled:opacity-40 disabled:cursor-not-allowed", t, o[r], f, s[c], n),
53
- disabled: y,
54
- "aria-busy": l || void 0,
55
- ..._,
56
- children: [
57
- l && /* @__PURE__ */ a("svg", {
40
+ }, u = r(({ className: r, variant: i = "primary", size: u = "md", loading: d = !1, icon: f, iconPosition: p = "left", variantClassName: m, unstyled: h = !1, asChild: g = !1, children: _, disabled: v, type: y = "button", ...b }, x) => {
41
+ let S = v || d, C = d && _ != null && _ !== "";
42
+ if (h) return g ? /* @__PURE__ */ o(n, {
43
+ ref: x,
44
+ className: e(r, m),
45
+ ...b,
46
+ children: _
47
+ }) : /* @__PURE__ */ o("button", {
48
+ ref: x,
49
+ type: y,
50
+ disabled: S,
51
+ className: e(r, m),
52
+ ...b,
53
+ children: d ? "Loading…" : _
54
+ });
55
+ let w = e("inline-flex items-center justify-center cursor-pointer select-none whitespace-nowrap", "transition-[color,background-color,border-color,box-shadow] duration-150", "disabled:opacity-40 disabled:cursor-not-allowed", t, c[i], m, l[u], C && "relative", r);
56
+ return g ? /* @__PURE__ */ o(n, {
57
+ ref: x,
58
+ className: w,
59
+ "data-loading": d || void 0,
60
+ "aria-busy": d || void 0,
61
+ "aria-disabled": S || void 0,
62
+ ...b,
63
+ children: _
64
+ }) : /* @__PURE__ */ o("button", {
65
+ ref: x,
66
+ type: y,
67
+ "data-loading": d || void 0,
68
+ className: w,
69
+ disabled: S,
70
+ "aria-busy": d || void 0,
71
+ ...b,
72
+ children: C ? /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ s("span", {
73
+ className: "invisible inline-flex items-center gap-2",
74
+ children: [
75
+ f && p === "left" && /* @__PURE__ */ o("span", { className: "shrink-0 w-3.5 h-3.5" }),
76
+ /* @__PURE__ */ o("span", { children: _ }),
77
+ f && p === "right" && /* @__PURE__ */ o("span", { className: "shrink-0 w-3.5 h-3.5" })
78
+ ]
79
+ }), /* @__PURE__ */ o("span", {
80
+ className: "absolute inset-0 inline-flex items-center justify-center",
81
+ children: /* @__PURE__ */ s("svg", {
82
+ className: "animate-spin w-3.5 h-3.5",
83
+ viewBox: "0 0 24 24",
84
+ fill: "none",
85
+ "aria-hidden": "true",
86
+ children: [/* @__PURE__ */ o("circle", {
87
+ className: "opacity-25",
88
+ cx: "12",
89
+ cy: "12",
90
+ r: "10",
91
+ stroke: "currentColor",
92
+ strokeWidth: "4"
93
+ }), /* @__PURE__ */ o("path", {
94
+ className: "opacity-75",
95
+ fill: "currentColor",
96
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
97
+ })]
98
+ })
99
+ })] }) : /* @__PURE__ */ s(a, { children: [
100
+ d && /* @__PURE__ */ s("svg", {
58
101
  className: "animate-spin shrink-0 w-3.5 h-3.5",
59
102
  viewBox: "0 0 24 24",
60
103
  fill: "none",
61
104
  "aria-hidden": "true",
62
- children: [/* @__PURE__ */ i("circle", {
105
+ children: [/* @__PURE__ */ o("circle", {
63
106
  className: "opacity-25",
64
107
  cx: "12",
65
108
  cy: "12",
66
109
  r: "10",
67
110
  stroke: "currentColor",
68
111
  strokeWidth: "4"
69
- }), /* @__PURE__ */ i("path", {
112
+ }), /* @__PURE__ */ o("path", {
70
113
  className: "opacity-75",
71
114
  fill: "currentColor",
72
115
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
73
116
  })]
74
117
  }),
75
- !l && u && d === "left" && /* @__PURE__ */ i("span", {
118
+ !d && f && p === "left" && /* @__PURE__ */ o("span", {
76
119
  className: "shrink-0",
77
- children: u
120
+ children: f
78
121
  }),
79
- m && /* @__PURE__ */ i("span", { children: m }),
80
- !l && u && d === "right" && /* @__PURE__ */ i("span", {
122
+ _ && /* @__PURE__ */ o("span", { children: _ }),
123
+ !d && f && p === "right" && /* @__PURE__ */ o("span", {
81
124
  className: "shrink-0",
82
- children: u
125
+ children: f
83
126
  })
84
- ]
127
+ ] })
85
128
  });
86
129
  });
87
- c.displayName = "Button";
88
- var l = r(c);
130
+ u.displayName = "Button";
131
+ var d = i(u);
89
132
  //#endregion
90
- export { l as Button, s as buttonSizes, o as buttonVariants };
133
+ export { d as Button, l as buttonSizes, c as buttonVariants };
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../calendar-CUXpVrVE.cjs");exports.Calendar=e.t;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../calendar-CQumLNgS.cjs");exports.Calendar=e.t;
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { t as e } from "../calendar-j2_zvum1.js";
2
+ import { t as e } from "../calendar-nkYCMEy3.js";
3
3
  export { e as Calendar };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-BdjraxxU.cjs");let t=require("react/jsx-runtime");var n={default:{wrap:`bg-black/4 dark:bg-white/4 border-black/12 dark:border-white/12`,icon:`text-slate-500`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,t.jsx)(`path`,{d:`M12 16v-4`}),(0,t.jsx)(`path`,{d:`M12 8h.01`})]})},info:{wrap:`bg-sky-500/8 border-sky-500/20`,icon:`text-sky-400`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,t.jsx)(`path`,{d:`M12 16v-4`}),(0,t.jsx)(`path`,{d:`M12 8h.01`})]})},success:{wrap:`bg-emerald-500/8 border-emerald-500/20`,icon:`text-emerald-400`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`path`,{d:`M22 11.08V12a10 10 0 1 1-5.93-9.14`}),(0,t.jsx)(`path`,{d:`m9 11 3 3L22 4`})]})},warning:{wrap:`bg-amber-500/8 border-amber-500/20`,icon:`text-amber-400`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,t.jsx)(`path`,{d:`M12 9v4`}),(0,t.jsx)(`path`,{d:`M12 17h.01`})]})},error:{wrap:`bg-red-500/8 border-red-500/20`,icon:`text-red-400`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,t.jsx)(`path`,{d:`m15 9-6 6`}),(0,t.jsx)(`path`,{d:`m9 9 6 6`})]})}};function r({variant:r=`info`,icon:i,title:a,className:o,children:s,...c}){let{wrap:l,icon:u,defaultIcon:d}=n[r];return(0,t.jsxs)(`div`,{className:e.t(`flex gap-3 rounded-xl border px-4 py-3.5`,l,o),role:`note`,...c,children:[(0,t.jsx)(`span`,{className:e.t(`shrink-0 mt-0.5`,u),children:i??d}),(0,t.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a&&(0,t.jsx)(`p`,{className:`text-sm font-semibold text-gray-900 dark:text-white mb-0.5 leading-snug`,children:a}),(0,t.jsx)(`div`,{className:`text-sm leading-relaxed text-slate-600 dark:text-slate-400`,children:s})]})]})}exports.Callout=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-B6R3HKzx.cjs");let t=require("react/jsx-runtime");var n={default:{wrap:`bg-muted border-border`,icon:`text-muted-foreground`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,t.jsx)(`path`,{d:`M12 16v-4`}),(0,t.jsx)(`path`,{d:`M12 8h.01`})]})},info:{wrap:`bg-sky-500/[0.08] border-sky-500/20`,icon:`text-sky-600 dark:text-sky-400`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,t.jsx)(`path`,{d:`M12 16v-4`}),(0,t.jsx)(`path`,{d:`M12 8h.01`})]})},success:{wrap:`bg-emerald-500/[0.08] border-emerald-500/20`,icon:`text-emerald-600 dark:text-emerald-400`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`path`,{d:`M22 11.08V12a10 10 0 1 1-5.93-9.14`}),(0,t.jsx)(`path`,{d:`m9 11 3 3L22 4`})]})},warning:{wrap:`bg-amber-500/[0.08] border-amber-500/20`,icon:`text-amber-600 dark:text-amber-400`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,t.jsx)(`path`,{d:`M12 9v4`}),(0,t.jsx)(`path`,{d:`M12 17h.01`})]})},error:{wrap:`bg-red-500/[0.08] border-red-500/20`,icon:`text-red-600 dark:text-red-400`,defaultIcon:(0,t.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,t.jsx)(`path`,{d:`m15 9-6 6`}),(0,t.jsx)(`path`,{d:`m9 9 6 6`})]})}};function r({variant:r=`info`,icon:i,title:a,className:o,children:s,...c}){let{wrap:l,icon:u,defaultIcon:d}=n[r];return(0,t.jsxs)(`div`,{className:e.t(`flex gap-3 rounded-[var(--radius-lg)] border px-4 py-3.5`,l,o),role:`note`,...c,children:[(0,t.jsx)(`span`,{className:e.t(`shrink-0 mt-0.5`,u),children:i??d}),(0,t.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a&&(0,t.jsx)(`p`,{className:`text-sm font-semibold text-foreground mb-0.5 leading-snug`,children:a}),(0,t.jsx)(`div`,{className:`text-sm leading-relaxed text-foreground/80`,children:s})]})]})}exports.Callout=r;
@@ -1,10 +1,10 @@
1
- import { t as e } from "../cn-DpgY2leY.js";
1
+ import { t as e } from "../cn-BJyZJP-y.js";
2
2
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
3
  //#region src/components/callout.tsx
4
4
  var r = {
5
5
  default: {
6
- wrap: "bg-black/4 dark:bg-white/4 border-black/12 dark:border-white/12",
7
- icon: "text-slate-500",
6
+ wrap: "bg-muted border-border",
7
+ icon: "text-muted-foreground",
8
8
  defaultIcon: /* @__PURE__ */ n("svg", {
9
9
  width: "15",
10
10
  height: "15",
@@ -26,8 +26,8 @@ var r = {
26
26
  })
27
27
  },
28
28
  info: {
29
- wrap: "bg-sky-500/8 border-sky-500/20",
30
- icon: "text-sky-400",
29
+ wrap: "bg-sky-500/[0.08] border-sky-500/20",
30
+ icon: "text-sky-600 dark:text-sky-400",
31
31
  defaultIcon: /* @__PURE__ */ n("svg", {
32
32
  width: "15",
33
33
  height: "15",
@@ -49,8 +49,8 @@ var r = {
49
49
  })
50
50
  },
51
51
  success: {
52
- wrap: "bg-emerald-500/8 border-emerald-500/20",
53
- icon: "text-emerald-400",
52
+ wrap: "bg-emerald-500/[0.08] border-emerald-500/20",
53
+ icon: "text-emerald-600 dark:text-emerald-400",
54
54
  defaultIcon: /* @__PURE__ */ n("svg", {
55
55
  width: "15",
56
56
  height: "15",
@@ -64,8 +64,8 @@ var r = {
64
64
  })
65
65
  },
66
66
  warning: {
67
- wrap: "bg-amber-500/8 border-amber-500/20",
68
- icon: "text-amber-400",
67
+ wrap: "bg-amber-500/[0.08] border-amber-500/20",
68
+ icon: "text-amber-600 dark:text-amber-400",
69
69
  defaultIcon: /* @__PURE__ */ n("svg", {
70
70
  width: "15",
71
71
  height: "15",
@@ -83,8 +83,8 @@ var r = {
83
83
  })
84
84
  },
85
85
  error: {
86
- wrap: "bg-red-500/8 border-red-500/20",
87
- icon: "text-red-400",
86
+ wrap: "bg-red-500/[0.08] border-red-500/20",
87
+ icon: "text-red-600 dark:text-red-400",
88
88
  defaultIcon: /* @__PURE__ */ n("svg", {
89
89
  width: "15",
90
90
  height: "15",
@@ -109,7 +109,7 @@ var r = {
109
109
  function i({ variant: i = "info", icon: a, title: o, className: s, children: c, ...l }) {
110
110
  let { wrap: u, icon: d, defaultIcon: f } = r[i];
111
111
  return /* @__PURE__ */ n("div", {
112
- className: e("flex gap-3 rounded-xl border px-4 py-3.5", u, s),
112
+ className: e("flex gap-3 rounded-[var(--radius-lg)] border px-4 py-3.5", u, s),
113
113
  role: "note",
114
114
  ...l,
115
115
  children: [/* @__PURE__ */ t("span", {
@@ -118,10 +118,10 @@ function i({ variant: i = "info", icon: a, title: o, className: s, children: c,
118
118
  }), /* @__PURE__ */ n("div", {
119
119
  className: "flex-1 min-w-0",
120
120
  children: [o && /* @__PURE__ */ t("p", {
121
- className: "text-sm font-semibold text-gray-900 dark:text-white mb-0.5 leading-snug",
121
+ className: "text-sm font-semibold text-foreground mb-0.5 leading-snug",
122
122
  children: o
123
123
  }), /* @__PURE__ */ t("div", {
124
- className: "text-sm leading-relaxed text-slate-600 dark:text-slate-400",
124
+ className: "text-sm leading-relaxed text-foreground/80",
125
125
  children: c
126
126
  })]
127
127
  })]
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-BdjraxxU.cjs");let t=require("react/jsx-runtime");var n={default:`rounded-[var(--radius-xl)] border border-border bg-surface shadow-xs`,elevated:`rounded-[var(--radius-xl)] border border-border bg-surface-raised shadow-floating`,bordered:`rounded-[var(--radius-xl)] border border-border bg-transparent`,glass:`portal-panel rounded-[var(--radius-xl)] border`,flush:`rounded-[var(--radius-lg)] bg-surface`};function r({variant:r=`default`,variantClassName:i,unstyled:a=!1,className:o,children:s,...c}){return a?(0,t.jsx)(`div`,{className:e.t(o,i),...c,children:s}):(0,t.jsx)(`div`,{"data-variant":r,className:e.t(n[r],i,o),...c,children:s})}function i({className:n,children:r,...i}){return(0,t.jsx)(`div`,{className:e.t(`px-4 py-3 sm:px-5 sm:py-3.5`,`border-b border-border`,n),...i,children:r})}function a({as:n=`h3`,className:r,children:i,...a}){return(0,t.jsx)(n,{className:e.t(`text-sm font-semibold leading-5 text-foreground`,r),...a,children:i})}function o({className:n,children:r,...i}){return(0,t.jsx)(`p`,{className:e.t(`mt-1 text-sm leading-5 text-muted-foreground`,n),...i,children:r})}function s({className:n,children:r,...i}){return(0,t.jsx)(`div`,{className:e.t(`px-4 py-3.5 sm:px-5 sm:py-4`,n),...i,children:r})}function c({className:n,children:r,...i}){return(0,t.jsx)(`div`,{className:e.t(`px-4 py-3 sm:px-5 sm:py-3`,`border-t border-border`,`flex flex-wrap items-center gap-2 sm:gap-3`,n),...i,children:r})}exports.Card=r,exports.CardBody=s,exports.CardDescription=o,exports.CardFooter=c,exports.CardHeader=i,exports.CardTitle=a,exports.cardVariants=n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-B6R3HKzx.cjs");let t=require("react/jsx-runtime");var n={default:`rounded-[var(--radius-xl)] border border-border bg-surface shadow-xs`,elevated:`rounded-[var(--radius-xl)] border border-border bg-surface-raised shadow-floating`,bordered:`rounded-[var(--radius-xl)] border border-border bg-transparent`,glass:`portal-panel rounded-[var(--radius-xl)] border`,flush:`rounded-[var(--radius-lg)] bg-surface`};function r({variant:r=`default`,variantClassName:i,unstyled:a=!1,className:o,children:s,...c}){return a?(0,t.jsx)(`div`,{className:e.t(o,i),...c,children:s}):(0,t.jsx)(`div`,{"data-variant":r,className:e.t(n[r],i,o),...c,children:s})}function i({className:n,children:r,...i}){return(0,t.jsx)(`div`,{className:e.t(`px-4 py-3 sm:px-5 sm:py-3.5`,`border-b border-border`,n),...i,children:r})}function a({as:n=`h3`,className:r,children:i,...a}){return(0,t.jsx)(n,{className:e.t(`text-sm font-semibold leading-5 text-foreground`,r),...a,children:i})}function o({className:n,children:r,...i}){return(0,t.jsx)(`p`,{className:e.t(`mt-1 text-sm leading-5 text-muted-foreground`,n),...i,children:r})}function s({className:n,children:r,...i}){return(0,t.jsx)(`div`,{className:e.t(`px-4 py-3.5 sm:px-5 sm:py-4`,n),...i,children:r})}function c({className:n,children:r,...i}){return(0,t.jsx)(`div`,{className:e.t(`px-4 py-3 sm:px-5 sm:py-3`,`border-t border-border`,`flex flex-wrap items-center gap-2 sm:gap-3`,n),...i,children:r})}exports.Card=r,exports.CardBody=s,exports.CardDescription=o,exports.CardFooter=c,exports.CardHeader=i,exports.CardTitle=a,exports.cardVariants=n;
@@ -1,4 +1,4 @@
1
- import { t as e } from "../cn-DpgY2leY.js";
1
+ import { t as e } from "../cn-BJyZJP-y.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/components/card.tsx
4
4
  var n = {
@@ -4,6 +4,21 @@ export interface ChartDataPoint {
4
4
  value: number;
5
5
  color?: string;
6
6
  }
7
+ /**
8
+ * Fixed-order categorical series colors. Backed by CSS custom properties
9
+ * (`--chart-1`…`--chart-6` in globals.css) so light and dark each use their own
10
+ * validated steps. Assign in order and never cycle — a 7th+ series folds into
11
+ * an "Other" bucket, small multiples, or a second encoding.
12
+ */
13
+ export declare const CHART_SERIES: readonly ["var(--chart-1)", "var(--chart-2)", "var(--chart-3)", "var(--chart-4)", "var(--chart-5)", "var(--chart-6)"];
14
+ /** Positive / negative accents for waterfall & diff charts (theme-aware). */
15
+ export declare const CHART_POSITIVE = "var(--chart-2)";
16
+ export declare const CHART_NEGATIVE = "var(--chart-4)";
17
+ /**
18
+ * Single-hue cobalt ramp, dark → light. For magnitude of one measure
19
+ * (funnel stages, a sequential legend). Not for categorical identity.
20
+ */
21
+ export declare const CHART_SEQUENTIAL: readonly ["var(--color-accent-700)", "var(--color-accent-600)", "var(--color-accent-500)", "var(--color-accent-400)", "var(--color-accent-300)", "var(--color-accent-200)"];
7
22
  export interface TooltipState {
8
23
  x: number;
9
24
  y: number;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../charts-UDqS1BH1.cjs");exports.BarChart=e.u,exports.DonutChart=e.s,exports.FunnelChart=e.n,exports.GanttChart=e.a,exports.HeatmapChart=e.i,exports.LineChart=e.l,exports.MultiLineChart=e.c,exports.RadarChart=e.r,exports.ScatterChart=e.o,exports.WaterfallChart=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../charts-Cot5lCgC.cjs");exports.BarChart=e.u,exports.DonutChart=e.s,exports.FunnelChart=e.n,exports.GanttChart=e.a,exports.HeatmapChart=e.i,exports.LineChart=e.l,exports.MultiLineChart=e.c,exports.RadarChart=e.r,exports.ScatterChart=e.o,exports.WaterfallChart=e.t;
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../charts-CxEy2c3M.js";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../charts-Dscl6UC3.js";
2
2
  export { l as BarChart, s as DonutChart, i as FunnelChart, e as GanttChart, n as HeatmapChart, r as LineChart, t as MultiLineChart, o as RadarChart, a as ScatterChart, c as WaterfallChart };
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-BdjraxxU.cjs");require("../component-styles-DOUctc8_.cjs");let t=require("framer-motion"),n=require("react"),r=require("react/jsx-runtime");var i={sm:{box:`w-3.5 h-3.5 rounded`,check:10,label:`text-xs`,desc:`text-[10px]`},md:{box:`w-4 h-4 rounded-[4px]`,check:11,label:`text-sm`,desc:`text-xs`},lg:{box:`w-5 h-5 rounded-md`,check:13,label:`text-sm`,desc:`text-xs`}},a=(0,n.forwardRef)(({className:a,label:o,description:s,size:c=`md`,checked:l,defaultChecked:u,indeterminate:d=!1,onChange:f,disabled:p,error:m,id:h,...g},_)=>{let[v,y]=(0,n.useState)(l===void 0?u??!1:l);(0,n.useEffect)(()=>{l!==void 0&&y(l)},[l]);let b=(0,n.useId)(),x=h??b,S=`${x}-message`,C=(0,n.useRef)(null),w=i[c],T=v||d;return(0,n.useEffect)(()=>{C.current&&(C.current.indeterminate=d)},[d]),(0,r.jsxs)(`div`,{className:e.t(`flex flex-col gap-1`,a),children:[(0,r.jsxs)(`label`,{htmlFor:x,className:e.t(`flex items-start gap-2.5 cursor-pointer`,p&&`cursor-not-allowed opacity-50`),children:[(0,r.jsxs)(`div`,{className:e.t(`relative mt-0.5 shrink-0`,w.box),children:[(0,r.jsx)(`input`,{ref:e=>{C.current=e,typeof _==`function`?_(e):_&&(_.current=e)},type:`checkbox`,id:x,className:`peer absolute inset-0 z-10 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed`,"aria-invalid":m?!0:void 0,"aria-describedby":m||s?S:void 0,"aria-checked":d?`mixed`:v,checked:v,disabled:p,onChange:e=>{l===void 0&&y(e.target.checked),f?.(e)},...g}),(0,r.jsx)(`div`,{className:e.t(`w-full h-full border-2 flex items-center justify-center transition-colors duration-[120ms] peer-focus-visible:ring-2 peer-focus-visible:ring-focus-ring/35 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-bg`,w.box,T?`bg-accent-600 border-accent-600 dark:bg-accent-500 dark:border-accent-500`:m?`bg-transparent border-red-500/50`:`bg-transparent border-black/25 dark:border-white/25`),children:(0,r.jsx)(t.AnimatePresence,{mode:`wait`,children:d?(0,r.jsx)(t.motion.svg,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{duration:.1},width:w.check,height:w.check,viewBox:`0 0 14 14`,fill:`none`,stroke:`white`,strokeWidth:`2.5`,strokeLinecap:`round`,children:(0,r.jsx)(`path`,{d:`M3 7h8`})},`minus`):v?(0,r.jsx)(t.motion.svg,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{type:`spring`,stiffness:600,damping:30},width:w.check,height:w.check,viewBox:`0 0 14 14`,fill:`none`,stroke:`white`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,r.jsx)(`path`,{d:`M2.5 7l3 3 6-6`})},`check`):null})})]}),(o||s)&&(0,r.jsxs)(`div`,{className:`min-w-0`,children:[o&&(0,r.jsx)(`p`,{className:e.t(`font-medium text-foreground leading-snug`,w.label),children:o}),s&&(0,r.jsx)(`p`,{id:m?void 0:S,className:e.t(`mt-0.5 text-muted-foreground`,w.desc),children:s})]})]}),m&&(0,r.jsx)(`p`,{id:S,"aria-live":`polite`,className:e.t(`text-xs leading-5 text-destructive`,`ml-[26px]`),children:m})]})});a.displayName=`Checkbox`,exports.Checkbox=a;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-B6R3HKzx.cjs");require("../component-styles-DY4wigiq.cjs");let t=require("framer-motion"),n=require("react"),r=require("react/jsx-runtime");var i={sm:{box:`w-3.5 h-3.5 rounded`,check:10,label:`text-xs`,desc:`text-[10px]`},md:{box:`w-4 h-4 rounded-[4px]`,check:11,label:`text-sm`,desc:`text-xs`},lg:{box:`w-5 h-5 rounded-md`,check:13,label:`text-sm`,desc:`text-xs`}},a=(0,n.forwardRef)(({className:a,label:o,description:s,size:c=`md`,checked:l,defaultChecked:u,indeterminate:d=!1,onChange:f,disabled:p,error:m,id:h,...g},_)=>{let[v,y]=(0,n.useState)(l===void 0?u??!1:l);(0,n.useEffect)(()=>{l!==void 0&&y(l)},[l]);let b=(0,n.useId)(),x=h??b,S=`${x}-message`,C=(0,n.useRef)(null),w=i[c],T=v||d;return(0,n.useEffect)(()=>{C.current&&(C.current.indeterminate=d)},[d]),(0,r.jsxs)(`div`,{className:e.t(`flex flex-col gap-1`,a),children:[(0,r.jsxs)(`label`,{htmlFor:x,className:e.t(`flex items-start gap-2.5 cursor-pointer`,p&&`cursor-not-allowed opacity-50`),children:[(0,r.jsxs)(`div`,{className:e.t(`relative mt-0.5 shrink-0`,w.box),children:[(0,r.jsx)(`input`,{ref:e=>{C.current=e,typeof _==`function`?_(e):_&&(_.current=e)},type:`checkbox`,id:x,className:`peer absolute inset-0 z-10 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed`,"aria-invalid":m?!0:void 0,"aria-describedby":m||s?S:void 0,"aria-checked":d?`mixed`:v,checked:v,disabled:p,onChange:e=>{l===void 0&&y(e.target.checked),f?.(e)},...g}),(0,r.jsx)(`div`,{className:e.t(`w-full h-full border-2 flex items-center justify-center transition-colors duration-[120ms] peer-focus-visible:ring-[3px] peer-focus-visible:ring-focus-ring/35 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-bg`,w.box,T?`bg-accent-600 border-accent-600 dark:bg-accent-500 dark:border-accent-500`:m?`bg-transparent border-red-500/50`:`bg-transparent border-black/25 dark:border-white/25`),children:(0,r.jsx)(t.AnimatePresence,{mode:`wait`,children:d?(0,r.jsx)(t.motion.svg,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{duration:.1},width:w.check,height:w.check,viewBox:`0 0 14 14`,fill:`none`,stroke:`white`,strokeWidth:`2.5`,strokeLinecap:`round`,children:(0,r.jsx)(`path`,{d:`M3 7h8`})},`minus`):v?(0,r.jsx)(t.motion.svg,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{type:`spring`,stiffness:600,damping:30},width:w.check,height:w.check,viewBox:`0 0 14 14`,fill:`none`,stroke:`white`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,r.jsx)(`path`,{d:`M2.5 7l3 3 6-6`})},`check`):null})})]}),(o||s)&&(0,r.jsxs)(`div`,{className:`min-w-0`,children:[o&&(0,r.jsx)(`p`,{className:e.t(`font-medium text-foreground leading-snug`,w.label),children:o}),s&&(0,r.jsx)(`p`,{id:m?void 0:S,className:e.t(`mt-0.5 text-muted-foreground`,w.desc),children:s})]})]}),m&&(0,r.jsx)(`p`,{id:S,"aria-live":`polite`,className:e.t(`text-xs leading-5 text-destructive`,`ml-[26px]`),children:m})]})});a.displayName=`Checkbox`,exports.Checkbox=a;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { t as e } from "../cn-DpgY2leY.js";
3
- import "../component-styles-Bgy44fc8.js";
2
+ import { t as e } from "../cn-BJyZJP-y.js";
3
+ import "../component-styles-C2CbHEEA.js";
4
4
  import { AnimatePresence as t, motion as n } from "framer-motion";
5
5
  import { forwardRef as r, useEffect as i, useId as a, useRef as o, useState as s } from "react";
6
6
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -56,7 +56,7 @@ var u = {
56
56
  },
57
57
  ...x
58
58
  }), /* @__PURE__ */ c("div", {
59
- className: e("w-full h-full border-2 flex items-center justify-center transition-colors duration-[120ms] peer-focus-visible:ring-2 peer-focus-visible:ring-focus-ring/35 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-bg", k.box, A ? "bg-accent-600 border-accent-600 dark:bg-accent-500 dark:border-accent-500" : y ? "bg-transparent border-red-500/50" : "bg-transparent border-black/25 dark:border-white/25"),
59
+ className: e("w-full h-full border-2 flex items-center justify-center transition-colors duration-[120ms] peer-focus-visible:ring-[3px] peer-focus-visible:ring-focus-ring/35 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-bg", k.box, A ? "bg-accent-600 border-accent-600 dark:bg-accent-500 dark:border-accent-500" : y ? "bg-transparent border-red-500/50" : "bg-transparent border-black/25 dark:border-white/25"),
60
60
  children: /* @__PURE__ */ c(t, {
61
61
  mode: "wait",
62
62
  children: g ? /* @__PURE__ */ c(n.svg, {
@@ -1,7 +1,7 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-BdjraxxU.cjs");let t=require("react"),n=require("react/jsx-runtime");var r={js:`const.let.var.function.return.if.else.for.while.class.import.export.default.from.async.await.new.typeof.instanceof.true.false.null.undefined.throw.try.catch.finally.switch.case.break.continue.extends.super.this.of.in.delete.void`.split(`.`),python:`def.return.if.else.elif.for.while.class.import.from.as.with.try.except.finally.raise.pass.break.continue.and.or.not.in.is.True.False.None.lambda.yield.global.nonlocal.del.print.async.await`.split(`.`),bash:[`if`,`then`,`else`,`elif`,`fi`,`for`,`do`,`done`,`while`,`case`,`esac`,`in`,`function`,`return`,`exit`,`echo`,`export`,`source`,`local`,`readonly`],sql:`SELECT.FROM.WHERE.AND.OR.NOT.INSERT.INTO.VALUES.UPDATE.SET.DELETE.CREATE.TABLE.DROP.ALTER.INDEX.JOIN.INNER.LEFT.RIGHT.ON.GROUP.BY.ORDER.HAVING.LIMIT.OFFSET.AS.DISTINCT.COUNT.SUM.AVG.MAX.MIN.NULL.IS.IN.LIKE.BETWEEN.EXISTS`.split(`.`)};r.ts=r.js,r.tsx=r.js,r.jsx=r.js,r.json=[];function i(e,t){let n=new Set(r[t.toLowerCase()]??r.js),i=[],a=0;for(;a<e.length;){if(t===`bash`&&e[a]===`#`||e.slice(a,a+2)===`//`&&t!==`bash`){let t=e.indexOf(`
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-B6R3HKzx.cjs");let t=require("react"),n=require("react/jsx-runtime");var r={js:`const.let.var.function.return.if.else.for.while.class.import.export.default.from.async.await.new.typeof.instanceof.true.false.null.undefined.throw.try.catch.finally.switch.case.break.continue.extends.super.this.of.in.delete.void`.split(`.`),python:`def.return.if.else.elif.for.while.class.import.from.as.with.try.except.finally.raise.pass.break.continue.and.or.not.in.is.True.False.None.lambda.yield.global.nonlocal.del.print.async.await`.split(`.`),bash:[`if`,`then`,`else`,`elif`,`fi`,`for`,`do`,`done`,`while`,`case`,`esac`,`in`,`function`,`return`,`exit`,`echo`,`export`,`source`,`local`,`readonly`],sql:`SELECT.FROM.WHERE.AND.OR.NOT.INSERT.INTO.VALUES.UPDATE.SET.DELETE.CREATE.TABLE.DROP.ALTER.INDEX.JOIN.INNER.LEFT.RIGHT.ON.GROUP.BY.ORDER.HAVING.LIMIT.OFFSET.AS.DISTINCT.COUNT.SUM.AVG.MAX.MIN.NULL.IS.IN.LIKE.BETWEEN.EXISTS`.split(`.`)};r.ts=r.js,r.tsx=r.js,r.jsx=r.js,r.json=[];function i(e,t){let n=new Set(r[t.toLowerCase()]??r.js),i=[],a=0;for(;a<e.length;){if(t===`bash`&&e[a]===`#`||e.slice(a,a+2)===`//`&&t!==`bash`){let t=e.indexOf(`
2
2
  `,a),n=t===-1?e.slice(a):e.slice(a,t);i.push({type:`comment`,value:n}),a+=n.length;continue}if(e.slice(a,a+2)===`/*`){let t=e.indexOf(`*/`,a+2),n=t===-1?e.slice(a):e.slice(a,t+2);i.push({type:`comment`,value:n}),a+=n.length;continue}if(e[a]===`#`&&(t===`python`||t===`sql`)){let t=e.indexOf(`
3
3
  `,a),n=t===-1?e.slice(a):e.slice(a,t);i.push({type:`comment`,value:n}),a+=n.length;continue}if(e[a]===`"`||e[a]===`'`||e[a]==="`"){let t=e[a],n=a+1;for(;n<e.length;){if(e[n]===`\\`&&n+1<e.length){n+=2;continue}if(e[n]===t){n++;break}n++}i.push({type:`string`,value:e.slice(a,n)}),a=n;continue}if(/[0-9]/.test(e[a])||e[a]===`.`&&/[0-9]/.test(e[a+1]??``)){let t=a;for(;t<e.length&&/[0-9._xXa-fA-F]/.test(e[t]);)t++;i.push({type:`number`,value:e.slice(a,t)}),a=t;continue}if(/[a-zA-Z_$]/.test(e[a])){let t=a;for(;t<e.length&&/[a-zA-Z0-9_$]/.test(e[t]);)t++;let r=e.slice(a,t);i.push({type:n.has(r)?`keyword`:`plain`,value:r}),a=t;continue}if(/[=<>!&|+\-*/%^~?:,;.()[\]{}]/.test(e[a])){i.push({type:`operator`,value:e[a]}),a++;continue}i.push({type:`plain`,value:e[a]}),a++}return i}var a={keyword:`text-violet-500 dark:text-violet-400`,string:`text-emerald-600 dark:text-emerald-400`,comment:`text-slate-400 dark:text-slate-500 italic`,number:`text-amber-600 dark:text-amber-400`,operator:`text-slate-500 dark:text-slate-400`,builtin:`text-sky-500 dark:text-sky-400`,plain:`text-slate-800 dark:text-slate-200`};function o({code:r,language:o=`js`,filename:s,showLineNumbers:c=!1,className:l}){let[u,d]=(0,t.useState)(!1),f=r.replace(/^\n/,``).replace(/\n$/,``),p=f.split(`
4
- `);async function m(){let e=!1;try{if(!navigator.clipboard?.writeText)throw Error(`Clipboard API unavailable`);await navigator.clipboard.writeText(f),e=!0}catch{let t=document.createElement(`textarea`);t.value=f,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),e=document.execCommand(`copy`),t.remove()}e&&(d(!0),window.setTimeout(()=>d(!1),1500))}return(0,n.jsxs)(`div`,{className:e.t(`group relative rounded-xl overflow-hidden border border-black/10 dark:border-white/10 bg-slate-50 dark:bg-[#0d1117]`,l),children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2.5 border-b border-black/[0.07] dark:border-white/[0.07] bg-black/3 dark:bg-white/3`,children:[(0,n.jsx)(`div`,{className:`flex items-center gap-2`,children:s&&(0,n.jsx)(`span`,{className:`text-xs font-mono text-slate-500 dark:text-slate-400`,children:s})}),(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!s&&(0,n.jsx)(`span`,{className:`text-xs font-mono text-slate-400 dark:text-slate-500 uppercase`,children:o}),(0,n.jsx)(`button`,{type:`button`,onClick:m,"aria-label":u?`Copied code`:`Copy code`,className:`h-6 shrink-0 px-2 flex items-center gap-1 whitespace-nowrap rounded text-xs text-slate-500 dark:text-slate-400 hover:text-gray-900 dark:hover:text-white hover:bg-black/6 dark:hover:bg-white/8 transition-colors`,children:u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`svg`,{className:`shrink-0`,width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,n.jsx)(`path`,{d:`M20 6 9 17l-5-5`})}),`Copied`]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`svg`,{className:`shrink-0`,width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),(0,n.jsx)(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]}),`Copy`]})})]})]}),(0,n.jsx)(`div`,{className:`overflow-x-auto`,children:(0,n.jsx)(`table`,{className:`w-full border-collapse text-sm font-mono leading-6`,children:(0,n.jsx)(`tbody`,{children:p.map((e,t)=>(0,n.jsxs)(`tr`,{className:`hover:bg-black/3 dark:hover:bg-white/3`,children:[c&&(0,n.jsx)(`td`,{className:`select-none w-10 pr-4 pl-4 text-right text-slate-400 dark:text-slate-600 border-r border-black/6 dark:border-white/6`,children:t+1}),(0,n.jsx)(`td`,{className:`px-4 py-0 whitespace-pre`,children:i(e,o).map((e,t)=>(0,n.jsx)(`span`,{className:a[e.type],children:e.value},t))})]},t))})})})]})}var s=(0,t.forwardRef)(({className:t,...r},i)=>(0,n.jsx)(`code`,{ref:i,className:e.t(`break-words rounded-md border border-border bg-surface-muted px-1.5 py-0.5 font-mono text-[0.85em] text-foreground`,t),...r}));s.displayName=`InlineCode`;function c({value:r,onChange:i,language:a=`js`,placeholder:o=`// Start typing…`,minRows:s=6,maxRows:c=24,readOnly:l=!1,className:u}){let d=(0,t.useRef)(null),f=Math.min(c,Math.max(s,r.split(`
4
+ `);async function m(){let e=!1;try{if(!navigator.clipboard?.writeText)throw Error(`Clipboard API unavailable`);await navigator.clipboard.writeText(f),e=!0}catch{let t=document.createElement(`textarea`);t.value=f,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),e=document.execCommand(`copy`),t.remove()}e&&(d(!0),window.setTimeout(()=>d(!1),1500))}return(0,n.jsxs)(`div`,{className:e.t(`group relative rounded-[var(--radius-xl)] overflow-hidden border border-border bg-surface-muted dark:bg-navy-900`,l),children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2.5 border-b border-black/[0.07] dark:border-white/[0.07] bg-black/3 dark:bg-white/3`,children:[(0,n.jsx)(`div`,{className:`flex items-center gap-2`,children:s&&(0,n.jsx)(`span`,{className:`text-xs font-mono text-slate-500 dark:text-slate-400`,children:s})}),(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!s&&(0,n.jsx)(`span`,{className:`text-xs font-mono text-slate-400 dark:text-slate-500 uppercase`,children:o}),(0,n.jsx)(`button`,{type:`button`,onClick:m,"aria-label":u?`Copied code`:`Copy code`,className:`h-6 shrink-0 px-2 flex items-center gap-1 whitespace-nowrap rounded text-xs text-slate-500 dark:text-slate-400 hover:text-foreground hover:bg-black/6 dark:hover:bg-white/8 transition-colors`,children:u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`svg`,{className:`shrink-0`,width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,n.jsx)(`path`,{d:`M20 6 9 17l-5-5`})}),`Copied`]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`svg`,{className:`shrink-0`,width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,n.jsx)(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),(0,n.jsx)(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]}),`Copy`]})})]})]}),(0,n.jsx)(`div`,{className:`overflow-x-auto`,children:(0,n.jsx)(`table`,{className:`w-full border-collapse text-sm font-mono leading-6`,children:(0,n.jsx)(`tbody`,{children:p.map((e,t)=>(0,n.jsxs)(`tr`,{className:`hover:bg-black/3 dark:hover:bg-white/3`,children:[c&&(0,n.jsx)(`td`,{className:`select-none w-10 pr-4 pl-4 text-right text-slate-400 dark:text-slate-600 border-r border-black/6 dark:border-white/6`,children:t+1}),(0,n.jsx)(`td`,{className:`px-4 py-0 whitespace-pre`,children:i(e,o).map((e,t)=>(0,n.jsx)(`span`,{className:a[e.type],children:e.value},t))})]},t))})})})]})}var s=(0,t.forwardRef)(({className:t,...r},i)=>(0,n.jsx)(`code`,{ref:i,className:e.t(`break-words rounded-md border border-border bg-surface-muted px-1.5 py-0.5 font-mono text-[0.85em] text-foreground`,t),...r}));s.displayName=`InlineCode`;function c({value:r,onChange:i,language:a=`js`,placeholder:o=`// Start typing…`,minRows:s=6,maxRows:c=24,readOnly:l=!1,className:u}){let d=(0,t.useRef)(null),f=Math.min(c,Math.max(s,r.split(`
5
5
  `).length));function p(e){let t=e.currentTarget,{selectionStart:n,selectionEnd:a}=t;if(e.key===`Tab`){e.preventDefault();let o=r.slice(0,n)+` `+r.slice(a);i?.(o),requestAnimationFrame(()=>{t.selectionStart=t.selectionEnd=n+2})}if(e.key===`Enter`){let o=r.lastIndexOf(`
6
6
  `,n-1)+1,s=r.slice(o).match(/^(\s*)/)?.[1]??``;e.preventDefault();let c=r.slice(0,n)+`
7
- `+s+r.slice(a);i?.(c),requestAnimationFrame(()=>{t.selectionStart=t.selectionEnd=n+1+s.length})}let o={"(":`)`,"[":`]`,"{":`}`,'"':`"`,"'":`'`,"`":"`"};if(o[e.key]&&n===a){e.preventDefault();let s=r.slice(0,n)+e.key+o[e.key]+r.slice(a);i?.(s),requestAnimationFrame(()=>{t.selectionStart=t.selectionEnd=n+1})}}return(0,n.jsxs)(`div`,{className:e.t(`relative rounded-xl overflow-hidden border border-black/10 dark:border-white/10 bg-slate-50 dark:bg-[#0d1117]`,u),children:[(0,n.jsx)(`div`,{className:`flex items-center gap-1.5 px-4 py-2.5 border-b border-black/[0.07] dark:border-white/[0.07] bg-black/3 dark:bg-white/3`,children:(0,n.jsx)(`span`,{className:`text-xs font-mono text-slate-400 dark:text-slate-500 uppercase`,children:a})}),(0,n.jsxs)(`div`,{className:`relative flex`,children:[(0,n.jsx)(`div`,{className:`select-none shrink-0 py-3 px-3 text-right text-sm font-mono leading-6 text-slate-400 dark:text-slate-600 border-r border-black/6 dark:border-white/6 bg-black/2 dark:bg-black/20`,"aria-hidden":!0,children:Array.from({length:f},(e,t)=>(0,n.jsx)(`div`,{children:t+1},t))}),(0,n.jsx)(`textarea`,{ref:d,value:r,onChange:e=>i?.(e.target.value),onKeyDown:p,readOnly:l,placeholder:o,spellCheck:!1,rows:f,className:`flex-1 py-3 px-4 text-sm font-mono leading-6 bg-transparent text-slate-800 dark:text-slate-200 placeholder:text-slate-400 dark:placeholder:text-slate-600 focus:outline-none resize-none`})]})]})}exports.CodeBlock=o,exports.CodeEditor=c,exports.InlineCode=s;
7
+ `+s+r.slice(a);i?.(c),requestAnimationFrame(()=>{t.selectionStart=t.selectionEnd=n+1+s.length})}let o={"(":`)`,"[":`]`,"{":`}`,'"':`"`,"'":`'`,"`":"`"};if(o[e.key]&&n===a){e.preventDefault();let s=r.slice(0,n)+e.key+o[e.key]+r.slice(a);i?.(s),requestAnimationFrame(()=>{t.selectionStart=t.selectionEnd=n+1})}}return(0,n.jsxs)(`div`,{className:e.t(`relative rounded-[var(--radius-xl)] overflow-hidden border border-border bg-surface-muted dark:bg-navy-900`,u),children:[(0,n.jsx)(`div`,{className:`flex items-center gap-1.5 px-4 py-2.5 border-b border-black/[0.07] dark:border-white/[0.07] bg-black/3 dark:bg-white/3`,children:(0,n.jsx)(`span`,{className:`text-xs font-mono text-slate-400 dark:text-slate-500 uppercase`,children:a})}),(0,n.jsxs)(`div`,{className:`relative flex`,children:[(0,n.jsx)(`div`,{className:`select-none shrink-0 py-3 px-3 text-right text-sm font-mono leading-6 text-slate-400 dark:text-slate-600 border-r border-black/6 dark:border-white/6 bg-black/2 dark:bg-black/20`,"aria-hidden":!0,children:Array.from({length:f},(e,t)=>(0,n.jsx)(`div`,{children:t+1},t))}),(0,n.jsx)(`textarea`,{ref:d,value:r,onChange:e=>i?.(e.target.value),onKeyDown:p,readOnly:l,placeholder:o,spellCheck:!1,rows:f,className:`flex-1 py-3 px-4 text-sm font-mono leading-6 bg-transparent text-slate-800 dark:text-slate-200 placeholder:text-slate-400 dark:placeholder:text-slate-600 focus:outline-none resize-none`})]})]})}exports.CodeBlock=o,exports.CodeEditor=c,exports.InlineCode=s;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "../cn-DpgY2leY.js";
2
+ import { t as e } from "../cn-BJyZJP-y.js";
3
3
  import { forwardRef as t, useRef as n, useState as r } from "react";
4
4
  import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
5
5
  //#region src/components/code.tsx
@@ -133,7 +133,7 @@ function u({ code: t, language: n = "js", filename: s, showLineNumbers: u = !1,
133
133
  e && (p(!0), window.setTimeout(() => p(!1), 1500));
134
134
  }
135
135
  return /* @__PURE__ */ o("div", {
136
- className: e("group relative rounded-xl overflow-hidden border border-black/10 dark:border-white/10 bg-slate-50 dark:bg-[#0d1117]", d),
136
+ className: e("group relative rounded-[var(--radius-xl)] overflow-hidden border border-border bg-surface-muted dark:bg-navy-900", d),
137
137
  children: [/* @__PURE__ */ o("div", {
138
138
  className: "flex items-center justify-between px-4 py-2.5 border-b border-black/[0.07] dark:border-white/[0.07] bg-black/3 dark:bg-white/3",
139
139
  children: [/* @__PURE__ */ a("div", {
@@ -151,7 +151,7 @@ function u({ code: t, language: n = "js", filename: s, showLineNumbers: u = !1,
151
151
  type: "button",
152
152
  onClick: g,
153
153
  "aria-label": f ? "Copied code" : "Copy code",
154
- className: "h-6 shrink-0 px-2 flex items-center gap-1 whitespace-nowrap rounded text-xs text-slate-500 dark:text-slate-400 hover:text-gray-900 dark:hover:text-white hover:bg-black/6 dark:hover:bg-white/8 transition-colors",
154
+ className: "h-6 shrink-0 px-2 flex items-center gap-1 whitespace-nowrap rounded text-xs text-slate-500 dark:text-slate-400 hover:text-foreground hover:bg-black/6 dark:hover:bg-white/8 transition-colors",
155
155
  children: f ? /* @__PURE__ */ o(i, { children: [/* @__PURE__ */ a("svg", {
156
156
  className: "shrink-0",
157
157
  width: "11",
@@ -247,7 +247,7 @@ function f({ value: t, onChange: r, language: i = "js", placeholder: s = "// Sta
247
247
  }
248
248
  }
249
249
  return /* @__PURE__ */ o("div", {
250
- className: e("relative rounded-xl overflow-hidden border border-black/10 dark:border-white/10 bg-slate-50 dark:bg-[#0d1117]", d),
250
+ className: e("relative rounded-[var(--radius-xl)] overflow-hidden border border-border bg-surface-muted dark:bg-navy-900", d),
251
251
  children: [/* @__PURE__ */ a("div", {
252
252
  className: "flex items-center gap-1.5 px-4 py-2.5 border-b border-black/[0.07] dark:border-white/[0.07] bg-black/3 dark:bg-white/3",
253
253
  children: /* @__PURE__ */ a("span", {
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-BdjraxxU.cjs");require("../component-styles-DOUctc8_.cjs");const t=require("../focus-DmG6Ge7X.cjs");let n=require("framer-motion"),r=require("react"),i=require("react/jsx-runtime");var a=(0,r.createContext)(null);function o(){let e=(0,r.useContext)(a);if(!e)throw Error(`useCommand must be inside <CommandProvider>`);return e}function s({children:e,shortcut:t=`k`}){let[n,o]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key===t&&(e.preventDefault(),o(e=>!e))}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[t]),(0,i.jsx)(a.Provider,{value:{open:n,setOpen:o},children:e})}function c({items:a,placeholder:s=`Search commands…`,emptyText:c=`No results found.`,ariaLabel:l=`Command palette`}){let{open:u,setOpen:d}=o(),[f,p]=(0,r.useState)(``),[m,h]=(0,r.useState)(0),g=(0,r.useRef)(null),_=(0,r.useRef)(null),v=(0,r.useRef)(null),y=(0,r.useId)();(0,r.useEffect)(()=>{if(!u)return;let e=document.activeElement instanceof HTMLElement?document.activeElement:null,n=document.body.style.overflow,r=window.setTimeout(()=>g.current?.focus(),0),i=e=>{if(e.key===`Escape`){e.preventDefault(),d(!1);return}if(e.key!==`Tab`||!v.current)return;let n=t.t(v.current);if(n.length===0){e.preventDefault(),v.current.focus();return}let r=n[0],i=n[n.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),i.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),r.focus())};return p(``),h(0),document.body.style.overflow=`hidden`,document.addEventListener(`keydown`,i),()=>{window.clearTimeout(r),document.body.style.overflow=n,document.removeEventListener(`keydown`,i),e?.focus()}},[u,d]);let b=(0,r.useMemo)(()=>{if(!f)return a;let e=f.toLowerCase();return a.filter(t=>t.label.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e)||t.keywords?.some(t=>t.toLowerCase().includes(e)))},[f,a]),x=(0,r.useMemo)(()=>{let e=new Map;for(let t of b){let n=t.group??``;e.has(n)||e.set(n,[]),e.get(n).push(t)}return e},[b]),S=(0,r.useMemo)(()=>Array.from(x.values()).flat(),[x]);function C(e){e.key===`ArrowDown`?(e.preventDefault(),h(e=>Math.min(e+1,Math.max(S.length-1,0)))):e.key===`ArrowUp`?(e.preventDefault(),h(e=>Math.max(e-1,0))):e.key===`Enter`?(e.preventDefault(),S[m]?.onSelect(),d(!1)):e.key===`Escape`&&d(!1)}(0,r.useEffect)(()=>{_.current&&_.current.querySelector(`[data-active="true"]`)?.scrollIntoView({block:`nearest`})},[m]);let w=0;return(0,i.jsx)(n.AnimatePresence,{children:u&&(0,i.jsxs)(`div`,{className:`fixed inset-0 z-[200] flex items-start justify-center pt-[15vh] p-4`,children:[(0,i.jsx)(n.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},className:`absolute inset-0 bg-overlay`,onClick:()=>d(!1),"aria-hidden":`true`}),(0,i.jsxs)(n.motion.div,{ref:v,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":l,initial:{opacity:0,scale:.96,y:-8},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.96,y:-8},transition:{type:`spring`,stiffness:400,damping:30},className:`relative w-full max-w-lg overflow-hidden rounded-[var(--radius-xl)] border border-border bg-surface-raised shadow-overlay`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-border px-4`,children:[(0,i.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`text-slate-400 shrink-0`,children:[(0,i.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,i.jsx)(`path`,{d:`m21 21-4.35-4.35`})]}),(0,i.jsx)(`input`,{ref:g,type:`search`,role:`combobox`,"aria-label":l,"aria-autocomplete":`list`,"aria-expanded":`true`,"aria-controls":y,"aria-activedescendant":S[m]?`${y}-option-${m}`:void 0,value:f,onChange:e=>{p(e.target.value),h(0)},onKeyDown:C,placeholder:s,className:`min-w-0 flex-1 bg-transparent py-3.5 text-sm text-foreground outline-none placeholder:text-muted-foreground`}),(0,i.jsx)(`kbd`,{className:`shrink-0 rounded-[var(--radius-sm)] border border-border-strong bg-surface-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,children:`ESC`})]}),(0,i.jsx)(`div`,{id:y,ref:_,role:`listbox`,"aria-label":`Commands`,className:`max-h-80 overflow-y-auto py-1.5`,children:b.length===0?(0,i.jsx)(`p`,{className:`py-10 text-center text-sm text-muted-foreground`,children:c}):Array.from(x.entries()).map(([t,n])=>(0,i.jsxs)(`div`,{role:`group`,"aria-label":t||void 0,children:[t&&(0,i.jsx)(`p`,{className:`px-4 py-1 text-[10px] font-semibold text-slate-500 uppercase tracking-widest`,children:t}),n.map(t=>{let n=w++,r=n===m;return(0,i.jsxs)(`button`,{id:`${y}-option-${n}`,type:`button`,role:`option`,"aria-selected":r,"data-active":r,onClick:()=>{t.onSelect(),d(!1)},onMouseEnter:()=>h(n),className:e.t(`flex w-full items-center gap-3 px-4 py-2.5 text-left transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg`,r?`bg-surface-muted`:`hover:bg-surface-muted/70`),children:[t.icon&&(0,i.jsx)(`span`,{className:`shrink-0 text-slate-500 dark:text-slate-400 w-5 flex items-center justify-center`,children:t.icon}),(0,i.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,i.jsx)(`p`,{className:`truncate text-sm text-foreground`,children:t.label}),t.description&&(0,i.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:t.description})]}),t.shortcut&&(0,i.jsx)(`div`,{className:`flex items-center gap-0.5 shrink-0`,children:t.shortcut.map((e,t)=>(0,i.jsx)(`kbd`,{className:`rounded-[var(--radius-sm)] border border-border bg-surface-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,children:e},t))})]},t.id)})]},t))})]})]})})}exports.CommandPalette=c,exports.CommandProvider=s,exports.useCommand=o;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-B6R3HKzx.cjs");require("../component-styles-DY4wigiq.cjs");const t=require("../focus-DmG6Ge7X.cjs"),n=require("../motion-B2shivEB.cjs");let r=require("framer-motion"),i=require("react"),a=require("react/jsx-runtime");var o=(0,i.createContext)(null);function s(){let e=(0,i.useContext)(o);if(!e)throw Error(`useCommand must be inside <CommandProvider>`);return e}function c({children:e,shortcut:t=`k`}){let[n,r]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key===t&&(e.preventDefault(),r(e=>!e))}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[t]),(0,a.jsx)(o.Provider,{value:{open:n,setOpen:r},children:e})}function l({items:o,placeholder:c=`Search commands…`,emptyText:l=`No results found.`,ariaLabel:u=`Command palette`,className:d,overlayClassName:f,searchClassName:p,inputClassName:m,listClassName:h,itemClassName:g,emptyClassName:_}){let{open:v,setOpen:y}=s(),[b,x]=(0,i.useState)(``),[S,C]=(0,i.useState)(0),w=(0,i.useRef)(null),T=(0,i.useRef)(null),E=(0,i.useRef)(null),D=(0,i.useId)();(0,i.useEffect)(()=>{if(!v)return;let e=document.activeElement instanceof HTMLElement?document.activeElement:null,n=document.body.style.overflow,r=window.setTimeout(()=>w.current?.focus(),0),i=e=>{if(e.key===`Escape`){e.preventDefault(),y(!1);return}if(e.key!==`Tab`||!E.current)return;let n=t.t(E.current);if(n.length===0){e.preventDefault(),E.current.focus();return}let r=n[0],i=n[n.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),i.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),r.focus())};return x(``),C(0),document.body.style.overflow=`hidden`,document.addEventListener(`keydown`,i),()=>{window.clearTimeout(r),document.body.style.overflow=n,document.removeEventListener(`keydown`,i),e?.focus()}},[v,y]);let O=(0,i.useMemo)(()=>{if(!b)return o;let e=b.toLowerCase();return o.filter(t=>t.label.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e)||t.keywords?.some(t=>t.toLowerCase().includes(e)))},[b,o]),k=(0,i.useMemo)(()=>{let e=new Map;for(let t of O){let n=t.group??``;e.has(n)||e.set(n,[]),e.get(n).push(t)}return e},[O]),A=(0,i.useMemo)(()=>Array.from(k.values()).flat(),[k]);function j(e){e.key===`ArrowDown`?(e.preventDefault(),C(e=>Math.min(e+1,Math.max(A.length-1,0)))):e.key===`ArrowUp`?(e.preventDefault(),C(e=>Math.max(e-1,0))):e.key===`Enter`?(e.preventDefault(),A[S]?.onSelect(),y(!1)):e.key===`Escape`&&y(!1)}(0,i.useEffect)(()=>{T.current&&T.current.querySelector(`[data-active="true"]`)?.scrollIntoView({block:`nearest`})},[S]);let M=0;return(0,a.jsx)(r.AnimatePresence,{children:v&&(0,a.jsxs)(`div`,{className:`fixed inset-0 z-[200] flex items-start justify-center pt-[15vh] p-4`,children:[(0,a.jsx)(r.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:n.n.fade,className:e.t(`absolute inset-0 bg-overlay`,f),onClick:()=>y(!1),"aria-hidden":`true`}),(0,a.jsxs)(r.motion.div,{ref:E,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":u,initial:{opacity:0,scale:.96,y:-8},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.96,y:-8},transition:{type:`spring`,stiffness:400,damping:30},className:e.t(`relative w-full max-w-lg overflow-hidden rounded-[var(--radius-xl)] border border-border bg-surface-raised shadow-overlay`,d),children:[(0,a.jsxs)(`div`,{className:e.t(`flex items-center gap-3 border-b border-border px-4`,p),children:[(0,a.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`text-slate-400 shrink-0`,children:[(0,a.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,a.jsx)(`path`,{d:`m21 21-4.35-4.35`})]}),(0,a.jsx)(`input`,{ref:w,type:`search`,role:`combobox`,"aria-label":u,"aria-autocomplete":`list`,"aria-expanded":`true`,"aria-controls":D,"aria-activedescendant":A[S]?`${D}-option-${S}`:void 0,value:b,onChange:e=>{x(e.target.value),C(0)},onKeyDown:j,placeholder:c,className:e.t(`min-w-0 flex-1 bg-transparent py-3.5 text-sm text-foreground outline-none placeholder:text-muted-foreground`,m)}),(0,a.jsx)(`kbd`,{className:`shrink-0 rounded-[var(--radius-sm)] border border-border-strong bg-surface-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,children:`ESC`})]}),(0,a.jsx)(`div`,{id:D,ref:T,role:`listbox`,"aria-label":`Commands`,className:e.t(`max-h-80 overflow-y-auto py-1.5`,h),children:O.length===0?(0,a.jsx)(`p`,{className:e.t(`py-10 text-center text-sm text-muted-foreground`,_),children:l}):Array.from(k.entries()).map(([t,n])=>(0,a.jsxs)(`div`,{role:`group`,"aria-label":t||void 0,children:[t&&(0,a.jsx)(`p`,{className:`px-4 py-1 text-[10px] font-semibold text-slate-500 uppercase tracking-widest`,children:t}),n.map(t=>{let n=M++,r=n===S;return(0,a.jsxs)(`button`,{id:`${D}-option-${n}`,type:`button`,role:`option`,"aria-selected":r,"data-active":r,onClick:()=>{t.onSelect(),y(!1)},onMouseEnter:()=>C(n),className:e.t(`flex w-full items-center gap-3 px-4 py-2.5 text-left transition-colors`,`focus-ring`,r?`bg-surface-muted`:`hover:bg-surface-muted/70`,g),children:[t.icon&&(0,a.jsx)(`span`,{className:`shrink-0 text-slate-500 dark:text-slate-400 w-5 flex items-center justify-center`,children:t.icon}),(0,a.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,a.jsx)(`p`,{className:`truncate text-sm text-foreground`,children:t.label}),t.description&&(0,a.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:t.description})]}),t.shortcut&&(0,a.jsx)(`div`,{className:`flex items-center gap-0.5 shrink-0`,children:t.shortcut.map((e,t)=>(0,a.jsx)(`kbd`,{className:`rounded-[var(--radius-sm)] border border-border bg-surface-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,children:e},t))})]},t.id)})]},t))})]})]})})}exports.CommandPalette=l,exports.CommandProvider=c,exports.useCommand=s;
@@ -24,6 +24,13 @@ export interface CommandPaletteProps {
24
24
  placeholder?: string;
25
25
  emptyText?: string;
26
26
  ariaLabel?: string;
27
+ className?: string;
28
+ overlayClassName?: string;
29
+ searchClassName?: string;
30
+ inputClassName?: string;
31
+ listClassName?: string;
32
+ itemClassName?: string;
33
+ emptyClassName?: string;
27
34
  }
28
- export declare function CommandPalette({ items, placeholder, emptyText, ariaLabel, }: CommandPaletteProps): import("react").JSX.Element;
35
+ export declare function CommandPalette({ items, placeholder, emptyText, ariaLabel, className, overlayClassName, searchClassName, inputClassName, listClassName, itemClassName, emptyClassName, }: CommandPaletteProps): import("react").JSX.Element;
29
36
  export {};