@gv-tech/design-system 2.22.2 → 2.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/README.md +16 -0
  2. package/dist/accordion.cjs +1 -1
  3. package/dist/accordion.cjs.map +1 -1
  4. package/dist/accordion.mjs +50 -30
  5. package/dist/accordion.mjs.map +1 -1
  6. package/dist/alert-dialog.cjs +1 -1
  7. package/dist/alert-dialog.cjs.map +1 -1
  8. package/dist/alert-dialog.mjs +98 -52
  9. package/dist/alert-dialog.mjs.map +1 -1
  10. package/dist/alert.cjs +1 -1
  11. package/dist/alert.cjs.map +1 -1
  12. package/dist/alert.mjs +37 -29
  13. package/dist/alert.mjs.map +1 -1
  14. package/dist/aspect-ratio.cjs +1 -1
  15. package/dist/aspect-ratio.cjs.map +1 -1
  16. package/dist/aspect-ratio.mjs +9 -3
  17. package/dist/aspect-ratio.mjs.map +1 -1
  18. package/dist/avatar.cjs +1 -1
  19. package/dist/avatar.cjs.map +1 -1
  20. package/dist/avatar.mjs +48 -23
  21. package/dist/avatar.mjs.map +1 -1
  22. package/dist/badge.cjs +1 -1
  23. package/dist/badge.cjs.map +1 -1
  24. package/dist/badge.mjs +16 -13
  25. package/dist/badge.mjs.map +1 -1
  26. package/dist/breadcrumb.cjs +1 -1
  27. package/dist/breadcrumb.cjs.map +1 -1
  28. package/dist/breadcrumb.mjs +67 -57
  29. package/dist/breadcrumb.mjs.map +1 -1
  30. package/dist/button-group.cjs +2 -0
  31. package/dist/button-group.cjs.map +1 -0
  32. package/dist/button-group.d.ts +2 -0
  33. package/dist/button-group.mjs +39 -0
  34. package/dist/button-group.mjs.map +1 -0
  35. package/dist/button.cjs +1 -1
  36. package/dist/button.cjs.map +1 -1
  37. package/dist/button.mjs +32 -25
  38. package/dist/button.mjs.map +1 -1
  39. package/dist/calendar.cjs +1 -1
  40. package/dist/calendar.cjs.map +1 -1
  41. package/dist/calendar.mjs +54 -51
  42. package/dist/calendar.mjs.map +1 -1
  43. package/dist/card.cjs +1 -1
  44. package/dist/card.cjs.map +1 -1
  45. package/dist/card.mjs +55 -41
  46. package/dist/card.mjs.map +1 -1
  47. package/dist/carousel.cjs +1 -1
  48. package/dist/carousel.cjs.map +1 -1
  49. package/dist/carousel.mjs +58 -64
  50. package/dist/carousel.mjs.map +1 -1
  51. package/dist/chart.cjs +3 -3
  52. package/dist/chart.cjs.map +1 -1
  53. package/dist/chart.mjs +59 -66
  54. package/dist/chart.mjs.map +1 -1
  55. package/dist/checkbox.cjs +1 -1
  56. package/dist/checkbox.cjs.map +1 -1
  57. package/dist/checkbox.mjs +17 -15
  58. package/dist/checkbox.mjs.map +1 -1
  59. package/dist/collapsible.cjs +1 -1
  60. package/dist/collapsible.cjs.map +1 -1
  61. package/dist/collapsible.mjs +21 -3
  62. package/dist/collapsible.mjs.map +1 -1
  63. package/dist/combobox.cjs +2 -0
  64. package/dist/combobox.cjs.map +1 -0
  65. package/dist/combobox.d.ts +2 -0
  66. package/dist/combobox.mjs +164 -0
  67. package/dist/combobox.mjs.map +1 -0
  68. package/dist/command.cjs +1 -1
  69. package/dist/command.cjs.map +1 -1
  70. package/dist/command.mjs +86 -75
  71. package/dist/command.mjs.map +1 -1
  72. package/dist/context-menu.cjs +1 -1
  73. package/dist/context-menu.cjs.map +1 -1
  74. package/dist/context-menu.mjs +121 -68
  75. package/dist/context-menu.mjs.map +1 -1
  76. package/dist/design-system.css +1 -1
  77. package/dist/dialog.cjs +1 -1
  78. package/dist/dialog.cjs.map +1 -1
  79. package/dist/dialog.mjs +90 -43
  80. package/dist/dialog.mjs.map +1 -1
  81. package/dist/direction.cjs +2 -0
  82. package/dist/direction.cjs.map +1 -0
  83. package/dist/direction.d.ts +2 -0
  84. package/dist/direction.mjs +17 -0
  85. package/dist/direction.mjs.map +1 -0
  86. package/dist/drawer.cjs +1 -1
  87. package/dist/drawer.cjs.map +1 -1
  88. package/dist/drawer.mjs +75 -45
  89. package/dist/drawer.mjs.map +1 -1
  90. package/dist/dropdown-menu.cjs +1 -1
  91. package/dist/dropdown-menu.cjs.map +1 -1
  92. package/dist/dropdown-menu.mjs +124 -68
  93. package/dist/dropdown-menu.mjs.map +1 -1
  94. package/dist/empty.cjs +2 -0
  95. package/dist/empty.cjs.map +1 -0
  96. package/dist/empty.d.ts +2 -0
  97. package/dist/empty.mjs +62 -0
  98. package/dist/empty.mjs.map +1 -0
  99. package/dist/field.cjs +2 -0
  100. package/dist/field.cjs.map +1 -0
  101. package/dist/field.d.ts +2 -0
  102. package/dist/field.mjs +111 -0
  103. package/dist/field.mjs.map +1 -0
  104. package/dist/form.cjs +1 -1
  105. package/dist/form.cjs.map +1 -1
  106. package/dist/form.mjs +14 -14
  107. package/dist/hover-card.cjs +1 -1
  108. package/dist/hover-card.cjs.map +1 -1
  109. package/dist/hover-card.mjs +28 -12
  110. package/dist/hover-card.mjs.map +1 -1
  111. package/dist/index.cjs +1 -1
  112. package/dist/index.mjs +52 -41
  113. package/dist/input-group.cjs +2 -0
  114. package/dist/input-group.cjs.map +1 -0
  115. package/dist/input-group.d.ts +2 -0
  116. package/dist/input-group.mjs +80 -0
  117. package/dist/input-group.mjs.map +1 -0
  118. package/dist/input-otp.cjs +2 -0
  119. package/dist/input-otp.cjs.map +1 -0
  120. package/dist/input-otp.d.ts +2 -0
  121. package/dist/input-otp.mjs +49 -0
  122. package/dist/input-otp.mjs.map +1 -0
  123. package/dist/input.cjs +1 -1
  124. package/dist/input.cjs.map +1 -1
  125. package/dist/input.mjs +13 -12
  126. package/dist/input.mjs.map +1 -1
  127. package/dist/item.cjs +2 -0
  128. package/dist/item.cjs.map +1 -0
  129. package/dist/item.d.ts +2 -0
  130. package/dist/item.mjs +119 -0
  131. package/dist/item.mjs.map +1 -0
  132. package/dist/kbd.cjs +2 -0
  133. package/dist/kbd.cjs.map +1 -0
  134. package/dist/kbd.d.ts +2 -0
  135. package/dist/kbd.mjs +23 -0
  136. package/dist/kbd.mjs.map +1 -0
  137. package/dist/label.cjs +1 -1
  138. package/dist/label.cjs.map +1 -1
  139. package/dist/label.mjs +12 -11
  140. package/dist/label.mjs.map +1 -1
  141. package/dist/menubar.cjs +1 -1
  142. package/dist/menubar.cjs.map +1 -1
  143. package/dist/menubar.mjs +120 -90
  144. package/dist/menubar.mjs.map +1 -1
  145. package/dist/native-select.cjs +2 -0
  146. package/dist/native-select.cjs.map +1 -0
  147. package/dist/native-select.d.ts +2 -0
  148. package/dist/native-select.mjs +41 -0
  149. package/dist/native-select.mjs.map +1 -0
  150. package/dist/navigation-menu.cjs +1 -1
  151. package/dist/navigation-menu.cjs.map +1 -1
  152. package/dist/navigation-menu.mjs +74 -52
  153. package/dist/navigation-menu.mjs.map +1 -1
  154. package/dist/packages/design-tokens/src/index.d.ts +16 -0
  155. package/dist/packages/design-tokens/src/theme.d.ts +16 -0
  156. package/dist/packages/ui-core/src/contracts/alert.d.ts +3 -1
  157. package/dist/packages/ui-core/src/contracts/badge.d.ts +3 -1
  158. package/dist/packages/ui-core/src/contracts/button-group.d.ts +17 -0
  159. package/dist/packages/ui-core/src/contracts/checkbox.d.ts +2 -2
  160. package/dist/packages/ui-core/src/contracts/combobox.d.ts +65 -0
  161. package/dist/packages/ui-core/src/contracts/direction.d.ts +7 -0
  162. package/dist/packages/ui-core/src/contracts/empty.d.ts +12 -0
  163. package/dist/packages/ui-core/src/contracts/field.d.ts +47 -0
  164. package/dist/packages/ui-core/src/contracts/input-group.d.ts +29 -0
  165. package/dist/packages/ui-core/src/contracts/input-otp.d.ts +16 -0
  166. package/dist/packages/ui-core/src/contracts/item.d.ts +47 -0
  167. package/dist/packages/ui-core/src/contracts/kbd.d.ts +9 -0
  168. package/dist/packages/ui-core/src/contracts/native-select.d.ts +15 -0
  169. package/dist/packages/ui-core/src/contracts/resizable.d.ts +1 -1
  170. package/dist/packages/ui-core/src/contracts/search.d.ts +1 -0
  171. package/dist/packages/ui-core/src/contracts/sidebar.d.ts +107 -0
  172. package/dist/packages/ui-core/src/contracts/sonner.d.ts +1 -9
  173. package/dist/packages/ui-core/src/contracts/spinner.d.ts +3 -0
  174. package/dist/packages/ui-core/src/contracts/switch.d.ts +1 -1
  175. package/dist/packages/ui-core/src/contracts/textarea.d.ts +2 -2
  176. package/dist/packages/ui-core/src/contracts/toast.d.ts +1 -1
  177. package/dist/packages/ui-core/src/contracts/toggle-group.d.ts +1 -1
  178. package/dist/packages/ui-core/src/contracts/toggle.d.ts +2 -2
  179. package/dist/packages/ui-core/src/index.d.ts +14 -0
  180. package/dist/packages/ui-web/src/accordion.d.ts +5 -7
  181. package/dist/packages/ui-web/src/alert-dialog.d.ts +17 -21
  182. package/dist/packages/ui-web/src/alert.d.ts +8 -8
  183. package/dist/packages/ui-web/src/aspect-ratio.d.ts +2 -5
  184. package/dist/packages/ui-web/src/avatar.d.ts +10 -7
  185. package/dist/packages/ui-web/src/badge.d.ts +4 -5
  186. package/dist/packages/ui-web/src/breadcrumb.d.ts +9 -17
  187. package/dist/packages/ui-web/src/button-group.d.ts +11 -0
  188. package/dist/packages/ui-web/src/button.d.ts +4 -6
  189. package/dist/packages/ui-web/src/calendar.d.ts +5 -5
  190. package/dist/packages/ui-web/src/card.d.ts +10 -10
  191. package/dist/packages/ui-web/src/carousel.d.ts +18 -14
  192. package/dist/packages/ui-web/src/chart.d.ts +35 -7
  193. package/dist/packages/ui-web/src/checkbox.d.ts +2 -5
  194. package/dist/packages/ui-web/src/collapsible.d.ts +4 -7
  195. package/dist/packages/ui-web/src/combobox.d.ts +20 -0
  196. package/dist/packages/ui-web/src/command.d.ts +16 -80
  197. package/dist/packages/ui-web/src/context-menu.d.ts +29 -21
  198. package/dist/packages/ui-web/src/dialog.d.ts +15 -17
  199. package/dist/packages/ui-web/src/direction.d.ts +6 -0
  200. package/dist/packages/ui-web/src/drawer.d.ts +11 -23
  201. package/dist/packages/ui-web/src/dropdown-menu.d.ts +27 -21
  202. package/dist/packages/ui-web/src/empty.d.ts +13 -0
  203. package/dist/packages/ui-web/src/field.d.ts +18 -0
  204. package/dist/packages/ui-web/src/hooks/use-mobile.d.ts +1 -0
  205. package/dist/packages/ui-web/src/hooks/use-theme.d.ts +16 -0
  206. package/dist/packages/ui-web/src/hover-card.d.ts +4 -6
  207. package/dist/packages/ui-web/src/index.d.ts +14 -43
  208. package/dist/packages/ui-web/src/input-group.d.ts +18 -0
  209. package/dist/packages/ui-web/src/input-otp.d.ts +8 -0
  210. package/dist/packages/ui-web/src/input.d.ts +1 -4
  211. package/dist/packages/ui-web/src/item.d.ts +25 -0
  212. package/dist/packages/ui-web/src/kbd.d.ts +4 -0
  213. package/dist/packages/ui-web/src/label.d.ts +2 -6
  214. package/dist/packages/ui-web/src/menubar.d.ts +25 -19
  215. package/dist/packages/ui-web/src/native-select.d.ts +7 -0
  216. package/dist/packages/ui-web/src/navigation-menu.d.ts +11 -11
  217. package/dist/packages/ui-web/src/pagination.d.ts +13 -26
  218. package/dist/packages/ui-web/src/popover.d.ts +9 -8
  219. package/dist/packages/ui-web/src/progress.d.ts +2 -4
  220. package/dist/packages/ui-web/src/radio-group.d.ts +3 -8
  221. package/dist/packages/ui-web/src/resizable.d.ts +6 -7
  222. package/dist/packages/ui-web/src/scroll-area.d.ts +3 -5
  223. package/dist/packages/ui-web/src/search.d.ts +1 -1
  224. package/dist/packages/ui-web/src/select.d.ts +13 -13
  225. package/dist/packages/ui-web/src/separator.d.ts +2 -4
  226. package/dist/packages/ui-web/src/sheet.d.ts +13 -27
  227. package/dist/packages/ui-web/src/sidebar.d.ts +45 -0
  228. package/dist/packages/ui-web/src/skeleton.d.ts +1 -4
  229. package/dist/packages/ui-web/src/slider.d.ts +2 -4
  230. package/dist/packages/ui-web/src/sonner.d.ts +1 -5
  231. package/dist/packages/ui-web/src/spinner.d.ts +3 -0
  232. package/dist/packages/ui-web/src/switch.d.ts +4 -4
  233. package/dist/packages/ui-web/src/table.d.ts +8 -10
  234. package/dist/packages/ui-web/src/tabs.d.ts +11 -8
  235. package/dist/packages/ui-web/src/textarea.d.ts +1 -4
  236. package/dist/packages/ui-web/src/toggle-group.d.ts +7 -10
  237. package/dist/packages/ui-web/src/toggle.d.ts +7 -5
  238. package/dist/packages/ui-web/src/tooltip.d.ts +5 -10
  239. package/dist/pagination.cjs +1 -1
  240. package/dist/pagination.cjs.map +1 -1
  241. package/dist/pagination.mjs +77 -59
  242. package/dist/pagination.mjs.map +1 -1
  243. package/dist/popover.cjs +1 -1
  244. package/dist/popover.cjs.map +1 -1
  245. package/dist/popover.mjs +53 -13
  246. package/dist/popover.mjs.map +1 -1
  247. package/dist/progress.cjs +1 -1
  248. package/dist/progress.cjs.map +1 -1
  249. package/dist/progress.mjs +18 -15
  250. package/dist/progress.mjs.map +1 -1
  251. package/dist/radio-group.cjs +1 -1
  252. package/dist/radio-group.cjs.map +1 -1
  253. package/dist/radio-group.mjs +24 -21
  254. package/dist/radio-group.mjs.map +1 -1
  255. package/dist/resizable.cjs +1 -1
  256. package/dist/resizable.cjs.map +1 -1
  257. package/dist/resizable.mjs +25 -16
  258. package/dist/resizable.mjs.map +1 -1
  259. package/dist/scroll-area.cjs +1 -1
  260. package/dist/scroll-area.cjs.map +1 -1
  261. package/dist/scroll-area.mjs +34 -27
  262. package/dist/scroll-area.mjs.map +1 -1
  263. package/dist/scroll-to-top.cjs +1 -1
  264. package/dist/scroll-to-top.mjs +17 -17
  265. package/dist/search.cjs +1 -1
  266. package/dist/search.cjs.map +1 -1
  267. package/dist/search.mjs +18 -17
  268. package/dist/search.mjs.map +1 -1
  269. package/dist/select.cjs +1 -1
  270. package/dist/select.cjs.map +1 -1
  271. package/dist/select.mjs +96 -65
  272. package/dist/select.mjs.map +1 -1
  273. package/dist/separator.cjs +1 -1
  274. package/dist/separator.cjs.map +1 -1
  275. package/dist/separator.mjs +14 -13
  276. package/dist/separator.mjs.map +1 -1
  277. package/dist/sheet.cjs +1 -1
  278. package/dist/sheet.cjs.map +1 -1
  279. package/dist/sheet.mjs +85 -53
  280. package/dist/sheet.mjs.map +1 -1
  281. package/dist/sidebar-BnEmNYS2.mjs +354 -0
  282. package/dist/sidebar-BnEmNYS2.mjs.map +1 -0
  283. package/dist/sidebar-BnuanaZN.js +2 -0
  284. package/dist/sidebar-BnuanaZN.js.map +1 -0
  285. package/dist/sidebar.cjs +1 -0
  286. package/dist/sidebar.d.ts +2 -0
  287. package/dist/sidebar.mjs +3 -0
  288. package/dist/skeleton.cjs +1 -1
  289. package/dist/skeleton.cjs.map +1 -1
  290. package/dist/skeleton.mjs +4 -5
  291. package/dist/skeleton.mjs.map +1 -1
  292. package/dist/slider.cjs +1 -1
  293. package/dist/slider.cjs.map +1 -1
  294. package/dist/slider.mjs +31 -12
  295. package/dist/slider.mjs.map +1 -1
  296. package/dist/sonner.cjs +1 -1
  297. package/dist/sonner.cjs.map +1 -1
  298. package/dist/sonner.mjs +22 -16
  299. package/dist/sonner.mjs.map +1 -1
  300. package/dist/spinner.cjs +2 -0
  301. package/dist/spinner.cjs.map +1 -0
  302. package/dist/spinner.d.ts +2 -0
  303. package/dist/spinner.mjs +17 -0
  304. package/dist/spinner.mjs.map +1 -0
  305. package/dist/support-fab.cjs +1 -1
  306. package/dist/support-fab.cjs.map +1 -1
  307. package/dist/support-fab.mjs +8 -8
  308. package/dist/support-fab.mjs.map +1 -1
  309. package/dist/switch.cjs +1 -1
  310. package/dist/switch.cjs.map +1 -1
  311. package/dist/switch.mjs +17 -11
  312. package/dist/switch.mjs.map +1 -1
  313. package/dist/table-of-contents.cjs +1 -1
  314. package/dist/table-of-contents.mjs +2 -2
  315. package/dist/table.cjs +1 -1
  316. package/dist/table.cjs.map +1 -1
  317. package/dist/table.mjs +65 -56
  318. package/dist/table.mjs.map +1 -1
  319. package/dist/tabs.cjs +1 -1
  320. package/dist/tabs.cjs.map +1 -1
  321. package/dist/tabs.mjs +42 -22
  322. package/dist/tabs.mjs.map +1 -1
  323. package/dist/text.cjs +1 -1
  324. package/dist/text.cjs.map +1 -1
  325. package/dist/text.mjs +3 -3
  326. package/dist/textarea.cjs +1 -1
  327. package/dist/textarea.cjs.map +1 -1
  328. package/dist/textarea.mjs +12 -11
  329. package/dist/textarea.mjs.map +1 -1
  330. package/dist/theme-provider.cjs +1 -1
  331. package/dist/theme-provider.mjs +1 -1
  332. package/dist/theme-toggle-CNDBFa9t.js +2 -0
  333. package/dist/theme-toggle-CNDBFa9t.js.map +1 -0
  334. package/dist/{theme-toggle-B6QS2aTS.mjs → theme-toggle-CgEJLId-.mjs} +26 -10
  335. package/dist/theme-toggle-CgEJLId-.mjs.map +1 -0
  336. package/dist/theme-toggle.cjs +1 -1
  337. package/dist/theme-toggle.mjs +1 -1
  338. package/dist/toast.cjs +1 -1
  339. package/dist/toast.cjs.map +1 -1
  340. package/dist/toast.mjs +19 -19
  341. package/dist/toast.mjs.map +1 -1
  342. package/dist/{toaster-C-1djNvf.js → toaster-C3UZyPzU.js} +2 -2
  343. package/dist/{toaster-C-1djNvf.js.map → toaster-C3UZyPzU.js.map} +1 -1
  344. package/dist/{toaster-CEa33QUH.mjs → toaster-DH0UX0nD.mjs} +2 -2
  345. package/dist/{toaster-CEa33QUH.mjs.map → toaster-DH0UX0nD.mjs.map} +1 -1
  346. package/dist/toaster.cjs +1 -1
  347. package/dist/toaster.mjs +1 -1
  348. package/dist/toggle-group.cjs +1 -1
  349. package/dist/toggle-group.cjs.map +1 -1
  350. package/dist/toggle-group.mjs +41 -28
  351. package/dist/toggle-group.mjs.map +1 -1
  352. package/dist/toggle.cjs +1 -1
  353. package/dist/toggle.cjs.map +1 -1
  354. package/dist/toggle.mjs +32 -16
  355. package/dist/toggle.mjs.map +1 -1
  356. package/dist/tooltip.cjs +1 -1
  357. package/dist/tooltip.cjs.map +1 -1
  358. package/dist/tooltip.mjs +33 -20
  359. package/dist/tooltip.mjs.map +1 -1
  360. package/dist/{utils-DU-Y_pvO.js → utils-D7tt_q-u.js} +2 -2
  361. package/dist/{utils-DU-Y_pvO.js.map → utils-D7tt_q-u.js.map} +1 -1
  362. package/dist/{utils-BsD1_fYL.mjs → utils-IYJAOUsw.mjs} +2 -2
  363. package/dist/{utils-BsD1_fYL.mjs.map → utils-IYJAOUsw.mjs.map} +1 -1
  364. package/dist/{vendor-ChPUVHXi.mjs → vendor-B6CFfDyk.mjs} +29707 -24351
  365. package/dist/vendor-B6CFfDyk.mjs.map +1 -0
  366. package/dist/vendor-UfQavLF9.js +111 -0
  367. package/dist/vendor-UfQavLF9.js.map +1 -0
  368. package/package.json +4 -3
  369. package/dist/src-D3IDWqE2.js +0 -2
  370. package/dist/src-D3IDWqE2.js.map +0 -1
  371. package/dist/src-N08I3kfW.mjs +0 -23
  372. package/dist/src-N08I3kfW.mjs.map +0 -1
  373. package/dist/theme-toggle-B6QS2aTS.mjs.map +0 -1
  374. package/dist/theme-toggle-CbtfA8aG.js +0 -2
  375. package/dist/theme-toggle-CbtfA8aG.js.map +0 -1
  376. package/dist/vendor-3cr8xz0x.js +0 -92
  377. package/dist/vendor-3cr8xz0x.js.map +0 -1
  378. package/dist/vendor-ChPUVHXi.mjs.map +0 -1
