@gv-tech/design-system 2.19.0 → 2.21.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 (484) hide show
  1. package/dist/accordion.cjs +2 -2
  2. package/dist/accordion.cjs.map +1 -1
  3. package/dist/accordion.d.ts +2 -34
  4. package/dist/accordion.mjs +35 -38
  5. package/dist/accordion.mjs.map +1 -1
  6. package/dist/alert-dialog.cjs +2 -2
  7. package/dist/alert-dialog.cjs.map +1 -1
  8. package/dist/alert-dialog.d.ts +2 -74
  9. package/dist/alert-dialog.mjs +55 -69
  10. package/dist/alert-dialog.mjs.map +1 -1
  11. package/dist/alert.cjs +2 -2
  12. package/dist/alert.cjs.map +1 -1
  13. package/dist/alert.d.ts +2 -29
  14. package/dist/alert.mjs +36 -32
  15. package/dist/alert.mjs.map +1 -1
  16. package/dist/aspect-ratio.cjs +2 -2
  17. package/dist/aspect-ratio.cjs.map +1 -1
  18. package/dist/aspect-ratio.d.ts +2 -14
  19. package/dist/aspect-ratio.mjs +8 -6
  20. package/dist/aspect-ratio.mjs.map +1 -1
  21. package/dist/avatar.cjs +2 -2
  22. package/dist/avatar.cjs.map +1 -1
  23. package/dist/avatar.d.ts +2 -26
  24. package/dist/avatar.mjs +27 -29
  25. package/dist/avatar.mjs.map +1 -1
  26. package/dist/badge.cjs +2 -2
  27. package/dist/badge.cjs.map +1 -1
  28. package/dist/badge.d.ts +2 -21
  29. package/dist/badge.mjs +23 -25
  30. package/dist/badge.mjs.map +1 -1
  31. package/dist/breadcrumb.cjs +2 -2
  32. package/dist/breadcrumb.cjs.map +1 -1
  33. package/dist/breadcrumb.d.ts +2 -62
  34. package/dist/breadcrumb.mjs +60 -67
  35. package/dist/breadcrumb.mjs.map +1 -1
  36. package/dist/button.cjs +2 -2
  37. package/dist/button.cjs.map +1 -1
  38. package/dist/button.d.ts +2 -22
  39. package/dist/button.mjs +40 -39
  40. package/dist/button.mjs.map +1 -1
  41. package/dist/calendar.cjs +2 -2
  42. package/dist/calendar.cjs.map +1 -1
  43. package/dist/calendar.d.ts +2 -36
  44. package/dist/calendar.mjs +94 -130
  45. package/dist/calendar.mjs.map +1 -1
  46. package/dist/card.cjs +2 -2
  47. package/dist/card.cjs.map +1 -1
  48. package/dist/card.d.ts +2 -23
  49. package/dist/card.mjs +44 -33
  50. package/dist/card.mjs.map +1 -1
  51. package/dist/carousel.cjs +2 -2
  52. package/dist/carousel.cjs.map +1 -1
  53. package/dist/carousel.d.ts +2 -78
  54. package/dist/carousel.mjs +113 -151
  55. package/dist/carousel.mjs.map +1 -1
  56. package/dist/chart.cjs +5 -5
  57. package/dist/chart.cjs.map +1 -1
  58. package/dist/chart.d.ts +2 -90
  59. package/dist/chart.mjs +124 -182
  60. package/dist/chart.mjs.map +1 -1
  61. package/dist/checkbox.cjs +2 -2
  62. package/dist/checkbox.cjs.map +1 -1
  63. package/dist/checkbox.d.ts +2 -17
  64. package/dist/checkbox.mjs +19 -22
  65. package/dist/checkbox.mjs.map +1 -1
  66. package/dist/collapsible.cjs +2 -2
  67. package/dist/collapsible.cjs.map +1 -1
  68. package/dist/collapsible.d.ts +2 -32
  69. package/dist/collapsible.mjs +8 -8
  70. package/dist/collapsible.mjs.map +1 -1
  71. package/dist/command.cjs +2 -2
  72. package/dist/command.cjs.map +1 -1
  73. package/dist/command.d.ts +2 -133
  74. package/dist/command.mjs +80 -86
  75. package/dist/command.mjs.map +1 -1
  76. package/dist/context-menu.cjs +2 -2
  77. package/dist/context-menu.cjs.map +1 -1
  78. package/dist/context-menu.d.ts +2 -115
  79. package/dist/context-menu.mjs +72 -124
  80. package/dist/context-menu.mjs.map +1 -1
  81. package/dist/design-system.css +3 -1
  82. package/dist/dialog.cjs +2 -2
  83. package/dist/dialog.cjs.map +1 -1
  84. package/dist/dialog.d.ts +2 -31
  85. package/dist/dialog.mjs +50 -65
  86. package/dist/dialog.mjs.map +1 -1
  87. package/dist/drawer.cjs +2 -2
  88. package/dist/drawer.cjs.map +1 -1
  89. package/dist/drawer.d.ts +2 -79
  90. package/dist/drawer.mjs +49 -54
  91. package/dist/drawer.mjs.map +1 -1
  92. package/dist/dropdown-menu.cjs +2 -2
  93. package/dist/dropdown-menu.cjs.map +1 -1
  94. package/dist/dropdown-menu.d.ts +2 -124
  95. package/dist/dropdown-menu.mjs +73 -126
  96. package/dist/dropdown-menu.mjs.map +1 -1
  97. package/dist/form.cjs +2 -2
  98. package/dist/form.cjs.map +1 -1
  99. package/dist/form.d.ts +2 -62
  100. package/dist/form.mjs +75 -65
  101. package/dist/form.mjs.map +1 -1
  102. package/dist/hover-card.cjs +2 -2
  103. package/dist/hover-card.cjs.map +1 -1
  104. package/dist/hover-card.d.ts +2 -30
  105. package/dist/hover-card.mjs +17 -23
  106. package/dist/hover-card.mjs.map +1 -1
  107. package/dist/index.cjs +1 -2
  108. package/dist/index.d.ts +2 -2442
  109. package/dist/index.mjs +56 -430
  110. package/dist/input.cjs +2 -2
  111. package/dist/input.cjs.map +1 -1
  112. package/dist/input.d.ts +2 -14
  113. package/dist/input.mjs +16 -20
  114. package/dist/input.mjs.map +1 -1
  115. package/dist/label.cjs +2 -2
  116. package/dist/label.cjs.map +1 -1
  117. package/dist/label.d.ts +2 -14
  118. package/dist/label.mjs +14 -8
  119. package/dist/label.mjs.map +1 -1
  120. package/dist/menubar.cjs +2 -2
  121. package/dist/menubar.cjs.map +1 -1
  122. package/dist/menubar.d.ts +2 -125
  123. package/dist/menubar.mjs +101 -156
  124. package/dist/menubar.mjs.map +1 -1
  125. package/dist/navigation-menu.cjs +2 -2
  126. package/dist/navigation-menu.cjs.map +1 -1
  127. package/dist/navigation-menu.d.ts +2 -77
  128. package/dist/navigation-menu.mjs +58 -96
  129. package/dist/navigation-menu.mjs.map +1 -1
  130. package/dist/packages/design-tokens/src/index.d.ts +91 -0
  131. package/dist/packages/design-tokens/src/palette.d.ts +31 -0
  132. package/dist/packages/design-tokens/src/preset.d.ts +107 -0
  133. package/dist/packages/design-tokens/src/radii.d.ts +20 -0
  134. package/dist/packages/design-tokens/src/shadows.d.ts +11 -0
  135. package/dist/packages/design-tokens/src/spacing.d.ts +29 -0
  136. package/dist/packages/design-tokens/src/theme.d.ts +47 -0
  137. package/dist/packages/design-tokens/src/typography.d.ts +32 -0
  138. package/dist/packages/ui-core/src/contracts/accordion.d.ts +19 -0
  139. package/dist/packages/ui-core/src/contracts/alert-dialog.d.ts +39 -0
  140. package/dist/packages/ui-core/src/contracts/alert.d.ts +14 -0
  141. package/dist/packages/ui-core/src/contracts/aspect-ratio.d.ts +6 -0
  142. package/dist/packages/ui-core/src/contracts/avatar.d.ts +14 -0
  143. package/dist/packages/ui-core/src/contracts/badge.d.ts +6 -0
  144. package/dist/packages/ui-core/src/contracts/breadcrumb.d.ts +30 -0
  145. package/dist/packages/ui-core/src/contracts/button.d.ts +9 -0
  146. package/dist/packages/ui-core/src/contracts/calendar.d.ts +4 -0
  147. package/dist/packages/ui-core/src/contracts/card.d.ts +5 -0
  148. package/dist/packages/ui-core/src/contracts/carousel.d.ts +24 -0
  149. package/dist/packages/ui-core/src/contracts/chart.d.ts +33 -0
  150. package/dist/packages/ui-core/src/contracts/checkbox.d.ts +7 -0
  151. package/dist/packages/ui-core/src/contracts/collapsible.d.ts +18 -0
  152. package/dist/packages/ui-core/src/contracts/command.d.ts +35 -0
  153. package/dist/packages/ui-core/src/contracts/context-menu.d.ts +64 -0
  154. package/dist/packages/ui-core/src/contracts/dialog.d.ts +13 -0
  155. package/dist/packages/ui-core/src/contracts/drawer.d.ts +31 -0
  156. package/dist/packages/ui-core/src/contracts/dropdown-menu.d.ts +73 -0
  157. package/dist/packages/ui-core/src/contracts/form.d.ts +23 -0
  158. package/dist/packages/ui-core/src/contracts/hover-card.d.ts +18 -0
  159. package/dist/packages/ui-core/src/contracts/input.d.ts +5 -0
  160. package/dist/packages/ui-core/src/contracts/label.d.ts +6 -0
  161. package/dist/packages/ui-core/src/contracts/menubar.d.ts +73 -0
  162. package/dist/packages/ui-core/src/contracts/navigation-menu.d.ts +47 -0
  163. package/dist/packages/ui-core/src/contracts/pagination.d.ts +31 -0
  164. package/dist/packages/ui-core/src/contracts/popover.d.ts +24 -0
  165. package/dist/packages/ui-core/src/contracts/progress.d.ts +4 -0
  166. package/dist/packages/ui-core/src/contracts/radio.d.ts +9 -0
  167. package/dist/packages/ui-core/src/contracts/resizable.d.ts +38 -0
  168. package/dist/packages/ui-core/src/contracts/scroll-area.d.ts +13 -0
  169. package/dist/packages/ui-core/src/contracts/scroll-to-top.d.ts +25 -0
  170. package/dist/packages/ui-core/src/contracts/search.d.ts +12 -0
  171. package/dist/packages/ui-core/src/contracts/select.d.ts +54 -0
  172. package/dist/packages/ui-core/src/contracts/separator.d.ts +5 -0
  173. package/dist/packages/ui-core/src/contracts/sheet.d.ts +48 -0
  174. package/dist/packages/ui-core/src/contracts/skeleton.d.ts +5 -0
  175. package/dist/packages/ui-core/src/contracts/slider.d.ts +15 -0
  176. package/dist/packages/ui-core/src/contracts/sonner.d.ts +15 -0
  177. package/dist/packages/ui-core/src/contracts/switch.d.ts +11 -0
  178. package/dist/packages/ui-core/src/contracts/table-of-contents.d.ts +41 -0
  179. package/dist/packages/ui-core/src/contracts/table.d.ts +33 -0
  180. package/dist/packages/ui-core/src/contracts/tabs.d.ts +27 -0
  181. package/dist/packages/ui-core/src/contracts/text.d.ts +6 -0
  182. package/dist/packages/ui-core/src/contracts/textarea.d.ts +7 -0
  183. package/dist/packages/ui-core/src/contracts/theme-provider.d.ts +13 -0
  184. package/dist/packages/ui-core/src/contracts/theme-toggle.d.ts +15 -0
  185. package/dist/packages/ui-core/src/contracts/toast.d.ts +10 -0
  186. package/dist/packages/ui-core/src/contracts/toaster.d.ts +3 -0
  187. package/dist/packages/ui-core/src/contracts/toggle-group.d.ts +21 -0
  188. package/dist/packages/ui-core/src/contracts/toggle.d.ts +29 -0
  189. package/dist/packages/ui-core/src/contracts/tooltip.d.ts +24 -0
  190. package/dist/packages/ui-core/src/index.d.ts +56 -0
  191. package/dist/packages/ui-web/src/accordion.d.ts +9 -0
  192. package/dist/packages/ui-web/src/accordion.test.d.ts +1 -0
  193. package/dist/packages/ui-web/src/alert-dialog.d.ts +22 -0
  194. package/dist/packages/ui-web/src/alert-dialog.test.d.ts +1 -0
  195. package/dist/packages/ui-web/src/alert.d.ts +11 -0
  196. package/dist/packages/ui-web/src/alert.test.d.ts +1 -0
  197. package/dist/packages/ui-web/src/aspect-ratio.d.ts +6 -0
  198. package/dist/packages/ui-web/src/aspect-ratio.test.d.ts +1 -0
  199. package/dist/packages/ui-web/src/avatar.d.ts +8 -0
  200. package/dist/packages/ui-web/src/avatar.test.d.ts +1 -0
  201. package/dist/packages/ui-web/src/badge.d.ts +11 -0
  202. package/dist/packages/ui-web/src/badge.test.d.ts +1 -0
  203. package/dist/packages/ui-web/src/breadcrumb.d.ts +19 -0
  204. package/dist/packages/ui-web/src/button.d.ts +13 -0
  205. package/dist/packages/ui-web/src/button.test.d.ts +1 -0
  206. package/dist/packages/ui-web/src/calendar.d.ts +10 -0
  207. package/dist/packages/ui-web/src/calendar.test.d.ts +1 -0
  208. package/dist/packages/ui-web/src/card.d.ts +11 -0
  209. package/dist/packages/ui-web/src/card.test.d.ts +1 -0
  210. package/dist/packages/ui-web/src/carousel.d.ts +24 -0
  211. package/dist/packages/ui-web/src/carousel.test.d.ts +1 -0
  212. package/dist/packages/ui-web/src/chart.d.ts +16 -0
  213. package/dist/packages/ui-web/src/chart.test.d.ts +1 -0
  214. package/dist/packages/ui-web/src/checkbox.d.ts +7 -0
  215. package/dist/packages/ui-web/src/checkbox.test.d.ts +1 -0
  216. package/dist/packages/ui-web/src/collapsible.d.ts +8 -0
  217. package/dist/packages/ui-web/src/collapsible.test.d.ts +1 -0
  218. package/dist/packages/ui-web/src/command.d.ts +82 -0
  219. package/dist/packages/ui-web/src/command.test.d.ts +1 -0
  220. package/dist/packages/ui-web/src/context-menu.d.ts +23 -0
  221. package/dist/packages/ui-web/src/context-menu.test.d.ts +1 -0
  222. package/dist/packages/ui-web/src/dialog.d.ts +19 -0
  223. package/dist/packages/ui-web/src/dialog.test.d.ts +1 -0
  224. package/dist/packages/ui-web/src/drawer.d.ts +25 -0
  225. package/dist/packages/ui-web/src/drawer.test.d.ts +1 -0
  226. package/dist/packages/ui-web/src/dropdown-menu.d.ts +23 -0
  227. package/dist/packages/ui-web/src/dropdown-menu.test.d.ts +1 -0
  228. package/dist/packages/ui-web/src/form.d.ts +26 -0
  229. package/dist/packages/ui-web/src/form.test.d.ts +1 -0
  230. package/dist/packages/ui-web/src/hooks/use-theme.d.ts +51 -0
  231. package/dist/packages/ui-web/src/hooks/use-toast.d.ts +44 -0
  232. package/dist/packages/ui-web/src/hover-card.d.ts +8 -0
  233. package/dist/packages/ui-web/src/hover-card.test.d.ts +1 -0
  234. package/dist/packages/ui-web/src/index.d.ts +107 -0
  235. package/dist/packages/ui-web/src/input.d.ts +6 -0
  236. package/dist/packages/ui-web/src/input.test.d.ts +1 -0
  237. package/dist/packages/ui-web/src/label.d.ts +8 -0
  238. package/dist/packages/ui-web/src/label.test.d.ts +1 -0
  239. package/dist/packages/ui-web/src/lib/utils.d.ts +3 -0
  240. package/dist/packages/ui-web/src/menubar.d.ts +24 -0
  241. package/dist/packages/ui-web/src/menubar.test.d.ts +1 -0
  242. package/dist/packages/ui-web/src/navigation-menu.d.ts +15 -0
  243. package/dist/packages/ui-web/src/navigation-menu.test.d.ts +1 -0
  244. package/dist/packages/ui-web/src/pagination.d.ts +30 -0
  245. package/dist/packages/ui-web/src/pagination.test.d.ts +1 -0
  246. package/dist/packages/ui-web/src/popover.d.ts +9 -0
  247. package/dist/packages/ui-web/src/popover.test.d.ts +1 -0
  248. package/dist/packages/ui-web/src/progress.d.ts +6 -0
  249. package/dist/packages/ui-web/src/progress.test.d.ts +1 -0
  250. package/dist/packages/ui-web/src/radio-group.d.ts +10 -0
  251. package/dist/packages/ui-web/src/radio-group.test.d.ts +1 -0
  252. package/dist/packages/ui-web/src/resizable.d.ts +8 -0
  253. package/dist/packages/ui-web/src/resizable.test.d.ts +1 -0
  254. package/dist/packages/ui-web/src/scroll-area.d.ts +7 -0
  255. package/dist/packages/ui-web/src/scroll-area.test.d.ts +1 -0
  256. package/dist/packages/ui-web/src/scroll-to-top.d.ts +7 -0
  257. package/dist/packages/ui-web/src/scroll-to-top.test.d.ts +1 -0
  258. package/dist/packages/ui-web/src/search.d.ts +7 -0
  259. package/dist/packages/ui-web/src/search.test.d.ts +1 -0
  260. package/dist/packages/ui-web/src/select.d.ts +15 -0
  261. package/dist/packages/ui-web/src/select.test.d.ts +1 -0
  262. package/dist/packages/ui-web/src/separator.d.ts +6 -0
  263. package/dist/packages/ui-web/src/separator.test.d.ts +1 -0
  264. package/dist/packages/ui-web/src/setupTests.d.ts +0 -0
  265. package/dist/packages/ui-web/src/sheet.d.ts +28 -0
  266. package/dist/packages/ui-web/src/sheet.test.d.ts +1 -0
  267. package/dist/packages/ui-web/src/skeleton.d.ts +5 -0
  268. package/dist/packages/ui-web/src/skeleton.test.d.ts +1 -0
  269. package/dist/packages/ui-web/src/slider.d.ts +6 -0
  270. package/dist/packages/ui-web/src/slider.test.d.ts +1 -0
  271. package/dist/packages/ui-web/src/sonner.d.ts +7 -0
  272. package/dist/packages/ui-web/src/sonner.test.d.ts +1 -0
  273. package/dist/packages/ui-web/src/support-fab.d.ts +15 -0
  274. package/dist/packages/ui-web/src/support-fab.test.d.ts +1 -0
  275. package/dist/packages/ui-web/src/switch.d.ts +6 -0
  276. package/dist/packages/ui-web/src/switch.test.d.ts +1 -0
  277. package/dist/packages/ui-web/src/table-of-contents.d.ts +23 -0
  278. package/dist/packages/ui-web/src/table-of-contents.test.d.ts +1 -0
  279. package/dist/packages/ui-web/src/table.d.ts +12 -0
  280. package/dist/packages/ui-web/src/table.test.d.ts +1 -0
  281. package/dist/packages/ui-web/src/tabs.d.ts +9 -0
  282. package/dist/packages/ui-web/src/tabs.test.d.ts +1 -0
  283. package/dist/packages/ui-web/src/text.d.ts +12 -0
  284. package/dist/packages/ui-web/src/text.test.d.ts +1 -0
  285. package/dist/packages/ui-web/src/textarea.d.ts +6 -0
  286. package/dist/packages/ui-web/src/textarea.test.d.ts +1 -0
  287. package/dist/packages/ui-web/src/theme-provider.d.ts +4 -0
  288. package/dist/packages/ui-web/src/theme-toggle.d.ts +3 -0
  289. package/dist/packages/ui-web/src/theme-toggle.test.d.ts +1 -0
  290. package/dist/packages/ui-web/src/toast.d.ts +16 -0
  291. package/dist/packages/ui-web/src/toast.test.d.ts +1 -0
  292. package/dist/packages/ui-web/src/toaster.d.ts +2 -0
  293. package/dist/packages/ui-web/src/toggle-group.d.ts +13 -0
  294. package/dist/packages/ui-web/src/toggle-group.test.d.ts +1 -0
  295. package/dist/packages/ui-web/src/toggle.d.ts +8 -0
  296. package/dist/packages/ui-web/src/toggle.test.d.ts +1 -0
  297. package/dist/packages/ui-web/src/tooltip.d.ts +12 -0
  298. package/dist/pagination.cjs +2 -2
  299. package/dist/pagination.cjs.map +1 -1
  300. package/dist/pagination.d.ts +2 -94
  301. package/dist/pagination.mjs +63 -67
  302. package/dist/pagination.mjs.map +1 -1
  303. package/dist/popover.cjs +2 -2
  304. package/dist/popover.cjs.map +1 -1
  305. package/dist/popover.d.ts +2 -39
  306. package/dist/popover.mjs +17 -24
  307. package/dist/popover.mjs.map +1 -1
  308. package/dist/progress.cjs +2 -2
  309. package/dist/progress.cjs.map +1 -1
  310. package/dist/progress.d.ts +2 -11
  311. package/dist/progress.mjs +19 -23
  312. package/dist/progress.mjs.map +1 -1
  313. package/dist/radio-group.cjs +2 -2
  314. package/dist/radio-group.cjs.map +1 -1
  315. package/dist/radio-group.d.ts +2 -25
  316. package/dist/radio-group.mjs +25 -27
  317. package/dist/radio-group.mjs.map +1 -1
  318. package/dist/resizable.cjs +2 -2
  319. package/dist/resizable.cjs.map +1 -1
  320. package/dist/resizable.d.ts +2 -53
  321. package/dist/resizable.mjs +21 -34
  322. package/dist/resizable.mjs.map +1 -1
  323. package/dist/rolldown-runtime-C0IHAABJ.mjs +23 -0
  324. package/dist/rolldown-runtime-CacfPODE.js +1 -0
  325. package/dist/scroll-area.cjs +2 -2
  326. package/dist/scroll-area.cjs.map +1 -1
  327. package/dist/scroll-area.d.ts +2 -22
  328. package/dist/scroll-area.mjs +31 -30
  329. package/dist/scroll-area.mjs.map +1 -1
  330. package/dist/scroll-to-top.cjs +2 -2
  331. package/dist/scroll-to-top.cjs.map +1 -1
  332. package/dist/scroll-to-top.d.ts +2 -37
  333. package/dist/scroll-to-top.mjs +72 -84
  334. package/dist/scroll-to-top.mjs.map +1 -1
  335. package/dist/search.cjs +2 -2
  336. package/dist/search.cjs.map +1 -1
  337. package/dist/search.d.ts +2 -26
  338. package/dist/search.mjs +54 -63
  339. package/dist/search.mjs.map +1 -1
  340. package/dist/select.cjs +2 -2
  341. package/dist/select.cjs.map +1 -1
  342. package/dist/select.d.ts +2 -87
  343. package/dist/select.mjs +70 -100
  344. package/dist/select.mjs.map +1 -1
  345. package/dist/separator.cjs +2 -2
  346. package/dist/separator.cjs.map +1 -1
  347. package/dist/separator.d.ts +2 -12
  348. package/dist/separator.mjs +17 -18
  349. package/dist/separator.mjs.map +1 -1
  350. package/dist/sheet.cjs +2 -2
  351. package/dist/sheet.cjs.map +1 -1
  352. package/dist/sheet.d.ts +2 -97
  353. package/dist/sheet.mjs +58 -64
  354. package/dist/sheet.mjs.map +1 -1
  355. package/dist/skeleton.cjs +2 -2
  356. package/dist/skeleton.cjs.map +1 -1
  357. package/dist/skeleton.d.ts +2 -11
  358. package/dist/skeleton.mjs +15 -8
  359. package/dist/skeleton.mjs.map +1 -1
  360. package/dist/slider.cjs +2 -2
  361. package/dist/slider.cjs.map +1 -1
  362. package/dist/slider.d.ts +2 -22
  363. package/dist/slider.mjs +19 -20
  364. package/dist/slider.mjs.map +1 -1
  365. package/dist/sonner.cjs +2 -2
  366. package/dist/sonner.cjs.map +1 -1
  367. package/dist/sonner.d.ts +2 -25
  368. package/dist/sonner.mjs +22 -24
  369. package/dist/sonner.mjs.map +1 -1
  370. package/dist/src/index.d.ts +2 -0
  371. package/dist/src/setupTests.d.ts +0 -0
  372. package/dist/src-B8AA-nU4.js +2 -0
  373. package/dist/src-B8AA-nU4.js.map +1 -0
  374. package/dist/src-C65A5RuY.mjs +23 -0
  375. package/dist/src-C65A5RuY.mjs.map +1 -0
  376. package/dist/support-fab.cjs +2 -2
  377. package/dist/support-fab.cjs.map +1 -1
  378. package/dist/support-fab.d.ts +2 -20
  379. package/dist/support-fab.mjs +82 -117
  380. package/dist/support-fab.mjs.map +1 -1
  381. package/dist/switch.cjs +2 -2
  382. package/dist/switch.cjs.map +1 -1
  383. package/dist/switch.d.ts +2 -18
  384. package/dist/switch.mjs +16 -27
  385. package/dist/switch.mjs.map +1 -1
  386. package/dist/table-of-contents.cjs +2 -2
  387. package/dist/table-of-contents.cjs.map +1 -1
  388. package/dist/table-of-contents.d.ts +2 -68
  389. package/dist/table-of-contents.mjs +161 -156
  390. package/dist/table-of-contents.mjs.map +1 -1
  391. package/dist/table.cjs +2 -2
  392. package/dist/table.cjs.map +1 -1
  393. package/dist/table.d.ts +2 -59
  394. package/dist/table.mjs +60 -58
  395. package/dist/table.mjs.map +1 -1
  396. package/dist/tabs.cjs +2 -2
  397. package/dist/tabs.cjs.map +1 -1
  398. package/dist/tabs.d.ts +2 -42
  399. package/dist/tabs.mjs +27 -46
  400. package/dist/tabs.mjs.map +1 -1
  401. package/dist/text.cjs +2 -2
  402. package/dist/text.cjs.map +1 -1
  403. package/dist/text.d.ts +2 -21
  404. package/dist/text.mjs +42 -42
  405. package/dist/text.mjs.map +1 -1
  406. package/dist/textarea.cjs +2 -2
  407. package/dist/textarea.cjs.map +1 -1
  408. package/dist/textarea.d.ts +2 -16
  409. package/dist/textarea.mjs +14 -18
  410. package/dist/textarea.mjs.map +1 -1
  411. package/dist/theme-provider.cjs +2 -2
  412. package/dist/theme-provider.cjs.map +1 -1
  413. package/dist/theme-provider.d.ts +2 -22
  414. package/dist/theme-provider.mjs +17 -8
  415. package/dist/theme-provider.mjs.map +1 -1
  416. package/dist/theme-toggle-B8UiizQB.js +2 -0
  417. package/dist/theme-toggle-B8UiizQB.js.map +1 -0
  418. package/dist/theme-toggle-DoAVRoyO.mjs +321 -0
  419. package/dist/theme-toggle-DoAVRoyO.mjs.map +1 -0
  420. package/dist/theme-toggle.cjs +1 -2
  421. package/dist/theme-toggle.d.ts +2 -23
  422. package/dist/theme-toggle.mjs +3 -9
  423. package/dist/toast.cjs +2 -2
  424. package/dist/toast.cjs.map +1 -1
  425. package/dist/toast.d.ts +2 -26
  426. package/dist/toast.mjs +53 -70
  427. package/dist/toast.mjs.map +1 -1
  428. package/dist/toaster-BgZxvlTL.mjs +128 -0
  429. package/dist/toaster-BgZxvlTL.mjs.map +1 -0
  430. package/dist/toaster-DnZKPR-G.js +2 -0
  431. package/dist/toaster-DnZKPR-G.js.map +1 -0
  432. package/dist/toaster.cjs +1 -2
  433. package/dist/toaster.d.ts +2 -9
  434. package/dist/toaster.mjs +3 -7
  435. package/dist/toggle-group.cjs +2 -2
  436. package/dist/toggle-group.cjs.map +1 -1
  437. package/dist/toggle-group.d.ts +2 -22
  438. package/dist/toggle-group.mjs +39 -37
  439. package/dist/toggle-group.mjs.map +1 -1
  440. package/dist/toggle.cjs +2 -2
  441. package/dist/toggle.cjs.map +1 -1
  442. package/dist/toggle.d.ts +2 -43
  443. package/dist/toggle.mjs +19 -12
  444. package/dist/toggle.mjs.map +1 -1
  445. package/dist/tooltip.cjs +2 -2
  446. package/dist/tooltip.cjs.map +1 -1
  447. package/dist/tooltip.d.ts +2 -48
  448. package/dist/tooltip.mjs +25 -29
  449. package/dist/tooltip.mjs.map +1 -1
  450. package/dist/utils-BtI8Nf6i.mjs +12 -0
  451. package/dist/utils-BtI8Nf6i.mjs.map +1 -0
  452. package/dist/utils-CbSX47LV.js +2 -0
  453. package/dist/utils-CbSX47LV.js.map +1 -0
  454. package/dist/vendor-Cr0eKZrm.mjs +28603 -0
  455. package/dist/vendor-Cr0eKZrm.mjs.map +1 -0
  456. package/dist/vendor-D3ZzLf8D.js +92 -0
  457. package/dist/vendor-D3ZzLf8D.js.map +1 -0
  458. package/package.json +32 -32
  459. package/dist/index.cjs.map +0 -1
  460. package/dist/index.mjs.map +0 -1
  461. package/dist/theme-toggle-BNtYv2Jv.mjs +0 -177
  462. package/dist/theme-toggle-BNtYv2Jv.mjs.map +0 -1
  463. package/dist/theme-toggle-DK_OhDRf.js +0 -2
  464. package/dist/theme-toggle-DK_OhDRf.js.map +0 -1
  465. package/dist/theme-toggle.cjs.map +0 -1
  466. package/dist/theme-toggle.mjs.map +0 -1
  467. package/dist/toaster-Cj_SryBI.mjs +0 -119
  468. package/dist/toaster-Cj_SryBI.mjs.map +0 -1
  469. package/dist/toaster-Q_hzVonm.js +0 -2
  470. package/dist/toaster-Q_hzVonm.js.map +0 -1
  471. package/dist/toaster.cjs.map +0 -1
  472. package/dist/toaster.mjs.map +0 -1
  473. package/dist/toggle-DPMTgo47.mjs +0 -25
  474. package/dist/toggle-DPMTgo47.mjs.map +0 -1
  475. package/dist/toggle-_F_yB_Dj.js +0 -2
  476. package/dist/toggle-_F_yB_Dj.js.map +0 -1
  477. package/dist/utils-Bgpn0CK0.mjs +0 -12
  478. package/dist/utils-Bgpn0CK0.mjs.map +0 -1
  479. package/dist/utils-CBWPs0D7.js +0 -2
  480. package/dist/utils-CBWPs0D7.js.map +0 -1
  481. package/dist/vendor-BQwS7aJt.mjs +0 -25217
  482. package/dist/vendor-BQwS7aJt.mjs.map +0 -1
  483. package/dist/vendor-B_07FHqh.js +0 -68
  484. package/dist/vendor-B_07FHqh.js.map +0 -1
