@squadbase/vantage 0.6.1 → 0.6.2-dev1.0017a4d

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 (319) hide show
  1. package/dist/add-4GHF2TX2.js +6 -0
  2. package/dist/add-4GHF2TX2.js.map +1 -0
  3. package/dist/{build-O5TVNH4E.js → build-X5NVCQKT.js} +9 -9
  4. package/dist/{build-O5TVNH4E.js.map → build-X5NVCQKT.js.map} +1 -1
  5. package/dist/{check-WFBEDHDR.js → check-ZBIH422T.js} +7 -7
  6. package/dist/{check-WFBEDHDR.js.map → check-ZBIH422T.js.map} +1 -1
  7. package/dist/chunk-2IAPIOPS.js +152 -0
  8. package/dist/chunk-2IAPIOPS.js.map +1 -0
  9. package/dist/chunk-2ICNHUG6.js +1820 -0
  10. package/dist/chunk-2ICNHUG6.js.map +1 -0
  11. package/dist/{chunk-5ZOP4SQR.js → chunk-2N72FKLB.js} +12 -7
  12. package/dist/chunk-2N72FKLB.js.map +1 -0
  13. package/dist/chunk-57GHR5LN.js +163 -0
  14. package/dist/chunk-57GHR5LN.js.map +1 -0
  15. package/dist/{chunk-BCE22JSM.js → chunk-7DZGJQ3P.js} +33 -14
  16. package/dist/chunk-7DZGJQ3P.js.map +1 -0
  17. package/dist/{chunk-MXI3PZFT.js → chunk-7S52M2SL.js} +257 -210
  18. package/dist/chunk-7S52M2SL.js.map +1 -0
  19. package/dist/{chunk-QDZA5JSL.js → chunk-AABMKHEU.js} +4 -4
  20. package/dist/{chunk-QDZA5JSL.js.map → chunk-AABMKHEU.js.map} +1 -1
  21. package/dist/{chunk-KLEIVDUV.js → chunk-CEXAQQ5W.js} +150 -11
  22. package/dist/chunk-CEXAQQ5W.js.map +1 -0
  23. package/dist/{chunk-3G43C6OL.js → chunk-GNXCX4WE.js} +46 -3
  24. package/dist/chunk-GNXCX4WE.js.map +1 -0
  25. package/dist/{chunk-JGRMRXXZ.js → chunk-JKLLFVEU.js} +3 -3
  26. package/dist/{chunk-JGRMRXXZ.js.map → chunk-JKLLFVEU.js.map} +1 -1
  27. package/dist/chunk-JXFCSF3K.js +673 -0
  28. package/dist/chunk-JXFCSF3K.js.map +1 -0
  29. package/dist/chunk-PDOBHMUQ.js +54 -0
  30. package/dist/chunk-PDOBHMUQ.js.map +1 -0
  31. package/dist/{chunk-ZVANIULZ.js → chunk-RNTDBX6S.js} +4 -4
  32. package/dist/{chunk-ZVANIULZ.js.map → chunk-RNTDBX6S.js.map} +1 -1
  33. package/dist/chunk-RU6WKEOG.js +7048 -0
  34. package/dist/chunk-RU6WKEOG.js.map +1 -0
  35. package/dist/{chunk-A2UUGASH.js → chunk-U736PVHY.js} +2 -2
  36. package/dist/chunk-U736PVHY.js.map +1 -0
  37. package/dist/{chunk-PVTHHV7X.js → chunk-V3LF7BE7.js} +27 -5
  38. package/dist/chunk-V3LF7BE7.js.map +1 -0
  39. package/dist/{chunk-EP6JHXSR.js → chunk-WAMZWZJB.js} +54 -9
  40. package/dist/chunk-WAMZWZJB.js.map +1 -0
  41. package/dist/{chunk-DTDVSFRY.js → chunk-XQUSGIDG.js} +17 -3
  42. package/dist/chunk-XQUSGIDG.js.map +1 -0
  43. package/dist/cli.js +15 -11
  44. package/dist/cli.js.map +1 -1
  45. package/dist/client/index.d.ts +32 -3
  46. package/dist/client/index.js +205 -12
  47. package/dist/client/index.js.map +1 -1
  48. package/dist/components/index.d.ts +1743 -29
  49. package/dist/components/index.js +7 -3
  50. package/dist/{dev-NZRLOQCL.js → dev-4XEDTELV.js} +24 -13
  51. package/dist/dev-4XEDTELV.js.map +1 -0
  52. package/dist/doc/index.d.ts +198 -2
  53. package/dist/doc/index.js +438 -11
  54. package/dist/doc/index.js.map +1 -1
  55. package/dist/{docs-ZGDJUHJI.js → docs-JVP4RPKT.js} +3 -3
  56. package/dist/{docs-ZGDJUHJI.js.map → docs-JVP4RPKT.js.map} +1 -1
  57. package/dist/{doctor-VFKEMR54.js → doctor-5E2VEZPK.js} +8 -8
  58. package/dist/doctor-5E2VEZPK.js.map +1 -0
  59. package/dist/format-U0cQl069.d.ts +243 -0
  60. package/dist/markdown/index.js +1 -1
  61. package/dist/markdown/index.js.map +1 -1
  62. package/dist/{preview-QDCIVVSR.js → preview-T6CLSQVX.js} +12 -4
  63. package/dist/preview-T6CLSQVX.js.map +1 -0
  64. package/dist/query/index.d.ts +0 -11
  65. package/dist/query/index.js +2 -2
  66. package/dist/{routes-RHP5FVGD.js → routes-3SGAFDMC.js} +6 -6
  67. package/dist/{routes-RHP5FVGD.js.map → routes-3SGAFDMC.js.map} +1 -1
  68. package/dist/{search-RFBELGY7.js → search-5LC4XPB5.js} +3 -3
  69. package/dist/{search-RFBELGY7.js.map → search-5LC4XPB5.js.map} +1 -1
  70. package/dist/slide/index.d.ts +177 -1
  71. package/dist/slide/index.js +917 -18
  72. package/dist/slide/index.js.map +1 -1
  73. package/dist/table/index.js +14 -9
  74. package/dist/table/index.js.map +1 -1
  75. package/dist/ui/index.d.ts +148 -12
  76. package/dist/ui/index.js +1340 -87
  77. package/dist/ui/index.js.map +1 -1
  78. package/dist/{upgrade-GF2P67M6.js → upgrade-JHXZBGQS.js} +7 -7
  79. package/dist/{upgrade-GF2P67M6.js.map → upgrade-JHXZBGQS.js.map} +1 -1
  80. package/dist/vite/index.d.ts +10 -0
  81. package/dist/vite/index.js +4 -4
  82. package/docs/en/changelog.md +24 -0
  83. package/docs/en/cli-reference.md +30 -0
  84. package/docs/en/components.md +40 -17
  85. package/docs/en/doc/doc-action-items.md +49 -0
  86. package/docs/en/doc/doc-callout.md +38 -0
  87. package/docs/en/doc/doc-data-table.md +60 -0
  88. package/docs/en/doc/doc-executive-summary.md +64 -0
  89. package/docs/en/doc/doc-figure.md +56 -0
  90. package/docs/en/doc/doc-key-findings.md +61 -0
  91. package/docs/en/doc/doc-kpi-scorecard.md +80 -0
  92. package/docs/en/doc/doc-report-header.md +46 -0
  93. package/docs/en/parts/area-chart.md +99 -0
  94. package/docs/en/parts/bar-chart.md +91 -0
  95. package/docs/en/parts/bar-list.md +50 -0
  96. package/docs/en/parts/category-bar.md +37 -0
  97. package/docs/en/parts/chart-frame.md +39 -0
  98. package/docs/en/parts/data-table.md +22 -0
  99. package/docs/en/parts/delta.md +50 -0
  100. package/docs/en/parts/donut-chart.md +72 -0
  101. package/docs/en/parts/format.md +43 -0
  102. package/docs/en/parts/funnel-steps.md +2 -1
  103. package/docs/en/parts/heatmap.md +53 -0
  104. package/docs/en/parts/kpi-card.md +57 -0
  105. package/docs/en/parts/legend.md +35 -0
  106. package/docs/en/parts/line-chart.md +94 -0
  107. package/docs/en/parts/metric-value.md +3 -2
  108. package/docs/en/parts/page-shell.md +1 -1
  109. package/docs/en/parts/progress-circle.md +33 -0
  110. package/docs/en/parts/sample-data.md +39 -0
  111. package/docs/en/parts/scatter-chart.md +56 -0
  112. package/docs/en/parts/sparkline.md +1 -1
  113. package/docs/en/parts/tracker.md +36 -0
  114. package/docs/en/parts/trend-indicator.md +17 -1
  115. package/docs/en/parts/updated-at.md +30 -0
  116. package/docs/en/parts/waterfall-chart.md +56 -0
  117. package/docs/en/routing.md +4 -2
  118. package/docs/en/slide/slide-chart-insight.md +52 -0
  119. package/docs/en/slide/slide-cover.md +39 -0
  120. package/docs/en/slide/slide-exec-summary.md +47 -0
  121. package/docs/en/slide/slide-kpi-grid.md +55 -0
  122. package/docs/en/slide/slide-kpi-hero.md +58 -0
  123. package/docs/en/slide/slide-next-actions.md +49 -0
  124. package/docs/en/slide/slide-scorecard-table.md +54 -0
  125. package/docs/en/ui/alert-dialog.md +42 -0
  126. package/docs/en/ui/avatar.md +31 -0
  127. package/docs/en/ui/combobox.md +74 -0
  128. package/docs/en/ui/drawer.md +41 -0
  129. package/docs/en/ui/empty.md +1 -1
  130. package/docs/en/ui/error-state.md +4 -3
  131. package/docs/en/ui/field.md +42 -0
  132. package/docs/en/ui/hover-card.md +21 -0
  133. package/docs/en/ui/kbd.md +17 -0
  134. package/docs/en/ui/loading.md +1 -1
  135. package/docs/en/ui/pagination.md +36 -0
  136. package/docs/en/ui/radio-group.md +21 -0
  137. package/docs/en/ui/toast.md +44 -0
  138. package/docs/en/ui/toggle-group.md +4 -3
  139. package/docs/en/ui-and-theming.md +1 -1
  140. package/docs/index.json +1024 -114
  141. package/docs/ja/changelog.md +55 -0
  142. package/docs/ja/cli-reference.md +29 -0
  143. package/docs/ja/components.md +66 -101
  144. package/docs/ja/doc/doc-action-items.md +49 -0
  145. package/docs/ja/doc/doc-callout.md +38 -0
  146. package/docs/ja/doc/doc-data-table.md +60 -0
  147. package/docs/ja/doc/doc-executive-summary.md +64 -0
  148. package/docs/ja/doc/doc-figure.md +56 -0
  149. package/docs/ja/doc/doc-key-findings.md +61 -0
  150. package/docs/ja/doc/doc-kpi-scorecard.md +80 -0
  151. package/docs/ja/doc/doc-report-header.md +46 -0
  152. package/docs/ja/page-types/csv.md +83 -0
  153. package/docs/ja/page-types/doc.md +83 -0
  154. package/docs/ja/page-types/excel.md +82 -0
  155. package/docs/ja/page-types/slide.md +132 -0
  156. package/docs/ja/page-types.md +47 -0
  157. package/docs/ja/parts/area-chart.md +85 -0
  158. package/docs/ja/parts/bar-chart.md +95 -0
  159. package/docs/ja/parts/bar-list.md +58 -0
  160. package/docs/ja/parts/category-bar.md +36 -0
  161. package/docs/ja/parts/chart-frame.md +36 -0
  162. package/docs/ja/parts/data-table.md +22 -0
  163. package/docs/ja/parts/delta.md +50 -0
  164. package/docs/ja/parts/donut-chart.md +66 -0
  165. package/docs/ja/parts/echart.md +3 -0
  166. package/docs/ja/parts/format.md +44 -0
  167. package/docs/ja/parts/funnel-steps.md +27 -8
  168. package/docs/ja/parts/heatmap.md +45 -0
  169. package/docs/ja/parts/kpi-card.md +55 -0
  170. package/docs/ja/parts/legend.md +36 -0
  171. package/docs/ja/parts/line-chart.md +84 -0
  172. package/docs/ja/parts/metric-value.md +3 -2
  173. package/docs/ja/parts/page-shell.md +1 -1
  174. package/docs/ja/parts/progress-circle.md +34 -0
  175. package/docs/ja/parts/sample-data.md +61 -0
  176. package/docs/ja/parts/scatter-chart.md +69 -0
  177. package/docs/ja/parts/sparkline.md +2 -2
  178. package/docs/ja/parts/tracker.md +32 -0
  179. package/docs/ja/parts/trend-indicator.md +17 -1
  180. package/docs/ja/parts/updated-at.md +27 -0
  181. package/docs/ja/parts/waterfall-chart.md +61 -0
  182. package/docs/ja/routing.md +8 -84
  183. package/docs/ja/slide/slide-chart-insight.md +52 -0
  184. package/docs/ja/slide/slide-cover.md +39 -0
  185. package/docs/ja/slide/slide-exec-summary.md +47 -0
  186. package/docs/ja/slide/slide-kpi-grid.md +55 -0
  187. package/docs/ja/slide/slide-kpi-hero.md +58 -0
  188. package/docs/ja/slide/slide-next-actions.md +49 -0
  189. package/docs/ja/slide/slide-scorecard-table.md +54 -0
  190. package/docs/ja/ui/alert-dialog.md +41 -0
  191. package/docs/ja/ui/avatar.md +31 -0
  192. package/docs/ja/ui/combobox.md +74 -0
  193. package/docs/ja/ui/drawer.md +41 -0
  194. package/docs/ja/ui/empty.md +1 -1
  195. package/docs/ja/ui/error-state.md +4 -3
  196. package/docs/ja/ui/field.md +42 -0
  197. package/docs/ja/ui/hover-card.md +21 -0
  198. package/docs/ja/ui/kbd.md +16 -0
  199. package/docs/ja/ui/loading.md +1 -1
  200. package/docs/ja/ui/pagination.md +36 -0
  201. package/docs/ja/ui/radio-group.md +21 -0
  202. package/docs/ja/ui/toast.md +46 -0
  203. package/docs/ja/ui/toggle-group.md +4 -3
  204. package/docs/ja/ui-and-theming.md +14 -7
  205. package/package.json +43 -29
  206. package/registry/ui/accordion.tsx +76 -0
  207. package/registry/ui/alert-dialog.tsx +189 -0
  208. package/registry/ui/alert.tsx +80 -0
  209. package/registry/ui/app-shell.tsx +287 -0
  210. package/registry/ui/area-chart.tsx +3701 -0
  211. package/registry/ui/attention-list.tsx +303 -0
  212. package/registry/ui/avatar.tsx +110 -0
  213. package/registry/ui/badge.tsx +56 -0
  214. package/registry/ui/bar-chart.tsx +3698 -0
  215. package/registry/ui/bar-list.tsx +3743 -0
  216. package/registry/ui/box-plot-chart.tsx +3906 -0
  217. package/registry/ui/breadcrumb.tsx +128 -0
  218. package/registry/ui/button.tsx +62 -0
  219. package/registry/ui/calendar.tsx +223 -0
  220. package/registry/ui/card.tsx +107 -0
  221. package/registry/ui/category-bar.tsx +1290 -0
  222. package/registry/ui/chart-frame.tsx +1393 -0
  223. package/registry/ui/checkbox.tsx +30 -0
  224. package/registry/ui/collapsible.tsx +23 -0
  225. package/registry/ui/combobox.tsx +310 -0
  226. package/registry/ui/command.tsx +198 -0
  227. package/registry/ui/dashboard-card.tsx +217 -0
  228. package/registry/ui/data-table.tsx +693 -146
  229. package/registry/ui/date-range-picker.tsx +390 -0
  230. package/registry/ui/delta.tsx +188 -0
  231. package/registry/ui/dialog.tsx +161 -0
  232. package/registry/ui/donut-chart.tsx +3751 -0
  233. package/registry/ui/drawer.tsx +229 -0
  234. package/registry/ui/dropdown-menu.tsx +274 -0
  235. package/registry/ui/echart.tsx +1040 -0
  236. package/registry/ui/field.tsx +240 -0
  237. package/registry/ui/filter-bar.tsx +392 -0
  238. package/registry/ui/funnel-steps.tsx +3569 -0
  239. package/registry/ui/heatmap.tsx +1786 -0
  240. package/registry/ui/histogram-chart.tsx +3986 -0
  241. package/registry/ui/hover-card.tsx +52 -0
  242. package/registry/ui/input-group.tsx +160 -0
  243. package/registry/ui/input.tsx +24 -0
  244. package/registry/ui/kbd.tsx +30 -0
  245. package/registry/ui/kpi-card.tsx +699 -0
  246. package/registry/ui/label.tsx +22 -0
  247. package/registry/ui/legend.tsx +3563 -0
  248. package/registry/ui/line-chart.tsx +3699 -0
  249. package/registry/ui/metric-value.tsx +62 -0
  250. package/registry/ui/multi-select.tsx +232 -0
  251. package/registry/ui/page-shell.tsx +282 -0
  252. package/registry/ui/pagination.tsx +140 -0
  253. package/registry/ui/paired-chart.tsx +3827 -0
  254. package/registry/ui/placeholder.tsx +36 -0
  255. package/registry/ui/popover.tsx +92 -0
  256. package/registry/ui/progress-circle.tsx +867 -0
  257. package/registry/ui/progress.tsx +85 -0
  258. package/registry/ui/radio-group.tsx +39 -0
  259. package/registry/ui/sample-data.tsx +86 -0
  260. package/registry/ui/scatter-chart.tsx +4212 -0
  261. package/registry/ui/scroll-area.tsx +56 -0
  262. package/registry/ui/searchable-select.tsx +214 -0
  263. package/registry/ui/section-header.tsx +43 -0
  264. package/registry/ui/segmented-control.tsx +76 -0
  265. package/registry/ui/select.tsx +255 -0
  266. package/registry/ui/separator.tsx +27 -0
  267. package/registry/ui/sheet.tsx +139 -0
  268. package/registry/ui/sidebar.tsx +725 -0
  269. package/registry/ui/skeleton.tsx +17 -0
  270. package/registry/ui/slider.tsx +56 -0
  271. package/registry/ui/sparkline.tsx +230 -0
  272. package/registry/ui/spinner.tsx +14 -0
  273. package/registry/ui/states.tsx +90 -0
  274. package/registry/ui/status-badge.tsx +121 -0
  275. package/registry/ui/switch.tsx +34 -0
  276. package/registry/ui/table.tsx +118 -0
  277. package/registry/ui/tabs.tsx +84 -0
  278. package/registry/ui/textarea.tsx +22 -0
  279. package/registry/ui/toast.tsx +250 -0
  280. package/registry/ui/toggle-group.tsx +91 -0
  281. package/registry/ui/toggle.tsx +47 -0
  282. package/registry/ui/tooltip.tsx +72 -0
  283. package/registry/ui/tracker.tsx +849 -0
  284. package/registry/ui/trend-indicator.tsx +74 -0
  285. package/registry/ui/updated-at.tsx +122 -0
  286. package/registry/ui/waterfall-chart.tsx +4248 -0
  287. package/skills/vantage-add-feature/SKILL.md +9 -7
  288. package/skills/vantage-design/SKILL.md +36 -24
  289. package/skills/vantage-design/references/extract.md +16 -14
  290. package/skills/vantage-design/references/format.md +6 -5
  291. package/skills/vantage-design/references/presets.md +60 -110
  292. package/skills/vantage-pitfalls/SKILL.md +5 -1
  293. package/skills/vantage-slide/SKILL.md +71 -36
  294. package/templates/AGENTS.md +24 -3
  295. package/templates/agents/api.md +29 -0
  296. package/templates/agents/csv.md +2 -1
  297. package/templates/agents/doc.md +51 -3
  298. package/templates/agents/page.md +54 -9
  299. package/templates/agents/slide.md +68 -3
  300. package/templates/agents/xlsx.md +2 -1
  301. package/theme.css +284 -128
  302. package/dist/add-EISGSZAH.js +0 -6
  303. package/dist/add-EISGSZAH.js.map +0 -1
  304. package/dist/chunk-3G43C6OL.js.map +0 -1
  305. package/dist/chunk-5ZOP4SQR.js.map +0 -1
  306. package/dist/chunk-A2UUGASH.js.map +0 -1
  307. package/dist/chunk-BCE22JSM.js.map +0 -1
  308. package/dist/chunk-DTDVSFRY.js.map +0 -1
  309. package/dist/chunk-EP6JHXSR.js.map +0 -1
  310. package/dist/chunk-KLEIVDUV.js.map +0 -1
  311. package/dist/chunk-MXI3PZFT.js.map +0 -1
  312. package/dist/chunk-PLST5Q7T.js +0 -2221
  313. package/dist/chunk-PLST5Q7T.js.map +0 -1
  314. package/dist/chunk-PVTHHV7X.js.map +0 -1
  315. package/dist/chunk-T3FLAGI6.js +0 -316
  316. package/dist/chunk-T3FLAGI6.js.map +0 -1
  317. package/dist/dev-NZRLOQCL.js.map +0 -1
  318. package/dist/doctor-VFKEMR54.js.map +0 -1
  319. package/dist/preview-QDCIVVSR.js.map +0 -1
