@gv-tech/ui-web 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 (468) hide show
  1. package/dist/accordion-Dd8Hrexd.mjs +244 -0
  2. package/dist/accordion-DdSOiVyo.js +1 -0
  3. package/dist/accordion.cjs +1 -1
  4. package/dist/accordion.d.ts +5 -7
  5. package/dist/accordion.d.ts.map +1 -1
  6. package/dist/accordion.mjs +1 -2
  7. package/dist/alert-dialog-B7zX3gJX.js +7 -0
  8. package/dist/alert-dialog-BQoG5g_w.mjs +213 -0
  9. package/dist/alert-dialog.cjs +1 -1
  10. package/dist/alert-dialog.d.ts +17 -21
  11. package/dist/alert-dialog.d.ts.map +1 -1
  12. package/dist/alert-dialog.mjs +2 -4
  13. package/dist/alert.cjs +1 -1
  14. package/dist/alert.d.ts +8 -8
  15. package/dist/alert.d.ts.map +1 -1
  16. package/dist/alert.mjs +37 -29
  17. package/dist/{aspect-ratio-CFWobEnT.mjs → aspect-ratio-DnChDaBi.mjs} +10 -4
  18. package/dist/{aspect-ratio-D9dApiWv.js → aspect-ratio-QD1ZXP2B.js} +1 -1
  19. package/dist/aspect-ratio.cjs +1 -1
  20. package/dist/aspect-ratio.d.ts +2 -4
  21. package/dist/aspect-ratio.d.ts.map +1 -1
  22. package/dist/aspect-ratio.mjs +1 -1
  23. package/dist/avatar-C4onD8-4.mjs +127 -0
  24. package/dist/avatar-ki_M47qG.js +1 -0
  25. package/dist/avatar.cjs +1 -1
  26. package/dist/avatar.d.ts +10 -7
  27. package/dist/avatar.d.ts.map +1 -1
  28. package/dist/avatar.mjs +2 -3
  29. package/dist/badge.cjs +1 -1
  30. package/dist/badge.d.ts +4 -5
  31. package/dist/badge.d.ts.map +1 -1
  32. package/dist/badge.mjs +17 -13
  33. package/dist/breadcrumb.cjs +1 -1
  34. package/dist/breadcrumb.d.ts +9 -17
  35. package/dist/breadcrumb.d.ts.map +1 -1
  36. package/dist/breadcrumb.mjs +67 -58
  37. package/dist/button-group.cjs +1 -0
  38. package/dist/button-group.d.ts +11 -0
  39. package/dist/button-group.d.ts.map +1 -0
  40. package/dist/button-group.mjs +39 -0
  41. package/dist/button.cjs +1 -1
  42. package/dist/button.d.ts +3 -5
  43. package/dist/button.d.ts.map +1 -1
  44. package/dist/button.mjs +33 -26
  45. package/dist/calendar-D9sapvfY.js +1 -0
  46. package/dist/{calendar-DtFx4qdT.mjs → calendar-Dg6VGycy.mjs} +631 -625
  47. package/dist/calendar.cjs +1 -1
  48. package/dist/calendar.d.ts +5 -5
  49. package/dist/calendar.d.ts.map +1 -1
  50. package/dist/calendar.mjs +1 -2
  51. package/dist/card.cjs +1 -1
  52. package/dist/card.d.ts +10 -10
  53. package/dist/card.d.ts.map +1 -1
  54. package/dist/card.mjs +53 -40
  55. package/dist/carousel-6oFHLN7R.js +1 -0
  56. package/dist/{carousel-PQJ97GjQ.mjs → carousel-DbDoNdqJ.mjs} +54 -59
  57. package/dist/carousel.cjs +1 -1
  58. package/dist/carousel.d.ts +18 -13
  59. package/dist/carousel.d.ts.map +1 -1
  60. package/dist/carousel.mjs +2 -4
  61. package/dist/chart.cjs +3 -3
  62. package/dist/chart.d.ts +35 -7
  63. package/dist/chart.d.ts.map +1 -1
  64. package/dist/chart.mjs +64 -71
  65. package/dist/checkbox-BLgY82mB.js +1 -0
  66. package/dist/{checkbox-BOmSuATv.mjs → checkbox-Bts_zfqd.mjs} +32 -29
  67. package/dist/checkbox.cjs +1 -1
  68. package/dist/checkbox.d.ts +2 -5
  69. package/dist/checkbox.d.ts.map +1 -1
  70. package/dist/checkbox.mjs +1 -2
  71. package/dist/collapsible.cjs +1 -1
  72. package/dist/collapsible.d.ts +4 -6
  73. package/dist/collapsible.d.ts.map +1 -1
  74. package/dist/collapsible.mjs +21 -3
  75. package/dist/combobox-6qNx9Wbb.js +4 -0
  76. package/dist/combobox-yDMqxM_J.mjs +5522 -0
  77. package/dist/combobox.cjs +1 -0
  78. package/dist/combobox.d.ts +21 -0
  79. package/dist/combobox.d.ts.map +1 -0
  80. package/dist/combobox.mjs +4 -0
  81. package/dist/command-C6wJ5giF.mjs +576 -0
  82. package/dist/command-DCrPL1iW.js +1 -0
  83. package/dist/command.cjs +1 -1
  84. package/dist/command.d.ts +16 -80
  85. package/dist/command.d.ts.map +1 -1
  86. package/dist/command.mjs +1 -2
  87. package/dist/context-menu-CydUpD4W.mjs +349 -0
  88. package/dist/context-menu-DQ7XuuG5.js +1 -0
  89. package/dist/context-menu.cjs +1 -1
  90. package/dist/context-menu.d.ts +29 -21
  91. package/dist/context-menu.d.ts.map +1 -1
  92. package/dist/context-menu.mjs +1 -2
  93. package/dist/dialog.cjs +1 -1
  94. package/dist/dialog.d.ts +15 -17
  95. package/dist/dialog.d.ts.map +1 -1
  96. package/dist/dialog.mjs +89 -43
  97. package/dist/direction.cjs +1 -0
  98. package/dist/direction.d.ts +7 -0
  99. package/dist/direction.d.ts.map +1 -0
  100. package/dist/direction.mjs +15 -0
  101. package/dist/dist-1C8JOpVg.js +1 -0
  102. package/dist/{dist-CTaBktQl.mjs → dist-B1OcuinL.mjs} +93 -92
  103. package/dist/dist-BGZDG175.mjs +199 -0
  104. package/dist/dist-BPBwSSyk.mjs +8 -0
  105. package/dist/{dist-BTlmz3JV.js → dist-BPX1UGAz2.js} +1 -1
  106. package/dist/dist-BRsDdVlJ.js +1 -0
  107. package/dist/{dist-_LAgxsbh.mjs → dist-BWwCr-xN.mjs} +10 -9
  108. package/dist/dist-BYdcKuDi.mjs +16 -0
  109. package/dist/{dist-DCKyUINZ.mjs → dist-BlB11V_z.mjs} +1 -1
  110. package/dist/dist-CCXBcfM3.js +1 -0
  111. package/dist/{dist--EFQaGUD.mjs → dist-CDU9vno-.mjs} +4 -4
  112. package/dist/dist-CJolxugc.js +1 -0
  113. package/dist/dist-CQhWBhaI.mjs +91 -0
  114. package/dist/dist-CRLbUj9C.js +1 -0
  115. package/dist/dist-CWElW7UD.js +1 -0
  116. package/dist/{dist-NIAlh3KC.js → dist-CXbzwSnE.js} +1 -1
  117. package/dist/{dist-C5EZ0AD6.mjs → dist-CYj6O95k.mjs} +42 -41
  118. package/dist/{dist-Bjlzl0jN.mjs → dist-Cacc4QIh.mjs} +13 -10
  119. package/dist/dist-ChuP-5Gb.js +1 -0
  120. package/dist/dist-CiM892Rg.js +1 -0
  121. package/dist/{dist-Doq7FY_P.js → dist-CuMQq0hV.js} +1 -1
  122. package/dist/dist-DMnXk8Uo.js +1 -0
  123. package/dist/{dist-CRmJFaEL.mjs → dist-DPBTfUqI.mjs} +18 -17
  124. package/dist/dist-DR0lXVFG.js +1 -0
  125. package/dist/dist-Da7BU5sd.js +5 -0
  126. package/dist/{dist-D_tuvB-W.mjs → dist-Dz3LbuDd.mjs} +8 -9
  127. package/dist/{dist-9gQKRtL7.mjs → dist-GhACpuJb2.mjs} +1 -1
  128. package/dist/dist-o4zlRoDG.js +1 -0
  129. package/dist/{dist-DdVp13bp.mjs → dist-rGeQfsgN.mjs} +1 -1
  130. package/dist/{dist-BQOrag93.mjs → dist-tvb2Wafb.mjs} +22 -21
  131. package/dist/drawer.cjs +1 -1
  132. package/dist/drawer.d.ts +10 -21
  133. package/dist/drawer.d.ts.map +1 -1
  134. package/dist/drawer.mjs +74 -45
  135. package/dist/dropdown-menu-BoJvZ3Fj.js +1 -0
  136. package/dist/dropdown-menu-CriaO1_i.mjs +347 -0
  137. package/dist/dropdown-menu.cjs +1 -1
  138. package/dist/dropdown-menu.d.ts +27 -21
  139. package/dist/dropdown-menu.d.ts.map +1 -1
  140. package/dist/dropdown-menu.mjs +1 -1
  141. package/dist/empty.cjs +1 -0
  142. package/dist/empty.d.ts +13 -0
  143. package/dist/empty.d.ts.map +1 -0
  144. package/dist/empty.mjs +60 -0
  145. package/dist/{es2015-DkZq_IIO.mjs → es2015-BhmbVcui.mjs} +2 -2
  146. package/dist/{es2015-Ca60p53M.js → es2015-D22cM8Q_.js} +1 -1
  147. package/dist/field.cjs +1 -0
  148. package/dist/field.d.ts +18 -0
  149. package/dist/field.d.ts.map +1 -0
  150. package/dist/field.mjs +109 -0
  151. package/dist/floating-ui.react-dom-DgS_bqyY.mjs +1089 -0
  152. package/dist/floating-ui.react-dom-DpCJEf_x.js +1 -0
  153. package/dist/form.cjs +1 -1
  154. package/dist/form.mjs +8 -8
  155. package/dist/hooks/use-mobile.d.ts +2 -0
  156. package/dist/hooks/use-mobile.d.ts.map +1 -0
  157. package/dist/hooks/use-theme.d.ts +16 -0
  158. package/dist/hooks/use-theme.d.ts.map +1 -1
  159. package/dist/{hover-card-BOk3-K0k.mjs → hover-card-CJ-ibpbC.mjs} +53 -33
  160. package/dist/hover-card-CK5SjVLL.js +1 -0
  161. package/dist/hover-card.cjs +1 -1
  162. package/dist/hover-card.d.ts +4 -6
  163. package/dist/hover-card.d.ts.map +1 -1
  164. package/dist/hover-card.mjs +1 -2
  165. package/dist/index.cjs +1 -1
  166. package/dist/index.d.ts +14 -43
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.mjs +66 -54
  169. package/dist/input-group.cjs +1 -0
  170. package/dist/input-group.d.ts +18 -0
  171. package/dist/input-group.d.ts.map +1 -0
  172. package/dist/input-group.mjs +78 -0
  173. package/dist/input-otp-BH_9dVhh.mjs +391 -0
  174. package/dist/input-otp-BibboKMt.js +20 -0
  175. package/dist/input-otp.cjs +1 -0
  176. package/dist/input-otp.d.ts +9 -0
  177. package/dist/input-otp.d.ts.map +1 -0
  178. package/dist/input-otp.mjs +4 -0
  179. package/dist/input.cjs +1 -1
  180. package/dist/input.d.ts +1 -4
  181. package/dist/input.d.ts.map +1 -1
  182. package/dist/input.mjs +11 -11
  183. package/dist/item.cjs +1 -0
  184. package/dist/item.d.ts +25 -0
  185. package/dist/item.d.ts.map +1 -0
  186. package/dist/item.mjs +118 -0
  187. package/dist/kbd.cjs +1 -0
  188. package/dist/kbd.d.ts +5 -0
  189. package/dist/kbd.d.ts.map +1 -0
  190. package/dist/kbd.mjs +20 -0
  191. package/dist/label-BXMSoyyu.js +1 -0
  192. package/dist/label-C8GNfPU0.mjs +25 -0
  193. package/dist/label.cjs +1 -1
  194. package/dist/label.d.ts +2 -5
  195. package/dist/label.d.ts.map +1 -1
  196. package/dist/label.mjs +1 -2
  197. package/dist/menubar-BcyqIJgy.mjs +441 -0
  198. package/dist/menubar-DPxokWFI.js +1 -0
  199. package/dist/menubar.cjs +1 -1
  200. package/dist/menubar.d.ts +25 -19
  201. package/dist/menubar.d.ts.map +1 -1
  202. package/dist/menubar.mjs +1 -1
  203. package/dist/native-select.cjs +1 -0
  204. package/dist/native-select.d.ts +8 -0
  205. package/dist/native-select.d.ts.map +1 -0
  206. package/dist/native-select.mjs +39 -0
  207. package/dist/navigation-menu-2yE2MUu-.js +1 -0
  208. package/dist/navigation-menu-N8gkxEXE.mjs +628 -0
  209. package/dist/navigation-menu.cjs +1 -1
  210. package/dist/navigation-menu.d.ts +11 -11
  211. package/dist/navigation-menu.d.ts.map +1 -1
  212. package/dist/navigation-menu.mjs +1 -2
  213. package/dist/pagination.cjs +1 -1
  214. package/dist/pagination.d.ts +13 -26
  215. package/dist/pagination.d.ts.map +1 -1
  216. package/dist/pagination.mjs +76 -59
  217. package/dist/popover-D1AO-E8p.js +1 -0
  218. package/dist/popover-wQACF3ut.mjs +245 -0
  219. package/dist/popover.cjs +1 -1
  220. package/dist/popover.d.ts +9 -8
  221. package/dist/popover.d.ts.map +1 -1
  222. package/dist/popover.mjs +2 -3
  223. package/dist/{progress-30ehxjKg.mjs → progress-DPWSEWa5.mjs} +19 -14
  224. package/dist/{progress-BqWHea4f.js → progress-ShXZwOfj.js} +2 -2
  225. package/dist/progress.cjs +1 -1
  226. package/dist/progress.d.ts +2 -4
  227. package/dist/progress.d.ts.map +1 -1
  228. package/dist/progress.mjs +1 -1
  229. package/dist/radio-group-CQbZCQmj.mjs +199 -0
  230. package/dist/radio-group-DAEi5vW_.js +1 -0
  231. package/dist/radio-group.cjs +1 -1
  232. package/dist/radio-group.d.ts +3 -8
  233. package/dist/radio-group.d.ts.map +1 -1
  234. package/dist/radio-group.mjs +1 -2
  235. package/dist/resizable-Cv-mKMKP.js +1 -0
  236. package/dist/{resizable-DhOcAmNX.mjs → resizable-DJSE3e5L.mjs} +310 -282
  237. package/dist/resizable.cjs +1 -1
  238. package/dist/resizable.d.ts +6 -7
  239. package/dist/resizable.d.ts.map +1 -1
  240. package/dist/resizable.mjs +1 -1
  241. package/dist/{scroll-area-DJcPs0_v.mjs → scroll-area-8QcqkHnC.mjs} +69 -58
  242. package/dist/scroll-area-Cqqinhxf.js +1 -0
  243. package/dist/scroll-area.cjs +1 -1
  244. package/dist/scroll-area.d.ts +3 -5
  245. package/dist/scroll-area.d.ts.map +1 -1
  246. package/dist/scroll-area.mjs +1 -2
  247. package/dist/search.cjs +1 -1
  248. package/dist/search.d.ts +1 -1
  249. package/dist/search.d.ts.map +1 -1
  250. package/dist/search.mjs +15 -14
  251. package/dist/select-DdUveoSA.js +1 -0
  252. package/dist/{select-D4bxRFq5.mjs → select-yoeH35x2.mjs} +279 -245
  253. package/dist/select.cjs +1 -1
  254. package/dist/select.d.ts +13 -13
  255. package/dist/select.d.ts.map +1 -1
  256. package/dist/select.mjs +1 -1
  257. package/dist/{separator-DZACUutC.mjs → separator-BU1ea5gl.mjs} +14 -10
  258. package/dist/separator-DBjErwHf.js +1 -0
  259. package/dist/separator.cjs +1 -1
  260. package/dist/separator.d.ts +2 -4
  261. package/dist/separator.d.ts.map +1 -1
  262. package/dist/separator.mjs +1 -2
  263. package/dist/sheet.cjs +1 -1
  264. package/dist/sheet.d.ts +13 -26
  265. package/dist/sheet.d.ts.map +1 -1
  266. package/dist/sheet.mjs +84 -54
  267. package/dist/shim-B5sEfNEJ.js +1 -0
  268. package/dist/shim-DX33EwUw.mjs +91 -0
  269. package/dist/sidebar-B-sWccYh.mjs +355 -0
  270. package/dist/sidebar-DIW-1cin.js +1 -0
  271. package/dist/sidebar.cjs +1 -0
  272. package/dist/sidebar.d.ts +45 -0
  273. package/dist/sidebar.d.ts.map +1 -0
  274. package/dist/sidebar.mjs +5 -0
  275. package/dist/skeleton.cjs +1 -1
  276. package/dist/skeleton.d.ts +1 -4
  277. package/dist/skeleton.d.ts.map +1 -1
  278. package/dist/skeleton.mjs +2 -3
  279. package/dist/{slider-DTdrUy_s.mjs → slider-CCPXejUF.mjs} +81 -59
  280. package/dist/slider-w05gD_Ix.js +1 -0
  281. package/dist/slider.cjs +1 -1
  282. package/dist/slider.d.ts +2 -4
  283. package/dist/slider.d.ts.map +1 -1
  284. package/dist/slider.mjs +1 -1
  285. package/dist/sonner.cjs +1 -1
  286. package/dist/sonner.d.ts +1 -5
  287. package/dist/sonner.d.ts.map +1 -1
  288. package/dist/sonner.mjs +23 -16
  289. package/dist/spinner.cjs +1 -0
  290. package/dist/spinner.d.ts +4 -0
  291. package/dist/spinner.d.ts.map +1 -0
  292. package/dist/spinner.mjs +15 -0
  293. package/dist/support-fab.cjs +1 -1
  294. package/dist/support-fab.mjs +1 -1
  295. package/dist/switch-CDBqsWQa.mjs +112 -0
  296. package/dist/switch-X2WBJsUu.js +1 -0
  297. package/dist/switch.cjs +1 -1
  298. package/dist/switch.d.ts +4 -4
  299. package/dist/switch.d.ts.map +1 -1
  300. package/dist/switch.mjs +1 -1
  301. package/dist/table.cjs +1 -1
  302. package/dist/table.d.ts +8 -10
  303. package/dist/table.d.ts.map +1 -1
  304. package/dist/table.mjs +62 -54
  305. package/dist/tabs-DzvgrVzk.js +1 -0
  306. package/dist/tabs-KDeHjVQU.mjs +160 -0
  307. package/dist/tabs.cjs +1 -1
  308. package/dist/tabs.d.ts +10 -8
  309. package/dist/tabs.d.ts.map +1 -1
  310. package/dist/tabs.mjs +2 -2
  311. package/dist/text.d.ts +1 -1
  312. package/dist/textarea.cjs +1 -1
  313. package/dist/textarea.d.ts +1 -4
  314. package/dist/textarea.d.ts.map +1 -1
  315. package/dist/textarea.mjs +10 -10
  316. package/dist/{theme-toggle-Dtze9fyN.js → theme-toggle-C2Y4bIM3.js} +1 -1
  317. package/dist/{theme-toggle-DAHBgdy0.mjs → theme-toggle-clE-HpSS.mjs} +9 -9
  318. package/dist/theme-toggle.cjs +1 -1
  319. package/dist/theme-toggle.mjs +1 -2
  320. package/dist/toast-1keyrzem.js +1 -0
  321. package/dist/{toast-G9LdgDDE.mjs → toast-DVI6jPq5.mjs} +102 -101
  322. package/dist/toast.cjs +1 -1
  323. package/dist/toast.d.ts.map +1 -1
  324. package/dist/toast.mjs +1 -1
  325. package/dist/{toaster-WQJjavlc.mjs → toaster-Czhz-ktg.mjs} +1 -1
  326. package/dist/{toaster-CKD4CKAZ.js → toaster-DfDb2-aI.js} +1 -1
  327. package/dist/toaster.cjs +1 -1
  328. package/dist/toaster.mjs +1 -1
  329. package/dist/toggle-BGkq5XDM.js +1 -0
  330. package/dist/toggle-BfIIdlA6.mjs +58 -0
  331. package/dist/toggle-group-CbqgoPFU.mjs +167 -0
  332. package/dist/toggle-group-D7hR4BT2.js +1 -0
  333. package/dist/toggle-group.cjs +1 -1
  334. package/dist/toggle-group.d.ts +7 -9
  335. package/dist/toggle-group.d.ts.map +1 -1
  336. package/dist/toggle-group.mjs +1 -1
  337. package/dist/toggle.cjs +1 -1
  338. package/dist/toggle.d.ts +6 -5
  339. package/dist/toggle.d.ts.map +1 -1
  340. package/dist/toggle.mjs +2 -19
  341. package/dist/tooltip-CAIbshMk.js +1 -0
  342. package/dist/{tooltip-BHEcM7lO.mjs → tooltip-D_o8Z-Ya.mjs} +106 -90
  343. package/dist/tooltip.cjs +1 -1
  344. package/dist/tooltip.d.ts +5 -10
  345. package/dist/tooltip.d.ts.map +1 -1
  346. package/dist/tooltip.mjs +1 -1
  347. package/package.json +8 -6
  348. package/src/accordion.tsx +58 -51
  349. package/src/alert-dialog.tsx +140 -93
  350. package/src/alert.tsx +44 -33
  351. package/src/aspect-ratio.tsx +10 -4
  352. package/src/avatar.tsx +92 -37
  353. package/src/badge.tsx +24 -14
  354. package/src/breadcrumb.tsx +73 -85
  355. package/src/button-group.tsx +78 -0
  356. package/src/button.tsx +46 -24
  357. package/src/calendar.tsx +52 -40
  358. package/src/card.tsx +67 -42
  359. package/src/carousel.tsx +164 -174
  360. package/src/chart.tsx +206 -232
  361. package/src/checkbox.tsx +17 -17
  362. package/src/collapsible.tsx +16 -10
  363. package/src/combobox.tsx +282 -0
  364. package/src/command.tsx +123 -120
  365. package/src/context-menu.tsx +206 -179
  366. package/src/dialog.tsx +111 -65
  367. package/src/direction.tsx +18 -0
  368. package/src/drawer.tsx +75 -78
  369. package/src/dropdown-menu.tsx +211 -180
  370. package/src/empty.tsx +83 -0
  371. package/src/field.tsx +217 -0
  372. package/src/hooks/use-mobile.ts +19 -0
  373. package/src/hover-card.tsx +33 -27
  374. package/src/index.ts +108 -154
  375. package/src/input-group.tsx +143 -0
  376. package/src/input-otp.tsx +81 -0
  377. package/src/input.tsx +8 -8
  378. package/src/item.tsx +185 -0
  379. package/src/kbd.tsx +21 -0
  380. package/src/label.tsx +17 -14
  381. package/src/menubar.tsx +211 -199
  382. package/src/native-select.tsx +54 -0
  383. package/src/navigation-menu.tsx +115 -110
  384. package/src/pagination.tsx +65 -80
  385. package/src/popover.tsx +53 -41
  386. package/src/progress.tsx +22 -20
  387. package/src/radio-group.tsx +22 -34
  388. package/src/resizable.tsx +34 -49
  389. package/src/scroll-area.tsx +43 -35
  390. package/src/search.tsx +12 -9
  391. package/src/select.tsx +138 -133
  392. package/src/separator.tsx +25 -18
  393. package/src/sheet.tsx +97 -127
  394. package/src/sidebar.tsx +660 -0
  395. package/src/skeleton.tsx +7 -6
  396. package/src/slider.tsx +51 -19
  397. package/src/sonner.tsx +22 -12
  398. package/src/spinner.tsx +10 -0
  399. package/src/support-fab.tsx +1 -1
  400. package/src/switch.tsx +28 -21
  401. package/src/table.tsx +61 -87
  402. package/src/tabs.tsx +75 -56
  403. package/src/textarea.tsx +8 -10
  404. package/src/toast.tsx +5 -0
  405. package/src/toggle-group.tsx +76 -40
  406. package/src/toggle.tsx +35 -15
  407. package/src/tooltip.tsx +41 -43
  408. package/dist/accordion-BTF24dQU.js +0 -1
  409. package/dist/accordion-DHTV2Am8.mjs +0 -221
  410. package/dist/alert-dialog-Bwn2-Uyf.mjs +0 -164
  411. package/dist/alert-dialog-DBMX5E0-.js +0 -7
  412. package/dist/avatar-BI7s8omb.js +0 -1
  413. package/dist/avatar-hzlewncL.mjs +0 -185
  414. package/dist/calendar-ykdYhTj9.js +0 -1
  415. package/dist/carousel-DSmAn1nc.js +0 -1
  416. package/dist/checkbox-dK6DJKeV.js +0 -1
  417. package/dist/command-CDSbHz4C.js +0 -1
  418. package/dist/command-j0rZqZ7B.mjs +0 -531
  419. package/dist/context-menu-BWgLbKLP.js +0 -1
  420. package/dist/context-menu-CWSzssAO.mjs +0 -292
  421. package/dist/dist-B28N93_W.js +0 -1
  422. package/dist/dist-B43Kk7ii.js +0 -1
  423. package/dist/dist-BTPL2C0R.js +0 -1
  424. package/dist/dist-BjEG16aJ.mjs +0 -111
  425. package/dist/dist-BlKAvKHD.js +0 -1
  426. package/dist/dist-C3Z3atn0.mjs +0 -10
  427. package/dist/dist-C4q8IPk4.mjs +0 -28
  428. package/dist/dist-CPglx4om.js +0 -1
  429. package/dist/dist-CV2U2xFR.js +0 -1
  430. package/dist/dist-Cv9YaN1n.mjs +0 -61
  431. package/dist/dist-DAe-fOIM.mjs +0 -25
  432. package/dist/dist-DQAJMTj0.js +0 -1
  433. package/dist/dist-DaCPM8ia.js +0 -1
  434. package/dist/dist-DasmYflz.js +0 -1
  435. package/dist/dist-DneYUKe0.js +0 -1
  436. package/dist/dist-Du2jbEkG.mjs +0 -1282
  437. package/dist/dist-Dw6-GQAn.js +0 -1
  438. package/dist/dist-DwGlbIjj.js +0 -5
  439. package/dist/dist-Dzjlf9ug.js +0 -1
  440. package/dist/dist-GaBUW_Tu.js +0 -1
  441. package/dist/dropdown-menu-Bz5LlLjl.js +0 -1
  442. package/dist/dropdown-menu-Cp1qpOLk.mjs +0 -288
  443. package/dist/hover-card-CyKIuXGH.js +0 -1
  444. package/dist/label-DGuuPl_e.mjs +0 -22
  445. package/dist/label-gVkdll-j.js +0 -1
  446. package/dist/menubar-DNrIQhY5.mjs +0 -410
  447. package/dist/menubar-DkjAo6qJ.js +0 -1
  448. package/dist/navigation-menu-1cmCEi0j.mjs +0 -602
  449. package/dist/navigation-menu-qPt8hpr5.js +0 -1
  450. package/dist/popover-CbM1tqdC.mjs +0 -201
  451. package/dist/popover-DGTgqdKX.js +0 -1
  452. package/dist/radio-group-BGThTiQM.mjs +0 -193
  453. package/dist/radio-group-ClFpAswm.js +0 -1
  454. package/dist/resizable-D09wr7tV.js +0 -1
  455. package/dist/scroll-area-W_aOLOdE.js +0 -1
  456. package/dist/select-BQtkQBiD.js +0 -1
  457. package/dist/separator-BmkhoDge.js +0 -1
  458. package/dist/slider-Bkluwc3b.js +0 -1
  459. package/dist/switch-DENAxyga.js +0 -1
  460. package/dist/switch-DbsdyQVg.mjs +0 -103
  461. package/dist/tabs-C9sMowgZ.mjs +0 -136
  462. package/dist/tabs-DeK-zpy4.js +0 -1
  463. package/dist/toast-BtXY2QTe.js +0 -1
  464. package/dist/toggle-group-B0H9TwdD.mjs +0 -155
  465. package/dist/toggle-group-CAyztsIl.js +0 -1
  466. package/dist/tooltip-CKcMl7tK.js +0 -1
  467. /package/dist/{dist-C_45sBzc.js → dist-C_45sBzc2.js} +0 -0
  468. /package/dist/{dist-DGzGsPqo.mjs → dist-DGzGsPqo2.mjs} +0 -0
