@gv-tech/design-system 2.22.1 → 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 +6 -4
  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
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.mjs","names":[],"sources":["../packages/ui-web/src/breadcrumb.tsx"],"sourcesContent":["'use client';\nimport { Slot } from '@radix-ui/react-slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n BreadcrumbBaseProps,\n BreadcrumbEllipsisBaseProps,\n BreadcrumbItemBaseProps,\n BreadcrumbLinkBaseProps,\n BreadcrumbListBaseProps,\n BreadcrumbPageBaseProps,\n BreadcrumbSeparatorBaseProps,\n} from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<'nav'> &\n BreadcrumbBaseProps & {\n separator?: React.ReactNode;\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />);\nBreadcrumb.displayName = 'Breadcrumb';\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<'ol'> & BreadcrumbListBaseProps\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n 'text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',\n className,\n )}\n {...props}\n />\n));\nBreadcrumbList.displayName = 'BreadcrumbList';\n\nconst BreadcrumbItem = React.forwardRef<HTMLLIElement, React.ComponentPropsWithoutRef<'li'> & BreadcrumbItemBaseProps>(\n ({ className, ...props }, ref) => (\n <li ref={ref} className={cn('inline-flex items-center gap-1.5', className)} {...props} />\n ),\n);\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<'a'> & BreadcrumbLinkBaseProps\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a';\n\n return <Comp ref={ref} className={cn('hover:text-foreground transition-colors', className)} {...props} />;\n});\nBreadcrumbLink.displayName = 'BreadcrumbLink';\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<'span'> & BreadcrumbPageBaseProps\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n));\nBreadcrumbPage.displayName = 'BreadcrumbPage';\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<'li'> & BreadcrumbSeparatorBaseProps) => (\n <li role=\"presentation\" aria-hidden=\"true\" className={cn('[&>svg]:h-3.5 [&>svg]:w-3.5', className)} {...props}>\n {children ?? <ChevronRight />}\n </li>\n);\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator';\n\nconst BreadcrumbEllipsis = ({ className, ...props }: React.ComponentProps<'span'> & BreadcrumbEllipsisBaseProps) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex h-9 w-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n);\nBreadcrumbEllipsis.displayName = 'BreadcrumbElipssis';\n\nexport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n};\nexport type { BreadcrumbBaseProps as BreadcrumbProps };\n"],"mappings":";;;;;;aAgBM,IAAa,EAAM,YAMtB,EAAE,GAAG,KAAS,MAAQ,iBAAA,GAAA,EAAA,KAAC,OAAD;CAAU;CAAK,cAAW;CAAa,GAAI;AAAQ,CAAA,CAAC;AAC7E,EAAW,cAAc;AAEzB,IAAM,IAAiB,EAAM,YAG1B,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,MAAD;CACO;CACL,WAAW,EACT,4FACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAe,cAAc;AAE7B,IAAM,IAAiB,EAAM,YAC1B,EAAE,cAAW,GAAG,KAAS,MACxB,iBAAA,GAAA,EAAA,KAAC,MAAD;CAAS;CAAK,WAAW,EAAG,oCAAoC,CAAS;CAAG,GAAI;AAAQ,CAAA,CAE5F;AACA,EAAe,cAAc;AAE7B,IAAM,IAAiB,EAAM,YAG1B,EAAE,YAAS,cAAW,GAAG,KAAS,MAG5B,iBAAA,GAAA,EAAA,KAFM,IAAU,IAAO,KAEvB;CAAW;CAAK,WAAW,EAAG,2CAA2C,CAAS;CAAG,GAAI;AAAQ,CAAA,CACzG;AACD,EAAe,cAAc;AAE7B,IAAM,IAAiB,EAAM,YAG1B,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,QAAD;CACO;CACL,MAAK;CACL,iBAAc;CACd,gBAAa;CACb,WAAW,EAAG,+BAA+B,CAAS;CACtD,GAAI;AACL,CAAA,CACF;AACD,EAAe,cAAc;AAE7B,IAAM,KAAuB,EAC3B,aACA,cACA,GAAG,QAEH,iBAAA,GAAA,EAAA,KAAC,MAAD;CAAI,MAAK;CAAe,eAAY;CAAO,WAAW,EAAG,+BAA+B,CAAS;CAAG,GAAI;WACrG,KAAY,iBAAA,GAAA,EAAA,KAAC,GAAD,CAAe,CAAA;AAC1B,CAAA;AAEN,EAAoB,cAAc;AAElC,IAAM,KAAsB,EAAE,cAAW,GAAG,QAC1C,iBAAA,GAAA,EAAA,MAAC,QAAD;CACE,MAAK;CACL,eAAY;CACZ,WAAW,EAAG,4CAA4C,CAAS;CACnE,GAAI;WAJN,CAME,iBAAA,GAAA,EAAA,KAAC,GAAD,EAAgB,WAAU,UAAW,CAAA,GACrC,iBAAA,GAAA,EAAA,KAAC,QAAD;EAAM,WAAU;YAAU;CAAU,CAAA,CAChC;;AAER,EAAmB,cAAc"}
1
+ {"version":3,"file":"breadcrumb.mjs","names":[],"sources":["../packages/ui-web/src/breadcrumb.tsx"],"sourcesContent":["import { Slot } from 'radix-ui';\nimport * as React from 'react';\n\nimport { ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';\nimport { cn } from './lib/utils';\n\nimport type { BreadcrumbBaseProps } from '@gv-tech/ui-core';\n\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" className={cn(className)} {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn('text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm wrap-break-word', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"breadcrumb-item\" className={cn('inline-flex items-center gap-1', className)} {...props} />;\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : 'a';\n\n return (\n <Comp data-slot=\"breadcrumb-link\" className={cn('hover:text-foreground transition-colors', className)} {...props} />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRightIcon />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex size-5 items-center justify-center [&>svg]:size-4', className)}\n {...props}\n >\n <MoreHorizontalIcon />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n};\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyBreadcrumbContract: BreadcrumbBaseProps = {} as unknown as React.ComponentProps<typeof Breadcrumb>;\n"],"mappings":";;;;;;AAQA,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;CACxE,OAAO,iBAAA,GAAA,EAAA,KAAC,OAAD;EAAK,cAAW;EAAa,aAAU;EAAa,WAAW,EAAG,CAAS;EAAG,GAAI;CAAQ,CAAA;AACnG;AAEA,SAAS,EAAe,EAAE,cAAW,GAAG,KAAqC;CAC3E,OACE,iBAAA,GAAA,EAAA,KAAC,MAAD;EACE,aAAU;EACV,WAAW,EAAG,qFAAqF,CAAS;EAC5G,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAe,EAAE,cAAW,GAAG,KAAqC;CAC3E,OAAO,iBAAA,GAAA,EAAA,KAAC,MAAD;EAAI,aAAU;EAAkB,WAAW,EAAG,kCAAkC,CAAS;EAAG,GAAI;CAAQ,CAAA;AACjH;AAEA,SAAS,EAAe,EACtB,YACA,cACA,GAAG,KAGF;CAGD,OACE,iBAAA,GAAA,EAAA,KAHW,IAAU,IAAY,KAGjC;EAAM,aAAU;EAAkB,WAAW,EAAG,2CAA2C,CAAS;EAAG,GAAI;CAAQ,CAAA;AAEvH;AAEA,SAAS,EAAe,EAAE,cAAW,GAAG,KAAuC;CAC7E,OACE,iBAAA,GAAA,EAAA,KAAC,QAAD;EACE,aAAU;EACV,MAAK;EACL,iBAAc;EACd,gBAAa;EACb,WAAW,EAAG,+BAA+B,CAAS;EACtD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAoB,EAAE,aAAU,cAAW,GAAG,KAAqC;CAC1F,OACE,iBAAA,GAAA,EAAA,KAAC,MAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,EAAG,oBAAoB,CAAS;EAC3C,GAAI;YAEH,KAAY,iBAAA,GAAA,EAAA,KAAC,GAAD,CAAmB,CAAA;CAC9B,CAAA;AAER;AAEA,SAAS,EAAmB,EAAE,cAAW,GAAG,KAAuC;CACjF,OACE,iBAAA,GAAA,EAAA,MAAC,QAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,EAAG,0DAA0D,CAAS;EACjF,GAAI;YALN,CAOE,iBAAA,GAAA,EAAA,KAAC,GAAD,CAAqB,CAAA,GACrB,iBAAA,GAAA,EAAA,KAAC,QAAD;GAAM,WAAU;aAAU;EAAU,CAAA,CAChC;;AAEV"}
@@ -0,0 +1,2 @@
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./vendor-UfQavLF9.js"),t=require("./utils-D7tt_q-u.js"),n=require("./separator.cjs");var r=e.Jr(),i=e.R(`group/button-group flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-lg [&>[data-slot=select-trigger]:not([class*=w-])]:w-fit [&>input]:flex-1`,{variants:{orientation:{horizontal:`[&>*:not(:first-child)]:rounded-s-none [&>*:not(:first-child)]:border-s-0 [&>*:not(:last-child)]:rounded-e-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-e-lg!`,vertical:`flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!`}},defaultVariants:{orientation:`horizontal`}});function a({className:e,orientation:n,...a}){return(0,r.jsx)(`div`,{role:`group`,"data-slot":`button-group`,"data-orientation":n,className:t.t(i({orientation:n}),e),...a})}function o({className:n,asChild:i=!1,...a}){return(0,r.jsx)(i?e.qr:`div`,{className:t.t(`bg-muted flex items-center gap-2 rounded-lg border px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*=size-])]:size-4`,n),...a})}function s({className:e,orientation:i=`vertical`,...a}){return(0,r.jsx)(n.Separator,{"data-slot":`button-group-separator`,orientation:i,className:t.t(`bg-input relative self-stretch data-[orientation=horizontal]:mx-px data-[orientation=horizontal]:w-auto data-[orientation=vertical]:my-px data-[orientation=vertical]:h-auto`,e),...a})}exports.ButtonGroup=a,exports.ButtonGroupSeparator=s,exports.ButtonGroupText=o,exports.buttonGroupVariants=i;
2
+ //# sourceMappingURL=button-group.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.cjs","names":[],"sources":["../packages/ui-web/src/button-group.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\n\nimport { cn } from './lib/utils';\nimport { Separator } from './separator';\n\nconst buttonGroupVariants = cva(\n 'group/button-group flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-lg [&>[data-slot=select-trigger]:not([class*=w-])]:w-fit [&>input]:flex-1',\n {\n variants: {\n orientation: {\n horizontal:\n '[&>*:not(:first-child)]:rounded-s-none [&>*:not(:first-child)]:border-s-0 [&>*:not(:last-child)]:rounded-e-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-e-lg!',\n vertical:\n 'flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n },\n);\n\nimport type { ButtonGroupBaseProps, ButtonGroupSeparatorBaseProps, ButtonGroupTextBaseProps } from '@gv-tech/ui-core';\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants> & ButtonGroupBaseProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & ButtonGroupTextBaseProps) {\n const Comp = asChild ? Slot.Root : 'div';\n\n return (\n <Comp\n className={cn(\n 'bg-muted flex items-center gap-2 rounded-lg border px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*=size-])]:size-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof Separator> & ButtonGroupSeparatorBaseProps) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n 'bg-input relative self-stretch data-[orientation=horizontal]:mx-px data-[orientation=horizontal]:w-auto data-[orientation=vertical]:my-px data-[orientation=vertical]:h-auto',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };\n"],"mappings":"mMAMM,EAAsB,EAAA,EAC1B,4SACA,CACE,SAAU,CACR,YAAa,CACX,WACE,wKACF,SACE,gLACJ,CACF,EACA,gBAAiB,CACf,YAAa,YACf,CACF,CACF,EAIA,SAAS,EAAY,CACnB,YACA,cACA,GAAG,GAC6F,CAChG,OACE,EAAA,EAAA,KAAC,MAAD,CACE,KAAK,QACL,YAAU,eACV,mBAAkB,EAClB,UAAW,EAAA,EAAG,EAAoB,CAAE,aAAY,CAAC,EAAG,CAAS,EAC7D,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAgB,CACvB,YACA,UAAU,GACV,GAAG,GACsD,CAGzD,OACE,EAAA,EAAA,KAHW,EAAA,EAAA,GAAsB,MAGjC,CACE,UAAW,EAAA,EACT,+IACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAqB,CAC5B,YACA,cAAc,WACd,GAAG,GACsE,CACzE,OACE,EAAA,EAAA,KAAC,EAAA,UAAD,CACE,YAAU,yBACG,cACb,UAAW,EAAA,EACT,+KACA,CACF,EACA,GAAI,CACL,CAAA,CAEL"}
@@ -0,0 +1,2 @@
1
+ export * from './packages/ui-web/src/button-group'
2
+ export {}
@@ -0,0 +1,39 @@
1
+ "use client";
2
+ import { Jr as e, R as t, qr as n } from "./vendor-B6CFfDyk.mjs";
3
+ import { t as r } from "./utils-IYJAOUsw.mjs";
4
+ import { Separator as i } from "./separator.mjs";
5
+ //#region packages/ui-web/src/button-group.tsx
6
+ var a = e(), o = t("group/button-group flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-lg [&>[data-slot=select-trigger]:not([class*=w-])]:w-fit [&>input]:flex-1", {
7
+ variants: { orientation: {
8
+ horizontal: "[&>*:not(:first-child)]:rounded-s-none [&>*:not(:first-child)]:border-s-0 [&>*:not(:last-child)]:rounded-e-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-e-lg!",
9
+ vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!"
10
+ } },
11
+ defaultVariants: { orientation: "horizontal" }
12
+ });
13
+ function s({ className: e, orientation: t, ...n }) {
14
+ return /* @__PURE__ */ (0, a.jsx)("div", {
15
+ role: "group",
16
+ "data-slot": "button-group",
17
+ "data-orientation": t,
18
+ className: r(o({ orientation: t }), e),
19
+ ...n
20
+ });
21
+ }
22
+ function c({ className: e, asChild: t = !1, ...i }) {
23
+ return /* @__PURE__ */ (0, a.jsx)(t ? n : "div", {
24
+ className: r("bg-muted flex items-center gap-2 rounded-lg border px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*=size-])]:size-4", e),
25
+ ...i
26
+ });
27
+ }
28
+ function l({ className: e, orientation: t = "vertical", ...n }) {
29
+ return /* @__PURE__ */ (0, a.jsx)(i, {
30
+ "data-slot": "button-group-separator",
31
+ orientation: t,
32
+ className: r("bg-input relative self-stretch data-[orientation=horizontal]:mx-px data-[orientation=horizontal]:w-auto data-[orientation=vertical]:my-px data-[orientation=vertical]:h-auto", e),
33
+ ...n
34
+ });
35
+ }
36
+ //#endregion
37
+ export { s as ButtonGroup, l as ButtonGroupSeparator, c as ButtonGroupText, o as buttonGroupVariants };
38
+
39
+ //# sourceMappingURL=button-group.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.mjs","names":[],"sources":["../packages/ui-web/src/button-group.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\n\nimport { cn } from './lib/utils';\nimport { Separator } from './separator';\n\nconst buttonGroupVariants = cva(\n 'group/button-group flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-lg [&>[data-slot=select-trigger]:not([class*=w-])]:w-fit [&>input]:flex-1',\n {\n variants: {\n orientation: {\n horizontal:\n '[&>*:not(:first-child)]:rounded-s-none [&>*:not(:first-child)]:border-s-0 [&>*:not(:last-child)]:rounded-e-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-e-lg!',\n vertical:\n 'flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n },\n);\n\nimport type { ButtonGroupBaseProps, ButtonGroupSeparatorBaseProps, ButtonGroupTextBaseProps } from '@gv-tech/ui-core';\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants> & ButtonGroupBaseProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & ButtonGroupTextBaseProps) {\n const Comp = asChild ? Slot.Root : 'div';\n\n return (\n <Comp\n className={cn(\n 'bg-muted flex items-center gap-2 rounded-lg border px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*=size-])]:size-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof Separator> & ButtonGroupSeparatorBaseProps) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n 'bg-input relative self-stretch data-[orientation=horizontal]:mx-px data-[orientation=horizontal]:w-auto data-[orientation=vertical]:my-px data-[orientation=vertical]:h-auto',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };\n"],"mappings":";;;;;aAMM,IAAsB,EAC1B,6SACA;CACE,UAAU,EACR,aAAa;EACX,YACE;EACF,UACE;CACJ,EACF;CACA,iBAAiB,EACf,aAAa,aACf;AACF,CACF;AAIA,SAAS,EAAY,EACnB,cACA,gBACA,GAAG,KAC6F;CAChG,OACE,iBAAA,GAAA,EAAA,KAAC,OAAD;EACE,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,EAAG,EAAoB,EAAE,eAAY,CAAC,GAAG,CAAS;EAC7D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAgB,EACvB,cACA,aAAU,IACV,GAAG,KACsD;CAGzD,OACE,iBAAA,GAAA,EAAA,KAHW,IAAU,IAAY,OAGjC;EACE,WAAW,EACT,gJACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAqB,EAC5B,cACA,iBAAc,YACd,GAAG,KACsE;CACzE,OACE,iBAAA,GAAA,EAAA,KAAC,GAAD;EACE,aAAU;EACG;EACb,WAAW,EACT,gLACA,CACF;EACA,GAAI;CACL,CAAA;AAEL"}
package/dist/button.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(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow hover:bg-primary/90`,destructive:`bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90`,outline:`border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground`,secondary:`bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2`,sm:`h-8 rounded-md px-3 text-xs`,lg:`h-10 rounded-md px-8`,icon:`h-9 w-9`}},defaultVariants:{variant:`default`,size:`default`}}),o=r.forwardRef(({className:e,variant:r,size:o,asChild:s=!1,...c},l)=>(0,i.jsx)(s?t.Dn:`button`,{className:n.t(a({variant:r,size:o,className:e})),ref:l,...c}));o.displayName=`Button`,exports.Button=o,exports.buttonVariants=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(),a=t.R(`group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2`,xs:`h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*=size-])]:size-3`,sm:`h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*=size-])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2`,icon:`size-8`,"icon-xs":`size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*=size-])]:size-3`,"icon-sm":`size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function o({className:e,variant:r=`default`,size:o=`default`,asChild:s=!1,...c}){return(0,i.jsx)(s?t.qr:`button`,{"data-slot":`button`,"data-variant":r,"data-size":o,className:n.t(a({variant:r,size:o,className:e})),...c})}exports.Button=o,exports.buttonVariants=a;
2
2
  //# sourceMappingURL=button.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.cjs","names":[],"sources":["../packages/ui-web/src/button.tsx"],"sourcesContent":["'use client';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport type { ButtonBaseProps } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-md px-3 text-xs',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants>, ButtonBaseProps {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"mappings":"+PAQM,EAAiB,EAAA,GACrB,wSACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,gEACT,YAAa,+EACb,QAAS,2FACT,UAAW,yEACX,MAAO,+CACP,KAAM,iDACR,EACA,KAAM,CACJ,QAAS,gBACT,GAAI,8BACJ,GAAI,uBACJ,KAAM,SACR,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,EAOM,EAAS,EAAM,YAClB,CAAE,YAAW,UAAS,OAAM,UAAU,GAAO,GAAG,GAAS,KAEjD,EAAA,EAAA,KADM,EAAU,EAAA,GAAO,SACvB,CAAM,UAAW,EAAA,EAAG,EAAe,CAAE,UAAS,OAAM,WAAU,CAAC,CAAC,EAAQ,MAAK,GAAI,CAAQ,CAAA,CAEpG,EACA,EAAO,YAAc"}
