@hanzo/ui 4.8.5 → 4.9.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 (683) hide show
  1. package/CHANGELOG.md +184 -0
  2. package/LICENSE +21 -0
  3. package/README.md +185 -192
  4. package/dist/ai/index.js +53 -0
  5. package/dist/ai/index.js.map +1 -0
  6. package/dist/ai/index.mjs +4 -0
  7. package/dist/ai/index.mjs.map +1 -0
  8. package/dist/blocks/index.js +983 -0
  9. package/dist/blocks/index.js.map +1 -0
  10. package/dist/blocks/index.mjs +945 -0
  11. package/dist/blocks/index.mjs.map +1 -0
  12. package/dist/calendar/index.js +14 -0
  13. package/dist/calendar/index.js.map +1 -0
  14. package/dist/calendar/index.mjs +5 -0
  15. package/dist/calendar/index.mjs.map +1 -0
  16. package/dist/carousel/index.js +220 -0
  17. package/dist/carousel/index.js.map +1 -0
  18. package/dist/carousel/index.mjs +191 -0
  19. package/dist/carousel/index.mjs.map +1 -0
  20. package/dist/charts/index.js +945 -0
  21. package/dist/charts/index.js.map +1 -0
  22. package/dist/charts/index.mjs +901 -0
  23. package/dist/charts/index.mjs.map +1 -0
  24. package/dist/chunk-26T4V5QU.mjs +111 -0
  25. package/dist/chunk-26T4V5QU.mjs.map +1 -0
  26. package/dist/chunk-2A5KXDLJ.js +22 -0
  27. package/dist/chunk-2A5KXDLJ.js.map +1 -0
  28. package/dist/chunk-2CJ4HMF4.js +79 -0
  29. package/dist/chunk-2CJ4HMF4.js.map +1 -0
  30. package/dist/chunk-2OIQKC5E.js +236 -0
  31. package/dist/chunk-2OIQKC5E.js.map +1 -0
  32. package/dist/chunk-2X3KSYBN.js +44 -0
  33. package/dist/chunk-2X3KSYBN.js.map +1 -0
  34. package/dist/chunk-3PBQGYR7.mjs +100 -0
  35. package/dist/chunk-3PBQGYR7.mjs.map +1 -0
  36. package/dist/chunk-3POQQ6L7.js +62 -0
  37. package/dist/chunk-3POQQ6L7.js.map +1 -0
  38. package/dist/chunk-4B47GITH.mjs +28 -0
  39. package/dist/chunk-4B47GITH.mjs.map +1 -0
  40. package/dist/chunk-4BC2OH6B.js +129 -0
  41. package/dist/chunk-4BC2OH6B.js.map +1 -0
  42. package/dist/chunk-5AQSGH4R.js +130 -0
  43. package/dist/chunk-5AQSGH4R.js.map +1 -0
  44. package/dist/chunk-5IHRJFOO.mjs +102 -0
  45. package/dist/chunk-5IHRJFOO.mjs.map +1 -0
  46. package/dist/chunk-5LDGR7YN.mjs +28 -0
  47. package/dist/chunk-5LDGR7YN.mjs.map +1 -0
  48. package/dist/chunk-5MCN3VYM.mjs +23 -0
  49. package/dist/chunk-5MCN3VYM.mjs.map +1 -0
  50. package/dist/chunk-6AVAMRMB.mjs +47 -0
  51. package/dist/chunk-6AVAMRMB.mjs.map +1 -0
  52. package/dist/chunk-6H62JRNM.mjs +120 -0
  53. package/dist/chunk-6H62JRNM.mjs.map +1 -0
  54. package/dist/chunk-6KCII3F6.mjs +126 -0
  55. package/dist/chunk-6KCII3F6.mjs.map +1 -0
  56. package/dist/chunk-7EHB43BJ.js +155 -0
  57. package/dist/chunk-7EHB43BJ.js.map +1 -0
  58. package/dist/chunk-7LRD23Q5.js +191 -0
  59. package/dist/chunk-7LRD23Q5.js.map +1 -0
  60. package/dist/chunk-7SAHKOJG.mjs +45 -0
  61. package/dist/chunk-7SAHKOJG.mjs.map +1 -0
  62. package/dist/chunk-A3D2YZK3.js +50 -0
  63. package/dist/chunk-A3D2YZK3.js.map +1 -0
  64. package/dist/chunk-AL4QFH7V.js +63 -0
  65. package/dist/chunk-AL4QFH7V.js.map +1 -0
  66. package/dist/chunk-B3WFEG6U.js +69 -0
  67. package/dist/chunk-B3WFEG6U.js.map +1 -0
  68. package/dist/chunk-BDZQJ6GK.js +242 -0
  69. package/dist/chunk-BDZQJ6GK.js.map +1 -0
  70. package/dist/chunk-BRWFYRGX.js +61 -0
  71. package/dist/chunk-BRWFYRGX.js.map +1 -0
  72. package/dist/chunk-C5DNTLBO.js +53 -0
  73. package/dist/chunk-C5DNTLBO.js.map +1 -0
  74. package/dist/chunk-CRALRACO.js +54 -0
  75. package/dist/chunk-CRALRACO.js.map +1 -0
  76. package/dist/chunk-CVACQJRM.js +149 -0
  77. package/dist/chunk-CVACQJRM.js.map +1 -0
  78. package/dist/chunk-DEIUKFPZ.mjs +63 -0
  79. package/dist/chunk-DEIUKFPZ.mjs.map +1 -0
  80. package/dist/chunk-DN2AEEA2.js +13 -0
  81. package/dist/chunk-DN2AEEA2.js.map +1 -0
  82. package/dist/chunk-DTNRWU4B.mjs +35 -0
  83. package/dist/chunk-DTNRWU4B.mjs.map +1 -0
  84. package/dist/chunk-DXIUEWRJ.mjs +31 -0
  85. package/dist/chunk-DXIUEWRJ.mjs.map +1 -0
  86. package/dist/chunk-DYFV66JX.mjs +54 -0
  87. package/dist/chunk-DYFV66JX.mjs.map +1 -0
  88. package/dist/chunk-F3WMAHXV.mjs +86 -0
  89. package/dist/chunk-F3WMAHXV.mjs.map +1 -0
  90. package/dist/chunk-F4RWPBBB.js +79 -0
  91. package/dist/chunk-F4RWPBBB.js.map +1 -0
  92. package/dist/chunk-FEGAPM6U.js +194 -0
  93. package/dist/chunk-FEGAPM6U.js.map +1 -0
  94. package/dist/chunk-G5TS56PW.mjs +160 -0
  95. package/dist/chunk-G5TS56PW.mjs.map +1 -0
  96. package/dist/chunk-GG6VGOEN.mjs +590 -0
  97. package/dist/chunk-GG6VGOEN.mjs.map +1 -0
  98. package/dist/chunk-GLAMGK32.mjs +54 -0
  99. package/dist/chunk-GLAMGK32.mjs.map +1 -0
  100. package/dist/chunk-GNMMUJXD.mjs +200 -0
  101. package/dist/chunk-GNMMUJXD.mjs.map +1 -0
  102. package/dist/chunk-GNPBULLS.mjs +600 -0
  103. package/dist/chunk-GNPBULLS.mjs.map +1 -0
  104. package/dist/chunk-GTE2DELE.js +65 -0
  105. package/dist/chunk-GTE2DELE.js.map +1 -0
  106. package/dist/chunk-GUQAFFTH.js +94 -0
  107. package/dist/chunk-GUQAFFTH.js.map +1 -0
  108. package/dist/chunk-H5VOYZHT.mjs +34 -0
  109. package/dist/chunk-H5VOYZHT.mjs.map +1 -0
  110. package/dist/chunk-HR6PBOGG.mjs +59 -0
  111. package/dist/chunk-HR6PBOGG.mjs.map +1 -0
  112. package/dist/chunk-HROONQS3.js +55 -0
  113. package/dist/chunk-HROONQS3.js.map +1 -0
  114. package/dist/chunk-IAO7SOQ3.mjs +56 -0
  115. package/dist/chunk-IAO7SOQ3.mjs.map +1 -0
  116. package/dist/chunk-K2QKU3K6.mjs +40 -0
  117. package/dist/chunk-K2QKU3K6.mjs.map +1 -0
  118. package/dist/chunk-KEUZZCCP.js +53 -0
  119. package/dist/chunk-KEUZZCCP.js.map +1 -0
  120. package/dist/chunk-KJXSLTG7.mjs +73 -0
  121. package/dist/chunk-KJXSLTG7.mjs.map +1 -0
  122. package/dist/chunk-L5AFUCVH.mjs +26 -0
  123. package/dist/chunk-L5AFUCVH.mjs.map +1 -0
  124. package/dist/chunk-LB3I52KZ.mjs +42 -0
  125. package/dist/chunk-LB3I52KZ.mjs.map +1 -0
  126. package/dist/chunk-LN75MJQ2.js +71 -0
  127. package/dist/chunk-LN75MJQ2.js.map +1 -0
  128. package/dist/chunk-LRBOFJUV.js +60 -0
  129. package/dist/chunk-LRBOFJUV.js.map +1 -0
  130. package/dist/chunk-MMNYRBOU.js +157 -0
  131. package/dist/chunk-MMNYRBOU.js.map +1 -0
  132. package/dist/chunk-MO65YF6P.js +236 -0
  133. package/dist/chunk-MO65YF6P.js.map +1 -0
  134. package/dist/chunk-N4KHP5FC.mjs +33 -0
  135. package/dist/chunk-N4KHP5FC.mjs.map +1 -0
  136. package/dist/chunk-NP2J7AB7.mjs +121 -0
  137. package/dist/chunk-NP2J7AB7.mjs.map +1 -0
  138. package/dist/chunk-OLR6SGYO.js +57 -0
  139. package/dist/chunk-OLR6SGYO.js.map +1 -0
  140. package/dist/chunk-ON7NQ4DY.js +21 -0
  141. package/dist/chunk-ON7NQ4DY.js.map +1 -0
  142. package/dist/chunk-PE3VFRLV.mjs +198 -0
  143. package/dist/chunk-PE3VFRLV.mjs.map +1 -0
  144. package/dist/chunk-Q7LOOIE5.mjs +8 -0
  145. package/dist/chunk-Q7LOOIE5.mjs.map +1 -0
  146. package/dist/chunk-QFA6U75G.mjs +51 -0
  147. package/dist/chunk-QFA6U75G.mjs.map +1 -0
  148. package/dist/chunk-QJQPT4WX.js +638 -0
  149. package/dist/chunk-QJQPT4WX.js.map +1 -0
  150. package/dist/chunk-QKHQPBSR.mjs +20 -0
  151. package/dist/chunk-QKHQPBSR.mjs.map +1 -0
  152. package/dist/chunk-SJD4XRFJ.mjs +141 -0
  153. package/dist/chunk-SJD4XRFJ.mjs.map +1 -0
  154. package/dist/chunk-SOOJLU4C.mjs +19 -0
  155. package/dist/chunk-SOOJLU4C.mjs.map +1 -0
  156. package/dist/chunk-T66B5IM5.js +51 -0
  157. package/dist/chunk-T66B5IM5.js.map +1 -0
  158. package/dist/chunk-T7RPZDO4.js +645 -0
  159. package/dist/chunk-T7RPZDO4.js.map +1 -0
  160. package/dist/chunk-TGRMDGTV.mjs +38 -0
  161. package/dist/chunk-TGRMDGTV.mjs.map +1 -0
  162. package/dist/chunk-TH2UKMCO.mjs +11 -0
  163. package/dist/chunk-TH2UKMCO.mjs.map +1 -0
  164. package/dist/chunk-TMV45OKE.mjs +113 -0
  165. package/dist/chunk-TMV45OKE.mjs.map +1 -0
  166. package/dist/chunk-TUJ7EVEK.js +171 -0
  167. package/dist/chunk-TUJ7EVEK.js.map +1 -0
  168. package/dist/chunk-ULNWDOI7.js +122 -0
  169. package/dist/chunk-ULNWDOI7.js.map +1 -0
  170. package/dist/chunk-UNUTTHCH.mjs +210 -0
  171. package/dist/chunk-UNUTTHCH.mjs.map +1 -0
  172. package/dist/chunk-VJMI6BG4.mjs +10 -0
  173. package/dist/chunk-VJMI6BG4.mjs.map +1 -0
  174. package/dist/chunk-VZVOB5MG.mjs +26 -0
  175. package/dist/chunk-VZVOB5MG.mjs.map +1 -0
  176. package/dist/chunk-WD67O22C.js +50 -0
  177. package/dist/chunk-WD67O22C.js.map +1 -0
  178. package/dist/chunk-WYPMLIJN.js +53 -0
  179. package/dist/chunk-WYPMLIJN.js.map +1 -0
  180. package/dist/chunk-X32I34NH.js +109 -0
  181. package/dist/chunk-X32I34NH.js.map +1 -0
  182. package/dist/chunk-X5MOZ3YL.js +65 -0
  183. package/dist/chunk-X5MOZ3YL.js.map +1 -0
  184. package/dist/chunk-Y4JVIPQZ.mjs +31 -0
  185. package/dist/chunk-Y4JVIPQZ.mjs.map +1 -0
  186. package/dist/chunk-Y6WOV2LZ.js +95 -0
  187. package/dist/chunk-Y6WOV2LZ.js.map +1 -0
  188. package/dist/chunk-YAEN5SCU.mjs +41 -0
  189. package/dist/chunk-YAEN5SCU.mjs.map +1 -0
  190. package/dist/chunk-YH6XDF3N.js +121 -0
  191. package/dist/chunk-YH6XDF3N.js.map +1 -0
  192. package/dist/chunk-YJKA4D75.mjs +124 -0
  193. package/dist/chunk-YJKA4D75.mjs.map +1 -0
  194. package/dist/chunk-ZANAF7WB.js +88 -0
  195. package/dist/chunk-ZANAF7WB.js.map +1 -0
  196. package/dist/chunk-ZDBWNPLO.js +30 -0
  197. package/dist/chunk-ZDBWNPLO.js.map +1 -0
  198. package/dist/chunk-ZDT2IOK2.js +56 -0
  199. package/dist/chunk-ZDT2IOK2.js.map +1 -0
  200. package/dist/chunk-ZKGVLTSI.js +25 -0
  201. package/dist/chunk-ZKGVLTSI.js.map +1 -0
  202. package/dist/chunk-ZLELESO7.js +34 -0
  203. package/dist/chunk-ZLELESO7.js.map +1 -0
  204. package/dist/chunk-ZUFUEQTX.mjs +157 -0
  205. package/dist/chunk-ZUFUEQTX.mjs.map +1 -0
  206. package/dist/chunk-ZZZWRQQE.mjs +42 -0
  207. package/dist/chunk-ZZZWRQQE.mjs.map +1 -0
  208. package/dist/command/index.js +138 -0
  209. package/dist/command/index.js.map +1 -0
  210. package/dist/command/index.mjs +128 -0
  211. package/dist/command/index.mjs.map +1 -0
  212. package/dist/components/accordion.js +25 -0
  213. package/dist/components/accordion.js.map +1 -0
  214. package/dist/components/accordion.mjs +4 -0
  215. package/dist/components/accordion.mjs.map +1 -0
  216. package/dist/components/alert.js +21 -0
  217. package/dist/components/alert.js.map +1 -0
  218. package/dist/components/alert.mjs +4 -0
  219. package/dist/components/alert.mjs.map +1 -0
  220. package/dist/components/aspect-ratio.js +12 -0
  221. package/dist/components/aspect-ratio.js.map +1 -0
  222. package/dist/components/aspect-ratio.mjs +3 -0
  223. package/dist/components/aspect-ratio.mjs.map +1 -0
  224. package/dist/components/avatar.js +21 -0
  225. package/dist/components/avatar.js.map +1 -0
  226. package/dist/components/avatar.mjs +4 -0
  227. package/dist/components/avatar.mjs.map +1 -0
  228. package/dist/components/badge.js +17 -0
  229. package/dist/components/badge.js.map +1 -0
  230. package/dist/components/badge.mjs +4 -0
  231. package/dist/components/badge.mjs.map +1 -0
  232. package/dist/components/breadcrumb.js +37 -0
  233. package/dist/components/breadcrumb.js.map +1 -0
  234. package/dist/components/breadcrumb.mjs +4 -0
  235. package/dist/components/breadcrumb.mjs.map +1 -0
  236. package/dist/components/button.js +17 -0
  237. package/dist/components/button.js.map +1 -0
  238. package/dist/components/button.mjs +4 -0
  239. package/dist/components/button.mjs.map +1 -0
  240. package/dist/components/card.js +37 -0
  241. package/dist/components/card.js.map +1 -0
  242. package/dist/components/card.mjs +4 -0
  243. package/dist/components/card.mjs.map +1 -0
  244. package/dist/components/checkbox.js +13 -0
  245. package/dist/components/checkbox.js.map +1 -0
  246. package/dist/components/checkbox.mjs +4 -0
  247. package/dist/components/checkbox.mjs.map +1 -0
  248. package/dist/components/collapsible.js +20 -0
  249. package/dist/components/collapsible.js.map +1 -0
  250. package/dist/components/collapsible.mjs +3 -0
  251. package/dist/components/collapsible.mjs.map +1 -0
  252. package/dist/components/context-menu.js +69 -0
  253. package/dist/components/context-menu.js.map +1 -0
  254. package/dist/components/context-menu.mjs +4 -0
  255. package/dist/components/context-menu.mjs.map +1 -0
  256. package/dist/components/dialog.js +49 -0
  257. package/dist/components/dialog.js.map +1 -0
  258. package/dist/components/dialog.mjs +4 -0
  259. package/dist/components/dialog.mjs.map +1 -0
  260. package/dist/components/drawer.js +49 -0
  261. package/dist/components/drawer.js.map +1 -0
  262. package/dist/components/drawer.mjs +4 -0
  263. package/dist/components/drawer.mjs.map +1 -0
  264. package/dist/components/dropdown-menu.js +69 -0
  265. package/dist/components/dropdown-menu.js.map +1 -0
  266. package/dist/components/dropdown-menu.mjs +4 -0
  267. package/dist/components/dropdown-menu.mjs.map +1 -0
  268. package/dist/components/form.js +42 -0
  269. package/dist/components/form.js.map +1 -0
  270. package/dist/components/form.mjs +5 -0
  271. package/dist/components/form.mjs.map +1 -0
  272. package/dist/components/hover-card.js +21 -0
  273. package/dist/components/hover-card.js.map +1 -0
  274. package/dist/components/hover-card.mjs +4 -0
  275. package/dist/components/hover-card.mjs.map +1 -0
  276. package/dist/components/index.js +1047 -0
  277. package/dist/components/index.js.map +1 -0
  278. package/dist/components/index.mjs +46 -0
  279. package/dist/components/index.mjs.map +1 -0
  280. package/dist/components/input-otp.js +25 -0
  281. package/dist/components/input-otp.js.map +1 -0
  282. package/dist/components/input-otp.mjs +4 -0
  283. package/dist/components/input-otp.mjs.map +1 -0
  284. package/dist/components/input.js +13 -0
  285. package/dist/components/input.js.map +1 -0
  286. package/dist/components/input.mjs +4 -0
  287. package/dist/components/input.mjs.map +1 -0
  288. package/dist/components/label.js +13 -0
  289. package/dist/components/label.js.map +1 -0
  290. package/dist/components/label.mjs +4 -0
  291. package/dist/components/label.mjs.map +1 -0
  292. package/dist/components/menubar.js +73 -0
  293. package/dist/components/menubar.js.map +1 -0
  294. package/dist/components/menubar.mjs +4 -0
  295. package/dist/components/menubar.mjs.map +1 -0
  296. package/dist/components/navigation-menu.js +45 -0
  297. package/dist/components/navigation-menu.js.map +1 -0
  298. package/dist/components/navigation-menu.mjs +4 -0
  299. package/dist/components/navigation-menu.mjs.map +1 -0
  300. package/dist/components/pagination.js +38 -0
  301. package/dist/components/pagination.js.map +1 -0
  302. package/dist/components/pagination.mjs +5 -0
  303. package/dist/components/pagination.mjs.map +1 -0
  304. package/dist/components/popover.js +25 -0
  305. package/dist/components/popover.js.map +1 -0
  306. package/dist/components/popover.mjs +4 -0
  307. package/dist/components/popover.mjs.map +1 -0
  308. package/dist/components/progress.js +13 -0
  309. package/dist/components/progress.js.map +1 -0
  310. package/dist/components/progress.mjs +4 -0
  311. package/dist/components/progress.mjs.map +1 -0
  312. package/dist/components/radio-group.js +17 -0
  313. package/dist/components/radio-group.js.map +1 -0
  314. package/dist/components/radio-group.mjs +4 -0
  315. package/dist/components/radio-group.mjs.map +1 -0
  316. package/dist/components/resizable.js +21 -0
  317. package/dist/components/resizable.js.map +1 -0
  318. package/dist/components/resizable.mjs +4 -0
  319. package/dist/components/resizable.mjs.map +1 -0
  320. package/dist/components/scroll-area.js +17 -0
  321. package/dist/components/scroll-area.js.map +1 -0
  322. package/dist/components/scroll-area.mjs +4 -0
  323. package/dist/components/scroll-area.mjs.map +1 -0
  324. package/dist/components/select.js +49 -0
  325. package/dist/components/select.js.map +1 -0
  326. package/dist/components/select.mjs +4 -0
  327. package/dist/components/select.mjs.map +1 -0
  328. package/dist/components/separator.js +13 -0
  329. package/dist/components/separator.js.map +1 -0
  330. package/dist/components/separator.mjs +4 -0
  331. package/dist/components/separator.mjs.map +1 -0
  332. package/dist/components/sheet.js +49 -0
  333. package/dist/components/sheet.js.map +1 -0
  334. package/dist/components/sheet.mjs +4 -0
  335. package/dist/components/sheet.mjs.map +1 -0
  336. package/dist/components/sidebar.js +111 -0
  337. package/dist/components/sidebar.js.map +1 -0
  338. package/dist/components/sidebar.mjs +10 -0
  339. package/dist/components/sidebar.mjs.map +1 -0
  340. package/dist/components/skeleton.js +13 -0
  341. package/dist/components/skeleton.js.map +1 -0
  342. package/dist/components/skeleton.mjs +4 -0
  343. package/dist/components/skeleton.mjs.map +1 -0
  344. package/dist/components/slider.js +13 -0
  345. package/dist/components/slider.js.map +1 -0
  346. package/dist/components/slider.mjs +4 -0
  347. package/dist/components/slider.mjs.map +1 -0
  348. package/dist/components/switch.js +13 -0
  349. package/dist/components/switch.js.map +1 -0
  350. package/dist/components/switch.mjs +4 -0
  351. package/dist/components/switch.mjs.map +1 -0
  352. package/dist/components/table.js +41 -0
  353. package/dist/components/table.js.map +1 -0
  354. package/dist/components/table.mjs +4 -0
  355. package/dist/components/table.mjs.map +1 -0
  356. package/dist/components/tabs.js +25 -0
  357. package/dist/components/tabs.js.map +1 -0
  358. package/dist/components/tabs.mjs +4 -0
  359. package/dist/components/tabs.mjs.map +1 -0
  360. package/dist/components/textarea.js +13 -0
  361. package/dist/components/textarea.js.map +1 -0
  362. package/dist/components/textarea.mjs +4 -0
  363. package/dist/components/textarea.mjs.map +1 -0
  364. package/dist/components/toast.js +37 -0
  365. package/dist/components/toast.js.map +1 -0
  366. package/dist/components/toast.mjs +4 -0
  367. package/dist/components/toast.mjs.map +1 -0
  368. package/dist/components/toggle-group.js +18 -0
  369. package/dist/components/toggle-group.js.map +1 -0
  370. package/dist/components/toggle-group.mjs +5 -0
  371. package/dist/components/toggle-group.mjs.map +1 -0
  372. package/dist/components/toggle.js +17 -0
  373. package/dist/components/toggle.js.map +1 -0
  374. package/dist/components/toggle.mjs +4 -0
  375. package/dist/components/toggle.mjs.map +1 -0
  376. package/dist/components/tooltip.js +25 -0
  377. package/dist/components/tooltip.js.map +1 -0
  378. package/dist/components/tooltip.mjs +4 -0
  379. package/dist/components/tooltip.mjs.map +1 -0
  380. package/dist/effects/index.js +162 -0
  381. package/dist/effects/index.js.map +1 -0
  382. package/dist/effects/index.mjs +156 -0
  383. package/dist/effects/index.mjs.map +1 -0
  384. package/dist/index.js +1096 -9353
  385. package/dist/index.js.map +1 -0
  386. package/dist/index.mjs +47 -9342
  387. package/dist/index.mjs.map +1 -0
  388. package/dist/lib/utils.js +10 -45
  389. package/dist/lib/utils.js.map +1 -0
  390. package/dist/lib/utils.mjs +3 -28
  391. package/dist/lib/utils.mjs.map +1 -0
  392. package/dist/markdown/index.js +669 -0
  393. package/dist/markdown/index.js.map +1 -0
  394. package/dist/markdown/index.mjs +635 -0
  395. package/dist/markdown/index.mjs.map +1 -0
  396. package/dist/qr/index.js +101 -0
  397. package/dist/qr/index.js.map +1 -0
  398. package/dist/qr/index.mjs +98 -0
  399. package/dist/qr/index.mjs.map +1 -0
  400. package/dist/upload/index.js +166 -0
  401. package/dist/upload/index.js.map +1 -0
  402. package/dist/upload/index.mjs +163 -0
  403. package/dist/upload/index.mjs.map +1 -0
  404. package/package.json +153 -270
  405. package/publish.sh +27 -0
  406. package/assets/ai-icons.tsx +0 -207
  407. package/assets/crypto.tsx +0 -33
  408. package/assets/file-type-icon.tsx +0 -66
  409. package/assets/file.tsx +0 -45
  410. package/assets/general.tsx +0 -2318
  411. package/assets/hanzo-logo.svg +0 -9
  412. package/assets/hanzo-logo.tsx +0 -17
  413. package/assets/index.ts +0 -122
  414. package/assets/index.tsx +0 -4
  415. package/assets/llm-provider.tsx +0 -1094
  416. package/bin/cli.js +0 -100
  417. package/bin/create-registry.js +0 -108
  418. package/bin/mcp.js +0 -403
  419. package/bin/npx-registry-mcp.js +0 -15
  420. package/bin/registry-mcp-wrapper.sh +0 -19
  421. package/bin/registry-mcp.js +0 -100
  422. package/bin/start-mcp-server.sh +0 -22
  423. package/bin/test-mcp.sh +0 -52
  424. package/bin/update-registry.js +0 -196
  425. package/blocks/auth/index.ts +0 -6
  426. package/blocks/auth/login-2fa.tsx +0 -165
  427. package/blocks/auth/login-basic.tsx +0 -94
  428. package/blocks/auth/login-social.tsx +0 -148
  429. package/blocks/auth/magic-link.tsx +0 -129
  430. package/blocks/auth/password-reset.tsx +0 -97
  431. package/blocks/auth/signup.tsx +0 -157
  432. package/blocks/components/accordian-block.tsx +0 -48
  433. package/blocks/components/block-component-props.ts +0 -11
  434. package/blocks/components/bullet-cards-block.tsx +0 -46
  435. package/blocks/components/card-block/index.tsx +0 -171
  436. package/blocks/components/card-block/link-out-button.tsx +0 -20
  437. package/blocks/components/card-block/util.ts +0 -28
  438. package/blocks/components/carte-blanche-block/index.tsx +0 -127
  439. package/blocks/components/carte-blanche-block/variant-content-left.tsx +0 -49
  440. package/blocks/components/content.tsx +0 -70
  441. package/blocks/components/cta-block.tsx +0 -115
  442. package/blocks/components/enh-heading-block.tsx +0 -204
  443. package/blocks/components/grid-block/grid-block-mutator.ts +0 -12
  444. package/blocks/components/grid-block/index.tsx +0 -83
  445. package/blocks/components/grid-block/mutator-registry.ts +0 -10
  446. package/blocks/components/grid-block/table-borders.mutator.ts +0 -47
  447. package/blocks/components/group-block.tsx +0 -83
  448. package/blocks/components/heading-block.tsx +0 -88
  449. package/blocks/components/image-block.tsx +0 -111
  450. package/blocks/components/index.ts +0 -30
  451. package/blocks/components/screenful-block/content.tsx +0 -123
  452. package/blocks/components/screenful-block/index.tsx +0 -107
  453. package/blocks/components/screenful-block/poster-background.tsx +0 -34
  454. package/blocks/components/screenful-block/video-background.tsx +0 -45
  455. package/blocks/components/space-block.tsx +0 -66
  456. package/blocks/components/video-block.tsx +0 -138
  457. package/blocks/data-display/activity-feed.tsx +0 -242
  458. package/blocks/data-display/data-table.tsx +0 -235
  459. package/blocks/data-display/stats-grid.tsx +0 -194
  460. package/blocks/def/accordian-block.ts +0 -14
  461. package/blocks/def/block.ts +0 -7
  462. package/blocks/def/bullet-cards-block.ts +0 -22
  463. package/blocks/def/card-block.ts +0 -22
  464. package/blocks/def/carte-blanche-block.ts +0 -21
  465. package/blocks/def/cta-block.ts +0 -19
  466. package/blocks/def/element-block.ts +0 -11
  467. package/blocks/def/enh-heading-block.ts +0 -44
  468. package/blocks/def/grid-block.ts +0 -16
  469. package/blocks/def/group-block.ts +0 -11
  470. package/blocks/def/heading-block.ts +0 -15
  471. package/blocks/def/image-block.ts +0 -31
  472. package/blocks/def/index.ts +0 -35
  473. package/blocks/def/screenful-block.ts +0 -54
  474. package/blocks/def/space-block.ts +0 -64
  475. package/blocks/def/video-block.ts +0 -9
  476. package/blocks/ecommerce/checkout.tsx +0 -242
  477. package/blocks/ecommerce/index.ts +0 -7
  478. package/blocks/ecommerce/product-detail.tsx +0 -257
  479. package/blocks/ecommerce/product-grid.tsx +0 -148
  480. package/blocks/ecommerce/shopping-cart.tsx +0 -181
  481. package/blocks/index.ts +0 -2
  482. package/blocks/marketing/cta-section.tsx +0 -207
  483. package/blocks/marketing/faq.tsx +0 -159
  484. package/blocks/marketing/features-grid.tsx +0 -156
  485. package/blocks/marketing/hero-section.tsx +0 -192
  486. package/blocks/marketing/index.ts +0 -6
  487. package/blocks/marketing/pricing-table.tsx +0 -121
  488. package/blocks/marketing/testimonials.tsx +0 -196
  489. package/components/index.ts +0 -9
  490. package/dist/src/utils.js +0 -47
  491. package/dist/src/utils.mjs +0 -28
  492. package/dist/tailwind/index.js +0 -2050
  493. package/dist/tailwind/index.mjs +0 -2019
  494. package/dist/types/index.js +0 -79
  495. package/dist/types/index.mjs +0 -56
  496. package/dist/util/format-text.js +0 -51
  497. package/dist/util/format-text.mjs +0 -32
  498. package/dist/util/index.js +0 -384
  499. package/dist/util/index.mjs +0 -363
  500. package/frameworks/core/index.ts +0 -6
  501. package/frameworks/core/utils/index.ts +0 -64
  502. package/frameworks/react/components/button.tsx +0 -26
  503. package/frameworks/react/components/index.ts +0 -5
  504. package/frameworks/react/hooks/index.ts +0 -5
  505. package/frameworks/react/index.ts +0 -9
  506. package/frameworks/react/package.json +0 -8
  507. package/frameworks/react/utils/index.ts +0 -2
  508. package/frameworks/react-native/index.ts +0 -9
  509. package/frameworks/react-native/package.json +0 -8
  510. package/frameworks/registry.json +0 -371
  511. package/frameworks/setup.sh +0 -69
  512. package/frameworks/svelte/index.ts +0 -9
  513. package/frameworks/svelte/package.json +0 -8
  514. package/frameworks/tracker.json +0 -1854
  515. package/frameworks/vue/index.ts +0 -9
  516. package/frameworks/vue/package.json +0 -8
  517. package/helpers/file.ts +0 -33
  518. package/helpers/memoization.ts +0 -40
  519. package/primitives/accordion.tsx +0 -74
  520. package/primitives/action-button.tsx +0 -42
  521. package/primitives/alert-dialog.tsx +0 -185
  522. package/primitives/alert.tsx +0 -74
  523. package/primitives/apply-typography.tsx +0 -55
  524. package/primitives/aspect-ratio.tsx +0 -5
  525. package/primitives/avatar.tsx +0 -57
  526. package/primitives/background-beams.tsx +0 -142
  527. package/primitives/badge.tsx +0 -45
  528. package/primitives/breadcrumb.tsx +0 -130
  529. package/primitives/breakpoint-indicator.tsx +0 -19
  530. package/primitives/button.tsx +0 -72
  531. package/primitives/calendar.tsx +0 -72
  532. package/primitives/card.tsx +0 -97
  533. package/primitives/carousel.tsx +0 -238
  534. package/primitives/chat/chat-input-area.tsx +0 -88
  535. package/primitives/chat/chat-input.tsx +0 -71
  536. package/primitives/chat/files-preview.tsx +0 -331
  537. package/primitives/chat/index.ts +0 -6
  538. package/primitives/chat/json-form.tsx +0 -8
  539. package/primitives/chat/message-list.tsx +0 -308
  540. package/primitives/chat/message.tsx +0 -569
  541. package/primitives/chat/sqlite-preview.tsx +0 -215
  542. package/primitives/checkbox.tsx +0 -32
  543. package/primitives/collapsible.tsx +0 -9
  544. package/primitives/combobox.tsx +0 -239
  545. package/primitives/command.tsx +0 -151
  546. package/primitives/context-menu.tsx +0 -206
  547. package/primitives/copy-to-clipboard-icon.tsx +0 -60
  548. package/primitives/dialog-video-controller.tsx +0 -38
  549. package/primitives/dialog.tsx +0 -128
  550. package/primitives/dot-pattern.tsx +0 -57
  551. package/primitives/dots-loader.tsx +0 -13
  552. package/primitives/drawer.tsx +0 -113
  553. package/primitives/dropdown-menu.tsx +0 -199
  554. package/primitives/error-message.tsx +0 -19
  555. package/primitives/file-uploader.tsx +0 -203
  556. package/primitives/form.tsx +0 -185
  557. package/primitives/hover-card.tsx +0 -28
  558. package/primitives/icons/github.tsx +0 -14
  559. package/primitives/icons/index.ts +0 -18
  560. package/primitives/icons/youtube-logo.tsx +0 -59
  561. package/primitives/index-client.ts +0 -4
  562. package/primitives/index-common.ts +0 -304
  563. package/primitives/index-next.ts +0 -4
  564. package/primitives/input-otp.tsx +0 -65
  565. package/primitives/input.tsx +0 -128
  566. package/primitives/label.tsx +0 -21
  567. package/primitives/list-adaptor.ts +0 -12
  568. package/primitives/list-box.tsx +0 -74
  569. package/primitives/loading-spinner.tsx +0 -33
  570. package/primitives/markdown-preview.tsx +0 -612
  571. package/primitives/mermaid.tsx +0 -191
  572. package/primitives/navigation-menu.tsx +0 -147
  573. package/primitives/next/image.tsx +0 -91
  574. package/primitives/next/index.ts +0 -7
  575. package/primitives/next/inline-icon.tsx +0 -36
  576. package/primitives/next/link-element.tsx +0 -109
  577. package/primitives/next/mdx-link.tsx +0 -22
  578. package/primitives/next/media-stack.tsx +0 -52
  579. package/primitives/next/nav-items.tsx +0 -45
  580. package/primitives/next/youtube-embed.tsx +0 -83
  581. package/primitives/pagination.tsx +0 -117
  582. package/primitives/popover.tsx +0 -34
  583. package/primitives/pretty-json-print.tsx +0 -28
  584. package/primitives/progress.tsx +0 -27
  585. package/primitives/prompt-textarea.tsx +0 -72
  586. package/primitives/qr-code.tsx +0 -112
  587. package/primitives/radio-group.tsx +0 -42
  588. package/primitives/resizable.tsx +0 -47
  589. package/primitives/scroll-area.tsx +0 -57
  590. package/primitives/search-input.tsx +0 -66
  591. package/primitives/select.tsx +0 -122
  592. package/primitives/separator.tsx +0 -26
  593. package/primitives/sheet.tsx +0 -139
  594. package/primitives/skeleton.tsx +0 -18
  595. package/primitives/slider.tsx +0 -63
  596. package/primitives/sonner.tsx +0 -35
  597. package/primitives/step-indicator.tsx +0 -69
  598. package/primitives/stepper.tsx +0 -272
  599. package/primitives/switch.tsx +0 -27
  600. package/primitives/table.tsx +0 -105
  601. package/primitives/tabs.tsx +0 -50
  602. package/primitives/text-area.tsx +0 -26
  603. package/primitives/text-link.tsx +0 -25
  604. package/primitives/textarea.tsx +0 -64
  605. package/primitives/textfield.tsx +0 -78
  606. package/primitives/toast.tsx +0 -30
  607. package/primitives/toggle-group.tsx +0 -63
  608. package/primitives/toggle.tsx +0 -44
  609. package/primitives/tooltip.tsx +0 -47
  610. package/primitives/video-player.tsx +0 -23
  611. package/src/button.ts +0 -1
  612. package/src/hooks/index.ts +0 -7
  613. package/src/hooks/use-click-away.ts +0 -31
  614. package/src/hooks/use-combined-refs.ts +0 -22
  615. package/src/hooks/use-copy-clipboard.ts +0 -30
  616. package/src/hooks/use-debounce.ts +0 -17
  617. package/src/hooks/use-fill-ids.ts +0 -25
  618. package/src/hooks/use-map.ts +0 -26
  619. package/src/hooks/use-measure.ts +0 -42
  620. package/src/hooks/use-reverse-video-playback.ts +0 -43
  621. package/src/hooks/use-scroll-restoration.ts +0 -50
  622. package/src/index-lean.ts +0 -87
  623. package/src/index.ts +0 -54
  624. package/src/mcp/README.md +0 -141
  625. package/src/mcp/enhanced-server.ts +0 -1208
  626. package/src/mcp/index.ts +0 -518
  627. package/src/mcp/package.json +0 -10
  628. package/src/registry/api.ts +0 -164
  629. package/src/registry/index.ts +0 -60
  630. package/src/registry/package.json +0 -10
  631. package/src/utils.ts +0 -19
  632. package/style/drawer.css +0 -163
  633. package/style/globals.css +0 -13
  634. package/style/hanzo-common.css +0 -31
  635. package/style/hanzo-default-colors.css +0 -82
  636. package/style/theme-provider.tsx +0 -20
  637. package/tailwind/colors.tailwind.js +0 -53
  638. package/tailwind/fontFamily.tailwind.ts +0 -7
  639. package/tailwind/fontSize.tailwind.ts +0 -13
  640. package/tailwind/index.ts +0 -7
  641. package/tailwind/safelist.tailwind.js +0 -26
  642. package/tailwind/screens.tailwind.js +0 -8
  643. package/tailwind/spacing.tailwind.js +0 -65
  644. package/tailwind/tailwind.config.hanzo-preset.d.ts +0 -5
  645. package/tailwind/tailwind.config.hanzo-preset.js +0 -915
  646. package/tailwind/tw-font-desc.ts +0 -15
  647. package/tailwind/typo-plugin/get-plugin-styles.js +0 -679
  648. package/tailwind/typo-plugin/index.d.ts +0 -9
  649. package/tailwind/typo-plugin/index.js +0 -141
  650. package/tailwind/typo-plugin/utils.js +0 -60
  651. package/tailwind/typography-test.mdx +0 -35
  652. package/tailwind/z-index.tailwind.js +0 -71
  653. package/types/animation-def.ts +0 -3
  654. package/types/breakpoints.ts +0 -11
  655. package/types/bullet-item.ts +0 -10
  656. package/types/button-def.ts +0 -39
  657. package/types/dimensions.ts +0 -8
  658. package/types/grid-def.ts +0 -56
  659. package/types/image-def.ts +0 -32
  660. package/types/index.ts +0 -30
  661. package/types/link-def.ts +0 -56
  662. package/types/media-stack-def.ts +0 -31
  663. package/types/t-shirt-size.ts +0 -5
  664. package/types/tshirt-dimensions.ts +0 -20
  665. package/types/video-def.ts +0 -25
  666. package/util/blob.ts +0 -33
  667. package/util/copy-to-clipboard.ts +0 -17
  668. package/util/create-shadow-root.ts +0 -22
  669. package/util/date.ts +0 -84
  670. package/util/debounce.ts +0 -11
  671. package/util/file.ts +0 -15
  672. package/util/format-and-abbreviate-as-currency.ts +0 -125
  673. package/util/format-text.ts +0 -34
  674. package/util/format-to-max-char.ts +0 -68
  675. package/util/index-client.ts +0 -3
  676. package/util/index.ts +0 -112
  677. package/util/number-abbreviate.ts +0 -49
  678. package/util/specifier.ts +0 -43
  679. package/util/spread-to-transform.ts +0 -25
  680. package/util/step-animation.ts +0 -90
  681. package/util/timing.ts +0 -3
  682. package/util/toasts.tsx +0 -17
  683. package/util/two-way-map.ts +0 -19
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/charts/chart.tsx","../../src/charts/area-chart.tsx","../../src/charts/bar-chart.tsx","../../src/charts/line-chart.tsx","../../src/charts/pie-chart.tsx","../../src/charts/radar-chart.tsx","../../src/charts/radial-chart.tsx","../../src/charts/chart-config.tsx"],"names":["config","React2","jsx","jsxs","RechartsAreaChart","React3","RechartsBarChart","CartesianGrid","XAxis","YAxis","React4","RechartsLineChart","React5","RechartsPieChart","React6","RechartsRadarChart","React7","RechartsRadialBarChart","PolarAngleAxis"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { BrandTheme } from \"./chart-config\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n brand?: BrandTheme\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 config: ChartConfig\n brand?: BrandTheme\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, brand = \"hanzo\", ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config, brand }}>\n <div\n data-chart={chartId}\n data-brand={brand}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.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-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.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 [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </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(\n ([, config]) => config.theme || config.color\n )\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 =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n 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> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\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 (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\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 \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background 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.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\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(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\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\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\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 hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\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(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\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 }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Area, AreaChart as RechartsAreaChart, CartesianGrid, XAxis, YAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from \"./chart\"\n\nexport interface AreaChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string\n xAxisKey?: string\n yAxisKey?: string\n margin?: {\n top?: number\n right?: number\n bottom?: number\n left?: number\n }\n showGrid?: boolean\n showXAxis?: boolean\n showYAxis?: boolean\n showTooltip?: boolean\n gradient?: boolean\n stacked?: boolean\n strokeWidth?: number\n fillOpacity?: number\n type?: \"linear\" | \"natural\" | \"monotone\" | \"step\" | \"stepBefore\" | \"stepAfter\"\n}\n\nconst AreaChart = React.forwardRef<HTMLDivElement, AreaChartProps>(\n (\n {\n data,\n config,\n dataKey,\n xAxisKey = \"name\",\n yAxisKey,\n margin = { left: 12, right: 12 },\n showGrid = true,\n showXAxis = true,\n showYAxis = false,\n showTooltip = true,\n gradient = false,\n stacked = false,\n strokeWidth = 2,\n fillOpacity = 0.4,\n type = \"natural\",\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsAreaChart\n data={data}\n margin={margin}\n accessibilityLayer\n >\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" vertical={false} />}\n \n {showXAxis && (\n <XAxis\n dataKey={xAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={(value) => value?.toString().slice(0, 3)}\n />\n )}\n \n {showYAxis && yAxisKey && (\n <YAxis\n dataKey={yAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n />\n )}\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent indicator=\"line\" />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <Area\n key={key}\n dataKey={key}\n type={type}\n fill={`var(--color-${key})`}\n fillOpacity={fillOpacity}\n stroke={`var(--color-${key})`}\n strokeWidth={strokeWidth}\n stackId={stacked ? \"a\" : undefined}\n />\n ))}\n\n {gradient && (\n <defs>\n {chartDataKeys.map((key) => (\n <linearGradient key={key} id={`gradient-${key}`} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"5%\" stopColor={`var(--color-${key})`} stopOpacity={0.8} />\n <stop offset=\"95%\" stopColor={`var(--color-${key})`} stopOpacity={0.1} />\n </linearGradient>\n ))}\n </defs>\n )}\n </RechartsAreaChart>\n </ChartContainer>\n </div>\n )\n }\n)\nAreaChart.displayName = \"AreaChart\"\n\nexport { AreaChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { Bar, BarChart as RechartsBarChart, CartesianGrid, XAxis, YAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from \"./chart\"\n\nexport interface BarChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string | string[]\n xAxisKey?: string\n yAxisKey?: string\n margin?: {\n top?: number\n right?: number\n bottom?: number\n left?: number\n }\n showGrid?: boolean\n showXAxis?: boolean\n showYAxis?: boolean\n showTooltip?: boolean\n horizontal?: boolean\n stacked?: boolean\n radius?: number | [number, number, number, number]\n barGap?: number\n barCategoryGap?: number\n}\n\nconst BarChart = React.forwardRef<HTMLDivElement, BarChartProps>(\n (\n {\n data,\n config,\n dataKey,\n xAxisKey = \"name\",\n yAxisKey,\n margin = { left: 12, right: 12 },\n showGrid = true,\n showXAxis = true,\n showYAxis = false,\n showTooltip = true,\n horizontal = false,\n stacked = false,\n radius = 8,\n barGap = 4,\n barCategoryGap = \"10%\",\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsBarChart\n data={data}\n margin={margin}\n accessibilityLayer\n layout={horizontal ? \"horizontal\" : \"vertical\"}\n barGap={barGap}\n barCategoryGap={barCategoryGap}\n >\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" vertical={!horizontal} />}\n \n {showXAxis && (\n <XAxis\n type={horizontal ? \"number\" : \"category\"}\n dataKey={horizontal ? undefined : xAxisKey}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n tickFormatter={horizontal ? undefined : (value) => value?.toString().slice(0, 3)}\n />\n )}\n \n {showYAxis && (\n <YAxis\n type={horizontal ? \"category\" : \"number\"}\n dataKey={horizontal ? xAxisKey : yAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={horizontal ? (value) => value?.toString().slice(0, 3) : undefined}\n />\n )}\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel={!stacked} />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <Bar\n key={key}\n dataKey={key}\n fill={`var(--color-${key})`}\n radius={radius}\n stackId={stacked ? \"a\" : undefined}\n />\n ))}\n </RechartsBarChart>\n </ChartContainer>\n </div>\n )\n }\n)\nBarChart.displayName = \"BarChart\"\n\nexport { BarChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { Line, LineChart as RechartsLineChart, CartesianGrid, XAxis, YAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from \"./chart\"\n\nexport interface LineChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string | string[]\n xAxisKey?: string\n yAxisKey?: string\n margin?: {\n top?: number\n right?: number\n bottom?: number\n left?: number\n }\n showGrid?: boolean\n showXAxis?: boolean\n showYAxis?: boolean\n showTooltip?: boolean\n showDots?: boolean\n strokeWidth?: number\n type?: \"linear\" | \"natural\" | \"monotone\" | \"step\" | \"stepBefore\" | \"stepAfter\"\n connectNulls?: boolean\n activeDot?: boolean | object\n}\n\nconst LineChart = React.forwardRef<HTMLDivElement, LineChartProps>(\n (\n {\n data,\n config,\n dataKey,\n xAxisKey = \"name\",\n yAxisKey,\n margin = { left: 12, right: 12 },\n showGrid = true,\n showXAxis = true,\n showYAxis = false,\n showTooltip = true,\n showDots = false,\n strokeWidth = 2,\n type = \"monotone\",\n connectNulls = false,\n activeDot = true,\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsLineChart\n data={data}\n margin={margin}\n accessibilityLayer\n >\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" vertical={false} />}\n \n {showXAxis && (\n <XAxis\n dataKey={xAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={(value) => value?.toString().slice(0, 3)}\n />\n )}\n \n {showYAxis && yAxisKey && (\n <YAxis\n dataKey={yAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n />\n )}\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <Line\n key={key}\n dataKey={key}\n type={type}\n stroke={`var(--color-${key})`}\n strokeWidth={strokeWidth}\n dot={showDots ? { fill: `var(--color-${key})`, strokeWidth: 2 } : false}\n activeDot={activeDot ? { r: 6, fill: `var(--color-${key})` } : false}\n connectNulls={connectNulls}\n />\n ))}\n </RechartsLineChart>\n </ChartContainer>\n </div>\n )\n }\n)\nLineChart.displayName = \"LineChart\"\n\nexport { LineChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { Pie, PieChart as RechartsPieChart, Cell } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent } from \"./chart\"\n\nexport interface PieChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string\n nameKey?: string\n cx?: string | number\n cy?: string | number\n innerRadius?: number\n outerRadius?: number\n showTooltip?: boolean\n showLegend?: boolean\n startAngle?: number\n endAngle?: number\n paddingAngle?: number\n stroke?: string\n strokeWidth?: number\n}\n\nconst PieChart = React.forwardRef<HTMLDivElement, PieChartProps>(\n (\n {\n data,\n config,\n dataKey,\n nameKey = \"name\",\n cx = \"50%\",\n cy = \"50%\",\n innerRadius = 0,\n outerRadius = 80,\n showTooltip = true,\n showLegend = false,\n startAngle = 90,\n endAngle = 450,\n paddingAngle = 0,\n stroke = \"transparent\",\n strokeWidth = 1,\n className,\n ...props\n },\n ref\n ) => {\n // Enhanced data with colors from config\n const enhancedData = React.useMemo(() => {\n return data.map((item, index) => {\n const itemKey = item[nameKey] || index.toString()\n const configItem = config[itemKey]\n \n return {\n ...item,\n fill: item.fill || configItem?.color || `var(--color-${itemKey})` || `hsl(var(--chart-${(index % 5) + 1}))`\n }\n })\n }, [data, config, nameKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsPieChart accessibilityLayer>\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel />}\n />\n )}\n \n <Pie\n data={enhancedData}\n dataKey={dataKey}\n nameKey={nameKey}\n cx={cx}\n cy={cy}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n startAngle={startAngle}\n endAngle={endAngle}\n paddingAngle={paddingAngle}\n stroke={stroke}\n strokeWidth={strokeWidth}\n >\n {enhancedData.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={entry.fill} />\n ))}\n </Pie>\n\n {showLegend && (\n <ChartLegend\n content={<ChartLegendContent nameKey={nameKey} />}\n verticalAlign=\"bottom\"\n />\n )}\n </RechartsPieChart>\n </ChartContainer>\n </div>\n )\n }\n)\nPieChart.displayName = \"PieChart\"\n\n// Donut Chart is just a PieChart with innerRadius\nconst DonutChart = React.forwardRef<HTMLDivElement, PieChartProps>(\n ({ innerRadius = 60, ...props }, ref) => {\n return <PieChart ref={ref} innerRadius={innerRadius} {...props} />\n }\n)\nDonutChart.displayName = \"DonutChart\"\n\nexport { PieChart, DonutChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { Radar, RadarChart as RechartsRadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent } from \"./chart\"\n\nexport interface RadarChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string | string[]\n angleKey?: string\n radiusKey?: string\n cx?: string | number\n cy?: string | number\n outerRadius?: string | number\n showTooltip?: boolean\n showLegend?: boolean\n showGrid?: boolean\n showAngleAxis?: boolean\n showRadiusAxis?: boolean\n fillOpacity?: number\n strokeWidth?: number\n gridType?: \"polygon\" | \"circle\"\n tick?: boolean\n tickCount?: number\n}\n\nconst RadarChart = React.forwardRef<HTMLDivElement, RadarChartProps>(\n (\n {\n data,\n config,\n dataKey,\n angleKey = \"name\",\n radiusKey,\n cx = \"50%\",\n cy = \"50%\",\n outerRadius = \"80%\",\n showTooltip = true,\n showLegend = false,\n showGrid = true,\n showAngleAxis = true,\n showRadiusAxis = false,\n fillOpacity = 0.6,\n strokeWidth = 2,\n gridType = \"polygon\",\n tick = true,\n tickCount = 5,\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsRadarChart\n data={data}\n cx={cx}\n cy={cy}\n outerRadius={outerRadius}\n accessibilityLayer\n >\n {showGrid && (\n <PolarGrid\n gridType={gridType}\n radialLines={gridType === \"polygon\"}\n />\n )}\n\n {showAngleAxis && (\n <PolarAngleAxis\n dataKey={angleKey}\n tick={tick}\n tickFormatter={(value) => value?.toString().slice(0, 3)}\n />\n )}\n\n {showRadiusAxis && (\n <PolarRadiusAxis\n dataKey={radiusKey}\n tick={tick}\n tickCount={tickCount}\n angle={90}\n domain={[0, \"dataMax\"]}\n />\n )}\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <Radar\n key={key}\n dataKey={key}\n stroke={`var(--color-${key})`}\n fill={`var(--color-${key})`}\n fillOpacity={fillOpacity}\n strokeWidth={strokeWidth}\n dot={{\n r: 4,\n fill: `var(--color-${key})`,\n strokeWidth: 2,\n stroke: \"var(--background)\"\n }}\n />\n ))}\n\n {showLegend && (\n <ChartLegend\n content={<ChartLegendContent />}\n verticalAlign=\"bottom\"\n />\n )}\n </RechartsRadarChart>\n </ChartContainer>\n </div>\n )\n }\n)\nRadarChart.displayName = \"RadarChart\"\n\nexport { RadarChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { RadialBar, RadialBarChart as RechartsRadialBarChart, PolarAngleAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent } from \"./chart\"\n\nexport interface RadialChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string | string[]\n nameKey?: string\n cx?: string | number\n cy?: string | number\n innerRadius?: string | number\n outerRadius?: string | number\n startAngle?: number\n endAngle?: number\n showTooltip?: boolean\n showLegend?: boolean\n showBackground?: boolean\n cornerRadius?: number\n stackId?: string\n label?: boolean | object\n}\n\nconst RadialChart = React.forwardRef<HTMLDivElement, RadialChartProps>(\n (\n {\n data,\n config,\n dataKey,\n nameKey = \"name\",\n cx = \"50%\",\n cy = \"50%\",\n innerRadius = \"30%\",\n outerRadius = \"80%\",\n startAngle = 90,\n endAngle = -270,\n showTooltip = true,\n showLegend = false,\n showBackground = true,\n cornerRadius = 4,\n stackId,\n label = false,\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n // Enhanced data with colors from config\n const enhancedData = React.useMemo(() => {\n return data.map((item, index) => {\n const itemKey = item[nameKey] || index.toString()\n const configItem = config[itemKey]\n \n return {\n ...item,\n fill: item.fill || configItem?.color || `var(--color-${itemKey})` || `hsl(var(--chart-${(index % 5) + 1}))`\n }\n })\n }, [data, config, nameKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsRadialBarChart\n data={enhancedData}\n cx={cx}\n cy={cy}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n startAngle={startAngle}\n endAngle={endAngle}\n accessibilityLayer\n >\n {/* Angle axis for proper spacing */}\n <PolarAngleAxis\n type=\"number\"\n domain={[0, 100]}\n angleAxisId={0}\n tick={false}\n />\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <RadialBar\n key={key}\n dataKey={key}\n stackId={stackId}\n cornerRadius={cornerRadius}\n fill={`var(--color-${key})`}\n className=\"stroke-transparent stroke-2\"\n background={showBackground ? { fill: \"var(--muted)\" } : false}\n label={label}\n />\n ))}\n\n {showLegend && (\n <ChartLegend\n content={<ChartLegendContent nameKey={nameKey} />}\n verticalAlign=\"bottom\"\n />\n )}\n </RechartsRadialBarChart>\n </ChartContainer>\n </div>\n )\n }\n)\nRadialChart.displayName = \"RadialChart\"\n\nexport { RadialChart }","\"use client\"\n\nimport { ChartConfig } from \"./chart\"\n\n// OKLCH color palettes for different brands and themes\nexport const chartColorPalettes = {\n hanzo: {\n light: [\n \"oklch(0.65 0.18 35)\", // Neutral warm\n \"oklch(0.55 0.15 165)\", // Neutral cool\n \"oklch(0.45 0.12 195)\", // Neutral blue\n \"oklch(0.7 0.18 55)\", // Neutral yellow\n \"oklch(0.65 0.22 40)\", // Neutral orange\n \"oklch(0.5 0.1 220)\", // Neutral indigo\n \"oklch(0.6 0.15 280)\", // Neutral purple\n \"oklch(0.55 0.2 340)\", // Neutral pink\n ],\n dark: [\n \"oklch(0.5 0.17 220)\", // Cool blue\n \"oklch(0.45 0.15 160)\", // Cool green\n \"oklch(0.55 0.2 30)\", // Warm orange\n \"oklch(0.6 0.16 280)\", // Cool purple\n \"oklch(0.55 0.18 340)\", // Cool pink\n \"oklch(0.5 0.15 100)\", // Neutral green\n \"oklch(0.45 0.18 60)\", // Warm yellow\n \"oklch(0.6 0.12 200)\", // Cool cyan\n ]\n },\n lux: {\n light: [\n \"oklch(0.15 0 0)\", // Deep black\n \"oklch(0.35 0 0)\", // Dark gray\n \"oklch(0.55 0 0)\", // Medium gray\n \"oklch(0.75 0 0)\", // Light gray\n \"oklch(0.25 0 0)\", // Charcoal\n \"oklch(0.45 0 0)\", // Medium-dark gray\n \"oklch(0.85 0 0)\", // Very light gray\n \"oklch(0.65 0 0)\", // Medium-light gray\n ],\n dark: [\n \"oklch(0.985 0 0)\", // Pure white\n \"oklch(0.75 0 0)\", // Light gray\n \"oklch(0.55 0 0)\", // Medium gray\n \"oklch(0.35 0 0)\", // Dark gray\n \"oklch(0.85 0 0)\", // Very light gray\n \"oklch(0.65 0 0)\", // Medium-light gray\n \"oklch(0.25 0 0)\", // Charcoal\n \"oklch(0.45 0 0)\", // Medium-dark gray\n ]\n },\n zoo: {\n light: [\n \"oklch(0.6 0.35 0)\", // Red\n \"oklch(0.65 0.35 120)\", // Green\n \"oklch(0.55 0.35 240)\", // Blue\n \"oklch(0.7 0.35 180)\", // Cyan\n \"oklch(0.65 0.35 300)\", // Magenta\n \"oklch(0.75 0.35 60)\", // Yellow\n \"oklch(0.6 0.35 30)\", // Orange\n \"oklch(0.55 0.35 270)\", // Violet\n ],\n dark: [\n \"oklch(0.7 0.4 0)\", // Bright red\n \"oklch(0.75 0.4 120)\", // Bright green\n \"oklch(0.65 0.4 240)\", // Bright blue\n \"oklch(0.8 0.4 180)\", // Bright cyan\n \"oklch(0.75 0.4 300)\", // Bright magenta\n \"oklch(0.85 0.4 60)\", // Bright yellow\n \"oklch(0.7 0.4 30)\", // Bright orange\n \"oklch(0.65 0.4 270)\", // Bright violet\n ]\n }\n} as const\n\nexport type BrandTheme = keyof typeof chartColorPalettes\nexport type ColorMode = \"light\" | \"dark\"\n\n// Create chart configs for different brands and chart variables\nexport function createBrandChartConfig(\n brand: BrandTheme = \"hanzo\",\n mode: ColorMode = \"light\",\n variables: string[] = []\n): ChartConfig {\n const palette = chartColorPalettes[brand][mode]\n const config: ChartConfig = {}\n\n // Add chart color variables (--chart-1, --chart-2, etc.)\n for (let i = 1; i <= 8; i++) {\n config[`chart-${i}`] = {\n color: palette[i - 1] || palette[0],\n }\n }\n\n // Add custom variables if provided\n variables.forEach((variable, index) => {\n config[variable] = {\n color: palette[index % palette.length],\n }\n })\n\n return config\n}\n\n// Utility function to get theme-aware colors\nexport function getChartColor(\n key: string,\n brand: BrandTheme = \"hanzo\",\n mode: ColorMode = \"light\",\n index: number = 0\n): string {\n const palette = chartColorPalettes[brand][mode]\n return palette[index % palette.length]\n}\n\n// Predefined chart configs for common use cases\nexport const hanzoChartConfig: ChartConfig = createBrandChartConfig(\"hanzo\")\nexport const luxChartConfig: ChartConfig = createBrandChartConfig(\"lux\")\nexport const zooChartConfig: ChartConfig = createBrandChartConfig(\"zoo\")\n\n// Enhanced chart config with both light and dark themes\nexport function createEnhancedChartConfig(\n brand: BrandTheme = \"hanzo\",\n variables: string[] = []\n): ChartConfig {\n const lightPalette = chartColorPalettes[brand].light\n const darkPalette = chartColorPalettes[brand].dark\n const config: ChartConfig = {}\n\n // Add chart color variables with theme support\n for (let i = 1; i <= 8; i++) {\n config[`chart-${i}`] = {\n theme: {\n light: lightPalette[i - 1] || lightPalette[0],\n dark: darkPalette[i - 1] || darkPalette[0],\n },\n }\n }\n\n // Add custom variables with theme support\n variables.forEach((variable, index) => {\n config[variable] = {\n theme: {\n light: lightPalette[index % lightPalette.length],\n dark: darkPalette[index % darkPalette.length],\n },\n }\n })\n\n return config\n}\n\nexport const enhancedHanzoChartConfig = createEnhancedChartConfig(\"hanzo\")\nexport const enhancedLuxChartConfig = createEnhancedChartConfig(\"lux\")\nexport const enhancedZooChartConfig = createEnhancedChartConfig(\"zoo\")"]}
@@ -0,0 +1,111 @@
1
+ import { cn } from './chunk-TH2UKMCO.mjs';
2
+ import { Drawer as Drawer$1 } from 'vaul';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ function Drawer({
6
+ shouldScaleBackground = true,
7
+ ...props
8
+ }) {
9
+ return /* @__PURE__ */ jsx(
10
+ Drawer$1.Root,
11
+ {
12
+ shouldScaleBackground,
13
+ ...props
14
+ }
15
+ );
16
+ }
17
+ var DrawerTrigger = Drawer$1.Trigger;
18
+ var DrawerPortal = Drawer$1.Portal;
19
+ var DrawerClose = Drawer$1.Close;
20
+ function DrawerOverlay({
21
+ className,
22
+ ...props
23
+ }) {
24
+ return /* @__PURE__ */ jsx(
25
+ Drawer$1.Overlay,
26
+ {
27
+ "data-slot": "overlay",
28
+ className: cn("fixed inset-0 z-50 bg-black/80", className),
29
+ ...props
30
+ }
31
+ );
32
+ }
33
+ function DrawerContent({ ref, className, children, ...props }) {
34
+ return /* @__PURE__ */ jsxs(DrawerPortal, { children: [
35
+ /* @__PURE__ */ jsx(DrawerOverlay, {}),
36
+ /* @__PURE__ */ jsxs(
37
+ Drawer$1.Content,
38
+ {
39
+ ref,
40
+ "data-slot": "content",
41
+ className: cn(
42
+ "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
43
+ className
44
+ ),
45
+ ...props,
46
+ children: [
47
+ /* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
48
+ children
49
+ ]
50
+ }
51
+ )
52
+ ] });
53
+ }
54
+ DrawerContent.displayName = "DrawerContent";
55
+ function DrawerHeader({
56
+ className,
57
+ ...props
58
+ }) {
59
+ return /* @__PURE__ */ jsx(
60
+ "div",
61
+ {
62
+ "data-slot": "header",
63
+ className: cn("grid gap-1.5 p-4 text-center sm:text-left", className),
64
+ ...props
65
+ }
66
+ );
67
+ }
68
+ function DrawerFooter({
69
+ className,
70
+ ...props
71
+ }) {
72
+ return /* @__PURE__ */ jsx(
73
+ "div",
74
+ {
75
+ "data-slot": "footer",
76
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
77
+ ...props
78
+ }
79
+ );
80
+ }
81
+ function DrawerTitle({ ref, className, ...props }) {
82
+ return /* @__PURE__ */ jsx(
83
+ Drawer$1.Title,
84
+ {
85
+ ref,
86
+ "data-slot": "title",
87
+ className: cn(
88
+ "text-lg font-semibold leading-none tracking-tight",
89
+ className
90
+ ),
91
+ ...props
92
+ }
93
+ );
94
+ }
95
+ DrawerTitle.displayName = Drawer$1.Title.displayName;
96
+ function DrawerDescription({ ref, className, ...props }) {
97
+ return /* @__PURE__ */ jsx(
98
+ Drawer$1.Description,
99
+ {
100
+ ref,
101
+ "data-slot": "description",
102
+ className: cn("text-sm text-muted-foreground", className),
103
+ ...props
104
+ }
105
+ );
106
+ }
107
+ DrawerDescription.displayName = Drawer$1.Description.displayName;
108
+
109
+ export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
110
+ //# sourceMappingURL=chunk-26T4V5QU.mjs.map
111
+ //# sourceMappingURL=chunk-26T4V5QU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/drawer.tsx"],"names":["DrawerPrimitive"],"mappings":"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","file":"chunk-26T4V5QU.mjs","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Drawer as DrawerPrimitive } from \"vaul\"\n\nimport { cn } from \"../lib/utils\"\n\nfunction Drawer({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n )\n}\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nfunction DrawerOverlay({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"overlay\"\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\n {...props}\n />\n )\n}\n\nfunction DrawerContent({ ref, className, children, ...props }: React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content> & { ref?: React.Ref<React.ElementRef<typeof DrawerPrimitive.Content>> }) {\n return (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n data-slot=\"content\"\n className={cn(\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n className\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n )\n}\nDrawerContent.displayName = \"DrawerContent\"\n\nfunction DrawerHeader({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n data-slot=\"header\"\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DrawerFooter({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n data-slot=\"footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction DrawerTitle({ ref, className, ...props }: React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title> & { ref?: React.Ref<React.ElementRef<typeof DrawerPrimitive.Title>> }) {\n return (\n <DrawerPrimitive.Title\n ref={ref}\n data-slot=\"title\"\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n )\n}\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nfunction DrawerDescription({ ref, className, ...props }: React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description> & { ref?: React.Ref<React.ElementRef<typeof DrawerPrimitive.Description>> }) {\n return (\n <DrawerPrimitive.Description\n ref={ref}\n data-slot=\"description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}"]}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var chunkDN2AEEA2_js = require('./chunk-DN2AEEA2.js');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ function Textarea({ className, ...props }) {
7
+ return /* @__PURE__ */ jsxRuntime.jsx(
8
+ "textarea",
9
+ {
10
+ "data-slot": "textarea",
11
+ className: chunkDN2AEEA2_js.cn(
12
+ "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
13
+ className
14
+ ),
15
+ ...props
16
+ }
17
+ );
18
+ }
19
+
20
+ exports.Textarea = Textarea;
21
+ //# sourceMappingURL=chunk-2A5KXDLJ.js.map
22
+ //# sourceMappingURL=chunk-2A5KXDLJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/textarea.tsx"],"names":["jsx","cn"],"mappings":";;;;;AAIA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAqC;AAC3E,EAAA,uBACEA,cAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAWC,mBAAA;AAAA,QACT,qcAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-2A5KXDLJ.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"../lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"]}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ var chunkDN2AEEA2_js = require('./chunk-DN2AEEA2.js');
4
+ var React = require('react');
5
+ var inputOtp = require('input-otp');
6
+ var lucideReact = require('lucide-react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+
29
+ function InputOTP({ ref, className, containerClassName, ...props }) {
30
+ return /* @__PURE__ */ jsxRuntime.jsx(
31
+ inputOtp.OTPInput,
32
+ {
33
+ ref,
34
+ containerClassName: chunkDN2AEEA2_js.cn(
35
+ "flex items-center gap-2 has-[:disabled]:opacity-50",
36
+ containerClassName
37
+ ),
38
+ className: chunkDN2AEEA2_js.cn("disabled:cursor-not-allowed", className),
39
+ ...props
40
+ }
41
+ );
42
+ }
43
+ InputOTP.displayName = "InputOTP";
44
+ function InputOTPGroup({ ref, className, ...props }) {
45
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunkDN2AEEA2_js.cn("flex items-center", className), ...props });
46
+ }
47
+ InputOTPGroup.displayName = "InputOTPGroup";
48
+ function InputOTPSlot({ ref, index, className, ...props }) {
49
+ const inputOTPContext = React__namespace.useContext(inputOtp.OTPInputContext);
50
+ const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
51
+ return /* @__PURE__ */ jsxRuntime.jsxs(
52
+ "div",
53
+ {
54
+ ref,
55
+ className: chunkDN2AEEA2_js.cn(
56
+ "relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
57
+ isActive && "z-10 ring-1 ring-ring",
58
+ className
59
+ ),
60
+ ...props,
61
+ children: [
62
+ char,
63
+ hasFakeCaret && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
64
+ ]
65
+ }
66
+ );
67
+ }
68
+ InputOTPSlot.displayName = "InputOTPSlot";
69
+ function InputOTPSeparator({ ref, ...props }) {
70
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, {}) });
71
+ }
72
+ InputOTPSeparator.displayName = "InputOTPSeparator";
73
+
74
+ exports.InputOTP = InputOTP;
75
+ exports.InputOTPGroup = InputOTPGroup;
76
+ exports.InputOTPSeparator = InputOTPSeparator;
77
+ exports.InputOTPSlot = InputOTPSlot;
78
+ //# sourceMappingURL=chunk-2CJ4HMF4.js.map
79
+ //# sourceMappingURL=chunk-2CJ4HMF4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/input-otp.tsx"],"names":["jsx","OTPInput","cn","React","OTPInputContext","jsxs","Minus"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,SAAS,SAAS,EAAE,GAAA,EAAK,WAAW,kBAAA,EAAoB,GAAG,OAAM,EAA6G;AAC5K,EAAA,uBACEA,cAAA;AAAA,IAACC,iBAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,kBAAA,EAAoBC,mBAAA;AAAA,QAClB,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,SAAA,EAAWA,mBAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA;AAAA,MACrD,GAAG;AAAA;AAAA,GACN;AAEJ;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;AAEvB,SAAS,cAAc,EAAE,GAAA,EAAK,SAAA,EAAW,GAAG,OAAM,EAAyF;AACzI,EAAA,uBACEF,cAAA,CAAC,SAAI,GAAA,EAAU,SAAA,EAAWE,oBAAG,mBAAA,EAAqB,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAE7E;AACA,aAAA,CAAc,WAAA,GAAc,eAAA;AAE5B,SAAS,aAAa,EAAE,GAAA,EAAK,OAAO,SAAA,EAAW,GAAG,OAAM,EAA6G;AACnK,EAAA,MAAM,eAAA,GAAwBC,4BAAWC,wBAAe,CAAA;AACxD,EAAA,MAAM,EAAE,IAAA,EAAM,YAAA,EAAc,UAAS,GAAI,eAAA,CAAgB,MAAM,KAAK,CAAA;AAEpE,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAWH,mBAAA;AAAA,QACT,uKAAA;AAAA,QACA,QAAA,IAAY,uBAAA;AAAA,QACZ;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,QACA,YAAA,mCACE,KAAA,EAAA,EAAI,SAAA,EAAU,yEACb,QAAA,kBAAAF,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0DAAA,EAA2D,CAAA,EAC5E;AAAA;AAAA;AAAA,GAEJ;AAEJ;AACA,YAAA,CAAa,WAAA,GAAc,cAAA;AAE3B,SAAS,iBAAA,CAAkB,EAAE,GAAA,EAAK,GAAG,OAAM,EAAyF;AAClI,EAAA,uBACEA,cAAA,CAAC,SAAI,GAAA,EAAU,IAAA,EAAK,aAAa,GAAG,KAAA,EAClC,QAAA,kBAAAA,cAAA,CAACM,iBAAA,EAAA,EAAM,CAAA,EACT,CAAA;AAEJ;AACA,iBAAA,CAAkB,WAAA,GAAc,mBAAA","file":"chunk-2CJ4HMF4.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { OTPInput, OTPInputContext } from \"input-otp\"\nimport { Minus } from \"lucide-react\"\n\nimport { cn } from \"../lib/utils\"\n\nfunction InputOTP({ ref, className, containerClassName, ...props }: React.ComponentPropsWithoutRef<typeof OTPInput> & { ref?: React.Ref<React.ElementRef<typeof OTPInput>> }) {\n return (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n \"flex items-center gap-2 has-[:disabled]:opacity-50\",\n containerClassName\n )}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n )\n}\nInputOTP.displayName = \"InputOTP\"\n\nfunction InputOTPGroup({ ref, className, ...props }: React.ComponentPropsWithoutRef<\"div\"> & { ref?: React.Ref<React.ElementRef<\"div\">> }) {\n return (\n <div ref={ref} className={cn(\"flex items-center\", className)} {...props} />\n )\n}\nInputOTPGroup.displayName = \"InputOTPGroup\"\n\nfunction InputOTPSlot({ ref, index, className, ...props }: React.ComponentPropsWithoutRef<\"div\"> & { index: number } & { ref?: React.Ref<React.ElementRef<\"div\">> }) {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]\n\n return (\n <div\n ref={ref}\n className={cn(\n \"relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md\",\n isActive && \"z-10 ring-1 ring-ring\",\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n )\n}\nInputOTPSlot.displayName = \"InputOTPSlot\"\n\nfunction InputOTPSeparator({ ref, ...props }: React.ComponentPropsWithoutRef<\"div\"> & { ref?: React.Ref<React.ElementRef<\"div\">> }) {\n return (\n <div ref={ref} role=\"separator\" {...props}>\n <Minus />\n </div>\n )\n}\nInputOTPSeparator.displayName = \"InputOTPSeparator\"\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }"]}
@@ -0,0 +1,236 @@
1
+ 'use strict';
2
+
3
+ var chunkDN2AEEA2_js = require('./chunk-DN2AEEA2.js');
4
+ var React = require('react');
5
+ var MenubarPrimitive = require('@radix-ui/react-menubar');
6
+ var lucideReact = require('lucide-react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+ var MenubarPrimitive__namespace = /*#__PURE__*/_interopNamespace(MenubarPrimitive);
29
+
30
+ function MenubarMenu({
31
+ ...props
32
+ }) {
33
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Menu, { ...props });
34
+ }
35
+ function MenubarGroup({
36
+ ...props
37
+ }) {
38
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Group, { ...props });
39
+ }
40
+ function MenubarPortal({
41
+ ...props
42
+ }) {
43
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { ...props });
44
+ }
45
+ function MenubarRadioGroup({
46
+ ...props
47
+ }) {
48
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.RadioGroup, { ...props });
49
+ }
50
+ function MenubarSub({
51
+ ...props
52
+ }) {
53
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Sub, { "data-slot": "menubar-sub", ...props });
54
+ }
55
+ var Menubar = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
56
+ MenubarPrimitive__namespace.Root,
57
+ {
58
+ ref,
59
+ "data-slot": "menubar",
60
+ className: chunkDN2AEEA2_js.cn(
61
+ "flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",
62
+ className
63
+ ),
64
+ ...props
65
+ }
66
+ ));
67
+ Menubar.displayName = MenubarPrimitive__namespace.Root.displayName;
68
+ var MenubarTrigger = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
69
+ MenubarPrimitive__namespace.Trigger,
70
+ {
71
+ ref,
72
+ "data-slot": "menubar-trigger",
73
+ className: chunkDN2AEEA2_js.cn(
74
+ "flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus-visible:bg-accent focus-visible:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
75
+ className
76
+ ),
77
+ ...props
78
+ }
79
+ ));
80
+ MenubarTrigger.displayName = MenubarPrimitive__namespace.Trigger.displayName;
81
+ function MenubarSubTrigger({
82
+ className,
83
+ inset,
84
+ children,
85
+ ...props
86
+ }) {
87
+ return /* @__PURE__ */ jsxRuntime.jsxs(
88
+ MenubarPrimitive__namespace.SubTrigger,
89
+ {
90
+ "data-slot": "menubar-sub-trigger",
91
+ className: chunkDN2AEEA2_js.cn(
92
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus-visible:bg-accent focus-visible:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
93
+ inset && "pl-8",
94
+ className
95
+ ),
96
+ ...props,
97
+ children: [
98
+ children,
99
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
100
+ ]
101
+ }
102
+ );
103
+ }
104
+ var MenubarSubContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
105
+ MenubarPrimitive__namespace.SubContent,
106
+ {
107
+ ref,
108
+ "data-slot": "menubar-sub-content",
109
+ className: chunkDN2AEEA2_js.cn(
110
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin] focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
111
+ className
112
+ ),
113
+ ...props
114
+ }
115
+ ));
116
+ MenubarSubContent.displayName = MenubarPrimitive__namespace.SubContent.displayName;
117
+ var MenubarContent = React__namespace.forwardRef(
118
+ ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
119
+ MenubarPrimitive__namespace.Content,
120
+ {
121
+ ref,
122
+ align,
123
+ alignOffset,
124
+ sideOffset,
125
+ className: chunkDN2AEEA2_js.cn(
126
+ "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]",
127
+ className
128
+ ),
129
+ ...props
130
+ }
131
+ ) })
132
+ );
133
+ MenubarContent.displayName = MenubarPrimitive__namespace.Content.displayName;
134
+ var MenubarItem = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
135
+ MenubarPrimitive__namespace.Item,
136
+ {
137
+ ref,
138
+ className: chunkDN2AEEA2_js.cn(
139
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
140
+ inset && "pl-8",
141
+ className
142
+ ),
143
+ ...props
144
+ }
145
+ ));
146
+ MenubarItem.displayName = MenubarPrimitive__namespace.Item.displayName;
147
+ var MenubarCheckboxItem = React__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
148
+ MenubarPrimitive__namespace.CheckboxItem,
149
+ {
150
+ ref,
151
+ className: chunkDN2AEEA2_js.cn(
152
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
153
+ className
154
+ ),
155
+ checked,
156
+ ...props,
157
+ children: [
158
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
159
+ children
160
+ ]
161
+ }
162
+ ));
163
+ MenubarCheckboxItem.displayName = MenubarPrimitive__namespace.CheckboxItem.displayName;
164
+ var MenubarRadioItem = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
165
+ MenubarPrimitive__namespace.RadioItem,
166
+ {
167
+ ref,
168
+ className: chunkDN2AEEA2_js.cn(
169
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
170
+ className
171
+ ),
172
+ ...props,
173
+ children: [
174
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-4 w-4 fill-current" }) }) }),
175
+ children
176
+ ]
177
+ }
178
+ ));
179
+ MenubarRadioItem.displayName = MenubarPrimitive__namespace.RadioItem.displayName;
180
+ var MenubarLabel = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
181
+ MenubarPrimitive__namespace.Label,
182
+ {
183
+ ref,
184
+ className: chunkDN2AEEA2_js.cn(
185
+ "px-2 py-1.5 text-sm font-semibold",
186
+ inset && "pl-8",
187
+ className
188
+ ),
189
+ ...props
190
+ }
191
+ ));
192
+ MenubarLabel.displayName = MenubarPrimitive__namespace.Label.displayName;
193
+ var MenubarSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
194
+ MenubarPrimitive__namespace.Separator,
195
+ {
196
+ ref,
197
+ className: chunkDN2AEEA2_js.cn("-mx-1 my-1 h-px bg-muted", className),
198
+ ...props
199
+ }
200
+ ));
201
+ MenubarSeparator.displayName = MenubarPrimitive__namespace.Separator.displayName;
202
+ var MenubarShortcut = ({
203
+ className,
204
+ ...props
205
+ }) => {
206
+ return /* @__PURE__ */ jsxRuntime.jsx(
207
+ "span",
208
+ {
209
+ className: chunkDN2AEEA2_js.cn(
210
+ "ml-auto text-xs tracking-widest text-muted-foreground",
211
+ className
212
+ ),
213
+ ...props
214
+ }
215
+ );
216
+ };
217
+ MenubarShortcut.displayname = "MenubarShortcut";
218
+
219
+ exports.Menubar = Menubar;
220
+ exports.MenubarCheckboxItem = MenubarCheckboxItem;
221
+ exports.MenubarContent = MenubarContent;
222
+ exports.MenubarGroup = MenubarGroup;
223
+ exports.MenubarItem = MenubarItem;
224
+ exports.MenubarLabel = MenubarLabel;
225
+ exports.MenubarMenu = MenubarMenu;
226
+ exports.MenubarPortal = MenubarPortal;
227
+ exports.MenubarRadioGroup = MenubarRadioGroup;
228
+ exports.MenubarRadioItem = MenubarRadioItem;
229
+ exports.MenubarSeparator = MenubarSeparator;
230
+ exports.MenubarShortcut = MenubarShortcut;
231
+ exports.MenubarSub = MenubarSub;
232
+ exports.MenubarSubContent = MenubarSubContent;
233
+ exports.MenubarSubTrigger = MenubarSubTrigger;
234
+ exports.MenubarTrigger = MenubarTrigger;
235
+ //# sourceMappingURL=chunk-2OIQKC5E.js.map
236
+ //# sourceMappingURL=chunk-2OIQKC5E.js.map