@gv-tech/design-system 2.22.2 → 2.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/README.md +16 -0
  2. package/dist/accordion.cjs +1 -1
  3. package/dist/accordion.cjs.map +1 -1
  4. package/dist/accordion.mjs +50 -30
  5. package/dist/accordion.mjs.map +1 -1
  6. package/dist/alert-dialog.cjs +1 -1
  7. package/dist/alert-dialog.cjs.map +1 -1
  8. package/dist/alert-dialog.mjs +98 -52
  9. package/dist/alert-dialog.mjs.map +1 -1
  10. package/dist/alert.cjs +1 -1
  11. package/dist/alert.cjs.map +1 -1
  12. package/dist/alert.mjs +37 -29
  13. package/dist/alert.mjs.map +1 -1
  14. package/dist/aspect-ratio.cjs +1 -1
  15. package/dist/aspect-ratio.cjs.map +1 -1
  16. package/dist/aspect-ratio.mjs +9 -3
  17. package/dist/aspect-ratio.mjs.map +1 -1
  18. package/dist/avatar.cjs +1 -1
  19. package/dist/avatar.cjs.map +1 -1
  20. package/dist/avatar.mjs +48 -23
  21. package/dist/avatar.mjs.map +1 -1
  22. package/dist/badge.cjs +1 -1
  23. package/dist/badge.cjs.map +1 -1
  24. package/dist/badge.mjs +16 -13
  25. package/dist/badge.mjs.map +1 -1
  26. package/dist/breadcrumb.cjs +1 -1
  27. package/dist/breadcrumb.cjs.map +1 -1
  28. package/dist/breadcrumb.mjs +67 -57
  29. package/dist/breadcrumb.mjs.map +1 -1
  30. package/dist/button-group.cjs +2 -0
  31. package/dist/button-group.cjs.map +1 -0
  32. package/dist/button-group.d.ts +2 -0
  33. package/dist/button-group.mjs +39 -0
  34. package/dist/button-group.mjs.map +1 -0
  35. package/dist/button.cjs +1 -1
  36. package/dist/button.cjs.map +1 -1
  37. package/dist/button.mjs +32 -25
  38. package/dist/button.mjs.map +1 -1
  39. package/dist/calendar.cjs +1 -1
  40. package/dist/calendar.cjs.map +1 -1
  41. package/dist/calendar.mjs +54 -51
  42. package/dist/calendar.mjs.map +1 -1
  43. package/dist/card.cjs +1 -1
  44. package/dist/card.cjs.map +1 -1
  45. package/dist/card.mjs +55 -41
  46. package/dist/card.mjs.map +1 -1
  47. package/dist/carousel.cjs +1 -1
  48. package/dist/carousel.cjs.map +1 -1
  49. package/dist/carousel.mjs +58 -64
  50. package/dist/carousel.mjs.map +1 -1
  51. package/dist/chart.cjs +3 -3
  52. package/dist/chart.cjs.map +1 -1
  53. package/dist/chart.mjs +59 -66
  54. package/dist/chart.mjs.map +1 -1
  55. package/dist/checkbox.cjs +1 -1
  56. package/dist/checkbox.cjs.map +1 -1
  57. package/dist/checkbox.mjs +17 -15
  58. package/dist/checkbox.mjs.map +1 -1
  59. package/dist/collapsible.cjs +1 -1
  60. package/dist/collapsible.cjs.map +1 -1
  61. package/dist/collapsible.mjs +21 -3
  62. package/dist/collapsible.mjs.map +1 -1
  63. package/dist/combobox.cjs +2 -0
  64. package/dist/combobox.cjs.map +1 -0
  65. package/dist/combobox.d.ts +2 -0
  66. package/dist/combobox.mjs +164 -0
  67. package/dist/combobox.mjs.map +1 -0
  68. package/dist/command.cjs +1 -1
  69. package/dist/command.cjs.map +1 -1
  70. package/dist/command.mjs +86 -75
  71. package/dist/command.mjs.map +1 -1
  72. package/dist/context-menu.cjs +1 -1
  73. package/dist/context-menu.cjs.map +1 -1
  74. package/dist/context-menu.mjs +121 -68
  75. package/dist/context-menu.mjs.map +1 -1
  76. package/dist/design-system.css +1 -1
  77. package/dist/dialog.cjs +1 -1
  78. package/dist/dialog.cjs.map +1 -1
  79. package/dist/dialog.mjs +90 -43
  80. package/dist/dialog.mjs.map +1 -1
  81. package/dist/direction.cjs +2 -0
  82. package/dist/direction.cjs.map +1 -0
  83. package/dist/direction.d.ts +2 -0
  84. package/dist/direction.mjs +17 -0
  85. package/dist/direction.mjs.map +1 -0
  86. package/dist/drawer.cjs +1 -1
  87. package/dist/drawer.cjs.map +1 -1
  88. package/dist/drawer.mjs +75 -45
  89. package/dist/drawer.mjs.map +1 -1
  90. package/dist/dropdown-menu.cjs +1 -1
  91. package/dist/dropdown-menu.cjs.map +1 -1
  92. package/dist/dropdown-menu.mjs +124 -68
  93. package/dist/dropdown-menu.mjs.map +1 -1
  94. package/dist/empty.cjs +2 -0
  95. package/dist/empty.cjs.map +1 -0
  96. package/dist/empty.d.ts +2 -0
  97. package/dist/empty.mjs +62 -0
  98. package/dist/empty.mjs.map +1 -0
  99. package/dist/field.cjs +2 -0
  100. package/dist/field.cjs.map +1 -0
  101. package/dist/field.d.ts +2 -0
  102. package/dist/field.mjs +111 -0
  103. package/dist/field.mjs.map +1 -0
  104. package/dist/form.cjs +1 -1
  105. package/dist/form.cjs.map +1 -1
  106. package/dist/form.mjs +14 -14
  107. package/dist/hover-card.cjs +1 -1
  108. package/dist/hover-card.cjs.map +1 -1
  109. package/dist/hover-card.mjs +28 -12
  110. package/dist/hover-card.mjs.map +1 -1
  111. package/dist/index.cjs +1 -1
  112. package/dist/index.mjs +52 -41
  113. package/dist/input-group.cjs +2 -0
  114. package/dist/input-group.cjs.map +1 -0
  115. package/dist/input-group.d.ts +2 -0
  116. package/dist/input-group.mjs +80 -0
  117. package/dist/input-group.mjs.map +1 -0
  118. package/dist/input-otp.cjs +2 -0
  119. package/dist/input-otp.cjs.map +1 -0
  120. package/dist/input-otp.d.ts +2 -0
  121. package/dist/input-otp.mjs +49 -0
  122. package/dist/input-otp.mjs.map +1 -0
  123. package/dist/input.cjs +1 -1
  124. package/dist/input.cjs.map +1 -1
  125. package/dist/input.mjs +13 -12
  126. package/dist/input.mjs.map +1 -1
  127. package/dist/item.cjs +2 -0
  128. package/dist/item.cjs.map +1 -0
  129. package/dist/item.d.ts +2 -0
  130. package/dist/item.mjs +119 -0
  131. package/dist/item.mjs.map +1 -0
  132. package/dist/kbd.cjs +2 -0
  133. package/dist/kbd.cjs.map +1 -0
  134. package/dist/kbd.d.ts +2 -0
  135. package/dist/kbd.mjs +23 -0
  136. package/dist/kbd.mjs.map +1 -0
  137. package/dist/label.cjs +1 -1
  138. package/dist/label.cjs.map +1 -1
  139. package/dist/label.mjs +12 -11
  140. package/dist/label.mjs.map +1 -1
  141. package/dist/menubar.cjs +1 -1
  142. package/dist/menubar.cjs.map +1 -1
  143. package/dist/menubar.mjs +120 -90
  144. package/dist/menubar.mjs.map +1 -1
  145. package/dist/native-select.cjs +2 -0
  146. package/dist/native-select.cjs.map +1 -0
  147. package/dist/native-select.d.ts +2 -0
  148. package/dist/native-select.mjs +41 -0
  149. package/dist/native-select.mjs.map +1 -0
  150. package/dist/navigation-menu.cjs +1 -1
  151. package/dist/navigation-menu.cjs.map +1 -1
  152. package/dist/navigation-menu.mjs +74 -52
  153. package/dist/navigation-menu.mjs.map +1 -1
  154. package/dist/packages/design-tokens/src/index.d.ts +16 -0
  155. package/dist/packages/design-tokens/src/theme.d.ts +16 -0
  156. package/dist/packages/ui-core/src/contracts/alert.d.ts +3 -1
  157. package/dist/packages/ui-core/src/contracts/badge.d.ts +3 -1
  158. package/dist/packages/ui-core/src/contracts/button-group.d.ts +17 -0
  159. package/dist/packages/ui-core/src/contracts/checkbox.d.ts +2 -2
  160. package/dist/packages/ui-core/src/contracts/combobox.d.ts +65 -0
  161. package/dist/packages/ui-core/src/contracts/direction.d.ts +7 -0
  162. package/dist/packages/ui-core/src/contracts/empty.d.ts +12 -0
  163. package/dist/packages/ui-core/src/contracts/field.d.ts +47 -0
  164. package/dist/packages/ui-core/src/contracts/input-group.d.ts +29 -0
  165. package/dist/packages/ui-core/src/contracts/input-otp.d.ts +16 -0
  166. package/dist/packages/ui-core/src/contracts/item.d.ts +47 -0
  167. package/dist/packages/ui-core/src/contracts/kbd.d.ts +9 -0
  168. package/dist/packages/ui-core/src/contracts/native-select.d.ts +15 -0
  169. package/dist/packages/ui-core/src/contracts/resizable.d.ts +1 -1
  170. package/dist/packages/ui-core/src/contracts/search.d.ts +1 -0
  171. package/dist/packages/ui-core/src/contracts/sidebar.d.ts +107 -0
  172. package/dist/packages/ui-core/src/contracts/sonner.d.ts +1 -9
  173. package/dist/packages/ui-core/src/contracts/spinner.d.ts +3 -0
  174. package/dist/packages/ui-core/src/contracts/switch.d.ts +1 -1
  175. package/dist/packages/ui-core/src/contracts/textarea.d.ts +2 -2
  176. package/dist/packages/ui-core/src/contracts/toast.d.ts +1 -1
  177. package/dist/packages/ui-core/src/contracts/toggle-group.d.ts +1 -1
  178. package/dist/packages/ui-core/src/contracts/toggle.d.ts +2 -2
  179. package/dist/packages/ui-core/src/index.d.ts +14 -0
  180. package/dist/packages/ui-web/src/accordion.d.ts +5 -7
  181. package/dist/packages/ui-web/src/alert-dialog.d.ts +17 -21
  182. package/dist/packages/ui-web/src/alert.d.ts +8 -8
  183. package/dist/packages/ui-web/src/aspect-ratio.d.ts +2 -5
  184. package/dist/packages/ui-web/src/avatar.d.ts +10 -7
  185. package/dist/packages/ui-web/src/badge.d.ts +4 -5
  186. package/dist/packages/ui-web/src/breadcrumb.d.ts +9 -17
  187. package/dist/packages/ui-web/src/button-group.d.ts +11 -0
  188. package/dist/packages/ui-web/src/button.d.ts +4 -6
  189. package/dist/packages/ui-web/src/calendar.d.ts +5 -5
  190. package/dist/packages/ui-web/src/card.d.ts +10 -10
  191. package/dist/packages/ui-web/src/carousel.d.ts +18 -14
  192. package/dist/packages/ui-web/src/chart.d.ts +35 -7
  193. package/dist/packages/ui-web/src/checkbox.d.ts +2 -5
  194. package/dist/packages/ui-web/src/collapsible.d.ts +4 -7
  195. package/dist/packages/ui-web/src/combobox.d.ts +20 -0
  196. package/dist/packages/ui-web/src/command.d.ts +16 -80
  197. package/dist/packages/ui-web/src/context-menu.d.ts +29 -21
  198. package/dist/packages/ui-web/src/dialog.d.ts +15 -17
  199. package/dist/packages/ui-web/src/direction.d.ts +6 -0
  200. package/dist/packages/ui-web/src/drawer.d.ts +11 -23
  201. package/dist/packages/ui-web/src/dropdown-menu.d.ts +27 -21
  202. package/dist/packages/ui-web/src/empty.d.ts +13 -0
  203. package/dist/packages/ui-web/src/field.d.ts +18 -0
  204. package/dist/packages/ui-web/src/hooks/use-mobile.d.ts +1 -0
  205. package/dist/packages/ui-web/src/hooks/use-theme.d.ts +16 -0
  206. package/dist/packages/ui-web/src/hover-card.d.ts +4 -6
  207. package/dist/packages/ui-web/src/index.d.ts +14 -43
  208. package/dist/packages/ui-web/src/input-group.d.ts +18 -0
  209. package/dist/packages/ui-web/src/input-otp.d.ts +8 -0
  210. package/dist/packages/ui-web/src/input.d.ts +1 -4
  211. package/dist/packages/ui-web/src/item.d.ts +25 -0
  212. package/dist/packages/ui-web/src/kbd.d.ts +4 -0
  213. package/dist/packages/ui-web/src/label.d.ts +2 -6
  214. package/dist/packages/ui-web/src/menubar.d.ts +25 -19
  215. package/dist/packages/ui-web/src/native-select.d.ts +7 -0
  216. package/dist/packages/ui-web/src/navigation-menu.d.ts +11 -11
  217. package/dist/packages/ui-web/src/pagination.d.ts +13 -26
  218. package/dist/packages/ui-web/src/popover.d.ts +9 -8
  219. package/dist/packages/ui-web/src/progress.d.ts +2 -4
  220. package/dist/packages/ui-web/src/radio-group.d.ts +3 -8
  221. package/dist/packages/ui-web/src/resizable.d.ts +6 -7
  222. package/dist/packages/ui-web/src/scroll-area.d.ts +3 -5
  223. package/dist/packages/ui-web/src/search.d.ts +1 -1
  224. package/dist/packages/ui-web/src/select.d.ts +13 -13
  225. package/dist/packages/ui-web/src/separator.d.ts +2 -4
  226. package/dist/packages/ui-web/src/sheet.d.ts +13 -27
  227. package/dist/packages/ui-web/src/sidebar.d.ts +45 -0
  228. package/dist/packages/ui-web/src/skeleton.d.ts +1 -4
  229. package/dist/packages/ui-web/src/slider.d.ts +2 -4
  230. package/dist/packages/ui-web/src/sonner.d.ts +1 -5
  231. package/dist/packages/ui-web/src/spinner.d.ts +3 -0
  232. package/dist/packages/ui-web/src/switch.d.ts +4 -4
  233. package/dist/packages/ui-web/src/table.d.ts +8 -10
  234. package/dist/packages/ui-web/src/tabs.d.ts +11 -8
  235. package/dist/packages/ui-web/src/textarea.d.ts +1 -4
  236. package/dist/packages/ui-web/src/toggle-group.d.ts +7 -10
  237. package/dist/packages/ui-web/src/toggle.d.ts +7 -5
  238. package/dist/packages/ui-web/src/tooltip.d.ts +5 -10
  239. package/dist/pagination.cjs +1 -1
  240. package/dist/pagination.cjs.map +1 -1
  241. package/dist/pagination.mjs +77 -59
  242. package/dist/pagination.mjs.map +1 -1
  243. package/dist/popover.cjs +1 -1
  244. package/dist/popover.cjs.map +1 -1
  245. package/dist/popover.mjs +53 -13
  246. package/dist/popover.mjs.map +1 -1
  247. package/dist/progress.cjs +1 -1
  248. package/dist/progress.cjs.map +1 -1
  249. package/dist/progress.mjs +18 -15
  250. package/dist/progress.mjs.map +1 -1
  251. package/dist/radio-group.cjs +1 -1
  252. package/dist/radio-group.cjs.map +1 -1
  253. package/dist/radio-group.mjs +24 -21
  254. package/dist/radio-group.mjs.map +1 -1
  255. package/dist/resizable.cjs +1 -1
  256. package/dist/resizable.cjs.map +1 -1
  257. package/dist/resizable.mjs +25 -16
  258. package/dist/resizable.mjs.map +1 -1
  259. package/dist/scroll-area.cjs +1 -1
  260. package/dist/scroll-area.cjs.map +1 -1
  261. package/dist/scroll-area.mjs +34 -27
  262. package/dist/scroll-area.mjs.map +1 -1
  263. package/dist/scroll-to-top.cjs +1 -1
  264. package/dist/scroll-to-top.mjs +17 -17
  265. package/dist/search.cjs +1 -1
  266. package/dist/search.cjs.map +1 -1
  267. package/dist/search.mjs +18 -17
  268. package/dist/search.mjs.map +1 -1
  269. package/dist/select.cjs +1 -1
  270. package/dist/select.cjs.map +1 -1
  271. package/dist/select.mjs +96 -65
  272. package/dist/select.mjs.map +1 -1
  273. package/dist/separator.cjs +1 -1
  274. package/dist/separator.cjs.map +1 -1
  275. package/dist/separator.mjs +14 -13
  276. package/dist/separator.mjs.map +1 -1
  277. package/dist/sheet.cjs +1 -1
  278. package/dist/sheet.cjs.map +1 -1
  279. package/dist/sheet.mjs +85 -53
  280. package/dist/sheet.mjs.map +1 -1
  281. package/dist/sidebar-BnEmNYS2.mjs +354 -0
  282. package/dist/sidebar-BnEmNYS2.mjs.map +1 -0
  283. package/dist/sidebar-BnuanaZN.js +2 -0
  284. package/dist/sidebar-BnuanaZN.js.map +1 -0
  285. package/dist/sidebar.cjs +1 -0
  286. package/dist/sidebar.d.ts +2 -0
  287. package/dist/sidebar.mjs +3 -0
  288. package/dist/skeleton.cjs +1 -1
  289. package/dist/skeleton.cjs.map +1 -1
  290. package/dist/skeleton.mjs +4 -5
  291. package/dist/skeleton.mjs.map +1 -1
  292. package/dist/slider.cjs +1 -1
  293. package/dist/slider.cjs.map +1 -1
  294. package/dist/slider.mjs +31 -12
  295. package/dist/slider.mjs.map +1 -1
  296. package/dist/sonner.cjs +1 -1
  297. package/dist/sonner.cjs.map +1 -1
  298. package/dist/sonner.mjs +22 -16
  299. package/dist/sonner.mjs.map +1 -1
  300. package/dist/spinner.cjs +2 -0
  301. package/dist/spinner.cjs.map +1 -0
  302. package/dist/spinner.d.ts +2 -0
  303. package/dist/spinner.mjs +17 -0
  304. package/dist/spinner.mjs.map +1 -0
  305. package/dist/support-fab.cjs +1 -1
  306. package/dist/support-fab.cjs.map +1 -1
  307. package/dist/support-fab.mjs +8 -8
  308. package/dist/support-fab.mjs.map +1 -1
  309. package/dist/switch.cjs +1 -1
  310. package/dist/switch.cjs.map +1 -1
  311. package/dist/switch.mjs +17 -11
  312. package/dist/switch.mjs.map +1 -1
  313. package/dist/table-of-contents.cjs +1 -1
  314. package/dist/table-of-contents.mjs +2 -2
  315. package/dist/table.cjs +1 -1
  316. package/dist/table.cjs.map +1 -1
  317. package/dist/table.mjs +65 -56
  318. package/dist/table.mjs.map +1 -1
  319. package/dist/tabs.cjs +1 -1
  320. package/dist/tabs.cjs.map +1 -1
  321. package/dist/tabs.mjs +42 -22
  322. package/dist/tabs.mjs.map +1 -1
  323. package/dist/text.cjs +1 -1
  324. package/dist/text.cjs.map +1 -1
  325. package/dist/text.mjs +3 -3
  326. package/dist/textarea.cjs +1 -1
  327. package/dist/textarea.cjs.map +1 -1
  328. package/dist/textarea.mjs +12 -11
  329. package/dist/textarea.mjs.map +1 -1
  330. package/dist/theme-provider.cjs +1 -1
  331. package/dist/theme-provider.mjs +1 -1
  332. package/dist/theme-toggle-CNDBFa9t.js +2 -0
  333. package/dist/theme-toggle-CNDBFa9t.js.map +1 -0
  334. package/dist/{theme-toggle-B6QS2aTS.mjs → theme-toggle-CgEJLId-.mjs} +26 -10
  335. package/dist/theme-toggle-CgEJLId-.mjs.map +1 -0
  336. package/dist/theme-toggle.cjs +1 -1
  337. package/dist/theme-toggle.mjs +1 -1
  338. package/dist/toast.cjs +1 -1
  339. package/dist/toast.cjs.map +1 -1
  340. package/dist/toast.mjs +19 -19
  341. package/dist/toast.mjs.map +1 -1
  342. package/dist/{toaster-C-1djNvf.js → toaster-C3UZyPzU.js} +2 -2
  343. package/dist/{toaster-C-1djNvf.js.map → toaster-C3UZyPzU.js.map} +1 -1
  344. package/dist/{toaster-CEa33QUH.mjs → toaster-DH0UX0nD.mjs} +2 -2
  345. package/dist/{toaster-CEa33QUH.mjs.map → toaster-DH0UX0nD.mjs.map} +1 -1
  346. package/dist/toaster.cjs +1 -1
  347. package/dist/toaster.mjs +1 -1
  348. package/dist/toggle-group.cjs +1 -1
  349. package/dist/toggle-group.cjs.map +1 -1
  350. package/dist/toggle-group.mjs +41 -28
  351. package/dist/toggle-group.mjs.map +1 -1
  352. package/dist/toggle.cjs +1 -1
  353. package/dist/toggle.cjs.map +1 -1
  354. package/dist/toggle.mjs +32 -16
  355. package/dist/toggle.mjs.map +1 -1
  356. package/dist/tooltip.cjs +1 -1
  357. package/dist/tooltip.cjs.map +1 -1
  358. package/dist/tooltip.mjs +33 -20
  359. package/dist/tooltip.mjs.map +1 -1
  360. package/dist/{utils-DU-Y_pvO.js → utils-D7tt_q-u.js} +2 -2
  361. package/dist/{utils-DU-Y_pvO.js.map → utils-D7tt_q-u.js.map} +1 -1
  362. package/dist/{utils-BsD1_fYL.mjs → utils-IYJAOUsw.mjs} +2 -2
  363. package/dist/{utils-BsD1_fYL.mjs.map → utils-IYJAOUsw.mjs.map} +1 -1
  364. package/dist/{vendor-ChPUVHXi.mjs → vendor-B6CFfDyk.mjs} +29707 -24351
  365. package/dist/vendor-B6CFfDyk.mjs.map +1 -0
  366. package/dist/vendor-UfQavLF9.js +111 -0
  367. package/dist/vendor-UfQavLF9.js.map +1 -0
  368. package/package.json +4 -3
  369. package/dist/src-D3IDWqE2.js +0 -2
  370. package/dist/src-D3IDWqE2.js.map +0 -1
  371. package/dist/src-N08I3kfW.mjs +0 -23
  372. package/dist/src-N08I3kfW.mjs.map +0 -1
  373. package/dist/theme-toggle-B6QS2aTS.mjs.map +0 -1
  374. package/dist/theme-toggle-CbtfA8aG.js +0 -2
  375. package/dist/theme-toggle-CbtfA8aG.js.map +0 -1
  376. package/dist/vendor-3cr8xz0x.js +0 -92
  377. package/dist/vendor-3cr8xz0x.js.map +0 -1
  378. package/dist/vendor-ChPUVHXi.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import { Jn as e, Xn as t, qn as n, vr as r } from "./vendor-ChPUVHXi.mjs";