package/dist/table.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-3cr8xz0x.js"),n=require("./utils-DU-Y_pvO.js");let r=require("react");r=e.r(r);var i=t.vr(),a=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,i.jsx)(`table`,{ref:r,className:n.t(`w-full caption-bottom text-sm`,e),...t})}));a.displayName=`Table`;var o=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`thead`,{ref:r,className:n.t(`[&_tr]:border-b`,e),...t}));o.displayName=`TableHeader`;var s=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`tbody`,{ref:r,className:n.t(`[&_tr:last-child]:border-0`,e),...t}));s.displayName=`TableBody`;var c=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`tfoot`,{ref:r,className:n.t(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,e),...t}));c.displayName=`TableFooter`;var l=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`tr`,{ref:r,className:n.t(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,e),...t}));l.displayName=`TableRow`;var u=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`th`,{ref:r,className:n.t(`text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t}));u.displayName=`TableHead`;var d=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`td`,{ref:r,className:n.t(`p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t}));d.displayName=`TableCell`;var f=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`caption`,{ref:r,className:n.t(`text-muted-foreground mt-4 text-sm`,e),...t}));f.displayName=`TableCaption`,exports.Table=a,exports.TableBody=s,exports.TableCaption=f,exports.TableCell=d,exports.TableFooter=c,exports.TableHead=u,exports.TableHeader=o,exports.TableRow=l;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-UfQavLF9.js"),n=require("./utils-D7tt_q-u.js");let r=require("react");r=e.r(r);var i=t.Jr();function a({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,i.jsx)(`table`,{"data-slot":`table`,className:n.t(`w-full caption-bottom text-sm`,e),...t})})}function o({className:e,...t}){return(0,i.jsx)(`thead`,{"data-slot":`table-header`,className:n.t(`[&_tr]:border-b`,e),...t})}function s({className:e,...t}){return(0,i.jsx)(`tbody`,{"data-slot":`table-body`,className:n.t(`[&_tr:last-child]:border-0`,e),...t})}function c({className:e,...t}){return(0,i.jsx)(`tfoot`,{"data-slot":`table-footer`,className:n.t(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function l({className:e,...t}){return(0,i.jsx)(`tr`,{"data-slot":`table-row`,className:n.t(`hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,e),...t})}function u({className:e,...t}){return(0,i.jsx)(`th`,{"data-slot":`table-head`,className:n.t(`text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0`,e),...t})}function d({className:e,...t}){return(0,i.jsx)(`td`,{"data-slot":`table-cell`,className:n.t(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0`,e),...t})}function f({className:e,...t}){return(0,i.jsx)(`caption`,{"data-slot":`table-caption`,className:n.t(`text-muted-foreground mt-4 text-sm`,e),...t})}exports.Table=a,exports.TableBody=s,exports.TableCaption=f,exports.TableCell=d,exports.TableFooter=c,exports.TableHead=u,exports.TableHeader=o,exports.TableRow=l;
2
2
  //# sourceMappingURL=table.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.cjs","names":[],"sources":["../packages/ui-web/src/table.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport {\n TableBaseProps,\n TableBodyBaseProps,\n TableCaptionBaseProps,\n TableCellBaseProps,\n TableFooterBaseProps,\n TableHeadBaseProps,\n TableHeaderBaseProps,\n TableRowBaseProps,\n} from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement> & TableBaseProps>(\n ({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table ref={ref} className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n ),\n);\nTable.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement> & TableHeaderBaseProps\n>(({ className, ...props }, ref) => <thead ref={ref} className={cn('[&_tr]:border-b', className)} {...props} />);\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement> & TableBodyBaseProps\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n));\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement> & TableFooterBaseProps\n>(({ className, ...props }, ref) => (\n <tfoot ref={ref} className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)} {...props} />\n));\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement> & TableRowBaseProps>(\n ({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors', className)}\n {...props}\n />\n ),\n);\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement> & TableHeadBaseProps\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n 'text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement> & TableCellBaseProps\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn('p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]', className)}\n {...props}\n />\n));\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement> & TableCaptionBaseProps\n>(({ className, ...props }, ref) => (\n <caption ref={ref} className={cn('text-muted-foreground mt-4 text-sm', className)} {...props} />\n));\nTableCaption.displayName = 'TableCaption';\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\nexport type {\n TableBodyBaseProps as TableBodyProps,\n TableCaptionBaseProps as TableCaptionProps,\n TableCellBaseProps as TableCellProps,\n TableFooterBaseProps as TableFooterProps,\n TableHeaderBaseProps as TableHeaderProps,\n TableHeadBaseProps as TableHeadProps,\n TableBaseProps as TableProps,\n TableRowBaseProps as TableRowProps,\n};\n"],"mappings":"+PAgBM,EAAQ,EAAM,YACjB,CAAE,YAAW,GAAG,GAAS,KACxB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,0CACb,EAAA,EAAA,KAAC,QAAD,CAAY,MAAK,UAAW,EAAA,EAAG,gCAAiC,CAAS,EAAG,GAAI,CAAQ,CAAA,CACrF,CAAA,CAET,EACA,EAAM,YAAc,QAEpB,IAAM,EAAc,EAAM,YAGvB,CAAE,YAAW,GAAG,GAAS,KAAQ,EAAA,EAAA,KAAC,QAAD,CAAY,MAAK,UAAW,EAAA,EAAG,kBAAmB,CAAS,EAAG,GAAI,CAAQ,CAAA,CAAC,EAC/G,EAAY,YAAc,cAE1B,IAAM,EAAY,EAAM,YAGrB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAC,QAAD,CAAY,MAAK,UAAW,EAAA,EAAG,6BAA8B,CAAS,EAAG,GAAI,CAAQ,CAAA,CACtF,EACD,EAAU,YAAc,YAExB,IAAM,EAAc,EAAM,YAGvB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAC,QAAD,CAAY,MAAK,UAAW,EAAA,EAAG,0DAA2D,CAAS,EAAG,GAAI,CAAQ,CAAA,CACnH,EACD,EAAY,YAAc,cAE1B,IAAM,EAAW,EAAM,YACpB,CAAE,YAAW,GAAG,GAAS,KACxB,EAAA,EAAA,KAAC,KAAD,CACO,MACL,UAAW,EAAA,EAAG,8EAA+E,CAAS,EACtG,GAAI,CACL,CAAA,CAEL,EACA,EAAS,YAAc,WAEvB,IAAM,EAAY,EAAM,YAGrB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAC,KAAD,CACO,MACL,UAAW,EAAA,EACT,yIACA,CACF,EACA,GAAI,CACL,CAAA,CACF,EACD,EAAU,YAAc,YAExB,IAAM,EAAY,EAAM,YAGrB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAC,KAAD,CACO,MACL,UAAW,EAAA,EAAG,uFAAwF,CAAS,EAC/G,GAAI,CACL,CAAA,CACF,EACD,EAAU,YAAc,YAExB,IAAM,EAAe,EAAM,YAGxB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAC,UAAD,CAAc,MAAK,UAAW,EAAA,EAAG,qCAAsC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAChG,EACD,EAAa,YAAc"}
1
+ {"version":3,"file":"table.cjs","names":[],"sources":["../packages/ui-web/src/table.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { TableBaseProps } from '@gv-tech/ui-core';\n\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <div data-slot=\"table-container\" className=\"relative w-full overflow-x-auto\">\n <table data-slot=\"table\" className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n 'hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption data-slot=\"table-caption\" className={cn('text-muted-foreground mt-4 text-sm', className)} {...props} />\n );\n}\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyTableContract: TableBaseProps = {} as unknown as React.ComponentProps<typeof Table>;\n"],"mappings":"kPAMA,SAAS,EAAM,CAAE,YAAW,GAAG,GAAwC,CACrE,OACE,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,kBAAkB,UAAU,4CACzC,EAAA,EAAA,KAAC,QAAD,CAAO,YAAU,QAAQ,UAAW,EAAA,EAAG,gCAAiC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC7F,CAAA,CAET,CAEA,SAAS,EAAY,CAAE,YAAW,GAAG,GAAwC,CAC3E,OAAO,EAAA,EAAA,KAAC,QAAD,CAAO,YAAU,eAAe,UAAW,EAAA,EAAG,kBAAmB,CAAS,EAAG,GAAI,CAAQ,CAAA,CAClG,CAEA,SAAS,EAAU,CAAE,YAAW,GAAG,GAAwC,CACzE,OAAO,EAAA,EAAA,KAAC,QAAD,CAAO,YAAU,aAAa,UAAW,EAAA,EAAG,6BAA8B,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC3G,CAEA,SAAS,EAAY,CAAE,YAAW,GAAG,GAAwC,CAC3E,OACE,EAAA,EAAA,KAAC,QAAD,CACE,YAAU,eACV,UAAW,EAAA,EAAG,0DAA2D,CAAS,EAClF,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAS,CAAE,YAAW,GAAG,GAAqC,CACrE,OACE,EAAA,EAAA,KAAC,KAAD,CACE,YAAU,YACV,UAAW,EAAA,EACT,4GACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAU,CAAE,YAAW,GAAG,GAAqC,CACtE,OACE,EAAA,EAAA,KAAC,KAAD,CACE,YAAU,aACV,UAAW,EAAA,EACT,gHACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAU,CAAE,YAAW,GAAG,GAAqC,CACtE,OACE,EAAA,EAAA,KAAC,KAAD,CACE,YAAU,aACV,UAAW,EAAA,EAAG,mEAAoE,CAAS,EAC3F,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAa,CAAE,YAAW,GAAG,GAA0C,CAC9E,OACE,EAAA,EAAA,KAAC,UAAD,CAAS,YAAU,gBAAgB,UAAW,EAAA,EAAG,qCAAsC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAEnH"}
package/dist/table.mjs CHANGED
@@ -1,61 +1,70 @@
1
1
  "use client";
2
- "use client";
3
- import { vr as e } from "./vendor-ChPUVHXi.mjs";
4
- import { t } from "./utils-BsD1_fYL.mjs";
5
- import * as n from "react";
2
+ import { Jr as e } from "./vendor-B6CFfDyk.mjs";
3
+ import { t } from "./utils-IYJAOUsw.mjs";
4
+ import "react";
6
5
  //#region packages/ui-web/src/table.tsx
7
- var r = e(), i = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("div", {
8
- className: "relative w-full overflow-auto",
9
- children: /* @__PURE__ */ (0, r.jsx)("table", {
10
- ref: i,
11
- className: t("w-full caption-bottom text-sm", e),
12
- ...n
13
- })
14
- }));
15
- i.displayName = "Table";
16
- var a = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("thead", {
17
- ref: i,
18
- className: t("[&_tr]:border-b", e),
19
- ...n
20
- }));
21
- a.displayName = "TableHeader";
22
- var o = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("tbody", {
23
- ref: i,
24
- className: t("[&_tr:last-child]:border-0", e),
25
- ...n
26
- }));
27
- o.displayName = "TableBody";
28
- var s = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("tfoot", {
29
- ref: i,
30
- className: t("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", e),
31
- ...n
32
- }));
33
- s.displayName = "TableFooter";
34
- var c = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("tr", {
35
- ref: i,
36
- className: t("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", e),
37
- ...n
38
- }));
39
- c.displayName = "TableRow";
40
- var l = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("th", {
41
- ref: i,
42
- className: t("text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", e),
43
- ...n
44
- }));
45
- l.displayName = "TableHead";
46
- var u = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("td", {
47
- ref: i,
48
- className: t("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", e),
49
- ...n
50
- }));
51
- u.displayName = "TableCell";
52
- var d = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("caption", {
53
- ref: i,
54
- className: t("text-muted-foreground mt-4 text-sm", e),
55
- ...n
56
- }));
57
- d.displayName = "TableCaption";
6
+ var n = e();
7
+ function r({ className: e, ...r }) {
8
+ return /* @__PURE__ */ (0, n.jsx)("div", {
9
+ "data-slot": "table-container",
10
+ className: "relative w-full overflow-x-auto",
11
+ children: /* @__PURE__ */ (0, n.jsx)("table", {
12
+ "data-slot": "table",
13
+ className: t("w-full caption-bottom text-sm", e),
14
+ ...r
15
+ })
16
+ });
17
+ }
18
+ function i({ className: e, ...r }) {
19
+ return /* @__PURE__ */ (0, n.jsx)("thead", {
20
+ "data-slot": "table-header",
21
+ className: t("[&_tr]:border-b", e),
22
+ ...r
23
+ });
24
+ }
25
+ function a({ className: e, ...r }) {
26
+ return /* @__PURE__ */ (0, n.jsx)("tbody", {
27
+ "data-slot": "table-body",
28
+ className: t("[&_tr:last-child]:border-0", e),
29
+ ...r
30
+ });
31
+ }
32
+ function o({ className: e, ...r }) {
33
+ return /* @__PURE__ */ (0, n.jsx)("tfoot", {
34
+ "data-slot": "table-footer",
35
+ className: t("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", e),
36
+ ...r
37
+ });
38
+ }
39
+ function s({ className: e, ...r }) {
40
+ return /* @__PURE__ */ (0, n.jsx)("tr", {
41
+ "data-slot": "table-row",
42
+ className: t("hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", e),
43
+ ...r
44
+ });
45
+ }
46
+ function c({ className: e, ...r }) {
47
+ return /* @__PURE__ */ (0, n.jsx)("th", {
48
+ "data-slot": "table-head",
49
+ className: t("text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0", e),
50
+ ...r
51
+ });
52
+ }
53
+ function l({ className: e, ...r }) {
54
+ return /* @__PURE__ */ (0, n.jsx)("td", {
55
+ "data-slot": "table-cell",
56
+ className: t("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0", e),
57
+ ...r
58
+ });
59
+ }
60
+ function u({ className: e, ...r }) {
61
+ return /* @__PURE__ */ (0, n.jsx)("caption", {
62
+ "data-slot": "table-caption",
63
+ className: t("text-muted-foreground mt-4 text-sm", e),
64
+ ...r
65
+ });
66
+ }
58
67
  //#endregion