@@ -1,21 +1,21 @@
1
- import { cn } from './chunk-A2UUGASH.js';
1
+ import { buttonVariants, Button } from './chunk-PDOBHMUQ.js';
2
+ import { cn } from './chunk-U736PVHY.js';
2
3
  import { mergeProps } from '@base-ui/react/merge-props';
3
4
  import { useRender } from '@base-ui/react/use-render';
4
5
  import { cva } from 'class-variance-authority';
5
- import { Button as Button$1 } from '@base-ui/react/button';
6
- import { jsx, jsxs } from 'react/jsx-runtime';
7
- import * as React12 from 'react';
6
+ import * as React13 from 'react';
8
7
  import { getDefaultClassNames, DayPicker } from 'react-day-picker';
9
8
  import { ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, CheckIcon, XIcon, SearchIcon, ChevronUpIcon, PanelLeftIcon } from 'lucide-react';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
10
  import { Checkbox as Checkbox$1 } from '@base-ui/react/checkbox';
11
11
  import { Collapsible as Collapsible$1 } from '@base-ui/react/collapsible';
12
- import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
13
12
  import { Input as Input$1 } from '@base-ui/react/input';
13
+ import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
14
14
  import { Command as Command$1 } from 'cmdk';
15
15
  import { Menu } from '@base-ui/react/menu';