1
+ {"version":3,"file":"button.cjs","names":[],"sources":["../packages/ui-web/src/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { ButtonBaseProps } from '@gv-tech/ui-core';\n\nconst buttonVariants = cva(\n 'group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/80',\n outline:\n 'border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground',\n ghost:\n 'hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50',\n destructive:\n 'bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2',\n xs: 'h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*=size-])]:size-3',\n sm: 'h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*=size-])]:size-3.5',\n lg: 'h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2',\n icon: 'size-8',\n 'icon-xs':\n 'size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*=size-])]:size-3',\n 'icon-sm': 'size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg',\n 'icon-lg': 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Button({\n className,\n variant = 'default',\n size = 'default',\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot.Root : 'button';\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyButtonContract: ButtonBaseProps = {} as unknown as React.ComponentProps<typeof Button>;\n"],"mappings":"kPAQM,EAAiB,EAAA,EACrB,2lBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,yDACT,QACE,kLACF,UACE,iLACF,MACE,mHACF,YACE,8NACF,KAAM,iDACR,EACA,KAAM,CACJ,QAAS,uFACT,GAAI,8MACJ,GAAI,wNACJ,GAAI,uFACJ,KAAM,SACN,UACE,wHACF,UAAW,qFACX,UAAW,QACb,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,EAEA,SAAS,EAAO,CACd,YACA,UAAU,UACV,OAAO,UACP,UAAU,GACV,GAAG,GAIA,CAGH,OACE,EAAA,EAAA,KAHW,EAAA,EAAA,GAAsB,SAGjC,CACE,YAAU,SACV,eAAc,EACd,YAAW,EACX,UAAW,EAAA,EAAG,EAAe,CAAE,UAAS,OAAM,WAAU,CAAC,CAAC,EAC1D,GAAI,CACL,CAAA,CAEL"}
package/dist/button.mjs CHANGED
@@ -1,41 +1,48 @@
1
1
  "use client";