@@ -1,78 +1,2 @@
1
- import { ClassProp } from 'class-variance-authority/types';
2
- import { default as default_2 } from 'embla-carousel-react';
3
- import * as React_2 from 'react';
4
- import { UseEmblaCarouselType } from 'embla-carousel-react';
5
- import { VariantProps } from 'class-variance-authority';
6
-
7
- declare interface ButtonBaseProps {
8
- disabled?: boolean;
9
- className?: string;
10
- children?: React.ReactNode;
11
- }
12
-
13
- declare interface ButtonProps extends React_2.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants>, ButtonBaseProps {
14
- asChild?: boolean;
15
- }
16
-
17
- declare const buttonVariants: (props?: ({
18
- variant?: "default" | "destructive" | "secondary" | "outline" | "ghost" | "link" | null | undefined;
19
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
20
- } & ClassProp) | undefined) => string;
21
-
22
- export declare const Carousel: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLDivElement> & CarouselBaseProps & {
23
- opts?: CarouselOptions;
24
- plugins?: CarouselPlugin;
25
- setApi?: (api: CarouselApi) => void;
26
- } & React_2.RefAttributes<HTMLDivElement>>;
27
-
28
- export declare type CarouselApi = UseEmblaCarouselType[1];
29
-
30
- declare interface CarouselBaseProps {
31
- className?: string;
32
- children?: React_2.ReactNode;
33
- orientation?: 'horizontal' | 'vertical';
34
- }
35
-
36
- export declare const CarouselContent: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLDivElement> & CarouselContentBaseProps & React_2.RefAttributes<HTMLDivElement>>;
37
-
38
- declare interface CarouselContentBaseProps {
39
- className?: string;
40
- children?: React_2.ReactNode;
41
- }
42
-
43
- export declare const CarouselItem: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLDivElement> & CarouselItemBaseProps & React_2.RefAttributes<HTMLDivElement>>;
44
-
45
- declare interface CarouselItemBaseProps {
46
- className?: string;
47
- children?: React_2.ReactNode;
48
- }
49
-
50
- export declare const CarouselNext: React_2.ForwardRefExoticComponent<Omit< ButtonProps & React_2.RefAttributes<HTMLButtonElement> & CarouselNextBaseProps, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
51
-
52
- declare interface CarouselNextBaseProps {
53
- className?: string;
54
- variant?: string;
55
- size?: string;
56
- }
57
-
58
- declare type CarouselOptions = UseCarouselParameters[0];
59
-
60
- declare type CarouselPlugin = UseCarouselParameters[1];
61
-
62
- export declare const CarouselPrevious: React_2.ForwardRefExoticComponent<Omit< ButtonProps & React_2.RefAttributes<HTMLButtonElement> & CarouselPreviousBaseProps, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
63
-
64
- declare interface CarouselPreviousBaseProps {
65
- className?: string;
66
- variant?: string;
67
- size?: string;
68
- }
69
-
70
- export declare type CarouselProps = React_2.HTMLAttributes<HTMLDivElement> & CarouselBaseProps & {
71
- opts?: CarouselOptions;
72
- plugins?: CarouselPlugin;
73
- setApi?: (api: CarouselApi) => void;
74
- };
75
-
76
- declare type UseCarouselParameters = Parameters<typeof default_2>;
77
-
78
- export { }
1
+ export * from './packages/ui-web/src/carousel'
2
+ export {}
package/dist/carousel.mjs CHANGED
@@ -1,155 +1,117 @@
1
1
  "use client";