16
+ import { Separator as Separator$1 } from '@base-ui/react/separator';
16
17
  import { Popover as Popover$1 } from '@base-ui/react/popover';
17
18
  import { Select as Select$1 } from '@base-ui/react/select';
18
- import { Separator as Separator$1 } from '@base-ui/react/separator';
19
19
  import { Tooltip as Tooltip$1 } from '@base-ui/react/tooltip';
20
20
  import { Toggle as Toggle$1 } from '@base-ui/react/toggle';
21
21
  import { ToggleGroup as ToggleGroup$1 } from '@base-ui/react/toggle-group';
@@ -60,50 +60,6 @@ function Badge({
60
60
  }
61
61
  });
62
62
  }
63
- var buttonVariants = cva(
64
- "group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
65
- {
66
- variants: {
67
- variant: {
68
- default: "bg-primary text-primary-foreground hover:bg-primary/80",
69
- outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
70
- secondary: "bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
71
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
72
- destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
73
- link: "text-primary underline-offset-4 hover:underline"
74
- },
75
- size: {
76
- default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
77
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
78
- sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
79
- lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
80
- icon: "size-8",
81
- "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
82
- "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
83
- "icon-lg": "size-9"
84
- }
85
- },
86
- defaultVariants: {
87
- variant: "default",
88
- size: "default"
89
- }
90
- }
91
- );
92
- function Button({
93
- className,
94
- variant = "default",
95
- size = "default",
96
- ...props
97
- }) {
98
- return /* @__PURE__ */ jsx(
99
- Button$1,
100
- {
101
- "data-slot": "button",
102
- className: cn(buttonVariants({ variant, size, className })),
103
- ...props
104
- }
105
- );
106
- }
107
63
  function Calendar({
108
64
  className,
109
65
  classNames,
@@ -257,8 +213,8 @@ function CalendarDayButton({
257
213
  ...props
258
214
  }) {
259
215
  const defaultClassNames = getDefaultClassNames();
260
- const ref = React12.useRef(null);
261
- React12.useEffect(() => {
216
+ const ref = React13.useRef(null);
217
+ React13.useEffect(() => {
262
218
  if (modifiers.focused) ref.current?.focus();
263
219
  }, [modifiers.focused]);
264
220
  return /* @__PURE__ */ jsx(
@@ -280,167 +236,126 @@ function CalendarDayButton({
280
236
  }
281
237
  );
282
238
  }
283
- function Checkbox({ className, ...props }) {
239
+ function Card({
240
+ className,
241
+ size = "default",
242
+ ...props
243
+ }) {
284
244
  return /* @__PURE__ */ jsx(
285
- Checkbox$1.Root,
245
+ "div",
286
246
  {
287
- "data-slot": "checkbox",
247
+ "data-slot": "card",
248
+ "data-size": size,
288
249
  className: cn(
289
- "peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",
250
+ "group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl border bg-card shadow-[var(--shadow-card)] py-(--card-spacing) text-sm text-card-foreground [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",
290
251
  className
291
252
  ),
292
- ...props,
293
- children: /* @__PURE__ */ jsx(
294
- Checkbox$1.Indicator,
295
- {
296
- "data-slot": "checkbox-indicator",
297
- className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
298
- children: /* @__PURE__ */ jsx(CheckIcon, {})
299
- }
300
- )
253
+ ...props
301
254
  }
302
255
  );
303
256
  }
304
- function Collapsible({ ...props }) {
305
- return /* @__PURE__ */ jsx(Collapsible$1.Root, { "data-slot": "collapsible", ...props });
306
- }
307
- function CollapsibleTrigger({ ...props }) {
308
- return /* @__PURE__ */ jsx(Collapsible$1.Trigger, { "data-slot": "collapsible-trigger", ...props });
309
- }
310
- function CollapsibleContent({ ...props }) {
311
- return /* @__PURE__ */ jsx(Collapsible$1.Panel, { "data-slot": "collapsible-content", ...props });
312
- }
313
- function Dialog({ ...props }) {
314
- return /* @__PURE__ */ jsx(Dialog$1.Root, { "data-slot": "dialog", ...props });
315
- }
316
- function DialogTrigger({ ...props }) {
317
- return /* @__PURE__ */ jsx(Dialog$1.Trigger, { "data-slot": "dialog-trigger", ...props });
318
- }
319
- function DialogPortal({ ...props }) {
320
- return /* @__PURE__ */ jsx(Dialog$1.Portal, { "data-slot": "dialog-portal", ...props });
321
- }
322
- function DialogClose({ ...props }) {
323
- return /* @__PURE__ */ jsx(Dialog$1.Close, { "data-slot": "dialog-close", ...props });
324
- }
325
- function DialogOverlay({
326
- className,
327
- ...props
328
- }) {
257
+ function CardHeader({ className, ...props }) {
329
258
  return /* @__PURE__ */ jsx(
330
- Dialog$1.Backdrop,
259
+ "div",
331
260
  {
332
- "data-slot": "dialog-overlay",
261
+ "data-slot": "card-header",
333
262
  className: cn(
334
- "fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
263
+ "group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",
335
264
  className
336
265
  ),
337
266
  ...props
338
267
  }
339
268
  );
340
269
  }
341
- function DialogContent({
342
- className,
343
- children,
344
- showCloseButton = true,
345
- ...props
346
- }) {
347
- return /* @__PURE__ */ jsxs(DialogPortal, { children: [
348
- /* @__PURE__ */ jsx(DialogOverlay, {}),
349
- /* @__PURE__ */ jsxs(
350
- Dialog$1.Popup,
351
- {
352
- "data-slot": "dialog-content",
353
- className: cn(
354
- "fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
355
- className
356
- ),
357
- ...props,
358
- children: [
359
- children,
360
- showCloseButton && /* @__PURE__ */ jsxs(
361
- Dialog$1.Close,
362
- {
363
- "data-slot": "dialog-close",
364
- render: /* @__PURE__ */ jsx(
365
- Button,
366
- {
367
- variant: "ghost",
368
- className: "absolute top-2 right-2",
369
- size: "icon-sm"
370
- }
371
- ),
372
- children: [
373
- /* @__PURE__ */ jsx(XIcon, {}),
374
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
375
- ]
376
- }
377
- )
378
- ]
379
- }
380
- )
381
- ] });
270
+ function CardTitle({ className, ...props }) {
271
+ return /* @__PURE__ */ jsx(
272
+ "div",
273
+ {
274
+ "data-slot": "card-title",
275
+ className: cn(
276
+ "cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",
277
+ className
278
+ ),
279
+ ...props
280
+ }
281
+ );
382
282
  }
383
- function DialogHeader({ className, ...props }) {
283
+ function CardDescription({ className, ...props }) {
384
284
  return /* @__PURE__ */ jsx(
385
285
  "div",
386
286
  {
387
- "data-slot": "dialog-header",
388
- className: cn("flex flex-col gap-2", className),
287
+ "data-slot": "card-description",
288
+ className: cn("text-sm text-muted-foreground", className),
389
289
  ...props
390
290
  }
391
291
  );
392
292
  }
393
- function DialogFooter({
394
- className,
395
- showCloseButton = false,
396
- children,
397
- ...props
398
- }) {
399
- return /* @__PURE__ */ jsxs(
293
+ function CardAction({ className, ...props }) {
294
+ return /* @__PURE__ */ jsx(
400
295
  "div",
401
296
  {
402
- "data-slot": "dialog-footer",
297
+ "data-slot": "card-action",
403
298
  className: cn(
404
- "-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",
299
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
405
300
  className
406
301
  ),
407
- ...props,
408
- children: [
409
- children,
410
- showCloseButton && /* @__PURE__ */ jsx(Dialog$1.Close, { render: /* @__PURE__ */ jsx(Button, { variant: "outline" }), children: "Close" })
411
- ]
302
+ ...props
412
303
  }
413
304
  );
414
305
  }
415
- function DialogTitle({ className, ...props }) {
306
+ function CardContent({ className, ...props }) {
416
307
  return /* @__PURE__ */ jsx(
417
- Dialog$1.Title,
308
+ "div",
418
309
  {
419
- "data-slot": "dialog-title",
310
+ "data-slot": "card-content",
311
+ className: cn("px-(--card-spacing)", className),
312
+ ...props
313
+ }
314
+ );
315
+ }
316
+ function CardFooter({ className, ...props }) {
317
+ return /* @__PURE__ */ jsx(
318
+ "div",
319
+ {
320
+ "data-slot": "card-footer",
420
321
  className: cn(
421
- "cn-font-heading text-base leading-none font-medium",
322
+ "flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",
422
323
  className
423
324
  ),
424
325
  ...props
425
326
  }
426
327
  );
427
328
  }
428
- function DialogDescription({
429
- className,
430
- ...props
431
- }) {
329
+ function Checkbox({ className, ...props }) {
432
330
  return /* @__PURE__ */ jsx(
433
- Dialog$1.Description,
331
+ Checkbox$1.Root,
434
332
  {
435
- "data-slot": "dialog-description",
333
+ "data-slot": "checkbox",
436
334
  className: cn(
437
- "text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
335
+ "peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",
438
336
  className
439
337
  ),
440
- ...props
338
+ ...props,
339
+ children: /* @__PURE__ */ jsx(
340
+ Checkbox$1.Indicator,
341
+ {
342
+ "data-slot": "checkbox-indicator",
343
+ className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
344
+ children: /* @__PURE__ */ jsx(CheckIcon, {})
345
+ }
346
+ )
441
347
  }
442
348
  );
443
349
  }
350
+ function Collapsible({ ...props }) {
351
+ return /* @__PURE__ */ jsx(Collapsible$1.Root, { "data-slot": "collapsible", ...props });
352
+ }
353
+ function CollapsibleTrigger({ ...props }) {
354
+ return /* @__PURE__ */ jsx(Collapsible$1.Trigger, { "data-slot": "collapsible-trigger", ...props });
355
+ }
356
+ function CollapsibleContent({ ...props }) {
357
+ return /* @__PURE__ */ jsx(Collapsible$1.Panel, { "data-slot": "collapsible-content", ...props });
358
+ }
444
359
  function Input({ className, type, ...props }) {
445
360
  return /* @__PURE__ */ jsx(
446
361
  Input$1,
@@ -598,6 +513,137 @@ function InputGroupTextarea({
598
513
  }
599
514
  );
600
515
  }
516
+ function Dialog({ ...props }) {
517
+ return /* @__PURE__ */ jsx(Dialog$1.Root, { "data-slot": "dialog", ...props });
518
+ }
519
+ function DialogTrigger({ ...props }) {
520
+ return /* @__PURE__ */ jsx(Dialog$1.Trigger, { "data-slot": "dialog-trigger", ...props });
521
+ }
522
+ function DialogPortal({ ...props }) {
523
+ return /* @__PURE__ */ jsx(Dialog$1.Portal, { "data-slot": "dialog-portal", ...props });
524
+ }
525
+ function DialogClose({ ...props }) {
526
+ return /* @__PURE__ */ jsx(Dialog$1.Close, { "data-slot": "dialog-close", ...props });
527
+ }
528
+ function DialogOverlay({
529
+ className,
530
+ ...props
531
+ }) {
532
+ return /* @__PURE__ */ jsx(
533
+ Dialog$1.Backdrop,
534
+ {
535
+ "data-slot": "dialog-overlay",
536
+ className: cn(
537
+ "fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in motion-reduce:animate-none! data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
538
+ className
539
+ ),
540
+ ...props
541
+ }
542
+ );
543
+ }
544
+ function DialogContent({
545
+ className,
546
+ children,
547
+ showCloseButton = true,
548
+ ...props
549
+ }) {
550
+ return /* @__PURE__ */ jsxs(DialogPortal, { children: [
551
+ /* @__PURE__ */ jsx(DialogOverlay, {}),
552
+ /* @__PURE__ */ jsxs(
553
+ Dialog$1.Popup,
554
+ {
555
+ "data-slot": "dialog-content",
556
+ className: cn(
557
+ "fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in motion-reduce:animate-none! data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
558
+ className
559
+ ),
560
+ ...props,
561
+ children: [
562
+ children,
563
+ showCloseButton && /* @__PURE__ */ jsxs(
564
+ Dialog$1.Close,
565
+ {
566
+ "data-slot": "dialog-close",
567
+ render: /* @__PURE__ */ jsx(
568
+ Button,
569
+ {
570
+ variant: "ghost",
571
+ className: "absolute top-2 right-2",
572
+ size: "icon-sm"
573
+ }
574
+ ),
575
+ children: [
576
+ /* @__PURE__ */ jsx(XIcon, {}),
577
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
578
+ ]
579
+ }
580
+ )
581
+ ]
582
+ }
583
+ )
584
+ ] });
585
+ }
586
+ function DialogHeader({ className, ...props }) {
587
+ return /* @__PURE__ */ jsx(
588
+ "div",
589
+ {
590
+ "data-slot": "dialog-header",
591
+ className: cn("flex flex-col gap-2", className),
592
+ ...props
593
+ }
594
+ );
595
+ }
596
+ function DialogFooter({
597
+ className,
598
+ showCloseButton = false,
599
+ children,
600
+ ...props
601
+ }) {
602
+ return /* @__PURE__ */ jsxs(
603
+ "div",
604
+ {
605
+ "data-slot": "dialog-footer",
606
+ className: cn(
607
+ "-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",
608
+ className
609
+ ),
610
+ ...props,
611
+ children: [
612
+ children,
613
+ showCloseButton && /* @__PURE__ */ jsx(Dialog$1.Close, { render: /* @__PURE__ */ jsx(Button, { variant: "outline" }), children: "Close" })
614
+ ]
615
+ }
616
+ );
617
+ }
618
+ function DialogTitle({ className, ...props }) {
619
+ return /* @__PURE__ */ jsx(
620
+ Dialog$1.Title,
621
+ {
622
+ "data-slot": "dialog-title",
623
+ className: cn(
624
+ "cn-font-heading text-base leading-none font-medium",
625
+ className
626
+ ),
627
+ ...props
628
+ }
629
+ );
630
+ }
631
+ function DialogDescription({
632
+ className,
633
+ ...props
634
+ }) {
635
+ return /* @__PURE__ */ jsx(
636
+ Dialog$1.Description,
637
+ {
638
+ "data-slot": "dialog-description",
639
+ className: cn(
640
+ "text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
641
+ className
642
+ ),
643
+ ...props
644
+ }
645
+ );
646
+ }
601
647
  function Command({
602
648
  className,
603
649
  ...props
@@ -784,7 +830,7 @@ function DropdownMenuContent({
784
830
  {
785
831
  "data-slot": "dropdown-menu-content",
786
832
  className: cn(
787
- "cn-menu-target cn-menu-translucent z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",
833
+ "cn-menu-target cn-menu-translucent z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in motion-reduce:animate-none! data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",
788
834
  className
789
835
  ),
790
836
  ...props
@@ -873,7 +919,7 @@ function DropdownMenuSubContent({
873
919
  {
874
920
  "data-slot": "dropdown-menu-sub-content",
875
921
  className: cn(
876
- "cn-menu-target cn-menu-translucent w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 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",
922
+ "cn-menu-target cn-menu-translucent w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 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 motion-reduce:animate-none! data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
877
923
  className
878
924
  ),
879
925
  align,
@@ -984,6 +1030,24 @@ function DropdownMenuShortcut({
984
1030
  }
985
1031
  );
986
1032
  }
1033
+ function Separator({
1034
+ className,
1035
+ orientation = "horizontal",
1036
+ ...props
1037
+ }) {
1038
+ return /* @__PURE__ */ jsx(
1039
+ Separator$1,
1040
+ {
1041
+ "data-slot": "separator",
1042
+ orientation,
1043
+ className: cn(
1044
+ "shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
1045
+ className
1046
+ ),
1047
+ ...props
1048
+ }
1049
+ );
1050
+ }
987
1051
  function Popover({ ...props }) {
988
1052
  return /* @__PURE__ */ jsx(Popover$1.Root, { "data-slot": "popover", ...props });
989
1053
  }
@@ -1011,7 +1075,7 @@ function PopoverContent({
1011
1075
  {
1012
1076
  "data-slot": "popover-content",
1013
1077
  className: cn(
1014
- "z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
1078
+ "z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in motion-reduce:animate-none! data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
1015
1079
  className
1016
1080
  ),
1017
1081
  ...props
@@ -1054,8 +1118,8 @@ function PopoverDescription({
1054
1118
  );
1055
1119
  }
1056
1120
  function collectSelectItems(node, into = []) {
1057
- React12.Children.forEach(node, (child) => {
1058
- if (!React12.isValidElement(child)) return;
1121
+ React13.Children.forEach(node, (child) => {
1122
+ if (!React13.isValidElement(child)) return;
1059
1123
  const props = child.props;
1060
1124
  if (child.type === SelectItem) {
1061
1125
  if (props.value !== void 0) into.push({ label: props.children, value: props.value });
@@ -1070,7 +1134,7 @@ function Select({
1070
1134
  children,
1071
1135
  ...props
1072
1136
  }) {
1073
- const derivedItems = React12.useMemo(() => {
1137
+ const derivedItems = React13.useMemo(() => {
1074
1138
  if (items) return items;
1075
1139
  const collected = collectSelectItems(children);
1076
1140
  return collected.length > 0 ? collected : void 0;
@@ -1150,7 +1214,7 @@ function SelectContent({
1150
1214
  "data-slot": "select-content",
1151
1215
  "data-align-trigger": alignItemWithTrigger,
1152
1216
  className: cn(
1153
- "cn-menu-target cn-menu-translucent relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
1217
+ "cn-menu-target cn-menu-translucent relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in motion-reduce:animate-none! data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
1154
1218
  className
1155
1219
  ),
1156
1220
  ...props,
@@ -1251,24 +1315,6 @@ function SelectScrollDownButton({
1251
1315
  }
1252
1316
  );
1253
1317
  }
1254
- function Separator({
1255
- className,
1256
- orientation = "horizontal",
1257
- ...props
1258
- }) {
1259
- return /* @__PURE__ */ jsx(
1260
- Separator$1,
1261
- {
1262
- "data-slot": "separator",
1263
- orientation,
1264
- className: cn(
1265
- "shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
1266
- className
1267
- ),
1268
- ...props
1269
- }
1270
- );
1271
- }
1272
1318
  function Sheet({ ...props }) {
1273
1319
  return /* @__PURE__ */ jsx(Dialog$1.Root, { "data-slot": "sheet", ...props });
1274
1320
  }
@@ -1309,7 +1355,7 @@ function SheetContent({
1309
1355
  "data-slot": "sheet-content",
1310
1356
  "data-side": side,
1311
1357
  className: cn(
1312
- "fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
1358
+ "fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-out data-ending-style:opacity-0 data-starting-style:opacity-0 motion-reduce:data-ending-style:translate-none! motion-reduce:data-starting-style:translate-none! data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
1313
1359
  className
1314
1360
  ),
1315
1361
  ...props,
@@ -1386,8 +1432,8 @@ function SheetDescription({
1386
1432
  }
1387
1433
  var MOBILE_BREAKPOINT = 768;
1388
1434
  function useIsMobile() {
1389
- const [isMobile, setIsMobile] = React12.useState(void 0);
1390
- React12.useEffect(() => {
1435
+ const [isMobile, setIsMobile] = React13.useState(void 0);
1436
+ React13.useEffect(() => {
1391
1437
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
1392
1438
  const onChange = () => {
1393
1439
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -1403,7 +1449,7 @@ function Skeleton({ className, ...props }) {
1403
1449
  "div",
1404
1450
  {
1405
1451
  "data-slot": "skeleton",
1406
- className: cn("animate-pulse rounded-md bg-muted", className),
1452
+ className: cn("animate-pulse motion-reduce:animate-none rounded-md bg-muted", className),
1407
1453
  ...props
1408
1454
  }
1409
1455
  );
@@ -1434,9 +1480,10 @@ function TooltipContent({
1434
1480
  align = "center",
1435
1481
  alignOffset = 0,
1436
1482
  children,
1483
+ container,
1437
1484
  ...props
1438
1485
  }) {
1439
- return /* @__PURE__ */ jsx(Tooltip$1.Portal, { children: /* @__PURE__ */ jsx(
1486
+ return /* @__PURE__ */ jsx(Tooltip$1.Portal, { container, className: container ? "contents" : void 0, children: /* @__PURE__ */ jsx(
1440
1487
  Tooltip$1.Positioner,
1441
1488
  {
1442
1489
  align,
@@ -1449,7 +1496,7 @@ function TooltipContent({
1449
1496
  {
1450
1497
  "data-slot": "tooltip-content",
1451
1498
  className: cn(
1452
- "z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 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",
1499
+ "z-50 inline-flex w-fit data-instant:animate-none max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in motion-reduce:animate-none! data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
1453
1500
  className
1454
1501
  ),
1455
1502
  ...props,
@@ -1468,9 +1515,9 @@ var SIDEBAR_WIDTH = "16rem";
1468
1515
  var SIDEBAR_WIDTH_MOBILE = "18rem";
1469
1516
  var SIDEBAR_WIDTH_ICON = "3rem";
1470
1517
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
1471
- var SidebarContext = React12.createContext(null);
1518
+ var SidebarContext = React13.createContext(null);
1472
1519
  function useSidebar() {
1473
- const context = React12.useContext(SidebarContext);
1520
+ const context = React13.useContext(SidebarContext);
1474
1521
  if (!context) {
1475
1522
  throw new Error("useSidebar must be used within a SidebarProvider.");
1476
1523
  }
@@ -1486,10 +1533,10 @@ function SidebarProvider({
1486
1533
  ...props
1487
1534
  }) {
1488
1535
  const isMobile = useIsMobile();
1489
- const [openMobile, setOpenMobile] = React12.useState(false);
1490
- const [_open, _setOpen] = React12.useState(defaultOpen);
1536
+ const [openMobile, setOpenMobile] = React13.useState(false);
1537
+ const [_open, _setOpen] = React13.useState(defaultOpen);
1491
1538
  const open = openProp ?? _open;
1492
- const setOpen = React12.useCallback(
1539
+ const setOpen = React13.useCallback(
1493
1540
  (value) => {
1494
1541
  const openState = typeof value === "function" ? value(open) : value;
1495
1542
  if (setOpenProp) {
@@ -1501,10 +1548,10 @@ function SidebarProvider({
1501
1548
  },
1502
1549
  [setOpenProp, open]
1503
1550
  );
1504
- const toggleSidebar = React12.useCallback(() => {
1551
+ const toggleSidebar = React13.useCallback(() => {
1505
1552
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
1506
1553
  }, [isMobile, setOpen, setOpenMobile]);
1507
- React12.useEffect(() => {
1554
+ React13.useEffect(() => {
1508
1555
  const handleKeyDown = (event) => {
1509
1556
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
1510
1557
  event.preventDefault();
@@ -1515,7 +1562,7 @@ function SidebarProvider({
1515
1562
  return () => window.removeEventListener("keydown", handleKeyDown);
1516
1563
  }, [toggleSidebar]);
1517
1564
  const state = open ? "expanded" : "collapsed";
1518
- const contextValue = React12.useMemo(
1565
+ const contextValue = React13.useMemo(
1519
1566
  () => ({
1520
1567
  state,
1521
1568
  open,
@@ -1679,7 +1726,7 @@ function SidebarRail({ className, ...props }) {
1679
1726
  onClick: toggleSidebar,
1680
1727
  title: "Toggle Sidebar",
1681
1728
  className: cn(
1682
- "absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2",
1729
+ "absolute inset-y-0 z-20 hidden w-4 transition-[background-color,translate,left,right] ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2",
1683
1730
  "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
1684
1731
  "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
1685
1732
  "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar",
@@ -1975,7 +2022,7 @@ function SidebarMenuSkeleton({
1975
2022
  showIcon = false,
1976
2023
  ...props
1977
2024
  }) {
1978
- const [width] = React12.useState(() => {
2025
+ const [width] = React13.useState(() => {
1979
2026
  return `${Math.floor(Math.random() * 40) + 50}%`;
1980
2027
  });
1981
2028
  return /* @__PURE__ */ jsxs(
@@ -2131,7 +2178,7 @@ function TableHead({ className, ...props }) {
2131
2178
  {
2132
2179
  "data-slot": "table-head",
2133
2180
  className: cn(
2134
- "h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",
2181
+ "h-10 px-2 text-left align-middle text-xs font-medium whitespace-nowrap text-muted-foreground [&:has([role=checkbox])]:pr-0",
2135
2182
  className
2136
2183
  ),
2137
2184
  ...props
@@ -2199,7 +2246,7 @@ function Toggle({
2199
2246
  }
2200
2247
  );
2201
2248
  }
2202
- var ToggleGroupContext = React12.createContext({
2249
+ var ToggleGroupContext = React13.createContext({
2203
2250
  size: "default",
2204
2251
  variant: "default",
2205
2252
  spacing: 2,
@@ -2245,7 +2292,7 @@ function ToggleGroupItem({
2245
2292
  size = "default",
2246
2293
  ...props
2247
2294
  }) {
2248
- const context = React12.useContext(ToggleGroupContext);
2295
+ const context = React13.useContext(ToggleGroupContext);
2249
2296
  return /* @__PURE__ */ jsx(
2250
2297
  Toggle$1,
2251
2298
  {
@@ -2267,6 +2314,6 @@ function ToggleGroupItem({
2267
2314
  );
2268
2315
  }
2269
2316
 
2270
- export { Badge, Button, Calendar, CalendarDayButton, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, toggleVariants, useIsMobile, useSidebar };
2271
- //# sourceMappingURL=chunk-MXI3PZFT.js.map
2272
- //# sourceMappingURL=chunk-MXI3PZFT.js.map
2317
+ export { Badge, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, toggleVariants, useIsMobile, useSidebar };
2318
+ //# sourceMappingURL=chunk-7S52M2SL.js.map
2319
+ //# sourceMappingURL=chunk-7S52M2SL.js.map