@@ -1,123 +1,134 @@
1
- 'use client';
2
-
3
- import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
4
1
  import { cva } from 'class-variance-authority';
5
- import { ChevronDown } from 'lucide-react';
2
+ import { NavigationMenu as NavigationMenuPrimitive } from 'radix-ui';
6
3
  import * as React from 'react';
7
4
 
8
- import {
9
- NavigationMenuBaseProps,
10
- NavigationMenuContentBaseProps,
11
- NavigationMenuIndicatorBaseProps,
12
- NavigationMenuItemBaseProps,
13
- NavigationMenuLinkBaseProps,
14
- NavigationMenuListBaseProps,
15
- NavigationMenuTriggerBaseProps,
16
- NavigationMenuViewportBaseProps,
17
- } from '@gv-tech/ui-core';
5
+ import { ChevronDownIcon } from 'lucide-react';
18
6
  import { cn } from './lib/utils';
19
7
 
20
- const NavigationMenu = React.forwardRef<
21
- React.ElementRef<typeof NavigationMenuPrimitive.Root>,
22
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root> & NavigationMenuBaseProps
23
- >(({ className, children, ...props }, ref) => (
24
- <NavigationMenuPrimitive.Root
25
- ref={ref}
26
- className={cn('relative z-10 flex max-w-max flex-1 items-center justify-center', className)}
27
- {...props}
28
- >
29
- {children}
30
- <NavigationMenuViewport />
31
- </NavigationMenuPrimitive.Root>
32
- ));
33
- NavigationMenu.displayName = NavigationMenuPrimitive.Root?.displayName || 'NavigationMenu';
8
+ import type { NavigationMenuBaseProps } from '@gv-tech/ui-core';
9
+
10
+ function NavigationMenu({
11
+ className,
12
+ children,
13
+ viewport = true,
14
+ ...props
15
+ }: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
16
+ viewport?: boolean;
17
+ }) {
18
+ return (
19
+ <NavigationMenuPrimitive.Root
20
+ data-slot="navigation-menu"
21
+ data-viewport={viewport}
22
+ className={cn('group/navigation-menu relative flex max-w-max flex-1 items-center justify-center', className)}
23
+ {...props}
24
+ >
25
+ {children}
26
+ {viewport && <NavigationMenuViewport />}
27
+ </NavigationMenuPrimitive.Root>
28
+ );
29
+ }
34
30
 
