@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
@@ -1,199 +0,0 @@
1
- import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
2
- import { Check, ChevronRight } from 'lucide-react';
3
- import React from 'react';
4
-
5
- import { cn } from '../src/utils';
6
-
7
- const DropdownMenu = DropdownMenuPrimitive.Root;
8
-
9
- const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
10
-
11
- const DropdownMenuGroup = DropdownMenuPrimitive.Group;
12
-
13
- const DropdownMenuPortal = DropdownMenuPrimitive.Portal;
14
-
15
- const DropdownMenuSub = DropdownMenuPrimitive.Sub;
16
-
17
- const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
18
-
19
- const DropdownMenuSubTrigger = ({
20
- className,
21
- inset,
22
- children,
23
- ...props
24
- }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
25
- inset?: boolean;
26
- }) => (
27
- <DropdownMenuPrimitive.SubTrigger
28
- className={cn(
29
- 'focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center rounded-xs px-2 py-1.5 text-sm outline-hidden select-none',
30
- inset && 'pl-8',
31
- className,
32
- )}
33
- {...props}
34
- >
35
- {children}
36
- <ChevronRight className="ml-auto h-4 w-4" />
37
- </DropdownMenuPrimitive.SubTrigger>
38
- );
39
- DropdownMenuSubTrigger.displayName =
40
- DropdownMenuPrimitive.SubTrigger.displayName;
41
-
42
- const DropdownMenuSubContent = ({
43
- className,
44
- ...props
45
- }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) => (
46
- <DropdownMenuPrimitive.SubContent
47
- className={cn(
48
- 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[2000000000] min-w-[8rem] space-y-3 overflow-hidden rounded-md bg-gray-300 text-white shadow-lg',
49
- className,
50
- )}
51
- {...props}
52
- />
53
- );
54
- DropdownMenuSubContent.displayName =
55
- DropdownMenuPrimitive.SubContent.displayName;
56
-
57
- const DropdownMenuContent = ({
58
- className,
59
- sideOffset = 4,
60
- ...props
61
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) => (
62
- <DropdownMenuPrimitive.Portal>
63
- <DropdownMenuPrimitive.Content
64
- className={cn(
65
- 'font-inter border-divider 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 bg-bg-dark z-[2000000000] min-w-[8rem] overflow-hidden rounded-lg border px-4 py-6 text-white shadow-md',
66
- className,
67
- )}
68
- sideOffset={sideOffset}
69
- {...props}
70
- />
71
- </DropdownMenuPrimitive.Portal>
72
- );
73
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
74
-
75
- const DropdownMenuItem = ({
76
- className,
77
- inset,
78
- ...props
79
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
80
- inset?: boolean;
81
- }) => (
82
- <DropdownMenuPrimitive.Item
83
- className={cn(
84
- 'focus:bg-bg-secondary relative flex cursor-default items-center rounded-lg px-2 py-2 text-sm outline-hidden transition-colors select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
85
- inset && 'pl-8',
86
- className,
87
- )}
88
- {...props}
89
- />
90
- );
91
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
92
-
93
- const DropdownMenuCheckboxItem = ({
94
- className,
95
- children,
96
- checked,
97
- ...props
98
- }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) => (
99
- <DropdownMenuPrimitive.CheckboxItem
100
- checked={checked}
101
- className={cn(
102
- 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden transition-colors select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
103
- className,
104
- )}
105
- {...props}
106
- >
107
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center rounded-xs bg-gray-300">
108
- <DropdownMenuPrimitive.ItemIndicator>
109
- <Check className="h-3 w-3" />
110
- </DropdownMenuPrimitive.ItemIndicator>
111
- </span>
112
- {children}
113
- </DropdownMenuPrimitive.CheckboxItem>
114
- );
115
- DropdownMenuCheckboxItem.displayName =
116
- DropdownMenuPrimitive.CheckboxItem.displayName;
117
-
118
- const DropdownMenuRadioItem = ({
119
- className,
120
- children,
121
- ...props
122
- }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) => (
123
- <DropdownMenuPrimitive.RadioItem
124
- className={cn(
125
- 'focus:bg-bg-secondary relative flex cursor-default items-center rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden transition-colors select-none focus:text-white data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
126
- 'hover:bg-bg-secondary data-[state=checked]:bg-bg-secondary',
127
- className,
128
- )}
129
- {...props}
130
- >
131
- {/*<span className="absolute left-2 flex items-center justify-center">*/}
132
- {/* <DropdownMenuPrimitive.ItemIndicator>*/}
133
- {/* <Check className="h-4 w-4 text-inherit" />*/}
134
- {/* </DropdownMenuPrimitive.ItemIndicator>*/}
135
- {/*</span>*/}
136
- {children}
137
- </DropdownMenuPrimitive.RadioItem>
138
- );
139
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
140
-
141
- const DropdownMenuLabel = ({
142
- className,
143
- inset,
144
- ...props
145
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
146
- inset?: boolean;
147
- }) => (
148
- <DropdownMenuPrimitive.Label
149
- className={cn(
150
- 'text-text-secondary text-xs tracking-[2px] uppercase',
151
- inset && 'pl-8',
152
- className,
153
- )}
154
- {...props}
155
- />
156
- );
157
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
158
-
159
- const DropdownMenuSeparator = ({
160
- className,
161
- ...props
162
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) => (
163
- <DropdownMenuPrimitive.Separator
164
- className={cn('bg-divider -mx-1 my-1 h-px', className)}
165
- {...props}
166
- />
167
- );
168
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
169
-
170
- const DropdownMenuShortcut = ({
171
- className,
172
- ...props
173
- }: React.HTMLAttributes<HTMLSpanElement>) => {
174
- return (
175
- <span
176
- className={cn('ml-auto text-xs tracking-widest opacity-60', className)}
177
- {...props}
178
- />
179
- );
180
- };
181
- DropdownMenuShortcut.displayName = 'DropdownMenuShortcut';
182
-
183
- export {
184
- DropdownMenu,
185
- DropdownMenuTrigger,
186
- DropdownMenuContent,
187
- DropdownMenuItem,
188
- DropdownMenuCheckboxItem,
189
- DropdownMenuRadioItem,
190
- DropdownMenuLabel,
191
- DropdownMenuSeparator,
192
- DropdownMenuShortcut,
193
- DropdownMenuGroup,
194
- DropdownMenuPortal,
195
- DropdownMenuSub,
196
- DropdownMenuSubContent,
197
- DropdownMenuSubTrigger,
198
- DropdownMenuRadioGroup,
199
- };
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
-
3
- interface ErrorMessageProps extends React.HTMLAttributes<HTMLDivElement> {
4
- message: string;
5
- }
6
-
7
- const ErrorMessage = ({ message, ...props }: ErrorMessageProps) => {
8
- return (
9
- <div
10
- className="rounded-sm bg-red-500/10 px-4 py-2 text-sm text-red-700"
11
- {...props}
12
- >
13
- <strong className="font-bold">Error: </strong>
14
- <span className="block sm:inline"> {message} </span>
15
- </div>
16
- );
17
- };
18
-
19
- export { ErrorMessage };
@@ -1,203 +0,0 @@
1
- // import { useTranslation } from '@hanzo_network/hanzo-i18n';
2
- const useTranslation = () => ({ t: (key) => key });
3
- // import { partial } from 'filesize';
4
- const partial = () => (bytes) => `${(bytes / 1024 / 1024).toFixed(2)} MB`;
5
- import { Loader2, Trash, Upload } from 'lucide-react';
6
- import React, { useEffect, useState } from 'react';
7
- import { useDropzone } from 'react-dropzone';
8
-
9
- import { fileIconMap, FileTypeIcon, PaperClipIcon } from '../assets';
10
- import { getFileExt } from '../helpers/file';
11
- import { cn } from '../src/utils';
12
- import { Button } from './button';
13
- import { ScrollArea } from './scroll-area';
14
-
15
- const openFile = (file: File): void => {
16
- if (typeof window === 'undefined') return;
17
- const fileURL = window.URL.createObjectURL(file);
18
- window.open(fileURL, '_blank');
19
- URL.revokeObjectURL(fileURL);
20
- };
21
-
22
- export const FileItem = ({
23
- file,
24
- actions,
25
- }: {
26
- file: File;
27
- actions?: {
28
- label: string;
29
- icon: React.ReactNode;
30
- onClick: (file: File) => void;
31
- }[];
32
- }) => {
33
- const size = partial({ standard: 'jedec' });
34
- const hasPreviewImage = file?.type?.includes('image/');
35
-
36
- return (
37
- <div className="bg-bg-quaternary relative flex items-center gap-2 rounded-xl px-3 py-1.5 pr-2">
38
- <span className="flex w-[30px] items-center justify-center">
39
- {hasPreviewImage ? (
40
- <FileImagePreview
41
- className="h-full rounded-md object-cover"
42
- file={file}
43
- />
44
- ) : fileIconMap[getFileExt(file.name)] ? (
45
- <FileTypeIcon
46
- className="text-text-secondary"
47
- type={getFileExt(file.name)}
48
- />
49
- ) : (
50
- <PaperClipIcon className="text-text-secondary h-4 w-4" />
51
- )}
52
- </span>
53
- <div className="line-clamp-1 flex flex-1 flex-col gap-1">
54
- <button
55
- className="text-left hover:underline"
56
- onClick={() => openFile(file)}
57
- type="button"
58
- >
59
- <span className="text-text-default line-clamp-1 text-sm">
60
- {decodeURIComponent(file.name)}
61
- </span>
62
- </button>
63
- {file.size && (
64
- <span className="text-text-tertiary shrink-0 text-xs">
65
- {size(file.size)}
66
- </span>
67
- )}
68
- </div>
69
- {!!actions?.length && (
70
- <div className="shrink-0">
71
- {actions?.map((action) => (
72
- <Button
73
- className="h-8 w-8 border-0 bg-transparent"
74
- key={action.label}
75
- onClick={() => action.onClick(file)}
76
- size="icon"
77
- type="button"
78
- variant="outline"
79
- >
80
- <span className="sr-only">{action.label}</span>
81
- {action.icon}
82
- </Button>
83
- ))}
84
- </div>
85
- )}
86
- </div>
87
- );
88
- };
89
-
90
- export const FileUploader = ({
91
- value,
92
- onChange,
93
- maxFiles,
94
- accept,
95
- allowMultiple,
96
- disabled,
97
- descriptionText,
98
- shouldDisableScrolling,
99
- }: {
100
- value: File[];
101
- onChange: (files: File[]) => void;
102
- maxFiles?: number;
103
- accept?: string;
104
- allowMultiple?: boolean;
105
- disabled?: boolean;
106
- descriptionText?: string;
107
- shouldDisableScrolling?: boolean;
108
- }) => {
109
- const { t } = useTranslation();
110
- const { getRootProps: getRootFileProps, getInputProps: getInputFileProps } =
111
- useDropzone({
112
- multiple: allowMultiple,
113
- maxFiles: maxFiles,
114
- onDrop: (acceptedFiles) => {
115
- onChange(acceptedFiles);
116
- },
117
- disabled: disabled,
118
- });
119
-
120
- return (
121
- <div className="flex w-full flex-col gap-2.5">
122
- <div
123
- {...getRootFileProps({
124
- className:
125
- 'dropzone py-4 bg-bg-secondary group relative mt-3 flex cursor-pointer items-center justify-center overflow-hidden rounded-lg border border-dashed border-divider transition-colors hover:border-border-input-focus',
126
- })}
127
- >
128
- <div className="flex flex-col items-center justify-center space-y-1 px-2">
129
- <div className="bg-bg-tertiary rounded-full p-2 shadow-xs">
130
- <Upload className="h-4 w-4" />
131
- </div>
132
- <p className="text-sm text-white">{t('common.clickToUpload')}</p>
133
- {descriptionText && (
134
- <p className="text-text-tertiary line-clamp-1 text-xs">
135
- {descriptionText}
136
- </p>
137
- )}
138
- </div>
139
-
140
- <input
141
- {...getInputFileProps({
142
- accept: accept,
143
- })}
144
- />
145
- </div>
146
-
147
- {!!value?.length && (
148
- <ScrollArea
149
- className={cn(
150
- 'max-h-[40vh] flex-1 grow overflow-y-scroll pr-1 [&>div>div]:!block',
151
- shouldDisableScrolling && 'max-h-full overflow-y-auto pr-0',
152
- )}
153
- >
154
- <div className="flex flex-col gap-2">
155
- {value?.map((file, idx) => (
156
- <FileItem
157
- actions={[
158
- {
159
- label: 'Delete',
160
- icon: <Trash className="text-text-tertiary h-4 w-4" />,
161
- onClick: (file) => {
162
- const newFiles = [...value];
163
- newFiles.splice(newFiles.indexOf(file), 1);
164
- onChange(newFiles);
165
- },
166
- },
167
- ]}
168
- file={file}
169
- key={file.name + idx}
170
- />
171
- ))}
172
- </div>
173
- </ScrollArea>
174
- )}
175
- </div>
176
- );
177
- };
178
-
179
- interface FileImagePreview extends React.HTMLAttributes<HTMLDivElement> {
180
- file: File;
181
- }
182
-
183
- const FileImagePreview = ({ file, ...props }: FileImagePreview) => {
184
- const [imageSrc, setImageSrc] = useState('');
185
- useEffect(() => {
186
- const reader = new FileReader();
187
- reader.addEventListener(
188
- 'load',
189
- function () {
190
- setImageSrc(reader.result as string);
191
- },
192
- false,
193
- );
194
- if (file) {
195
- reader.readAsDataURL(file);
196
- }
197
- }, [file]);
198
- return imageSrc ? (
199
- <img alt="preview" src={imageSrc} {...props} />
200
- ) : (
201
- <Loader2 />
202
- );
203
- };
@@ -1,185 +0,0 @@
1
- 'use client';
2
-
3
- import type * as LabelPrimitive from '@radix-ui/react-label';
4
- import { Slot } from '@radix-ui/react-slot';
5
- import React from 'react';
6
- import {
7
- Controller,
8
- type ControllerProps,
9
- type FieldPath,
10
- type FieldValues,
11
- FormProvider,
12
- useFormContext,
13
- } from 'react-hook-form';
14
-
15
- import { cn } from '../src/utils';
16
- import { Label } from './label';
17
-
18
- const Form = FormProvider;
19
-
20
- type FormFieldContextValue<
21
- TFieldValues extends FieldValues = FieldValues,
22
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
23
- > = {
24
- name: TName;
25
- };
26
-
27
- const FormFieldContext = React.createContext<FormFieldContextValue>(
28
- {} as FormFieldContextValue,
29
- );
30
-
31
- const FormField = <
32
- TFieldValues extends FieldValues = FieldValues,
33
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
34
- >({
35
- ...props
36
- }: ControllerProps<TFieldValues, TName>) => {
37
- return (
38
- <FormFieldContext.Provider value={{ name: props.name }}>
39
- <Controller {...props} />
40
- </FormFieldContext.Provider>
41
- );
42
- };
43
-
44
- const useFormField = () => {
45
- const fieldContext = React.useContext(FormFieldContext);
46
- const itemContext = React.useContext(FormItemContext);
47
- const { getFieldState, formState } = useFormContext();
48
-
49
- const fieldState = getFieldState(fieldContext.name, formState);
50
-
51
- if (!fieldContext) {
52
- throw new Error('useFormField should be used within <FormField>');
53
- }
54
-
55
- const { id } = itemContext;
56
-
57
- return {
58
- id,
59
- name: fieldContext.name,
60
- formItemId: `${id}-form-item`,
61
- formDescriptionId: `${id}-form-item-description`,
62
- formMessageId: `${id}-form-item-message`,
63
- ...fieldState,
64
- };
65
- };
66
-
67
- type FormItemContextValue = {
68
- id: string;
69
- };
70
-
71
- const FormItemContext = React.createContext<FormItemContextValue>(
72
- {} as FormItemContextValue,
73
- );
74
-
75
- const FormItem = ({
76
- className,
77
- ...props
78
- }: React.HTMLAttributes<HTMLDivElement>) => {
79
- const id = React.useId();
80
-
81
- return (
82
- <FormItemContext.Provider value={{ id }}>
83
- <div className={cn('relative', className)} {...props} />
84
- </FormItemContext.Provider>
85
- );
86
- };
87
- FormItem.displayName = 'FormItem';
88
-
89
- const FormLabel = ({
90
- className,
91
- ...props
92
- }: React.ComponentProps<typeof LabelPrimitive.Root>) => {
93
- const { error, formItemId } = useFormField();
94
-
95
- return (
96
- <Label
97
- className={cn(
98
- 'text-text-secondary pointer-events-none absolute top-3 left-4 flex text-xs leading-tight font-medium transition-all select-none',
99
- // input
100
- 'peer-placeholder-shown:text-text-tertiary z-[1] peer-placeholder-shown:text-base peer-placeholder-shown:leading-[2.3]',
101
- 'peer-focus:text-text-secondary peer-disabled:peer-placeholder-shown:text-text-tertiary peer-disabled:text-text-tertiary peer-focus:text-xs peer-focus:leading-tight',
102
- // select
103
- 'peer-data-[placeholder]/select:top-5 peer-data-[placeholder]/select:text-base',
104
- // adornment
105
- 'peer-[.adornment]/adornment:text-xs',
106
- error && 'text-red-500',
107
- className,
108
- )}
109
- htmlFor={formItemId}
110
- {...props}
111
- />
112
- );
113
- };
114
- FormLabel.displayName = 'FormLabel';
115
-
116
- const FormControl = ({ ...props }: React.ComponentProps<typeof Slot>) => {
117
- const { error, formItemId, formDescriptionId, formMessageId } =
118
- useFormField();
119
-
120
- return (
121
- <Slot
122
- aria-describedby={
123
- error ? `${formDescriptionId} ${formMessageId}` : `${formDescriptionId}`
124
- }
125
- aria-invalid={!!error}
126
- id={formItemId}
127
- {...props}
128
- />
129
- );
130
- };
131
- FormControl.displayName = 'FormControl';
132
-
133
- const FormDescription = ({
134
- className,
135
- ...props
136
- }: React.HTMLAttributes<HTMLParagraphElement>) => {
137
- const { formDescriptionId } = useFormField();
138
-
139
- return (
140
- <p
141
- className={cn('text-text-secondary py-1 text-[0.75rem]', className)}
142
- id={formDescriptionId}
143
- {...props}
144
- />
145
- );
146
- };
147
- FormDescription.displayName = 'FormDescription';
148
-
149
- const FormMessage = ({
150
- className,
151
- children,
152
- ...props
153
- }: React.HTMLAttributes<HTMLParagraphElement>) => {
154
- const { error, formMessageId } = useFormField();
155
- const body = error ? String(error?.message) : children;
156
-
157
- if (!body) {
158
- return null;
159
- }
160
-
161
- return (
162
- <p
163
- className={cn(
164
- 'text-red text-[0.75rem] font-medium dark:text-red-900',
165
- className,
166
- )}
167
- id={formMessageId}
168
- {...props}
169
- >
170
- {body}
171
- </p>
172
- );
173
- };
174
- FormMessage.displayName = 'FormMessage';
175
-
176
- export {
177
- useFormField,
178
- Form,
179
- FormItem,
180
- FormLabel,
181
- FormControl,
182
- FormDescription,
183
- FormMessage,
184
- FormField,
185
- };
@@ -1,28 +0,0 @@
1
- import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
2
- import React from 'react';
3
-
4
- import { cn } from '../src/utils';
5
-
6
- const HoverCard = HoverCardPrimitive.Root;
7
-
8
- const HoverCardTrigger = HoverCardPrimitive.Trigger;
9
-
10
- const HoverCardContent = ({
11
- className,
12
- align = 'center',
13
- sideOffset = 4,
14
- ...props
15
- }: React.ComponentProps<typeof HoverCardPrimitive.Content>) => (
16
- <HoverCardPrimitive.Content
17
- align={align}
18
- className={cn(
19
- '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 bg-bg-dark border-divider z-[1500000000] flex flex-col gap-3 rounded-md border pt-1 shadow-none outline-hidden data-[side=top]:flex-col-reverse',
20
- className,
21
- )}
22
- sideOffset={sideOffset}
23
- {...props}
24
- />
25
- );
26
- HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
27
-
28
- export { HoverCard, HoverCardTrigger, HoverCardContent };
@@ -1,14 +0,0 @@
1
- import React from 'react'
2
- // import type { LucideProps } from 'lucide-react'
3
-
4
-
5
- const GitHub = (props) => (
6
- <svg viewBox="0 0 438.549 438.549" {...props}>
7
- <path
8
- fill="currentColor"
9
- d="M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"
10
- ></path>
11
- </svg>
12
- )
13
-
14
- export default GitHub
@@ -1,18 +0,0 @@
1
- import {
2
- Moon as moon,
3
- SunMedium as sun,
4
- Menu as burger,
5
- ArrowUpRight as linkOut,
6
- } from 'lucide-react'
7
-
8
- import youtube from './youtube-logo'
9
- import gitHub from './github'
10
-
11
- export {
12
- sun,
13
- moon,
14
- burger,
15
- gitHub,
16
- linkOut,
17
- youtube,
18
- }