59
- export { i as Table, o as TableBody, d as TableCaption, u as TableCell, s as TableFooter, l as TableHead, a as TableHeader, c as TableRow };
68
+ export { r as Table, a as TableBody, u as TableCaption, l as TableCell, o as TableFooter, c as TableHead, i as TableHeader, s as TableRow };
60
69
 
61
70
  //# sourceMappingURL=table.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.mjs","names":[],"sources":["../packages/ui-web/src/table.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport {\n TableBaseProps,\n TableBodyBaseProps,\n TableCaptionBaseProps,\n TableCellBaseProps,\n TableFooterBaseProps,\n TableHeadBaseProps,\n TableHeaderBaseProps,\n TableRowBaseProps,\n} from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement> & TableBaseProps>(\n ({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table ref={ref} className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n ),\n);\nTable.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement> & TableHeaderBaseProps\n>(({ className, ...props }, ref) => <thead ref={ref} className={cn('[&_tr]:border-b', className)} {...props} />);\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement> & TableBodyBaseProps\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n));\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement> & TableFooterBaseProps\n>(({ className, ...props }, ref) => (\n <tfoot ref={ref} className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)} {...props} />\n));\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement> & TableRowBaseProps>(\n ({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors', className)}\n {...props}\n />\n ),\n);\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement> & TableHeadBaseProps\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n 'text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement> & TableCellBaseProps\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn('p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]', className)}\n {...props}\n />\n));\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement> & TableCaptionBaseProps\n>(({ className, ...props }, ref) => (\n <caption ref={ref} className={cn('text-muted-foreground mt-4 text-sm', className)} {...props} />\n));\nTableCaption.displayName = 'TableCaption';\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\nexport type {\n TableBodyBaseProps as TableBodyProps,\n TableCaptionBaseProps as TableCaptionProps,\n TableCellBaseProps as TableCellProps,\n TableFooterBaseProps as TableFooterProps,\n TableHeaderBaseProps as TableHeaderProps,\n TableHeadBaseProps as TableHeadProps,\n TableBaseProps as TableProps,\n TableRowBaseProps as TableRowProps,\n};\n"],"mappings":";;;;;;aAgBM,IAAQ,EAAM,YACjB,EAAE,cAAW,GAAG,KAAS,MACxB,iBAAA,GAAA,EAAA,KAAC,OAAD;CAAK,WAAU;WACb,iBAAA,GAAA,EAAA,KAAC,SAAD;EAAY;EAAK,WAAW,EAAG,iCAAiC,CAAS;EAAG,GAAI;CAAQ,CAAA;AACrF,CAAA,CAET;AACA,EAAM,cAAc;AAEpB,IAAM,IAAc,EAAM,YAGvB,EAAE,cAAW,GAAG,KAAS,MAAQ,iBAAA,GAAA,EAAA,KAAC,SAAD;CAAY;CAAK,WAAW,EAAG,mBAAmB,CAAS;CAAG,GAAI;AAAQ,CAAA,CAAC;AAC/G,EAAY,cAAc;AAE1B,IAAM,IAAY,EAAM,YAGrB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,SAAD;CAAY;CAAK,WAAW,EAAG,8BAA8B,CAAS;CAAG,GAAI;AAAQ,CAAA,CACtF;AACD,EAAU,cAAc;AAExB,IAAM,IAAc,EAAM,YAGvB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,SAAD;CAAY;CAAK,WAAW,EAAG,2DAA2D,CAAS;CAAG,GAAI;AAAQ,CAAA,CACnH;AACD,EAAY,cAAc;AAE1B,IAAM,IAAW,EAAM,YACpB,EAAE,cAAW,GAAG,KAAS,MACxB,iBAAA,GAAA,EAAA,KAAC,MAAD;CACO;CACL,WAAW,EAAG,+EAA+E,CAAS;CACtG,GAAI;AACL,CAAA,CAEL;AACA,EAAS,cAAc;AAEvB,IAAM,IAAY,EAAM,YAGrB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,MAAD;CACO;CACL,WAAW,EACT,0IACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAU,cAAc;AAExB,IAAM,IAAY,EAAM,YAGrB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,MAAD;CACO;CACL,WAAW,EAAG,wFAAwF,CAAS;CAC/G,GAAI;AACL,CAAA,CACF;AACD,EAAU,cAAc;AAExB,IAAM,IAAe,EAAM,YAGxB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,WAAD;CAAc;CAAK,WAAW,EAAG,sCAAsC,CAAS;CAAG,GAAI;AAAQ,CAAA,CAChG;AACD,EAAa,cAAc"}
