@hanzo/ui 8.27.9 → 8.27.11

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 (474) hide show
  1. package/dist/backends/gui/3d-card.cjs +100 -0
  2. package/dist/backends/gui/3d-card.d.ts +59 -0
  3. package/dist/backends/gui/3d-card.d.ts.map +1 -0
  4. package/dist/backends/gui/3d-card.js +92 -0
  5. package/dist/backends/gui/3d-card.js.map +1 -0
  6. package/dist/backends/gui/3d-marquee.cjs +225 -0
  7. package/dist/backends/gui/3d-marquee.d.ts +114 -0
  8. package/dist/backends/gui/3d-marquee.d.ts.map +1 -0
  9. package/dist/backends/gui/3d-marquee.js +190 -0
  10. package/dist/backends/gui/3d-marquee.js.map +1 -0
  11. package/dist/backends/gui/3d-pin.cjs +51 -0
  12. package/dist/backends/gui/3d-pin.d.ts +14 -0
  13. package/dist/backends/gui/3d-pin.d.ts.map +1 -0
  14. package/dist/backends/gui/3d-pin.js +49 -0
  15. package/dist/backends/gui/3d-pin.js.map +1 -0
  16. package/dist/backends/gui/advanced-chart.cjs +61 -0
  17. package/dist/backends/gui/advanced-chart.d.ts +38 -0
  18. package/dist/backends/gui/advanced-chart.d.ts.map +1 -0
  19. package/dist/backends/gui/advanced-chart.js +59 -0
  20. package/dist/backends/gui/advanced-chart.js.map +1 -0
  21. package/dist/backends/gui/alert.cjs +106 -0
  22. package/dist/backends/gui/alert.d.ts +39 -0
  23. package/dist/backends/gui/alert.d.ts.map +1 -0
  24. package/dist/backends/gui/alert.js +102 -0
  25. package/dist/backends/gui/alert.js.map +1 -0
  26. package/dist/backends/gui/android.cjs +52 -0
  27. package/dist/backends/gui/android.d.ts +16 -0
  28. package/dist/backends/gui/android.d.ts.map +1 -0
  29. package/dist/backends/gui/android.js +50 -0
  30. package/dist/backends/gui/android.js.map +1 -0
  31. package/dist/backends/gui/animated-beam.cjs +97 -0
  32. package/dist/backends/gui/animated-beam.d.ts +57 -0
  33. package/dist/backends/gui/animated-beam.d.ts.map +1 -0
  34. package/dist/backends/gui/animated-beam.js +62 -0
  35. package/dist/backends/gui/animated-beam.js.map +1 -0
  36. package/dist/backends/gui/animated-cursor.cjs +183 -0
  37. package/dist/backends/gui/animated-cursor.d.ts +42 -0
  38. package/dist/backends/gui/animated-cursor.d.ts.map +1 -0
  39. package/dist/backends/gui/animated-cursor.js +181 -0
  40. package/dist/backends/gui/animated-cursor.js.map +1 -0
  41. package/dist/backends/gui/animated-testimonials.cjs +109 -0
  42. package/dist/backends/gui/animated-testimonials.d.ts +23 -0
  43. package/dist/backends/gui/animated-testimonials.d.ts.map +1 -0
  44. package/dist/backends/gui/animated-testimonials.js +74 -0
  45. package/dist/backends/gui/animated-testimonials.js.map +1 -0
  46. package/dist/backends/gui/animated-tooltip.cjs +100 -0
  47. package/dist/backends/gui/animated-tooltip.d.ts +15 -0
  48. package/dist/backends/gui/animated-tooltip.d.ts.map +1 -0
  49. package/dist/backends/gui/animated-tooltip.js +65 -0
  50. package/dist/backends/gui/animated-tooltip.js.map +1 -0
  51. package/dist/backends/gui/announcement.cjs +54 -0
  52. package/dist/backends/gui/announcement.d.ts +26 -0
  53. package/dist/backends/gui/announcement.d.ts.map +1 -0
  54. package/dist/backends/gui/announcement.js +52 -0
  55. package/dist/backends/gui/announcement.js.map +1 -0
  56. package/dist/backends/gui/apple-cards-carousel.cjs +198 -0
  57. package/dist/backends/gui/apple-cards-carousel.d.ts +45 -0
  58. package/dist/backends/gui/apple-cards-carousel.d.ts.map +1 -0
  59. package/dist/backends/gui/apple-cards-carousel.js +162 -0
  60. package/dist/backends/gui/apple-cards-carousel.js.map +1 -0
  61. package/dist/backends/gui/apple-hello-effect.cjs +38 -0
  62. package/dist/backends/gui/apple-hello-effect.d.ts +9 -0
  63. package/dist/backends/gui/apple-hello-effect.d.ts.map +1 -0
  64. package/dist/backends/gui/apple-hello-effect.js +36 -0
  65. package/dist/backends/gui/apple-hello-effect.js.map +1 -0
  66. package/dist/backends/gui/banner.cjs +108 -0
  67. package/dist/backends/gui/banner.d.ts +33 -0
  68. package/dist/backends/gui/banner.d.ts.map +1 -0
  69. package/dist/backends/gui/banner.js +106 -0
  70. package/dist/backends/gui/banner.js.map +1 -0
  71. package/dist/backends/gui/calendar.cjs +152 -0
  72. package/dist/backends/gui/calendar.d.ts +41 -0
  73. package/dist/backends/gui/calendar.d.ts.map +1 -0
  74. package/dist/backends/gui/calendar.js +151 -0
  75. package/dist/backends/gui/calendar.js.map +1 -0
  76. package/dist/backends/gui/choicebox.cjs +50 -0
  77. package/dist/backends/gui/choicebox.d.ts +33 -0
  78. package/dist/backends/gui/choicebox.d.ts.map +1 -0
  79. package/dist/backends/gui/choicebox.js +49 -0
  80. package/dist/backends/gui/choicebox.js.map +1 -0
  81. package/dist/backends/gui/code-block.cjs +120 -0
  82. package/dist/backends/gui/code-block.d.ts +22 -0
  83. package/dist/backends/gui/code-block.d.ts.map +1 -0
  84. package/dist/backends/gui/code-block.js +118 -0
  85. package/dist/backends/gui/code-block.js.map +1 -0
  86. package/dist/backends/gui/code-editor.cjs +195 -0
  87. package/dist/backends/gui/code-editor.d.ts +43 -0
  88. package/dist/backends/gui/code-editor.d.ts.map +1 -0
  89. package/dist/backends/gui/code-editor.js +160 -0
  90. package/dist/backends/gui/code-editor.js.map +1 -0
  91. package/dist/backends/gui/code-tabs.cjs +21 -0
  92. package/dist/backends/gui/code-tabs.d.ts +22 -0
  93. package/dist/backends/gui/code-tabs.d.ts.map +1 -0
  94. package/dist/backends/gui/code-tabs.js +19 -0
  95. package/dist/backends/gui/code-tabs.js.map +1 -0
  96. package/dist/backends/gui/color-picker.cjs +141 -0
  97. package/dist/backends/gui/color-picker.d.ts +25 -0
  98. package/dist/backends/gui/color-picker.d.ts.map +1 -0
  99. package/dist/backends/gui/color-picker.js +139 -0
  100. package/dist/backends/gui/color-picker.js.map +1 -0
  101. package/dist/backends/gui/combobox.cjs +42 -0
  102. package/dist/backends/gui/combobox.d.ts +39 -0
  103. package/dist/backends/gui/combobox.d.ts.map +1 -0
  104. package/dist/backends/gui/combobox.js +40 -0
  105. package/dist/backends/gui/combobox.js.map +1 -0
  106. package/dist/backends/gui/company-profile.cjs +43 -0
  107. package/dist/backends/gui/company-profile.d.ts +33 -0
  108. package/dist/backends/gui/company-profile.d.ts.map +1 -0
  109. package/dist/backends/gui/company-profile.js +41 -0
  110. package/dist/backends/gui/company-profile.js.map +1 -0
  111. package/dist/backends/gui/comparison.cjs +39 -0
  112. package/dist/backends/gui/comparison.d.ts +15 -0
  113. package/dist/backends/gui/comparison.d.ts.map +1 -0
  114. package/dist/backends/gui/comparison.js +37 -0
  115. package/dist/backends/gui/comparison.js.map +1 -0
  116. package/dist/backends/gui/credit-card.cjs +80 -0
  117. package/dist/backends/gui/credit-card.d.ts +21 -0
  118. package/dist/backends/gui/credit-card.d.ts.map +1 -0
  119. package/dist/backends/gui/credit-card.js +78 -0
  120. package/dist/backends/gui/credit-card.js.map +1 -0
  121. package/dist/backends/gui/crypto-market.cjs +128 -0
  122. package/dist/backends/gui/crypto-market.d.ts +52 -0
  123. package/dist/backends/gui/crypto-market.d.ts.map +1 -0
  124. package/dist/backends/gui/crypto-market.js +126 -0
  125. package/dist/backends/gui/crypto-market.js.map +1 -0
  126. package/dist/backends/gui/crypto-screener.cjs +45 -0
  127. package/dist/backends/gui/crypto-screener.d.ts +38 -0
  128. package/dist/backends/gui/crypto-screener.d.ts.map +1 -0
  129. package/dist/backends/gui/crypto-screener.js +43 -0
  130. package/dist/backends/gui/crypto-screener.js.map +1 -0
  131. package/dist/backends/gui/cursor.cjs +37 -0
  132. package/dist/backends/gui/cursor.d.ts +17 -0
  133. package/dist/backends/gui/cursor.d.ts.map +1 -0
  134. package/dist/backends/gui/cursor.js +35 -0
  135. package/dist/backends/gui/cursor.js.map +1 -0
  136. package/dist/backends/gui/data-table.cjs +171 -0
  137. package/dist/backends/gui/data-table.d.ts +91 -0
  138. package/dist/backends/gui/data-table.d.ts.map +1 -0
  139. package/dist/backends/gui/data-table.js +169 -0
  140. package/dist/backends/gui/data-table.js.map +1 -0
  141. package/dist/backends/gui/date-picker.cjs +66 -0
  142. package/dist/backends/gui/date-picker.d.ts +29 -0
  143. package/dist/backends/gui/date-picker.d.ts.map +1 -0
  144. package/dist/backends/gui/date-picker.js +64 -0
  145. package/dist/backends/gui/date-picker.js.map +1 -0
  146. package/dist/backends/gui/desktop-spotlight.cjs +46 -0
  147. package/dist/backends/gui/desktop-spotlight.d.ts +34 -0
  148. package/dist/backends/gui/desktop-spotlight.d.ts.map +1 -0
  149. package/dist/backends/gui/desktop-spotlight.js +44 -0
  150. package/dist/backends/gui/desktop-spotlight.js.map +1 -0
  151. package/dist/backends/gui/desktop-window.cjs +180 -0
  152. package/dist/backends/gui/desktop-window.d.ts +51 -0
  153. package/dist/backends/gui/desktop-window.d.ts.map +1 -0
  154. package/dist/backends/gui/desktop-window.js +177 -0
  155. package/dist/backends/gui/desktop-window.js.map +1 -0
  156. package/dist/backends/gui/desktop.cjs +238 -0
  157. package/dist/backends/gui/desktop.d.ts +109 -0
  158. package/dist/backends/gui/desktop.d.ts.map +1 -0
  159. package/dist/backends/gui/desktop.js +199 -0
  160. package/dist/backends/gui/desktop.js.map +1 -0
  161. package/dist/backends/gui/dialog-stack.cjs +26 -0
  162. package/dist/backends/gui/dialog-stack.d.ts +23 -0
  163. package/dist/backends/gui/dialog-stack.d.ts.map +1 -0
  164. package/dist/backends/gui/dialog-stack.js +24 -0
  165. package/dist/backends/gui/dialog-stack.js.map +1 -0
  166. package/dist/backends/gui/dock.cjs +99 -0
  167. package/dist/backends/gui/dock.d.ts +41 -0
  168. package/dist/backends/gui/dock.d.ts.map +1 -0
  169. package/dist/backends/gui/dock.js +96 -0
  170. package/dist/backends/gui/dock.js.map +1 -0
  171. package/dist/backends/gui/dropzone.cjs +142 -0
  172. package/dist/backends/gui/dropzone.d.ts +12 -0
  173. package/dist/backends/gui/dropzone.d.ts.map +1 -0
  174. package/dist/backends/gui/dropzone.js +140 -0
  175. package/dist/backends/gui/dropzone.js.map +1 -0
  176. package/dist/backends/gui/editor.cjs +84 -0
  177. package/dist/backends/gui/editor.d.ts +23 -0
  178. package/dist/backends/gui/editor.d.ts.map +1 -0
  179. package/dist/backends/gui/editor.js +49 -0
  180. package/dist/backends/gui/editor.js.map +1 -0
  181. package/dist/backends/gui/empty.cjs +71 -0
  182. package/dist/backends/gui/empty.d.ts +43 -0
  183. package/dist/backends/gui/empty.d.ts.map +1 -0
  184. package/dist/backends/gui/empty.js +63 -0
  185. package/dist/backends/gui/empty.js.map +1 -0
  186. package/dist/backends/gui/field.cjs +132 -0
  187. package/dist/backends/gui/field.d.ts +74 -0
  188. package/dist/backends/gui/field.d.ts.map +1 -0
  189. package/dist/backends/gui/field.js +121 -0
  190. package/dist/backends/gui/field.js.map +1 -0
  191. package/dist/backends/gui/financials.cjs +45 -0
  192. package/dist/backends/gui/financials.d.ts +36 -0
  193. package/dist/backends/gui/financials.d.ts.map +1 -0
  194. package/dist/backends/gui/financials.js +43 -0
  195. package/dist/backends/gui/financials.js.map +1 -0
  196. package/dist/backends/gui/forex-market.cjs +21 -0
  197. package/dist/backends/gui/forex-market.d.ts +17 -0
  198. package/dist/backends/gui/forex-market.d.ts.map +1 -0
  199. package/dist/backends/gui/forex-market.js +19 -0
  200. package/dist/backends/gui/forex-market.js.map +1 -0
  201. package/dist/backends/gui/forex-screener.cjs +57 -0
  202. package/dist/backends/gui/forex-screener.d.ts +45 -0
  203. package/dist/backends/gui/forex-screener.d.ts.map +1 -0
  204. package/dist/backends/gui/forex-screener.js +55 -0
  205. package/dist/backends/gui/forex-screener.js.map +1 -0
  206. package/dist/backends/gui/gantt.cjs +48 -0
  207. package/dist/backends/gui/gantt.d.ts +18 -0
  208. package/dist/backends/gui/gantt.d.ts.map +1 -0
  209. package/dist/backends/gui/gantt.js +46 -0
  210. package/dist/backends/gui/gantt.js.map +1 -0
  211. package/dist/backends/gui/glimpse.cjs +88 -0
  212. package/dist/backends/gui/glimpse.d.ts +57 -0
  213. package/dist/backends/gui/glimpse.d.ts.map +1 -0
  214. package/dist/backends/gui/glimpse.js +81 -0
  215. package/dist/backends/gui/glimpse.js.map +1 -0
  216. package/dist/backends/gui/grid-pattern.cjs +119 -0
  217. package/dist/backends/gui/grid-pattern.d.ts +96 -0
  218. package/dist/backends/gui/grid-pattern.d.ts.map +1 -0
  219. package/dist/backends/gui/grid-pattern.js +84 -0
  220. package/dist/backends/gui/grid-pattern.js.map +1 -0
  221. package/dist/backends/gui/image-crop.cjs +35 -0
  222. package/dist/backends/gui/image-crop.d.ts +20 -0
  223. package/dist/backends/gui/image-crop.d.ts.map +1 -0
  224. package/dist/backends/gui/image-crop.js +33 -0
  225. package/dist/backends/gui/image-crop.js.map +1 -0
  226. package/dist/backends/gui/image-zoom.cjs +58 -0
  227. package/dist/backends/gui/image-zoom.d.ts +16 -0
  228. package/dist/backends/gui/image-zoom.d.ts.map +1 -0
  229. package/dist/backends/gui/image-zoom.js +56 -0
  230. package/dist/backends/gui/image-zoom.js.map +1 -0
  231. package/dist/backends/gui/index.cjs +266 -1
  232. package/dist/backends/gui/index.d.ts +90 -0
  233. package/dist/backends/gui/index.d.ts.map +1 -1
  234. package/dist/backends/gui/index.js +90 -0
  235. package/dist/backends/gui/index.js.map +1 -1
  236. package/dist/backends/gui/interactive-grid-pattern.cjs +61 -0
  237. package/dist/backends/gui/interactive-grid-pattern.d.ts +28 -0
  238. package/dist/backends/gui/interactive-grid-pattern.d.ts.map +1 -0
  239. package/dist/backends/gui/interactive-grid-pattern.js +26 -0
  240. package/dist/backends/gui/interactive-grid-pattern.js.map +1 -0
  241. package/dist/backends/gui/iphone-15-pro.cjs +83 -0
  242. package/dist/backends/gui/iphone-15-pro.d.ts +16 -0
  243. package/dist/backends/gui/iphone-15-pro.d.ts.map +1 -0
  244. package/dist/backends/gui/iphone-15-pro.js +81 -0
  245. package/dist/backends/gui/iphone-15-pro.js.map +1 -0
  246. package/dist/backends/gui/item.cjs +154 -0
  247. package/dist/backends/gui/item.d.ts +72 -0
  248. package/dist/backends/gui/item.d.ts.map +1 -0
  249. package/dist/backends/gui/item.js +143 -0
  250. package/dist/backends/gui/item.js.map +1 -0
  251. package/dist/backends/gui/kanban.cjs +247 -0
  252. package/dist/backends/gui/kanban.d.ts +37 -0
  253. package/dist/backends/gui/kanban.d.ts.map +1 -0
  254. package/dist/backends/gui/kanban.js +212 -0
  255. package/dist/backends/gui/kanban.js.map +1 -0
  256. package/dist/backends/gui/kbd.cjs +45 -0
  257. package/dist/backends/gui/kbd.d.ts +8 -0
  258. package/dist/backends/gui/kbd.d.ts.map +1 -0
  259. package/dist/backends/gui/kbd.js +42 -0
  260. package/dist/backends/gui/kbd.js.map +1 -0
  261. package/dist/backends/gui/limelight-nav.cjs +201 -0
  262. package/dist/backends/gui/limelight-nav.d.ts +20 -0
  263. package/dist/backends/gui/limelight-nav.d.ts.map +1 -0
  264. package/dist/backends/gui/limelight-nav.js +166 -0
  265. package/dist/backends/gui/limelight-nav.js.map +1 -0
  266. package/dist/backends/gui/list.cjs +26 -0
  267. package/dist/backends/gui/list.d.ts +15 -0
  268. package/dist/backends/gui/list.d.ts.map +1 -0
  269. package/dist/backends/gui/list.js +23 -0
  270. package/dist/backends/gui/list.js.map +1 -0
  271. package/dist/backends/gui/macos-dock.cjs +84 -0
  272. package/dist/backends/gui/macos-dock.d.ts +30 -0
  273. package/dist/backends/gui/macos-dock.d.ts.map +1 -0
  274. package/dist/backends/gui/macos-dock.js +82 -0
  275. package/dist/backends/gui/macos-dock.js.map +1 -0
  276. package/dist/backends/gui/magnetic.cjs +40 -0
  277. package/dist/backends/gui/magnetic.d.ts +12 -0
  278. package/dist/backends/gui/magnetic.d.ts.map +1 -0
  279. package/dist/backends/gui/magnetic.js +38 -0
  280. package/dist/backends/gui/magnetic.js.map +1 -0
  281. package/dist/backends/gui/marquee.cjs +110 -0
  282. package/dist/backends/gui/marquee.d.ts +44 -0
  283. package/dist/backends/gui/marquee.d.ts.map +1 -0
  284. package/dist/backends/gui/marquee.js +75 -0
  285. package/dist/backends/gui/marquee.js.map +1 -0
  286. package/dist/backends/gui/menu-dock.cjs +64 -0
  287. package/dist/backends/gui/menu-dock.d.ts +21 -0
  288. package/dist/backends/gui/menu-dock.d.ts.map +1 -0
  289. package/dist/backends/gui/menu-dock.js +62 -0
  290. package/dist/backends/gui/menu-dock.js.map +1 -0
  291. package/dist/backends/gui/menubar.cjs +227 -0
  292. package/dist/backends/gui/menubar.d.ts +106 -0
  293. package/dist/backends/gui/menubar.d.ts.map +1 -0
  294. package/dist/backends/gui/menubar.js +177 -0
  295. package/dist/backends/gui/menubar.js.map +1 -0
  296. package/dist/backends/gui/message-dock.cjs +111 -0
  297. package/dist/backends/gui/message-dock.d.ts +22 -0
  298. package/dist/backends/gui/message-dock.d.ts.map +1 -0
  299. package/dist/backends/gui/message-dock.js +110 -0
  300. package/dist/backends/gui/message-dock.js.map +1 -0
  301. package/dist/backends/gui/mini-calendar.cjs +25 -0
  302. package/dist/backends/gui/mini-calendar.d.ts +22 -0
  303. package/dist/backends/gui/mini-calendar.d.ts.map +1 -0
  304. package/dist/backends/gui/mini-calendar.js +24 -0
  305. package/dist/backends/gui/mini-calendar.js.map +1 -0
  306. package/dist/backends/gui/minimal-tiptap.cjs +56 -0
  307. package/dist/backends/gui/minimal-tiptap.d.ts +20 -0
  308. package/dist/backends/gui/minimal-tiptap.d.ts.map +1 -0
  309. package/dist/backends/gui/minimal-tiptap.js +21 -0
  310. package/dist/backends/gui/minimal-tiptap.js.map +1 -0
  311. package/dist/backends/gui/motion-highlight.cjs +83 -0
  312. package/dist/backends/gui/motion-highlight.d.ts +27 -0
  313. package/dist/backends/gui/motion-highlight.d.ts.map +1 -0
  314. package/dist/backends/gui/motion-highlight.js +48 -0
  315. package/dist/backends/gui/motion-highlight.js.map +1 -0
  316. package/dist/backends/gui/navigation-bar.cjs +47 -0
  317. package/dist/backends/gui/navigation-bar.d.ts +48 -0
  318. package/dist/backends/gui/navigation-bar.d.ts.map +1 -0
  319. package/dist/backends/gui/navigation-bar.js +45 -0
  320. package/dist/backends/gui/navigation-bar.js.map +1 -0
  321. package/dist/backends/gui/news-timeline.cjs +47 -0
  322. package/dist/backends/gui/news-timeline.d.ts +39 -0
  323. package/dist/backends/gui/news-timeline.d.ts.map +1 -0
  324. package/dist/backends/gui/news-timeline.js +45 -0
  325. package/dist/backends/gui/news-timeline.js.map +1 -0
  326. package/dist/backends/gui/order-entry.cjs +53 -0
  327. package/dist/backends/gui/order-entry.d.ts +21 -0
  328. package/dist/backends/gui/order-entry.d.ts.map +1 -0
  329. package/dist/backends/gui/order-entry.js +52 -0
  330. package/dist/backends/gui/order-entry.js.map +1 -0
  331. package/dist/backends/gui/orders-history.cjs +102 -0
  332. package/dist/backends/gui/orders-history.d.ts +24 -0
  333. package/dist/backends/gui/orders-history.d.ts.map +1 -0
  334. package/dist/backends/gui/orders-history.js +67 -0
  335. package/dist/backends/gui/orders-history.js.map +1 -0
  336. package/dist/backends/gui/pagination.cjs +51 -0
  337. package/dist/backends/gui/pagination.d.ts +52 -0
  338. package/dist/backends/gui/pagination.d.ts.map +1 -0
  339. package/dist/backends/gui/pagination.js +42 -0
  340. package/dist/backends/gui/pagination.js.map +1 -0
  341. package/dist/backends/gui/particles-background.cjs +135 -0
  342. package/dist/backends/gui/particles-background.d.ts +24 -0
  343. package/dist/backends/gui/particles-background.d.ts.map +1 -0
  344. package/dist/backends/gui/particles-background.js +133 -0
  345. package/dist/backends/gui/particles-background.js.map +1 -0
  346. package/dist/backends/gui/particles.cjs +145 -0
  347. package/dist/backends/gui/particles.d.ts +25 -0
  348. package/dist/backends/gui/particles.d.ts.map +1 -0
  349. package/dist/backends/gui/particles.js +143 -0
  350. package/dist/backends/gui/particles.js.map +1 -0
  351. package/dist/backends/gui/pill.cjs +82 -0
  352. package/dist/backends/gui/pill.d.ts +12 -0
  353. package/dist/backends/gui/pill.d.ts.map +1 -0
  354. package/dist/backends/gui/pill.js +78 -0
  355. package/dist/backends/gui/pill.js.map +1 -0
  356. package/dist/backends/gui/pin-list.cjs +82 -0
  357. package/dist/backends/gui/pin-list.d.ts +42 -0
  358. package/dist/backends/gui/pin-list.d.ts.map +1 -0
  359. package/dist/backends/gui/pin-list.js +80 -0
  360. package/dist/backends/gui/pin-list.js.map +1 -0
  361. package/dist/backends/gui/pixel-image.cjs +63 -0
  362. package/dist/backends/gui/pixel-image.d.ts +21 -0
  363. package/dist/backends/gui/pixel-image.d.ts.map +1 -0
  364. package/dist/backends/gui/pixel-image.js +61 -0
  365. package/dist/backends/gui/pixel-image.js.map +1 -0
  366. package/dist/backends/gui/positions-list.cjs +60 -0
  367. package/dist/backends/gui/positions-list.d.ts +14 -0
  368. package/dist/backends/gui/positions-list.d.ts.map +1 -0
  369. package/dist/backends/gui/positions-list.js +58 -0
  370. package/dist/backends/gui/positions-list.js.map +1 -0
  371. package/dist/backends/gui/qr-code.cjs +438 -0
  372. package/dist/backends/gui/qr-code.d.ts +42 -0
  373. package/dist/backends/gui/qr-code.d.ts.map +1 -0
  374. package/dist/backends/gui/qr-code.js +402 -0
  375. package/dist/backends/gui/qr-code.js.map +1 -0
  376. package/dist/backends/gui/relative-time.cjs +167 -0
  377. package/dist/backends/gui/relative-time.d.ts +10 -0
  378. package/dist/backends/gui/relative-time.d.ts.map +1 -0
  379. package/dist/backends/gui/relative-time.js +132 -0
  380. package/dist/backends/gui/relative-time.js.map +1 -0
  381. package/dist/backends/gui/safari.cjs +65 -0
  382. package/dist/backends/gui/safari.d.ts +23 -0
  383. package/dist/backends/gui/safari.d.ts.map +1 -0
  384. package/dist/backends/gui/safari.js +63 -0
  385. package/dist/backends/gui/safari.js.map +1 -0
  386. package/dist/backends/gui/snippet.cjs +144 -0
  387. package/dist/backends/gui/snippet.d.ts +38 -0
  388. package/dist/backends/gui/snippet.d.ts.map +1 -0
  389. package/dist/backends/gui/snippet.js +141 -0
  390. package/dist/backends/gui/snippet.js.map +1 -0
  391. package/dist/backends/gui/stars-scrolling-wheel.cjs +106 -0
  392. package/dist/backends/gui/stars-scrolling-wheel.d.ts +24 -0
  393. package/dist/backends/gui/stars-scrolling-wheel.d.ts.map +1 -0
  394. package/dist/backends/gui/stars-scrolling-wheel.js +104 -0
  395. package/dist/backends/gui/stars-scrolling-wheel.js.map +1 -0
  396. package/dist/backends/gui/status.cjs +79 -0
  397. package/dist/backends/gui/status.d.ts +15 -0
  398. package/dist/backends/gui/status.d.ts.map +1 -0
  399. package/dist/backends/gui/status.js +77 -0
  400. package/dist/backends/gui/status.js.map +1 -0
  401. package/dist/backends/gui/stock-market.cjs +21 -0
  402. package/dist/backends/gui/stock-market.d.ts +17 -0
  403. package/dist/backends/gui/stock-market.d.ts.map +1 -0
  404. package/dist/backends/gui/stock-market.js +19 -0
  405. package/dist/backends/gui/stock-market.js.map +1 -0
  406. package/dist/backends/gui/stock-screener.cjs +55 -0
  407. package/dist/backends/gui/stock-screener.d.ts +41 -0
  408. package/dist/backends/gui/stock-screener.d.ts.map +1 -0
  409. package/dist/backends/gui/stock-screener.js +53 -0
  410. package/dist/backends/gui/stock-screener.js.map +1 -0
  411. package/dist/backends/gui/symbol-info.cjs +46 -0
  412. package/dist/backends/gui/symbol-info.d.ts +36 -0
  413. package/dist/backends/gui/symbol-info.d.ts.map +1 -0
  414. package/dist/backends/gui/symbol-info.js +44 -0
  415. package/dist/backends/gui/symbol-info.js.map +1 -0
  416. package/dist/backends/gui/table.cjs +104 -0
  417. package/dist/backends/gui/table.d.ts +57 -0
  418. package/dist/backends/gui/table.d.ts.map +1 -0
  419. package/dist/backends/gui/table.js +95 -0
  420. package/dist/backends/gui/table.js.map +1 -0
  421. package/dist/backends/gui/tags.cjs +22 -0
  422. package/dist/backends/gui/tags.d.ts +22 -0
  423. package/dist/backends/gui/tags.d.ts.map +1 -0
  424. package/dist/backends/gui/tags.js +20 -0
  425. package/dist/backends/gui/tags.js.map +1 -0
  426. package/dist/backends/gui/technical-analysis.cjs +58 -0
  427. package/dist/backends/gui/technical-analysis.d.ts +41 -0
  428. package/dist/backends/gui/technical-analysis.d.ts.map +1 -0
  429. package/dist/backends/gui/technical-analysis.js +56 -0
  430. package/dist/backends/gui/technical-analysis.js.map +1 -0
  431. package/dist/backends/gui/terminal.cjs +266 -0
  432. package/dist/backends/gui/terminal.d.ts +38 -0
  433. package/dist/backends/gui/terminal.d.ts.map +1 -0
  434. package/dist/backends/gui/terminal.js +231 -0
  435. package/dist/backends/gui/terminal.js.map +1 -0
  436. package/dist/backends/gui/ticker.cjs +79 -0
  437. package/dist/backends/gui/ticker.d.ts +19 -0
  438. package/dist/backends/gui/ticker.d.ts.map +1 -0
  439. package/dist/backends/gui/ticker.js +44 -0
  440. package/dist/backends/gui/ticker.js.map +1 -0
  441. package/dist/backends/gui/timeline.cjs +154 -0
  442. package/dist/backends/gui/timeline.d.ts +42 -0
  443. package/dist/backends/gui/timeline.d.ts.map +1 -0
  444. package/dist/backends/gui/timeline.js +118 -0
  445. package/dist/backends/gui/timeline.js.map +1 -0
  446. package/dist/backends/gui/toggle.cjs +96 -0
  447. package/dist/backends/gui/toggle.d.ts +29 -0
  448. package/dist/backends/gui/toggle.d.ts.map +1 -0
  449. package/dist/backends/gui/toggle.js +95 -0
  450. package/dist/backends/gui/toggle.js.map +1 -0
  451. package/dist/backends/gui/video-player.cjs +383 -0
  452. package/dist/backends/gui/video-player.d.ts +54 -0
  453. package/dist/backends/gui/video-player.d.ts.map +1 -0
  454. package/dist/backends/gui/video-player.js +348 -0
  455. package/dist/backends/gui/video-player.js.map +1 -0
  456. package/dist/chat/Composer.cjs +10 -10
  457. package/dist/chat/Composer.d.ts +16 -17
  458. package/dist/chat/Composer.d.ts.map +1 -1
  459. package/dist/chat/Composer.js +11 -11
  460. package/dist/chat/Composer.js.map +1 -1
  461. package/dist/gallery.cjs +180 -1
  462. package/dist/gallery.d.ts.map +1 -1
  463. package/dist/gallery.html +391 -3
  464. package/dist/gallery.js +181 -2
  465. package/dist/gallery.js.map +1 -1
  466. package/dist/index.cjs +179 -1
  467. package/dist/index.d.ts +1 -0
  468. package/dist/index.d.ts.map +1 -1
  469. package/dist/index.js +3 -0
  470. package/dist/index.js.map +1 -1
  471. package/dist/index.node.cjs +179 -1
  472. package/dist/index.node.js +3 -0
  473. package/dist/styles.css +356 -0
  474. package/package.json +1 -1
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Alert — a callout for one piece of information the page wants read: an
3
+ * optional leading icon, a title and a description in a bordered box, with a
4
+ * `default` and a `destructive` variant.
5
+ *
6
+ * The icon is the first child when that child is neither `AlertTitle` nor
7
+ * `AlertDescription`. It sits absolutely at the top-left corner and the text
8
+ * column indents to clear it, so `<Alert><Icon /><AlertTitle /><AlertDescription /></Alert>`
9
+ * needs no `icon` prop and a trailing action stays in the flow. Surface, icon,
10
+ * title and description are four styled parts sharing one `variant` through a
11
+ * styled context — the surface owns the border, the other three own color.
12
+ */
13
+ import { type ComponentProps } from 'react';
14
+ export type AlertVariant = 'default' | 'destructive';
15
+ declare const AlertFrame: import("@hanzogui/web").GuiComponent<import("@hanzogui/web").TamaDefer, import("@hanzogui/web").GuiElement, import("@hanzogui/core").RNGuiViewNonStyleProps, import("@hanzogui/web").StackStyleBase, {
16
+ elevation?: number | import("@hanzogui/web").SizeTokens | undefined;
17
+ fullscreen?: boolean | undefined;
18
+ variant?: "default" | "destructive" | undefined;
19
+ }, import("@hanzogui/web").StaticConfigPublic>;
20
+ declare const AlertTitleText: import("@hanzogui/web").GuiComponent<import("@hanzogui/web").TamaDefer, import("@hanzogui/web").GuiTextElement, import("@hanzogui/web").TextNonStyleProps, import("@hanzogui/web").TextStylePropsBase, {
21
+ size?: import("@hanzogui/web").FontSizeTokens | undefined;
22
+ unstyled?: boolean | undefined;
23
+ variant?: "default" | "destructive" | undefined;
24
+ }, import("@hanzogui/web").StaticConfigPublic>;
25
+ declare const AlertDescriptionText: import("@hanzogui/web").GuiComponent<import("@hanzogui/web").TamaDefer, import("@hanzogui/web").GuiTextElement, import("@hanzogui/web").TextNonStyleProps, import("@hanzogui/web").TextStylePropsBase, {
26
+ size?: import("@hanzogui/web").FontSizeTokens | undefined;
27
+ unstyled?: boolean | undefined;
28
+ variant?: "default" | "destructive" | undefined;
29
+ }, import("@hanzogui/web").StaticConfigPublic>;
30
+ export type AlertProps = Omit<ComponentProps<typeof AlertFrame>, 'variant'> & {
31
+ variant?: AlertVariant | null;
32
+ };
33
+ export type AlertTitleProps = ComponentProps<typeof AlertTitleText>;
34
+ export type AlertDescriptionProps = ComponentProps<typeof AlertDescriptionText>;
35
+ declare function Alert({ variant, children, ...props }: AlertProps): import("react").JSX.Element;
36
+ declare const AlertTitle: (props: AlertTitleProps) => import("react").JSX.Element;
37
+ declare const AlertDescription: (props: AlertDescriptionProps) => import("react").JSX.Element;
38
+ export { Alert, AlertTitle, AlertDescription };
39
+ //# sourceMappingURL=alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/alert.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAKrE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,CAAA;AAOpD,QAAA,MAAM,UAAU;;;;8CAmBd,CAAA;AAEF,QAAA,MAAM,cAAc;;;;8CAgBlB,CAAA;AAGF,QAAA,MAAM,oBAAoB;;;;8CAaxB,CAAA;AAyBF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,SAAS,CAAC,GAAG;IAC5E,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CAC9B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAA;AACnE,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAE/E,iBAAS,KAAK,CAAC,EAAE,OAAmB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAkBrE;AAED,QAAA,MAAM,UAAU,UAAW,eAAe,gCAA2D,CAAA;AAErG,QAAA,MAAM,gBAAgB,UAAW,qBAAqB,gCAErD,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,102 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * Alert — a callout for one piece of information the page wants read: an
5
+ * optional leading icon, a title and a description in a bordered box, with a
6
+ * `default` and a `destructive` variant.
7
+ *
8
+ * The icon is the first child when that child is neither `AlertTitle` nor
9
+ * `AlertDescription`. It sits absolutely at the top-left corner and the text
10
+ * column indents to clear it, so `<Alert><Icon /><AlertTitle /><AlertDescription /></Alert>`
11
+ * needs no `icon` prop and a trailing action stays in the flow. Surface, icon,
12
+ * title and description are four styled parts sharing one `variant` through a
13
+ * styled context — the surface owns the border, the other three own color.
14
+ */
15
+ import { Children, isValidElement } from 'react';
16
+ import { SizableText, YStack, createStyledContext, styled } from '@hanzo/gui';
17
+ import { ink } from './ink.js';
18
+ import { slot } from './slot.js';
19
+ const ICON = 16;
20
+ const ICON_GUTTER = 28;
21
+ const AlertContext = /* @__PURE__ */ createStyledContext({ variant: 'default' });
22
+ const AlertFrame = styled(YStack, {
23
+ name: 'Alert',
24
+ context: AlertContext,
25
+ position: 'relative',
26
+ width: '100%',
27
+ rounded: '$4',
28
+ borderWidth: 1,
29
+ borderColor: '$borderColor',
30
+ bg: '$background',
31
+ p: '$4',
32
+ variants: {
33
+ variant: {
34
+ default: {},
35
+ destructive: { borderColor: '$red9' },
36
+ },
37
+ },
38
+ defaultVariants: { variant: 'default' },
39
+ });
40
+ const AlertTitleText = styled(SizableText, {
41
+ name: 'AlertTitle',
42
+ context: AlertContext,
43
+ render: 'h5',
44
+ size: '$3',
45
+ fontWeight: '500',
46
+ lineHeight: 16,
47
+ mb: '$1',
48
+ color: '$ink',
49
+ variants: {
50
+ variant: {
51
+ default: {},
52
+ destructive: { color: '$red9' },
53
+ },
54
+ },
55
+ });
56
+ // A div, so a paragraph or a list inside the description is valid markup.
57
+ const AlertDescriptionText = styled(SizableText, {
58
+ name: 'AlertDescription',
59
+ context: AlertContext,
60
+ render: 'div',
61
+ size: '$2',
62
+ color: '$quiet',
63
+ variants: {
64
+ variant: {
65
+ default: {},
66
+ destructive: { color: '$red9' },
67
+ },
68
+ },
69
+ });
70
+ // A Text host because a View takes no `color`, and an svg child paints in
71
+ // `currentColor`.
72
+ const IconSlot = styled(SizableText, {
73
+ name: 'AlertIcon',
74
+ context: AlertContext,
75
+ display: 'flex',
76
+ position: 'absolute',
77
+ t: '$4',
78
+ l: '$4',
79
+ width: ICON,
80
+ height: ICON,
81
+ items: 'center',
82
+ justify: 'center',
83
+ color: '$ink',
84
+ variants: {
85
+ variant: {
86
+ default: {},
87
+ destructive: { color: '$red9' },
88
+ },
89
+ },
90
+ });
91
+ function Alert({ variant = 'default', children, ...props }) {
92
+ const resolved = variant ?? 'default';
93
+ const items = Children.toArray(children);
94
+ const head = items[0];
95
+ const icon = isValidElement(head) && head.type !== AlertTitle && head.type !== AlertDescription ? head : null;
96
+ const body = icon ? items.slice(1) : items;
97
+ return (_jsxs(AlertFrame, { role: "alert", variant: resolved, ...slot('alert'), "data-variant": resolved, ...props, children: [icon ? (_jsx(IconSlot, { variant: resolved, ...slot('alert-icon'), children: icon })) : null, _jsx(YStack, { pl: icon ? ICON_GUTTER : 0, children: ink(body) })] }));
98
+ }
99
+ const AlertTitle = (props) => _jsx(AlertTitleText, { ...slot('alert-title'), ...props });
100
+ const AlertDescription = (props) => (_jsx(AlertDescriptionText, { ...slot('alert-description'), ...props }));
101
+ export { Alert, AlertTitle, AlertDescription };
102
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../src/backends/gui/alert.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Android = Android;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ /**
7
+ * Android — the Android robot, drawn as an icon.
8
+ *
9
+ * Four sizes on the icon ladder (16, 24, 32 and 48px) and one ink. `color`
10
+ * fills the body, arms and antennae and defaults to `currentColor`, so the
11
+ * mark takes the text color around it. The eyes take the opposite pole — white
12
+ * on inherited ink, black on a named color — so they stay visible against
13
+ * either fill.
14
+ *
15
+ * The frame is a gui stack rendered as a <span>: an icon is phrasing content,
16
+ * so it sits inside a button or a line of text where a <div> is not allowed
17
+ * (a parser closes a <p> at a <div>, and the hydrated tree then disagrees
18
+ * with the markup). It takes every stack prop — a hover style, a press
19
+ * handler, a class string. The frame owns the size and the drawing fills it,
20
+ * so a `width` set on the frame carries the drawing with it. The frame also
21
+ * carries the name, as `role="img"` and an `aria-label`, so the drawing inside
22
+ * is hidden from the reader and there is one label, not two; beside a label
23
+ * that already names the platform, pass `aria-hidden` and let the words carry
24
+ * it. The drawing is a plain <svg>, since gui has no vector primitive of its
25
+ * own.
26
+ */
27
+ const gui_1 = require("@hanzo/gui");
28
+ const sx_1 = require("../../sx.cjs");
29
+ /** Edge of the icon per size, px. */
30
+ const EDGE = { sm: 16, default: 24, lg: 32, xl: 48 };
31
+ const Frame = (0, gui_1.styled)(gui_1.XStack, {
32
+ name: 'Android',
33
+ render: 'span',
34
+ display: 'inline-flex',
35
+ items: 'center',
36
+ justify: 'center',
37
+ shrink: 0,
38
+ variants: {
39
+ size: {
40
+ sm: { width: EDGE.sm, height: EDGE.sm },
41
+ default: { width: EDGE.default, height: EDGE.default },
42
+ lg: { width: EDGE.lg, height: EDGE.lg },
43
+ xl: { width: EDGE.xl, height: EDGE.xl },
44
+ },
45
+ },
46
+ defaultVariants: { size: 'default' },
47
+ });
48
+ function Android({ className, size = 'default', color = 'currentColor', ...props }) {
49
+ const resolved = size ?? 'default';
50
+ const eye = color === 'currentColor' ? '#ffffff' : '#000000';
51
+ return ((0, jsx_runtime_1.jsx)(Frame, { "data-slot": "android", "data-size": resolved, role: "img", "aria-label": "Android", size: resolved, ...(0, sx_1.sx)(className), ...props, children: (0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": true, children: [(0, jsx_runtime_1.jsx)("path", { d: "M6 18c0 .55.45 1 1 1h1v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h1c.55 0 1-.45 1-1V8H6v10z", fill: color }), (0, jsx_runtime_1.jsx)("path", { d: "M15.5 6.5C15.5 5.12 14.38 4 13 4h-2c-1.38 0-2.5 1.12-2.5 2.5S9.62 9 11 9h2c1.38 0 2.5-1.12 2.5-2.5z", fill: color }), (0, jsx_runtime_1.jsx)("path", { d: "M7.5 2.5L9 4", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), (0, jsx_runtime_1.jsx)("path", { d: "M16.5 2.5L15 4", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), (0, jsx_runtime_1.jsx)("path", { d: "M4 10.5c0-.83.67-1.5 1.5-1.5S7 9.67 7 10.5v3c0 .83-.67 1.5-1.5 1.5S4 14.33 4 13.5v-3z", fill: color }), (0, jsx_runtime_1.jsx)("path", { d: "M17 10.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v3c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5v-3z", fill: color }), (0, jsx_runtime_1.jsx)("circle", { cx: "10", cy: "6.5", r: "0.5", fill: eye }), (0, jsx_runtime_1.jsx)("circle", { cx: "14", cy: "6.5", r: "0.5", fill: eye })] }) }));
52
+ }
@@ -0,0 +1,16 @@
1
+ import type { ComponentProps } from 'react';
2
+ export type AndroidSize = 'sm' | 'default' | 'lg' | 'xl';
3
+ declare const Frame: import("@hanzogui/web").GuiComponent<import("@hanzogui/web").TamaDefer, import("@hanzogui/web").GuiElement, import("@hanzogui/core").RNGuiViewNonStyleProps, import("@hanzogui/web").StackStyleBase, {
4
+ elevation?: number | import("@hanzogui/web").SizeTokens | undefined;
5
+ fullscreen?: boolean | undefined;
6
+ size?: "default" | "lg" | "sm" | "xl" | undefined;
7
+ }, import("@hanzogui/web").StaticConfigPublic>;
8
+ export type AndroidProps = Omit<ComponentProps<typeof Frame>, 'size' | 'color'> & {
9
+ size?: AndroidSize | null;
10
+ /** Fill of the body, arms and antennae. Inherits the surrounding text by default. */
11
+ color?: string;
12
+ className?: string;
13
+ };
14
+ export declare function Android({ className, size, color, ...props }: AndroidProps): import("react").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=android.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/android.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAI3C,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAKxD,QAAA,MAAM,KAAK;;;;8CAkBT,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IAChF,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IACzB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,OAAO,CAAC,EACtB,SAAS,EACT,IAAgB,EAChB,KAAsB,EACtB,GAAG,KAAK,EACT,EAAE,YAAY,+BA4Cd"}
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * Android — the Android robot, drawn as an icon.
5
+ *
6
+ * Four sizes on the icon ladder (16, 24, 32 and 48px) and one ink. `color`
7
+ * fills the body, arms and antennae and defaults to `currentColor`, so the
8
+ * mark takes the text color around it. The eyes take the opposite pole — white
9
+ * on inherited ink, black on a named color — so they stay visible against
10
+ * either fill.
11
+ *
12
+ * The frame is a gui stack rendered as a <span>: an icon is phrasing content,
13
+ * so it sits inside a button or a line of text where a <div> is not allowed
14
+ * (a parser closes a <p> at a <div>, and the hydrated tree then disagrees
15
+ * with the markup). It takes every stack prop — a hover style, a press
16
+ * handler, a class string. The frame owns the size and the drawing fills it,
17
+ * so a `width` set on the frame carries the drawing with it. The frame also
18
+ * carries the name, as `role="img"` and an `aria-label`, so the drawing inside
19
+ * is hidden from the reader and there is one label, not two; beside a label
20
+ * that already names the platform, pass `aria-hidden` and let the words carry
21
+ * it. The drawing is a plain <svg>, since gui has no vector primitive of its
22
+ * own.
23
+ */
24
+ import { XStack, styled } from '@hanzo/gui';
25
+ import { sx } from '../../sx.js';
26
+ /** Edge of the icon per size, px. */
27
+ const EDGE = { sm: 16, default: 24, lg: 32, xl: 48 };
28
+ const Frame = styled(XStack, {
29
+ name: 'Android',
30
+ render: 'span',
31
+ display: 'inline-flex',
32
+ items: 'center',
33
+ justify: 'center',
34
+ shrink: 0,
35
+ variants: {
36
+ size: {
37
+ sm: { width: EDGE.sm, height: EDGE.sm },
38
+ default: { width: EDGE.default, height: EDGE.default },
39
+ lg: { width: EDGE.lg, height: EDGE.lg },
40
+ xl: { width: EDGE.xl, height: EDGE.xl },
41
+ },
42
+ },
43
+ defaultVariants: { size: 'default' },
44
+ });
45
+ export function Android({ className, size = 'default', color = 'currentColor', ...props }) {
46
+ const resolved = size ?? 'default';
47
+ const eye = color === 'currentColor' ? '#ffffff' : '#000000';
48
+ return (_jsx(Frame, { "data-slot": "android", "data-size": resolved, role: "img", "aria-label": "Android", size: resolved, ...sx(className), ...props, children: _jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": true, children: [_jsx("path", { d: "M6 18c0 .55.45 1 1 1h1v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h1c.55 0 1-.45 1-1V8H6v10z", fill: color }), _jsx("path", { d: "M15.5 6.5C15.5 5.12 14.38 4 13 4h-2c-1.38 0-2.5 1.12-2.5 2.5S9.62 9 11 9h2c1.38 0 2.5-1.12 2.5-2.5z", fill: color }), _jsx("path", { d: "M7.5 2.5L9 4", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("path", { d: "M16.5 2.5L15 4", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("path", { d: "M4 10.5c0-.83.67-1.5 1.5-1.5S7 9.67 7 10.5v3c0 .83-.67 1.5-1.5 1.5S4 14.33 4 13.5v-3z", fill: color }), _jsx("path", { d: "M17 10.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v3c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5v-3z", fill: color }), _jsx("circle", { cx: "10", cy: "6.5", r: "0.5", fill: eye }), _jsx("circle", { cx: "14", cy: "6.5", r: "0.5", fill: eye })] }) }));
49
+ }
50
+ //# sourceMappingURL=android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../../../src/backends/gui/android.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAG3C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAI7B,qCAAqC;AACrC,MAAM,IAAI,GAAgC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AAEjF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAC3B,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,CAAC;IAET,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;YACvC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;YACtD,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;YACvC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;SACxC;KACO;IAEV,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CACrC,CAAC,CAAA;AASF,MAAM,UAAU,OAAO,CAAC,EACtB,SAAS,EACT,IAAI,GAAG,SAAS,EAChB,KAAK,GAAG,cAAc,EACtB,GAAG,KAAK,EACK;IACb,MAAM,QAAQ,GAAG,IAAI,IAAI,SAAS,CAAA;IAClC,MAAM,GAAG,GAAG,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,OAAO,CACL,KAAC,KAAK,iBACM,SAAS,eACR,QAAQ,EACnB,IAAI,EAAC,KAAK,gBACC,SAAS,EACpB,IAAI,EAAE,QAAQ,KACV,EAAE,CAAC,SAAS,CAAC,KACZ,KAAsC,YAE3C,eACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,kCAGlC,eACE,CAAC,EAAC,4IAA4I,EAC9I,IAAI,EAAE,KAAK,GACX,EACF,eACE,CAAC,EAAC,qGAAqG,EACvG,IAAI,EAAE,KAAK,GACX,EACF,eAAM,CAAC,EAAC,cAAc,EAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,GAAG,EAChF,eAAM,CAAC,EAAC,gBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,GAAG,EAClF,eACE,CAAC,EAAC,uFAAuF,EACzF,IAAI,EAAE,KAAK,GACX,EACF,eACE,CAAC,EAAC,2FAA2F,EAC7F,IAAI,EAAE,KAAK,GACX,EACF,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAE,GAAG,GAAI,EAC9C,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAE,GAAG,GAAI,IAC1C,GACA,CACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,97 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.AnimatedBeam = void 0;
38
+ const jsx_runtime_1 = require("react/jsx-runtime");
39
+ const React = __importStar(require("react"));
40
+ const slot_1 = require("./slot.cjs");
41
+ const KEYFRAMES = `
42
+ @keyframes beam-draw { from { stroke-dashoffset: 1 } to { stroke-dashoffset: 0 } }
43
+ @media (prefers-reduced-motion: reduce) { [data-slot="animated-beam-flow"] { animation: none !important } }
44
+ `;
45
+ /** The DOM node behind an anchor, if there is one; a native view has none. */
46
+ const node = (ref) => typeof HTMLElement !== 'undefined' && ref?.current instanceof HTMLElement ? ref.current : null;
47
+ /** The center of `el` in the coordinate space of the box `origin`. */
48
+ const center = (el, origin) => {
49
+ const r = el.getBoundingClientRect();
50
+ return [r.left - origin.left + r.width / 2, r.top - origin.top + r.height / 2];
51
+ };
52
+ exports.AnimatedBeam = React.forwardRef(({ style, duration = 3, delay = 0, pathColor = 'gray', pathWidth = 2, gradientStartColor = '#18CCFC', gradientStopColor = '#6344F5', containerRef, fromRef, toRef, ...props }, ref) => {
53
+ const gradientId = React.useId();
54
+ const [ends, setEnds] = React.useState(null);
55
+ React.useEffect(() => {
56
+ const container = node(containerRef);
57
+ const from = node(fromRef);
58
+ const to = node(toRef);
59
+ if (!container || !from || !to)
60
+ return;
61
+ const draw = () => {
62
+ const origin = container.getBoundingClientRect();
63
+ const next = [...center(from, origin), ...center(to, origin)];
64
+ setEnds((prev) => (prev && next.every((v, i) => v === prev[i]) ? prev : next));
65
+ };
66
+ draw();
67
+ if (typeof ResizeObserver === 'undefined') {
68
+ window.addEventListener('resize', draw);
69
+ return () => window.removeEventListener('resize', draw);
70
+ }
71
+ const observer = new ResizeObserver(draw);
72
+ for (const el of [container, from, to])
73
+ observer.observe(el);
74
+ return () => observer.disconnect();
75
+ }, [containerRef, fromRef, toRef]);
76
+ const [x1, y1, x2, y2] = ends ?? [0, 0, 0, 0];
77
+ const d = ends ? `M ${x1} ${y1} Q ${(x1 + x2) / 2} ${Math.min(y1, y2) - 50} ${x2} ${y2}` : '';
78
+ // The style is a sibling, not a child: React hoists a keyed `<style>` only
79
+ // from an HTML host, never from inside an svg.
80
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("style", { href: "animated-beam", precedence: "default", children: KEYFRAMES }), (0, jsx_runtime_1.jsxs)("svg", { ref: ref, ...(0, slot_1.slot)('animated-beam'), style: {
81
+ position: 'absolute',
82
+ inset: 0,
83
+ width: '100%',
84
+ height: '100%',
85
+ overflow: 'visible',
86
+ pointerEvents: 'none',
87
+ ...style,
88
+ }, ...props, children: [(0, jsx_runtime_1.jsx)("path", { d: d, stroke: pathColor, strokeWidth: pathWidth, fill: "none", strokeOpacity: 0.2 }), (0, jsx_runtime_1.jsx)("path", { ...(0, slot_1.slot)('animated-beam-flow'), d: d, pathLength: 1, strokeDasharray: 1, stroke: `url(#${gradientId})`, strokeWidth: pathWidth, fill: "none", style: {
89
+ animationName: 'beam-draw',
90
+ animationDuration: `${duration}s`,
91
+ animationDelay: `${delay}s`,
92
+ animationTimingFunction: 'ease-in-out',
93
+ animationIterationCount: 'infinite',
94
+ animationFillMode: 'backwards',
95
+ } }), (0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: gradientId, gradientUnits: "userSpaceOnUse", x1: x1, y1: y1, x2: x2, y2: y2, children: [(0, jsx_runtime_1.jsx)("stop", { offset: "0%", stopColor: gradientStartColor }), (0, jsx_runtime_1.jsx)("stop", { offset: "100%", stopColor: gradientStopColor })] }) })] })] }));
96
+ });
97
+ exports.AnimatedBeam.displayName = 'AnimatedBeam';
@@ -0,0 +1,57 @@
1
+ /**
2
+ * AnimatedBeam — a line of light drawn between two elements inside a shared
3
+ * container, for showing a connection or a flow between them.
4
+ *
5
+ * The path is a quadratic curve from `fromRef` to `toRef`, its control point
6
+ * bowed 50px above the higher of the two ends. It is measured from each
7
+ * element's `getBoundingClientRect()` relative to `containerRef` and measured
8
+ * again whenever any of the three resizes; an anchor may be a gui stack or a
9
+ * plain element. A dim stroke marks the whole path at all times, and over it a
10
+ * gradient stroke draws itself from start to end on a loop. The gradient runs
11
+ * in user space from the `from` center to the `to` center, so it keeps its
12
+ * direction whichever way the beam points and still paints when the curve is
13
+ * vertical — a bounding-box gradient is dropped once the box has no width.
14
+ * That path declares `pathLength={1}`, so its dash is one unit long whatever
15
+ * the curve measures, and one keyframe slides the dash offset from 1 to 0 —
16
+ * the stroke is hidden through `delay`, then draws. Under
17
+ * `prefers-reduced-motion` it is shown whole and still. The keyframe rides
18
+ * along as a hoisted `<style>` keyed by `href`, so any number of beams on a
19
+ * page emit it once.
20
+ *
21
+ * The drawing is a plain <svg>, since gui has no vector primitive of its own.
22
+ * It sits absolutely over the container, sized to it — an svg is a replaced
23
+ * element, and `inset: 0` alone leaves it at its intrinsic 300×150 — with
24
+ * overflow visible so the bow above the higher end still shows, and it takes
25
+ * no pointer events.
26
+ */
27
+ import type { GuiElement } from '@hanzo/gui';
28
+ import * as React from 'react';
29
+ type Anchor = React.RefObject<HTMLElement | GuiElement | null>;
30
+ export type AnimatedBeamProps = React.SVGAttributes<SVGSVGElement> & {
31
+ /** Seconds for one pass of the flowing stroke. */
32
+ duration?: number;
33
+ /** Seconds before its first pass. */
34
+ delay?: number;
35
+ pathColor?: string;
36
+ pathWidth?: number;
37
+ gradientStartColor?: string;
38
+ gradientStopColor?: string;
39
+ containerRef?: Anchor;
40
+ fromRef?: Anchor;
41
+ toRef?: Anchor;
42
+ };
43
+ export declare const AnimatedBeam: React.ForwardRefExoticComponent<React.SVGAttributes<SVGSVGElement> & {
44
+ /** Seconds for one pass of the flowing stroke. */
45
+ duration?: number;
46
+ /** Seconds before its first pass. */
47
+ delay?: number;
48
+ pathColor?: string;
49
+ pathWidth?: number;
50
+ gradientStartColor?: string;
51
+ gradientStopColor?: string;
52
+ containerRef?: Anchor;
53
+ fromRef?: Anchor;
54
+ toRef?: Anchor;
55
+ } & React.RefAttributes<SVGSVGElement>>;
56
+ export {};
57
+ //# sourceMappingURL=animated-beam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-beam.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/animated-beam.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,CAAA;AAE9D,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG;IACnE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAiBD,eAAO,MAAM,YAAY;IA5BvB,kDAAkD;eACvC,MAAM;IACjB,qCAAqC;YAC7B,MAAM;gBACF,MAAM;gBACN,MAAM;yBACG,MAAM;wBACP,MAAM;mBACX,MAAM;cACX,MAAM;YACR,MAAM;uCAgHf,CAAA"}
@@ -0,0 +1,62 @@
1
+ 'use client';
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { slot } from './slot.js';
5
+ const KEYFRAMES = `
6
+ @keyframes beam-draw { from { stroke-dashoffset: 1 } to { stroke-dashoffset: 0 } }
7
+ @media (prefers-reduced-motion: reduce) { [data-slot="animated-beam-flow"] { animation: none !important } }
8
+ `;
9
+ /** The DOM node behind an anchor, if there is one; a native view has none. */
10
+ const node = (ref) => typeof HTMLElement !== 'undefined' && ref?.current instanceof HTMLElement ? ref.current : null;
11
+ /** The center of `el` in the coordinate space of the box `origin`. */
12
+ const center = (el, origin) => {
13
+ const r = el.getBoundingClientRect();
14
+ return [r.left - origin.left + r.width / 2, r.top - origin.top + r.height / 2];
15
+ };
16
+ export const AnimatedBeam = React.forwardRef(({ style, duration = 3, delay = 0, pathColor = 'gray', pathWidth = 2, gradientStartColor = '#18CCFC', gradientStopColor = '#6344F5', containerRef, fromRef, toRef, ...props }, ref) => {
17
+ const gradientId = React.useId();
18
+ const [ends, setEnds] = React.useState(null);
19
+ React.useEffect(() => {
20
+ const container = node(containerRef);
21
+ const from = node(fromRef);
22
+ const to = node(toRef);
23
+ if (!container || !from || !to)
24
+ return;
25
+ const draw = () => {
26
+ const origin = container.getBoundingClientRect();
27
+ const next = [...center(from, origin), ...center(to, origin)];
28
+ setEnds((prev) => (prev && next.every((v, i) => v === prev[i]) ? prev : next));
29
+ };
30
+ draw();
31
+ if (typeof ResizeObserver === 'undefined') {
32
+ window.addEventListener('resize', draw);
33
+ return () => window.removeEventListener('resize', draw);
34
+ }
35
+ const observer = new ResizeObserver(draw);
36
+ for (const el of [container, from, to])
37
+ observer.observe(el);
38
+ return () => observer.disconnect();
39
+ }, [containerRef, fromRef, toRef]);
40
+ const [x1, y1, x2, y2] = ends ?? [0, 0, 0, 0];
41
+ const d = ends ? `M ${x1} ${y1} Q ${(x1 + x2) / 2} ${Math.min(y1, y2) - 50} ${x2} ${y2}` : '';
42
+ // The style is a sibling, not a child: React hoists a keyed `<style>` only
43
+ // from an HTML host, never from inside an svg.
44
+ return (_jsxs(_Fragment, { children: [_jsx("style", { href: "animated-beam", precedence: "default", children: KEYFRAMES }), _jsxs("svg", { ref: ref, ...slot('animated-beam'), style: {
45
+ position: 'absolute',
46
+ inset: 0,
47
+ width: '100%',
48
+ height: '100%',
49
+ overflow: 'visible',
50
+ pointerEvents: 'none',
51
+ ...style,
52
+ }, ...props, children: [_jsx("path", { d: d, stroke: pathColor, strokeWidth: pathWidth, fill: "none", strokeOpacity: 0.2 }), _jsx("path", { ...slot('animated-beam-flow'), d: d, pathLength: 1, strokeDasharray: 1, stroke: `url(#${gradientId})`, strokeWidth: pathWidth, fill: "none", style: {
53
+ animationName: 'beam-draw',
54
+ animationDuration: `${duration}s`,
55
+ animationDelay: `${delay}s`,
56
+ animationTimingFunction: 'ease-in-out',
57
+ animationIterationCount: 'infinite',
58
+ animationFillMode: 'backwards',
59
+ } }), _jsx("defs", { children: _jsxs("linearGradient", { id: gradientId, gradientUnits: "userSpaceOnUse", x1: x1, y1: y1, x2: x2, y2: y2, children: [_jsx("stop", { offset: "0%", stopColor: gradientStartColor }), _jsx("stop", { offset: "100%", stopColor: gradientStopColor })] }) })] })] }));
60
+ });
61
+ AnimatedBeam.displayName = 'AnimatedBeam';
62
+ //# sourceMappingURL=animated-beam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-beam.js","sourceRoot":"","sources":["../../../src/backends/gui/animated-beam.tsx"],"names":[],"mappings":"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"}