2
- import { t as i } from "./utils-BsD1_fYL.mjs";
1
+ import { H as e, Jr as t, K as n, V as r } from "./vendor-B6CFfDyk.mjs";
2
+ import { t as i } from "./utils-IYJAOUsw.mjs";
3
3
  import { Button as a } from "./button.mjs";
4
4
  import { DropdownMenu as o, DropdownMenuContent as s, DropdownMenuItem as c, DropdownMenuTrigger as l } from "./dropdown-menu.mjs";
5
5
  import { useTheme as u } from "next-themes";
@@ -54,6 +54,14 @@ var d = {
54
54
  border: d.neutral.gray200,
55
55
  input: d.neutral.gray200,
56
56
  ring: d.neutral.gray600,
57
+ sidebar: d.neutral.gray50,
58
+ sidebarForeground: d.neutral.gray600,
59
+ sidebarPrimary: d.brand.blue,
60
+ sidebarPrimaryForeground: d.neutral.white,
61
+ sidebarAccent: d.neutral.gray100,
62
+ sidebarAccentForeground: d.neutral.gray900,
63
+ sidebarBorder: d.neutral.gray200,
64
+ sidebarRing: d.brand.blue,
57
65
  radius: "0.5rem"
58
66
  },
59
67
  dark: {
@@ -76,6 +84,14 @@ var d = {
76
84
  border: d.neutral.gray700,
77
85
  input: d.neutral.gray700,
78
86
  ring: "hsl(0 0% 90%)",
87
+ sidebar: d.neutral.gray950,
88
+ sidebarForeground: d.neutral.gray400,
89
+ sidebarPrimary: "hsl(227 96% 71%)",
90
+ sidebarPrimaryForeground: d.neutral.white,
91
+ sidebarAccent: d.neutral.gray800,
92
+ sidebarAccentForeground: d.neutral.white,
93
+ sidebarBorder: d.neutral.gray700,
94
+ sidebarRing: "hsl(227 96% 71%)",
79
95
  radius: "0.5rem"
80
96
  }
81
97
  }, p = {
@@ -269,20 +285,20 @@ function b() {
269
285
  }
270
286
  //#endregion
271
287
  //#region packages/ui-web/src/theme-toggle.tsx
272
- var x = r();
273
- function S({ variant: r = "binary", onThemeChange: u, customTheme: d, className: f }) {
288
+ var x = t();
289
+ function S({ variant: t = "binary", onThemeChange: u, customTheme: d, className: f }) {
274
290
  let { theme: p, setTheme: m, resolvedTheme: h } = b(), g = d ?? p, _ = (d || h) === "dark", v = g === "system", y = (e) => {
275
291
  u ? u(e) : m(e);
276
292
  }, S = () => /* @__PURE__ */ (0, x.jsxs)(x.Fragment, { children: [
277
- /* @__PURE__ */ (0, x.jsx)(n, { className: i("h-[1.2rem] w-[1.2rem] transition-all", !v && !_ ? "scale-100 rotate-0" : "scale-0 -rotate-90") }),
278
- /* @__PURE__ */ (0, x.jsx)(t, { className: i("absolute h-[1.2rem] w-[1.2rem] transition-all", !v && _ ? "scale-100 rotate-0" : "scale-0 rotate-90") }),
293
+ /* @__PURE__ */ (0, x.jsx)(r, { className: i("h-[1.2rem] w-[1.2rem] transition-all", !v && !_ ? "scale-100 rotate-0" : "scale-0 -rotate-90") }),
294
+ /* @__PURE__ */ (0, x.jsx)(n, { className: i("absolute h-[1.2rem] w-[1.2rem] transition-all", !v && _ ? "scale-100 rotate-0" : "scale-0 rotate-90") }),
279
295
  /* @__PURE__ */ (0, x.jsx)(e, { className: i("absolute h-[1.2rem] w-[1.2rem] transition-all", v ? "scale-100 rotate-0" : "scale-0 rotate-90") }),
280
296
  /* @__PURE__ */ (0, x.jsx)("span", {
281
297
  className: "sr-only",
282
298
  children: "Toggle theme"
283
299
  })
284
300
  ] });
285
- return r === "ternary" ? /* @__PURE__ */ (0, x.jsxs)(o, { children: [/* @__PURE__ */ (0, x.jsx)(l, {
301
+ return t === "ternary" ? /* @__PURE__ */ (0, x.jsxs)(o, { children: [/* @__PURE__ */ (0, x.jsx)(l, {
286
302
  asChild: !0,
287
303
  children: /* @__PURE__ */ (0, x.jsx)(a, {
288
304
  variant: "ghost",
@@ -295,11 +311,11 @@ function S({ variant: r = "binary", onThemeChange: u, customTheme: d, className:
295
311
  children: [
296
312
  /* @__PURE__ */ (0, x.jsxs)(c, {
297
313
  onClick: () => y("light"),
298
- children: [/* @__PURE__ */ (0, x.jsx)(n, { className: "mr-2 h-4 w-4" }), /* @__PURE__ */ (0, x.jsx)("span", { children: "Light" })]
314
+ children: [/* @__PURE__ */ (0, x.jsx)(r, { className: "mr-2 h-4 w-4" }), /* @__PURE__ */ (0, x.jsx)("span", { children: "Light" })]
299
315
  }),
300
316
  /* @__PURE__ */ (0, x.jsxs)(c, {
301
317
  onClick: () => y("dark"),
302
- children: [/* @__PURE__ */ (0, x.jsx)(t, { className: "mr-2 h-4 w-4" }), /* @__PURE__ */ (0, x.jsx)("span", { children: "Dark" })]
318
+ children: [/* @__PURE__ */ (0, x.jsx)(n, { className: "mr-2 h-4 w-4" }), /* @__PURE__ */ (0, x.jsx)("span", { children: "Dark" })]
303
319
  }),
304
320
  /* @__PURE__ */ (0, x.jsxs)(c, {
305
321
  onClick: () => y("system"),
@@ -318,4 +334,4 @@ function S({ variant: r = "binary", onThemeChange: u, customTheme: d, className:
318
334
  //#endregion
319
335
  export { _ as a, h as c, d, v as i, p as l, b as n, g as o, y as r, m as s, S as t, f as u };
320
336
 
321
- //# sourceMappingURL=theme-toggle-B6QS2aTS.mjs.map
337
+ //# sourceMappingURL=theme-toggle-CgEJLId-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle-CgEJLId-.mjs","names":[],"sources":["../packages/design-tokens/src/palette.ts","../packages/design-tokens/src/theme.ts","../packages/design-tokens/src/spacing.ts","../packages/design-tokens/src/radii.ts","../packages/design-tokens/src/typography.ts","../packages/design-tokens/src/shadows.ts","../packages/design-tokens/src/preset.ts","../packages/design-tokens/src/index.ts","../packages/ui-web/src/hooks/use-theme.ts","../packages/ui-web/src/theme-toggle.tsx"],"sourcesContent":["// Primitive color palette for the GV Tech design system.\n// These are the raw color values. They should NOT be used directly in components —\n// use semantic tokens from `theme.ts` instead.\n\nexport const palette = {\n brand: {\n blue: 'hsl(225 73% 57%)', // Royal Blue (Intellect)\n green: 'hsl(151 66% 27%)', // #177245 (Stability)\n floralWhite: 'hsl(40 100% 97%)', // Light Neutral / Floral White\n },\n neutral: {\n white: 'hsl(0 0% 100%)',\n black: 'hsl(0 0% 0%)', // Pure Black\n gray50: 'hsl(0 0% 96%)', // White Smoke\n gray100: 'hsl(0 0% 92%)', // Gainsboro\n gray200: 'hsl(0 0% 89%)', // Light Gray\n gray300: 'hsl(0 0% 88%)', // French Gray\n gray400: 'hsl(0 0% 70%)', // Silver\n gray500: 'hsl(215 16% 47%)', // Steel Blue\n gray600: 'hsl(222 47% 11%)', // Oxford Blue\n gray700: 'hsl(0 0% 18%)', // Raisin Black\n gray800: 'hsl(0 0% 15%)', // Jet\n gray900: 'hsl(0 0% 14%)', // Eerie Black\n gray950: 'hsl(0 0% 11%)', // Night (alt)\n gray975: 'hsl(0 0% 9%)', // Night\n gray990: 'hsl(0 0% 6%)', // Black (almost)\n },\n semantic: {\n success: 'hsl(93 28% 54%)', // Asparagus / Pistachio\n successDark: 'hsl(96 44% 61%)',\n destructive: 'hsl(0 84.2% 60.2%)', // Vivid Red\n destructiveDark: 'hsl(0 62.8% 30.6%)', // Blood Red\n },\n} as const;\n\nexport type PaletteTokens = typeof palette;\n","// Semantic theme tokens for the GV Tech design system.\n// These map primitive palette values to semantic roles (background, foreground, etc.)\n// for both light and dark modes. Components should reference these tokens, not palette directly.\n\nimport { palette } from './palette';\n\nexport const theme = {\n light: {\n background: palette.neutral.gray50,\n foreground: palette.neutral.gray600,\n card: palette.neutral.white,\n cardForeground: palette.neutral.gray600,\n popover: palette.neutral.white,\n popoverForeground: palette.neutral.gray600,\n primary: palette.brand.blue,\n primaryForeground: palette.neutral.white,\n secondary: palette.semantic.success,\n secondaryForeground: palette.neutral.white,\n muted: palette.neutral.gray100,\n mutedForeground: palette.neutral.gray500,\n accent: palette.neutral.gray300,\n accentForeground: palette.neutral.gray600,\n destructive: palette.semantic.destructive,\n destructiveForeground: palette.neutral.white,\n border: palette.neutral.gray200,\n input: palette.neutral.gray200,\n ring: palette.neutral.gray600,\n sidebar: palette.neutral.gray50,\n sidebarForeground: palette.neutral.gray600,\n sidebarPrimary: palette.brand.blue,\n sidebarPrimaryForeground: palette.neutral.white,\n sidebarAccent: palette.neutral.gray100,\n sidebarAccentForeground: palette.neutral.gray900,\n sidebarBorder: palette.neutral.gray200,\n sidebarRing: palette.brand.blue,\n radius: '0.5rem',\n },\n dark: {\n background: palette.neutral.gray975,\n foreground: palette.neutral.white,\n card: palette.neutral.gray900,\n cardForeground: palette.neutral.white,\n popover: palette.neutral.gray950,\n popoverForeground: palette.neutral.white,\n primary: 'hsl(227 96% 71%)', // Keeping as specific HSL to match original\n primaryForeground: palette.neutral.gray975,\n secondary: palette.semantic.successDark,\n secondaryForeground: palette.neutral.gray975,\n muted: palette.neutral.gray990,\n mutedForeground: palette.neutral.gray400,\n accent: palette.neutral.gray800,\n accentForeground: palette.neutral.white,\n destructive: palette.semantic.destructiveDark,\n destructiveForeground: palette.neutral.white,\n border: palette.neutral.gray700,\n input: palette.neutral.gray700,\n ring: 'hsl(0 0% 90%)', // Platinum\n sidebar: palette.neutral.gray950,\n sidebarForeground: palette.neutral.gray400,\n sidebarPrimary: 'hsl(227 96% 71%)',\n sidebarPrimaryForeground: palette.neutral.white,\n sidebarAccent: palette.neutral.gray800,\n sidebarAccentForeground: palette.neutral.white,\n sidebarBorder: palette.neutral.gray700,\n sidebarRing: 'hsl(227 96% 71%)',\n radius: '0.5rem',\n },\n} as const;\n\nexport type ThemeTokens = typeof theme.light;\n","// Spacing scale for the GV Tech design system.\n// Based on a 4px baseline grid. Values are in rem (assuming 16px root font size).\n\nexport const spacing = {\n px: '1px',\n 0: '0',\n 0.5: '0.125rem', // 2px\n 1: '0.25rem', // 4px\n 1.5: '0.375rem', // 6px\n 2: '0.5rem', // 8px\n 2.5: '0.625rem', // 10px\n 3: '0.75rem', // 12px\n 3.5: '0.875rem', // 14px\n 4: '1rem', // 16px\n 5: '1.25rem', // 20px\n 6: '1.5rem', // 24px\n 7: '1.75rem', // 28px\n 8: '2rem', // 32px\n 9: '2.25rem', // 36px\n 10: '2.5rem', // 40px\n 12: '3rem', // 48px\n 14: '3.5rem', // 56px\n 16: '4rem', // 64px\n 20: '5rem', // 80px\n 24: '6rem', // 96px\n 32: '8rem', // 128px\n 40: '10rem', // 160px\n 48: '12rem', // 192px\n 56: '14rem', // 224px\n 64: '16rem', // 256px\n} as const;\n\nexport type SpacingTokens = typeof spacing;\n","// Border radius tokens for the GV Tech design system.\n\nexport const radii = {\n none: '0',\n sm: 'calc(var(--radius) - 4px)',\n md: 'calc(var(--radius) - 2px)',\n lg: 'var(--radius)',\n xl: 'calc(var(--radius) + 4px)',\n '2xl': 'calc(var(--radius) + 8px)',\n full: '9999px',\n} as const;\n\n// Numeric radius values (in px) for React Native, which doesn't support CSS calc().\n// Based on a default --radius of 0.5rem (8px).\nexport const radiiNumeric = {\n none: 0,\n sm: 4, // 8 - 4\n md: 6, // 8 - 2\n lg: 8, // base\n xl: 12, // 8 + 4\n '2xl': 16, // 8 + 8\n full: 9999,\n} as const;\n\nexport type RadiiTokens = typeof radii;\nexport type RadiiNumericTokens = typeof radiiNumeric;\n","// Typography tokens for the GV Tech design system.\n// Defines font families, sizes, weights, and line heights.\n\nexport const typography = {\n fontFamily: {\n sans: 'Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace',\n },\n fontSize: {\n xs: '0.75rem', // 12px\n sm: '0.875rem', // 14px\n base: '1rem', // 16px\n lg: '1.125rem', // 18px\n xl: '1.25rem', // 20px\n '2xl': '1.5rem', // 24px\n '3xl': '1.875rem', // 30px\n '4xl': '2.25rem', // 36px\n '5xl': '3rem', // 48px\n },\n fontWeight: {\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n },\n lineHeight: {\n none: '1',\n tight: '1.25',\n snug: '1.375',\n normal: '1.5',\n relaxed: '1.625',\n loose: '2',\n },\n} as const;\n\nexport type TypographyTokens = typeof typography;\n","// Shadow / elevation tokens for the GV Tech design system.\n// Web values use CSS box-shadow syntax.\n// Native consumers should map these to platform-specific elevation or shadow props.\n\nexport const shadows = {\n none: 'none',\n sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\n default: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\n '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',\n inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',\n} as const;\n\nexport type ShadowTokens = typeof shadows;\n","// Tailwind CSS configuration preset for GV Tech design system.\n// This registers our colors, shadows, border radii, and animations natively.\n\nexport const preset = {\n theme: {\n extend: {\n colors: {\n background: 'hsl(var(--background) / <alpha-value>)',\n foreground: 'hsl(var(--foreground) / <alpha-value>)',\n card: {\n DEFAULT: 'hsl(var(--card) / <alpha-value>)',\n foreground: 'hsl(var(--card-foreground) / <alpha-value>)',\n },\n popover: {\n DEFAULT: 'hsl(var(--popover) / <alpha-value>)',\n foreground: 'hsl(var(--popover-foreground) / <alpha-value>)',\n },\n primary: {\n DEFAULT: 'hsl(var(--primary) / <alpha-value>)',\n foreground: 'hsl(var(--primary-foreground) / <alpha-value>)',\n },\n secondary: {\n DEFAULT: 'hsl(var(--secondary) / <alpha-value>)',\n foreground: 'hsl(var(--secondary-foreground) / <alpha-value>)',\n },\n muted: {\n DEFAULT: 'hsl(var(--muted) / <alpha-value>)',\n foreground: 'hsl(var(--muted-foreground) / <alpha-value>)',\n },\n accent: {\n DEFAULT: 'hsl(var(--accent) / <alpha-value>)',\n foreground: 'hsl(var(--accent-foreground) / <alpha-value>)',\n },\n destructive: {\n DEFAULT: 'hsl(var(--destructive) / <alpha-value>)',\n foreground: 'hsl(var(--destructive-foreground) / <alpha-value>)',\n },\n border: 'hsl(var(--border) / <alpha-value>)',\n input: 'hsl(var(--input) / <alpha-value>)',\n ring: 'hsl(var(--ring) / <alpha-value>)',\n\n // Primitive palette tokens exported dynamically via CSS variable mappings\n brand: {\n blue: 'hsl(var(--brand-blue) / <alpha-value>)',\n green: 'hsl(var(--brand-green) / <alpha-value>)',\n 'floral-white': 'hsl(var(--brand-floral-white) / <alpha-value>)',\n },\n neutral: {\n white: 'hsl(var(--neutral-white) / <alpha-value>)',\n black: 'hsl(var(--neutral-black) / <alpha-value>)',\n gray50: 'hsl(var(--neutral-gray50) / <alpha-value>)',\n gray100: 'hsl(var(--neutral-gray100) / <alpha-value>)',\n gray200: 'hsl(var(--neutral-gray200) / <alpha-value>)',\n gray300: 'hsl(var(--neutral-gray300) / <alpha-value>)',\n gray400: 'hsl(var(--neutral-gray400) / <alpha-value>)',\n gray500: 'hsl(var(--neutral-gray500) / <alpha-value>)',\n gray600: 'hsl(var(--neutral-gray600) / <alpha-value>)',\n gray700: 'hsl(var(--neutral-gray700) / <alpha-value>)',\n gray800: 'hsl(var(--neutral-gray800) / <alpha-value>)',\n gray900: 'hsl(var(--neutral-gray900) / <alpha-value>)',\n gray950: 'hsl(var(--neutral-gray950) / <alpha-value>)',\n gray975: 'hsl(var(--neutral-gray975) / <alpha-value>)',\n gray990: 'hsl(var(--neutral-gray990) / <alpha-value>)',\n },\n semantic: {\n success: 'hsl(var(--semantic-success) / <alpha-value>)',\n 'success-dark': 'hsl(var(--semantic-success-dark) / <alpha-value>)',\n destructive: 'hsl(var(--semantic-destructive) / <alpha-value>)',\n 'destructive-dark': 'hsl(var(--semantic-destructive-dark) / <alpha-value>)',\n },\n },\n borderRadius: {\n lg: 'var(--radius)',\n md: 'calc(var(--radius) - 2px)',\n sm: 'calc(var(--radius) - 4px)',\n xl: 'calc(var(--radius) + 4px)',\n '2xl': 'calc(var(--radius) + 8px)',\n },\n boxShadow: {\n sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\n DEFAULT: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\n '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',\n inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',\n },\n keyframes: {\n 'accordion-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-accordion-content-height)' },\n },\n 'accordion-up': {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0' },\n },\n },\n animation: {\n 'accordion-down': 'accordion-down 0.2s ease-out',\n 'accordion-up': 'accordion-up 0.2s ease-out',\n },\n },\n },\n};\n","// @gv-tech/design-tokens\n// Single source of truth for all design tokens in the GV Tech design system.\n// Consumed by both web (ui-web) and native (ui-native) implementations.\n\n// Color tokens\nexport { palette } from './palette';\nexport type { PaletteTokens } from './palette';\n\nexport { theme } from './theme';\nexport type { ThemeTokens } from './theme';\n\n// Layout tokens\nexport { spacing } from './spacing';\nexport type { SpacingTokens } from './spacing';\n\nexport { radii, radiiNumeric } from './radii';\nexport type { RadiiNumericTokens, RadiiTokens } from './radii';\n\n// Typography tokens\nexport { typography } from './typography';\nexport type { TypographyTokens } from './typography';\n\n// Elevation tokens\nexport { shadows } from './shadows';\nexport type { ShadowTokens } from './shadows';\n\n// Convenience re-export of all tokens as a single object.\n// Mirrors the legacy `tokens` export from `src/theme/tokens.ts`.\nimport { palette } from './palette';\nimport { theme } from './theme';\n\nexport const tokens = {\n palette,\n theme,\n} as const;\n\nexport { preset } from './preset';\n","import { theme } from '@gv-tech/design-tokens';\nimport { useTheme as useNextTheme } from 'next-themes';\n\nexport function useTheme() {\n const context = useNextTheme();\n const { resolvedTheme } = context;\n\n // Default to light theme tokens if resolvedTheme is undefined or invalid\n const activeTokens = resolvedTheme === 'dark' ? theme.dark : theme.light;\n\n return {\n ...context,\n tokens: activeTokens,\n };\n}\n","'use client';\n\nimport { ThemeToggleBaseProps } from '@gv-tech/ui-core';\nimport { Moon, Sun, SunMoon } from 'lucide-react';\nimport { Button } from './button';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './dropdown-menu';\nimport { useTheme } from './hooks/use-theme';\nimport { cn } from './lib/utils';\n\nexport type ThemeToggleProps = ThemeToggleBaseProps;\n\nexport function ThemeToggle({ variant = 'binary', onThemeChange, customTheme, className }: ThemeToggleProps) {\n const { theme: nextTheme, setTheme: setNextTheme, resolvedTheme } = useTheme();\n\n // Use customTheme if provided, otherwise fallback to next-themes\n const currentTheme = customTheme ?? nextTheme;\n\n // Determine the effective theme for icon rendering\n const effectiveTheme = customTheme ? customTheme : resolvedTheme;\n const isDark = effectiveTheme === 'dark';\n const isSystem = currentTheme === 'system';\n\n const handleThemeChange = (newTheme: string) => {\n if (onThemeChange) {\n onThemeChange(newTheme);\n } else {\n setNextTheme(newTheme);\n }\n };\n\n const IconToggle = () => (\n <>\n <Sun\n className={cn(\n 'h-[1.2rem] w-[1.2rem] transition-all',\n !isSystem && !isDark ? 'scale-100 rotate-0' : 'scale-0 -rotate-90',\n )}\n />\n <Moon\n className={cn(\n 'absolute h-[1.2rem] w-[1.2rem] transition-all',\n !isSystem && isDark ? 'scale-100 rotate-0' : 'scale-0 rotate-90',\n )}\n />\n <SunMoon\n className={cn(\n 'absolute h-[1.2rem] w-[1.2rem] transition-all',\n isSystem ? 'scale-100 rotate-0' : 'scale-0 rotate-90',\n )}\n />\n <span className=\"sr-only\">Toggle theme</span>\n </>\n );\n\n if (variant === 'ternary') {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className={cn('relative h-9 w-9', className)}>\n <IconToggle />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => handleThemeChange('light')}>\n <Sun className=\"mr-2 h-4 w-4\" />\n <span>Light</span>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => handleThemeChange('dark')}>\n <Moon className=\"mr-2 h-4 w-4\" />\n <span>Dark</span>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => handleThemeChange('system')}>\n <SunMoon className=\"mr-2 h-4 w-4\" />\n <span>System</span>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n }\n\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className={cn('relative h-9 w-9', className)}\n onClick={() => handleThemeChange(currentTheme === 'dark' ? 'light' : 'dark')}\n aria-label=\"Toggle theme\"\n >\n <IconToggle />\n </Button>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./theme-toggle-CbtfA8aG.js");exports.ThemeToggle=e.t;
1
+ "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./theme-toggle-CNDBFa9t.js");exports.ThemeToggle=e.t;
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
  "use client";
3
- import { t as e } from "./theme-toggle-B6QS2aTS.mjs";
3
+ import { t as e } from "./theme-toggle-CgEJLId-.mjs";
4
4
  export { e as ThemeToggle };
package/dist/toast.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.i,o=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.s,{ref:a,className:n.t(`fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]`,e),...r}));o.displayName=t.s?.displayName||`ToastViewport`;var s=t.Gn(`group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full`,{variants:{variant:{default:`border bg-background text-foreground`,destructive:`destructive group border-destructive bg-destructive text-destructive-foreground`}},defaultVariants:{variant:`default`}}),c=r.forwardRef(({className:e,variant:r,...a},o)=>(0,i.jsx)(t.a,{ref:o,className:n.t(s({variant:r}),e),...a}));c.displayName=t.a?.displayName||`Toast`;var l=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.t,{ref:a,className:n.t(`hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50`,e),...r}));l.displayName=t.t?.displayName||`ToastAction`;var u=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.n,{ref:a,className:n.t(`text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600`,e),"toast-close":``,...r,children:(0,i.jsx)(t.Kn,{className:`h-4 w-4`})}));u.displayName=t.n?.displayName||`ToastClose`;var d=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.o,{ref:a,className:n.t(`text-sm font-semibold [&+div]:text-xs`,e),...r}));d.displayName=t.o?.displayName||`ToastTitle`;var f=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.r,{ref:a,className:n.t(`text-sm opacity-90`,e),...r}));f.displayName=t.r?.displayName||`ToastDescription`,exports.Toast=c,exports.ToastAction=l,exports.ToastClose=u,exports.ToastDescription=f,exports.ToastProvider=a,exports.ToastTitle=d,exports.ToastViewport=o;
1
+ "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-UfQavLF9.js"),n=require("./utils-D7tt_q-u.js");let r=require("react");r=e.r(r);var i=t.Jr(),a=t.vt,o=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.xt,{ref:a,className:n.t(`fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]`,e),...r}));o.displayName=t.xt?.displayName||`ToastViewport`;var s=t.R(`group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full`,{variants:{variant:{default:`border bg-background text-foreground`,destructive:`destructive group border-destructive bg-destructive text-destructive-foreground`}},defaultVariants:{variant:`default`}}),c=r.forwardRef(({className:e,variant:r,...a},o)=>(0,i.jsx)(t.yt,{ref:o,className:n.t(s({variant:r}),e),...a}));c.displayName=t.yt?.displayName||`Toast`;var l=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.ht,{ref:a,className:n.t(`hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50`,e),...r}));l.displayName=t.ht?.displayName||`ToastAction`;var u=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.gt,{ref:a,className:n.t(`text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600`,e),"toast-close":``,...r,children:(0,i.jsx)(t.z,{className:`h-4 w-4`})}));u.displayName=t.gt?.displayName||`ToastClose`;var d=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t.bt,{ref:a,className:n.t(`text-sm font-semibold [&+div]:text-xs`,e),...r}));d.displayName=t.bt?.displayName||`ToastTitle`;var f=r.forwardRef(({className:e,...r},a)=>(0,i.jsx)(t._t,{ref:a,className:n.t(`text-sm opacity-90`,e),...r}));f.displayName=t._t?.displayName||`ToastDescription`,exports.Toast=c,exports.ToastAction=l,exports.ToastClose=u,exports.ToastDescription=f,exports.ToastProvider=a,exports.ToastTitle=d,exports.ToastViewport=o;
2
2
  //# sourceMappingURL=toast.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.cjs","names":[],"sources":["../packages/ui-web/src/toast.tsx"],"sourcesContent":["'use client';\nimport * as ToastPrimitives from '@radix-ui/react-toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n 'fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]',\n className,\n )}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport?.displayName || 'ToastViewport';\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',\n {\n variants: {\n variant: {\n default: 'border bg-background text-foreground',\n destructive: 'destructive group border-destructive bg-destructive text-destructive-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\n});\nToast.displayName = ToastPrimitives.Root?.displayName || 'Toast';\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n 'hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50',\n className,\n )}\n {...props}\n />\n));\nToastAction.displayName = ToastPrimitives.Action?.displayName || 'ToastAction';\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n 'text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\n className,\n )}\n toast-close=\"\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n));\nToastClose.displayName = ToastPrimitives.Close?.displayName || 'ToastClose';\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={cn('text-sm font-semibold [&+div]:text-xs', className)} {...props} />\n));\nToastTitle.displayName = ToastPrimitives.Title?.displayName || 'ToastTitle';\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description ref={ref} className={cn('text-sm opacity-90', className)} {...props} />\n));\nToastDescription.displayName = ToastPrimitives.Description?.displayName || 'ToastDescription';\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n Toast,\n ToastAction,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n type ToastActionElement,\n type ToastProps,\n};\n"],"mappings":"+PAQM,EAAA,EAAA,EAEA,EAAgB,EAAM,YAGzB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,EAAA,CACO,MACL,UAAW,EAAA,EACT,oIACA,CACF,EACA,GAAI,CACL,CAAA,CACF,EACD,EAAc,YAAA,EAAA,GAAwC,aAAe,gBAErE,IAAM,EAAgB,EAAA,GACpB,4lBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,uCACT,YAAa,iFACf,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAEM,EAAQ,EAAM,YAGjB,CAAE,YAAW,UAAS,GAAG,GAAS,KAC5B,EAAA,EAAA,KAAA,EAAA,EAAA,CAA2B,MAAK,UAAW,EAAA,EAAG,EAAc,CAAE,SAAQ,CAAC,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC1G,EACD,EAAM,YAAA,EAAA,GAAoC,aAAe,QAEzD,IAAM,EAAc,EAAM,YAGvB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,EAAA,CACO,MACL,UAAW,EAAA,EACT,0dACA,CACF,EACA,GAAI,CACL,CAAA,CACF,EACD,EAAY,YAAA,EAAA,GAAsC,aAAe,cAEjE,IAAM,EAAa,EAAM,YAGtB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,EAAA,CACO,MACL,UAAW,EAAA,EACT,wVACA,CACF,EACA,cAAY,GACZ,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,GAAD,CAAG,UAAU,SAAW,CAAA,CACH,CAAA,CACxB,EACD,EAAW,YAAA,EAAA,GAAqC,aAAe,aAE/D,IAAM,EAAa,EAAM,YAGtB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,EAAA,CAA4B,MAAK,UAAW,EAAA,EAAG,wCAAyC,CAAS,EAAG,GAAI,CAAQ,CAAA,CACjH,EACD,EAAW,YAAA,EAAA,GAAqC,aAAe,aAE/D,IAAM,EAAmB,EAAM,YAG5B,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,EAAA,CAAkC,MAAK,UAAW,EAAA,EAAG,qBAAsB,CAAS,EAAG,GAAI,CAAQ,CAAA,CACpG,EACD,EAAiB,YAAA,EAAA,GAA2C,aAAe"}
1
+ {"version":3,"file":"toast.cjs","names":[],"sources":["../packages/ui-web/src/toast.tsx"],"sourcesContent":["'use client';\nimport * as ToastPrimitives from '@radix-ui/react-toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { ToastBaseProps } from '@gv-tech/ui-core';\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n 'fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]',\n className,\n )}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport?.displayName || 'ToastViewport';\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',\n {\n variants: {\n variant: {\n default: 'border bg-background text-foreground',\n destructive: 'destructive group border-destructive bg-destructive text-destructive-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\n});\nToast.displayName = ToastPrimitives.Root?.displayName || 'Toast';\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n 'hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50',\n className,\n )}\n {...props}\n />\n));\nToastAction.displayName = ToastPrimitives.Action?.displayName || 'ToastAction';\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n 'text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\n className,\n )}\n toast-close=\"\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n));\nToastClose.displayName = ToastPrimitives.Close?.displayName || 'ToastClose';\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={cn('text-sm font-semibold [&+div]:text-xs', className)} {...props} />\n));\nToastTitle.displayName = ToastPrimitives.Title?.displayName || 'ToastTitle';\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description ref={ref} className={cn('text-sm opacity-90', className)} {...props} />\n));\nToastDescription.displayName = ToastPrimitives.Description?.displayName || 'ToastDescription';\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n Toast,\n ToastAction,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n type ToastActionElement,\n type ToastProps,\n};\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyToastContract: ToastBaseProps = {} as unknown as React.ComponentProps<typeof Toast>;\n"],"mappings":"+PAUM,EAAA,EAAA,GAEA,EAAgB,EAAM,YAGzB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,GAAA,CACO,MACL,UAAW,EAAA,EACT,oIACA,CACF,EACA,GAAI,CACL,CAAA,CACF,EACD,EAAc,YAAA,EAAA,IAAwC,aAAe,gBAErE,IAAM,EAAgB,EAAA,EACpB,4lBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,uCACT,YAAa,iFACf,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAEM,EAAQ,EAAM,YAGjB,CAAE,YAAW,UAAS,GAAG,GAAS,KAC5B,EAAA,EAAA,KAAA,EAAA,GAAA,CAA2B,MAAK,UAAW,EAAA,EAAG,EAAc,CAAE,SAAQ,CAAC,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC1G,EACD,EAAM,YAAA,EAAA,IAAoC,aAAe,QAEzD,IAAM,EAAc,EAAM,YAGvB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,GAAA,CACO,MACL,UAAW,EAAA,EACT,0dACA,CACF,EACA,GAAI,CACL,CAAA,CACF,EACD,EAAY,YAAA,EAAA,IAAsC,aAAe,cAEjE,IAAM,EAAa,EAAM,YAGtB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,GAAA,CACO,MACL,UAAW,EAAA,EACT,wVACA,CACF,EACA,cAAY,GACZ,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAG,UAAU,SAAW,CAAA,CACH,CAAA,CACxB,EACD,EAAW,YAAA,EAAA,IAAqC,aAAe,aAE/D,IAAM,EAAa,EAAM,YAGtB,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,GAAA,CAA4B,MAAK,UAAW,EAAA,EAAG,wCAAyC,CAAS,EAAG,GAAI,CAAQ,CAAA,CACjH,EACD,EAAW,YAAA,EAAA,IAAqC,aAAe,aAE/D,IAAM,EAAmB,EAAM,YAG5B,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAA,EAAA,GAAA,CAAkC,MAAK,UAAW,EAAA,EAAG,qBAAsB,CAAS,EAAG,GAAI,CAAQ,CAAA,CACpG,EACD,EAAiB,YAAA,EAAA,IAA2C,aAAe"}
package/dist/toast.mjs CHANGED
@@ -1,53 +1,53 @@
1
1
  "use client";
2
2
  "use client";
3
- import { Gn as e, Kn as t, a as n, i as r, n as i, o as a, r as o, s, t as c, vr as l } from "./vendor-ChPUVHXi.mjs";
4
- import { t as u } from "./utils-BsD1_fYL.mjs";
3
+ import { Jr as e, R as t, _t as n, bt as r, gt as i, ht as a, vt as o, xt as s, yt as c, z as l } from "./vendor-B6CFfDyk.mjs";
4
+ import { t as u } from "./utils-IYJAOUsw.mjs";
5
5
  import * as d from "react";
6
6
  //#region packages/ui-web/src/toast.tsx
7
- var f = l(), p = r, m = d.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, f.jsx)(s, {
7
+ var f = e(), p = o, m = d.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, f.jsx)(s, {
8
8
  ref: n,
9
9
  className: u("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]", e),
10
10
  ...t
11
11
  }));
12
12
  m.displayName = s?.displayName || "ToastViewport";
13
- var h = e("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", {
13
+ var h = t("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", {
14
14
  variants: { variant: {
15
15
  default: "border bg-background text-foreground",
16
16
  destructive: "destructive group border-destructive bg-destructive text-destructive-foreground"
17
17
  } },
18
18
  defaultVariants: { variant: "default" }
19
- }), g = d.forwardRef(({ className: e, variant: t, ...r }, i) => /* @__PURE__ */ (0, f.jsx)(n, {
20
- ref: i,
19
+ }), g = d.forwardRef(({ className: e, variant: t, ...n }, r) => /* @__PURE__ */ (0, f.jsx)(c, {
20
+ ref: r,
21
21
  className: u(h({ variant: t }), e),
22
- ...r
22
+ ...n
23
23
  }));
24
- g.displayName = n?.displayName || "Toast";
25
- var _ = d.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, f.jsx)(c, {
24
+ g.displayName = c?.displayName || "Toast";
25
+ var _ = d.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, f.jsx)(a, {
26
26
  ref: n,
27
27
  className: u("hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50", e),
28
28
  ...t
29
29
  }));
30
- _.displayName = c?.displayName || "ToastAction";
31
- var v = d.forwardRef(({ className: e, ...n }, r) => /* @__PURE__ */ (0, f.jsx)(i, {
32
- ref: r,
30
+ _.displayName = a?.displayName || "ToastAction";
31
+ var v = d.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, f.jsx)(i, {
32
+ ref: n,
33
33
  className: u("text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600", e),
34
34
  "toast-close": "",
35
- ...n,
36
- children: /* @__PURE__ */ (0, f.jsx)(t, { className: "h-4 w-4" })
35
+ ...t,
36
+ children: /* @__PURE__ */ (0, f.jsx)(l, { className: "h-4 w-4" })
37
37
  }));
38
38
  v.displayName = i?.displayName || "ToastClose";
39
- var y = d.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, f.jsx)(a, {
39
+ var y = d.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, f.jsx)(r, {
40
40
  ref: n,
41
41
  className: u("text-sm font-semibold [&+div]:text-xs", e),
42
42
  ...t
43
43
  }));
44
- y.displayName = a?.displayName || "ToastTitle";
45
- var b = d.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ (0, f.jsx)(o, {
46
- ref: n,
44
+ y.displayName = r?.displayName || "ToastTitle";
45
+ var b = d.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ (0, f.jsx)(n, {
46
+ ref: r,
47
47
  className: u("text-sm opacity-90", e),
48
48
  ...t
49
49
  }));
50
- b.displayName = o?.displayName || "ToastDescription";
50
+ b.displayName = n?.displayName || "ToastDescription";
51
51
  //#endregion
52
52
  export { g as Toast, _ as ToastAction, v as ToastClose, b as ToastDescription, p as ToastProvider, y as ToastTitle, m as ToastViewport };
53
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"toast.mjs","names":[],"sources":["../packages/ui-web/src/toast.tsx"],"sourcesContent":["'use client';\nimport * as ToastPrimitives from '@radix-ui/react-toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n 'fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]',\n className,\n )}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport?.displayName || 'ToastViewport';\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',\n {\n variants: {\n variant: {\n default: 'border bg-background text-foreground',\n destructive: 'destructive group border-destructive bg-destructive text-destructive-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\n});\nToast.displayName = ToastPrimitives.Root?.displayName || 'Toast';\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n 'hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50',\n className,\n )}\n {...props}\n />\n));\nToastAction.displayName = ToastPrimitives.Action?.displayName || 'ToastAction';\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n 'text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\n className,\n )}\n toast-close=\"\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n));\nToastClose.displayName = ToastPrimitives.Close?.displayName || 'ToastClose';\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={cn('text-sm font-semibold [&+div]:text-xs', className)} {...props} />\n));\nToastTitle.displayName = ToastPrimitives.Title?.displayName || 'ToastTitle';\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description ref={ref} className={cn('text-sm opacity-90', className)} {...props} />\n));\nToastDescription.displayName = ToastPrimitives.Description?.displayName || 'ToastDescription';\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n Toast,\n ToastAction,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n type ToastActionElement,\n type ToastProps,\n};\n"],"mappings":";;;;;;aAQM,IAAgB,GAEhB,IAAgB,EAAM,YAGzB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,qIACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAc,cAAA,GAAwC,eAAe;AAErE,IAAM,IAAgB,EACpB,6lBACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;CACf,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF,GAEM,IAAQ,EAAM,YAGjB,EAAE,cAAW,YAAS,GAAG,KAAS,MAC5B,iBAAA,GAAA,EAAA,KAAC,GAAD;CAA2B;CAAK,WAAW,EAAG,EAAc,EAAE,WAAQ,CAAC,GAAG,CAAS;CAAG,GAAI;AAAQ,CAAA,CAC1G;AACD,EAAM,cAAA,GAAoC,eAAe;AAEzD,IAAM,IAAc,EAAM,YAGvB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,2dACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAY,cAAA,GAAsC,eAAe;AAEjE,IAAM,IAAa,EAAM,YAGtB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,yVACA,CACF;CACA,eAAY;CACZ,GAAI;WAEJ,iBAAA,GAAA,EAAA,KAAC,GAAD,EAAG,WAAU,UAAW,CAAA;AACH,CAAA,CACxB;AACD,EAAW,cAAA,GAAqC,eAAe;AAE/D,IAAM,IAAa,EAAM,YAGtB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CAA4B;CAAK,WAAW,EAAG,yCAAyC,CAAS;CAAG,GAAI;AAAQ,CAAA,CACjH;AACD,EAAW,cAAA,GAAqC,eAAe;AAE/D,IAAM,IAAmB,EAAM,YAG5B,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CAAkC;CAAK,WAAW,EAAG,sBAAsB,CAAS;CAAG,GAAI;AAAQ,CAAA,CACpG;AACD,EAAiB,cAAA,GAA2C,eAAe"}
1
+ {"version":3,"file":"toast.mjs","names":[],"sources":["../packages/ui-web/src/toast.tsx"],"sourcesContent":["'use client';\nimport * as ToastPrimitives from '@radix-ui/react-toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\n\nimport type { ToastBaseProps } from '@gv-tech/ui-core';\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n 'fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:top-auto sm:right-0 sm:bottom-0 sm:flex-col md:max-w-[420px]',\n className,\n )}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport?.displayName || 'ToastViewport';\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',\n {\n variants: {\n variant: {\n default: 'border bg-background text-foreground',\n destructive: 'destructive group border-destructive bg-destructive text-destructive-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\n});\nToast.displayName = ToastPrimitives.Root?.displayName || 'Toast';\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n 'hover:bg-secondary focus:ring-ring group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50',\n className,\n )}\n {...props}\n />\n));\nToastAction.displayName = ToastPrimitives.Action?.displayName || 'ToastAction';\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n 'text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:ring-1 focus:outline-none group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\n className,\n )}\n toast-close=\"\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n));\nToastClose.displayName = ToastPrimitives.Close?.displayName || 'ToastClose';\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={cn('text-sm font-semibold [&+div]:text-xs', className)} {...props} />\n));\nToastTitle.displayName = ToastPrimitives.Title?.displayName || 'ToastTitle';\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description ref={ref} className={cn('text-sm opacity-90', className)} {...props} />\n));\nToastDescription.displayName = ToastPrimitives.Description?.displayName || 'ToastDescription';\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n Toast,\n ToastAction,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n type ToastActionElement,\n type ToastProps,\n};\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyToastContract: ToastBaseProps = {} as unknown as React.ComponentProps<typeof Toast>;\n"],"mappings":";;;;;;aAUM,IAAgB,GAEhB,IAAgB,EAAM,YAGzB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,qIACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAc,cAAA,GAAwC,eAAe;AAErE,IAAM,IAAgB,EACpB,6lBACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;CACf,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF,GAEM,IAAQ,EAAM,YAGjB,EAAE,cAAW,YAAS,GAAG,KAAS,MAC5B,iBAAA,GAAA,EAAA,KAAC,GAAD;CAA2B;CAAK,WAAW,EAAG,EAAc,EAAE,WAAQ,CAAC,GAAG,CAAS;CAAG,GAAI;AAAQ,CAAA,CAC1G;AACD,EAAM,cAAA,GAAoC,eAAe;AAEzD,IAAM,IAAc,EAAM,YAGvB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,2dACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAY,cAAA,GAAsC,eAAe;AAEjE,IAAM,IAAa,EAAM,YAGtB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CACO;CACL,WAAW,EACT,yVACA,CACF;CACA,eAAY;CACZ,GAAI;WAEJ,iBAAA,GAAA,EAAA,KAAC,GAAD,EAAG,WAAU,UAAW,CAAA;AACH,CAAA,CACxB;AACD,EAAW,cAAA,GAAqC,eAAe;AAE/D,IAAM,IAAa,EAAM,YAGtB,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CAA4B;CAAK,WAAW,EAAG,yCAAyC,CAAS;CAAG,GAAI;AAAQ,CAAA,CACjH;AACD,EAAW,cAAA,GAAqC,eAAe;AAE/D,IAAM,IAAmB,EAAM,YAG5B,EAAE,cAAW,GAAG,KAAS,MAC1B,iBAAA,GAAA,EAAA,KAAC,GAAD;CAAkC;CAAK,WAAW,EAAG,sBAAsB,CAAS;CAAG,GAAI;AAAQ,CAAA,CACpG;AACD,EAAiB,cAAA,GAA2C,eAAe"}
@@ -1,2 +1,2 @@
1
- const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-3cr8xz0x.js"),n=require("./toast.cjs");let r=require("react");r=e.r(r);var i=1,a=1e6,o={ADD_TOAST:`ADD_TOAST`,UPDATE_TOAST:`UPDATE_TOAST`,DISMISS_TOAST:`DISMISS_TOAST`,REMOVE_TOAST:`REMOVE_TOAST`},s=0;function c(){return s=(s+1)%(2**53-1),s.toString()}var l=new Map,u=e=>{if(l.has(e))return;let t=setTimeout(()=>{l.delete(e),m({type:`REMOVE_TOAST`,toastId:e})},a);l.set(e,t)},d=(e,t)=>{switch(t.type){case o.ADD_TOAST:return{...e,toasts:[t.toast,...e.toasts].slice(0,i)};case o.UPDATE_TOAST:return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case o.DISMISS_TOAST:{let{toastId:n}=t;return n?u(n):e.toasts.forEach(e=>{u(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||n===void 0?{...e,open:!1}:e)}}case o.REMOVE_TOAST:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},f=[],p={toasts:[]};function m(e){p=d(p,e),f.forEach(e=>{e(p)})}function h({...e}){let t=c(),n=e=>m({type:`UPDATE_TOAST`,toast:{...e,id:t}}),r=()=>m({type:`DISMISS_TOAST`,toastId:t});return m({type:`ADD_TOAST`,toast:{...e,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:n}}function g(){let[e,t]=r.useState(p);return r.useEffect(()=>(f.push(t),()=>{let e=f.indexOf(t);e>-1&&f.splice(e,1)}),[e]),{...e,toast:h,dismiss:e=>m({type:`DISMISS_TOAST`,toastId:e})}}var _=t.vr();function v({...e}){let{toasts:t}=g();return(0,_.jsxs)(n.ToastProvider,{...e,children:[t.map(function({id:e,title:t,description:r,action:i,...a}){return(0,_.jsxs)(n.Toast,{...a,children:[(0,_.jsxs)(`div`,{className:`grid gap-1`,children:[t&&(0,_.jsx)(n.ToastTitle,{children:t}),r&&(0,_.jsx)(n.ToastDescription,{children:r})]}),i,(0,_.jsx)(n.ToastClose,{})]},e)}),(0,_.jsx)(n.ToastViewport,{})]})}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});
2
- //# sourceMappingURL=toaster-C-1djNvf.js.map
1
+ const e=require("./rolldown-runtime-mLOUI7ql.js"),t=require("./vendor-UfQavLF9.js"),n=require("./toast.cjs");let r=require("react");r=e.r(r);var i=1,a=1e6,o={ADD_TOAST:`ADD_TOAST`,UPDATE_TOAST:`UPDATE_TOAST`,DISMISS_TOAST:`DISMISS_TOAST`,REMOVE_TOAST:`REMOVE_TOAST`},s=0;function c(){return s=(s+1)%(2**53-1),s.toString()}var l=new Map,u=e=>{if(l.has(e))return;let t=setTimeout(()=>{l.delete(e),m({type:`REMOVE_TOAST`,toastId:e})},a);l.set(e,t)},d=(e,t)=>{switch(t.type){case o.ADD_TOAST:return{...e,toasts:[t.toast,...e.toasts].slice(0,i)};case o.UPDATE_TOAST:return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case o.DISMISS_TOAST:{let{toastId:n}=t;return n?u(n):e.toasts.forEach(e=>{u(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||n===void 0?{...e,open:!1}:e)}}case o.REMOVE_TOAST:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},f=[],p={toasts:[]};function m(e){p=d(p,e),f.forEach(e=>{e(p)})}function h({...e}){let t=c(),n=e=>m({type:`UPDATE_TOAST`,toast:{...e,id:t}}),r=()=>m({type:`DISMISS_TOAST`,toastId:t});return m({type:`ADD_TOAST`,toast:{...e,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:n}}function g(){let[e,t]=r.useState(p);return r.useEffect(()=>(f.push(t),()=>{let e=f.indexOf(t);e>-1&&f.splice(e,1)}),[e]),{...e,toast:h,dismiss:e=>m({type:`DISMISS_TOAST`,toastId:e})}}var _=t.Jr();function v({...e}){let{toasts:t}=g();return(0,_.jsxs)(n.ToastProvider,{...e,children:[t.map(function({id:e,title:t,description:r,action:i,...a}){return(0,_.jsxs)(n.Toast,{...a,children:[(0,_.jsxs)(`div`,{className:`grid gap-1`,children:[t&&(0,_.jsx)(n.ToastTitle,{children:t}),r&&(0,_.jsx)(n.ToastDescription,{children:r})]}),i,(0,_.jsx)(n.ToastClose,{})]},e)}),(0,_.jsx)(n.ToastViewport,{})]})}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});
2
+ //# sourceMappingURL=toaster-C3UZyPzU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toaster-C-1djNvf.js","names":[],"sources":["../packages/ui-web/src/hooks/use-toast.ts","../packages/ui-web/src/toaster.tsx"],"sourcesContent":["'use client';\n\n// Inspired by react-hot-toast library\nimport * as React from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../index';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case actionTypes.UPDATE_TOAST:\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case actionTypes.DISMISS_TOAST: {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case actionTypes.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n dismiss();\n }\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","'use client';\n\nimport { ToasterBaseProps } from '@gv-tech/ui-core';\nimport { useToast } from './hooks/use-toast';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\n\nexport function Toaster({ ...props }: ToasterBaseProps) {\n const { toasts } = useToast();\n\n return (\n <ToastProvider {...props}>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n );\n })}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"toaster-C3UZyPzU.js","names":[],"sources":["../packages/ui-web/src/hooks/use-toast.ts","../packages/ui-web/src/toaster.tsx"],"sourcesContent":["'use client';\n\n// Inspired by react-hot-toast library\nimport * as React from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../index';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case actionTypes.UPDATE_TOAST:\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case actionTypes.DISMISS_TOAST: {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case actionTypes.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n dismiss();\n }\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","'use client';\n\nimport { ToasterBaseProps } from '@gv-tech/ui-core';\nimport { useToast } from './hooks/use-toast';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\n\nexport function Toaster({ ...props }: ToasterBaseProps) {\n const { toasts } = useToast();\n\n return (\n <ToastProvider {...props}>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n );\n })}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { vr as e } from "./vendor-ChPUVHXi.mjs";
1
+ import { Jr as e } from "./vendor-B6CFfDyk.mjs";
2
2
  import { Toast as t, ToastClose as n, ToastDescription as r, ToastProvider as i, ToastTitle as a, ToastViewport as o } from "./toast.mjs";
3
3
  import * as s from "react";
4
4
  //#region packages/ui-web/src/hooks/use-toast.ts
@@ -125,4 +125,4 @@ function S({ ...e }) {
125
125
  //#endregion
126
126
  export { y as n, b as r, S as t };
127
127
 
128
- //# sourceMappingURL=toaster-CEa33QUH.mjs.map
128
+ //# sourceMappingURL=toaster-DH0UX0nD.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toaster-CEa33QUH.mjs","names":[],"sources":["../packages/ui-web/src/hooks/use-toast.ts","../packages/ui-web/src/toaster.tsx"],"sourcesContent":["'use client';\n\n// Inspired by react-hot-toast library\nimport * as React from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../index';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case actionTypes.UPDATE_TOAST:\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case actionTypes.DISMISS_TOAST: {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case actionTypes.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n dismiss();\n }\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","'use client';\n\nimport { ToasterBaseProps } from '@gv-tech/ui-core';\nimport { useToast } from './hooks/use-toast';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\n\nexport function Toaster({ ...props }: ToasterBaseProps) {\n const { toasts } = useToast();\n\n return (\n <ToastProvider {...props}>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n );\n })}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"toaster-DH0UX0nD.mjs","names":[],"sources":["../packages/ui-web/src/hooks/use-toast.ts","../packages/ui-web/src/toaster.tsx"],"sourcesContent":["'use client';\n\n// Inspired by react-hot-toast library\nimport * as React from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../index';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case actionTypes.UPDATE_TOAST:\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case actionTypes.DISMISS_TOAST: {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case actionTypes.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n dismiss();\n }\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","'use client';\n\nimport { ToasterBaseProps } from '@gv-tech/ui-core';\nimport { useToast } from './hooks/use-toast';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\n\nexport function Toaster({ ...props }: ToasterBaseProps) {\n const { toasts } = useToast();\n\n return (\n <ToastProvider {...props}>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n );\n })}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"],"mappings":"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"}
package/dist/toaster.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./toaster-C-1djNvf.js");exports.Toaster=e.t;
1
+ "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./toaster-C3UZyPzU.js");exports.Toaster=e.t;
package/dist/toaster.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
  "use client";
3
- import { t as e } from "./toaster-CEa33QUH.mjs";
3
+ import { t as e } from "./toaster-DH0UX0nD.mjs";
4
4
  export { e as Toaster };
@@ -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("./src-D3IDWqE2.js");let i=require("react");i=e.r(i);var a=t.vr(),o=i.createContext({size:`default`,variant:`default`}),s=i.forwardRef(({className:e,variant:r,size:i,children:s,...c},l)=>(0,a.jsx)(t.p,{ref:l,className:n.t(`flex items-center justify-center gap-1`,e),...c,children:(0,a.jsx)(o.Provider,{value:{variant:r,size:i},children:s})}));s.displayName=t.p?.displayName||`ToggleGroup`;var c=i.forwardRef(({className:e,children:s,variant:c,size:l,...u},d)=>{let f=i.useContext(o);return(0,a.jsx)(t.f,{ref:d,className:n.t(r.t({variant:f.variant||c,size:f.size||l}),e),...u,children:s})});c.displayName=t.f?.displayName||`ToggleGroupItem`,exports.ToggleGroup=s,exports.ToggleGroupItem=c;
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("./toggle.cjs");let i=require("react");i=e.r(i);var a=t.Jr(),o=i.createContext({size:`default`,variant:`default`,spacing:2,orientation:`horizontal`});function s({className:e,variant:r,size:i,spacing:s=2,orientation:c=`horizontal`,children:l,...u}){return(0,a.jsx)(t.pt,{"data-slot":`toggle-group`,"data-variant":r,"data-size":i,"data-spacing":s,"data-orientation":c,style:{"--gap":s},className:n.t(`group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch data-[size=sm]:rounded-[min(var(--radius-md),10px)]`,e),...u,children:(0,a.jsx)(o.Provider,{value:{variant:r,size:i,spacing:s,orientation:c},children:l})})}function c({className:e,children:s,variant:c=`default`,size:l=`default`,...u}){let d=i.useContext(o);return(0,a.jsx)(t.ft,{"data-slot":`toggle-group-item`,"data-variant":d.variant||c,"data-size":d.size||l,"data-spacing":d.spacing,className:n.t(`shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pe-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:ps-1.5 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:first:rounded-s-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:last:rounded-e-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-s-0 group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-s group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t`,r.toggleVariants({variant:d.variant||c,size:d.size||l}),e),...u,children:s})}exports.ToggleGroup=s,exports.ToggleGroupItem=c;
2
2
  //# sourceMappingURL=toggle-group.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.cjs","names":[],"sources":["../packages/ui-web/src/toggle-group.tsx"],"sourcesContent":["'use client';\n\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport { type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { toggleVariants } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst ToggleGroupContext = React.createContext<VariantProps<typeof toggleVariants>>({\n size: 'default',\n variant: 'default',\n});\n\nexport type ToggleGroupProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>;\n\nconst ToggleGroup = React.forwardRef<React.ElementRef<typeof ToggleGroupPrimitive.Root>, ToggleGroupProps>(\n ({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root ref={ref} className={cn('flex items-center justify-center gap-1', className)} {...props}>\n <ToggleGroupContext.Provider value={{ variant, size }}>{children}</ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n ),\n);\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root?.displayName || 'ToggleGroup';\n\nexport type ToggleGroupItemProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>;\n\nconst ToggleGroupItem = React.forwardRef<React.ElementRef<typeof ToggleGroupPrimitive.Item>, ToggleGroupItemProps>(\n ({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n },\n);\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item?.displayName || 'ToggleGroupItem';\n\nexport { ToggleGroup, ToggleGroupItem };\n"],"mappings":"8RASM,EAAqB,EAAM,cAAmD,CAClF,KAAM,UACN,QAAS,SACX,CAAC,EAKK,EAAc,EAAM,YACvB,CAAE,YAAW,UAAS,OAAM,WAAU,GAAG,GAAS,KACjD,EAAA,EAAA,KAAA,EAAA,EAAA,CAAgC,MAAK,UAAW,EAAA,EAAG,yCAA0C,CAAS,EAAG,GAAI,YAC3G,EAAA,EAAA,KAAC,EAAmB,SAApB,CAA6B,MAAO,CAAE,UAAS,MAAK,EAAI,UAAsC,CAAA,CACrE,CAAA,CAE/B,EAEA,EAAY,YAAA,EAAA,GAAyC,aAAe,cAKpE,IAAM,EAAkB,EAAM,YAC3B,CAAE,YAAW,WAAU,UAAS,OAAM,GAAG,GAAS,IAAQ,CACzD,IAAM,EAAU,EAAM,WAAW,CAAkB,EAEnD,OACE,EAAA,EAAA,KAAA,EAAA,EAAA,CACO,MACL,UAAW,EAAA,EACT,EAAA,EAAe,CACb,QAAS,EAAQ,SAAW,EAC5B,KAAM,EAAQ,MAAQ,CACxB,CAAC,EACD,CACF,EACA,GAAI,EAEH,UACwB,CAAA,CAE/B,CACF,EAEA,EAAgB,YAAA,EAAA,GAAyC,aAAe"}
1
+ {"version":3,"file":"toggle-group.cjs","names":[],"sources":["../packages/ui-web/src/toggle-group.tsx"],"sourcesContent":["'use client';\n\nimport { type VariantProps } from 'class-variance-authority';\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\nimport { toggleVariants } from './toggle';\n\nimport type { ToggleGroupBaseProps } from '@gv-tech/ui-core';\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n orientation?: 'horizontal' | 'vertical';\n }\n>({\n size: 'default',\n variant: 'default',\n spacing: 2,\n orientation: 'horizontal',\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 2,\n orientation = 'horizontal',\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n orientation?: 'horizontal' | 'vertical';\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ '--gap': spacing } as React.CSSProperties}\n className={cn(\n 'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch data-[size=sm]:rounded-[min(var(--radius-md),10px)]',\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing, orientation }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = 'default',\n size = 'default',\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n 'shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pe-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:ps-1.5 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:first:rounded-s-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:last:rounded-e-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-s-0 group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-s group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t',\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyToggleGroupContract: ToggleGroupBaseProps = {} as unknown as React.ComponentProps<typeof ToggleGroup>;\n"],"mappings":"yRAWM,EAAqB,EAAM,cAK/B,CACA,KAAM,UACN,QAAS,UACT,QAAS,EACT,YAAa,YACf,CAAC,EAED,SAAS,EAAY,CACnB,YACA,UACA,OACA,UAAU,EACV,cAAc,aACd,WACA,GAAG,GAKA,CACH,OACE,EAAA,EAAA,KAAA,EAAA,GAAA,CACE,YAAU,eACV,eAAc,EACd,YAAW,EACX,eAAc,EACd,mBAAkB,EAClB,MAAO,CAAE,QAAS,CAAQ,EAC1B,UAAW,EAAA,EACT,gOACA,CACF,EACA,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAmB,SAApB,CAA6B,MAAO,CAAE,UAAS,OAAM,UAAS,aAAY,EACvE,UAC0B,CAAA,CACJ,CAAA,CAE/B,CAEA,SAAS,EAAgB,CACvB,YACA,WACA,UAAU,UACV,OAAO,UACP,GAAG,GAC4F,CAC/F,IAAM,EAAU,EAAM,WAAW,CAAkB,EAEnD,OACE,EAAA,EAAA,KAAA,EAAA,GAAA,CACE,YAAU,oBACV,eAAc,EAAQ,SAAW,EACjC,YAAW,EAAQ,MAAQ,EAC3B,eAAc,EAAQ,QACtB,UAAW,EAAA,EACT,m/BACA,EAAA,eAAe,CACb,QAAS,EAAQ,SAAW,EAC5B,KAAM,EAAQ,MAAQ,CACxB,CAAC,EACD,CACF,EACA,GAAI,EAEH,UACwB,CAAA,CAE/B"}
@@ -1,39 +1,52 @@
1
1
  "use client";
2
2
  "use client";
3
- import { f as e, p as t, vr as n } from "./vendor-ChPUVHXi.mjs";
4
- import { t as r } from "./utils-BsD1_fYL.mjs";
5
- import { t as i } from "./src-N08I3kfW.mjs";
3
+ import { Jr as e, ft as t, pt as n } from "./vendor-B6CFfDyk.mjs";
4
+ import { t as r } from "./utils-IYJAOUsw.mjs";
5
+ import { toggleVariants as i } from "./toggle.mjs";
6
6
  import * as a from "react";
7
7
  //#region packages/ui-web/src/toggle-group.tsx
8
- var o = n(), s = a.createContext({
8
+ var o = e(), s = a.createContext({
9
9
  size: "default",
10
- variant: "default"
11
- }), c = a.forwardRef(({ className: e, variant: n, size: i, children: a, ...c }, l) => /* @__PURE__ */ (0, o.jsx)(t, {
12
- ref: l,
13
- className: r("flex items-center justify-center gap-1", e),
14
- ...c,
15
- children: /* @__PURE__ */ (0, o.jsx)(s.Provider, {
16
- value: {
17
- variant: n,
18
- size: i
19
- },
20
- children: a
21
- })
22
- }));
23
- c.displayName = t?.displayName || "ToggleGroup";
24
- var l = a.forwardRef(({ className: t, children: n, variant: c, size: l, ...u }, d) => {
25
- let f = a.useContext(s);
26
- return /* @__PURE__ */ (0, o.jsx)(e, {
27
- ref: d,
28
- className: r(i({
29
- variant: f.variant || c,
30
- size: f.size || l
31
- }), t),
10
+ variant: "default",
11
+ spacing: 2,
12
+ orientation: "horizontal"
13
+ });
14
+ function c({ className: e, variant: t, size: i, spacing: a = 2, orientation: c = "horizontal", children: l, ...u }) {
15
+ return /* @__PURE__ */ (0, o.jsx)(n, {
16
+ "data-slot": "toggle-group",
17
+ "data-variant": t,
18
+ "data-size": i,
19
+ "data-spacing": a,
20
+ "data-orientation": c,
21
+ style: { "--gap": a },
22
+ className: r("group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch data-[size=sm]:rounded-[min(var(--radius-md),10px)]", e),
23
+ ...u,
24
+ children: /* @__PURE__ */ (0, o.jsx)(s.Provider, {
25
+ value: {
26
+ variant: t,
27
+ size: i,
28
+ spacing: a,
29
+ orientation: c
30
+ },
31
+ children: l
32
+ })
33
+ });
34
+ }
35
+ function l({ className: e, children: n, variant: c = "default", size: l = "default", ...u }) {
36
+ let d = a.useContext(s);
37
+ return /* @__PURE__ */ (0, o.jsx)(t, {
38
+ "data-slot": "toggle-group-item",
39
+ "data-variant": d.variant || c,
40
+ "data-size": d.size || l,
41
+ "data-spacing": d.spacing,
42
+ className: r("shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pe-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:ps-1.5 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:first:rounded-s-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:last:rounded-e-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-s-0 group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-s group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t", i({
43
+ variant: d.variant || c,
44
+ size: d.size || l
45
+ }), e),
32
46
  ...u,
33
47
  children: n
34
48
  });
35
- });
36
- l.displayName = e?.displayName || "ToggleGroupItem";
49
+ }
37
50
  //#endregion
38
51
  export { c as ToggleGroup, l as ToggleGroupItem };
39
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.mjs","names":[],"sources":["../packages/ui-web/src/toggle-group.tsx"],"sourcesContent":["'use client';\n\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport { type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { toggleVariants } from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst ToggleGroupContext = React.createContext<VariantProps<typeof toggleVariants>>({\n size: 'default',\n variant: 'default',\n});\n\nexport type ToggleGroupProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>;\n\nconst ToggleGroup = React.forwardRef<React.ElementRef<typeof ToggleGroupPrimitive.Root>, ToggleGroupProps>(\n ({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root ref={ref} className={cn('flex items-center justify-center gap-1', className)} {...props}>\n <ToggleGroupContext.Provider value={{ variant, size }}>{children}</ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n ),\n);\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root?.displayName || 'ToggleGroup';\n\nexport type ToggleGroupItemProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>;\n\nconst ToggleGroupItem = React.forwardRef<React.ElementRef<typeof ToggleGroupPrimitive.Item>, ToggleGroupItemProps>(\n ({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n },\n);\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item?.displayName || 'ToggleGroupItem';\n\nexport { ToggleGroup, ToggleGroupItem };\n"],"mappings":";;;;;;;aASM,IAAqB,EAAM,cAAmD;CAClF,MAAM;CACN,SAAS;AACX,CAAC,GAKK,IAAc,EAAM,YACvB,EAAE,cAAW,YAAS,SAAM,aAAU,GAAG,KAAS,MACjD,iBAAA,GAAA,EAAA,KAAC,GAAD;CAAgC;CAAK,WAAW,EAAG,0CAA0C,CAAS;CAAG,GAAI;WAC3G,iBAAA,GAAA,EAAA,KAAC,EAAmB,UAApB;EAA6B,OAAO;GAAE;GAAS;EAAK;EAAI;CAAsC,CAAA;AACrE,CAAA,CAE/B;AAEA,EAAY,cAAA,GAAyC,eAAe;AAKpE,IAAM,IAAkB,EAAM,YAC3B,EAAE,cAAW,aAAU,YAAS,SAAM,GAAG,KAAS,MAAQ;CACzD,IAAM,IAAU,EAAM,WAAW,CAAkB;CAEnD,OACE,iBAAA,GAAA,EAAA,KAAC,GAAD;EACO;EACL,WAAW,EACT,EAAe;GACb,SAAS,EAAQ,WAAW;GAC5B,MAAM,EAAQ,QAAQ;EACxB,CAAC,GACD,CACF;EACA,GAAI;EAEH;CACwB,CAAA;AAE/B,CACF;AAEA,EAAgB,cAAA,GAAyC,eAAe"}
1
+ {"version":3,"file":"toggle-group.mjs","names":[],"sources":["../packages/ui-web/src/toggle-group.tsx"],"sourcesContent":["'use client';\n\nimport { type VariantProps } from 'class-variance-authority';\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from './lib/utils';\nimport { toggleVariants } from './toggle';\n\nimport type { ToggleGroupBaseProps } from '@gv-tech/ui-core';\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n orientation?: 'horizontal' | 'vertical';\n }\n>({\n size: 'default',\n variant: 'default',\n spacing: 2,\n orientation: 'horizontal',\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 2,\n orientation = 'horizontal',\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n orientation?: 'horizontal' | 'vertical';\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ '--gap': spacing } as React.CSSProperties}\n className={cn(\n 'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch data-[size=sm]:rounded-[min(var(--radius-md),10px)]',\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing, orientation }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = 'default',\n size = 'default',\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n 'shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pe-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:ps-1.5 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:first:rounded-s-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:last:rounded-e-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-s-0 group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-s group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t',\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyToggleGroupContract: ToggleGroupBaseProps = {} as unknown as React.ComponentProps<typeof ToggleGroup>;\n"],"mappings":";;;;;;;aAWM,IAAqB,EAAM,cAK/B;CACA,MAAM;CACN,SAAS;CACT,SAAS;CACT,aAAa;AACf,CAAC;AAED,SAAS,EAAY,EACnB,cACA,YACA,SACA,aAAU,GACV,iBAAc,cACd,aACA,GAAG,KAKA;CACH,OACE,iBAAA,GAAA,EAAA,KAAC,GAAD;EACE,aAAU;EACV,gBAAc;EACd,aAAW;EACX,gBAAc;EACd,oBAAkB;EAClB,OAAO,EAAE,SAAS,EAAQ;EAC1B,WAAW,EACT,iOACA,CACF;EACA,GAAI;YAEJ,iBAAA,GAAA,EAAA,KAAC,EAAmB,UAApB;GAA6B,OAAO;IAAE;IAAS;IAAM;IAAS;GAAY;GACvE;EAC0B,CAAA;CACJ,CAAA;AAE/B;AAEA,SAAS,EAAgB,EACvB,cACA,aACA,aAAU,WACV,UAAO,WACP,GAAG,KAC4F;CAC/F,IAAM,IAAU,EAAM,WAAW,CAAkB;CAEnD,OACE,iBAAA,GAAA,EAAA,KAAC,GAAD;EACE,aAAU;EACV,gBAAc,EAAQ,WAAW;EACjC,aAAW,EAAQ,QAAQ;EAC3B,gBAAc,EAAQ;EACtB,WAAW,EACT,o/BACA,EAAe;GACb,SAAS,EAAQ,WAAW;GAC5B,MAAM,EAAQ,QAAQ;EACxB,CAAC,GACD,CACF;EACA,GAAI;EAEH;CACwB,CAAA;AAE/B"}