@hanzo/ui 5.0.2 → 5.0.3

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 (685) 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 +1089 -9072
  385. package/dist/index.js.map +1 -1
  386. package/dist/index.mjs +45 -8698
  387. package/dist/index.mjs.map +1 -1
  388. package/dist/lib/utils.js +12 -0
  389. package/dist/lib/utils.js.map +1 -0
  390. package/dist/lib/utils.mjs +3 -0
  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 -272
  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/tailwind.js +0 -2025
  491. package/dist/tailwind.js.map +0 -1
  492. package/dist/tailwind.mjs +0 -2013
  493. package/dist/tailwind.mjs.map +0 -1
  494. package/dist/types.js +0 -59
  495. package/dist/types.js.map +0 -1
  496. package/dist/types.mjs +0 -53
  497. package/dist/types.mjs.map +0 -1
  498. package/dist/utils.js +0 -30
  499. package/dist/utils.js.map +0 -1
  500. package/dist/utils.mjs +0 -26
  501. package/dist/utils.mjs.map +0 -1
  502. package/frameworks/core/index.ts +0 -6
  503. package/frameworks/core/utils/index.ts +0 -64
  504. package/frameworks/react/components/button.tsx +0 -26
  505. package/frameworks/react/components/index.ts +0 -5
  506. package/frameworks/react/hooks/index.ts +0 -5
  507. package/frameworks/react/index.ts +0 -9
  508. package/frameworks/react/package.json +0 -8
  509. package/frameworks/react/utils/index.ts +0 -2
  510. package/frameworks/react-native/index.ts +0 -9
  511. package/frameworks/react-native/package.json +0 -8
  512. package/frameworks/registry.json +0 -371
  513. package/frameworks/setup.sh +0 -69
  514. package/frameworks/svelte/index.ts +0 -9
  515. package/frameworks/svelte/package.json +0 -8
  516. package/frameworks/tracker.json +0 -1854
  517. package/frameworks/vue/index.ts +0 -9
  518. package/frameworks/vue/package.json +0 -8
  519. package/helpers/file.ts +0 -33
  520. package/helpers/memoization.ts +0 -40
  521. package/primitives/accordion.tsx +0 -74
  522. package/primitives/action-button.tsx +0 -42
  523. package/primitives/alert-dialog.tsx +0 -185
  524. package/primitives/alert.tsx +0 -74
  525. package/primitives/apply-typography.tsx +0 -55
  526. package/primitives/aspect-ratio.tsx +0 -5
  527. package/primitives/avatar.tsx +0 -57
  528. package/primitives/background-beams.tsx +0 -142
  529. package/primitives/badge.tsx +0 -45
  530. package/primitives/breadcrumb.tsx +0 -130
  531. package/primitives/breakpoint-indicator.tsx +0 -19
  532. package/primitives/button.tsx +0 -72
  533. package/primitives/calendar.tsx +0 -72
  534. package/primitives/card.tsx +0 -97
  535. package/primitives/carousel.tsx +0 -238
  536. package/primitives/chat/chat-input-area.tsx +0 -88
  537. package/primitives/chat/chat-input.tsx +0 -71
  538. package/primitives/chat/files-preview.tsx +0 -331
  539. package/primitives/chat/index.ts +0 -6
  540. package/primitives/chat/json-form.tsx +0 -8
  541. package/primitives/chat/message-list.tsx +0 -308
  542. package/primitives/chat/message.tsx +0 -569
  543. package/primitives/chat/sqlite-preview.tsx +0 -215
  544. package/primitives/checkbox.tsx +0 -32
  545. package/primitives/collapsible.tsx +0 -9
  546. package/primitives/combobox.tsx +0 -239
  547. package/primitives/command.tsx +0 -151
  548. package/primitives/context-menu.tsx +0 -206
  549. package/primitives/copy-to-clipboard-icon.tsx +0 -60
  550. package/primitives/dialog-video-controller.tsx +0 -38
  551. package/primitives/dialog.tsx +0 -128
  552. package/primitives/dot-pattern.tsx +0 -57
  553. package/primitives/dots-loader.tsx +0 -13
  554. package/primitives/drawer.tsx +0 -113
  555. package/primitives/dropdown-menu.tsx +0 -199
  556. package/primitives/error-message.tsx +0 -19
  557. package/primitives/file-uploader.tsx +0 -203
  558. package/primitives/form.tsx +0 -185
  559. package/primitives/hover-card.tsx +0 -28
  560. package/primitives/icons/github.tsx +0 -14
  561. package/primitives/icons/index.ts +0 -18
  562. package/primitives/icons/youtube-logo.tsx +0 -59
  563. package/primitives/index-client.ts +0 -4
  564. package/primitives/index-common.ts +0 -304
  565. package/primitives/index-next.ts +0 -4
  566. package/primitives/input-otp.tsx +0 -65
  567. package/primitives/input.tsx +0 -128
  568. package/primitives/label.tsx +0 -21
  569. package/primitives/list-adaptor.ts +0 -12
  570. package/primitives/list-box.tsx +0 -74
  571. package/primitives/loading-spinner.tsx +0 -33
  572. package/primitives/markdown-preview.tsx +0 -612
  573. package/primitives/mermaid.tsx +0 -196
  574. package/primitives/navigation-menu.tsx +0 -147
  575. package/primitives/next/image.tsx +0 -91
  576. package/primitives/next/index.ts +0 -7
  577. package/primitives/next/inline-icon.tsx +0 -36
  578. package/primitives/next/link-element.tsx +0 -109
  579. package/primitives/next/mdx-link.tsx +0 -22
  580. package/primitives/next/media-stack.tsx +0 -52
  581. package/primitives/next/nav-items.tsx +0 -45
  582. package/primitives/next/youtube-embed.tsx +0 -83
  583. package/primitives/pagination.tsx +0 -117
  584. package/primitives/popover.tsx +0 -34
  585. package/primitives/pretty-json-print.tsx +0 -28
  586. package/primitives/progress.tsx +0 -27
  587. package/primitives/prompt-textarea.tsx +0 -72
  588. package/primitives/qr-code.tsx +0 -112
  589. package/primitives/radio-group.tsx +0 -42
  590. package/primitives/resizable.tsx +0 -47
  591. package/primitives/scroll-area.tsx +0 -57
  592. package/primitives/search-input.tsx +0 -66
  593. package/primitives/select.tsx +0 -122
  594. package/primitives/separator.tsx +0 -26
  595. package/primitives/sheet.tsx +0 -139
  596. package/primitives/skeleton.tsx +0 -18
  597. package/primitives/slider.tsx +0 -63
  598. package/primitives/sonner.tsx +0 -35
  599. package/primitives/step-indicator.tsx +0 -69
  600. package/primitives/stepper.tsx +0 -272
  601. package/primitives/switch.tsx +0 -27
  602. package/primitives/table.tsx +0 -105
  603. package/primitives/tabs.tsx +0 -50
  604. package/primitives/text-area.tsx +0 -26
  605. package/primitives/text-link.tsx +0 -27
  606. package/primitives/textarea.tsx +0 -64
  607. package/primitives/textfield.tsx +0 -78
  608. package/primitives/toast.tsx +0 -30
  609. package/primitives/toggle-group.tsx +0 -63
  610. package/primitives/toggle.tsx +0 -44
  611. package/primitives/tooltip.tsx +0 -47
  612. package/primitives/video-player.tsx +0 -23
  613. package/src/button.ts +0 -1
  614. package/src/hooks/index.ts +0 -7
  615. package/src/hooks/use-click-away.ts +0 -31
  616. package/src/hooks/use-combined-refs.ts +0 -22
  617. package/src/hooks/use-copy-clipboard.ts +0 -30
  618. package/src/hooks/use-debounce.ts +0 -17
  619. package/src/hooks/use-fill-ids.ts +0 -25
  620. package/src/hooks/use-map.ts +0 -26
  621. package/src/hooks/use-measure.ts +0 -42
  622. package/src/hooks/use-reverse-video-playback.ts +0 -43
  623. package/src/hooks/use-scroll-restoration.ts +0 -50
  624. package/src/index-lean.ts +0 -87
  625. package/src/index.ts +0 -54
  626. package/src/mcp/README.md +0 -141
  627. package/src/mcp/enhanced-server.ts +0 -1208
  628. package/src/mcp/index.ts +0 -518
  629. package/src/mcp/package.json +0 -10
  630. package/src/registry/api.ts +0 -164
  631. package/src/registry/index.ts +0 -60
  632. package/src/registry/package.json +0 -10
  633. package/src/utils.ts +0 -19
  634. package/style/drawer.css +0 -163
  635. package/style/globals.css +0 -13
  636. package/style/hanzo-common.css +0 -31
  637. package/style/hanzo-default-colors.css +0 -82
  638. package/style/theme-provider.tsx +0 -20
  639. package/tailwind/colors.tailwind.js +0 -53
  640. package/tailwind/fontFamily.tailwind.ts +0 -7
  641. package/tailwind/fontSize.tailwind.ts +0 -13
  642. package/tailwind/index.ts +0 -7
  643. package/tailwind/safelist.tailwind.js +0 -26
  644. package/tailwind/screens.tailwind.js +0 -8
  645. package/tailwind/spacing.tailwind.js +0 -65
  646. package/tailwind/tailwind.config.hanzo-preset.d.ts +0 -5
  647. package/tailwind/tailwind.config.hanzo-preset.js +0 -915
  648. package/tailwind/tw-font-desc.ts +0 -15
  649. package/tailwind/typo-plugin/get-plugin-styles.js +0 -679
  650. package/tailwind/typo-plugin/index.d.ts +0 -9
  651. package/tailwind/typo-plugin/index.js +0 -141
  652. package/tailwind/typo-plugin/utils.js +0 -60
  653. package/tailwind/typography-test.mdx +0 -35
  654. package/tailwind/z-index.tailwind.js +0 -71
  655. package/types/animation-def.ts +0 -3
  656. package/types/breakpoints.ts +0 -11
  657. package/types/bullet-item.ts +0 -10
  658. package/types/button-def.ts +0 -39
  659. package/types/dimensions.ts +0 -8
  660. package/types/grid-def.ts +0 -56
  661. package/types/image-def.ts +0 -32
  662. package/types/index.ts +0 -30
  663. package/types/link-def.ts +0 -56
  664. package/types/media-stack-def.ts +0 -31
  665. package/types/t-shirt-size.ts +0 -5
  666. package/types/tshirt-dimensions.ts +0 -20
  667. package/types/video-def.ts +0 -25
  668. package/util/blob.ts +0 -33
  669. package/util/copy-to-clipboard.ts +0 -17
  670. package/util/create-shadow-root.ts +0 -22
  671. package/util/date.ts +0 -84
  672. package/util/debounce.ts +0 -11
  673. package/util/file.ts +0 -15
  674. package/util/format-and-abbreviate-as-currency.ts +0 -125
  675. package/util/format-text.ts +0 -34
  676. package/util/format-to-max-char.ts +0 -68
  677. package/util/index-client.ts +0 -3
  678. package/util/index.ts +0 -112
  679. package/util/number-abbreviate.ts +0 -49
  680. package/util/specifier.ts +0 -43
  681. package/util/spread-to-transform.ts +0 -25
  682. package/util/step-animation.ts +0 -90
  683. package/util/timing.ts +0 -3
  684. package/util/toasts.tsx +0 -17
  685. package/util/two-way-map.ts +0 -19