1
+ {"version":3,"file":"table.mjs","names":[],"sources":["../packages/ui-web/src/table.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { TableBaseProps } from '@gv-tech/ui-core';\n\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <div data-slot=\"table-container\" className=\"relative w-full overflow-x-auto\">\n <table data-slot=\"table\" className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n 'hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption data-slot=\"table-caption\" className={cn('text-muted-foreground mt-4 text-sm', className)} {...props} />\n );\n}\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyTableContract: TableBaseProps = {} as unknown as React.ComponentProps<typeof Table>;\n"],"mappings":";;;;;;AAMA,SAAS,EAAM,EAAE,cAAW,GAAG,KAAwC;CACrE,OACE,iBAAA,GAAA,EAAA,KAAC,OAAD;EAAK,aAAU;EAAkB,WAAU;YACzC,iBAAA,GAAA,EAAA,KAAC,SAAD;GAAO,aAAU;GAAQ,WAAW,EAAG,iCAAiC,CAAS;GAAG,GAAI;EAAQ,CAAA;CAC7F,CAAA;AAET;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAAwC;CAC3E,OAAO,iBAAA,GAAA,EAAA,KAAC,SAAD;EAAO,aAAU;EAAe,WAAW,EAAG,mBAAmB,CAAS;EAAG,GAAI;CAAQ,CAAA;AAClG;AAEA,SAAS,EAAU,EAAE,cAAW,GAAG,KAAwC;CACzE,OAAO,iBAAA,GAAA,EAAA,KAAC,SAAD;EAAO,aAAU;EAAa,WAAW,EAAG,8BAA8B,CAAS;EAAG,GAAI;CAAQ,CAAA;AAC3G;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAAwC;CAC3E,OACE,iBAAA,GAAA,EAAA,KAAC,SAAD;EACE,aAAU;EACV,WAAW,EAAG,2DAA2D,CAAS;EAClF,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAS,EAAE,cAAW,GAAG,KAAqC;CACrE,OACE,iBAAA,GAAA,EAAA,KAAC,MAAD;EACE,aAAU;EACV,WAAW,EACT,6GACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAU,EAAE,cAAW,GAAG,KAAqC;CACtE,OACE,iBAAA,GAAA,EAAA,KAAC,MAAD;EACE,aAAU;EACV,WAAW,EACT,iHACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAU,EAAE,cAAW,GAAG,KAAqC;CACtE,OACE,iBAAA,GAAA,EAAA,KAAC,MAAD;EACE,aAAU;EACV,WAAW,EAAG,oEAAoE,CAAS;EAC3F,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAa,EAAE,cAAW,GAAG,KAA0C;CAC9E,OACE,iBAAA,GAAA,EAAA,KAAC,WAAD;EAAS,aAAU;EAAgB,WAAW,EAAG,sCAAsC,CAAS;EAAG,GAAI;CAAQ,CAAA;AAEnH"}
package/dist/tabs.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-3cr8xz0x.js"),n=require("./utils-DU-Y_pvO.js");let r=require("react");r=e.r(r);var i=t.vr(),a=t._,o=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.g,{ref:a,className:n.t(`bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1`,e),...r}));o.displayName=t.g?.displayName||`TabsList`;var s=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.v,{ref:a,className:n.t(`ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow`,e),...r}));s.displayName=t.v?.displayName||`TabsTrigger`;var c=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.h,{ref:a,className:n.t(`ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none`,e),...r}));c.displayName=t.h?.displayName||`TabsContent`,exports.Tabs=a,exports.TabsContent=c,exports.TabsList=o,exports.TabsTrigger=s;
1
+ "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-UfQavLF9.js"),n=require("./utils-D7tt_q-u.js");let r=require("react");r=e.r(r);var i=t.Jr();function a({className:e,orientation:r=`horizontal`,...a}){return(0,i.jsx)(t.wt,{"data-slot":`tabs`,"data-orientation":r,className:n.t(`group/tabs flex gap-2 data-[orientation=horizontal]:flex-col`,e),...a})}var o=t.R(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-8 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent p-0`}},defaultVariants:{variant:`default`}});function s({className:e,variant:r=`default`,...a}){return(0,i.jsx)(t.Ct,{"data-slot":`tabs-list`,"data-variant":r,className:n.t(o({variant:r}),e),...a})}function c({className:e,...r}){return(0,i.jsx)(t.Tt,{"data-slot":`tabs-trigger`,className:n.t(`text-foreground/60 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start group-data-[variant=default]/tabs-list:flex-1 focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pe-1 has-data-[icon=inline-start]:ps-1 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground`,`after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-1px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-end-[1px] group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,e),...r})}function l({className:e,...r}){return(0,i.jsx)(t.St,{"data-slot":`tabs-content`,className:n.t(`flex-1 text-sm outline-none`,e),...r})}exports.Tabs=a,exports.TabsContent=l,exports.TabsList=s,exports.TabsTrigger=c,exports.tabsListVariants=o;
2
2
  //# sourceMappingURL=tabs.cjs.map
package/dist/tabs.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.cjs","names":[],"sources":["../packages/ui-web/src/tabs.tsx"],"sourcesContent":["'use client';\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\nimport * as React from 'react';\n\nimport { TabsBaseProps, TabsContentBaseProps, TabsListBaseProps, TabsTriggerBaseProps } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> & TabsListBaseProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List?.displayName || 'TabsList';\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & TabsTriggerBaseProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n 'ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow',\n className,\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger?.displayName || 'TabsTrigger';\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> & TabsContentBaseProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n 'ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',\n className,\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content?.displayName || 'TabsContent';\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\nexport type {\n TabsContentBaseProps as TabsContentProps,\n TabsListBaseProps as TabsListProps,\n TabsBaseProps as TabsProps,\n TabsTriggerBaseProps as TabsTriggerProps,\n};\n"],"mappings":"+PAQM,EAAA,EAAA,EAEA,EAAW,EAAM,YAGpB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,EAAA,CACO,MACL,UAAW,EAAA,EACT,4FACA,CACF,EACA,GAAI,CACL,CAAA,CACF,EACD,EAAS,YAAA,EAAA,GAAkC,aAAe,WAE1D,IAAM,EAAc,EAAM,YAGvB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,EAAA,CACO,MACL,UAAW,EAAA,EACT,iYACA,CACF,EACA,GAAI,CACL,CAAA,CACF,EACD,EAAY,YAAA,EAAA,GAAqC,aAAe,cAEhE,IAAM,EAAc,EAAM,YAGvB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,EAAA,CACO,MACL,UAAW,EAAA,EACT,kIACA,CACF,EACA,GAAI,CACL,CAAA,CACF,EACD,EAAY,YAAA,EAAA,GAAqC,aAAe"}
1
+ {"version":3,"file":"tabs.cjs","names":[],"sources":["../packages/ui-web/src/tabs.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { TabsBaseProps } from '@gv-tech/ui-core';\n\nfunction Tabs({ className, orientation = 'horizontal', ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn('group/tabs flex gap-2 data-[orientation=horizontal]:flex-col', className)}\n {...props}\n />\n );\n}\n\nconst tabsListVariants = cva(\n 'group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-8 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none',\n {\n variants: {\n variant: {\n default: 'bg-muted',\n line: 'gap-1 bg-transparent p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction TabsList({\n className,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> & VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n 'text-foreground/60 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start group-data-[variant=default]/tabs-list:flex-1 focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pe-1 has-data-[icon=inline-start]:ps-1 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4',\n 'group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent',\n 'data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground',\n 'after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-1px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-end-[1px] group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('flex-1 text-sm outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsContent, TabsList, tabsListVariants, TabsTrigger };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyTabsContract: TabsBaseProps = {} as unknown as React.ComponentProps<typeof Tabs>;\n"],"mappings":"+PAUA,SAAS,EAAK,CAAE,YAAW,cAAc,aAAc,GAAG,GAA0D,CAClH,OACE,EAAA,EAAA,KAAA,EAAA,GAAA,CACE,YAAU,OACV,mBAAkB,EAClB,UAAW,EAAA,EAAG,+DAAgE,CAAS,EACvF,GAAI,CACL,CAAA,CAEL,CAEA,IAAM,EAAmB,EAAA,EACvB,oRACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,WACT,KAAM,0BACR,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAEA,SAAS,EAAS,CAChB,YACA,UAAU,UACV,GAAG,GACuF,CAC1F,OACE,EAAA,EAAA,KAAA,EAAA,GAAA,CACE,YAAU,YACV,eAAc,EACd,UAAW,EAAA,EAAG,EAAiB,CAAE,SAAQ,CAAC,EAAG,CAAS,EACtD,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OACE,EAAA,EAAA,KAAA,EAAA,GAAA,CACE,YAAU,eACV,UAAW,EAAA,EACT,m3BACA,wRACA,4LACA,qeACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OACE,EAAA,EAAA,KAAA,EAAA,GAAA,CACE,YAAU,eACV,UAAW,EAAA,EAAG,8BAA+B,CAAS,EACtD,GAAI,CACL,CAAA,CAEL"}
package/dist/tabs.mjs CHANGED
@@ -1,28 +1,48 @@
1
1
  "use client";
2
2
  "use client";
3
- import { _ as e, g as t, h as n, v as r, vr as i } from "./vendor-ChPUVHXi.mjs";
4
- import { t as a } from "./utils-BsD1_fYL.mjs";
5
- import * as o from "react";
3
+ import { Ct as e, Jr as t, R as n, St as r, Tt as i, wt as a } from "./vendor-B6CFfDyk.mjs";
4
+ import { t as o } from "./utils-IYJAOUsw.mjs";
5
+ import "react";
6
6
  //#region packages/ui-web/src/tabs.tsx
7
- var s = i(), c = e, l = o.forwardRef(({ className: e, ...n }, r) => /* @__PURE__ */ (0, s.jsx)(t, {
8
- ref: r,
9
- className: a("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1", e),
10
- ...n
11
- }));
12
- l.displayName = t?.displayName || "TabsList";
13
- var u = o.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, s.jsx)(r, {
14
- ref: n,
15
- className: a("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow", e),
16
- ...t
17
- }));
18
- u.displayName = r?.displayName || "TabsTrigger";
19
- var d = o.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ (0, s.jsx)(n, {
20
- ref: r,
21
- className: a("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none", e),
22
- ...t
23
- }));
24
- d.displayName = n?.displayName || "TabsContent";
7
+ var s = t();
8
+ function c({ className: e, orientation: t = "horizontal", ...n }) {
9
+ return /* @__PURE__ */ (0, s.jsx)(a, {
10
+ "data-slot": "tabs",
11
+ "data-orientation": t,
12
+ className: o("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col", e),
13
+ ...n
14
+ });
15
+ }
16
+ var l = n("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-8 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none", {
17
+ variants: { variant: {
18
+ default: "bg-muted",
19
+ line: "gap-1 bg-transparent p-0"
20
+ } },
21
+ defaultVariants: { variant: "default" }
22
+ });
23
+ function u({ className: t, variant: n = "default", ...r }) {
24
+ return /* @__PURE__ */ (0, s.jsx)(e, {
25
+ "data-slot": "tabs-list",
26
+ "data-variant": n,
27
+ className: o(l({ variant: n }), t),
28
+ ...r
29
+ });
30
+ }
31
+ function d({ className: e, ...t }) {
32
+ return /* @__PURE__ */ (0, s.jsx)(i, {
33
+ "data-slot": "tabs-trigger",
34
+ className: o("text-foreground/60 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start group-data-[variant=default]/tabs-list:flex-1 focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pe-1 has-data-[icon=inline-start]:ps-1 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent", "data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground", "after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-1px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-end-[1px] group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100", e),
35
+ ...t
36
+ });
37
+ }
38
+ function f({ className: e, ...t }) {
39
+ return /* @__PURE__ */ (0, s.jsx)(r, {
40
+ "data-slot": "tabs-content",
41
+ className: o("flex-1 text-sm outline-none", e),
42
+ ...t
43
+ });
44
+ }
25
45
  //#endregion
26
- export { c as Tabs, d as TabsContent, l as TabsList, u as TabsTrigger };
46
+ export { c as Tabs, f as TabsContent, u as TabsList, d as TabsTrigger, l as tabsListVariants };
27
47
 
28
48
  //# sourceMappingURL=tabs.mjs.map