2
- import { u as R, j as t, p as S, q as k } from "./vendor-BQwS7aJt.mjs";
3
- import * as e from "react";
4
- import { Button as N } from "./button.mjs";
5
- import { c as x } from "./utils-Bgpn0CK0.mjs";
6
- const w = e.createContext(null);
7
- function m() {
8
- const o = e.useContext(w);
9
- if (!o)
10
- throw new Error("useCarousel must be used within a <Carousel />");
11
- return o;
2
+ "use client";
3
+ import { bn as e, cr as t, lr as n, vr as r } from "./vendor-Cr0eKZrm.mjs";
4
+ import { t as i } from "./utils-BtI8Nf6i.mjs";
5
+ import { Button as a } from "./button.mjs";
6
+ import * as o from "react";
7
+ //#region packages/ui-web/src/carousel.tsx
8
+ var s = r(), c = o.createContext(null);
9
+ function l() {
10
+ let e = o.useContext(c);
11
+ if (!e) throw Error("useCarousel must be used within a <Carousel />");
12
+ return e;
12
13
  }
13
- const z = e.forwardRef(
14
- ({ orientation: o = "horizontal", opts: l, setApi: s, plugins: a, className: c, children: i, ...u }, f) => {
15
- const [p, r] = R(
16
- {
17
- ...l,
18
- axis: o === "horizontal" ? "x" : "y"
19
- },
20
- a
21
- ), [v, y] = e.useState(!1), [j, b] = e.useState(!1), d = e.useCallback((n) => {
22
- n && (y(n.canScrollPrev()), b(n.canScrollNext()));
23
- }, []), C = e.useCallback(() => {
24
- r?.scrollPrev();
25
- }, [r]), h = e.useCallback(() => {
26
- r?.scrollNext();
27
- }, [r]), P = e.useCallback(
28
- (n) => {
29
- n.key === "ArrowLeft" ? (n.preventDefault(), C()) : n.key === "ArrowRight" && (n.preventDefault(), h());
30
- },
31
- [C, h]
32
- );
33
- return e.useEffect(() => {
34
- !r || !s || s(r);
35
- }, [r, s]), e.useEffect(() => {
36
- if (r)
37
- return d(r), r.on("reInit", d), r.on("select", d), () => {
38
- r?.off("select", d);
39
- };
40
- }, [r, d]), /* @__PURE__ */ t.jsx(
41
- w.Provider,
42
- {
43
- value: {
44
- carouselRef: p,
45
- api: r,
46
- opts: l,
47
- orientation: o || (l?.axis === "y" ? "vertical" : "horizontal"),
48
- scrollPrev: C,
49
- scrollNext: h,
50
- canScrollPrev: v,
51
- canScrollNext: j
52
- },
53
- children: /* @__PURE__ */ t.jsx(
54
- "div",
55
- {
56
- ref: f,
57
- onKeyDownCapture: P,
58
- className: x("relative", c),
59
- role: "region",
60
- "aria-roledescription": "carousel",
61
- ...u,
62
- children: i
63
- }
64
- )
65
- }
66
- );
67
- }
68
- );
69
- z.displayName = "Carousel";
70
- const g = e.forwardRef(({ className: o, ...l }, s) => {
71
- const { carouselRef: a, orientation: c } = m();
72
- return /* @__PURE__ */ t.jsx("div", { ref: a, className: "overflow-hidden", children: /* @__PURE__ */ t.jsx(
73
- "div",
74
- {
75
- ref: s,
76
- className: x("flex", c === "horizontal" ? "-ml-4" : "-mt-4 flex-col", o),
77
- ...l
78
- }
79
- ) });
14
+ var u = o.forwardRef(({ orientation: t = "horizontal", opts: n, setApi: r, plugins: a, className: l, children: u, ...d }, f) => {
15
+ let [p, m] = e({
16
+ ...n,
17
+ axis: t === "horizontal" ? "x" : "y"
18
+ }, a), [h, g] = o.useState(!1), [_, v] = o.useState(!1), y = o.useCallback((e) => {
19
+ e && (g(e.canScrollPrev()), v(e.canScrollNext()));
20
+ }, []), b = o.useCallback(() => {
21
+ m?.scrollPrev();
22
+ }, [m]), x = o.useCallback(() => {
23
+ m?.scrollNext();
24
+ }, [m]), S = o.useCallback((e) => {
25
+ e.key === "ArrowLeft" ? (e.preventDefault(), b()) : e.key === "ArrowRight" && (e.preventDefault(), x());
26
+ }, [b, x]);
27
+ return o.useEffect(() => {
28
+ !m || !r || r(m);
29
+ }, [m, r]), o.useEffect(() => {
30
+ if (m) return y(m), m.on("reInit", y), m.on("select", y), () => {
31
+ m?.off("select", y);
32
+ };
33
+ }, [m, y]), /* @__PURE__ */ (0, s.jsx)(c.Provider, {
34
+ value: {
35
+ carouselRef: p,
36
+ api: m,
37
+ opts: n,
38
+ orientation: t || (n?.axis === "y" ? "vertical" : "horizontal"),
39
+ scrollPrev: b,
40
+ scrollNext: x,
41
+ canScrollPrev: h,
42
+ canScrollNext: _
43
+ },
44
+ children: /* @__PURE__ */ (0, s.jsx)("div", {
45
+ ref: f,
46
+ onKeyDownCapture: S,
47
+ className: i("relative", l),
48
+ role: "region",
49
+ "aria-roledescription": "carousel",
50
+ ...d,
51
+ children: u
52
+ })
53
+ });
54
+ });
55
+ u.displayName = "Carousel";
56
+ var d = o.forwardRef(({ className: e, ...t }, n) => {
57
+ let { carouselRef: r, orientation: a } = l();
58
+ return /* @__PURE__ */ (0, s.jsx)("div", {
59
+ ref: r,
60
+ className: "overflow-hidden",
61
+ children: /* @__PURE__ */ (0, s.jsx)("div", {
62
+ ref: n,
63
+ className: i("flex", a === "horizontal" ? "-ml-4" : "-mt-4 flex-col", e),
64
+ ...t
65
+ })
66
+ });
67
+ });
68
+ d.displayName = "CarouselContent";
69
+ var f = o.forwardRef(({ className: e, ...t }, n) => {
70
+ let { orientation: r } = l();
71
+ return /* @__PURE__ */ (0, s.jsx)("div", {
72
+ ref: n,
73
+ role: "group",
74
+ "aria-roledescription": "slide",
75
+ className: i("min-w-0 shrink-0 grow-0 basis-full", r === "horizontal" ? "pl-4" : "pt-4", e),
76
+ ...t
77
+ });
78
+ });
79
+ f.displayName = "CarouselItem";
80
+ var p = o.forwardRef(({ className: e, variant: t = "outline", size: r = "icon", ...o }, c) => {
81
+ let { orientation: u, scrollPrev: d, canScrollPrev: f } = l();
82
+ return /* @__PURE__ */ (0, s.jsxs)(a, {
83
+ ref: c,
84
+ variant: t,
85
+ size: r,
86
+ className: i("absolute h-8 w-8 rounded-full", u === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", e),
87
+ disabled: !f,
88
+ onClick: d,
89
+ ...o,
90
+ children: [/* @__PURE__ */ (0, s.jsx)(n, { className: "h-4 w-4" }), /* @__PURE__ */ (0, s.jsx)("span", {
91
+ className: "sr-only",
92
+ children: "Previous slide"
93
+ })]
94
+ });
80
95
  });
81
- g.displayName = "CarouselContent";
82
- const E = e.forwardRef(
83
- ({ className: o, ...l }, s) => {
84
- const { orientation: a } = m();
85
- return /* @__PURE__ */ t.jsx(
86
- "div",
87
- {
88
- ref: s,
89
- role: "group",
90
- "aria-roledescription": "slide",
91
- className: x("min-w-0 shrink-0 grow-0 basis-full", a === "horizontal" ? "pl-4" : "pt-4", o),
92
- ...l
93
- }
94
- );
95
- }
96
- );
97
- E.displayName = "CarouselItem";
98
- const D = e.forwardRef(({ className: o, variant: l = "outline", size: s = "icon", ...a }, c) => {
99
- const { orientation: i, scrollPrev: u, canScrollPrev: f } = m();
100
- return /* @__PURE__ */ t.jsxs(
101
- N,
102
- {
103
- ref: c,
104
- variant: l,
105
- size: s,
106
- className: x(
107
- "absolute h-8 w-8 rounded-full",
108
- i === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
109
- o
110
- ),
111
- disabled: !f,
112
- onClick: u,
113
- ...a,
114
- children: [
115
- /* @__PURE__ */ t.jsx(S, { className: "h-4 w-4" }),
116
- /* @__PURE__ */ t.jsx("span", { className: "sr-only", children: "Previous slide" })
117
- ]
118
- }
119
- );
96
+ p.displayName = "CarouselPrevious";
97
+ var m = o.forwardRef(({ className: e, variant: n = "outline", size: r = "icon", ...o }, c) => {
98
+ let { orientation: u, scrollNext: d, canScrollNext: f } = l();
99
+ return /* @__PURE__ */ (0, s.jsxs)(a, {
100
+ ref: c,
101
+ variant: n,
102
+ size: r,
103
+ className: i("absolute h-8 w-8 rounded-full", u === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", e),
104
+ disabled: !f,
105
+ onClick: d,
106
+ ...o,
107
+ children: [/* @__PURE__ */ (0, s.jsx)(t, { className: "h-4 w-4" }), /* @__PURE__ */ (0, s.jsx)("span", {
108
+ className: "sr-only",
109
+ children: "Next slide"
110
+ })]
111
+ });
120
112
  });
121
- D.displayName = "CarouselPrevious";
122
- const I = e.forwardRef(
123
- ({ className: o, variant: l = "outline", size: s = "icon", ...a }, c) => {
124
- const { orientation: i, scrollNext: u, canScrollNext: f } = m();
125
- return /* @__PURE__ */ t.jsxs(
126
- N,
127
- {
128
- ref: c,
129
- variant: l,
130
- size: s,
131
- className: x(
132
- "absolute h-8 w-8 rounded-full",
133
- i === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
134
- o
135
- ),
136
- disabled: !f,
137
- onClick: u,
138
- ...a,
139
- children: [
140
- /* @__PURE__ */ t.jsx(k, { className: "h-4 w-4" }),
141
- /* @__PURE__ */ t.jsx("span", { className: "sr-only", children: "Next slide" })
142
- ]
143
- }
144
- );
145
- }
146
- );
147
- I.displayName = "CarouselNext";
148
- export {
149
- z as Carousel,
150
- g as CarouselContent,
151
- E as CarouselItem,
152
- I as CarouselNext,
153
- D as CarouselPrevious
154
- };
155
- //# sourceMappingURL=carousel.mjs.map
113
+ m.displayName = "CarouselNext";
114
+ //#endregion
115
+ export { u as Carousel, d as CarouselContent, f as CarouselItem, m as CarouselNext, p as CarouselPrevious };
116
+
117
+ //# sourceMappingURL=carousel.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.mjs","sources":["../packages/ui-web/src/carousel.tsx"],"sourcesContent":["'use client';\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { ArrowLeft, ArrowRight } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n CarouselBaseProps,\n CarouselContentBaseProps,\n CarouselItemBaseProps,\n CarouselNextBaseProps,\n CarouselPreviousBaseProps,\n} from '@gv-tech/ui-core';\nimport { Button } from './button';\nimport { cn } from './lib/utils';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = React.HTMLAttributes<HTMLDivElement> &\n CarouselBaseProps & {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n setApi?: (api: CarouselApi) => void;\n };\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />');\n }\n\n return context;\n}\n\nconst Carousel = React.forwardRef<HTMLDivElement, CarouselProps>(\n ({ orientation = 'horizontal', opts, setApi, plugins, className, children, ...props }, ref) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return;\n }\n\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api?.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn('relative', className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n },\n);\nCarousel.displayName = 'Carousel';\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselContentBaseProps\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)}\n {...props}\n />\n </div>\n );\n});\nCarouselContent.displayName = 'CarouselContent';\n\nconst CarouselItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & CarouselItemBaseProps>(\n ({ className, ...props }, ref) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}\n {...props}\n />\n );\n },\n);\nCarouselItem.displayName = 'CarouselItem';\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button> & CarouselPreviousBaseProps\n>(({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n 'absolute h-8 w-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -left-12 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n});\nCarouselPrevious.displayName = 'CarouselPrevious';\n\nconst CarouselNext = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button> & CarouselNextBaseProps>(\n ({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n 'absolute h-8 w-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -right-12 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n },\n);\nCarouselNext.displayName = 'CarouselNext';\n\nexport { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi };\nexport type { CarouselProps };\n"],"names":["CarouselContext","React","useCarousel","context","Carousel","orientation","opts","setApi","plugins","className","children","props","ref","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","scrollPrev","scrollNext","handleKeyDown","event","jsx","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","jsxs","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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"}
1
+ {"version":3,"file":"carousel.mjs","names":[],"sources":["../packages/ui-web/src/carousel.tsx"],"sourcesContent":["'use client';\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { ArrowLeft, ArrowRight } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n CarouselBaseProps,\n CarouselContentBaseProps,\n CarouselItemBaseProps,\n CarouselNextBaseProps,\n CarouselPreviousBaseProps,\n} from '@gv-tech/ui-core';\nimport { Button } from './button';\nimport { cn } from './lib/utils';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = React.HTMLAttributes<HTMLDivElement> &\n CarouselBaseProps & {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n setApi?: (api: CarouselApi) => void;\n };\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />');\n }\n\n return context;\n}\n\nconst Carousel = React.forwardRef<HTMLDivElement, CarouselProps>(\n ({ orientation = 'horizontal', opts, setApi, plugins, className, children, ...props }, ref) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return;\n }\n\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api?.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn('relative', className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n },\n);\nCarousel.displayName = 'Carousel';\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselContentBaseProps\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)}\n {...props}\n />\n </div>\n );\n});\nCarouselContent.displayName = 'CarouselContent';\n\nconst CarouselItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & CarouselItemBaseProps>(\n ({ className, ...props }, ref) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}\n {...props}\n />\n );\n },\n);\nCarouselItem.displayName = 'CarouselItem';\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button> & CarouselPreviousBaseProps\n>(({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n 'absolute h-8 w-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -left-12 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n});\nCarouselPrevious.displayName = 'CarouselPrevious';\n\nconst CarouselNext = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button> & CarouselNextBaseProps>(\n ({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n 'absolute h-8 w-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -right-12 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n },\n);\nCarouselNext.displayName = 'CarouselNext';\n\nexport { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi };\nexport type { CarouselProps };\n"],"mappings":"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"}
package/dist/chart.cjs CHANGED
@@ -1,8 +1,8 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./vendor-B_07FHqh.js"),$=require("react"),l=require("./utils-CBWPs0D7.js");function O(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const n in o)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(o,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:()=>o[n]})}}return e.default=o,Object.freeze(e)}const x=O($),P={light:"",dark:".dark"},E=x.createContext(null);function y(){const o=x.useContext(E);if(!o)throw new Error("useChart must be used within a <ChartContainer />");return o}const _=x.forwardRef(({id:o,className:e,children:n,config:r,...a},u)=>{const i=x.useId(),c=`chart-${o||i.replace(/:/g,"")}`;return t.jsxRuntimeExports.jsx(E.Provider,{value:{config:r},children:t.jsxRuntimeExports.jsxs("div",{"data-chart":c,ref:u,className:l.cn("[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-sector]:outline-none [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-none",e),...a,children:[t.jsxRuntimeExports.jsx(w,{id:c,config:r}),t.jsxRuntimeExports.jsx(t.ResponsiveContainer,{children:n})]})})});_.displayName="Chart";const w=({id:o,config:e})=>{const n=Object.entries(e).filter(([,r])=>r.theme||r.color);return n.length?t.jsxRuntimeExports.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(P).map(([r,a])=>`
2
- ${a} [data-chart=${o}] {
3
- ${n.map(([u,i])=>{const c=i.theme?.[r]||i.color;return c?` --color-${u}: ${c};`:null}).join(`
1
+ "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./rolldown-runtime-CacfPODE.js`),t=require(`./vendor-D3ZzLf8D.js`),n=require(`./utils-CbSX47LV.js`);let r=require(`react`);r=e.r(r);var i=t.vr(),a={light:``,dark:`.dark`},o=r.createContext(null);function s(){let e=r.useContext(o);if(!e)throw Error(`useChart must be used within a <ChartContainer />`);return e}var c=r.forwardRef(({id:e,className:a,children:s,config:c,...u},d)=>{let f=r.useId(),p=`chart-${e||f.replace(/:/g,``)}`;return(0,i.jsx)(o.Provider,{value:{config:c},children:(0,i.jsxs)(`div`,{"data-chart":p,ref:d,className:n.t(`[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-sector]:outline-none [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-none`,a),...u,children:[(0,i.jsx)(l,{id:p,config:c}),(0,i.jsx)(t.yn,{children:s})]})})});c.displayName=`Chart`;var l=({id:e,config:t})=>{let n=Object.entries(t).filter(([,e])=>e.theme||e.color);return n.length?(0,i.jsx)(`style`,{dangerouslySetInnerHTML:{__html:Object.entries(a).map(([t,r])=>`
2
+ ${r} [data-chart=${e}] {
3
+ ${n.map(([e,n])=>{let r=n.theme?.[t]||n.color;return r?` --color-${e}: ${r};`:null}).join(`
4
4
  `)}
5
5
  }
6
6
  `).join(`
7
- `)}}):null},M=t.Tooltip,k=x.forwardRef(({active:o,payload:e,className:n,indicator:r="dot",hideLabel:a=!1,hideIndicator:u=!1,label:i,labelFormatter:c,labelClassName:h,formatter:f,color:L,nameKey:T,labelKey:g},S)=>{const{config:p}=y(),C=x.useMemo(()=>{if(a||!e?.length)return null;const[s]=e,j=`${g||s?.dataKey||s?.name||"value"}`,v=b(p,s,j),d=!g&&typeof i=="string"?p[i]?.label||i:v?.label;return c?t.jsxRuntimeExports.jsx("div",{className:l.cn("font-medium",h),children:c(d,e)}):d?t.jsxRuntimeExports.jsx("div",{className:l.cn("font-medium",h),children:d}):null},[i,c,e,a,h,p,g]);if(!o||!e?.length)return null;const m=e.length===1&&r!=="dot";return t.jsxRuntimeExports.jsxs("div",{ref:S,className:l.cn("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",n),children:[m?null:C,t.jsxRuntimeExports.jsx("div",{className:"grid gap-1.5",children:e.filter(s=>s.type!=="none").map((s,j)=>{const v=`${T||s.name||s.dataKey||"value"}`,d=b(p,s,v),R=L||s.payload.fill||s.color;return t.jsxRuntimeExports.jsx("div",{className:l.cn("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",r==="dot"&&"items-center"),children:f&&s?.value!==void 0&&s.name?f(s.value,s.name,s,j,s.payload):t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[d?.icon?t.jsxRuntimeExports.jsx(d.icon,{}):!u&&t.jsxRuntimeExports.jsx("div",{className:l.cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":r==="dot","w-1":r==="line","w-0 border-[1.5px] border-dashed bg-transparent":r==="dashed","my-0.5":m&&r==="dashed"}),style:{"--color-bg":R,"--color-border":R}}),t.jsxRuntimeExports.jsxs("div",{className:l.cn("flex flex-1 justify-between leading-none",m?"items-end":"items-center"),children:[t.jsxRuntimeExports.jsxs("div",{className:"grid gap-1.5",children:[m?C:null,t.jsxRuntimeExports.jsx("span",{className:"text-muted-foreground",children:d?.label||s.name})]}),s.value&&t.jsxRuntimeExports.jsx("span",{className:"text-foreground font-mono font-medium tabular-nums",children:s.value.toLocaleString()})]})]})},s.dataKey)})})]})});k.displayName="ChartTooltip";const q=t.Legend,N=x.forwardRef(({className:o,hideIcon:e=!1,payload:n,verticalAlign:r="bottom",nameKey:a},u)=>{const{config:i}=y();return n?.length?t.jsxRuntimeExports.jsx("div",{ref:u,className:l.cn("flex items-center justify-center gap-4",r==="top"?"pb-3":"pt-3",o),children:n.filter(c=>c.type!=="none").map(c=>{const h=`${a||c.dataKey||"value"}`,f=b(i,c,h);return t.jsxRuntimeExports.jsxs("div",{className:l.cn("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"),children:[f?.icon&&!e?t.jsxRuntimeExports.jsx(f.icon,{}):t.jsxRuntimeExports.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:c.color}}),f?.label]},c.value)})}):null});N.displayName="ChartLegend";function b(o,e,n){if(typeof e!="object"||e===null)return;const r="payload"in e&&typeof e.payload=="object"&&e.payload!==null?e.payload:void 0;let a=n;return n in e&&typeof e[n]=="string"?a=e[n]:r&&n in r&&typeof r[n]=="string"&&(a=r[n]),a in o?o[a]:o[n]}exports.ChartContainer=_;exports.ChartLegend=q;exports.ChartLegendContent=N;exports.ChartStyle=w;exports.ChartTooltip=M;exports.ChartTooltipContent=k;
8
- //# sourceMappingURL=chart.cjs.map
7
+ `)}}):null},u=t._n,d=r.forwardRef(({active:e,payload:t,className:a,indicator:o=`dot`,hideLabel:c=!1,hideIndicator:l=!1,label:u,labelFormatter:d,labelClassName:f,formatter:p,color:h,nameKey:g,labelKey:_},v)=>{let{config:y}=s(),b=r.useMemo(()=>{if(c||!t?.length)return null;let[e]=t,r=m(y,e,`${_||e?.dataKey||e?.name||`value`}`),a=!_&&typeof u==`string`?y[u]?.label||u:r?.label;return d?(0,i.jsx)(`div`,{className:n.t(`font-medium`,f),children:d(a,t)}):a?(0,i.jsx)(`div`,{className:n.t(`font-medium`,f),children:a}):null},[u,d,t,c,f,y,_]);if(!e||!t?.length)return null;let x=t.length===1&&o!==`dot`;return(0,i.jsxs)(`div`,{ref:v,className:n.t(`border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl`,a),children:[x?null:b,(0,i.jsx)(`div`,{className:`grid gap-1.5`,children:t.filter(e=>e.type!==`none`).map((e,t)=>{let r=m(y,e,`${g||e.name||e.dataKey||`value`}`),a=h||e.payload.fill||e.color;return(0,i.jsx)(`div`,{className:n.t(`[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5`,o===`dot`&&`items-center`),children:p&&e?.value!==void 0&&e.name?p(e.value,e.name,e,t,e.payload):(0,i.jsxs)(i.Fragment,{children:[r?.icon?(0,i.jsx)(r.icon,{}):!l&&(0,i.jsx)(`div`,{className:n.t(`shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]`,{"h-2.5 w-2.5":o===`dot`,"w-1":o===`line`,"w-0 border-[1.5px] border-dashed bg-transparent":o===`dashed`,"my-0.5":x&&o===`dashed`}),style:{"--color-bg":a,"--color-border":a}}),(0,i.jsxs)(`div`,{className:n.t(`flex flex-1 justify-between leading-none`,x?`items-end`:`items-center`),children:[(0,i.jsxs)(`div`,{className:`grid gap-1.5`,children:[x?b:null,(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:r?.label||e.name})]}),e.value&&(0,i.jsx)(`span`,{className:`text-foreground font-mono font-medium tabular-nums`,children:e.value.toLocaleString()})]})]})},typeof e.dataKey==`function`?t:e.dataKey??t)})})]})});d.displayName=`ChartTooltip`;var f=t.vn,p=r.forwardRef(({className:e,hideIcon:t=!1,payload:r,verticalAlign:a=`bottom`,nameKey:o},c)=>{let{config:l}=s();return r?.length?(0,i.jsx)(`div`,{ref:c,className:n.t(`flex items-center justify-center gap-4`,a===`top`?`pb-3`:`pt-3`,e),children:r.filter(e=>e.type!==`none`).map(e=>{let r=m(l,e,`${o||e.dataKey||`value`}`);return(0,i.jsxs)(`div`,{className:n.t(`[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3`),children:[r?.icon&&!t?(0,i.jsx)(r.icon,{}):(0,i.jsx)(`div`,{className:`h-2 w-2 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),r?.label]},e.value)})}):null});p.displayName=`ChartLegend`;function m(e,t,n){if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n;return n in t&&typeof t[n]==`string`?i=t[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]}exports.ChartContainer=c,exports.ChartLegend=f,exports.ChartLegendContent=p,exports.ChartStyle=l,exports.ChartTooltip=u,exports.ChartTooltipContent=d;
8
+ //# sourceMappingURL=chart.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart.cjs","sources":["../packages/ui-web/src/chart.tsx"],"sourcesContent":["'use client';\nimport * as React from 'react';\nimport * as RechartsPrimitive from 'recharts';\n\nimport {\n ChartConfig,\n ChartContainerBaseProps,\n ChartLegendContentBaseProps,\n ChartTooltipContentBaseProps,\n} from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: '', dark: '.dark' } as const;\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n\n return context;\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> &\n ChartContainerBaseProps & {\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-sector]:outline-none [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-none\",\n className,\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n});\nChartContainer.displayName = 'Chart';\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(([, itemConfig]) => itemConfig.theme || itemConfig.color);\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme as keyof typeof THEMES] || itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join('\\n')}\n}\n`,\n )\n .join('\\n'),\n }}\n />\n );\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> & React.ComponentProps<'div'> & ChartTooltipContentBaseProps\n>(\n (\n {\n active,\n payload,\n className,\n indicator = 'dot',\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref,\n ) => {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value =\n !labelKey && typeof label === 'string'\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label;\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl',\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item) => item.type !== 'none')\n .map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || ((item.payload as Record<string, unknown>).fill as string) || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n '[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5',\n indicator === 'dot' && 'items-center',\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]', {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between leading-none',\n nestLabel ? 'items-end' : 'items-center',\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n },\n);\nChartTooltipContent.displayName = 'ChartTooltip';\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> &\n Pick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> &\n ChartLegendContentBaseProps\n>(({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }, ref) => {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}\n >\n {payload\n .filter((item) => item.type !== 'none')\n .map((item) => {\n const key = `${nameKey || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\n className={cn('[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3')}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n});\nChartLegendContent.displayName = 'ChartLegend';\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n if (typeof payload !== 'object' || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n 'payload' in payload &&\n typeof (payload as { payload: unknown }).payload === 'object' &&\n (payload as { payload: unknown }).payload !== null\n ? ((payload as { payload: unknown }).payload as Record<string, unknown>)\n : undefined;\n\n let configLabelKey: string = key;\n\n if (key in payload && typeof (payload as Record<string, unknown>)[key] === 'string') {\n configLabelKey = (payload as Record<string, unknown>)[key] as string;\n } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === 'string') {\n configLabelKey = payloadPayload[key] as string;\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config];\n}\n\nexport { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };\nexport type { ChartConfig };\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","ref","uniqueId","chartId","jsxs","cn","jsx","ChartStyle","RechartsPrimitive.ResponsiveContainer","colorConfig","itemConfig","theme","prefix","key","color","ChartTooltip","RechartsPrimitive.Tooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","Fragment","ChartLegend","RechartsPrimitive.Legend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
1
+ {"version":3,"file":"chart.cjs","names":[],"sources":["../packages/ui-web/src/chart.tsx"],"sourcesContent":["'use client';\nimport * as React from 'react';\nimport * as RechartsPrimitive from 'recharts';\n\nimport {\n ChartConfig,\n ChartContainerBaseProps,\n ChartLegendContentBaseProps,\n ChartTooltipContentBaseProps,\n} from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: '', dark: '.dark' } as const;\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n\n return context;\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> &\n ChartContainerBaseProps & {\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-sector]:outline-none [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-none\",\n className,\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n});\nChartContainer.displayName = 'Chart';\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(([, itemConfig]) => itemConfig.theme || itemConfig.color);\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme as keyof typeof THEMES] || itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join('\\n')}\n}\n`,\n )\n .join('\\n'),\n }}\n />\n );\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n Partial<RechartsPrimitive.TooltipContentProps> & React.ComponentProps<'div'> & ChartTooltipContentBaseProps\n>(\n (\n {\n active,\n payload,\n className,\n indicator = 'dot',\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref,\n ) => {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value =\n !labelKey && typeof label === 'string'\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label;\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl',\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item: RechartsPrimitive.TooltipPayloadEntry) => item.type !== 'none')\n .map((item: RechartsPrimitive.TooltipPayloadEntry, index: number) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || ((item.payload as Record<string, unknown>).fill as string) || item.color;\n\n return (\n <div\n key={typeof item.dataKey === 'function' ? index : (item.dataKey ?? index)}\n className={cn(\n '[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5',\n indicator === 'dot' && 'items-center',\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]', {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between leading-none',\n nestLabel ? 'items-end' : 'items-center',\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n },\n);\nChartTooltipContent.displayName = 'ChartTooltip';\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> &\n Pick<RechartsPrimitive.DefaultLegendContentProps, 'payload' | 'verticalAlign'> &\n ChartLegendContentBaseProps\n>(({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }, ref) => {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}\n >\n {payload\n .filter((item: RechartsPrimitive.LegendPayload) => item.type !== 'none')\n .map((item: RechartsPrimitive.LegendPayload) => {\n const key = `${nameKey || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\n className={cn('[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3')}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n});\nChartLegendContent.displayName = 'ChartLegend';\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n if (typeof payload !== 'object' || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n 'payload' in payload &&\n typeof (payload as { payload: unknown }).payload === 'object' &&\n (payload as { payload: unknown }).payload !== null\n ? ((payload as { payload: unknown }).payload as Record<string, unknown>)\n : undefined;\n\n let configLabelKey: string = key;\n\n if (key in payload && typeof (payload as Record<string, unknown>)[key] === 'string') {\n configLabelKey = (payload as Record<string, unknown>)[key] as string;\n } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === 'string') {\n configLabelKey = payloadPayload[key] as string;\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config];\n}\n\nexport { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };\nexport type { ChartConfig };\n"],"mappings":"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"}
package/dist/chart.d.ts CHANGED
@@ -1,90 +1,2 @@
1
- import { AllowInDimension } from 'recharts/types/util/types';
2
- import { AnimationDuration } from 'recharts/types/util/types';
3
- import { AnimationTiming } from 'recharts/types/util/types';
4
- import { CartesianViewBox } from 'recharts/types/util/types';
5
- import { ContentType } from 'recharts/types/component/Tooltip';
6
- import { Coordinate } from 'recharts/types/util/types';
7
- import { JSX } from 'react/jsx-runtime';
8
- import { NameType } from 'recharts/types/component/DefaultTooltipContent';
9
- import { Payload } from 'recharts/types/component/DefaultTooltipContent';
10
- import * as React_2 from 'react';
11
- import * as RechartsPrimitive from 'recharts';
12
- import { UniqueOption } from 'recharts/types/util/payload/getUniqPayload';
13
- import { ValueType } from 'recharts/types/component/DefaultTooltipContent';
14
-
15
- export declare type ChartConfig = {
16
- [k in string]: {
17
- label?: React_2.ReactNode;
18
- icon?: React_2.ComponentType;
19
- } & ({
20
- color?: string;
21
- theme?: never;
22
- } | {
23
- color?: never;
24
- theme: Record<string, string>;
25
- });
26
- };
27
-
28
- export declare const ChartContainer: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLDivElement> & React_2.HTMLAttributes<HTMLDivElement> & ChartContainerBaseProps & {
29
- children: React_2.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
30
- }, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
31
-
32
- declare interface ChartContainerBaseProps {
33
- config: ChartConfig;
34
- className?: string;
35
- children?: React_2.ReactNode;
36
- id?: string;
37
- }
38
-
39
- export declare const ChartLegend: typeof RechartsPrimitive.Legend;
40
-
41
- export declare const ChartLegendContent: React_2.ForwardRefExoticComponent<Omit<React_2.ClassAttributes<HTMLDivElement> & React_2.HTMLAttributes<HTMLDivElement> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & ChartLegendContentBaseProps, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
42
-
43
- declare interface ChartLegendContentBaseProps {
44
- hideIcon?: boolean;
45
- nameKey?: string;
46
- className?: string;
47
- }
48
-
49
- export declare const ChartStyle: ({ id, config }: {
50
- id: string;
51
- config: ChartConfig;
52
- }) => JSX.Element | null;
53
-
54
- export declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
55
-
56
- export declare const ChartTooltipContent: React_2.ForwardRefExoticComponent<Omit<RechartsPrimitive.DefaultTooltipContentProps< ValueType, NameType> & {
57
- accessibilityLayer?: boolean;
58
- active?: boolean | undefined;
59
- includeHidden?: boolean | undefined;
60
- allowEscapeViewBox?: AllowInDimension;
61
- animationDuration?: AnimationDuration;
62
- animationEasing?: AnimationTiming;
63
- content?: ContentType<ValueType, NameType> | undefined;
64
- coordinate?: Partial< Coordinate>;
65
- cursor?: boolean | React_2.ReactElement | React_2.SVGProps<SVGElement>;
66
- filterNull?: boolean;
67
- defaultIndex?: number;
68
- isAnimationActive?: boolean;
69
- offset?: number;
70
- payloadUniqBy?: UniqueOption<Payload<ValueType, NameType>> | undefined;
71
- position?: Partial< Coordinate>;
72
- reverseDirection?: AllowInDimension;
73
- shared?: boolean;
74
- trigger?: "hover" | "click";
75
- useTranslate3d?: boolean;
76
- viewBox?: CartesianViewBox;
77
- wrapperStyle?: React_2.CSSProperties;
78
- } & React_2.ClassAttributes<HTMLDivElement> & React_2.HTMLAttributes<HTMLDivElement> & ChartTooltipContentBaseProps, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
79
-
80
- declare interface ChartTooltipContentBaseProps {
81
- hideLabel?: boolean;
82
- hideIndicator?: boolean;
83
- indicator?: 'line' | 'dot' | 'dashed';
84
- nameKey?: string;
85
- labelKey?: string;
86
- className?: string;
87
- labelClassName?: string;
88
- }
89
-
90
- export { }
1
+ export * from './packages/ui-web/src/chart'
2
+ export {}