@@ -1,196 +0,0 @@
1
- // import { save } from '@tauri-apps/plugin-dialog'; // Not available in web environment
2
- // import * as fs from '@tauri-apps/plugin-fs'; // Not available in web environment
3
- import { RotateCcw, Download } from 'lucide-react';
4
- import mermaid from 'mermaid';
5
- import { FC, useEffect, useRef, useState, useCallback } from 'react';
6
- import { toast } from 'sonner';
7
- import { cn } from '../src/utils';
8
- import { Button } from './button';
9
- import { SyntaxHighlighterProps } from './markdown-preview';
10
- import { Tooltip, TooltipContent, TooltipTrigger } from './tooltip';
11
-
12
- export type MermaidDiagramProps = SyntaxHighlighterProps & {
13
- className?: string;
14
- isRunning?: boolean;
15
- };
16
-
17
- mermaid.initialize({
18
- startOnLoad: true,
19
- mindmap: {
20
- useWidth: 800,
21
- },
22
- theme: 'dark',
23
- fontSize: 18,
24
- darkMode: true,
25
- fontFamily: 'Inter',
26
- });
27
-
28
- const generateId = () => `mermaid-${Math.random().toString(36).slice(2)}`;
29
-
30
- const downloadBlob = async (blob: Blob, filename: string) => {
31
- // Web-compatible download (instead of Tauri)
32
- try {
33
- const link = document.createElement('a');
34
- link.href = URL.createObjectURL(blob);
35
- link.download = filename;
36
- document.body.appendChild(link);
37
- link.click();
38
- document.body.removeChild(link);
39
- URL.revokeObjectURL(link.href);
40
- toast.success('Mermaid diagram saved successfully');
41
- } catch (error) {
42
- toast.error('Failed to download diagram');
43
- }
44
- };
45
-
46
- export const MermaidDiagram: FC<MermaidDiagramProps> = ({
47
- code,
48
- className,
49
- isRunning,
50
- }) => {
51
- const ref = useRef<HTMLDivElement>(null);
52
- const lastCode = useRef<string | null>(null);
53
- const [instance, setInstance] = useState<any>(null);
54
-
55
- const isComplete = !isRunning;
56
-
57
- const resetZoom = useCallback(() => {
58
- instance?.fit();
59
- instance?.center();
60
- }, [instance]);
61
-
62
- const downloadSVG = useCallback(() => {
63
- if (ref.current) {
64
- const svg = ref.current.innerHTML;
65
- const blob = new Blob([svg], { type: 'image/svg+xml' });
66
- void downloadBlob(blob, 'mermaid-diagram.svg');
67
- }
68
- }, []);
69
-
70
- const enableZoom = useCallback(() => {
71
- instance?.enablePan();
72
- instance?.enableZoom();
73
- }, [instance]);
74
-
75
- const disableZoom = useCallback(() => {
76
- instance?.disablePan();
77
- instance?.disableZoom();
78
- }, [instance]);
79
-
80
- const handleFocus = useCallback(() => {
81
- enableZoom();
82
- }, [enableZoom]);
83
-
84
- const handleBlur = useCallback(() => {
85
- disableZoom();
86
- }, [disableZoom]);
87
-
88
- const handleClick = useCallback(() => {
89
- if (ref.current) {
90
- ref.current.focus();
91
- }
92
- }, []);
93
-
94
- useEffect(() => {
95
- if (!isComplete || !ref.current || !code) return;
96
-
97
- if (lastCode.current === code) return;
98
-
99
- void (async () => {
100
- try {
101
- const id = generateId();
102
- const { svg } = await mermaid.render(id, code);
103
-
104
- if (ref.current) {
105
- ref.current.innerHTML = svg;
106
-
107
- const svgElement = ref.current.querySelector('svg');
108
- if (svgElement) {
109
- svgElement.setAttribute('height', '100%');
110
- svgElement.setAttribute('width', '100%');
111
- svgElement.style.height = '100%';
112
- svgElement.style.width = '100%';
113
- svgElement.style.position = 'absolute';
114
- svgElement.style.top = '0';
115
- svgElement.style.left = '0';
116
-
117
- // Dynamically import svg-pan-zoom only on client side
118
- if (typeof window !== 'undefined') {
119
- const svgPanZoomModule = await import('svg-pan-zoom');
120
- const svgPanZoom = svgPanZoomModule.default || svgPanZoomModule;
121
-
122
- const panZoomInstance = svgPanZoom(svgElement);
123
- panZoomInstance.fit();
124
- panZoomInstance.center();
125
- panZoomInstance.zoomAtPoint(1, { x: 0, y: 0 });
126
- panZoomInstance.disablePan();
127
- panZoomInstance.disableZoom();
128
- setInstance(panZoomInstance);
129
- }
130
- }
131
- }
132
-
133
- lastCode.current = code;
134
- } catch (e) {
135
- console.warn('Failed to render Mermaid diagram:', e);
136
- }
137
- })();
138
- }, [code, isComplete]);
139
-
140
- return (
141
- <div className="relative">
142
- <div className="absolute top-2 right-2 z-10 flex gap-1">
143
- <Tooltip>
144
- <TooltipTrigger asChild>
145
- <Button
146
- variant="tertiary"
147
- size="icon"
148
- onClick={resetZoom}
149
- className="text-text-secondary"
150
- >
151
- <RotateCcw size={14} />
152
- </Button>
153
- </TooltipTrigger>
154
- <TooltipContent>
155
- <p>Reset Zoom</p>
156
- </TooltipContent>
157
- </Tooltip>
158
- <Tooltip>
159
- <TooltipTrigger asChild>
160
- <Button
161
- variant="tertiary"
162
- size="icon"
163
- onClick={downloadSVG}
164
- className="text-text-secondary"
165
- >
166
- <Download size={14} />
167
- </Button>
168
- </TooltipTrigger>
169
- <TooltipContent>
170
- <p>Download SVG</p>
171
- </TooltipContent>
172
- </Tooltip>
173
- </div>
174
- <div
175
- onClick={handleClick}
176
- className="text-text-secondary bg-bg-quaternary absolute right-2 bottom-2 z-10 rounded px-2 py-1 text-xs"
177
- >
178
- Click to focus, then scroll to zoom & drag to pan
179
- </div>
180
- <div
181
- ref={ref}
182
- tabIndex={0}
183
- onFocus={handleFocus}
184
- onBlur={handleBlur}
185
- onClick={handleClick}
186
- className={cn(
187
- 'text-text-secondary bg-bg-quaternary focus:ring-opacity-50 relative w-full cursor-grab overflow-hidden rounded-b-lg p-4 py-10 text-center text-sm focus:cursor-grabbing focus:ring-2 focus:ring-blue-500 focus:outline-none',
188
- className,
189
- )}
190
- style={{ width: '100%', minHeight: '400px' }}
191
- >
192
- Drawing diagram...
193
- </div>
194
- </div>
195
- );
196
- };
@@ -1,147 +0,0 @@
1
- 'use client'
2
- import React from 'react'
3
-
4
- import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu'
5
- import { cva } from 'class-variance-authority'
6
- import { ChevronDown } from 'lucide-react'
7
-
8
- import { cn } from '../util'
9
-
10
- const NavigationMenu = React.forwardRef<
11
- React.ElementRef<typeof NavigationMenuPrimitive.Root>,
12
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>
13
- >(({ className, children, ...props }, ref) => (
14
- <NavigationMenuPrimitive.Root
15
- ref={ref}
16
- className={cn(
17
- 'relative z-10 flex max-w-max flex-1 items-center justify-center',
18
- className
19
- )}
20
- {...props}
21
- >
22
- {children}
23
- {/* <NavigationMenuViewport /> */}
24
- </NavigationMenuPrimitive.Root>
25
- ))
26
- NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName
27
-
28
- const NavigationMenuList = React.forwardRef<
29
- React.ElementRef<typeof NavigationMenuPrimitive.List>,
30
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>
31
- >(({ className, ...props }, ref) => (
32
- <NavigationMenuPrimitive.List
33
- ref={ref}
34
- className={cn(
35
- 'group flex flex-1 list-none items-center justify-center space-x-1',
36
- className
37
- )}
38
- {...props}
39
- />
40
- ))
41
- NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName
42
-
43
- const NavigationMenuItem = React.forwardRef<
44
- React.ElementRef<typeof NavigationMenuPrimitive.Item>,
45
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Item>
46
- >(({ className, ...props }, ref) => (
47
- <NavigationMenuPrimitive.Item
48
- ref={ref}
49
- className={cn("relative", className)}
50
- {...props}
51
- />
52
- ))
53
- NavigationMenuItem.displayName = 'NavigationMenuItem'
54
-
55
- const navigationMenuTriggerStyle = cva(
56
- 'group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 ' +
57
- 'text-sm font-medium transition-colors hover:bg-level-1 text-foreground hover:text-accent ' +
58
- ' focus:text-accent focus:outline-none disabled:pointer-events-none disabled:opacity-50 ' +
59
- 'data-[active]:bg-level-1/50 data-[state=open]:bg-level-1/50'
60
- )
61
-
62
- const NavigationMenuTrigger = React.forwardRef<
63
- React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,
64
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>
65
- >(({ className, children, ...props }, ref) => (
66
- <NavigationMenuPrimitive.Trigger
67
- ref={ref}
68
- className={cn(navigationMenuTriggerStyle(), 'group', className)}
69
- {...props}
70
- >
71
- {children}{' '}
72
- <ChevronDown
73
- className='relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180'
74
- aria-hidden='true'
75
- />
76
- </NavigationMenuPrimitive.Trigger>
77
- ))
78
- NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName
79
-
80
- const NavigationMenuContent = React.forwardRef<
81
- React.ElementRef<typeof NavigationMenuPrimitive.Content>,
82
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>
83
- >(({ className, ...props }, ref) => (
84
- <NavigationMenuPrimitive.Content
85
- ref={ref}
86
- className={cn(
87
- "right-0 absolute",
88
- "absolute top-full w-fit bg-popover mt-[5px]",
89
- "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 bg-background overflow-hidden rounded-md border",
90
- className
91
- )}
92
- {...props}
93
- />
94
- ))
95
- NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName
96
-
97
- const NavigationMenuLink = NavigationMenuPrimitive.Link
98
-
99
- const NavigationMenuViewport = React.forwardRef<
100
- React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,
101
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>
102
- >(({ className, ...props }, ref) => (
103
- <div className={cn('absolute left-0 top-full flex justify-center')}>
104
- <NavigationMenuPrimitive.Viewport
105
- className={cn(
106
- 'origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border ',
107
- 'bg-background text-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]',
108
- className
109
- )}
110
- ref={ref}
111
- {...props}
112
- />
113
- </div>
114
- ))
115
- NavigationMenuViewport.displayName =
116
- NavigationMenuPrimitive.Viewport.displayName
117
-
118
- const NavigationMenuIndicator = React.forwardRef<
119
- React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,
120
- React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>
121
- >(({ className, ...props }, ref) => (
122
- <NavigationMenuPrimitive.Indicator
123
- ref={ref}
124
- className={cn(
125
- 'top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',
126
- 'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in',
127
- className
128
- )}
129
- {...props}
130
- >
131
- <div className='relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md' />
132
- </NavigationMenuPrimitive.Indicator>
133
- ))
134
- NavigationMenuIndicator.displayName =
135
- NavigationMenuPrimitive.Indicator.displayName
136
-
137
- export {
138
- navigationMenuTriggerStyle,
139
- NavigationMenu,
140
- NavigationMenuList,
141
- NavigationMenuItem,
142
- NavigationMenuContent,
143
- NavigationMenuTrigger,
144
- NavigationMenuLink,
145
- NavigationMenuIndicator,
146
- NavigationMenuViewport,
147
- }
@@ -1,91 +0,0 @@
1
- import React from 'react'
2
- import NextImage from 'next/image'
3
-
4
- // @ts-ignore
5
- const { ImageDef, Dimensions, MediaTransform } = {}
6
- import { constrain, cn, spreadToTransform } from '../../util'
7
-
8
- const Image: React.FC<{
9
- def: ImageDef
10
- constrainTo?: Dimensions
11
- transform?: MediaTransform
12
- fullWidth?: boolean
13
- className?: string
14
- preload?: boolean
15
- }> = ({
16
- def,
17
- constrainTo,
18
- transform={},
19
- fullWidth=false,
20
- className='',
21
- preload=false
22
- }) => {
23
-
24
- const {
25
- src,
26
- alt: _alt,
27
- dim,
28
- sizes,
29
- svgFillClass: _svgFillClass,
30
- } = def
31
-
32
- const toSpread: any = {}
33
- if (fullWidth) {
34
- toSpread.style = {
35
- width: '100%',
36
- height: 'auto',
37
- ...spreadToTransform(transform)
38
- }
39
- if (constrainTo) {
40
- toSpread.style.maxWidth = constrainTo.w
41
- toSpread.style.maxHeight = constrainTo.h
42
- }
43
- }
44
- else {
45
- const resolved = constrainTo ? constrain(dim, constrainTo) : dim
46
- toSpread.width = resolved.w
47
- toSpread.height = resolved.h
48
- toSpread.style = {...spreadToTransform(transform)}
49
- }
50
-
51
- if (sizes) {
52
- toSpread.sizes = sizes
53
- }
54
-
55
- // Note: cannot be spread (a Next thing)
56
- let alt: string
57
- if (_alt) {
58
- alt = _alt
59
- }
60
- else {
61
- const tokens = src.split('/')
62
- // Something remotely meaningful
63
- alt = (tokens.length > 0) ? tokens[tokens.length - 1] : src
64
- }
65
-
66
- const svgFillClass = _svgFillClass ?? ''
67
-
68
- return (fullWidth) ? (
69
- <div className='relative flex flex-col items-center justify-center w-full'>
70
- <NextImage
71
- src={src}
72
- alt={alt}
73
- {...toSpread}
74
- priority={preload}
75
- loading={preload ? 'eager' : 'lazy'}
76
- className={cn(svgFillClass, className)}
77
- />
78
- </div>
79
- ) : (
80
- <NextImage
81
- src={src}
82
- alt={alt}
83
- {...toSpread}
84
- priority={preload}
85
- loading={preload ? 'eager' : 'lazy'}
86
- className={cn(svgFillClass, className)}
87
- />
88
- )
89
- }
90
-
91
- export default Image
@@ -1,7 +0,0 @@
1
- export { default as Image } from './image'
2
- export { default as InlineIcon } from './inline-icon'
3
- export { default as LinkElement } from './link-element'
4
- export { default as MDXLink } from './mdx-link'
5
- export { default as MediaStack } from './media-stack'
6
- export { default as NavItems } from './nav-items'
7
- export { default as YouTubeEmbed } from './youtube-embed'
@@ -1,36 +0,0 @@
1
- import React from 'react'
2
- import Image from 'next/image'
3
-
4
- interface InlineIconProps {
5
- /**
6
- * If a ReactNode is passed in, it should be set to 'w-full h-auto' so that it can be sized
7
- * according to width of parent.
8
- */
9
- icon: React.ReactNode;
10
- /** default should be handled by calling code. */
11
- size?: number;
12
- agent?: string;
13
- className?: string;
14
- }
15
-
16
- const InlineIcon: React.FC<InlineIconProps> = ({
17
- icon,
18
- size,
19
- agent,
20
- className=''
21
- }) => {
22
- if (!icon) return null
23
-
24
- const phone = agent === 'phone'
25
- if (typeof icon === 'string') {
26
- const _size = (phone && size) ? (size * .75) : size
27
- return (<Image src={icon} width={_size} height={_size} alt='icon' className={className}/>)
28
- }
29
- return (
30
- <div className={className}>
31
- {icon}
32
- </div>
33
- )
34
- }
35
-
36
- export default InlineIcon
@@ -1,109 +0,0 @@
1
- import React, { PropsWithChildren } from 'react'
2
- import Link from 'next/link'
3
-
4
- import type { LinkDef } from '../../types'
5
- import { buttonVariants } from '../button'
6
- import { cn, type VariantProps } from '../../util'
7
-
8
- /**
9
- * If this is rendered directly (and not auto generated in a Block)
10
- * and it has any children, title, icon, and iconAfter
11
- * are ignore.
12
- */
13
- const LinkElement: React.FC<
14
- PropsWithChildren &
15
- VariantProps<typeof buttonVariants> &
16
- {
17
- def: LinkDef,
18
-
19
- /**
20
- * Use to trigger other events in addition to the
21
- * link action itself. For example, to also close a drawer menu.
22
- */
23
- onClick?: () => void
24
-
25
- /** overrides def (eg, for title area)*/
26
- icon?: React.ReactNode
27
- /** overrides def */
28
- iconAfter?: boolean
29
- className?: string,
30
- }> = ({
31
- def,
32
- // DO NOT provide a default to any of the props that also appear in def!
33
- onClick,
34
- size,
35
- variant,
36
- rounded,
37
- icon,
38
- iconAfter,
39
- className = '',
40
- children,
41
- } ) => {
42
-
43
- const {
44
- href,
45
- newTab,
46
- variant: defVariant,
47
- size: defSize,
48
- rounded: defRounded,
49
- title
50
- } = def
51
-
52
- const linkProps: any = {}
53
-
54
- // As per LinkDef docs
55
- if (href.startsWith('http') || href.startsWith('mailto')) {
56
- linkProps.rel = 'noreferrer noopener'
57
- if (newTab ?? true) {
58
- linkProps.target = '_blank'
59
- }
60
- }
61
- else if (newTab) {
62
- linkProps.target = '_blank'
63
- }
64
-
65
- const toSpread = {
66
- href,
67
- ...(onClick ? { onClick } : {}),
68
- ...linkProps
69
- }
70
-
71
- const Contents: React.FC = () => {
72
-
73
- if (React.Children.count(children) > 0) return children
74
-
75
- // Props > def fields > defaults.
76
- const _icon = (icon) ? icon : (def.icon) ? def.icon : undefined
77
- const _iconAfter = (iconAfter) ? iconAfter : (def.iconAfter) ? def.iconAfter : false
78
-
79
- // 'title' is not guaranteed as it could be an icon only button / link
80
- return (<>
81
- {_icon && !_iconAfter && (<div className='pr-1'>{_icon}</div>)}
82
- {title && (<div>{title}</div>)}
83
- {_icon && _iconAfter && (<div className='pl-1'>{_icon}</div>)}
84
- </>)
85
- }
86
-
87
- return (
88
- <Link
89
- className={cn(
90
- buttonVariants({
91
- variant: variant ? variant : (defVariant ? defVariant : 'link'),
92
- size: (!defVariant || defVariant.includes('link') || variant?.includes('link')) ?
93
- 'link'
94
- :
95
- (size ? size : defSize),
96
- rounded: rounded ? rounded : (defRounded ? defRounded : 'md'),
97
- }),
98
- // This is a "label only" LinkDef. cf: footer"
99
- ((href.length > 0 || onClick) ? '' : 'pointer-events-none'),
100
- className
101
- )}
102
- {...toSpread}
103
- >
104
- <Contents />
105
- </Link>
106
- )
107
- }
108
-
109
- export default LinkElement
@@ -1,22 +0,0 @@
1
- import React, { AnchorHTMLAttributes, type PropsWithChildren } from 'react'
2
- import Link from 'next/link'
3
-
4
- const MDXLink: React.FC<AnchorHTMLAttributes<HTMLAnchorElement> > = ({
5
- href,
6
- children,
7
- ...rest
8
- }) => {
9
-
10
- // internal link
11
- if (href && (href.startsWith('/'))) {
12
- return (
13
- <Link href={href} {...rest}>
14
- {children}
15
- </Link>
16
- )
17
- }
18
-
19
- return <a target="_blank" href={href} {...rest} >{children}</a>
20
- }
21
-
22
- export default MDXLink
@@ -1,52 +0,0 @@
1
- 'use client'
2
- import React from 'react'
3
-
4
- import { cn, constrain, spreadToTransform } from '../../util'
5
- import type { MediaStackDef, Dimensions } from '../../types'
6
-
7
- import Image from './image'
8
- import VideoPlayer from '../video-player'
9
-
10
- const MediaStack: React.FC<{
11
- media: MediaStackDef
12
- constrainTo?: Dimensions
13
- clx?: string
14
- }> = ({
15
- media,
16
- constrainTo: cnst = {w: 250, h: 250},
17
- clx=''
18
- }) => {
19
- const {img, video, mediaTransform} = media
20
-
21
- const transform = mediaTransform ?? {}
22
-
23
- // Order of precedence: MP4 > Image
24
- if (video) {
25
- const dim = constrain(video.dim.md, cnst)
26
- return (
27
- <VideoPlayer
28
- className={clx}
29
- sources={video.sources}
30
- width={dim.w}
31
- height={dim.h}
32
- style={{
33
- minHeight: dim.h, // prevents layout jumps
34
- ...spreadToTransform(transform)
35
- }}
36
- {...video.videoProps}
37
- />
38
- )
39
- }
40
- return img ? (
41
- <Image
42
- def={img}
43
- constrainTo={cnst}
44
- className={clx}
45
- transform={transform}
46
- />
47
- ) : (
48
- <div style={{width: cnst.w, height: cnst.h}} className={cn('bg-level-2', clx)} />
49
- )
50
- }
51
-
52
- export default MediaStack