@wealthx/shadcn 1.1.0 → 1.2.1

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 (300) hide show
  1. package/.turbo/turbo-build.log +235 -154
  2. package/CHANGELOG.md +12 -0
  3. package/dist/{chunk-6OJF6XRN.mjs → chunk-24FUO7TD.mjs} +4 -8
  4. package/dist/{chunk-4AJ5HWHD.mjs → chunk-2I5S2AMY.mjs} +3 -3
  5. package/dist/{chunk-GPRJQ24C.mjs → chunk-34NWQURD.mjs} +2 -2
  6. package/dist/{chunk-MQ72DIBH.mjs → chunk-3GF7OVTP.mjs} +14 -5
  7. package/dist/chunk-3WMX6KWS.mjs +245 -0
  8. package/dist/{chunk-PMKODV6M.mjs → chunk-462HMNO4.mjs} +6 -10
  9. package/dist/chunk-4CX4SBRO.mjs +153 -0
  10. package/dist/chunk-4MN6UQHG.mjs +443 -0
  11. package/dist/chunk-4Y6R4WEC.mjs +250 -0
  12. package/dist/{chunk-BGP2N52Z.mjs → chunk-66MI7Q4B.mjs} +5 -5
  13. package/dist/{chunk-CGOKTPXU.mjs → chunk-6JQFUE5I.mjs} +20 -23
  14. package/dist/{chunk-Z3MK2KKZ.mjs → chunk-7DHU4VGG.mjs} +7 -3
  15. package/dist/chunk-7MMXNK3C.mjs +317 -0
  16. package/dist/{chunk-VZ2NR7L3.mjs → chunk-7PYJD5JI.mjs} +35 -27
  17. package/dist/{chunk-JU2RUWHF.mjs → chunk-7XJHLGUV.mjs} +1 -1
  18. package/dist/{chunk-BMFN37JH.mjs → chunk-7YAU5CY6.mjs} +1 -1
  19. package/dist/chunk-A56YQQHG.mjs +402 -0
  20. package/dist/{chunk-GLW2UO6O.mjs → chunk-BL3DXM2X.mjs} +84 -62
  21. package/dist/{chunk-SLWCCURD.mjs → chunk-CLIN5525.mjs} +8 -4
  22. package/dist/{chunk-3VQNJ235.mjs → chunk-CSDO6VBW.mjs} +7 -0
  23. package/dist/chunk-D4ILTPOG.mjs +293 -0
  24. package/dist/{chunk-HS7TFG7V.mjs → chunk-D6ID6M4V.mjs} +1 -1
  25. package/dist/chunk-DOH3EHX7.mjs +378 -0
  26. package/dist/{chunk-MJIEMGRD.mjs → chunk-EFRENWEJ.mjs} +9 -17
  27. package/dist/{chunk-YBXCIF5Q.mjs → chunk-ERGGHC2V.mjs} +36 -49
  28. package/dist/{chunk-OXQQNQZI.mjs → chunk-FEZKMUCF.mjs} +10 -1
  29. package/dist/{chunk-55CEW76V.mjs → chunk-FH6QVUVZ.mjs} +1 -1
  30. package/dist/chunk-FMAXJ2SI.mjs +71 -0
  31. package/dist/chunk-FZIXGLMV.mjs +173 -0
  32. package/dist/chunk-GGM2UYGG.mjs +273 -0
  33. package/dist/{chunk-DS2AMHN2.mjs → chunk-GYMYRIZP.mjs} +2 -2
  34. package/dist/{chunk-KQDD5MU3.mjs → chunk-H45TKD34.mjs} +5 -5
  35. package/dist/{chunk-BBJBJSXQ.mjs → chunk-J5UICVJS.mjs} +1 -1
  36. package/dist/{chunk-RL772EH7.mjs → chunk-JHJHG4GO.mjs} +4 -12
  37. package/dist/{chunk-RN67642N.mjs → chunk-JNQORUPP.mjs} +49 -42
  38. package/dist/{chunk-5JGQAAQV.mjs → chunk-K3JYD4IU.mjs} +86 -63
  39. package/dist/{chunk-FHNT55I5.mjs → chunk-KUDCQ4FI.mjs} +4 -4
  40. package/dist/{chunk-UEL4RD5P.mjs → chunk-LHYCMLVA.mjs} +82 -68
  41. package/dist/{chunk-NLLKTU4B.mjs → chunk-LLVQKSU3.mjs} +21 -17
  42. package/dist/{chunk-KKHTJNMM.mjs → chunk-MARPPFOJ.mjs} +8 -4
  43. package/dist/{chunk-6AFMNC42.mjs → chunk-N2PT566P.mjs} +15 -11
  44. package/dist/{chunk-YN5SYTOO.mjs → chunk-NQPOYKAQ.mjs} +9 -5
  45. package/dist/{chunk-ZZV5JVNW.mjs → chunk-NSLMILBT.mjs} +3 -7
  46. package/dist/chunk-OGOYQ7BG.mjs +150 -0
  47. package/dist/chunk-OPNQAVVH.mjs +162 -0
  48. package/dist/{chunk-3NQGYJEZ.mjs → chunk-P6AM5V7O.mjs} +10 -18
  49. package/dist/{chunk-CZ3BW5GL.mjs → chunk-P76HMUI6.mjs} +5 -11
  50. package/dist/chunk-PCPLO5HT.mjs +671 -0
  51. package/dist/chunk-PG6K5XEC.mjs +475 -0
  52. package/dist/{chunk-DDPA2XXS.mjs → chunk-PMB3A7V3.mjs} +2 -2
  53. package/dist/chunk-PR6V5XKM.mjs +209 -0
  54. package/dist/{chunk-46OFHMQA.mjs → chunk-Q76O3RIQ.mjs} +10 -6
  55. package/dist/chunk-RGU7HOEC.mjs +140 -0
  56. package/dist/{chunk-JF4PHPD5.mjs → chunk-RGVKLTLH.mjs} +4 -4
  57. package/dist/{chunk-VG6UF6UT.mjs → chunk-RP3SQYA3.mjs} +2 -2
  58. package/dist/chunk-RYCLWMZ7.mjs +162 -0
  59. package/dist/chunk-SIZMLSRU.mjs +162 -0
  60. package/dist/chunk-SPJ5KXW7.mjs +199 -0
  61. package/dist/chunk-SWGT756Z.mjs +210 -0
  62. package/dist/chunk-SYOD63OZ.mjs +225 -0
  63. package/dist/chunk-TS2ZX2VS.mjs +270 -0
  64. package/dist/chunk-UFYSFDER.mjs +42 -0
  65. package/dist/chunk-VACKZOMY.mjs +190 -0
  66. package/dist/chunk-VLQZANBF.mjs +42 -0
  67. package/dist/chunk-VPBN3WOO.mjs +164 -0
  68. package/dist/chunk-WA6O6EUR.mjs +1885 -0
  69. package/dist/{chunk-E3K6O4FZ.mjs → chunk-WAZD7NFU.mjs} +5 -2
  70. package/dist/chunk-WG6JGJXB.mjs +165 -0
  71. package/dist/{chunk-I64K754C.mjs → chunk-WNGWBVLV.mjs} +2 -2
  72. package/dist/{chunk-3U7SD3MS.mjs → chunk-WOEHFRGB.mjs} +3 -3
  73. package/dist/{chunk-DKZRJOMF.mjs → chunk-XIRTEFKH.mjs} +12 -12
  74. package/dist/chunk-Y6DWJSKZ.mjs +79 -0
  75. package/dist/{chunk-CJ46PDXE.mjs → chunk-ZRO5JO3H.mjs} +106 -66
  76. package/dist/{chunk-VYMHBV6D.mjs → chunk-ZU4NV6RG.mjs} +5 -3
  77. package/dist/components/ui/accordion.js +40 -4
  78. package/dist/components/ui/accordion.mjs +2 -2
  79. package/dist/components/ui/add-column-modal.js +789 -0
  80. package/dist/components/ui/add-column-modal.mjs +17 -0
  81. package/dist/components/ui/add-lead-modal.js +647 -0
  82. package/dist/components/ui/add-lead-modal.mjs +16 -0
  83. package/dist/components/ui/ai-assistant-drawer.js +686 -0
  84. package/dist/components/ui/ai-assistant-drawer.mjs +16 -0
  85. package/dist/components/ui/alert-dialog.js +37 -5
  86. package/dist/components/ui/alert-dialog.mjs +4 -4
  87. package/dist/components/ui/alert.js +37 -11
  88. package/dist/components/ui/alert.mjs +2 -2
  89. package/dist/components/ui/avatar.js +36 -8
  90. package/dist/components/ui/avatar.mjs +2 -2
  91. package/dist/components/ui/backoffice-alert-history-chart.js +624 -0
  92. package/dist/components/ui/backoffice-alert-history-chart.mjs +16 -0
  93. package/dist/components/ui/backoffice-contact-history-chart.js +687 -0
  94. package/dist/components/ui/backoffice-contact-history-chart.mjs +16 -0
  95. package/dist/components/ui/badge.js +37 -2
  96. package/dist/components/ui/badge.mjs +2 -2
  97. package/dist/components/ui/borrowing-capacity-line-chart.js +640 -0
  98. package/dist/components/ui/borrowing-capacity-line-chart.mjs +16 -0
  99. package/dist/components/ui/button.js +35 -3
  100. package/dist/components/ui/button.mjs +2 -2
  101. package/dist/components/ui/calendar.js +43 -19
  102. package/dist/components/ui/calendar.mjs +3 -3
  103. package/dist/components/ui/card.js +40 -4
  104. package/dist/components/ui/card.mjs +2 -2
  105. package/dist/components/ui/cash-balance-line-chart.js +628 -0
  106. package/dist/components/ui/cash-balance-line-chart.mjs +16 -0
  107. package/dist/components/ui/cashflow-bar-chart.js +124 -70
  108. package/dist/components/ui/cashflow-bar-chart.mjs +8 -8
  109. package/dist/components/ui/checkbox.js +36 -5
  110. package/dist/components/ui/checkbox.mjs +2 -3
  111. package/dist/components/ui/chip.js +37 -2
  112. package/dist/components/ui/chip.mjs +3 -3
  113. package/dist/components/ui/combobox.js +68 -49
  114. package/dist/components/ui/combobox.mjs +2 -2
  115. package/dist/components/ui/data-table.js +160 -88
  116. package/dist/components/ui/data-table.mjs +10 -11
  117. package/dist/components/ui/date-picker.js +44 -20
  118. package/dist/components/ui/date-picker.mjs +6 -7
  119. package/dist/components/ui/dialog.js +44 -12
  120. package/dist/components/ui/dialog.mjs +4 -4
  121. package/dist/components/ui/drawer.js +46 -10
  122. package/dist/components/ui/drawer.mjs +3 -3
  123. package/dist/components/ui/dropdown-menu.js +40 -16
  124. package/dist/components/ui/dropdown-menu.mjs +3 -3
  125. package/dist/components/ui/empty.js +41 -5
  126. package/dist/components/ui/empty.mjs +2 -2
  127. package/dist/components/ui/expense-bar-chart.js +166 -67
  128. package/dist/components/ui/expense-bar-chart.mjs +8 -8
  129. package/dist/components/ui/field.js +53 -21
  130. package/dist/components/ui/field.mjs +4 -4
  131. package/dist/components/ui/financial-cards.js +1002 -0
  132. package/dist/components/ui/financial-cards.mjs +24 -0
  133. package/dist/components/ui/financial-drawers.js +637 -0
  134. package/dist/components/ui/financial-drawers.mjs +17 -0
  135. package/dist/components/ui/financial-primitives.js +218 -0
  136. package/dist/components/ui/financial-primitives.mjs +22 -0
  137. package/dist/components/ui/financial-sections.js +1422 -0
  138. package/dist/components/ui/financial-sections.mjs +30 -0
  139. package/dist/components/ui/form-primitives.js +682 -0
  140. package/dist/components/ui/form-primitives.mjs +19 -0
  141. package/dist/components/ui/income-bar-chart.js +164 -66
  142. package/dist/components/ui/income-bar-chart.mjs +8 -8
  143. package/dist/components/ui/input-group.js +43 -7
  144. package/dist/components/ui/input-group.mjs +5 -5
  145. package/dist/components/ui/input-otp.js +39 -3
  146. package/dist/components/ui/input-otp.mjs +2 -2
  147. package/dist/components/ui/input.js +34 -2
  148. package/dist/components/ui/input.mjs +2 -2
  149. package/dist/components/ui/kanban-column.js +1143 -0
  150. package/dist/components/ui/kanban-column.mjs +20 -0
  151. package/dist/components/ui/label.js +35 -7
  152. package/dist/components/ui/label.mjs +2 -2
  153. package/dist/components/ui/opportunity-card.js +960 -0
  154. package/dist/components/ui/opportunity-card.mjs +20 -0
  155. package/dist/components/ui/opportunity-edit-modals.js +3360 -0
  156. package/dist/components/ui/opportunity-edit-modals.mjs +37 -0
  157. package/dist/components/ui/opportunity-summary-tab.js +4365 -0
  158. package/dist/components/ui/opportunity-summary-tab.mjs +34 -0
  159. package/dist/components/ui/pagination.js +35 -3
  160. package/dist/components/ui/pagination.mjs +3 -3
  161. package/dist/components/ui/pipeline-alerts.js +103 -0
  162. package/dist/components/ui/pipeline-alerts.mjs +8 -0
  163. package/dist/components/ui/pipeline-board.js +1408 -0
  164. package/dist/components/ui/pipeline-board.mjs +24 -0
  165. package/dist/components/ui/pipeline-chart.js +216 -0
  166. package/dist/components/ui/pipeline-chart.mjs +10 -0
  167. package/dist/components/ui/pipeline-dialogs.js +1183 -0
  168. package/dist/components/ui/pipeline-dialogs.mjs +23 -0
  169. package/dist/components/ui/pipeline-primitives.js +300 -0
  170. package/dist/components/ui/pipeline-primitives.mjs +11 -0
  171. package/dist/components/ui/popover.js +45 -4
  172. package/dist/components/ui/popover.mjs +3 -3
  173. package/dist/components/ui/progress.js +33 -1
  174. package/dist/components/ui/progress.mjs +2 -2
  175. package/dist/components/ui/property-cashflow-doughnut-chart.js +523 -0
  176. package/dist/components/ui/property-cashflow-doughnut-chart.mjs +16 -0
  177. package/dist/components/ui/property-debt-equity-doughnut-chart.js +521 -0
  178. package/dist/components/ui/property-debt-equity-doughnut-chart.mjs +16 -0
  179. package/dist/components/ui/property-mobile-estimate-line-chart.js +683 -0
  180. package/dist/components/ui/property-mobile-estimate-line-chart.mjs +16 -0
  181. package/dist/components/ui/radio-group.js +33 -1
  182. package/dist/components/ui/radio-group.mjs +2 -2
  183. package/dist/components/ui/select.js +66 -26
  184. package/dist/components/ui/select.mjs +3 -3
  185. package/dist/components/ui/separator.js +33 -1
  186. package/dist/components/ui/separator.mjs +2 -2
  187. package/dist/components/ui/sheet.js +37 -9
  188. package/dist/components/ui/sheet.mjs +3 -3
  189. package/dist/components/ui/skeleton.js +33 -1
  190. package/dist/components/ui/skeleton.mjs +2 -2
  191. package/dist/components/ui/slider.js +86 -102
  192. package/dist/components/ui/slider.mjs +2 -2
  193. package/dist/components/ui/spinner.js +33 -1
  194. package/dist/components/ui/spinner.mjs +2 -2
  195. package/dist/components/ui/stage-timeline.js +579 -0
  196. package/dist/components/ui/stage-timeline.mjs +15 -0
  197. package/dist/components/ui/switch.js +37 -4
  198. package/dist/components/ui/switch.mjs +2 -3
  199. package/dist/components/ui/table.js +37 -5
  200. package/dist/components/ui/table.mjs +2 -2
  201. package/dist/components/ui/tabs.js +36 -12
  202. package/dist/components/ui/tabs.mjs +2 -2
  203. package/dist/components/ui/textarea.js +34 -2
  204. package/dist/components/ui/textarea.mjs +2 -2
  205. package/dist/components/ui/toggle-group.js +35 -4
  206. package/dist/components/ui/toggle-group.mjs +3 -4
  207. package/dist/components/ui/toggle.js +35 -4
  208. package/dist/components/ui/toggle.mjs +2 -3
  209. package/dist/components/ui/tooltip.js +51 -22
  210. package/dist/components/ui/tooltip.mjs +3 -3
  211. package/dist/components/ui/transactions-expense-categories-doughnut-chart.js +528 -0
  212. package/dist/components/ui/transactions-expense-categories-doughnut-chart.mjs +16 -0
  213. package/dist/components/ui/transactions-income-expense-bar-chart.js +77 -39
  214. package/dist/components/ui/transactions-income-expense-bar-chart.mjs +8 -8
  215. package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.js +528 -0
  216. package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.mjs +16 -0
  217. package/dist/index.js +11620 -3832
  218. package/dist/index.mjs +333 -161
  219. package/dist/lib/theme-provider.js +10 -1
  220. package/dist/lib/theme-provider.mjs +1 -1
  221. package/dist/lib/typography.js +8 -0
  222. package/dist/lib/typography.mjs +3 -1
  223. package/dist/lib/utils.js +33 -1
  224. package/dist/lib/utils.mjs +1 -1
  225. package/dist/styles.css +1 -1
  226. package/package.json +140 -5
  227. package/src/components/index.tsx +296 -42
  228. package/src/components/ui/accordion.tsx +6 -3
  229. package/src/components/ui/add-column-modal.tsx +339 -0
  230. package/src/components/ui/add-lead-modal.tsx +290 -0
  231. package/src/components/ui/ai-assistant-drawer.tsx +408 -0
  232. package/src/components/ui/alert-dialog.tsx +80 -54
  233. package/src/components/ui/alert.tsx +28 -28
  234. package/src/components/ui/avatar.tsx +30 -29
  235. package/src/components/ui/backoffice-alert-history-chart.tsx +261 -0
  236. package/src/components/ui/backoffice-contact-history-chart.tsx +326 -0
  237. package/src/components/ui/badge.tsx +17 -15
  238. package/src/components/ui/borrowing-capacity-line-chart.tsx +359 -0
  239. package/src/components/ui/button.tsx +30 -27
  240. package/src/components/ui/calendar.tsx +53 -67
  241. package/src/components/ui/card.tsx +27 -24
  242. package/src/components/ui/cash-balance-line-chart.tsx +304 -0
  243. package/src/components/ui/cashflow-bar-chart.tsx +106 -78
  244. package/src/components/ui/chart-shared.tsx +176 -15
  245. package/src/components/ui/checkbox.tsx +30 -26
  246. package/src/components/ui/combobox.tsx +78 -72
  247. package/src/components/ui/data-table.tsx +160 -99
  248. package/src/components/ui/date-picker.tsx +0 -2
  249. package/src/components/ui/dialog.tsx +70 -60
  250. package/src/components/ui/drawer.tsx +57 -48
  251. package/src/components/ui/dropdown-menu.tsx +90 -82
  252. package/src/components/ui/empty.tsx +31 -27
  253. package/src/components/ui/expense-bar-chart.tsx +85 -66
  254. package/src/components/ui/field.tsx +70 -62
  255. package/src/components/ui/financial-cards.tsx +830 -0
  256. package/src/components/ui/financial-drawers.tsx +339 -0
  257. package/src/components/ui/financial-primitives.tsx +331 -0
  258. package/src/components/ui/financial-sections.tsx +672 -0
  259. package/src/components/ui/form-primitives.tsx +536 -0
  260. package/src/components/ui/income-bar-chart.tsx +81 -61
  261. package/src/components/ui/input-group.tsx +41 -34
  262. package/src/components/ui/input-otp.tsx +29 -24
  263. package/src/components/ui/input.tsx +8 -8
  264. package/src/components/ui/kanban-column.tsx +333 -0
  265. package/src/components/ui/label.tsx +9 -12
  266. package/src/components/ui/opportunity-card.tsx +616 -0
  267. package/src/components/ui/opportunity-edit-modals.tsx +2528 -0
  268. package/src/components/ui/opportunity-summary-tab.tsx +579 -0
  269. package/src/components/ui/pipeline-alerts.tsx +74 -0
  270. package/src/components/ui/pipeline-board.tsx +268 -0
  271. package/src/components/ui/pipeline-chart.tsx +173 -0
  272. package/src/components/ui/pipeline-dialogs.tsx +303 -0
  273. package/src/components/ui/pipeline-primitives.tsx +108 -0
  274. package/src/components/ui/popover.tsx +41 -36
  275. package/src/components/ui/property-cashflow-doughnut-chart.tsx +189 -0
  276. package/src/components/ui/property-debt-equity-doughnut-chart.tsx +186 -0
  277. package/src/components/ui/property-mobile-estimate-line-chart.tsx +395 -0
  278. package/src/components/ui/select.tsx +65 -52
  279. package/src/components/ui/sheet.tsx +55 -52
  280. package/src/components/ui/slider.tsx +54 -77
  281. package/src/components/ui/stage-timeline.tsx +205 -0
  282. package/src/components/ui/switch.tsx +42 -29
  283. package/src/components/ui/table.tsx +28 -28
  284. package/src/components/ui/tabs.tsx +22 -28
  285. package/src/components/ui/textarea.tsx +8 -8
  286. package/src/components/ui/toggle-group.tsx +0 -2
  287. package/src/components/ui/toggle.tsx +13 -15
  288. package/src/components/ui/tooltip.tsx +30 -28
  289. package/src/components/ui/transactions-expense-categories-doughnut-chart.tsx +192 -0
  290. package/src/components/ui/transactions-income-expense-bar-chart.tsx +47 -39
  291. package/src/components/ui/transactions-liabilities-breakdown-doughnut-chart.tsx +192 -0
  292. package/src/lib/theme-provider.tsx +10 -0
  293. package/src/lib/typography.ts +9 -0
  294. package/src/lib/utils.ts +41 -3
  295. package/src/styles/globals.css +371 -124
  296. package/src/styles/styles-css.ts +1 -1
  297. package/tsup.config.ts +27 -0
  298. package/dist/chunk-3EQP72AW.mjs +0 -58
  299. package/dist/chunk-K74JRTJR.mjs +0 -105
  300. package/dist/chunk-V7CNWJT3.mjs +0 -10
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Separator
3
- } from "./chunk-55CEW76V.mjs";
3
+ } from "./chunk-FH6QVUVZ.mjs";
4
4
  import {
5
5
  Label
6
- } from "./chunk-ZZV5JVNW.mjs";
6
+ } from "./chunk-NSLMILBT.mjs";
7
7
  import {
8
8
  cn
9
- } from "./chunk-V7CNWJT3.mjs";
9
+ } from "./chunk-VLQZANBF.mjs";
10
10
  import {
11
11
  __objRest,
12
12
  __spreadProps,
@@ -43,9 +43,9 @@ function FieldLegend(_a) {
43
43
  "legend",
44
44
  __spreadValues({
45
45
  className: cn(
46
- "mb-3 font-medium",
47
- "data-[variant=legend]:text-base",
48
- "data-[variant=label]:text-sm",
46
+ "mb-3",
47
+ "data-[variant=legend]:text-label-large",
48
+ "data-[variant=label]:text-label-medium",
49
49
  className
50
50
  ),
51
51
  "data-slot": "field-legend",
@@ -108,7 +108,11 @@ function Field(_a) {
108
108
  );
109
109
  }
110
110
  function FieldContent(_a) {
111
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
111
+ var _b = _a, {
112
+ className
113
+ } = _b, props = __objRest(_b, [
114
+ "className"
115
+ ]);
112
116
  return /* @__PURE__ */ jsx(
113
117
  "div",
114
118
  __spreadValues({
@@ -121,11 +125,7 @@ function FieldContent(_a) {
121
125
  );
122
126
  }
123
127
  function FieldLabel(_a) {
124
- var _b = _a, {
125
- className
126
- } = _b, props = __objRest(_b, [
127
- "className"
128
- ]);
128
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
129
129
  return /* @__PURE__ */ jsx(
130
130
  Label,
131
131
  __spreadValues({
@@ -145,7 +145,7 @@ function FieldTitle(_a) {
145
145
  "div",
146
146
  __spreadValues({
147
147
  className: cn(
148
- "flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50",
148
+ "flex w-fit items-center gap-2 text-label-medium leading-snug group-data-[disabled=true]/field:opacity-50",
149
149
  className
150
150
  ),
151
151
  "data-slot": "field-label"
@@ -153,12 +153,16 @@ function FieldTitle(_a) {
153
153
  );
154
154
  }
155
155
  function FieldDescription(_a) {
156
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
156
+ var _b = _a, {
157
+ className
158
+ } = _b, props = __objRest(_b, [
159
+ "className"
160
+ ]);
157
161
  return /* @__PURE__ */ jsx(
158
162
  "p",
159
163
  __spreadValues({
160
164
  className: cn(
161
- "text-xs leading-normal font-normal text-muted-foreground group-has-[[data-orientation=horizontal]]/field:text-balance",
165
+ "text-caption leading-normal text-muted-foreground group-has-[[data-orientation=horizontal]]/field:text-balance",
162
166
  "last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5",
163
167
  "[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
164
168
  className
@@ -179,7 +183,7 @@ function FieldSeparator(_a) {
179
183
  "div",
180
184
  __spreadProps(__spreadValues({
181
185
  className: cn(
182
- "relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
186
+ "relative -my-2 h-5 text-body-small group-data-[variant=outline]/field-group:-mb-2",
183
187
  className
184
188
  ),
185
189
  "data-content": Boolean(children),
@@ -233,7 +237,7 @@ function FieldError(_a) {
233
237
  return /* @__PURE__ */ jsx(
234
238
  "div",
235
239
  __spreadProps(__spreadValues({
236
- className: cn("text-xs font-normal text-destructive", className),
240
+ className: cn("text-caption text-destructive", className),
237
241
  "data-slot": "field-error",
238
242
  role: "alert"
239
243
  }, props), {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cn
3
- } from "./chunk-V7CNWJT3.mjs";
3
+ } from "./chunk-VLQZANBF.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadProps,
@@ -15,7 +15,11 @@ function Accordion(props) {
15
15
  return /* @__PURE__ */ jsx(AccordionPrimitive.Root, __spreadValues({ "data-slot": "accordion" }, props));
16
16
  }
17
17
  function AccordionItem(_a) {
18
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
18
+ var _b = _a, {
19
+ className
20
+ } = _b, props = __objRest(_b, [
21
+ "className"
22
+ ]);
19
23
  return /* @__PURE__ */ jsx(
20
24
  AccordionPrimitive.Item,
21
25
  __spreadValues({
@@ -39,7 +43,7 @@ function AccordionTrigger(_a) {
39
43
  // layout
40
44
  "flex flex-1 items-center justify-between gap-4 py-4 text-left",
41
45
  // typography
42
- "text-sm font-medium",
46
+ "text-label-medium",
43
47
  // base
44
48
  "rounded-none outline-none transition-[color,opacity]",
45
49
  // interactive states
@@ -70,7 +74,7 @@ function AccordionContent(_a) {
70
74
  return /* @__PURE__ */ jsx(
71
75
  AccordionPrimitive.Panel,
72
76
  __spreadProps(__spreadValues({
73
- className: "overflow-hidden text-sm h-(--accordion-panel-height) transition-[height] duration-200 ease-out data-starting-style:h-0 data-ending-style:h-0",
77
+ className: "overflow-hidden text-body-small h-(--accordion-panel-height) transition-[height] duration-200 ease-out data-starting-style:h-0 data-ending-style:h-0",
74
78
  "data-slot": "accordion-content"
75
79
  }, props), {
76
80
  children: /* @__PURE__ */ jsx("div", { className: cn("pb-4 text-muted-foreground", className), children })
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  useThemeVars
3
- } from "./chunk-OXQQNQZI.mjs";
3
+ } from "./chunk-FEZKMUCF.mjs";
4
4
  import {
5
5
  cn
6
- } from "./chunk-V7CNWJT3.mjs";
6
+ } from "./chunk-VLQZANBF.mjs";
7
7
  import {
8
8
  __objRest,
9
9
  __spreadProps,
@@ -84,7 +84,11 @@ function DrawerContent(_a) {
84
84
  ] });
85
85
  }
86
86
  function DrawerHeader(_a) {
87
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
87
+ var _b = _a, {
88
+ className
89
+ } = _b, props = __objRest(_b, [
90
+ "className"
91
+ ]);
88
92
  return /* @__PURE__ */ jsx(
89
93
  "div",
90
94
  __spreadValues({
@@ -94,7 +98,11 @@ function DrawerHeader(_a) {
94
98
  );
95
99
  }
96
100
  function DrawerFooter(_a) {
97
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
101
+ var _b = _a, {
102
+ className
103
+ } = _b, props = __objRest(_b, [
104
+ "className"
105
+ ]);
98
106
  return /* @__PURE__ */ jsx(
99
107
  "div",
100
108
  __spreadValues({
@@ -104,15 +112,11 @@ function DrawerFooter(_a) {
104
112
  );
105
113
  }
106
114
  function DrawerTitle(_a) {
107
- var _b = _a, {
108
- className
109
- } = _b, props = __objRest(_b, [
110
- "className"
111
- ]);
115
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
112
116
  return /* @__PURE__ */ jsx(
113
117
  DrawerPrimitive.Title,
114
118
  __spreadValues({
115
- className: cn("text-lg font-semibold text-foreground", className),
119
+ className: cn("text-h5 text-foreground", className),
116
120
  "data-slot": "drawer-title"
117
121
  }, props)
118
122
  );
@@ -126,7 +130,7 @@ function DrawerDescription(_a) {
126
130
  return /* @__PURE__ */ jsx(
127
131
  DrawerPrimitive.Description,
128
132
  __spreadValues({
129
- className: cn("text-sm text-muted-foreground", className),
133
+ className: cn("text-body-small text-muted-foreground", className),
130
134
  "data-slot": "drawer-description"
131
135
  }, props)
132
136
  );
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cn
3
- } from "./chunk-V7CNWJT3.mjs";
3
+ } from "./chunk-VLQZANBF.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadValues
@@ -71,7 +71,7 @@ function EmptyTitle(_a) {
71
71
  return /* @__PURE__ */ jsx(
72
72
  "div",
73
73
  __spreadValues({
74
- className: cn("text-lg font-medium tracking-tight", className),
74
+ className: cn("text-h5", className),
75
75
  "data-slot": "empty-title"
76
76
  }, props)
77
77
  );
@@ -86,7 +86,7 @@ function EmptyDescription(_a) {
86
86
  "div",
87
87
  __spreadValues({
88
88
  className: cn(
89
- "text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
89
+ "text-body-small leading-relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
90
90
  className
91
91
  ),
92
92
  "data-slot": "empty-description"
@@ -94,12 +94,16 @@ function EmptyDescription(_a) {
94
94
  );
95
95
  }
96
96
  function EmptyContent(_a) {
97
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
97
+ var _b = _a, {
98
+ className
99
+ } = _b, props = __objRest(_b, [
100
+ "className"
101
+ ]);
98
102
  return /* @__PURE__ */ jsx(
99
103
  "div",
100
104
  __spreadValues({
101
105
  className: cn(
102
- "flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance",
106
+ "flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-body-small text-balance",
103
107
  className
104
108
  ),
105
109
  "data-slot": "empty-content"
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cn
3
- } from "./chunk-V7CNWJT3.mjs";
3
+ } from "./chunk-VLQZANBF.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadValues
@@ -9,18 +9,14 @@ import {
9
9
  // src/components/ui/label.tsx
10
10
  import { jsx } from "react/jsx-runtime";
11
11
  function Label(_a) {
12
- var _b = _a, {
13
- className
14
- } = _b, props = __objRest(_b, [
15
- "className"
16
- ]);
12
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
17
13
  return (
18
14
  // eslint-disable-next-line jsx-a11y/label-has-associated-control -- htmlFor is passed by the consumer
19
15
  /* @__PURE__ */ jsx(
20
16
  "label",
21
17
  __spreadValues({
22
18
  className: cn(
23
- "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
19
+ "flex items-center gap-2 text-label-medium leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
24
20
  className
25
21
  ),
26
22
  "data-slot": "label"
@@ -0,0 +1,150 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-VLQZANBF.mjs";
4
+
5
+ // src/components/ui/financial-primitives.tsx
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ var NO_DATA = "\u2014";
8
+ function FinancialSectionLabel({
9
+ children
10
+ }) {
11
+ return /* @__PURE__ */ jsx("span", { className: "text-label-small uppercase text-muted-foreground", children });
12
+ }
13
+ function FinancialCardHeader({ children }) {
14
+ return /* @__PURE__ */ jsx("div", { className: "py-2.5", children: /* @__PURE__ */ jsx("span", { className: "text-label-small uppercase text-muted-foreground", children }) });
15
+ }
16
+ function FinancialSubsectionTitle({
17
+ children
18
+ }) {
19
+ return /* @__PURE__ */ jsx("span", { className: "text-label-medium uppercase text-foreground", children });
20
+ }
21
+ function FinancialDetailField({
22
+ label,
23
+ value,
24
+ variant = "caption"
25
+ }) {
26
+ if (variant === "footer") {
27
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between min-w-0", children: [
28
+ /* @__PURE__ */ jsx("span", { className: "text-overline text-muted-foreground", children: label }),
29
+ /* @__PURE__ */ jsx("span", { className: "text-label-medium text-foreground mt-1 break-words", children: value != null ? value : NO_DATA })
30
+ ] });
31
+ }
32
+ const labelClass = variant === "caption" ? "block min-h-[2rem] text-caption text-muted-foreground" : "min-h-[1.75rem] text-overline text-muted-foreground";
33
+ return /* @__PURE__ */ jsxs(
34
+ "div",
35
+ {
36
+ className: cn(
37
+ "min-w-0",
38
+ variant === "overline" && "flex flex-col gap-0.5"
39
+ ),
40
+ children: [
41
+ /* @__PURE__ */ jsx("span", { className: labelClass, children: label }),
42
+ /* @__PURE__ */ jsx("span", { className: "text-label-medium text-foreground break-words", children: value != null ? value : NO_DATA })
43
+ ]
44
+ }
45
+ );
46
+ }
47
+ function FinancialLineItem({
48
+ label,
49
+ value,
50
+ destructive
51
+ }) {
52
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4 py-0.5", children: [
53
+ /* @__PURE__ */ jsx("span", { className: "text-body-small text-foreground", children: label }),
54
+ /* @__PURE__ */ jsx(
55
+ "span",
56
+ {
57
+ className: cn(
58
+ "text-label-medium whitespace-nowrap text-right",
59
+ destructive ? "text-destructive" : "text-foreground"
60
+ ),
61
+ children: value || NO_DATA
62
+ }
63
+ )
64
+ ] });
65
+ }
66
+ function FinancialLvrBar({
67
+ percent = 56,
68
+ label = "56% \u2014 Good"
69
+ }) {
70
+ const color = percent >= 80 ? "destructive" : percent >= 70 ? "warning" : "success";
71
+ const textClass = {
72
+ success: "text-success",
73
+ warning: "text-warning",
74
+ destructive: "text-destructive"
75
+ }[color];
76
+ const trackClass = {
77
+ success: "bg-success/15",
78
+ warning: "bg-warning/15",
79
+ destructive: "bg-destructive/15"
80
+ }[color];
81
+ const fillClass = {
82
+ success: "bg-success",
83
+ warning: "bg-warning",
84
+ destructive: "bg-destructive"
85
+ }[color];
86
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
87
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
88
+ /* @__PURE__ */ jsx("span", { className: "text-body-small text-muted-foreground", children: "LVR" }),
89
+ /* @__PURE__ */ jsx("span", { className: cn("text-label-medium", textClass), children: label })
90
+ ] }),
91
+ /* @__PURE__ */ jsx("div", { className: cn("h-2.5 w-full overflow-hidden", trackClass), children: /* @__PURE__ */ jsx(
92
+ "div",
93
+ {
94
+ className: cn("h-full", fillClass),
95
+ style: { width: `${Math.min(percent, 100)}%` }
96
+ }
97
+ ) })
98
+ ] });
99
+ }
100
+ function FinancialSubtotalFrame({
101
+ children
102
+ }) {
103
+ return /* @__PURE__ */ jsx("div", { className: "mt-auto border-t border-primary/20 bg-primary/10 px-4 py-3", children });
104
+ }
105
+ function FinancialSubtotalBlock({
106
+ monthlyAverage,
107
+ totalLast12Months,
108
+ label
109
+ }) {
110
+ const isSingle = monthlyAverage && !totalLast12Months;
111
+ return /* @__PURE__ */ jsxs(
112
+ "div",
113
+ {
114
+ className: cn(
115
+ "flex flex-row items-center",
116
+ isSingle ? "justify-end" : "justify-between"
117
+ ),
118
+ children: [
119
+ /* @__PURE__ */ jsxs(
120
+ "div",
121
+ {
122
+ className: cn(
123
+ "flex flex-col gap-0.5",
124
+ isSingle ? "text-right" : "text-left"
125
+ ),
126
+ children: [
127
+ /* @__PURE__ */ jsx("span", { className: "min-h-[1.75rem] text-overline text-muted-foreground", children: label != null ? label : "Monthly Average" }),
128
+ /* @__PURE__ */ jsx("span", { className: "text-label-medium text-foreground", children: monthlyAverage != null ? monthlyAverage : NO_DATA })
129
+ ]
130
+ }
131
+ ),
132
+ !isSingle && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 text-right", children: [
133
+ /* @__PURE__ */ jsx("span", { className: "min-h-[1.75rem] text-overline text-muted-foreground", children: "Total Last 12 Months" }),
134
+ /* @__PURE__ */ jsx("span", { className: "text-label-medium text-foreground", children: totalLast12Months != null ? totalLast12Months : NO_DATA })
135
+ ] })
136
+ ]
137
+ }
138
+ );
139
+ }
140
+
141
+ export {
142
+ FinancialSectionLabel,
143
+ FinancialCardHeader,
144
+ FinancialSubsectionTitle,
145
+ FinancialDetailField,
146
+ FinancialLineItem,
147
+ FinancialLvrBar,
148
+ FinancialSubtotalFrame,
149
+ FinancialSubtotalBlock
150
+ };
@@ -0,0 +1,162 @@
1
+ import {
2
+ Skeleton
3
+ } from "./chunk-D6ID6M4V.mjs";
4
+ import {
5
+ DATASET_ALPHAS,
6
+ DoughnutLegendRow,
7
+ FALLBACK_PRIMARY,
8
+ formatAbbrev,
9
+ hexToRgba
10
+ } from "./chunk-FZIXGLMV.mjs";
11
+ import {
12
+ Empty,
13
+ EmptyDescription
14
+ } from "./chunk-NQPOYKAQ.mjs";
15
+ import {
16
+ Card,
17
+ CardContent,
18
+ CardHeader,
19
+ CardTitle
20
+ } from "./chunk-CLIN5525.mjs";
21
+ import {
22
+ useThemeVars
23
+ } from "./chunk-FEZKMUCF.mjs";
24
+ import {
25
+ cn
26
+ } from "./chunk-VLQZANBF.mjs";
27
+
28
+ // src/components/ui/transactions-expense-categories-doughnut-chart.tsx
29
+ import { useMemo } from "react";
30
+ import {
31
+ Chart as ChartJS,
32
+ ArcElement,
33
+ DoughnutController,
34
+ Tooltip
35
+ } from "chart.js";
36
+ import { Chart } from "react-chartjs-2";
37
+ import { jsx, jsxs } from "react/jsx-runtime";
38
+ ChartJS.register(ArcElement, DoughnutController, Tooltip);
39
+ function TransactionsExpenseCategoriesDoughnutChart({
40
+ segments,
41
+ title = "Expense Categories",
42
+ showLegend = true,
43
+ height = 200,
44
+ width = "100%",
45
+ className,
46
+ isLoading = false
47
+ }) {
48
+ const themeVars = useThemeVars();
49
+ const brandPrimary = themeVars["--theme-primary"] || FALLBACK_PRIMARY;
50
+ const fontFamily = themeVars["--font-sans"] || "Figtree, sans-serif";
51
+ const hasData = !!(segments == null ? void 0 : segments.length) && segments.some((s) => s.value > 0);
52
+ const total = useMemo(
53
+ () => {
54
+ var _a;
55
+ return (_a = segments == null ? void 0 : segments.reduce((sum, s) => sum + s.value, 0)) != null ? _a : 0;
56
+ },
57
+ [segments]
58
+ );
59
+ const colors = useMemo(
60
+ () => (segments != null ? segments : []).map(
61
+ (_, i) => hexToRgba(brandPrimary, DATASET_ALPHAS[i % DATASET_ALPHAS.length])
62
+ ),
63
+ [segments, brandPrimary]
64
+ );
65
+ const chartData = useMemo(
66
+ () => {
67
+ var _a, _b;
68
+ return {
69
+ labels: (_a = segments == null ? void 0 : segments.map((s) => s.label)) != null ? _a : [],
70
+ datasets: [
71
+ {
72
+ data: (_b = segments == null ? void 0 : segments.map((s) => s.value)) != null ? _b : [],
73
+ backgroundColor: colors,
74
+ borderWidth: 0,
75
+ hoverOffset: 4
76
+ }
77
+ ]
78
+ };
79
+ },
80
+ [segments, colors]
81
+ );
82
+ const options = useMemo(
83
+ () => ({
84
+ responsive: true,
85
+ maintainAspectRatio: false,
86
+ cutout: "68%",
87
+ animation: { duration: 600, easing: "easeOutQuart" },
88
+ plugins: {
89
+ legend: { display: false },
90
+ tooltip: {
91
+ padding: 10,
92
+ cornerRadius: 0,
93
+ titleFont: { size: 11, weight: 600 },
94
+ bodyFont: { size: 12, weight: 500 },
95
+ callbacks: {
96
+ label: (ctx) => {
97
+ const val = ctx.raw;
98
+ const pct = total > 0 ? `${(val / total * 100).toFixed(1)}%` : "0%";
99
+ return ` ${ctx.label}: ${formatAbbrev(val)} (${pct})`;
100
+ }
101
+ }
102
+ }
103
+ }
104
+ }),
105
+ [total]
106
+ );
107
+ return /* @__PURE__ */ jsxs(
108
+ Card,
109
+ {
110
+ className: cn("w-full py-4 sm:py-6 gap-2", className),
111
+ style: { maxWidth: width, fontFamily },
112
+ children: [
113
+ /* @__PURE__ */ jsx(CardHeader, { className: "px-3 sm:px-6", children: /* @__PURE__ */ jsx(CardTitle, { className: "text-sm sm:text-base", children: title }) }),
114
+ /* @__PURE__ */ jsx(CardContent, { className: "px-3 sm:px-6", children: isLoading ? /* @__PURE__ */ jsx(Skeleton, { style: { height, width: "100%" } }) : !hasData ? /* @__PURE__ */ jsx(Empty, { className: "flex-none p-4", style: { height }, children: /* @__PURE__ */ jsx(EmptyDescription, { children: "No data available" }) }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
115
+ /* @__PURE__ */ jsxs("div", { style: { height, width: "100%", position: "relative" }, children: [
116
+ /* @__PURE__ */ jsx(
117
+ Chart,
118
+ {
119
+ type: "doughnut",
120
+ data: chartData,
121
+ options,
122
+ "aria-label": title
123
+ },
124
+ brandPrimary
125
+ ),
126
+ /* @__PURE__ */ jsxs(
127
+ "div",
128
+ {
129
+ style: {
130
+ position: "absolute",
131
+ top: "50%",
132
+ left: "50%",
133
+ transform: "translate(-50%, -50%)",
134
+ textAlign: "center",
135
+ pointerEvents: "none"
136
+ },
137
+ children: [
138
+ /* @__PURE__ */ jsx("div", { className: "text-base font-semibold leading-tight", children: formatAbbrev(total) }),
139
+ /* @__PURE__ */ jsx("div", { className: "text-[11px] text-muted-foreground leading-none mt-1", children: "Total" })
140
+ ]
141
+ }
142
+ )
143
+ ] }),
144
+ showLegend && /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: segments.map((s, i) => /* @__PURE__ */ jsx(
145
+ DoughnutLegendRow,
146
+ {
147
+ label: s.label,
148
+ color: colors[i],
149
+ value: s.value,
150
+ percent: total > 0 ? `${(s.value / total * 100).toFixed(1)}%` : "0%"
151
+ },
152
+ s.label
153
+ )) })
154
+ ] }) })
155
+ ]
156
+ }
157
+ );
158
+ }
159
+
160
+ export {
161
+ TransactionsExpenseCategoriesDoughnutChart
162
+ };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Button,
3
3
  buttonVariants
4
- } from "./chunk-4AJ5HWHD.mjs";
4
+ } from "./chunk-2I5S2AMY.mjs";
5
5
  import {
6
6
  cn
7
- } from "./chunk-V7CNWJT3.mjs";
7
+ } from "./chunk-VLQZANBF.mjs";
8
8
  import {
9
9
  __objRest,
10
10
  __spreadProps,
@@ -52,12 +52,7 @@ function CalendarChevron(_a) {
52
52
  return /* @__PURE__ */ jsx(ChevronLeftIcon, __spreadValues({ className: cn("size-4", className) }, props));
53
53
  }
54
54
  if (orientation === "right") {
55
- return /* @__PURE__ */ jsx(
56
- ChevronRightIcon,
57
- __spreadValues({
58
- className: cn("size-4", className)
59
- }, props)
60
- );
55
+ return /* @__PURE__ */ jsx(ChevronRightIcon, __spreadValues({ className: cn("size-4", className) }, props));
61
56
  }
62
57
  return /* @__PURE__ */ jsx(ChevronDownIcon, __spreadValues({ className: cn("size-4", className) }, props));
63
58
  }
@@ -124,7 +119,7 @@ function Calendar(_a) {
124
119
  defaultClassNames.month_caption
125
120
  ),
126
121
  dropdowns: cn(
127
- "flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",
122
+ "flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-label-small",
128
123
  defaultClassNames.dropdowns
129
124
  ),
130
125
  dropdown_root: cn(
@@ -136,14 +131,14 @@ function Calendar(_a) {
136
131
  defaultClassNames.dropdown
137
132
  ),
138
133
  caption_label: cn(
139
- "font-medium select-none",
140
- captionLayout === "label" ? "text-sm" : "flex h-8 items-center gap-1 pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",
134
+ "select-none",
135
+ captionLayout === "label" ? "text-label-small" : "flex h-8 items-center gap-1 pr-1 pl-2 text-label-small [&>svg]:size-3.5 [&>svg]:text-muted-foreground",
141
136
  defaultClassNames.caption_label
142
137
  ),
143
138
  table: "w-full border-collapse",
144
139
  weekdays: cn("flex", defaultClassNames.weekdays),
145
140
  weekday: cn(
146
- "flex-1 text-[0.8rem] font-normal text-muted-foreground select-none",
141
+ "flex-1 text-caption font-normal text-muted-foreground select-none",
147
142
  defaultClassNames.weekday
148
143
  ),
149
144
  week: cn("mt-2 flex w-full", defaultClassNames.week),
@@ -152,7 +147,7 @@ function Calendar(_a) {
152
147
  defaultClassNames.week_number_header
153
148
  ),
154
149
  week_number: cn(
155
- "text-[0.8rem] text-muted-foreground select-none",
150
+ "text-caption text-muted-foreground select-none",
156
151
  defaultClassNames.week_number
157
152
  ),
158
153
  day: cn(
@@ -162,10 +157,7 @@ function Calendar(_a) {
162
157
  range_start: cn("bg-accent", defaultClassNames.range_start),
163
158
  range_middle: cn("rounded-none", defaultClassNames.range_middle),
164
159
  range_end: cn("bg-accent", defaultClassNames.range_end),
165
- today: cn(
166
- "bg-accent text-accent-foreground",
167
- defaultClassNames.today
168
- ),
160
+ today: cn("bg-accent text-accent-foreground", defaultClassNames.today),
169
161
  outside: cn(
170
162
  "text-muted-foreground aria-selected:text-muted-foreground",
171
163
  defaultClassNames.outside
@@ -210,7 +202,7 @@ function CalendarDayButton(_a) {
210
202
  Button,
211
203
  __spreadValues({
212
204
  className: cn(
213
- "flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal rounded-none group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70",
205
+ "flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 font-normal rounded-none group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-caption [&>span]:opacity-70",
214
206
  defaultClassNames.day,
215
207
  className
216
208
  ),