package/dist/tabs.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.mjs","names":[],"sources":["../packages/ui-web/src/tabs.tsx"],"sourcesContent":["'use client';\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\nimport * as React from 'react';\n\nimport { TabsBaseProps, TabsContentBaseProps, TabsListBaseProps, TabsTriggerBaseProps } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> & TabsListBaseProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List?.displayName || 'TabsList';\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & TabsTriggerBaseProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n 'ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow',\n className,\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger?.displayName || 'TabsTrigger';\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> & TabsContentBaseProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n 'ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',\n className,\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content?.displayName || 'TabsContent';\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\nexport type {\n TabsContentBaseProps as TabsContentProps,\n TabsListBaseProps as TabsListProps,\n TabsBaseProps as TabsProps,\n TabsTriggerBaseProps as TabsTriggerProps,\n};\n"],"mappings":";;;;;;aAQM,IAAO,GAEP,IAAW,EAAM,YAGpB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,6FACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAS,cAAA,GAAkC,eAAe;AAE1D,IAAM,IAAc,EAAM,YAGvB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,kYACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAY,cAAA,GAAqC,eAAe;AAEhE,IAAM,IAAc,EAAM,YAGvB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,mIACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAY,cAAA,GAAqC,eAAe"}
1
+ {"version":3,"file":"tabs.mjs","names":[],"sources":["../packages/ui-web/src/tabs.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { TabsBaseProps } from '@gv-tech/ui-core';\n\nfunction Tabs({ className, orientation = 'horizontal', ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn('group/tabs flex gap-2 data-[orientation=horizontal]:flex-col', className)}\n {...props}\n />\n );\n}\n\nconst tabsListVariants = cva(\n 'group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-8 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none',\n {\n variants: {\n variant: {\n default: 'bg-muted',\n line: 'gap-1 bg-transparent p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction TabsList({\n className,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> & VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n 'text-foreground/60 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start group-data-[variant=default]/tabs-list:flex-1 focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pe-1 has-data-[icon=inline-start]:ps-1 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4',\n 'group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent',\n 'data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground',\n 'after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-1px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-end-[1px] group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('flex-1 text-sm outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsContent, TabsList, tabsListVariants, TabsTrigger };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyTabsContract: TabsBaseProps = {} as unknown as React.ComponentProps<typeof Tabs>;\n"],"mappings":";;;;;;;AAUA,SAAS,EAAK,EAAE,cAAW,iBAAc,cAAc,GAAG,KAA0D;CAClH,OACE,iBAAA,GAAA,EAAA,KAAC,GAAD;EACE,aAAU;EACV,oBAAkB;EAClB,WAAW,EAAG,gEAAgE,CAAS;EACvF,GAAI;CACL,CAAA;AAEL;AAEA,IAAM,IAAmB,EACvB,qRACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,EAAS,EAChB,cACA,aAAU,WACV,GAAG,KACuF;CAC1F,OACE,iBAAA,GAAA,EAAA,KAAC,GAAD;EACE,aAAU;EACV,gBAAc;EACd,WAAW,EAAG,EAAiB,EAAE,WAAQ,CAAC,GAAG,CAAS;EACtD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAA6D;CAChG,OACE,iBAAA,GAAA,EAAA,KAAC,GAAD;EACE,aAAU;EACV,WAAW,EACT,o3BACA,yRACA,6LACA,seACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAA6D;CAChG,OACE,iBAAA,GAAA,EAAA,KAAC,GAAD;EACE,aAAU;EACV,WAAW,EAAG,+BAA+B,CAAS;EACtD,GAAI;CACL,CAAA;AAEL"}
package/dist/text.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-3cr8xz0x.js"),n=require("./utils-DU-Y_pvO.js");let r=require("react");r=e.r(r);var i=t.vr(),a=t.Gn(``,{variants:{variant:{h1:`scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl`,h2:`scroll-m-20 text-3xl font-semibold tracking-tight`,h3:`scroll-m-20 text-2xl font-semibold tracking-tight`,h4:`scroll-m-20 text-xl font-semibold tracking-tight`,body:`leading-7`,bodySmall:`text-sm leading-6`,caption:`text-xs text-muted-foreground`,label:`text-sm font-medium leading-none`,overline:`text-xs font-semibold uppercase tracking-widest text-muted-foreground`}},defaultVariants:{variant:`body`}}),o={h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,body:`p`,bodySmall:`p`,caption:`span`,label:`label`,overline:`span`},s=r.forwardRef(({className:e,variant:t=`body`,as:r,children:s,...c},l)=>(0,i.jsx)(r||o[t??`body`]||`p`,{ref:l,className:n.t(a({variant:t,className:e})),...c,children:s}));s.displayName=`Text`,exports.Text=s,exports.textVariants=a;
1
+ "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-UfQavLF9.js"),n=require("./utils-D7tt_q-u.js");let r=require("react");r=e.r(r);var i=t.Jr(),a=t.R(``,{variants:{variant:{h1:`scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl`,h2:`scroll-m-20 text-3xl font-semibold tracking-tight`,h3:`scroll-m-20 text-2xl font-semibold tracking-tight`,h4:`scroll-m-20 text-xl font-semibold tracking-tight`,body:`leading-7`,bodySmall:`text-sm leading-6`,caption:`text-xs text-muted-foreground`,label:`text-sm font-medium leading-none`,overline:`text-xs font-semibold uppercase tracking-widest text-muted-foreground`}},defaultVariants:{variant:`body`}}),o={h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,body:`p`,bodySmall:`p`,caption:`span`,label:`label`,overline:`span`},s=r.forwardRef(({className:e,variant:t=`body`,as:r,children:s,...c},l)=>(0,i.jsx)(r||o[t??`body`]||`p`,{ref:l,className:n.t(a({variant:t,className:e})),...c,children:s}));s.displayName=`Text`,exports.Text=s,exports.textVariants=a;
2
2
  //# sourceMappingURL=text.cjs.map
package/dist/text.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.cjs","names":[],"sources":["../packages/ui-web/src/text.tsx"],"sourcesContent":["'use client';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport type { TextBaseProps } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst textVariants = cva('', {\n variants: {\n variant: {\n h1: 'scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl',\n h2: 'scroll-m-20 text-3xl font-semibold tracking-tight',\n h3: 'scroll-m-20 text-2xl font-semibold tracking-tight',\n h4: 'scroll-m-20 text-xl font-semibold tracking-tight',\n body: 'leading-7',\n bodySmall: 'text-sm leading-6',\n caption: 'text-xs text-muted-foreground',\n label: 'text-sm font-medium leading-none',\n overline: 'text-xs font-semibold uppercase tracking-widest text-muted-foreground',\n },\n },\n defaultVariants: {\n variant: 'body',\n },\n});\n\n// Map variant to the most semantic HTML element\nconst variantElementMap: Record<string, keyof React.JSX.IntrinsicElements> = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n body: 'p',\n bodySmall: 'p',\n caption: 'span',\n label: 'label',\n overline: 'span',\n};\n\nexport interface TextProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof textVariants>, TextBaseProps {\n as?: keyof React.JSX.IntrinsicElements;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n ({ className, variant = 'body', as, children, ...props }, ref) => {\n const Comp = (as || variantElementMap[variant ?? 'body'] || 'p') as React.ElementType;\n return (\n <Comp ref={ref} className={cn(textVariants({ variant, className }))} {...props}>\n {children}\n </Comp>\n );\n },\n);\nText.displayName = 'Text';\n\nexport { Text, textVariants };\n"],"mappings":"+PAOM,EAAe,EAAA,GAAI,GAAI,CAC3B,SAAU,CACR,QAAS,CACP,GAAI,iEACJ,GAAI,oDACJ,GAAI,oDACJ,GAAI,mDACJ,KAAM,YACN,UAAW,oBACX,QAAS,gCACT,MAAO,mCACP,SAAU,uEACZ,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CAAC,EAGK,EAAuE,CAC3E,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,KAAM,IACN,UAAW,IACX,QAAS,OACT,MAAO,QACP,SAAU,MACZ,EAMM,EAAO,EAAM,YAChB,CAAE,YAAW,UAAU,OAAQ,KAAI,WAAU,GAAG,GAAS,KAGtD,EAAA,EAAA,KAFY,GAAM,EAAkB,GAAW,SAAW,IAE1D,CAAW,MAAK,UAAW,EAAA,EAAG,EAAa,CAAE,UAAS,WAAU,CAAC,CAAC,EAAG,GAAI,EACtE,UACG,CAAA,CAGZ,EACA,EAAK,YAAc"}
1
+ {"version":3,"file":"text.cjs","names":[],"sources":["../packages/ui-web/src/text.tsx"],"sourcesContent":["'use client';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport type { TextBaseProps } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst textVariants = cva('', {\n variants: {\n variant: {\n h1: 'scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl',\n h2: 'scroll-m-20 text-3xl font-semibold tracking-tight',\n h3: 'scroll-m-20 text-2xl font-semibold tracking-tight',\n h4: 'scroll-m-20 text-xl font-semibold tracking-tight',\n body: 'leading-7',\n bodySmall: 'text-sm leading-6',\n caption: 'text-xs text-muted-foreground',\n label: 'text-sm font-medium leading-none',\n overline: 'text-xs font-semibold uppercase tracking-widest text-muted-foreground',\n },\n },\n defaultVariants: {\n variant: 'body',\n },\n});\n\n// Map variant to the most semantic HTML element\nconst variantElementMap: Record<string, keyof React.JSX.IntrinsicElements> = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n body: 'p',\n bodySmall: 'p',\n caption: 'span',\n label: 'label',\n overline: 'span',\n};\n\nexport interface TextProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof textVariants>, TextBaseProps {\n as?: keyof React.JSX.IntrinsicElements;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n ({ className, variant = 'body', as, children, ...props }, ref) => {\n const Comp = (as || variantElementMap[variant ?? 'body'] || 'p') as React.ElementType;\n return (\n <Comp ref={ref} className={cn(textVariants({ variant, className }))} {...props}>\n {children}\n </Comp>\n );\n },\n);\nText.displayName = 'Text';\n\nexport { Text, textVariants };\n"],"mappings":"+PAOM,EAAe,EAAA,EAAI,GAAI,CAC3B,SAAU,CACR,QAAS,CACP,GAAI,iEACJ,GAAI,oDACJ,GAAI,oDACJ,GAAI,mDACJ,KAAM,YACN,UAAW,oBACX,QAAS,gCACT,MAAO,mCACP,SAAU,uEACZ,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CAAC,EAGK,EAAuE,CAC3E,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,KAAM,IACN,UAAW,IACX,QAAS,OACT,MAAO,QACP,SAAU,MACZ,EAMM,EAAO,EAAM,YAChB,CAAE,YAAW,UAAU,OAAQ,KAAI,WAAU,GAAG,GAAS,KAGtD,EAAA,EAAA,KAFY,GAAM,EAAkB,GAAW,SAAW,IAE1D,CAAW,MAAK,UAAW,EAAA,EAAG,EAAa,CAAE,UAAS,WAAU,CAAC,CAAC,EAAG,GAAI,EACtE,UACG,CAAA,CAGZ,EACA,EAAK,YAAc"}
package/dist/text.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  "use client";
3
- import { Gn as e, vr as t } from "./vendor-ChPUVHXi.mjs";
4
- import { t as n } from "./utils-BsD1_fYL.mjs";
3
+ import { Jr as e, R as t } from "./vendor-B6CFfDyk.mjs";
4
+ import { t as n } from "./utils-IYJAOUsw.mjs";
5
5
  import * as r from "react";
6
6
  //#region packages/ui-web/src/text.tsx