2
- "use client";
3
- import { Dn as e, Gn as t, vr as n } from "./vendor-ChPUVHXi.mjs";
4
- import { t as r } from "./utils-BsD1_fYL.mjs";
5
- import * as i from "react";
2
+ import { Jr as e, R as t, qr as n } from "./vendor-B6CFfDyk.mjs";
3
+ import { t as r } from "./utils-IYJAOUsw.mjs";
4
+ import "react";
6
5
  //#region packages/ui-web/src/button.tsx
7
- var a = n(), o = t("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", {
6
+ var i = e(), a = t("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4", {
8
7
  variants: {
9
8
  variant: {
10
- default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
11
- destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
12
- outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
13
- secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
14
- ghost: "hover:bg-accent hover:text-accent-foreground",
9
+ default: "bg-primary text-primary-foreground hover:bg-primary/80",
10
+ outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
11
+ secondary: "bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
12
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
13
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
15
14
  link: "text-primary underline-offset-4 hover:underline"
16
15
  },
17
16
  size: {
18
- default: "h-9 px-4 py-2",
19
- sm: "h-8 rounded-md px-3 text-xs",
20
- lg: "h-10 rounded-md px-8",
21
- icon: "h-9 w-9"
17
+ default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2",
18
+ xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*=size-])]:size-3",
19
+ sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*=size-])]:size-3.5",
20
+ lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2",
21
+ icon: "size-8",
22
+ "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*=size-])]:size-3",
23
+ "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
24
+ "icon-lg": "size-9"
22
25
  }