35
- const NavigationMenuList = React.forwardRef<
36
- React.ElementRef<typeof NavigationMenuPrimitive.List>,
37
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List> & NavigationMenuListBaseProps
38
- >(({ className, ...props }, ref) => (
39
- <NavigationMenuPrimitive.List
40
- ref={ref}
41
- className={cn('group flex flex-1 list-none items-center justify-center space-x-1', className)}
42
- {...props}
43
- />
44
- ));
45
- NavigationMenuList.displayName = NavigationMenuPrimitive.List?.displayName || 'NavigationMenuList';
31
+ function NavigationMenuList({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {
32
+ return (
33
+ <NavigationMenuPrimitive.List
34
+ data-slot="navigation-menu-list"
35
+ className={cn('group flex flex-1 list-none items-center justify-center gap-0', className)}
36
+ {...props}
37
+ />
38
+ );
39
+ }
46
40
 
47
- const NavigationMenuItem = NavigationMenuPrimitive.Item;
41
+ function NavigationMenuItem({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {
42
+ return (
43
+ <NavigationMenuPrimitive.Item data-slot="navigation-menu-item" className={cn('relative', className)} {...props} />
44
+ );
45
+ }
48
46
 
49
47
  const navigationMenuTriggerStyle = cva(
50
- 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent',
48
+ 'group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-[state=open]:bg-muted/50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted',
51
49
  );
52
50
 
53
- const NavigationMenuTrigger = React.forwardRef<
54
- React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,
55
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger> & NavigationMenuTriggerBaseProps
56
- >(({ className, children, ...props }, ref) => (
57
- <NavigationMenuPrimitive.Trigger
58
- ref={ref}
59
- className={cn(navigationMenuTriggerStyle(), 'group', className)}
60
- {...props}
61
- >
62
- {children}{' '}
63
- <ChevronDown
64
- className="relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180"
65
- aria-hidden="true"
66
- />
67
- </NavigationMenuPrimitive.Trigger>
68
- ));
69
- NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger?.displayName || 'NavigationMenuTrigger';
51
+ function NavigationMenuTrigger({
52
+ className,
53
+ children,
54
+ ...props
55
+ }: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {
56
+ return (
57
+ <NavigationMenuPrimitive.Trigger
58
+ data-slot="navigation-menu-trigger"
59
+ className={cn(navigationMenuTriggerStyle(), 'group', className)}
60
+ {...props}
61
+ >
62
+ {children}{' '}
63
+ <ChevronDownIcon
64
+ className="relative top-px ms-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-[state=open]/navigation-menu-trigger:rotate-180"
65
+ aria-hidden="true"
66
+ />
67
+ </NavigationMenuPrimitive.Trigger>
68
+ );
69
+ }
70
70
 
71
- const NavigationMenuContent = React.forwardRef<
72
- React.ElementRef<typeof NavigationMenuPrimitive.Content>,
73
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content> & NavigationMenuContentBaseProps
74
- >(({ className, ...props }, ref) => (
75
- <NavigationMenuPrimitive.Content
76
- ref={ref}
77
- className={cn(
78
- 'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full md:absolute md:w-auto',
79
- className,
80
- )}
81
- {...props}
82
- />
83
- ));
84
- NavigationMenuContent.displayName = NavigationMenuPrimitive.Content?.displayName || 'NavigationMenuContent';
71
+ function NavigationMenuContent({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {
72
+ return (
73
+ <NavigationMenuPrimitive.Content
74
+ data-slot="navigation-menu-content"
75
+ className={cn(
76
+ 'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:ring-foreground/10 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 start-0 top-0 w-full p-1 ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:duration-300 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none md:absolute md:w-auto',
77
+ className,
78
+ )}
79
+ {...props}
80
+ />
81
+ );
82
+ }
85
83
 
86
- const NavigationMenuLink = NavigationMenuPrimitive.Link;
84
+ function NavigationMenuViewport({
85
+ className,
86
+ ...props
87
+ }: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {
88
+ return (
89
+ <div className={cn('absolute start-0 top-full isolate z-50 flex justify-center')}>
90
+ <NavigationMenuPrimitive.Viewport
91
+ data-slot="navigation-menu-viewport"
92
+ className={cn(
93
+ 'origin-top-center bg-popover text-popover-foreground ring-foreground/10 data-[state=open]:animate-in data-[state=open]:zoom-in-90 data-[state=closed]:animate-out data-[state=closed]:zoom-out-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-lg shadow ring-1 duration-100 md:w-(--radix-navigation-menu-viewport-width)',
94
+ className,
95
+ )}
96
+ {...props}
97
+ />
98
+ </div>
99
+ );
100
+ }
87
101
 
88
- const NavigationMenuViewport = React.forwardRef<
89
- React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,
90
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport> & NavigationMenuViewportBaseProps
91
- >(({ className, ...props }, ref) => (
92
- <div className={cn('absolute top-full left-0 flex justify-center')}>
93
- <NavigationMenuPrimitive.Viewport
102
+ function NavigationMenuLink({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {
103
+ return (
104
+ <NavigationMenuPrimitive.Link
105
+ data-slot="navigation-menu-link"
94
106
  className={cn(
95
- 'origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]',
107
+ 'hover:bg-muted focus:bg-muted focus-visible:ring-ring/50 data-[state=active]:bg-muted/50 data-[state=active]:hover:bg-muted data-[state=active]:focus:bg-muted flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none focus-visible:ring-3 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md [&_svg:not([class*=size-])]:size-4',
96
108
  className,
97
109
  )}
98
- ref={ref}
99
110
  {...props}
100
111
  />
101
- </div>
102
- ));
103
- NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport?.displayName || 'NavigationMenuViewport';
112
+ );
113
+ }
104
114
 
105
- const NavigationMenuIndicator = React.forwardRef<
106
- React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,
107
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator> & NavigationMenuIndicatorBaseProps
108
- >(({ className, ...props }, ref) => (
109
- <NavigationMenuPrimitive.Indicator
110
- ref={ref}
111
- className={cn(
112
- 'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',
113
- className,
114
- )}
115
- {...props}
116
- >
117
- <div className="bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" />
118
- </NavigationMenuPrimitive.Indicator>
119
- ));
120
- NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator?.displayName || 'NavigationMenuIndicator';
115
+ function NavigationMenuIndicator({
116
+ className,
117
+ ...props
118
+ }: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {
119
+ return (
120
+ <NavigationMenuPrimitive.Indicator
121
+ data-slot="navigation-menu-indicator"
122
+ className={cn(
123
+ 'data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden',
124
+ className,
125
+ )}
126
+ {...props}
127
+ >
128
+ <div className="bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-ss-sm shadow-md" />
129
+ </NavigationMenuPrimitive.Indicator>
130
+ );
131
+ }
121
132
 
122
133
  export {
123
134
  NavigationMenu,
@@ -131,13 +142,7 @@ export {
131
142
  NavigationMenuViewport,
132
143
  };
133
144
 
134
- export type {
135
- NavigationMenuContentBaseProps as NavigationMenuContentProps,
136
- NavigationMenuIndicatorBaseProps as NavigationMenuIndicatorProps,
137
- NavigationMenuItemBaseProps as NavigationMenuItemProps,
138
- NavigationMenuLinkBaseProps as NavigationMenuLinkProps,
139
- NavigationMenuListBaseProps as NavigationMenuListProps,
140
- NavigationMenuBaseProps as NavigationMenuProps,
141
- NavigationMenuTriggerBaseProps as NavigationMenuTriggerProps,
142
- NavigationMenuViewportBaseProps as NavigationMenuViewportProps,
143
- };
145
+ // Verify that the component satisfies the ui-core contract
146
+ const _verifyNavigationMenuContract: NavigationMenuBaseProps = {} as unknown as React.ComponentProps<
147
+ typeof NavigationMenu
148
+ >;
@@ -1,91 +1,83 @@
1
- 'use client';
2
- import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';
3
1
  import * as React from 'react';
4
2
 
5
- import {
6
- PaginationBaseProps,
7
- PaginationContentBaseProps,
8
- PaginationEllipsisBaseProps,
9
- PaginationItemBaseProps,
10
- PaginationLinkBaseProps,
11
- PaginationNextBaseProps,
12
- PaginationPreviousBaseProps,
13
- } from '@gv-tech/ui-core';
14
- import { ButtonProps, buttonVariants } from './button';
3
+ import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';
4
+ import { Button } from './button';
15
5
  import { cn } from './lib/utils';
16
6
 
17
- const Pagination = ({ className, ...props }: React.ComponentProps<'nav'> & PaginationBaseProps) => (
18
- <nav
19
- role="navigation"
20
- aria-label="pagination"
21
- className={cn('mx-auto flex w-full justify-center', className)}
22
- {...props}
23
- />
24
- );
25
- Pagination.displayName = 'Pagination';
7
+ import type { PaginationBaseProps } from '@gv-tech/ui-core';
26
8
 
27
- const PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'> & PaginationContentBaseProps>(
28
- ({ className, ...props }, ref) => (
29
- <ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />
30
- ),
31
- );
32
- PaginationContent.displayName = 'PaginationContent';
9
+ function Pagination({ className, ...props }: React.ComponentProps<'nav'>) {
10
+ return (
11
+ <nav
12
+ role="navigation"
13
+ aria-label="pagination"
14
+ data-slot="pagination"
15
+ className={cn('mx-auto flex w-full justify-center', className)}
16
+ {...props}
17
+ />
18
+ );
19
+ }
33
20
 
34
- const PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'> & PaginationItemBaseProps>(
35
- ({ className, ...props }, ref) => <li ref={ref} className={cn('', className)} {...props} />,
36
- );
37
- PaginationItem.displayName = 'PaginationItem';
21
+ function PaginationContent({ className, ...props }: React.ComponentProps<'ul'>) {
22
+ return <ul data-slot="pagination-content" className={cn('flex items-center gap-0.5', className)} {...props} />;
23
+ }
24
+
25
+ function PaginationItem({ ...props }: React.ComponentProps<'li'>) {
26
+ return <li data-slot="pagination-item" {...props} />;
27
+ }
38
28
 
39
29
  type PaginationLinkProps = {
40
30
  isActive?: boolean;
41
- } & Pick<ButtonProps, 'size'> &
42
- React.ComponentProps<'a'> &
43
- PaginationLinkBaseProps;
31
+ } & Pick<React.ComponentProps<typeof Button>, 'size'> &
32
+ React.ComponentProps<'a'>;
44
33
 
45
- const PaginationLink = ({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) => (
46
- <a
47
- aria-current={isActive ? 'page' : undefined}
48
- className={cn(
49
- buttonVariants({
50
- variant: isActive ? 'outline' : 'ghost',
51
- size,
52
- }),
53
- className,
54
- )}
55
- {...props}
56
- />
57
- );
58
- PaginationLink.displayName = 'PaginationLink';
34
+ function PaginationLink({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) {
35
+ return (
36
+ <Button asChild variant={isActive ? 'outline' : 'ghost'} size={size} className={cn(className)}>
37
+ <a aria-current={isActive ? 'page' : undefined} data-slot="pagination-link" data-active={isActive} {...props} />
38
+ </Button>
39
+ );
40
+ }
59
41
 
60
- const PaginationPrevious = ({
42
+ function PaginationPrevious({
61
43
  className,
44
+ text = 'Previous',
62
45
  ...props
63
- }: React.ComponentProps<typeof PaginationLink> & PaginationPreviousBaseProps) => (
64
- <PaginationLink aria-label="Go to previous page" size="default" className={cn('gap-1 pl-2.5', className)} {...props}>
65
- <ChevronLeft className="h-4 w-4" />
66
- <span>Previous</span>
67
- </PaginationLink>
68
- );
69
- PaginationPrevious.displayName = 'PaginationPrevious';
46
+ }: React.ComponentProps<typeof PaginationLink> & { text?: string }) {
47
+ return (
48
+ <PaginationLink aria-label="Go to previous page" size="default" className={cn('ps-1.5!', className)} {...props}>
49
+ <ChevronLeftIcon data-icon="inline-start" />
50
+ <span className="hidden sm:block">{text}</span>
51
+ </PaginationLink>
52
+ );
53
+ }
70
54
 
71
- const PaginationNext = ({
55
+ function PaginationNext({
72
56
  className,
57
+ text = 'Next',
73
58
  ...props
74
- }: React.ComponentProps<typeof PaginationLink> & PaginationNextBaseProps) => (
75
- <PaginationLink aria-label="Go to next page" size="default" className={cn('gap-1 pr-2.5', className)} {...props}>
76
- <span>Next</span>
77
- <ChevronRight className="h-4 w-4" />
78
- </PaginationLink>
79
- );
80
- PaginationNext.displayName = 'PaginationNext';
59
+ }: React.ComponentProps<typeof PaginationLink> & { text?: string }) {
60
+ return (
61
+ <PaginationLink aria-label="Go to next page" size="default" className={cn('pe-1.5!', className)} {...props}>
62
+ <span className="hidden sm:block">{text}</span>
63
+ <ChevronRightIcon data-icon="inline-end" />
64
+ </PaginationLink>
65
+ );
66
+ }
81
67
 
82
- const PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'> & PaginationEllipsisBaseProps) => (
83
- <span aria-hidden className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>
84
- <MoreHorizontal className="h-4 w-4" />
85
- <span className="sr-only">More pages</span>
86
- </span>
87
- );
88
- PaginationEllipsis.displayName = 'PaginationEllipsis';
68
+ function PaginationEllipsis({ className, ...props }: React.ComponentProps<'span'>) {
69
+ return (
70
+ <span
71
+ aria-hidden
72
+ data-slot="pagination-ellipsis"
73
+ className={cn('flex size-8 items-center justify-center [&_svg:not([class*=size-])]:size-4', className)}
74
+ {...props}
75
+ >
76
+ <MoreHorizontalIcon />
77
+ <span className="sr-only">More pages</span>
78
+ </span>
79
+ );
80
+ }
89
81
 
90
82
  export {
91
83
  Pagination,
@@ -97,12 +89,5 @@ export {
97
89
  PaginationPrevious,
98
90
  };
99
91
 
100
- export type {
101
- PaginationContentBaseProps as PaginationContentProps,
102
- PaginationEllipsisBaseProps as PaginationEllipsisProps,
103
- PaginationItemBaseProps as PaginationItemProps,
104
- PaginationLinkProps,
105
- PaginationNextBaseProps as PaginationNextProps,
106
- PaginationPreviousBaseProps as PaginationPreviousProps,
107
- PaginationBaseProps as PaginationProps,
108
- };
92
+ // Verify that the component satisfies the ui-core contract
93
+ const _verifyPaginationContract: PaginationBaseProps = {} as unknown as React.ComponentProps<typeof Pagination>;
package/src/popover.tsx CHANGED
@@ -1,45 +1,57 @@
1
- 'use client';
2
-
3
- import * as PopoverPrimitive from '@radix-ui/react-popover';
1
+ import { Popover as PopoverPrimitive } from 'radix-ui';
4
2
  import * as React from 'react';
5
3
 
6
- import {
7
- PopoverAnchorBaseProps,
8
- PopoverBaseProps,
9
- PopoverContentBaseProps,
10
- PopoverTriggerBaseProps,
11
- } from '@gv-tech/ui-core';
12
4
  import { cn } from './lib/utils';
13
5
 
14
- const Popover = PopoverPrimitive.Root;
15
-
16
- const PopoverTrigger = PopoverPrimitive.Trigger;
17
-
18
- const PopoverAnchor = PopoverPrimitive.Anchor;
19
-
20
- const PopoverContent = React.forwardRef<
21
- React.ElementRef<typeof PopoverPrimitive.Content>,
22
- React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & PopoverContentBaseProps
23
- >(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (
24
- <PopoverPrimitive.Portal>
25
- <PopoverPrimitive.Content
26
- ref={ref}
27
- align={align}
28
- sideOffset={sideOffset}
29
- className={cn(
30
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-[--radix-popover-content-transform-origin] rounded-md border p-4 shadow-md outline-none',
31
- className,
32
- )}
33
- {...props}
34
- />
35
- </PopoverPrimitive.Portal>
36
- ));
37
- PopoverContent.displayName = PopoverPrimitive.Content?.displayName || 'PopoverContent';
38
-
39
- export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };
40
- export type {
41
- PopoverAnchorBaseProps as PopoverAnchorProps,
42
- PopoverContentBaseProps as PopoverContentProps,
43
- PopoverBaseProps as PopoverProps,
44
- PopoverTriggerBaseProps as PopoverTriggerProps,
45
- };
6
+ import type { PopoverBaseProps } from '@gv-tech/ui-core';
7
+
8
+ function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {
9
+ return <PopoverPrimitive.Root data-slot="popover" {...props} />;
10
+ }
11
+
12
+ function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {
13
+ return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props} />;
14
+ }
15
+
16
+ function PopoverContent({
17
+ className,
18
+ align = 'center',
19
+ sideOffset = 4,
20
+ ...props
21
+ }: React.ComponentProps<typeof PopoverPrimitive.Content>) {
22
+ return (
23
+ <PopoverPrimitive.Portal>
24
+ <PopoverPrimitive.Content
25
+ data-slot="popover-content"
26
+ align={align}
27
+ sideOffset={sideOffset}
28
+ className={cn(
29
+ 'bg-popover text-popover-foreground ring-foreground/10 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg p-2.5 text-sm shadow-md ring-1 outline-hidden duration-100',
30
+ className,
31
+ )}
32
+ {...props}
33
+ />
34
+ </PopoverPrimitive.Portal>
35
+ );
36
+ }
37
+
38
+ function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {
39
+ return <PopoverPrimitive.Anchor data-slot="popover-anchor" {...props} />;
40
+ }
41
+
42
+ function PopoverHeader({ className, ...props }: React.ComponentProps<'div'>) {
43
+ return <div data-slot="popover-header" className={cn('flex flex-col gap-0.5 text-sm', className)} {...props} />;
44
+ }
45
+
46
+ function PopoverTitle({ className, ...props }: React.ComponentProps<'h2'>) {
47
+ return <div data-slot="popover-title" className={cn('font-medium', className)} {...props} />;
48
+ }
49
+
50
+ function PopoverDescription({ className, ...props }: React.ComponentProps<'p'>) {
51
+ return <p data-slot="popover-description" className={cn('text-muted-foreground', className)} {...props} />;
52
+ }
53
+
54
+ export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };
55
+
56
+ // Verify that the component satisfies the ui-core contract
57
+ const _verifyPopoverContract: PopoverBaseProps = {} as unknown as React.ComponentProps<typeof Popover>;
package/src/progress.tsx CHANGED
@@ -1,28 +1,30 @@
1
1
  'use client';
2
2
 
3
- import * as ProgressPrimitive from '@radix-ui/react-progress';
3
+ import { Progress as ProgressPrimitive } from 'radix-ui';
4
4
  import * as React from 'react';
5
5
 
6
- import { ProgressBaseProps } from '@gv-tech/ui-core';
7
6
  import { cn } from './lib/utils';
8
7
 
9
- const Progress = React.forwardRef<
10
- React.ElementRef<typeof ProgressPrimitive.Root>,
11
- React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> & ProgressBaseProps
12
- >(({ className, value, ...props }, ref) => (
13
- <ProgressPrimitive.Root
14
- ref={ref}
15
- className={cn('bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', className)}
16
- value={value}
17
- {...props}
18
- >
19
- <ProgressPrimitive.Indicator
20
- className="bg-primary h-full w-full flex-1 transition-all"
21
- style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
22
- />
23
- </ProgressPrimitive.Root>
24
- ));
25
- Progress.displayName = ProgressPrimitive.Root?.displayName || 'Progress';
8
+ import type { ProgressBaseProps } from '@gv-tech/ui-core';
9
+
10
+ function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>) {
11
+ return (
12
+ <ProgressPrimitive.Root
13
+ data-slot="progress"
14
+ value={value}
15
+ className={cn('bg-muted relative flex h-1 w-full items-center overflow-x-hidden rounded-full', className)}
16
+ {...props}
17
+ >
18
+ <ProgressPrimitive.Indicator
19
+ data-slot="progress-indicator"
20
+ className="bg-primary size-full flex-1 transition-all"
21
+ style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
22
+ />
23
+ </ProgressPrimitive.Root>
24
+ );
25
+ }
26
26
 
27
27
  export { Progress };
28
- export type { ProgressBaseProps as ProgressProps };
28
+
29
+ // Verify that the component satisfies the ui-core contract
30
+ const _verifyProgressContract: ProgressBaseProps = {} as unknown as React.ComponentProps<typeof Progress>;