@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,17 +0,0 @@
1
- export async function copyToClipboard(text: string) {
2
- try {
3
- await navigator.clipboard.writeText(text);
4
- } catch {
5
- // Fallback for browsers where the Clipboard API is not supported
6
- const textarea = document.createElement('textarea');
7
- textarea.style.position = 'fixed';
8
- textarea.style.top = '-9999px';
9
- textarea.style.left = '-9999px';
10
- textarea.innerText = text;
11
- document.body.appendChild(textarea);
12
- textarea.focus();
13
- textarea.select();
14
- document.execCommand('copy');
15
- textarea.remove();
16
- }
17
- }
@@ -1,22 +0,0 @@
1
- import { createRoot } from 'react-dom/client';
2
-
3
- /**
4
- * Creates a shadow root with the specified styles and returns a React root in it.
5
- * @param {string} tagName - Node name to be applied to the shadow root.
6
- * @param {string} styles - CSS styles to be applied to the shadow root.
7
- * @returns {ReactRoot} - React root rendered inside the shadow root.
8
- */
9
-
10
- export function createShadowRoot(tagName: string, styles: string) {
11
- const container = document.createElement(tagName);
12
- const shadow = container.attachShadow({ mode: 'open' });
13
-
14
- // Create a new CSS style sheet and apply the specified styles and apply the style sheet to the shadow root
15
- const globalStyleSheet = new CSSStyleSheet();
16
- globalStyleSheet.replaceSync(styles);
17
- shadow.adoptedStyleSheets = [globalStyleSheet];
18
-
19
- const html = document.querySelector('html') as HTMLHtmlElement;
20
- html.prepend(container);
21
- return createRoot(shadow);
22
- }
package/util/date.ts DELETED
@@ -1,84 +0,0 @@
1
- // import { FormattedMessage } from '@hanzo_network/hanzo-node-state/v2/queries/getChatConversation/types';
2
- type FormattedMessage = any;
3
-
4
- export type ChatConversationMessage = {
5
- hash: string;
6
- parentHash: string;
7
- inboxId: string;
8
- scheduledTime: string | undefined;
9
- content: string;
10
- isLocal: boolean;
11
- sender: {
12
- avatar: string;
13
- };
14
- fileInbox?: {
15
- id: string;
16
- files: {
17
- name: string;
18
- preview?: string;
19
- }[];
20
- };
21
- };
22
- export type GetChatConversationOutput = ChatConversationMessage[];
23
-
24
- export const formatDateToUSLocaleString = (date: Date | undefined) => {
25
- if (!date) return '-';
26
- return new Date(date).toLocaleDateString('en-US', {
27
- year: 'numeric',
28
- month: 'numeric',
29
- day: 'numeric',
30
- });
31
- };
32
- export const formatDateToLocaleStringWithTime = (date: Date | undefined) => {
33
- if (!date) return '-';
34
- return new Date(date).toLocaleDateString('en-US', {
35
- year: 'numeric',
36
- month: 'numeric',
37
- day: 'numeric',
38
- hour: 'numeric',
39
- minute: 'numeric',
40
- });
41
- };
42
-
43
- export const getRelativeDateLabel = (date: Date): string => {
44
- const today = new Date();
45
- const yesterday = new Date();
46
- yesterday.setDate(today.getDate() - 1);
47
- if (date.toDateString() === today.toDateString()) {
48
- return 'today';
49
- } else if (date.toDateString() === yesterday.toDateString()) {
50
- return 'yesterday';
51
- } else {
52
- return date.toDateString();
53
- }
54
- };
55
-
56
- export const groupMessagesByDate = (messages: FormattedMessage[]) => {
57
- const groupedMessages: Record<string, FormattedMessage[]> = {};
58
- for (const message of messages) {
59
- const date = new Date(message.createdAt ?? '').toDateString();
60
- if (!groupedMessages[date]) {
61
- groupedMessages[date] = [];
62
- }
63
- groupedMessages[date].push(message);
64
- }
65
- return groupedMessages;
66
- };
67
-
68
- export const formatDateToMonthAndDay = (date: Date): string => {
69
- const today = new Date();
70
- if (
71
- date.getDate() === today.getDate() &&
72
- date.getMonth() === today.getMonth() &&
73
- date.getFullYear() === today.getFullYear()
74
- ) {
75
- return date.toLocaleTimeString('en-US', {
76
- hour: 'numeric',
77
- minute: 'numeric',
78
- hour12: true,
79
- });
80
- }
81
- const month = date.getMonth() + 1;
82
- const day = date.getDate();
83
- return `${month}/${day}`;
84
- };
package/util/debounce.ts DELETED
@@ -1,11 +0,0 @@
1
- export const debounce = (func: Function, delay: number) => {
2
- let timeoutId: NodeJS.Timeout | null = null;
3
- return (...args: any[]) => {
4
- if (timeoutId) {
5
- clearTimeout(timeoutId);
6
- }
7
- timeoutId = setTimeout(() => {
8
- func(...args);
9
- }, delay);
10
- };
11
- };
package/util/file.ts DELETED
@@ -1,15 +0,0 @@
1
- export const getFileName = (fileName: string): string => {
2
- const nameParts = fileName.split('.');
3
- return nameParts.slice(0, -1).join('.');
4
- };
5
- export const getFileExt = (fileName: string): string => {
6
- const nameParts = fileName.split('.');
7
- return nameParts.pop() || '';
8
- };
9
-
10
- export const isFileTypeImageOrPdf = (file: File): boolean => {
11
- if (!file) return false;
12
- return (
13
- file?.type.startsWith('image/') || file?.type.startsWith('application/pdf')
14
- );
15
- };
@@ -1,125 +0,0 @@
1
- import Abbr, { QuantityAbbrSymbol, ABBR_SYMBOLS_ARRAY } from './number-abbreviate'
2
-
3
- interface FormatThreshold {
4
- from: number
5
- use: QuantityAbbrSymbol
6
- }
7
-
8
- const usdFormatter = Intl.NumberFormat('en-US', {
9
- style: 'currency',
10
- currency: 'USD',
11
- minimumFractionDigits: 2,
12
- })
13
-
14
- const formatAsUSCurrency = (n: number) => {
15
- let result = usdFormatter.format(n)
16
- return result.endsWith('.00') ? result.slice(0, -3) : result
17
- }
18
-
19
- const formatAndAbbreviateAsCurrency = (
20
- n: number | null,
21
- thresholds: FormatThreshold[] = [{
22
- from: 1000000000,
23
- use: 'M'
24
- }],
25
- /**
26
- * Chars that will be added by ui if the number is rounded.
27
- * For example, if the desired output for 10.15 is "~10.1",
28
- * the tilda counts as 1 char.
29
- */
30
- roundingAdds: number = 1,
31
- maxDecimal: number = 2
32
- ): {
33
- full: string
34
- result: string
35
- change: 'rounded' | 'none' | 'abbr' | 'empty'
36
- } => {
37
- if (n === null) {
38
- return {
39
- full: '',
40
- result: '',
41
- change: 'empty'
42
- }
43
- }
44
-
45
- const formatted = formatAsUSCurrency(n)
46
-
47
- if (n < thresholds[0].from) {
48
- return {
49
- full: formatted,
50
- result: formatted,
51
- change: 'none'
52
- }
53
- }
54
-
55
- // Get operative FormatThreshold pair...
56
- let threshold: FormatThreshold
57
- for (
58
- let i = 0;
59
- i < thresholds.length && n >= thresholds[i].from;
60
- threshold = thresholds[i], i++
61
- ) {}
62
-
63
- // Build up units array to all units
64
- // up to threshold.use
65
- const units: QuantityAbbrSymbol[] = []
66
- for (let i = 0; i < ABBR_SYMBOLS_ARRAY.length; i++) {
67
- const current = ABBR_SYMBOLS_ARRAY[i]
68
- units.push(current)
69
- if (current === threshold!.use) {
70
- break
71
- }
72
- }
73
-
74
- const abbreviator = new Abbr(units)
75
-
76
- // Use threshold.from as a guide to how many chars are available:
77
- // first digit + comma = 2
78
- // Possible trailing cents: '.xx'.length = 3
79
- // 3 - 2 = 1
80
- const charsAvail = formatAsUSCurrency(threshold!.from).length + 1
81
- const abbr = abbreviator.abbreviate(n, charsAvail) // arbitrary, but good approx
82
- const numStr = abbr.slice(0, -1)
83
- const abbreviation = abbr.slice(-1)
84
- const numerical = parseFloat(numStr)
85
-
86
- const integral = Math.floor(numerical)
87
- const integralString = formatAsUSCurrency(integral)
88
- const commas = integralString.split(',').length - 1
89
-
90
- // minus abbr, dec point, dollar sign, and roundingAdds / tilda,
91
- // (1 + 1 + 1 + roundingAdds)
92
- // ("precision" does NOT include the decimal point itself,
93
- // so we have to explicitly factor it in.)
94
- const roundedString = numerical.toPrecision(charsAvail - commas - (3 + roundingAdds))
95
- // remove trailing zeros, if any
96
- const roundedNumerical = parseFloat(roundedString)
97
- const roundedIntegral = Math.trunc(roundedNumerical)
98
- const roundedIntegralString = formatAsUSCurrency(roundedIntegral)
99
-
100
- let decimalPortion = roundedNumerical - roundedIntegral
101
- let result
102
- if (decimalPortion !== 0) {
103
- // remove trailing zeros if any
104
- decimalPortion = parseFloat(decimalPortion.toFixed(maxDecimal))
105
- const decimalPortionString = decimalPortion.toString()
106
- const afterDecimalString = decimalPortionString.slice(decimalPortionString.indexOf('.') + 1)
107
- result = roundedIntegralString + '.' + afterDecimalString + abbreviation
108
- }
109
- else {
110
- result = roundedIntegralString + abbreviation
111
- }
112
- // Did we lose any precision?
113
- const rounded = (roundedIntegral + decimalPortion !== n)
114
- return {
115
- full: formatted,
116
- result,
117
- change: rounded ? 'rounded' : 'abbr'
118
- }
119
- }
120
-
121
- export {
122
- formatAndAbbreviateAsCurrency as default,
123
- type FormatThreshold,
124
- type QuantityAbbrSymbol
125
- }
@@ -1,34 +0,0 @@
1
- // import { HanzoToolHeader } from '@hanzo_network/hanzo-message-ts/api/tools/types';
2
- type HanzoToolHeader = any;
3
-
4
- export const formatText = (text: string) => {
5
- const camelToSpaces = text.replace(/([a-z])([A-Z])/g, '$1 $2');
6
- const snakeToSpaces = camelToSpaces.replace(/_/g, ' ');
7
- return snakeToSpaces
8
- .split(' ')
9
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
10
- .join(' ');
11
- };
12
-
13
- export const formatCamelCaseText = (text: string) => {
14
- const words = text.split(/(?=[A-Z])/);
15
-
16
- const formattedWords = words.map((word) => {
17
- return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
18
- });
19
-
20
- const result = formattedWords.join(' ');
21
-
22
- return result.charAt(0).toUpperCase() + result.slice(1);
23
- };
24
-
25
- export const getVersionFromTool = (toolRouterKey: HanzoToolHeader) => {
26
- if (toolRouterKey.version) {
27
- return toolRouterKey.version;
28
- }
29
- const parts = toolRouterKey.name.split(':::');
30
- if (parts.length === 4) {
31
- return parts[3];
32
- }
33
- return 'latest';
34
- };
@@ -1,68 +0,0 @@
1
- import Abbr from './number-abbreviate'
2
-
3
- const abbr = new Abbr(['K', 'M', 'B', 'T'])
4
-
5
- const formatToMaxChar = (
6
- n: number | null,
7
- maxChars: number,
8
- /**
9
- * Chars that will be added by ui if the number is rounded.
10
- * For example, if the desired output for 10.15 is "~10.1",
11
- * the tilda counts as 1 char.
12
- */
13
- roundingAdds: number = 1
14
- ): {
15
- result: string
16
- change: 'rounded' | 'none' | 'abbr' | 'empty'
17
- } => {
18
- if (n === null) {
19
- return {
20
- result: '',
21
- change: 'empty'
22
- }
23
- }
24
- const s = n.toString()
25
- if (s.length > maxChars) {
26
- // Highest number that can be rounded down to an
27
- // acceptable string.
28
- // Decimal point, plus one decimal place = 2 chars
29
- const cuttoff = Math.pow(10, maxChars - 2 - roundingAdds) - 0.05
30
- if (n < cuttoff) {
31
- const intPortion = Math.floor(n)
32
- const len = intPortion.toString().length
33
- // 1 is for dec point itself
34
- const availDecimals = maxChars - len - 1 - roundingAdds
35
- // removes trailing zeros, if any
36
- const roundedNumerical = parseFloat(n.toFixed(availDecimals))
37
- return {
38
- result: roundedNumerical.toString(),
39
- change: 'rounded'
40
- }
41
- }
42
- else {
43
-
44
- const str = abbr.abbreviate(n, maxChars)
45
- const numStr = str.slice(0, -1)
46
- const abbreviation = str.slice(-1)
47
- const numerical = parseFloat(numStr)
48
-
49
- // minus abbr, dec point, and roundingAdds / tilda,
50
- // (1 + 1 + roundingAdds)
51
- // ("precision" does NOT include the decimal point itself,
52
- // so we have to explicitly factor it in.)
53
- const roundedString = numerical.toPrecision(maxChars - (2 + roundingAdds))
54
- // remove trailing zeros, if any
55
- const roundedNumerical = parseFloat(roundedString)
56
- return {
57
- result: roundedNumerical.toString() + abbreviation,
58
- change: roundedNumerical === numerical ? 'abbr' : 'rounded'
59
- }
60
- }
61
- }
62
- return {
63
- result: s,
64
- change: 'none'
65
- }
66
- }
67
-
68
- export default formatToMaxChar
@@ -1,3 +0,0 @@
1
- export * from './index'
2
- // Must be imported from 'use client'
3
- export * from './step-animation'
package/util/index.ts DELETED
@@ -1,112 +0,0 @@
1
- // Export all utilities
2
- export * from './date';
3
- export * from './file';
4
- export * from './create-shadow-root';
5
- export * from './timing';
6
- export * from './blob';
7
- export * from './copy-to-clipboard';
8
- export * from './format-text';
9
- export * from './toasts';
10
- export * from './debounce';
11
- export { default as spreadToTransform } from './spread-to-transform';
12
- export * from './specifier';
13
- export * from './number-abbreviate';
14
- export * from './format-to-max-char';
15
- export * from './format-and-abbreviate-as-currency';
16
- export * from './two-way-map';
17
-
18
- // Import and re-export cn utility and other common functions
19
- import { type ClassValue, clsx } from 'clsx';
20
- import { twMerge } from 'tailwind-merge';
21
-
22
- export function cn(...inputs: ClassValue[]) {
23
- return twMerge(clsx(inputs));
24
- }
25
-
26
- export function formatDate(input: string | number): string {
27
- const date = new Date(input);
28
- return date.toLocaleDateString('en-US', {
29
- month: 'long',
30
- day: 'numeric',
31
- year: 'numeric',
32
- });
33
- }
34
-
35
- export function absoluteUrl(path: string): string {
36
- if (typeof window !== 'undefined') return path;
37
- if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}${path}`;
38
- return `http://localhost:${process.env.PORT ?? 3000}${path}`;
39
- }
40
-
41
- // Export VariantProps type from class-variance-authority
42
- export type { VariantProps } from 'class-variance-authority';
43
-
44
- // For backward compatibility with components importing from util
45
- export function constrain(value: number, min: number, max: number): number;
46
- export function constrain(dim: { w: number; h: number }, constrainTo: { w: number; h: number }): { w: number; h: number };
47
- export function constrain(
48
- value: number | { w: number; h: number },
49
- minOrConstrainTo: number | { w: number; h: number },
50
- max?: number
51
- ): number | { w: number; h: number } {
52
- if (typeof value === 'number' && typeof minOrConstrainTo === 'number' && typeof max === 'number') {
53
- return Math.min(Math.max(value, minOrConstrainTo), max);
54
- }
55
-
56
- if (typeof value === 'object' && typeof minOrConstrainTo === 'object') {
57
- const dim = value;
58
- const constrainTo = minOrConstrainTo;
59
- const aspectRatio = dim.w / dim.h;
60
- const constrainAspectRatio = constrainTo.w / constrainTo.h;
61
-
62
- if (aspectRatio > constrainAspectRatio) {
63
- // constrain by width
64
- return {
65
- w: constrainTo.w,
66
- h: constrainTo.w / aspectRatio
67
- };
68
- } else {
69
- // constrain by height
70
- return {
71
- w: constrainTo.h * aspectRatio,
72
- h: constrainTo.h
73
- };
74
- }
75
- }
76
-
77
- throw new Error('Invalid parameters for constrain function');
78
- }
79
-
80
- // Export round, pxToRem, pxToEm for tailwind plugin
81
- export function round(value: number): number {
82
- return Math.round(value * 100) / 100;
83
- }
84
-
85
- export function pxToRem(px: number, base = 16): string {
86
- return `${px / base}rem`;
87
- }
88
-
89
- export function pxToEm(px: number, base = 16): string {
90
- return `${px / base}em`;
91
- }
92
-
93
- // Missing utility functions
94
- export function containsToken(text: string, token: string): boolean {
95
- return text.toLowerCase().includes(token.toLowerCase());
96
- }
97
-
98
- export function ldMerge(...objects: any[]): any {
99
- // Simple merge function for lodash compatibility
100
- const result = {};
101
- for (const obj of objects) {
102
- if (obj && typeof obj === 'object') {
103
- Object.assign(result, obj);
104
- }
105
- }
106
- return result;
107
- }
108
-
109
- export function asNum(value: any, defaultValue = 0): number {
110
- const num = Number(value);
111
- return isNaN(num) ? defaultValue : num;
112
- }
@@ -1,49 +0,0 @@
1
- // cf: https://github.com/domharrington/js-number-abbreviate/blob/master/index.js
2
-
3
- type QuantityAbbrSymbol = 'K' | 'M' | 'B' | 'T'
4
- const ABBR_SYMBOLS_ARRAY = ['K', 'M', 'B', 'T'] satisfies QuantityAbbrSymbol[]
5
-
6
- class NumberAbbreviator {
7
-
8
- private _units: QuantityAbbrSymbol[]
9
-
10
- constructor(units?: QuantityAbbrSymbol[]) {
11
- this._units = units ?? ABBR_SYMBOLS_ARRAY
12
- }
13
-
14
- private _abbreviate = (
15
- n: number,
16
- decPlaces: number,
17
- log: boolean = false
18
- ): string => {
19
-
20
- const _decPlaces = Math.pow(10, decPlaces)
21
- let _n = n
22
-
23
- let _unit
24
- for (let i = this._units.length - 1; i >= 0; i--) {
25
- const size = Math.pow(10, (i + 1) * 3)
26
- if (size <= _n) {
27
- _n = Math.round(_n * _decPlaces / size) / _decPlaces
28
- if ((_n === 1000) && (i < this._units.length - 1)) {
29
- _n = 1
30
- i++
31
- }
32
- _unit = this._units[i]
33
- break
34
- }
35
- }
36
- return _n.toString() + (_unit ?? '')
37
- }
38
-
39
- abbreviate = (n: number, decPlaces: number, log: boolean = false) => {
40
- const abbreviatedNumber = this._abbreviate(Math.abs(n), decPlaces, log)
41
- return n < 0 ? '-' + abbreviatedNumber : abbreviatedNumber
42
- }
43
- }
44
-
45
- export {
46
- type QuantityAbbrSymbol,
47
- ABBR_SYMBOLS_ARRAY,
48
- NumberAbbreviator as default
49
- }
package/util/specifier.ts DELETED
@@ -1,43 +0,0 @@
1
- import type { Dimensions, TShirtSize } from '../types'
2
- import type { TypographySize } from '../primitives/apply-typography'
3
-
4
- export const getPrimaryStartingWith = (s: string, toFind: string) => {
5
- const tokenArray = s.split(' ')
6
- return tokenArray.find((tok) => (tok.startsWith(`${toFind}-`)))
7
- }
8
-
9
- export const getTShirtSize = (s: string): TShirtSize | undefined => {
10
- const subTokenArray = s.split('-')
11
- return subTokenArray[subTokenArray.length - 1] as TShirtSize
12
- }
13
-
14
- export const getTypographySize = (s: string): TypographySize | undefined => {
15
- const subTokenArray = s.split('-')
16
- return subTokenArray[subTokenArray.length - 1] as TypographySize
17
- }
18
-
19
- export const getDim = (s: string): Dimensions | undefined => {
20
- const subTokenArray = s.split('-')
21
- const dimStr = subTokenArray[subTokenArray.length - 1]
22
- if (dimStr) {
23
- const dimTokenArray = s.split('x')
24
- return dimTokenArray ? {
25
- w: Number(dimTokenArray[0]),
26
- h: Number(dimTokenArray[1])
27
- } : undefined
28
- }
29
- return undefined
30
- }
31
-
32
- export function getSpecifierData<T>(
33
- main: string,
34
- getPrimary: (s: string) => string | undefined,
35
- getData: (s: string) => T | undefined,
36
- def?: T
37
- ): T | undefined {
38
- const primary = getPrimary(main)
39
- if (primary) {
40
- return getData(primary) ?? def
41
- }
42
- return def ?? undefined
43
- }
@@ -1,25 +0,0 @@
1
- import type { MediaTransform } from '../types'
2
-
3
- export function spreadToTransform(t: MediaTransform) {
4
- let transformStrings: string[] = []
5
- const scaleVal = 'scale' in t ? t.scale : undefined
6
- if (scaleVal) {
7
- if (typeof scaleVal === 'number') {
8
- transformStrings.push(`scale(${scaleVal})`)
9
- }
10
- else if (
11
- Array.isArray(scaleVal) &&
12
- scaleVal.length == 2 &&
13
- typeof scaleVal[0] === 'number'
14
- ) {
15
- transformStrings.push(`scale(${scaleVal[0]}, ${scaleVal[1]})`)
16
- }
17
- else {
18
- throw new Error("parsing MediaTransform: Unrecognized value for 'scale'!")
19
- }
20
- }
21
-
22
- return transformStrings.length > 0 ? { transform: transformStrings.join(' ') } : {}
23
- }
24
-
25
- export default spreadToTransform