23
26
  },
24
27
  defaultVariants: {
25
28
  variant: "default",
26
29
  size: "default"
27
30
  }
28
- }), s = i.forwardRef(({ className: t, variant: n, size: i, asChild: s = !1, ...c }, l) => /* @__PURE__ */ (0, a.jsx)(s ? e : "button", {
29
- className: r(o({
30
- variant: n,
31
- size: i,
32
- className: t
33
- })),
34
- ref: l,
35
- ...c
36
- }));
37
- s.displayName = "Button";
31
+ });
32
+ function o({ className: e, variant: t = "default", size: o = "default", asChild: s = !1, ...c }) {
33
+ return /* @__PURE__ */ (0, i.jsx)(s ? n : "button", {
34
+ "data-slot": "button",
35
+ "data-variant": t,
36
+ "data-size": o,
37
+ className: r(a({
38
+ variant: t,
39
+ size: o,
40
+ className: e
41
+ })),
42
+ ...c
43
+ });
44
+ }
38
45
  //#endregion
39
- export { s as Button, o as buttonVariants };
46
+ export { o as Button, a as buttonVariants };
40
47
 
41
48
  //# sourceMappingURL=button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.mjs","names":[],"sources":["../packages/ui-web/src/button.tsx"],"sourcesContent":["'use client';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport type { ButtonBaseProps } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-md px-3 text-xs',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants>, ButtonBaseProps {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;;aAQM,IAAiB,EACrB,ySACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aAAa;GACb,SAAS;GACT,WAAW;GACX,OAAO;GACP,MAAM;EACR;EACA,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;EACR;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF,GAOM,IAAS,EAAM,YAClB,EAAE,cAAW,YAAS,SAAM,aAAU,IAAO,GAAG,KAAS,MAEjD,iBAAA,GAAA,EAAA,KADM,IAAU,IAAO,UACvB;CAAM,WAAW,EAAG,EAAe;EAAE;EAAS;EAAM;CAAU,CAAC,CAAC;CAAQ;CAAK,GAAI;AAAQ,CAAA,CAEpG;AACA,EAAO,cAAc"}