7
- var i = t(), a = e("", {
7
+ var i = e(), a = t("", {
8
8
  variants: { variant: {
9
9
  h1: "scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl",
10
10
  h2: "scroll-m-20 text-3xl font-semibold tracking-tight",
package/dist/textarea.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-3cr8xz0x.js"),n=require("./utils-DU-Y_pvO.js");let r=require("react");r=e.r(r);var i=t.vr(),a=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`textarea`,{className:n.t(`border-input placeholder:text-muted-foreground focus-visible:ring-ring flex min-h-[60px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-sm focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),ref:r,...t}));a.displayName=`Textarea`,exports.Textarea=a;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-UfQavLF9.js"),n=require("./utils-D7tt_q-u.js");let r=require("react");r=e.r(r);var i=t.Jr();function a({className:e,...t}){return(0,i.jsx)(`textarea`,{"data-slot":`textarea`,className:n.t(`border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 flex field-sizing-content min-h-16 w-full rounded-lg border bg-transparent px-2.5 py-2 text-base transition-colors outline-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-3 md:text-sm`,e),...t})}exports.Textarea=a;
2
2
  //# sourceMappingURL=textarea.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.cjs","names":[],"sources":["../packages/ui-web/src/textarea.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport { TextareaBaseProps } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nexport interface TextareaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, keyof TextareaBaseProps>, TextareaBaseProps {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'border-input placeholder:text-muted-foreground focus-visible:ring-ring flex min-h-[60px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-sm focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n"],"mappings":"+PAUM,EAAW,EAAM,YAAgD,CAAE,YAAW,GAAG,GAAS,KAE5F,EAAA,EAAA,KAAC,WAAD,CACE,UAAW,EAAA,EACT,4QACA,CACF,EACK,MACL,GAAI,CACL,CAAA,CAEJ,EACD,EAAS,YAAc"}
1
+ {"version":3,"file":"textarea.cjs","names":[],"sources":["../packages/ui-web/src/textarea.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { TextareaBaseProps } from '@gv-tech/ui-core';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 flex field-sizing-content min-h-16 w-full rounded-lg border bg-transparent px-2.5 py-2 text-base transition-colors outline-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-3 md:text-sm',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyTextareaContract: TextareaBaseProps = {} as unknown as React.ComponentProps<typeof Textarea>;\n"],"mappings":"kPAMA,SAAS,EAAS,CAAE,YAAW,GAAG,GAA2C,CAC3E,OACE,EAAA,EAAA,KAAC,WAAD,CACE,YAAU,WACV,UAAW,EAAA,EACT,yhBACA,CACF,EACA,GAAI,CACL,CAAA,CAEL"}
package/dist/textarea.mjs CHANGED
@@ -1,16 +1,17 @@
1
1
  "use client";
2
- "use client";
3
- import { vr as e } from "./vendor-ChPUVHXi.mjs";
4
- import { t } from "./utils-BsD1_fYL.mjs";
5
- import * as n from "react";
2
+ import { Jr as e } from "./vendor-B6CFfDyk.mjs";
3
+ import { t } from "./utils-IYJAOUsw.mjs";
4
+ import "react";
6
5
  //#region packages/ui-web/src/textarea.tsx
7
- var r = e(), i = n.forwardRef(({ className: e, ...n }, i) => /* @__PURE__ */ (0, r.jsx)("textarea", {
8
- className: t("border-input placeholder:text-muted-foreground focus-visible:ring-ring flex min-h-[60px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-sm focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", e),
9
- ref: i,
10
- ...n
11
- }));
12
- i.displayName = "Textarea";
6
+ var n = e();
7
+ function r({ className: e, ...r }) {
8
+ return /* @__PURE__ */ (0, n.jsx)("textarea", {
9
+ "data-slot": "textarea",
10
+ className: t("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 flex field-sizing-content min-h-16 w-full rounded-lg border bg-transparent px-2.5 py-2 text-base transition-colors outline-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-3 md:text-sm", e),
11
+ ...r
12
+ });
13
+ }
13
14
  //#endregion
14
- export { i as Textarea };
15
+ export { r as Textarea };
15
16
 
16
17
  //# sourceMappingURL=textarea.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.mjs","names":[],"sources":["../packages/ui-web/src/textarea.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport { TextareaBaseProps } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nexport interface TextareaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, keyof TextareaBaseProps>, TextareaBaseProps {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'border-input placeholder:text-muted-foreground focus-visible:ring-ring flex min-h-[60px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-sm focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n"],"mappings":";;;;;;aAUM,IAAW,EAAM,YAAgD,EAAE,cAAW,GAAG,KAAS,MAE5F,iBAAA,GAAA,EAAA,KAAC,YAAD;CACE,WAAW,EACT,6QACA,CACF;CACK;CACL,GAAI;AACL,CAAA,CAEJ;AACD,EAAS,cAAc"}
1
+ {"version":3,"file":"textarea.mjs","names":[],"sources":["../packages/ui-web/src/textarea.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { TextareaBaseProps } from '@gv-tech/ui-core';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 flex field-sizing-content min-h-16 w-full rounded-lg border bg-transparent px-2.5 py-2 text-base transition-colors outline-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-3 md:text-sm',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyTextareaContract: TextareaBaseProps = {} as unknown as React.ComponentProps<typeof Textarea>;\n"],"mappings":";;;;;;AAMA,SAAS,EAAS,EAAE,cAAW,GAAG,KAA2C;CAC3E,OACE,iBAAA,GAAA,EAAA,KAAC,YAAD;EACE,aAAU;EACV,WAAW,EACT,0hBACA,CACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -1,2 +1,2 @@
1
- "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./vendor-3cr8xz0x.js");let t=require("next-themes");var n=e.vr();function r({children:e,...r}){return(0,n.jsx)(t.ThemeProvider,{attribute:`class`,defaultTheme:`system`,enableSystem:!0,...r,children:e})}exports.ThemeProvider=r;
1
+ "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./vendor-UfQavLF9.js");let t=require("next-themes");var n=e.Jr();function r({children:e,...r}){return(0,n.jsx)(t.ThemeProvider,{attribute:`class`,defaultTheme:`system`,enableSystem:!0,...r,children:e})}exports.ThemeProvider=r;
2
2
  //# sourceMappingURL=theme-provider.cjs.map
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  "use client";
3
- import { vr as e } from "./vendor-ChPUVHXi.mjs";
3
+ import { Jr as e } from "./vendor-B6CFfDyk.mjs";
4
4
  import { ThemeProvider as t } from "next-themes";
5
5
  //#region packages/ui-web/src/theme-provider.tsx
6
6
  var n = e();
@@ -0,0 +1,2 @@
1
+ const e=require("./vendor-UfQavLF9.js"),t=require("./utils-D7tt_q-u.js"),n=require("./button.cjs"),r=require("./dropdown-menu.cjs");let i=require("next-themes");var a={brand:{blue:`hsl(225 73% 57%)`,green:`hsl(151 66% 27%)`,floralWhite:`hsl(40 100% 97%)`},neutral:{white:`hsl(0 0% 100%)`,black:`hsl(0 0% 0%)`,gray50:`hsl(0 0% 96%)`,gray100:`hsl(0 0% 92%)`,gray200:`hsl(0 0% 89%)`,gray300:`hsl(0 0% 88%)`,gray400:`hsl(0 0% 70%)`,gray500:`hsl(215 16% 47%)`,gray600:`hsl(222 47% 11%)`,gray700:`hsl(0 0% 18%)`,gray800:`hsl(0 0% 15%)`,gray900:`hsl(0 0% 14%)`,gray950:`hsl(0 0% 11%)`,gray975:`hsl(0 0% 9%)`,gray990:`hsl(0 0% 6%)`},semantic:{success:`hsl(93 28% 54%)`,successDark:`hsl(96 44% 61%)`,destructive:`hsl(0 84.2% 60.2%)`,destructiveDark:`hsl(0 62.8% 30.6%)`}},o={light:{background:a.neutral.gray50,foreground:a.neutral.gray600,card:a.neutral.white,cardForeground:a.neutral.gray600,popover:a.neutral.white,popoverForeground:a.neutral.gray600,primary:a.brand.blue,primaryForeground:a.neutral.white,secondary:a.semantic.success,secondaryForeground:a.neutral.white,muted:a.neutral.gray100,mutedForeground:a.neutral.gray500,accent:a.neutral.gray300,accentForeground:a.neutral.gray600,destructive:a.semantic.destructive,destructiveForeground:a.neutral.white,border:a.neutral.gray200,input:a.neutral.gray200,ring:a.neutral.gray600,sidebar:a.neutral.gray50,sidebarForeground:a.neutral.gray600,sidebarPrimary:a.brand.blue,sidebarPrimaryForeground:a.neutral.white,sidebarAccent:a.neutral.gray100,sidebarAccentForeground:a.neutral.gray900,sidebarBorder:a.neutral.gray200,sidebarRing:a.brand.blue,radius:`0.5rem`},dark:{background:a.neutral.gray975,foreground:a.neutral.white,card:a.neutral.gray900,cardForeground:a.neutral.white,popover:a.neutral.gray950,popoverForeground:a.neutral.white,primary:`hsl(227 96% 71%)`,primaryForeground:a.neutral.gray975,secondary:a.semantic.successDark,secondaryForeground:a.neutral.gray975,muted:a.neutral.gray990,mutedForeground:a.neutral.gray400,accent:a.neutral.gray800,accentForeground:a.neutral.white,destructive:a.semantic.destructiveDark,destructiveForeground:a.neutral.white,border:a.neutral.gray700,input:a.neutral.gray700,ring:`hsl(0 0% 90%)`,sidebar:a.neutral.gray950,sidebarForeground:a.neutral.gray400,sidebarPrimary:`hsl(227 96% 71%)`,sidebarPrimaryForeground:a.neutral.white,sidebarAccent:a.neutral.gray800,sidebarAccentForeground:a.neutral.white,sidebarBorder:a.neutral.gray700,sidebarRing:`hsl(227 96% 71%)`,radius:`0.5rem`}},s={px:`1px`,0:`0`,.5:`0.125rem`,1:`0.25rem`,1.5:`0.375rem`,2:`0.5rem`,2.5:`0.625rem`,3:`0.75rem`,3.5:`0.875rem`,4:`1rem`,5:`1.25rem`,6:`1.5rem`,7:`1.75rem`,8:`2rem`,9:`2.25rem`,10:`2.5rem`,12:`3rem`,14:`3.5rem`,16:`4rem`,20:`5rem`,24:`6rem`,32:`8rem`,40:`10rem`,48:`12rem`,56:`14rem`,64:`16rem`},c={none:`0`,sm:`calc(var(--radius) - 4px)`,md:`calc(var(--radius) - 2px)`,lg:`var(--radius)`,xl:`calc(var(--radius) + 4px)`,"2xl":`calc(var(--radius) + 8px)`,full:`9999px`},l={none:0,sm:4,md:6,lg:8,xl:12,"2xl":16,full:9999},u={fontFamily:{sans:`Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,mono:`ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace`},fontSize:{xs:`0.75rem`,sm:`0.875rem`,base:`1rem`,lg:`1.125rem`,xl:`1.25rem`,"2xl":`1.5rem`,"3xl":`1.875rem`,"4xl":`2.25rem`,"5xl":`3rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`},lineHeight:{none:`1`,tight:`1.25`,snug:`1.375`,normal:`1.5`,relaxed:`1.625`,loose:`2`}},d={none:`none`,sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,default:`0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"2xl":`0 25px 50px -12px rgb(0 0 0 / 0.25)`,inner:`inset 0 2px 4px 0 rgb(0 0 0 / 0.05)`},f={theme:{extend:{colors:{background:`hsl(var(--background) / <alpha-value>)`,foreground:`hsl(var(--foreground) / <alpha-value>)`,card:{DEFAULT:`hsl(var(--card) / <alpha-value>)`,foreground:`hsl(var(--card-foreground) / <alpha-value>)`},popover:{DEFAULT:`hsl(var(--popover) / <alpha-value>)`,foreground:`hsl(var(--popover-foreground) / <alpha-value>)`},primary:{DEFAULT:`hsl(var(--primary) / <alpha-value>)`,foreground:`hsl(var(--primary-foreground) / <alpha-value>)`},secondary:{DEFAULT:`hsl(var(--secondary) / <alpha-value>)`,foreground:`hsl(var(--secondary-foreground) / <alpha-value>)`},muted:{DEFAULT:`hsl(var(--muted) / <alpha-value>)`,foreground:`hsl(var(--muted-foreground) / <alpha-value>)`},accent:{DEFAULT:`hsl(var(--accent) / <alpha-value>)`,foreground:`hsl(var(--accent-foreground) / <alpha-value>)`},destructive:{DEFAULT:`hsl(var(--destructive) / <alpha-value>)`,foreground:`hsl(var(--destructive-foreground) / <alpha-value>)`},border:`hsl(var(--border) / <alpha-value>)`,input:`hsl(var(--input) / <alpha-value>)`,ring:`hsl(var(--ring) / <alpha-value>)`,brand:{blue:`hsl(var(--brand-blue) / <alpha-value>)`,green:`hsl(var(--brand-green) / <alpha-value>)`,"floral-white":`hsl(var(--brand-floral-white) / <alpha-value>)`},neutral:{white:`hsl(var(--neutral-white) / <alpha-value>)`,black:`hsl(var(--neutral-black) / <alpha-value>)`,gray50:`hsl(var(--neutral-gray50) / <alpha-value>)`,gray100:`hsl(var(--neutral-gray100) / <alpha-value>)`,gray200:`hsl(var(--neutral-gray200) / <alpha-value>)`,gray300:`hsl(var(--neutral-gray300) / <alpha-value>)`,gray400:`hsl(var(--neutral-gray400) / <alpha-value>)`,gray500:`hsl(var(--neutral-gray500) / <alpha-value>)`,gray600:`hsl(var(--neutral-gray600) / <alpha-value>)`,gray700:`hsl(var(--neutral-gray700) / <alpha-value>)`,gray800:`hsl(var(--neutral-gray800) / <alpha-value>)`,gray900:`hsl(var(--neutral-gray900) / <alpha-value>)`,gray950:`hsl(var(--neutral-gray950) / <alpha-value>)`,gray975:`hsl(var(--neutral-gray975) / <alpha-value>)`,gray990:`hsl(var(--neutral-gray990) / <alpha-value>)`},semantic:{success:`hsl(var(--semantic-success) / <alpha-value>)`,"success-dark":`hsl(var(--semantic-success-dark) / <alpha-value>)`,destructive:`hsl(var(--semantic-destructive) / <alpha-value>)`,"destructive-dark":`hsl(var(--semantic-destructive-dark) / <alpha-value>)`}},borderRadius:{lg:`var(--radius)`,md:`calc(var(--radius) - 2px)`,sm:`calc(var(--radius) - 4px)`,xl:`calc(var(--radius) + 4px)`,"2xl":`calc(var(--radius) + 8px)`},boxShadow:{sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,DEFAULT:`0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"2xl":`0 25px 50px -12px rgb(0 0 0 / 0.25)`,inner:`inset 0 2px 4px 0 rgb(0 0 0 / 0.05)`},keyframes:{"accordion-down":{from:{height:`0`},to:{height:`var(--radix-accordion-content-height)`}},"accordion-up":{from:{height:`var(--radix-accordion-content-height)`},to:{height:`0`}}},animation:{"accordion-down":`accordion-down 0.2s ease-out`,"accordion-up":`accordion-up 0.2s ease-out`}}}},p={palette:a,theme:o};function m(){let e=(0,i.useTheme)(),{resolvedTheme:t}=e,n=t===`dark`?o.dark:o.light;return{...e,tokens:n}}var h=e.Jr();function g({variant:i=`binary`,onThemeChange:a,customTheme:o,className:s}){let{theme:c,setTheme:l,resolvedTheme:u}=m(),d=o??c,f=(o||u)===`dark`,p=d===`system`,g=e=>{a?a(e):l(e)},_=()=>(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(e.V,{className:t.t(`h-[1.2rem] w-[1.2rem] transition-all`,!p&&!f?`scale-100 rotate-0`:`scale-0 -rotate-90`)}),(0,h.jsx)(e.K,{className:t.t(`absolute h-[1.2rem] w-[1.2rem] transition-all`,!p&&f?`scale-100 rotate-0`:`scale-0 rotate-90`)}),(0,h.jsx)(e.H,{className:t.t(`absolute h-[1.2rem] w-[1.2rem] transition-all`,p?`scale-100 rotate-0`:`scale-0 rotate-90`)}),(0,h.jsx)(`span`,{className:`sr-only`,children:`Toggle theme`})]});return i===`ternary`?(0,h.jsxs)(r.DropdownMenu,{children:[(0,h.jsx)(r.DropdownMenuTrigger,{asChild:!0,children:(0,h.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:t.t(`relative h-9 w-9`,s),children:(0,h.jsx)(_,{})})}),(0,h.jsxs)(r.DropdownMenuContent,{align:`end`,children:[(0,h.jsxs)(r.DropdownMenuItem,{onClick:()=>g(`light`),children:[(0,h.jsx)(e.V,{className:`mr-2 h-4 w-4`}),(0,h.jsx)(`span`,{children:`Light`})]}),(0,h.jsxs)(r.DropdownMenuItem,{onClick:()=>g(`dark`),children:[(0,h.jsx)(e.K,{className:`mr-2 h-4 w-4`}),(0,h.jsx)(`span`,{children:`Dark`})]}),(0,h.jsxs)(r.DropdownMenuItem,{onClick:()=>g(`system`),children:[(0,h.jsx)(e.H,{className:`mr-2 h-4 w-4`}),(0,h.jsx)(`span`,{children:`System`})]})]})]}):(0,h.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:t.t(`relative h-9 w-9`,s),onClick:()=>g(d===`dark`?`light`:`dark`),"aria-label":`Toggle theme`,children:(0,h.jsx)(_,{})})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return o}});
2
+ //# sourceMappingURL=theme-toggle-CNDBFa9t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle-CNDBFa9t.js","names":[],"sources":["../packages/design-tokens/src/palette.ts","../packages/design-tokens/src/theme.ts","../packages/design-tokens/src/spacing.ts","../packages/design-tokens/src/radii.ts","../packages/design-tokens/src/typography.ts","../packages/design-tokens/src/shadows.ts","../packages/design-tokens/src/preset.ts","../packages/design-tokens/src/index.ts","../packages/ui-web/src/hooks/use-theme.ts","../packages/ui-web/src/theme-toggle.tsx"],"sourcesContent":["// Primitive color palette for the GV Tech design system.\n// These are the raw color values. They should NOT be used directly in components —\n// use semantic tokens from `theme.ts` instead.\n\nexport const palette = {\n brand: {\n blue: 'hsl(225 73% 57%)', // Royal Blue (Intellect)\n green: 'hsl(151 66% 27%)', // #177245 (Stability)\n floralWhite: 'hsl(40 100% 97%)', // Light Neutral / Floral White\n },\n neutral: {\n white: 'hsl(0 0% 100%)',\n black: 'hsl(0 0% 0%)', // Pure Black\n gray50: 'hsl(0 0% 96%)', // White Smoke\n gray100: 'hsl(0 0% 92%)', // Gainsboro\n gray200: 'hsl(0 0% 89%)', // Light Gray\n gray300: 'hsl(0 0% 88%)', // French Gray\n gray400: 'hsl(0 0% 70%)', // Silver\n gray500: 'hsl(215 16% 47%)', // Steel Blue\n gray600: 'hsl(222 47% 11%)', // Oxford Blue\n gray700: 'hsl(0 0% 18%)', // Raisin Black\n gray800: 'hsl(0 0% 15%)', // Jet\n gray900: 'hsl(0 0% 14%)', // Eerie Black\n gray950: 'hsl(0 0% 11%)', // Night (alt)\n gray975: 'hsl(0 0% 9%)', // Night\n gray990: 'hsl(0 0% 6%)', // Black (almost)\n },\n semantic: {\n success: 'hsl(93 28% 54%)', // Asparagus / Pistachio\n successDark: 'hsl(96 44% 61%)',\n destructive: 'hsl(0 84.2% 60.2%)', // Vivid Red\n destructiveDark: 'hsl(0 62.8% 30.6%)', // Blood Red\n },\n} as const;\n\nexport type PaletteTokens = typeof palette;\n","// Semantic theme tokens for the GV Tech design system.\n// These map primitive palette values to semantic roles (background, foreground, etc.)\n// for both light and dark modes. Components should reference these tokens, not palette directly.\n\nimport { palette } from './palette';\n\nexport const theme = {\n light: {\n background: palette.neutral.gray50,\n foreground: palette.neutral.gray600,\n card: palette.neutral.white,\n cardForeground: palette.neutral.gray600,\n popover: palette.neutral.white,\n popoverForeground: palette.neutral.gray600,\n primary: palette.brand.blue,\n primaryForeground: palette.neutral.white,\n secondary: palette.semantic.success,\n secondaryForeground: palette.neutral.white,\n muted: palette.neutral.gray100,\n mutedForeground: palette.neutral.gray500,\n accent: palette.neutral.gray300,\n accentForeground: palette.neutral.gray600,\n destructive: palette.semantic.destructive,\n destructiveForeground: palette.neutral.white,\n border: palette.neutral.gray200,\n input: palette.neutral.gray200,\n ring: palette.neutral.gray600,\n sidebar: palette.neutral.gray50,\n sidebarForeground: palette.neutral.gray600,\n sidebarPrimary: palette.brand.blue,\n sidebarPrimaryForeground: palette.neutral.white,\n sidebarAccent: palette.neutral.gray100,\n sidebarAccentForeground: palette.neutral.gray900,\n sidebarBorder: palette.neutral.gray200,\n sidebarRing: palette.brand.blue,\n radius: '0.5rem',\n },\n dark: {\n background: palette.neutral.gray975,\n foreground: palette.neutral.white,\n card: palette.neutral.gray900,\n cardForeground: palette.neutral.white,\n popover: palette.neutral.gray950,\n popoverForeground: palette.neutral.white,\n primary: 'hsl(227 96% 71%)', // Keeping as specific HSL to match original\n primaryForeground: palette.neutral.gray975,\n secondary: palette.semantic.successDark,\n secondaryForeground: palette.neutral.gray975,\n muted: palette.neutral.gray990,\n mutedForeground: palette.neutral.gray400,\n accent: palette.neutral.gray800,\n accentForeground: palette.neutral.white,\n destructive: palette.semantic.destructiveDark,\n destructiveForeground: palette.neutral.white,\n border: palette.neutral.gray700,\n input: palette.neutral.gray700,\n ring: 'hsl(0 0% 90%)', // Platinum\n sidebar: palette.neutral.gray950,\n sidebarForeground: palette.neutral.gray400,\n sidebarPrimary: 'hsl(227 96% 71%)',\n sidebarPrimaryForeground: palette.neutral.white,\n sidebarAccent: palette.neutral.gray800,\n sidebarAccentForeground: palette.neutral.white,\n sidebarBorder: palette.neutral.gray700,\n sidebarRing: 'hsl(227 96% 71%)',\n radius: '0.5rem',\n },\n} as const;\n\nexport type ThemeTokens = typeof theme.light;\n","// Spacing scale for the GV Tech design system.\n// Based on a 4px baseline grid. Values are in rem (assuming 16px root font size).\n\nexport const spacing = {\n px: '1px',\n 0: '0',\n 0.5: '0.125rem', // 2px\n 1: '0.25rem', // 4px\n 1.5: '0.375rem', // 6px\n 2: '0.5rem', // 8px\n 2.5: '0.625rem', // 10px\n 3: '0.75rem', // 12px\n 3.5: '0.875rem', // 14px\n 4: '1rem', // 16px\n 5: '1.25rem', // 20px\n 6: '1.5rem', // 24px\n 7: '1.75rem', // 28px\n 8: '2rem', // 32px\n 9: '2.25rem', // 36px\n 10: '2.5rem', // 40px\n 12: '3rem', // 48px\n 14: '3.5rem', // 56px\n 16: '4rem', // 64px\n 20: '5rem', // 80px\n 24: '6rem', // 96px\n 32: '8rem', // 128px\n 40: '10rem', // 160px\n 48: '12rem', // 192px\n 56: '14rem', // 224px\n 64: '16rem', // 256px\n} as const;\n\nexport type SpacingTokens = typeof spacing;\n","// Border radius tokens for the GV Tech design system.\n\nexport const radii = {\n none: '0',\n sm: 'calc(var(--radius) - 4px)',\n md: 'calc(var(--radius) - 2px)',\n lg: 'var(--radius)',\n xl: 'calc(var(--radius) + 4px)',\n '2xl': 'calc(var(--radius) + 8px)',\n full: '9999px',\n} as const;\n\n// Numeric radius values (in px) for React Native, which doesn't support CSS calc().\n// Based on a default --radius of 0.5rem (8px).\nexport const radiiNumeric = {\n none: 0,\n sm: 4, // 8 - 4\n md: 6, // 8 - 2\n lg: 8, // base\n xl: 12, // 8 + 4\n '2xl': 16, // 8 + 8\n full: 9999,\n} as const;\n\nexport type RadiiTokens = typeof radii;\nexport type RadiiNumericTokens = typeof radiiNumeric;\n","// Typography tokens for the GV Tech design system.\n// Defines font families, sizes, weights, and line heights.\n\nexport const typography = {\n fontFamily: {\n sans: 'Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace',\n },\n fontSize: {\n xs: '0.75rem', // 12px\n sm: '0.875rem', // 14px\n base: '1rem', // 16px\n lg: '1.125rem', // 18px\n xl: '1.25rem', // 20px\n '2xl': '1.5rem', // 24px\n '3xl': '1.875rem', // 30px\n '4xl': '2.25rem', // 36px\n '5xl': '3rem', // 48px\n },\n fontWeight: {\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n },\n lineHeight: {\n none: '1',\n tight: '1.25',\n snug: '1.375',\n normal: '1.5',\n relaxed: '1.625',\n loose: '2',\n },\n} as const;\n\nexport type TypographyTokens = typeof typography;\n","// Shadow / elevation tokens for the GV Tech design system.\n// Web values use CSS box-shadow syntax.\n// Native consumers should map these to platform-specific elevation or shadow props.\n\nexport const shadows = {\n none: 'none',\n sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\n default: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\n '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',\n inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',\n} as const;\n\nexport type ShadowTokens = typeof shadows;\n","// Tailwind CSS configuration preset for GV Tech design system.\n// This registers our colors, shadows, border radii, and animations natively.\n\nexport const preset = {\n theme: {\n extend: {\n colors: {\n background: 'hsl(var(--background) / <alpha-value>)',\n foreground: 'hsl(var(--foreground) / <alpha-value>)',\n card: {\n DEFAULT: 'hsl(var(--card) / <alpha-value>)',\n foreground: 'hsl(var(--card-foreground) / <alpha-value>)',\n },\n popover: {\n DEFAULT: 'hsl(var(--popover) / <alpha-value>)',\n foreground: 'hsl(var(--popover-foreground) / <alpha-value>)',\n },\n primary: {\n DEFAULT: 'hsl(var(--primary) / <alpha-value>)',\n foreground: 'hsl(var(--primary-foreground) / <alpha-value>)',\n },\n secondary: {\n DEFAULT: 'hsl(var(--secondary) / <alpha-value>)',\n foreground: 'hsl(var(--secondary-foreground) / <alpha-value>)',\n },\n muted: {\n DEFAULT: 'hsl(var(--muted) / <alpha-value>)',\n foreground: 'hsl(var(--muted-foreground) / <alpha-value>)',\n },\n accent: {\n DEFAULT: 'hsl(var(--accent) / <alpha-value>)',\n foreground: 'hsl(var(--accent-foreground) / <alpha-value>)',\n },\n destructive: {\n DEFAULT: 'hsl(var(--destructive) / <alpha-value>)',\n foreground: 'hsl(var(--destructive-foreground) / <alpha-value>)',\n },\n border: 'hsl(var(--border) / <alpha-value>)',\n input: 'hsl(var(--input) / <alpha-value>)',\n ring: 'hsl(var(--ring) / <alpha-value>)',\n\n // Primitive palette tokens exported dynamically via CSS variable mappings\n brand: {\n blue: 'hsl(var(--brand-blue) / <alpha-value>)',\n green: 'hsl(var(--brand-green) / <alpha-value>)',\n 'floral-white': 'hsl(var(--brand-floral-white) / <alpha-value>)',\n },\n neutral: {\n white: 'hsl(var(--neutral-white) / <alpha-value>)',\n black: 'hsl(var(--neutral-black) / <alpha-value>)',\n gray50: 'hsl(var(--neutral-gray50) / <alpha-value>)',\n gray100: 'hsl(var(--neutral-gray100) / <alpha-value>)',\n gray200: 'hsl(var(--neutral-gray200) / <alpha-value>)',\n gray300: 'hsl(var(--neutral-gray300) / <alpha-value>)',\n gray400: 'hsl(var(--neutral-gray400) / <alpha-value>)',\n gray500: 'hsl(var(--neutral-gray500) / <alpha-value>)',\n gray600: 'hsl(var(--neutral-gray600) / <alpha-value>)',\n gray700: 'hsl(var(--neutral-gray700) / <alpha-value>)',\n gray800: 'hsl(var(--neutral-gray800) / <alpha-value>)',\n gray900: 'hsl(var(--neutral-gray900) / <alpha-value>)',\n gray950: 'hsl(var(--neutral-gray950) / <alpha-value>)',\n gray975: 'hsl(var(--neutral-gray975) / <alpha-value>)',\n gray990: 'hsl(var(--neutral-gray990) / <alpha-value>)',\n },\n semantic: {\n success: 'hsl(var(--semantic-success) / <alpha-value>)',\n 'success-dark': 'hsl(var(--semantic-success-dark) / <alpha-value>)',\n destructive: 'hsl(var(--semantic-destructive) / <alpha-value>)',\n 'destructive-dark': 'hsl(var(--semantic-destructive-dark) / <alpha-value>)',\n },\n },\n borderRadius: {\n lg: 'var(--radius)',\n md: 'calc(var(--radius) - 2px)',\n sm: 'calc(var(--radius) - 4px)',\n xl: 'calc(var(--radius) + 4px)',\n '2xl': 'calc(var(--radius) + 8px)',\n },\n boxShadow: {\n sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\n DEFAULT: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\n '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',\n inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',\n },\n keyframes: {\n 'accordion-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-accordion-content-height)' },\n },\n 'accordion-up': {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0' },\n },\n },\n animation: {\n 'accordion-down': 'accordion-down 0.2s ease-out',\n 'accordion-up': 'accordion-up 0.2s ease-out',\n },\n },\n },\n};\n","// @gv-tech/design-tokens\n// Single source of truth for all design tokens in the GV Tech design system.\n// Consumed by both web (ui-web) and native (ui-native) implementations.\n\n// Color tokens\nexport { palette } from './palette';\nexport type { PaletteTokens } from './palette';\n\nexport { theme } from './theme';\nexport type { ThemeTokens } from './theme';\n\n// Layout tokens\nexport { spacing } from './spacing';\nexport type { SpacingTokens } from './spacing';\n\nexport { radii, radiiNumeric } from './radii';\nexport type { RadiiNumericTokens, RadiiTokens } from './radii';\n\n// Typography tokens\nexport { typography } from './typography';\nexport type { TypographyTokens } from './typography';\n\n// Elevation tokens\nexport { shadows } from './shadows';\nexport type { ShadowTokens } from './shadows';\n\n// Convenience re-export of all tokens as a single object.\n// Mirrors the legacy `tokens` export from `src/theme/tokens.ts`.\nimport { palette } from './palette';\nimport { theme } from './theme';\n\nexport const tokens = {\n palette,\n theme,\n} as const;\n\nexport { preset } from './preset';\n","import { theme } from '@gv-tech/design-tokens';\nimport { useTheme as useNextTheme } from 'next-themes';\n\nexport function useTheme() {\n const context = useNextTheme();\n const { resolvedTheme } = context;\n\n // Default to light theme tokens if resolvedTheme is undefined or invalid\n const activeTokens = resolvedTheme === 'dark' ? theme.dark : theme.light;\n\n return {\n ...context,\n tokens: activeTokens,\n };\n}\n","'use client';\n\nimport { ThemeToggleBaseProps } from '@gv-tech/ui-core';\nimport { Moon, Sun, SunMoon } from 'lucide-react';\nimport { Button } from './button';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './dropdown-menu';\nimport { useTheme } from './hooks/use-theme';\nimport { cn } from './lib/utils';\n\nexport type ThemeToggleProps = ThemeToggleBaseProps;\n\nexport function ThemeToggle({ variant = 'binary', onThemeChange, customTheme, className }: ThemeToggleProps) {\n const { theme: nextTheme, setTheme: setNextTheme, resolvedTheme } = useTheme();\n\n // Use customTheme if provided, otherwise fallback to next-themes\n const currentTheme = customTheme ?? nextTheme;\n\n // Determine the effective theme for icon rendering\n const effectiveTheme = customTheme ? customTheme : resolvedTheme;\n const isDark = effectiveTheme === 'dark';\n const isSystem = currentTheme === 'system';\n\n const handleThemeChange = (newTheme: string) => {\n if (onThemeChange) {\n onThemeChange(newTheme);\n } else {\n setNextTheme(newTheme);\n }\n };\n\n const IconToggle = () => (\n <>\n <Sun\n className={cn(\n 'h-[1.2rem] w-[1.2rem] transition-all',\n !isSystem && !isDark ? 'scale-100 rotate-0' : 'scale-0 -rotate-90',\n )}\n />\n <Moon\n className={cn(\n 'absolute h-[1.2rem] w-[1.2rem] transition-all',\n !isSystem && isDark ? 'scale-100 rotate-0' : 'scale-0 rotate-90',\n )}\n />\n <SunMoon\n className={cn(\n 'absolute h-[1.2rem] w-[1.2rem] transition-all',\n isSystem ? 'scale-100 rotate-0' : 'scale-0 rotate-90',\n )}\n />\n <span className=\"sr-only\">Toggle theme</span>\n </>\n );\n\n if (variant === 'ternary') {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className={cn('relative h-9 w-9', className)}>\n <IconToggle />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => handleThemeChange('light')}>\n <Sun className=\"mr-2 h-4 w-4\" />\n <span>Light</span>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => handleThemeChange('dark')}>\n <Moon className=\"mr-2 h-4 w-4\" />\n <span>Dark</span>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => handleThemeChange('system')}>\n <SunMoon className=\"mr-2 h-4 w-4\" />\n <span>System</span>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n }\n\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className={cn('relative h-9 w-9', className)}\n onClick={() => handleThemeChange(currentTheme === 'dark' ? 'light' : 'dark')}\n aria-label=\"Toggle theme\"\n >\n <IconToggle />\n </Button>\n );\n}\n"],"mappings":"iKAIA,IAAa,EAAU,CACrB,MAAO,CACL,KAAM,mBACN,MAAO,mBACP,YAAa,kBACf,EACA,QAAS,CACP,MAAO,iBACP,MAAO,eACP,OAAQ,gBACR,QAAS,gBACT,QAAS,gBACT,QAAS,gBACT,QAAS,gBACT,QAAS,mBACT,QAAS,mBACT,QAAS,gBACT,QAAS,gBACT,QAAS,gBACT,QAAS,gBACT,QAAS,eACT,QAAS,cACX,EACA,SAAU,CACR,QAAS,kBACT,YAAa,kBACb,YAAa,qBACb,gBAAiB,oBACnB,CACF,EC3Ba,EAAQ,CACnB,MAAO,CACL,WAAY,EAAQ,QAAQ,OAC5B,WAAY,EAAQ,QAAQ,QAC5B,KAAM,EAAQ,QAAQ,MACtB,eAAgB,EAAQ,QAAQ,QAChC,QAAS,EAAQ,QAAQ,MACzB,kBAAmB,EAAQ,QAAQ,QACnC,QAAS,EAAQ,MAAM,KACvB,kBAAmB,EAAQ,QAAQ,MACnC,UAAW,EAAQ,SAAS,QAC5B,oBAAqB,EAAQ,QAAQ,MACrC,MAAO,EAAQ,QAAQ,QACvB,gBAAiB,EAAQ,QAAQ,QACjC,OAAQ,EAAQ,QAAQ,QACxB,iBAAkB,EAAQ,QAAQ,QAClC,YAAa,EAAQ,SAAS,YAC9B,sBAAuB,EAAQ,QAAQ,MACvC,OAAQ,EAAQ,QAAQ,QACxB,MAAO,EAAQ,QAAQ,QACvB,KAAM,EAAQ,QAAQ,QACtB,QAAS,EAAQ,QAAQ,OACzB,kBAAmB,EAAQ,QAAQ,QACnC,eAAgB,EAAQ,MAAM,KAC9B,yBAA0B,EAAQ,QAAQ,MAC1C,cAAe,EAAQ,QAAQ,QAC/B,wBAAyB,EAAQ,QAAQ,QACzC,cAAe,EAAQ,QAAQ,QAC/B,YAAa,EAAQ,MAAM,KAC3B,OAAQ,QACV,EACA,KAAM,CACJ,WAAY,EAAQ,QAAQ,QAC5B,WAAY,EAAQ,QAAQ,MAC5B,KAAM,EAAQ,QAAQ,QACtB,eAAgB,EAAQ,QAAQ,MAChC,QAAS,EAAQ,QAAQ,QACzB,kBAAmB,EAAQ,QAAQ,MACnC,QAAS,mBACT,kBAAmB,EAAQ,QAAQ,QACnC,UAAW,EAAQ,SAAS,YAC5B,oBAAqB,EAAQ,QAAQ,QACrC,MAAO,EAAQ,QAAQ,QACvB,gBAAiB,EAAQ,QAAQ,QACjC,OAAQ,EAAQ,QAAQ,QACxB,iBAAkB,EAAQ,QAAQ,MAClC,YAAa,EAAQ,SAAS,gBAC9B,sBAAuB,EAAQ,QAAQ,MACvC,OAAQ,EAAQ,QAAQ,QACxB,MAAO,EAAQ,QAAQ,QACvB,KAAM,gBACN,QAAS,EAAQ,QAAQ,QACzB,kBAAmB,EAAQ,QAAQ,QACnC,eAAgB,mBAChB,yBAA0B,EAAQ,QAAQ,MAC1C,cAAe,EAAQ,QAAQ,QAC/B,wBAAyB,EAAQ,QAAQ,MACzC,cAAe,EAAQ,QAAQ,QAC/B,YAAa,mBACb,OAAQ,QACV,CACF,EChEa,EAAU,CACrB,GAAI,MACJ,EAAG,IACH,GAAK,WACL,EAAG,UACH,IAAK,WACL,EAAG,SACH,IAAK,WACL,EAAG,UACH,IAAK,WACL,EAAG,OACH,EAAG,UACH,EAAG,SACH,EAAG,UACH,EAAG,OACH,EAAG,UACH,GAAI,SACJ,GAAI,OACJ,GAAI,SACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,OACN,EC5Ba,EAAQ,CACnB,KAAM,IACN,GAAI,4BACJ,GAAI,4BACJ,GAAI,gBACJ,GAAI,4BACJ,MAAO,4BACP,KAAM,QACR,EAIa,EAAe,CAC1B,KAAM,EACN,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,GACJ,MAAO,GACP,KAAM,IACR,ECnBa,EAAa,CACxB,WAAY,CACV,KAAM,8HACN,KAAM,wFACR,EACA,SAAU,CACR,GAAI,UACJ,GAAI,WACJ,KAAM,OACN,GAAI,WACJ,GAAI,UACJ,MAAO,SACP,MAAO,WACP,MAAO,UACP,MAAO,MACT,EACA,WAAY,CACV,OAAQ,MACR,OAAQ,MACR,SAAU,MACV,KAAM,KACR,EACA,WAAY,CACV,KAAM,IACN,MAAO,OACP,KAAM,QACN,OAAQ,MACR,QAAS,QACT,MAAO,GACT,CACF,EC7Ba,EAAU,CACrB,KAAM,OACN,GAAI,gCACJ,QAAS,gEACT,GAAI,mEACJ,GAAI,qEACJ,GAAI,sEACJ,MAAO,sCACP,MAAO,qCACT,ECVa,EAAS,CACpB,MAAO,CACL,OAAQ,CACN,OAAQ,CACN,WAAY,yCACZ,WAAY,yCACZ,KAAM,CACJ,QAAS,mCACT,WAAY,6CACd,EACA,QAAS,CACP,QAAS,sCACT,WAAY,gDACd,EACA,QAAS,CACP,QAAS,sCACT,WAAY,gDACd,EACA,UAAW,CACT,QAAS,wCACT,WAAY,kDACd,EACA,MAAO,CACL,QAAS,oCACT,WAAY,8CACd,EACA,OAAQ,CACN,QAAS,qCACT,WAAY,+CACd,EACA,YAAa,CACX,QAAS,0CACT,WAAY,oDACd,EACA,OAAQ,qCACR,MAAO,oCACP,KAAM,mCAGN,MAAO,CACL,KAAM,yCACN,MAAO,0CACP,eAAgB,gDAClB,EACA,QAAS,CACP,MAAO,4CACP,MAAO,4CACP,OAAQ,6CACR,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,8CACT,QAAS,6CACX,EACA,SAAU,CACR,QAAS,+CACT,eAAgB,oDAChB,YAAa,mDACb,mBAAoB,uDACtB,CACF,EACA,aAAc,CACZ,GAAI,gBACJ,GAAI,4BACJ,GAAI,4BACJ,GAAI,4BACJ,MAAO,2BACT,EACA,UAAW,CACT,GAAI,gCACJ,QAAS,gEACT,GAAI,mEACJ,GAAI,qEACJ,GAAI,sEACJ,MAAO,sCACP,MAAO,qCACT,EACA,UAAW,CACT,iBAAkB,CAChB,KAAM,CAAE,OAAQ,GAAI,EACpB,GAAI,CAAE,OAAQ,uCAAwC,CACxD,EACA,eAAgB,CACd,KAAM,CAAE,OAAQ,uCAAwC,EACxD,GAAI,CAAE,OAAQ,GAAI,CACpB,CACF,EACA,UAAW,CACT,iBAAkB,+BAClB,eAAgB,4BAClB,CACF,CACF,CACF,ECxEa,EAAS,CACpB,UACA,OACF,EC/BA,SAAgB,GAAW,CACzB,IAAM,GAAA,EAAA,EAAA,UAAuB,EACvB,CAAE,iBAAkB,EAGpB,EAAe,IAAkB,OAAS,EAAM,KAAO,EAAM,MAEnE,MAAO,CACL,GAAG,EACH,OAAQ,CACV,CACF,cCHA,SAAgB,EAAY,CAAE,UAAU,SAAU,gBAAe,cAAa,aAA+B,CAC3G,GAAM,CAAE,MAAO,EAAW,SAAU,EAAc,iBAAkB,EAAS,EAGvE,EAAe,GAAe,EAI9B,GADiB,GAA4B,KACjB,OAC5B,EAAW,IAAiB,SAE5B,EAAqB,GAAqB,CAC1C,EACF,EAAc,CAAQ,EAEtB,EAAa,CAAQ,CAEzB,EAEM,OACJ,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,EAAA,EAAD,CACE,UAAW,EAAA,EACT,uCACA,CAAC,GAAY,CAAC,EAAS,qBAAuB,oBAChD,CACD,CAAA,GACD,EAAA,EAAA,KAAC,EAAA,EAAD,CACE,UAAW,EAAA,EACT,gDACA,CAAC,GAAY,EAAS,qBAAuB,mBAC/C,CACD,CAAA,GACD,EAAA,EAAA,KAAC,EAAA,EAAD,CACE,UAAW,EAAA,EACT,gDACA,EAAW,qBAAuB,mBACpC,CACD,CAAA,GACD,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAU,cAAkB,CAAA,CAC5C,CAAA,CAAA,EA6BJ,OA1BI,IAAY,WAEZ,EAAA,EAAA,MAAC,EAAA,aAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,EAAA,oBAAD,CAAqB,QAAA,aACnB,EAAA,EAAA,KAAC,EAAA,OAAD,CAAQ,QAAQ,QAAQ,KAAK,OAAO,UAAW,EAAA,EAAG,mBAAoB,CAAS,YAC7E,EAAA,EAAA,KAAC,EAAD,CAAa,CAAA,CACP,CAAA,CACW,CAAA,GACrB,EAAA,EAAA,MAAC,EAAA,oBAAD,CAAqB,MAAM,eAA3B,EACE,EAAA,EAAA,MAAC,EAAA,iBAAD,CAAkB,YAAe,EAAkB,OAAO,WAA1D,EACE,EAAA,EAAA,KAAC,EAAA,EAAD,CAAK,UAAU,cAAgB,CAAA,GAC/B,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,OAAW,CAAA,CACD,KAClB,EAAA,EAAA,MAAC,EAAA,iBAAD,CAAkB,YAAe,EAAkB,MAAM,WAAzD,EACE,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,UAAU,cAAgB,CAAA,GAChC,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,MAAU,CAAA,CACA,KAClB,EAAA,EAAA,MAAC,EAAA,iBAAD,CAAkB,YAAe,EAAkB,QAAQ,WAA3D,EACE,EAAA,EAAA,KAAC,EAAA,EAAD,CAAS,UAAU,cAAgB,CAAA,GACnC,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,QAAY,CAAA,CACF,GACC,GACT,CAAA,CAAA,GAKhB,EAAA,EAAA,KAAC,EAAA,OAAD,CACE,QAAQ,QACR,KAAK,OACL,UAAW,EAAA,EAAG,mBAAoB,CAAS,EAC3C,YAAe,EAAkB,IAAiB,OAAS,QAAU,MAAM,EAC3E,aAAW,yBAEX,EAAA,EAAA,KAAC,EAAD,CAAa,CAAA,CACP,CAAA,CAEZ"}