@hanzo/ui 5.0.1 → 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 -9070
  385. package/dist/index.js.map +1 -1
  386. package/dist/index.mjs +45 -8695
  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 -191
  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
@@ -0,0 +1,590 @@
1
+ import { FormLabel, FormItem, FormControl, FormDescription, FormMessage } from './chunk-6H62JRNM.mjs';
2
+ import { Input } from './chunk-5MCN3VYM.mjs';
3
+ import { buttonVariants, Button } from './chunk-QFA6U75G.mjs';
4
+ import { cn } from './chunk-TH2UKMCO.mjs';
5
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
6
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
+ import { useTheme } from 'next-themes';
8
+ import { Toaster as Toaster$1 } from 'sonner';
9
+ import * as React from 'react';
10
+ import { createContext, useId, useMemo, useContext } from 'react';
11
+ import { SearchIcon, XIcon, Check, LoaderCircle } from 'lucide-react';
12
+
13
+ var AlertDialog = AlertDialogPrimitive.Root;
14
+ var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
15
+ var AlertDialogPortal = AlertDialogPrimitive.Portal;
16
+ function AlertDialogOverlay({
17
+ className,
18
+ ...props
19
+ }) {
20
+ return /* @__PURE__ */ jsx(
21
+ AlertDialogPrimitive.Overlay,
22
+ {
23
+ "data-slot": "overlay",
24
+ className: cn(
25
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
26
+ className
27
+ ),
28
+ ...props
29
+ }
30
+ );
31
+ }
32
+ function AlertDialogContent({
33
+ className,
34
+ ref,
35
+ ...props
36
+ }) {
37
+ return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
38
+ /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
39
+ /* @__PURE__ */ jsx(
40
+ AlertDialogPrimitive.Content,
41
+ {
42
+ ref,
43
+ "data-slot": "content",
44
+ className: cn(
45
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
46
+ className
47
+ ),
48
+ ...props
49
+ }
50
+ )
51
+ ] });
52
+ }
53
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
54
+ function AlertDialogHeader({
55
+ className,
56
+ ...props
57
+ }) {
58
+ return /* @__PURE__ */ jsx(
59
+ "div",
60
+ {
61
+ "data-slot": "header",
62
+ className: cn(
63
+ "flex flex-col space-y-2 text-center sm:text-left",
64
+ className
65
+ ),
66
+ ...props
67
+ }
68
+ );
69
+ }
70
+ function AlertDialogFooter({
71
+ className,
72
+ ...props
73
+ }) {
74
+ return /* @__PURE__ */ jsx(
75
+ "div",
76
+ {
77
+ "data-slot": "footer",
78
+ className: cn(
79
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
80
+ className
81
+ ),
82
+ ...props
83
+ }
84
+ );
85
+ }
86
+ function AlertDialogTitle({
87
+ className,
88
+ ref,
89
+ ...props
90
+ }) {
91
+ return /* @__PURE__ */ jsx(
92
+ AlertDialogPrimitive.Title,
93
+ {
94
+ ref,
95
+ "data-slot": "title",
96
+ className: cn("text-lg font-semibold", className),
97
+ ...props
98
+ }
99
+ );
100
+ }
101
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
102
+ function AlertDialogDescription({
103
+ className,
104
+ ref,
105
+ ...props
106
+ }) {
107
+ return /* @__PURE__ */ jsx(
108
+ AlertDialogPrimitive.Description,
109
+ {
110
+ ref,
111
+ "data-slot": "description",
112
+ className: cn("text-sm text-muted-foreground", className),
113
+ ...props
114
+ }
115
+ );
116
+ }
117
+ AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
118
+ function AlertDialogAction({
119
+ className,
120
+ ref,
121
+ ...props
122
+ }) {
123
+ return /* @__PURE__ */ jsx(
124
+ AlertDialogPrimitive.Action,
125
+ {
126
+ ref,
127
+ "data-slot": "action",
128
+ className: cn(buttonVariants(), className),
129
+ ...props
130
+ }
131
+ );
132
+ }
133
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
134
+ function AlertDialogCancel({
135
+ className,
136
+ ref,
137
+ ...props
138
+ }) {
139
+ return /* @__PURE__ */ jsx(
140
+ AlertDialogPrimitive.Cancel,
141
+ {
142
+ ref,
143
+ "data-slot": "cancel",
144
+ className: cn(
145
+ buttonVariants({ variant: "outline" }),
146
+ "mt-2 sm:mt-0",
147
+ className
148
+ ),
149
+ ...props
150
+ }
151
+ );
152
+ }
153
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
154
+ var Toaster = ({ ...props }) => {
155
+ const { theme = "system" } = useTheme();
156
+ return /* @__PURE__ */ jsx(
157
+ Toaster$1,
158
+ {
159
+ theme,
160
+ className: "toaster group",
161
+ toastOptions: {
162
+ classNames: {
163
+ toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
164
+ description: "group-[.toast]:text-muted-foreground",
165
+ actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
166
+ cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"
167
+ }
168
+ },
169
+ ...props
170
+ }
171
+ );
172
+ };
173
+ function DotPattern({
174
+ width = 16,
175
+ height = 16,
176
+ x = 0,
177
+ y = 0,
178
+ cx = 1,
179
+ cy = 1,
180
+ cr = 1,
181
+ className,
182
+ ...props
183
+ }) {
184
+ const id = useId();
185
+ return /* @__PURE__ */ jsxs(
186
+ "svg",
187
+ {
188
+ "aria-hidden": "true",
189
+ className: cn(
190
+ "pointer-events-none absolute inset-0 h-full w-full fill-neutral-400/80",
191
+ className
192
+ ),
193
+ ...props,
194
+ children: [
195
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx(
196
+ "pattern",
197
+ {
198
+ height,
199
+ id,
200
+ patternContentUnits: "userSpaceOnUse",
201
+ patternUnits: "userSpaceOnUse",
202
+ width,
203
+ x,
204
+ y,
205
+ children: /* @__PURE__ */ jsx("circle", { cx, cy, id: "pattern-circle", r: cr })
206
+ }
207
+ ) }),
208
+ /* @__PURE__ */ jsx("rect", { fill: `url(#${id})`, height: "100%", strokeWidth: 0, width: "100%" })
209
+ ]
210
+ }
211
+ );
212
+ }
213
+ var DotsLoader = ({ className }) => {
214
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsxs("div", { className: "flex h-4 space-x-1.5", children: [
215
+ /* @__PURE__ */ jsx("div", { className: "h-2 w-2 animate-[loaderDots_0.6s_0s_infinite_alternate] rounded-full bg-slate-100" }),
216
+ /* @__PURE__ */ jsx("div", { className: "h-2 w-2 animate-[loaderDots_0.6s_0.3s_infinite_alternate] rounded-full bg-slate-100" }),
217
+ /* @__PURE__ */ jsx("div", { className: "h-2 w-2 animate-[loaderDots_0.6s_0.6s_infinite_alternate] rounded-full bg-slate-100" })
218
+ ] }) });
219
+ };
220
+ var ErrorMessage = ({ message, ...props }) => {
221
+ return /* @__PURE__ */ jsxs(
222
+ "div",
223
+ {
224
+ className: "rounded-sm bg-red-500/10 px-4 py-2 text-sm text-red-700",
225
+ ...props,
226
+ children: [
227
+ /* @__PURE__ */ jsx("strong", { className: "font-bold", children: "Error: " }),
228
+ /* @__PURE__ */ jsxs("span", { className: "block sm:inline", children: [
229
+ " ",
230
+ message,
231
+ " "
232
+ ] })
233
+ ]
234
+ }
235
+ );
236
+ };
237
+ var PrettyJsonPrint = ({
238
+ json,
239
+ className
240
+ }) => {
241
+ const formattedJson = useMemo(() => {
242
+ let formattedValue = `Unparseable JSON: String(${json})`;
243
+ if (typeof json === "object") {
244
+ formattedValue = JSON.stringify(json, null, 2);
245
+ } else if (typeof json === "string") {
246
+ try {
247
+ const parsedJson = JSON.parse(json);
248
+ formattedValue = JSON.stringify(parsedJson, null, 2);
249
+ } catch (error) {
250
+ console.error("error parsing json", error);
251
+ }
252
+ }
253
+ return formattedValue;
254
+ }, [json]);
255
+ return /* @__PURE__ */ jsx("pre", { className: cn("overflow-x-scroll", className), children: formattedJson });
256
+ };
257
+ var MIN_TEXTAREA_HEIGHT = 32;
258
+ var PromptTextarea = ({ className, ...props }) => {
259
+ const textareaRef = React.useRef(null);
260
+ React.useLayoutEffect(() => {
261
+ if (!textareaRef.current) return;
262
+ textareaRef.current.style.height = "60px";
263
+ textareaRef.current.style.height = `${Math.max(
264
+ textareaRef.current.scrollHeight + 2,
265
+ MIN_TEXTAREA_HEIGHT
266
+ )}px`;
267
+ if (props.autoFocus !== void 0 && props.autoFocus) {
268
+ textareaRef.current.focus();
269
+ }
270
+ }, [props.value]);
271
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
272
+ /* @__PURE__ */ jsx(
273
+ "textarea",
274
+ {
275
+ className: cn(
276
+ "flex w-full rounded-md border border-gray-200 bg-gray-400 px-4 py-2 pt-4 text-sm break-words placeholder-gray-100 placeholder:text-base focus-visible:ring-1 focus-visible:ring-gray-100 focus-visible:outline-hidden focus-visible:ring-inset disabled:cursor-not-allowed disabled:opacity-50",
277
+ className
278
+ ),
279
+ style: {
280
+ minHeight: MIN_TEXTAREA_HEIGHT,
281
+ resize: "none",
282
+ maxHeight: "300px"
283
+ },
284
+ ...props.field,
285
+ onKeyDown: props.onKeyDown,
286
+ ref: textareaRef,
287
+ ...!props.isLoading && {
288
+ placeholder: props.label
289
+ }
290
+ }
291
+ ),
292
+ props.isLoading ? /* @__PURE__ */ jsx(DotsLoader, { className: "absolute top-6 left-4" }) : null,
293
+ /* @__PURE__ */ jsx(FormLabel, { className: "sr-only", children: props.label })
294
+ ] });
295
+ };
296
+ PromptTextarea.displayName = "PromptTextarea";
297
+ var SearchInput = ({
298
+ className,
299
+ value,
300
+ onChange,
301
+ classNames,
302
+ ...props
303
+ }) => {
304
+ return /* @__PURE__ */ jsxs(
305
+ "div",
306
+ {
307
+ className: cn(
308
+ "shadow-border-input focus-within:shadow-border-input-focus relative flex h-10 flex-1 items-center overflow-hidden rounded-full shadow-[0_0_0_1px_currentColor] transition-shadow",
309
+ classNames?.container
310
+ ),
311
+ children: [
312
+ /* @__PURE__ */ jsx(
313
+ Input,
314
+ {
315
+ className: cn(
316
+ "placeholder:!text-text-placeholder !h-full border-none bg-transparent py-2 pl-10",
317
+ classNames?.input
318
+ ),
319
+ onChange: (e) => {
320
+ onChange?.(e);
321
+ },
322
+ placeholder: "Search...",
323
+ spellCheck: false,
324
+ value,
325
+ ...props
326
+ }
327
+ ),
328
+ /* @__PURE__ */ jsx(SearchIcon, { className: "text-text-tertiary absolute top-1/2 left-4 -z-[1px] h-4 w-4 -translate-y-1/2" }),
329
+ value && /* @__PURE__ */ jsxs(
330
+ Button,
331
+ {
332
+ className: cn("absolute right-1 h-8 w-8 p-2", classNames?.button),
333
+ onClick: () => {
334
+ onChange?.({
335
+ target: { value: "" }
336
+ });
337
+ },
338
+ size: "auto",
339
+ type: "button",
340
+ variant: "tertiary",
341
+ children: [
342
+ /* @__PURE__ */ jsx(XIcon, {}),
343
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Clear" })
344
+ ]
345
+ }
346
+ )
347
+ ]
348
+ }
349
+ );
350
+ };
351
+ SearchInput.displayName = "SearchInput";
352
+ var StepperContext = createContext(
353
+ void 0
354
+ );
355
+ var StepItemContext = createContext(
356
+ void 0
357
+ );
358
+ var useStepper = () => {
359
+ const context = useContext(StepperContext);
360
+ if (!context) {
361
+ throw new Error("useStepper must be used within a Stepper");
362
+ }
363
+ return context;
364
+ };
365
+ var useStepItem = () => {
366
+ const context = useContext(StepItemContext);
367
+ if (!context) {
368
+ throw new Error("useStepItem must be used within a StepperItem");
369
+ }
370
+ return context;
371
+ };
372
+ var Stepper = ({
373
+ defaultValue = 0,
374
+ value,
375
+ onValueChange,
376
+ orientation = "horizontal",
377
+ className,
378
+ ...props
379
+ }) => {
380
+ const [activeStep, setInternalStep] = React.useState(defaultValue);
381
+ const setActiveStep = React.useCallback(
382
+ (step) => {
383
+ if (value === void 0) {
384
+ setInternalStep(step);
385
+ }
386
+ onValueChange?.(step);
387
+ },
388
+ [value, onValueChange]
389
+ );
390
+ const currentStep = value ?? activeStep;
391
+ return /* @__PURE__ */ jsx(
392
+ StepperContext.Provider,
393
+ {
394
+ value: {
395
+ activeStep: currentStep,
396
+ setActiveStep,
397
+ orientation
398
+ },
399
+ children: /* @__PURE__ */ jsx(
400
+ "div",
401
+ {
402
+ className: cn(
403
+ "group/stepper inline-flex data-[orientation=horizontal]:w-full data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col",
404
+ className
405
+ ),
406
+ "data-orientation": orientation,
407
+ ...props
408
+ }
409
+ )
410
+ }
411
+ );
412
+ };
413
+ Stepper.displayName = "Stepper";
414
+ var StepperItem = ({
415
+ step,
416
+ completed = false,
417
+ disabled = false,
418
+ loading = false,
419
+ className,
420
+ children,
421
+ ...props
422
+ }) => {
423
+ const { activeStep } = useStepper();
424
+ const state = completed || step < activeStep ? "completed" : activeStep === step ? "active" : "inactive";
425
+ const isLoading = loading && step === activeStep;
426
+ return /* @__PURE__ */ jsx(
427
+ StepItemContext.Provider,
428
+ {
429
+ value: { step, state, isDisabled: disabled, isLoading },
430
+ children: /* @__PURE__ */ jsx(
431
+ "div",
432
+ {
433
+ className: cn(
434
+ "group/step flex items-center group-data-[orientation=horizontal]/stepper:flex-row group-data-[orientation=vertical]/stepper:flex-col",
435
+ className
436
+ ),
437
+ "data-state": state,
438
+ ...isLoading ? { "data-loading": true } : {},
439
+ ...props,
440
+ children
441
+ }
442
+ )
443
+ }
444
+ );
445
+ };
446
+ StepperItem.displayName = "StepperItem";
447
+ var StepperTrigger = ({
448
+ asChild = false,
449
+ className,
450
+ children,
451
+ ...props
452
+ }) => {
453
+ const { setActiveStep } = useStepper();
454
+ const { step, isDisabled } = useStepItem();
455
+ if (asChild) {
456
+ return /* @__PURE__ */ jsx("div", { className, children });
457
+ }
458
+ return /* @__PURE__ */ jsx(
459
+ "button",
460
+ {
461
+ className: cn(
462
+ "inline-flex items-center gap-3 disabled:pointer-events-none",
463
+ className
464
+ ),
465
+ disabled: isDisabled,
466
+ onClick: () => setActiveStep(step),
467
+ ...props,
468
+ children
469
+ }
470
+ );
471
+ };
472
+ StepperTrigger.displayName = "StepperTrigger";
473
+ var StepperIndicator = ({
474
+ asChild = false,
475
+ className,
476
+ children,
477
+ ...props
478
+ }) => {
479
+ const { state, step, isLoading } = useStepItem();
480
+ return /* @__PURE__ */ jsx(
481
+ "div",
482
+ {
483
+ className: cn(
484
+ "bg-bg-tertiary text-text-secondary data-[state=completed]:bg-brand data-[state=active]:text-text-default data-[state=completed]:text-primary-foreground data-[state=active]:bg-bg-secondary relative flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-medium",
485
+ className
486
+ ),
487
+ "data-state": state,
488
+ ...props,
489
+ children: asChild ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
490
+ /* @__PURE__ */ jsx("span", { className: "transition-all group-data-[loading=true]/step:scale-0 group-data-[loading=true]/step:opacity-0 group-data-[loading=true]/step:transition-none group-data-[state=completed]/step:scale-0 group-data-[state=completed]/step:opacity-0", children: step }),
491
+ /* @__PURE__ */ jsx(
492
+ Check,
493
+ {
494
+ "aria-hidden": "true",
495
+ className: "absolute scale-0 opacity-0 transition-all group-data-[state=completed]/step:scale-100 group-data-[state=completed]/step:opacity-100",
496
+ strokeWidth: 2
497
+ }
498
+ ),
499
+ isLoading && /* @__PURE__ */ jsx("span", { className: "absolute transition-all", children: /* @__PURE__ */ jsx(
500
+ LoaderCircle,
501
+ {
502
+ "aria-hidden": "true",
503
+ className: "animate-spin",
504
+ size: 14,
505
+ strokeWidth: 2
506
+ }
507
+ ) })
508
+ ] })
509
+ }
510
+ );
511
+ };
512
+ StepperIndicator.displayName = "StepperIndicator";
513
+ var StepperTitle = ({
514
+ className,
515
+ ...props
516
+ }) => /* @__PURE__ */ jsx("h3", { className: cn("text-sm font-medium", className), ...props });
517
+ StepperTitle.displayName = "StepperTitle";
518
+ var StepperDescription = ({
519
+ className,
520
+ ...props
521
+ }) => /* @__PURE__ */ jsx("p", { className: cn("text-text-secondary text-sm", className), ...props });
522
+ StepperDescription.displayName = "StepperDescription";
523
+ var StepperSeparator = ({
524
+ className,
525
+ ...props
526
+ }) => {
527
+ return /* @__PURE__ */ jsx(
528
+ "div",
529
+ {
530
+ className: cn(
531
+ "bg-muted group-data-[state=completed]/step:bg-primary m-0.5 group-data-[orientation=horizontal]/stepper:h-0.5 group-data-[orientation=horizontal]/stepper:w-full group-data-[orientation=horizontal]/stepper:flex-1 group-data-[orientation=vertical]/stepper:h-12 group-data-[orientation=vertical]/stepper:w-0.5",
532
+ className
533
+ ),
534
+ ...props
535
+ }
536
+ );
537
+ };
538
+ StepperSeparator.displayName = "StepperSeparator";
539
+ var TextLink = ({
540
+ label,
541
+ url,
542
+ className,
543
+ ...props
544
+ }) => /* @__PURE__ */ jsx(
545
+ "span",
546
+ {
547
+ className: cn("cursor-pointer text-white underline", className),
548
+ onClick: () => {
549
+ window.open(url);
550
+ },
551
+ ...props,
552
+ children: /* @__PURE__ */ jsx("a", { href: url, rel: "noreferrer", target: "_blank", children: label })
553
+ }
554
+ );
555
+ var TextField = ({
556
+ classes,
557
+ field,
558
+ label,
559
+ type = "text",
560
+ helperMessage,
561
+ startAdornment,
562
+ endAdornment,
563
+ autoFocus,
564
+ min,
565
+ max
566
+ }) => {
567
+ return /* @__PURE__ */ jsxs(FormItem, { className: cn(classes?.formItem), children: [
568
+ /* @__PURE__ */ jsx(FormControl, { children: /* @__PURE__ */ jsx(
569
+ Input,
570
+ {
571
+ autoFocus,
572
+ className: cn(classes?.input),
573
+ endAdornment,
574
+ max,
575
+ min,
576
+ spellCheck: false,
577
+ startAdornment,
578
+ type,
579
+ ...field
580
+ }
581
+ ) }),
582
+ /* @__PURE__ */ jsx(FormLabel, { className: cn(classes?.label), children: label }),
583
+ /* @__PURE__ */ jsx(FormDescription, { children: helperMessage }),
584
+ /* @__PURE__ */ jsx(FormMessage, { className: cn(classes?.helperMessage) })
585
+ ] });
586
+ };
587
+
588
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, DotPattern, DotsLoader, ErrorMessage, PrettyJsonPrint, PromptTextarea, SearchInput, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, TextField, TextLink, Toaster };
589
+ //# sourceMappingURL=chunk-GG6VGOEN.mjs.map
590
+ //# sourceMappingURL=chunk-GG6VGOEN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/alert-dialog.tsx","../src/components/sonner.tsx","../src/components/dot-pattern.tsx","../src/components/dots-loader.tsx","../src/components/error-message.tsx","../src/components/pretty-json-print.tsx","../src/components/prompt-textarea.tsx","../src/components/search-input.tsx","../src/components/stepper.tsx","../src/components/text-link.tsx","../src/components/textfield.tsx"],"names":["jsx","Sonner","jsxs","React2","Fragment","CheckIcon"],"mappings":"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","file":"chunk-GG6VGOEN.mjs","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport { cn } from \"../lib/utils\"\nimport { buttonVariants } from \"./button\"\n\nconst AlertDialog = AlertDialogPrimitive.Root\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n ref,\n ...props\n}: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> & {\n ref?: React.Ref<React.ElementRef<typeof AlertDialogPrimitive.Content>>\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n data-slot=\"content\"\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n data-slot=\"header\"\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n data-slot=\"footer\"\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ref,\n ...props\n}: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title> & {\n ref?: React.Ref<React.ElementRef<typeof AlertDialogPrimitive.Title>>\n}) {\n return (\n <AlertDialogPrimitive.Title\n ref={ref}\n data-slot=\"title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n )\n}\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\n\nfunction AlertDialogDescription({\n className,\n ref,\n ...props\n}: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description> & {\n ref?: React.Ref<React.ElementRef<typeof AlertDialogPrimitive.Description>>\n}) {\n return (\n <AlertDialogPrimitive.Description\n ref={ref}\n data-slot=\"description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName\n\nfunction AlertDialogAction({\n className,\n ref,\n ...props\n}: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> & {\n ref?: React.Ref<React.ElementRef<typeof AlertDialogPrimitive.Action>>\n}) {\n return (\n <AlertDialogPrimitive.Action\n ref={ref}\n data-slot=\"action\"\n className={cn(buttonVariants(), className)}\n {...props}\n />\n )\n}\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\n\nfunction AlertDialogCancel({\n className,\n ref,\n ...props\n}: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & {\n ref?: React.Ref<React.ElementRef<typeof AlertDialogPrimitive.Cancel>>\n}) {\n return (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n data-slot=\"cancel\"\n className={cn(\n buttonVariants({ variant: \"outline\" }),\n \"mt-2 sm:mt-0\",\n className\n )}\n {...props}\n />\n )\n}\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n","\"use client\"\n\nimport { useTheme } from \"next-themes\"\nimport { Toaster as Sonner } from \"sonner\"\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme()\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\",\n },\n }}\n {...props}\n />\n )\n}\n\nexport { Toaster }\n","import { useId } from 'react';\n\nimport { cn } from '../lib/utils';\n\ninterface DotPatternProps {\n width?: any;\n height?: any;\n x?: any;\n y?: any;\n cx?: any;\n cy?: any;\n cr?: any;\n className?: string;\n [key: string]: any;\n}\n\nfunction DotPattern({\n width = 16,\n height = 16,\n x = 0,\n y = 0,\n cx = 1,\n cy = 1,\n cr = 1,\n className,\n ...props\n}: DotPatternProps) {\n const id = useId();\n\n return (\n <svg\n aria-hidden=\"true\"\n className={cn(\n 'pointer-events-none absolute inset-0 h-full w-full fill-neutral-400/80',\n className,\n )}\n {...props}\n >\n <defs>\n <pattern\n height={height}\n id={id}\n patternContentUnits=\"userSpaceOnUse\"\n patternUnits=\"userSpaceOnUse\"\n width={width}\n x={x}\n y={y}\n >\n <circle cx={cx} cy={cy} id=\"pattern-circle\" r={cr} />\n </pattern>\n </defs>\n <rect fill={`url(#${id})`} height=\"100%\" strokeWidth={0} width=\"100%\" />\n </svg>\n );\n}\n\nexport { DotPattern };\n","const DotsLoader = ({ className }: { className?: string }) => {\n return (\n <div className={className}>\n <div className=\"flex h-4 space-x-1.5\">\n <div className=\"h-2 w-2 animate-[loaderDots_0.6s_0s_infinite_alternate] rounded-full bg-slate-100\" />\n <div className=\"h-2 w-2 animate-[loaderDots_0.6s_0.3s_infinite_alternate] rounded-full bg-slate-100\" />\n <div className=\"h-2 w-2 animate-[loaderDots_0.6s_0.6s_infinite_alternate] rounded-full bg-slate-100\" />\n </div>\n </div>\n );\n};\n\nexport { DotsLoader };\n","import React from 'react';\n\ninterface ErrorMessageProps extends React.HTMLAttributes<HTMLDivElement> {\n message: string;\n}\n\nconst ErrorMessage = ({ message, ...props }: ErrorMessageProps) => {\n return (\n <div\n className=\"rounded-sm bg-red-500/10 px-4 py-2 text-sm text-red-700\"\n {...props}\n >\n <strong className=\"font-bold\">Error: </strong>\n <span className=\"block sm:inline\"> {message} </span>\n </div>\n );\n};\n\nexport { ErrorMessage };\n","import { useMemo } from 'react';\nimport { cn } from '../lib/utils';\n\nexport const PrettyJsonPrint = ({\n json,\n className,\n}: {\n json: string | object;\n className?: string;\n}) => {\n const formattedJson = useMemo(() => {\n let formattedValue = `Unparseable JSON: String(${json})`;\n if (typeof json === 'object') {\n formattedValue = JSON.stringify(json, null, 2);\n } else if (typeof json === 'string') {\n try {\n const parsedJson = JSON.parse(json);\n formattedValue = JSON.stringify(parsedJson, null, 2);\n } catch (error) {\n console.error('error parsing json', error);\n }\n }\n return formattedValue;\n }, [json]);\n return (\n <pre className={cn('overflow-x-scroll', className)}>{formattedJson}</pre>\n );\n};\n","import * as React from 'react';\n\nimport { cn } from '../lib/utils';\nimport { DotsLoader } from './dots-loader';\nimport { FormLabel } from './form';\n\nconst MIN_TEXTAREA_HEIGHT = 32;\nexport interface PromptTextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n isLoading?: boolean;\n label?: string;\n field: {\n onChange: (...event: any[]) => void;\n onBlur: () => void;\n value: any;\n disabled?: boolean;\n name: string;\n placeholder?: string;\n };\n}\n\nconst PromptTextarea = ({ className, ...props }: PromptTextareaProps) => {\n const textareaRef = React.useRef<HTMLTextAreaElement>(null);\n\n React.useLayoutEffect(() => {\n // Reset height - important to shrink on delete\n\n if (!textareaRef.current) return;\n\n textareaRef.current.style.height = '60px';\n // Set height\n textareaRef.current.style.height = `${Math.max(\n textareaRef.current.scrollHeight + 2,\n MIN_TEXTAREA_HEIGHT,\n )}px`;\n\n if (props.autoFocus !== undefined && props.autoFocus) {\n textareaRef.current.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value]);\n\n return (\n <>\n <textarea\n className={cn(\n 'flex w-full rounded-md border border-gray-200 bg-gray-400 px-4 py-2 pt-4 text-sm break-words placeholder-gray-100 placeholder:text-base focus-visible:ring-1 focus-visible:ring-gray-100 focus-visible:outline-hidden focus-visible:ring-inset disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n style={{\n minHeight: MIN_TEXTAREA_HEIGHT,\n resize: 'none',\n maxHeight: '300px',\n }}\n {...props.field}\n onKeyDown={props.onKeyDown}\n ref={textareaRef}\n {...(!props.isLoading && {\n placeholder: props.label,\n })}\n />\n\n {props.isLoading ? (\n <DotsLoader className=\"absolute top-6 left-4\" />\n ) : null}\n <FormLabel className=\"sr-only\">{props.label}</FormLabel>\n </>\n );\n};\nPromptTextarea.displayName = 'PromptTextarea';\n\nexport { PromptTextarea };\n","import { SearchIcon, XIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '../lib/utils';\nimport { Button, Input } from '.';\n\nexport type SearchInputProps = React.InputHTMLAttributes<HTMLInputElement> & {\n classNames?: {\n container?: string;\n input?: string;\n button?: string;\n };\n};\n\nconst SearchInput = ({\n className,\n value,\n onChange,\n classNames,\n ...props\n}: SearchInputProps) => {\n return (\n <div\n className={cn(\n 'shadow-border-input focus-within:shadow-border-input-focus relative flex h-10 flex-1 items-center overflow-hidden rounded-full shadow-[0_0_0_1px_currentColor] transition-shadow',\n classNames?.container,\n )}\n >\n <Input\n className={cn(\n 'placeholder:!text-text-placeholder !h-full border-none bg-transparent py-2 pl-10',\n classNames?.input,\n )}\n onChange={(e) => {\n onChange?.(e);\n }}\n placeholder=\"Search...\"\n spellCheck={false}\n value={value}\n {...props}\n />\n <SearchIcon className=\"text-text-tertiary absolute top-1/2 left-4 -z-[1px] h-4 w-4 -translate-y-1/2\" />\n {value && (\n <Button\n className={cn('absolute right-1 h-8 w-8 p-2', classNames?.button)}\n onClick={() => {\n onChange?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>);\n }}\n size=\"auto\"\n type=\"button\"\n variant=\"tertiary\"\n >\n <XIcon />\n <span className=\"sr-only\">Clear</span>\n </Button>\n )}\n </div>\n );\n};\n\nSearchInput.displayName = 'SearchInput';\n\nexport { SearchInput };\n","import { Check as CheckIcon } from 'lucide-react';\nimport { LoaderCircle } from 'lucide-react';\nimport * as React from 'react';\nimport { createContext, useContext } from 'react';\n\nimport { cn } from '../lib/utils';\n\ntype StepperContextValue = {\n activeStep: number;\n setActiveStep: (step: number) => void;\n orientation: 'horizontal' | 'vertical';\n};\n\ntype StepItemContextValue = {\n step: number;\n state: StepState;\n isDisabled: boolean;\n isLoading: boolean;\n};\n\ntype StepState = 'active' | 'completed' | 'inactive' | 'loading';\n\nconst StepperContext = createContext<StepperContextValue | undefined>(\n undefined,\n);\nconst StepItemContext = createContext<StepItemContextValue | undefined>(\n undefined,\n);\n\nconst useStepper = () => {\n const context = useContext(StepperContext);\n if (!context) {\n throw new Error('useStepper must be used within a Stepper');\n }\n return context;\n};\n\nconst useStepItem = () => {\n const context = useContext(StepItemContext);\n if (!context) {\n throw new Error('useStepItem must be used within a StepperItem');\n }\n return context;\n};\n\ninterface StepperProps extends React.HTMLAttributes<HTMLDivElement> {\n defaultValue?: number;\n value?: number;\n onValueChange?: (value: number) => void;\n orientation?: 'horizontal' | 'vertical';\n}\n\nconst Stepper = ({\n defaultValue = 0,\n value,\n onValueChange,\n orientation = 'horizontal',\n className,\n ...props\n}: StepperProps) => {\n const [activeStep, setInternalStep] = React.useState(defaultValue);\n\n const setActiveStep = React.useCallback(\n (step: number) => {\n if (value === undefined) {\n setInternalStep(step);\n }\n onValueChange?.(step);\n },\n [value, onValueChange],\n );\n\n const currentStep = value ?? activeStep;\n\n return (\n <StepperContext.Provider\n value={{\n activeStep: currentStep,\n setActiveStep,\n orientation,\n }}\n >\n <div\n className={cn(\n 'group/stepper inline-flex data-[orientation=horizontal]:w-full data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col',\n className,\n )}\n data-orientation={orientation}\n {...props}\n />\n </StepperContext.Provider>\n );\n};\nStepper.displayName = 'Stepper';\n\n// StepperItem\ninterface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {\n step: number;\n completed?: boolean;\n disabled?: boolean;\n loading?: boolean;\n}\n\nconst StepperItem = ({\n step,\n completed = false,\n disabled = false,\n loading = false,\n className,\n children,\n ...props\n}: StepperItemProps) => {\n const { activeStep } = useStepper();\n\n const state: StepState =\n completed || step < activeStep\n ? 'completed'\n : activeStep === step\n ? 'active'\n : 'inactive';\n\n const isLoading = loading && step === activeStep;\n\n return (\n <StepItemContext.Provider\n value={{ step, state, isDisabled: disabled, isLoading }}\n >\n <div\n className={cn(\n 'group/step flex items-center group-data-[orientation=horizontal]/stepper:flex-row group-data-[orientation=vertical]/stepper:flex-col',\n className,\n )}\n data-state={state}\n {...(isLoading ? { 'data-loading': true } : {})}\n {...props}\n >\n {children}\n </div>\n </StepItemContext.Provider>\n );\n};\n\nStepperItem.displayName = 'StepperItem';\n\n// StepperTrigger\ninterface StepperTriggerProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean;\n}\n\nconst StepperTrigger = ({\n asChild = false,\n className,\n children,\n ...props\n}: StepperTriggerProps) => {\n const { setActiveStep } = useStepper();\n const { step, isDisabled } = useStepItem();\n\n if (asChild) {\n return <div className={className}>{children}</div>;\n }\n\n return (\n <button\n className={cn(\n 'inline-flex items-center gap-3 disabled:pointer-events-none',\n className,\n )}\n disabled={isDisabled}\n onClick={() => setActiveStep(step)}\n {...props}\n >\n {children}\n </button>\n );\n};\nStepperTrigger.displayName = 'StepperTrigger';\n\ninterface StepperIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {\n asChild?: boolean;\n}\n\nconst StepperIndicator = ({\n asChild = false,\n className,\n children,\n ...props\n}: StepperIndicatorProps) => {\n const { state, step, isLoading } = useStepItem();\n\n return (\n <div\n className={cn(\n 'bg-bg-tertiary text-text-secondary data-[state=completed]:bg-brand data-[state=active]:text-text-default data-[state=completed]:text-primary-foreground data-[state=active]:bg-bg-secondary relative flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-medium',\n className,\n )}\n data-state={state}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n <span className=\"transition-all group-data-[loading=true]/step:scale-0 group-data-[loading=true]/step:opacity-0 group-data-[loading=true]/step:transition-none group-data-[state=completed]/step:scale-0 group-data-[state=completed]/step:opacity-0\">\n {step}\n </span>\n <CheckIcon\n aria-hidden=\"true\"\n className=\"absolute scale-0 opacity-0 transition-all group-data-[state=completed]/step:scale-100 group-data-[state=completed]/step:opacity-100\"\n // size={16}\n strokeWidth={2}\n />\n {isLoading && (\n <span className=\"absolute transition-all\">\n <LoaderCircle\n aria-hidden=\"true\"\n className=\"animate-spin\"\n size={14}\n strokeWidth={2}\n />\n </span>\n )}\n </>\n )}\n </div>\n );\n};\nStepperIndicator.displayName = 'StepperIndicator';\n\n// StepperTitle\nconst StepperTitle = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLHeadingElement>) => (\n <h3 className={cn('text-sm font-medium', className)} {...props} />\n);\nStepperTitle.displayName = 'StepperTitle';\n\nconst StepperDescription = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement>) => (\n <p className={cn('text-text-secondary text-sm', className)} {...props} />\n);\nStepperDescription.displayName = 'StepperDescription';\n\nconst StepperSeparator = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(\n 'bg-muted group-data-[state=completed]/step:bg-primary m-0.5 group-data-[orientation=horizontal]/stepper:h-0.5 group-data-[orientation=horizontal]/stepper:w-full group-data-[orientation=horizontal]/stepper:flex-1 group-data-[orientation=vertical]/stepper:h-12 group-data-[orientation=vertical]/stepper:w-0.5',\n className,\n )}\n {...props}\n />\n );\n};\nStepperSeparator.displayName = 'StepperSeparator';\n\nexport {\n Stepper,\n StepperDescription,\n StepperIndicator,\n StepperItem,\n StepperSeparator,\n StepperTitle,\n StepperTrigger,\n};\n","import React from 'react';\n\nimport { cn } from '../lib/utils';\n\nexport const TextLink = ({\n label,\n url,\n className,\n ...props\n}: {\n label: string;\n url: string;\n} & React.ButtonHTMLAttributes<HTMLSpanElement>) => (\n <span\n className={cn('cursor-pointer text-white underline', className)}\n onClick={() => {\n window.open(url);\n }}\n {...props}\n >\n <a href={url} rel=\"noreferrer\" target=\"_blank\">\n {label}\n </a>\n </span>\n);\n","import React from 'react';\n\nimport { type RefCallBack } from 'react-hook-form';\nimport { cn } from '../lib/utils';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from './form';\nimport { Input } from './input';\n\nconst TextField = ({\n classes,\n field,\n label,\n type = 'text',\n helperMessage,\n startAdornment,\n endAdornment,\n autoFocus,\n min,\n max,\n}: {\n classes?: {\n formItem?: string;\n label?: string;\n input?: string;\n helperMessage?: string;\n };\n field: {\n onChange?: (...event: any[]) => void;\n onFocus?: (...event: any[]) => void;\n onKeyDown?: (...event: any[]) => void;\n onBlur?: () => void;\n value: any;\n disabled?: boolean;\n name?: string;\n ref?: React.RefObject<HTMLInputElement | null> | RefCallBack;\n placeholder?: string;\n readOnly?: boolean;\n };\n autoFocus?: boolean;\n label: React.ReactNode;\n helperMessage?: React.ReactNode;\n type?: 'text' | 'password' | 'number';\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n min?: number;\n max?: number;\n}) => {\n return (\n <FormItem className={cn(classes?.formItem)}>\n <FormControl>\n <Input\n autoFocus={autoFocus}\n className={cn(classes?.input)}\n endAdornment={endAdornment}\n max={max}\n min={min}\n spellCheck={false}\n startAdornment={startAdornment}\n type={type}\n {...field}\n />\n </FormControl>\n <FormLabel className={cn(classes?.label)}>{label}</FormLabel>\n <FormDescription>{helperMessage}</FormDescription>\n <FormMessage className={cn(classes?.helperMessage)} />\n </FormItem>\n );\n};\n\nexport { TextField };\n"]}