1
+ {"version":3,"file":"button.mjs","names":[],"sources":["../packages/ui-web/src/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { ButtonBaseProps } from '@gv-tech/ui-core';\n\nconst buttonVariants = cva(\n 'group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/80',\n outline:\n 'border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground',\n ghost:\n 'hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50',\n destructive:\n 'bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2',\n xs: 'h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*=size-])]:size-3',\n sm: 'h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*=size-])]:size-3.5',\n lg: 'h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2',\n icon: 'size-8',\n 'icon-xs':\n 'size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*=size-])]:size-3',\n 'icon-sm': 'size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg',\n 'icon-lg': 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Button({\n className,\n variant = 'default',\n size = 'default',\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot.Root : 'button';\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyButtonContract: ButtonBaseProps = {} as unknown as React.ComponentProps<typeof Button>;\n"],"mappings":";;;;;aAQM,IAAiB,EACrB,4lBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;GACF,WACE;GACF,OACE;GACF,aACE;GACF,MAAM;EACR;EACA,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WACE;GACF,WAAW;GACX,WAAW;EACb;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;AAEA,SAAS,EAAO,EACd,cACA,aAAU,WACV,UAAO,WACP,aAAU,IACV,GAAG,KAIA;CAGH,OACE,iBAAA,GAAA,EAAA,KAHW,IAAU,IAAY,UAGjC;EACE,aAAU;EACV,gBAAc;EACd,aAAW;EACX,WAAW,EAAG,EAAe;GAAE;GAAS;GAAM;EAAU,CAAC,CAAC;EAC1D,GAAI;CACL,CAAA;AAEL"}
package/dist/calendar.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"),r=require("./button.cjs");let i=require("react");i=e.r(i);var a=t.vr();function o({className:e,classNames:i,showOutsideDays:o=!0,captionLayout:c=`label`,buttonVariant:l=`ghost`,formatters:u,components:d,...f}){let p=t.Sn();return(0,a.jsx)(t.xn,{showOutsideDays:o,className:n.t(`bg-background group/calendar p-3 [--cell-size:2.5rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,`relative`,e),captionLayout:c,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...u},classNames:{root:n.t(`w-fit`,p.root),months:n.t(`relative flex flex-col gap-4 md:flex-row`,p.months),month:n.t(`flex w-full flex-col gap-4`,p.month),nav:n.t(`absolute inset-x-0 top-2 flex items-center justify-between pointer-events-none px-2`,p.nav),button_previous:n.t(r.buttonVariants({variant:l}),`h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto`,p.button_previous),button_next:n.t(r.buttonVariants({variant:l}),`h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto`,p.button_next),month_caption:n.t(`flex h-[--cell-size] w-full items-center justify-center text-sm font-medium`,p.month_caption),dropdowns:n.t(`flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium`,p.dropdowns),dropdown_root:n.t(`has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border`,p.dropdown_root),dropdown:n.t(`bg-popover absolute inset-0 opacity-0`,p.dropdown),caption_label:n.t(`select-none font-medium`,c===`label`?`text-sm`:`[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5`,p.caption_label),table:`w-full border-collapse grow`,weekdays:n.t(`flex`,p.weekdays),weekday:n.t(`text-muted-foreground pt-1 flex-1 select-none rounded-md text-[0.8rem] font-normal uppercase`,p.weekday),week:n.t(`flex w-full mt-2`,p.week),week_number_header:n.t(`w-[--cell-size] select-none`,p.week_number_header),week_number:n.t(`text-muted-foreground select-none text-[0.8rem]`,p.week_number),day:n.t(`group/day relative flex aspect-square h-10 w-10 select-none items-center justify-center p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md`,p.day),range_start:n.t(`bg-accent rounded-l-md`,p.range_start),range_middle:n.t(`rounded-none`,p.range_middle),range_end:n.t(`bg-accent rounded-r-md`,p.range_end),today:n.t(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,p.today),outside:n.t(`text-muted-foreground aria-selected:text-muted-foreground`,p.outside),disabled:n.t(`text-muted-foreground opacity-50`,p.disabled),hidden:n.t(`invisible`,p.hidden),...i},components:{Root:({className:e,rootRef:t,...r})=>(0,a.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:n.t(e),...r}),Chevron:({className:e,orientation:r,...i})=>r===`left`?(0,a.jsx)(t.ir,{className:n.t(`size-4`,e),...i}):r===`right`?(0,a.jsx)(t.rr,{className:n.t(`size-4`,e),...i}):(0,a.jsx)(t.ar,{className:n.t(`size-4`,e),...i}),DayButton:s,WeekNumber:({children:e,...t})=>(0,a.jsx)(`td`,{...t,children:(0,a.jsx)(`div`,{className:`flex size-[--cell-size] items-center justify-center text-center`,children:e})}),...d},...f})}function s({className:e,day:o,modifiers:s,...c}){let l=t.Sn(),u=i.useRef(null);return i.useEffect(()=>{s.focused&&u.current?.focus()},[s.focused]),(0,a.jsx)(r.Button,{ref:u,variant:`ghost`,size:`icon`,"data-day":o.date.toLocaleDateString(),"data-selected-single":s.selected&&!s.range_start&&!s.range_end&&!s.range_middle,"data-range-start":s.range_start,"data-range-end":s.range_end,"data-range-middle":s.range_middle,className:n.t(`data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-full w-full min-w-[--cell-size] items-center justify-center leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md [&>span]:text-xs [&>span]:opacity-70`,l.day,e),...c})}exports.Calendar=o,exports.CalendarDayButton=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"),r=require("./button.cjs");let i=require("react");i=e.r(i);var a=t.Jr();function o({className:e,classNames:i,showOutsideDays:o=!0,captionLayout:c=`label`,buttonVariant:l=`ghost`,locale:u,formatters:d,components:f,...p}){let m=t.L();return(0,a.jsx)(t.I,{showOutsideDays:o,className:n.t(`group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:c,locale:u,formatters:{formatMonthDropdown:e=>e.toLocaleString(u?.code,{month:`short`}),...d},classNames:{root:n.t(`w-fit`,m.root),months:n.t(`relative flex flex-col gap-4 md:flex-row`,m.months),month:n.t(`flex w-full flex-col gap-4`,m.month),nav:n.t(`absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1`,m.nav),button_previous:n.t(r.buttonVariants({variant:l}),`size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,m.button_previous),button_next:n.t(r.buttonVariants({variant:l}),`size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,m.button_next),month_caption:n.t(`flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)`,m.month_caption),dropdowns:n.t(`flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium`,m.dropdowns),dropdown_root:n.t(`relative rounded-(--cell-radius)`,m.dropdown_root),dropdown:n.t(`absolute inset-0 bg-popover opacity-0`,m.dropdown),caption_label:n.t(`font-medium select-none`,c===`label`?`text-sm`:`flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground`,m.caption_label),weekdays:n.t(`flex`,m.weekdays),weekday:n.t(`flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none`,m.weekday),week:n.t(`mt-2 flex w-full`,m.week),week_number_header:n.t(`w-(--cell-size) select-none`,m.week_number_header),week_number:n.t(`text-[0.8rem] text-muted-foreground select-none`,m.week_number),day:n.t(`group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-e-(--cell-radius)`,p.showWeekNumber?`[&:nth-child(2)[data-selected=true]_button]:rounded-s-(--cell-radius)`:`[&:first-child[data-selected=true]_button]:rounded-s-(--cell-radius)`,m.day),range_start:n.t(`relative isolate z-0 rounded-s-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:end-0 after:w-4 after:bg-muted`,m.range_start),range_middle:n.t(`rounded-none`,m.range_middle),range_end:n.t(`relative isolate z-0 rounded-e-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:start-0 after:w-4 after:bg-muted`,m.range_end),today:n.t(`rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none`,m.today),outside:n.t(`text-muted-foreground aria-selected:text-muted-foreground`,m.outside),disabled:n.t(`text-muted-foreground opacity-50`,m.disabled),hidden:n.t(`invisible`,m.hidden),...i},components:{Root:({className:e,rootRef:t,...r})=>(0,a.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:n.t(e),...r}),Chevron:({className:e,orientation:r,...i})=>r===`left`?(0,a.jsx)(t.nt,{className:n.t(`size-4`,e),...i}):r===`right`?(0,a.jsx)(t.tt,{className:n.t(`size-4`,e),...i}):(0,a.jsx)(t.rt,{className:n.t(`size-4`,e),...i}),DayButton:({...e})=>(0,a.jsx)(s,{locale:u,...e}),WeekNumber:({children:e,...t})=>(0,a.jsx)(`td`,{...t,children:(0,a.jsx)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})}),...f},...p})}function s({className:e,day:o,modifiers:s,locale:c,...l}){let u=t.L(),d=i.useRef(null);return i.useEffect(()=>{s.focused&&d.current?.focus()},[s.focused]),(0,a.jsx)(r.Button,{ref:d,variant:`ghost`,size:`icon`,"data-day":o.date.toLocaleDateString(c?.code),"data-selected-single":s.selected&&!s.range_start&&!s.range_end&&!s.range_middle,"data-range-start":s.range_start,"data-range-end":s.range_end,"data-range-middle":s.range_middle,className:n.t(`group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70`,u.day,e),...l})}exports.Calendar=o,exports.CalendarDayButton=s;
2
2
  //# sourceMappingURL=calendar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.cjs","names":[],"sources":["../packages/ui-web/src/calendar.tsx"],"sourcesContent":["'use client';\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { CalendarBaseProps } from '@gv-tech/ui-core';\nimport { Button, buttonVariants } from './button';\nimport { cn } from './lib/utils';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> &\n CalendarBaseProps & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n }) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3 [--cell-size:2.5rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n 'relative',\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn(\n 'absolute inset-x-0 top-2 flex items-center justify-between pointer-events-none px-2',\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-[--cell-size] w-full items-center justify-center text-sm font-medium',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('bg-popover absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label'\n ? 'text-sm'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse grow',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground pt-1 flex-1 select-none rounded-md text-[0.8rem] font-normal uppercase',\n defaultClassNames.weekday,\n ),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('w-[--cell-size] select-none', defaultClassNames.week_number_header),\n week_number: cn('text-muted-foreground select-none text-[0.8rem]', defaultClassNames.week_number),\n day: cn(\n 'group/day relative flex aspect-square h-10 w-10 select-none items-center justify-center p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day,\n ),\n range_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(\n 'bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none',\n defaultClassNames.today,\n ),\n outside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n }\n\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-[--cell-size] items-center justify-center text-center\">{children}</div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) {\n ref.current?.focus();\n }\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-full w-full min-w-[--cell-size] items-center justify-center leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md [&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\nexport type { CalendarBaseProps as CalendarProps };\n"],"mappings":"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"}
1
+ {"version":3,"file":"calendar.cjs","names":[],"sources":["../packages/ui-web/src/calendar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { DayPicker, getDefaultClassNames, type DayButton, type Locale } from 'react-day-picker';\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport { Button, buttonVariants } from './button';\nimport { cn } from './lib/utils';\n\nimport type { CalendarBaseProps } from '@gv-tech/ui-core';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n locale,\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n locale={locale}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString(locale?.code, { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn('absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn('relative rounded-(--cell-radius)', defaultClassNames.dropdown_root),\n dropdown: cn('absolute inset-0 bg-popover opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'font-medium select-none',\n captionLayout === 'label'\n ? 'text-sm'\n : 'flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground',\n defaultClassNames.caption_label,\n ),\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none',\n defaultClassNames.weekday,\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn('w-(--cell-size) select-none', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] text-muted-foreground select-none', defaultClassNames.week_number),\n day: cn(\n 'group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-e-(--cell-radius)',\n props.showWeekNumber\n ? '[&:nth-child(2)[data-selected=true]_button]:rounded-s-(--cell-radius)'\n : '[&:first-child[data-selected=true]_button]:rounded-s-(--cell-radius)',\n defaultClassNames.day,\n ),\n range_start: cn(\n 'relative isolate z-0 rounded-s-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:end-0 after:w-4 after:bg-muted',\n defaultClassNames.range_start,\n ),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn(\n 'relative isolate z-0 rounded-e-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:start-0 after:w-4 after:bg-muted',\n defaultClassNames.range_end,\n ),\n today: cn(\n 'rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none',\n defaultClassNames.today,\n ),\n outside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n }\n\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n },\n DayButton: ({ ...props }) => <CalendarDayButton locale={locale} {...props} />,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n locale,\n ...props\n}: React.ComponentProps<typeof DayButton> & { locale?: Partial<Locale> }) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) {\n ref.current?.focus();\n }\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString(locale?.code)}\n data-selected-single={\n modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyCalendarContract: CalendarBaseProps = {} as unknown as React.ComponentProps<typeof Calendar>;\n"],"mappings":"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"}
package/dist/calendar.mjs CHANGED
@@ -1,47 +1,47 @@
1
1
  "use client";
2
2
  "use client";
3
- import { Sn as e, ar as t, ir as n, rr as r, vr as i, xn as a } from "./vendor-ChPUVHXi.mjs";
4
- import { t as o } from "./utils-BsD1_fYL.mjs";
3
+ import { I as e, Jr as t, L as n, nt as r, rt as i, tt as a } from "./vendor-B6CFfDyk.mjs";
4
+ import { t as o } from "./utils-IYJAOUsw.mjs";
5
5
  import { Button as s, buttonVariants as c } from "./button.mjs";
6
6
  import * as l from "react";
7
7
  //#region packages/ui-web/src/calendar.tsx
8
- var u = i();
9
- function d({ className: i, classNames: s, showOutsideDays: l = !0, captionLayout: d = "label", buttonVariant: p = "ghost", formatters: m, components: h, ...g }) {
10
- let _ = e();
11
- return /* @__PURE__ */ (0, u.jsx)(a, {
8
+ var u = t();
9
+ function d({ className: t, classNames: s, showOutsideDays: l = !0, captionLayout: d = "label", buttonVariant: p = "ghost", locale: m, formatters: h, components: g, ..._ }) {
10
+ let v = n();
11
+ return /* @__PURE__ */ (0, u.jsx)(e, {
12
12
  showOutsideDays: l,
13
- className: o("bg-background group/calendar p-3 [--cell-size:2.5rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, "relative", i),
13
+ className: o("group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, t),
14
14
  captionLayout: d,
15
+ locale: m,
15
16
  formatters: {
16
- formatMonthDropdown: (e) => e.toLocaleString("default", { month: "short" }),
17
- ...m
17
+ formatMonthDropdown: (e) => e.toLocaleString(m?.code, { month: "short" }),
18
+ ...h
18
19
  },
19
20
  classNames: {
20
- root: o("w-fit", _.root),
21
- months: o("relative flex flex-col gap-4 md:flex-row", _.months),
22
- month: o("flex w-full flex-col gap-4", _.month),
23
- nav: o("absolute inset-x-0 top-2 flex items-center justify-between pointer-events-none px-2", _.nav),
24
- button_previous: o(c({ variant: p }), "h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto", _.button_previous),
25
- button_next: o(c({ variant: p }), "h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto", _.button_next),
26
- month_caption: o("flex h-[--cell-size] w-full items-center justify-center text-sm font-medium", _.month_caption),
27
- dropdowns: o("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium", _.dropdowns),
28
- dropdown_root: o("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border", _.dropdown_root),
29
- dropdown: o("bg-popover absolute inset-0 opacity-0", _.dropdown),
30
- caption_label: o("select-none font-medium", d === "label" ? "text-sm" : "[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5", _.caption_label),
31
- table: "w-full border-collapse grow",
32
- weekdays: o("flex", _.weekdays),
33
- weekday: o("text-muted-foreground pt-1 flex-1 select-none rounded-md text-[0.8rem] font-normal uppercase", _.weekday),
34
- week: o("flex w-full mt-2", _.week),
35
- week_number_header: o("w-[--cell-size] select-none", _.week_number_header),
36
- week_number: o("text-muted-foreground select-none text-[0.8rem]", _.week_number),
37
- day: o("group/day relative flex aspect-square h-10 w-10 select-none items-center justify-center p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md", _.day),
38
- range_start: o("bg-accent rounded-l-md", _.range_start),
39
- range_middle: o("rounded-none", _.range_middle),
40
- range_end: o("bg-accent rounded-r-md", _.range_end),
41
- today: o("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", _.today),
42
- outside: o("text-muted-foreground aria-selected:text-muted-foreground", _.outside),
43
- disabled: o("text-muted-foreground opacity-50", _.disabled),
44
- hidden: o("invisible", _.hidden),
21
+ root: o("w-fit", v.root),
22
+ months: o("relative flex flex-col gap-4 md:flex-row", v.months),
23
+ month: o("flex w-full flex-col gap-4", v.month),
24
+ nav: o("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1", v.nav),
25
+ button_previous: o(c({ variant: p }), "size-(--cell-size) p-0 select-none aria-disabled:opacity-50", v.button_previous),
26
+ button_next: o(c({ variant: p }), "size-(--cell-size) p-0 select-none aria-disabled:opacity-50", v.button_next),
27
+ month_caption: o("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)", v.month_caption),
28
+ dropdowns: o("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium", v.dropdowns),
29
+ dropdown_root: o("relative rounded-(--cell-radius)", v.dropdown_root),
30
+ dropdown: o("absolute inset-0 bg-popover opacity-0", v.dropdown),
31
+ caption_label: o("font-medium select-none", d === "label" ? "text-sm" : "flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground", v.caption_label),
32
+ weekdays: o("flex", v.weekdays),
33
+ weekday: o("flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none", v.weekday),
34
+ week: o("mt-2 flex w-full", v.week),
35
+ week_number_header: o("w-(--cell-size) select-none", v.week_number_header),
36
+ week_number: o("text-[0.8rem] text-muted-foreground select-none", v.week_number),
37
+ day: o("group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-e-(--cell-radius)", _.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-s-(--cell-radius)" : "[&:first-child[data-selected=true]_button]:rounded-s-(--cell-radius)", v.day),
38
+ range_start: o("relative isolate z-0 rounded-s-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:end-0 after:w-4 after:bg-muted", v.range_start),
39
+ range_middle: o("rounded-none", v.range_middle),
40
+ range_end: o("relative isolate z-0 rounded-e-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:start-0 after:w-4 after:bg-muted", v.range_end),
41
+ today: o("rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none", v.today),
42
+ outside: o("text-muted-foreground aria-selected:text-muted-foreground", v.outside),
43
+ disabled: o("text-muted-foreground opacity-50", v.disabled),
44
+ hidden: o("invisible", v.hidden),
45
45
  ...s
46
46
  },
47
47
  components: {
@@ -51,44 +51,47 @@ function d({ className: i, classNames: s, showOutsideDays: l = !0, captionLayout
51
51
  className: o(e),
52
52
  ...n
53
53
  }),
54
- Chevron: ({ className: e, orientation: i, ...a }) => i === "left" ? /* @__PURE__ */ (0, u.jsx)(n, {
54
+ Chevron: ({ className: e, orientation: t, ...n }) => t === "left" ? /* @__PURE__ */ (0, u.jsx)(r, {
55
55
  className: o("size-4", e),
56
- ...a
57
- }) : i === "right" ? /* @__PURE__ */ (0, u.jsx)(r, {
56
+ ...n
57
+ }) : t === "right" ? /* @__PURE__ */ (0, u.jsx)(a, {
58
58
  className: o("size-4", e),
59
- ...a
60
- }) : /* @__PURE__ */ (0, u.jsx)(t, {
59
+ ...n
60
+ }) : /* @__PURE__ */ (0, u.jsx)(i, {
61
61
  className: o("size-4", e),
62
- ...a
62
+ ...n
63
+ }),
64
+ DayButton: ({ ...e }) => /* @__PURE__ */ (0, u.jsx)(f, {
65
+ locale: m,
66
+ ...e
63
67
  }),
64
- DayButton: f,
65
68
  WeekNumber: ({ children: e, ...t }) => /* @__PURE__ */ (0, u.jsx)("td", {
66
69
  ...t,
67
70
  children: /* @__PURE__ */ (0, u.jsx)("div", {
68
- className: "flex size-[--cell-size] items-center justify-center text-center",
71
+ className: "flex size-(--cell-size) items-center justify-center text-center",
69
72
  children: e
70
73
  })
71
74
  }),
72
- ...h
75
+ ...g
73
76
  },
74
- ...g
77
+ ..._
75
78
  });
76
79
  }
77
- function f({ className: t, day: n, modifiers: r, ...i }) {
78
- let a = e(), c = l.useRef(null);
80
+ function f({ className: e, day: t, modifiers: r, locale: i, ...a }) {
81
+ let c = n(), d = l.useRef(null);
79
82
  return l.useEffect(() => {
80
- r.focused && c.current?.focus();
83
+ r.focused && d.current?.focus();
81
84
  }, [r.focused]), /* @__PURE__ */ (0, u.jsx)(s, {
82
- ref: c,
85
+ ref: d,
83
86
  variant: "ghost",
84
87
  size: "icon",
85
- "data-day": n.date.toLocaleDateString(),
88
+ "data-day": t.date.toLocaleDateString(i?.code),
86
89
  "data-selected-single": r.selected && !r.range_start && !r.range_end && !r.range_middle,
87
90
  "data-range-start": r.range_start,
88
91
  "data-range-end": r.range_end,
89
92
  "data-range-middle": r.range_middle,
90
- className: o("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-full w-full min-w-[--cell-size] items-center justify-center leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md [&>span]:text-xs [&>span]:opacity-70", a.day, t),
91
- ...i
93
+ className: o("group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70", c.day, e),
94
+ ...a
92
95
  });
93
96
  }
94
97
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.mjs","names":[],"sources":["../packages/ui-web/src/calendar.tsx"],"sourcesContent":["'use client';\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { CalendarBaseProps } from '@gv-tech/ui-core';\nimport { Button, buttonVariants } from './button';\nimport { cn } from './lib/utils';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> &\n CalendarBaseProps & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n }) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3 [--cell-size:2.5rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n 'relative',\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn(\n 'absolute inset-x-0 top-2 flex items-center justify-between pointer-events-none px-2',\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-[--cell-size] w-full items-center justify-center text-sm font-medium',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('bg-popover absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label'\n ? 'text-sm'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse grow',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground pt-1 flex-1 select-none rounded-md text-[0.8rem] font-normal uppercase',\n defaultClassNames.weekday,\n ),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('w-[--cell-size] select-none', defaultClassNames.week_number_header),\n week_number: cn('text-muted-foreground select-none text-[0.8rem]', defaultClassNames.week_number),\n day: cn(\n 'group/day relative flex aspect-square h-10 w-10 select-none items-center justify-center p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day,\n ),\n range_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(\n 'bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none',\n defaultClassNames.today,\n ),\n outside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n }\n\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-[--cell-size] items-center justify-center text-center\">{children}</div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) {\n ref.current?.focus();\n }\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-full w-full min-w-[--cell-size] items-center justify-center leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md [&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\nexport type { CalendarBaseProps as CalendarProps };\n"],"mappings":"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"}
1
+ {"version":3,"file":"calendar.mjs","names":[],"sources":["../packages/ui-web/src/calendar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { DayPicker, getDefaultClassNames, type DayButton, type Locale } from 'react-day-picker';\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport { Button, buttonVariants } from './button';\nimport { cn } from './lib/utils';\n\nimport type { CalendarBaseProps } from '@gv-tech/ui-core';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n locale,\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n locale={locale}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString(locale?.code, { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn('absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn('relative rounded-(--cell-radius)', defaultClassNames.dropdown_root),\n dropdown: cn('absolute inset-0 bg-popover opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'font-medium select-none',\n captionLayout === 'label'\n ? 'text-sm'\n : 'flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground',\n defaultClassNames.caption_label,\n ),\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none',\n defaultClassNames.weekday,\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn('w-(--cell-size) select-none', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] text-muted-foreground select-none', defaultClassNames.week_number),\n day: cn(\n 'group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-e-(--cell-radius)',\n props.showWeekNumber\n ? '[&:nth-child(2)[data-selected=true]_button]:rounded-s-(--cell-radius)'\n : '[&:first-child[data-selected=true]_button]:rounded-s-(--cell-radius)',\n defaultClassNames.day,\n ),\n range_start: cn(\n 'relative isolate z-0 rounded-s-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:end-0 after:w-4 after:bg-muted',\n defaultClassNames.range_start,\n ),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn(\n 'relative isolate z-0 rounded-e-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:start-0 after:w-4 after:bg-muted',\n defaultClassNames.range_end,\n ),\n today: cn(\n 'rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none',\n defaultClassNames.today,\n ),\n outside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n }\n\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n },\n DayButton: ({ ...props }) => <CalendarDayButton locale={locale} {...props} />,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n locale,\n ...props\n}: React.ComponentProps<typeof DayButton> & { locale?: Partial<Locale> }) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) {\n ref.current?.focus();\n }\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString(locale?.code)}\n data-selected-single={\n modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyCalendarContract: CalendarBaseProps = {} as unknown as React.ComponentProps<typeof Calendar>;\n"],"mappings":"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"}
package/dist/card.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`,{ref:r,className:n.t(`bg-card text-card-foreground rounded-xl border shadow`,e),...t}));a.displayName=`Card`;var o=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`div`,{ref:r,className:n.t(`flex flex-col space-y-1.5 p-6`,e),...t}));o.displayName=`CardHeader`;var s=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`div`,{ref:r,className:n.t(`leading-none font-semibold tracking-tight`,e),...t}));s.displayName=`CardTitle`;var c=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`div`,{ref:r,className:n.t(`text-muted-foreground text-sm`,e),...t}));c.displayName=`CardDescription`;var l=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`div`,{ref:r,className:n.t(`p-6 pt-0`,e),...t}));l.displayName=`CardContent`;var u=r.forwardRef(({className:e,...t},r)=>(0,i.jsx)(`div`,{ref:r,className:n.t(`flex items-center p-6 pt-0`,e),...t}));u.displayName=`CardFooter`,exports.Card=a,exports.CardContent=l,exports.CardDescription=c,exports.CardFooter=u,exports.CardHeader=o,exports.CardTitle=s;
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,size:t=`default`,...r}){return(0,i.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:n.t(`group/card bg-card text-card-foreground ring-foreground/10 flex flex-col gap-4 overflow-hidden rounded-xl py-4 text-sm ring-1 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl`,e),...r})}function o({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`card-header`,className:n.t(`group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3`,e),...t})}function s({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`card-title`,className:n.t(`text-base leading-snug font-medium group-data-[size=sm]/card:text-sm`,e),...t})}function c({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`card-description`,className:n.t(`text-muted-foreground text-sm`,e),...t})}function l({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`card-action`,className:n.t(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function u({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`card-content`,className:n.t(`px-4 group-data-[size=sm]/card:px-3`,e),...t})}function d({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`card-footer`,className:n.t(`bg-muted/50 flex items-center rounded-b-xl border-t p-4 group-data-[size=sm]/card:p-3`,e),...t})}exports.Card=a,exports.CardAction=l,exports.CardContent=u,exports.CardDescription=c,exports.CardFooter=d,exports.CardHeader=o,exports.CardTitle=s;
2
2
  //# sourceMappingURL=card.cjs.map