@kitn.ai/ui 0.25.2 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (603) hide show
  1. package/README.md +17 -6
  2. package/bin/mcp.js +16 -3
  3. package/bin/route.js +23 -0
  4. package/bin/route.test.js +58 -0
  5. package/dist/{elements/chunks/Icon-b5A8hlHs.js → Icon-BnFKqqtY.js} +1 -1
  6. package/dist/action-icons-CBskfBMz.js +1 -0
  7. package/dist/arrow-down-Br0qtpsz.js +1 -0
  8. package/dist/arrow-left-Dj7xgE12.js +1 -0
  9. package/dist/artifact-CvXEm1lS.js +1 -0
  10. package/dist/assets/dev-5XzXYR21.js +91 -0
  11. package/dist/attachments-C43ZegEq.js +1 -0
  12. package/dist/audio-visualizer-B-79y1Tj.js +1 -0
  13. package/dist/badge-BpUbq8c0.js +1 -0
  14. package/dist/bash-InADTalH.js +1 -6
  15. package/dist/bell-sn17Ip9v.js +1 -0
  16. package/dist/{elements/chunks/button-B9okqG73.js → button-BH6rN0U-.js} +1 -1
  17. package/dist/card-renderer-Cb1gQmth.js +1 -0
  18. package/dist/card-routing-DifQgS7n.js +1 -0
  19. package/dist/check-DPeeMUYx.js +1 -0
  20. package/dist/checkbox-Dc9Yov_B.js +1 -0
  21. package/dist/checkbox-group-B1kDLLYk.js +1 -0
  22. package/dist/chevron-down-CHSWk7ZT.js +1 -0
  23. package/dist/chevron-right-B7l_fMgx.js +1 -0
  24. package/dist/choice-card-BT3c1S8g.js +1 -0
  25. package/dist/circle-Bb0yOpqM.js +1 -0
  26. package/dist/circle-check-BGZpCiz7.js +1 -0
  27. package/dist/circle-x-wobWkoSx.js +1 -0
  28. package/dist/{elements/chunks/cn-CU7UAWzk.js → cn-DN5AWfiS.js} +1 -1
  29. package/dist/code-block-CUQ5mtv0.js +1 -0
  30. package/dist/collapsible-CPJbf6FM.js +1 -0
  31. package/dist/components/attachment-types.d.ts +53 -1
  32. package/dist/components/attachments.d.ts +31 -0
  33. package/dist/components/audio-visualizer/fit-scale.d.ts +50 -0
  34. package/dist/components/audio-visualizer/index.d.ts +15 -1
  35. package/dist/components/audio-visualizer/variant-bar.d.ts +24 -1
  36. package/dist/components/card-renderer.d.ts +13 -0
  37. package/dist/components/card.d.ts +4 -0
  38. package/dist/components/chat-thread.d.ts +49 -42
  39. package/dist/components/code-block.d.ts +22 -0
  40. package/dist/components/conversation-item.d.ts +66 -1
  41. package/dist/components/conversation-list.d.ts +77 -0
  42. package/dist/components/form-widgets.d.ts +67 -2
  43. package/dist/components/form.d.ts +89 -0
  44. package/dist/components/message.d.ts +29 -0
  45. package/dist/components/reasoning.d.ts +6 -0
  46. package/dist/components/scroll-button.d.ts +11 -0
  47. package/dist/components/thread.d.ts +5 -0
  48. package/dist/components/toast.d.ts +2 -1
  49. package/dist/components/tool-types.d.ts +9 -0
  50. package/dist/components/voice-input.d.ts +8 -0
  51. package/dist/components/voice-output.d.ts +12 -1
  52. package/dist/components/workspace-shell.d.ts +87 -0
  53. package/dist/composer-CjngLzal.js +106 -0
  54. package/dist/confirm-card-DCx_A4bU.js +1 -0
  55. package/dist/construct-cli.es.js +1169 -0
  56. package/dist/context-BY8V-Nlp.js +1 -0
  57. package/dist/controllable-D43BKmtX.js +1 -0
  58. package/dist/conversation-list-D4lLU_yS.js +1 -0
  59. package/dist/copy-B6DO4PqB.js +1 -0
  60. package/dist/core-AYMC6_lb.js +12 -5874
  61. package/dist/{create-tween-CUzOlaMS.js → create-tween-BPzaefTp.js} +1 -1
  62. package/dist/{create-tween-B5Y4Im8G.js → create-tween-CnMHviKB.js} +1 -1
  63. package/dist/{create-tween-4z1XYLkR.js → create-tween-D1aiGZZh.js} +1 -1
  64. package/dist/{elements/chunks/create-tween-CUrM6D_o.js → create-tween-DUSQUKpr.js} +2 -2
  65. package/dist/css-M7EaDHN_.js +1 -6
  66. package/dist/custom-elements.json +3468 -1927
  67. package/dist/default-input-CucQEOqH.js +1 -0
  68. package/dist/define-CGGX-7Vg.js +1 -0
  69. package/dist/define.d.ts +4 -0
  70. package/dist/define.js +510 -0
  71. package/dist/define.server.d.ts +5 -0
  72. package/dist/define.server.js +506 -0
  73. package/dist/diagnostics/hook.d.ts +81 -0
  74. package/dist/diagnostics/index.d.ts +7 -0
  75. package/dist/diagnostics/report-request.d.ts +61 -0
  76. package/dist/diagnostics.d.ts +5 -0
  77. package/dist/diagnostics.js +209 -0
  78. package/dist/disclosure-CbLtajUQ.js +1 -0
  79. package/dist/dropdown-BwhViJFd.js +1 -0
  80. package/dist/elements/agent-card.js +1 -1
  81. package/dist/elements/artifact.js +1 -1
  82. package/dist/elements/attachments.js +1 -1
  83. package/dist/elements/audio-visualizer.js +1 -1
  84. package/dist/elements/autoloader.js +1 -1
  85. package/dist/elements/avatar.js +1 -1
  86. package/dist/elements/badge.js +1 -1
  87. package/dist/elements/button.js +1 -1
  88. package/dist/elements/card.js +1 -1
  89. package/dist/elements/cards.js +1 -1
  90. package/dist/elements/chain-of-thought.js +1 -1
  91. package/dist/elements/chat-scope-picker.js +1 -1
  92. package/dist/elements/chat-workspace.js +1 -1
  93. package/dist/elements/chat.js +1 -1
  94. package/dist/elements/checkbox-group.d.ts +1 -0
  95. package/dist/elements/checkbox-group.js +1 -0
  96. package/dist/elements/checkbox.d.ts +1 -0
  97. package/dist/elements/checkbox.js +1 -0
  98. package/dist/elements/checkpoint.js +1 -1
  99. package/dist/elements/choice.js +1 -1
  100. package/dist/elements/coachmark.js +1 -1
  101. package/dist/elements/code-block.js +1 -1
  102. package/dist/elements/command.js +1 -1
  103. package/dist/elements/compare.js +1 -1
  104. package/dist/elements/composer.js +1 -1
  105. package/dist/elements/confirm-card.js +1 -1
  106. package/dist/elements/context-meter.js +1 -1
  107. package/dist/elements/conversation-item.d.ts +1 -0
  108. package/dist/elements/conversation-item.js +1 -0
  109. package/dist/elements/conversation-list.js +1 -1
  110. package/dist/elements/default-input.d.ts +3 -3
  111. package/dist/elements/define-entry.d.ts +12 -0
  112. package/dist/elements/define.d.ts +27 -0
  113. package/dist/elements/diagnostic-events.d.ts +74 -0
  114. package/dist/elements/dialog.js +1 -1
  115. package/dist/elements/dock.d.ts +1 -0
  116. package/dist/elements/dock.js +243 -0
  117. package/dist/elements/dropdown.d.ts +1 -0
  118. package/dist/elements/dropdown.js +1 -0
  119. package/dist/elements/editable-label.js +1 -1
  120. package/dist/elements/element-data-types.d.ts +37 -0
  121. package/dist/elements/element-diagnostics.d.ts +81 -0
  122. package/dist/elements/embed.js +1 -1
  123. package/dist/elements/empty.js +1 -1
  124. package/dist/elements/feedback-bar.js +1 -1
  125. package/dist/elements/file-tree.js +1 -1
  126. package/dist/elements/file-upload.js +1 -1
  127. package/dist/elements/form.js +1 -1
  128. package/dist/elements/hover-card.js +1 -1
  129. package/dist/elements/icon.js +1 -1
  130. package/dist/elements/image.js +1 -1
  131. package/dist/elements/input.js +1 -1
  132. package/dist/elements/kbd.js +1 -1
  133. package/dist/elements/link-preview.js +1 -1
  134. package/dist/elements/loader.js +1 -1
  135. package/dist/elements/markdown.js +1 -1
  136. package/dist/elements/menu.js +1 -1
  137. package/dist/elements/message-skills.js +1 -1
  138. package/dist/elements/message.js +1 -1
  139. package/dist/elements/model-switcher.js +1 -1
  140. package/dist/elements/nav.js +1 -1
  141. package/dist/elements/notice.js +1 -1
  142. package/dist/elements/pane-grid.d.ts +1 -0
  143. package/dist/elements/pane-grid.js +1 -0
  144. package/dist/elements/pane-group.js +1 -1
  145. package/dist/elements/pane.js +1 -1
  146. package/dist/elements/popover.js +1 -1
  147. package/dist/elements/progress-bar.js +1 -1
  148. package/dist/elements/prompt-dock.js +1 -1
  149. package/dist/elements/prompt-input.js +1 -1
  150. package/dist/elements/prompt-suggestions.js +1 -1
  151. package/dist/elements/radio-group.d.ts +1 -0
  152. package/dist/elements/radio-group.js +1 -0
  153. package/dist/elements/reasoning.js +1 -1
  154. package/dist/elements/register.d.ts +2 -0
  155. package/dist/elements/remote.js +1 -1
  156. package/dist/elements/resizable.js +1 -1
  157. package/dist/elements/response-stream.js +3 -3
  158. package/dist/elements/screen.js +1 -1
  159. package/dist/elements/scroll-area.js +1 -1
  160. package/dist/elements/scroll-button.js +1 -1
  161. package/dist/elements/search.js +1 -1
  162. package/dist/elements/segmented.js +1 -1
  163. package/dist/elements/select.d.ts +1 -0
  164. package/dist/elements/select.js +1 -0
  165. package/dist/elements/separator.js +1 -1
  166. package/dist/elements/setting-item.js +1 -1
  167. package/dist/elements/settings-group.js +1 -1
  168. package/dist/elements/skeleton.js +1 -1
  169. package/dist/elements/slider.d.ts +1 -0
  170. package/dist/elements/slider.js +1 -0
  171. package/dist/elements/slots.d.ts +36 -4
  172. package/dist/elements/source.js +1 -1
  173. package/dist/elements/status.js +1 -1
  174. package/dist/elements/switch.js +1 -1
  175. package/dist/elements/tabs.js +1 -1
  176. package/dist/elements/tasks.js +1 -1
  177. package/dist/elements/text-shimmer.js +1 -1
  178. package/dist/elements/thinking-bar.js +1 -1
  179. package/dist/elements/thread.js +1 -1
  180. package/dist/elements/toast.js +1 -1
  181. package/dist/elements/tool.js +1 -1
  182. package/dist/elements/tooltip.js +1 -1
  183. package/dist/elements/voice-input.js +1 -1
  184. package/dist/elements/voice-output.js +1 -1
  185. package/dist/elements.d.ts +589 -167
  186. package/dist/{elements/chunks/ellipsis-CVxqfsDZ.js → ellipsis-DFr4Vqr3.js} +1 -1
  187. package/dist/embed-5s_vU4J0.js +1 -0
  188. package/dist/engine-javascript-vq0WuIJl.js +14 -2516
  189. package/dist/{elements/chunks/external-link-DG2sRdQL.js → external-link-u9d85ORQ.js} +1 -1
  190. package/dist/file-text-CX7_x42o.js +1 -0
  191. package/dist/{elements/chunks/file-tree-yGWNK0Js.js → file-tree-D3kBjXI5.js} +1 -1
  192. package/dist/folder-V-YdIL8f.js +1 -0
  193. package/dist/form-BRNUMCN2.js +1 -0
  194. package/dist/github-dark-dimmed-DUshB20C.js +1 -4
  195. package/dist/github-light-JYsPkUQd.js +1 -4
  196. package/dist/hover-card-DaeiYrTA.js +1 -0
  197. package/dist/html-CPZ3oZQ7.js +1 -10
  198. package/dist/icon-BpixdZNq.js +1 -0
  199. package/dist/{elements/chunks/index-BCRhi84a.js → index-xu_pdcPi.js} +1 -1
  200. package/dist/index.d.ts +3 -1
  201. package/dist/index.js +8473 -6470
  202. package/dist/index.server.js +6495 -4958
  203. package/dist/info-8mFsIjS3.js +1 -0
  204. package/dist/input-d1Yuu-hz.js +1 -0
  205. package/dist/javascript-C25yR2R2.js +1 -6
  206. package/dist/json-DxJze_jm.js +1 -6
  207. package/dist/kai-provider.es.js +40 -40
  208. package/dist/kai.es.js +1 -1
  209. package/dist/kbd-961zMPFB.js +1 -0
  210. package/dist/link-DlZZBGaR.js +1 -0
  211. package/dist/{elements/chunks/link-preview-Cf5KOP-i.js → link-preview-DIIbV2Sd.js} +1 -1
  212. package/dist/loader-YQszHFaW.js +1 -0
  213. package/dist/{elements/chunks/markdown-DbozyYqa.js → markdown-CVk1MPsj.js} +1 -1
  214. package/dist/mcp.es.js +3873 -544
  215. package/dist/message-CwKVEdZg.js +1 -0
  216. package/dist/message-DS8lzHc1.js +1 -0
  217. package/dist/message-circle-Xf8Q-vZp.js +1 -0
  218. package/dist/message-square-Cxnwgkns.js +1 -0
  219. package/dist/{elements/chunks/minimize-2-SegJ_oku.js → minimize-2-UEZmP2QT.js} +1 -1
  220. package/dist/{elements/chunks/model-switcher-D7JrFFHp.js → model-switcher-Kk1jEQ5t.js} +1 -1
  221. package/dist/{elements/chunks/overlay-CV7z2YuX.js → overlay-C1od6LOz.js} +1 -1
  222. package/dist/panel-right-ryET0yyn.js +1 -0
  223. package/dist/paperclip-BDNoZFJP.js +1 -0
  224. package/dist/play-OFIvYXUQ.js +1 -0
  225. package/dist/primitives/card-data-types.d.ts +49 -0
  226. package/dist/primitives/card-routing.d.ts +1 -33
  227. package/dist/primitives/card-validate.d.ts +2 -2
  228. package/dist/primitives/chat-config.d.ts +29 -2
  229. package/dist/primitives/field-mask.d.ts +96 -0
  230. package/dist/primitives/field-semantics.d.ts +36 -0
  231. package/dist/primitives/input-mask.d.ts +46 -0
  232. package/dist/primitives/url-scheme-policy.d.ts +34 -0
  233. package/dist/primitives/use-resize-observer.d.ts +23 -0
  234. package/dist/primitives/use-speech-recognition.d.ts +8 -0
  235. package/dist/primitives/use-text-stream.d.ts +5 -0
  236. package/dist/progress-bar-BvYX0aoy.js +1 -0
  237. package/dist/prompt-suggestion-BRFu2lcu.js +1 -0
  238. package/dist/radio-DcL23cNJ.js +1 -0
  239. package/dist/react/index.d.ts +306 -283
  240. package/dist/react.js +309 -247
  241. package/dist/reasoning-Cackq4Rh.js +1 -0
  242. package/dist/register-impl-C7rENvPK.js +424 -0
  243. package/dist/{elements/chunks/resizable-Dpzjlvp4.js → resizable-Cp9HUYih.js} +1 -1
  244. package/dist/rotate-ccw-0DLRDHH5.js +1 -0
  245. package/dist/rotate-cw-DOB9IGcU.js +1 -0
  246. package/dist/schemas/form.schema.json +21 -1
  247. package/dist/schemas/index.d.ts +1 -1
  248. package/dist/schemas/tool-defs.d.ts +45 -0
  249. package/dist/schemas.js +398 -305
  250. package/dist/scroll-area-emVmWP4K.js +1 -0
  251. package/dist/scroll-button-CeP_gv1x.js +1 -0
  252. package/dist/select-CWmu00tS.js +1 -0
  253. package/dist/{elements/chunks/separator-DH2r_ZSZ.js → separator-CE6vly6z.js} +1 -1
  254. package/dist/{elements/chunks/settings-BFMOd6yB.js → settings-CE-78SvZ.js} +1 -1
  255. package/dist/{elements/chunks/settings-group-B3VZKIcz.js → settings-group-ZFWNxFQR.js} +1 -1
  256. package/dist/{elements/chunks/skeleton-N8BuWYmf.js → skeleton-BebdP4mf.js} +1 -1
  257. package/dist/slider-BAKRYUlz.js +1 -0
  258. package/dist/slots-DaNjX0rc.js +1 -0
  259. package/dist/{solid-BMuDmFo_.js → solid-BE5ui6sy.js} +10672 -8116
  260. package/dist/{solid-CGYNdLRR.js → solid-DFhsce3O.js} +8137 -6056
  261. package/dist/solid.d.ts +15 -0
  262. package/dist/solid.js +248 -235
  263. package/dist/solid.server.js +248 -235
  264. package/dist/source-B0FlguSx.js +1 -0
  265. package/dist/star-CBMZvLuN.js +1 -0
  266. package/dist/state/index.d.ts +5 -1
  267. package/dist/state/mock.d.ts +32 -2
  268. package/dist/state/persistence.d.ts +51 -0
  269. package/dist/state/stream.d.ts +50 -0
  270. package/dist/state/threads.d.ts +71 -0
  271. package/dist/state.js +297 -172
  272. package/dist/store-7eoadydQ.js +1 -0
  273. package/dist/svelte--5p79yCD.js +1 -15
  274. package/dist/switch-CViARZCy.js +1 -0
  275. package/dist/tasks-card-MjCcOhR_.js +1 -0
  276. package/dist/text-shimmer-DKlwRF2G.js +1 -0
  277. package/dist/textarea-3ay2Me2-.js +1 -0
  278. package/dist/theme.tokens.css +82 -13
  279. package/dist/{elements/chunks/thumbs-up-DQe0hvkZ.js → thumbs-up-DQcu2HMO.js} +1 -1
  280. package/dist/toast-store-C6yKOhbk.js +1 -0
  281. package/dist/{elements/chunks/tool-C1YtxwPu.js → tool-BCYNlfKy.js} +1 -1
  282. package/dist/{elements/chunks/tooltip-BqwnFWhn.js → tooltip-05zI4hjs.js} +1 -1
  283. package/dist/trash-2-BR1RxGky.js +1 -0
  284. package/dist/{elements/chunks/triangle-alert-B6or7F5u.js → triangle-alert-DHohDOCy.js} +1 -1
  285. package/dist/tsx-B8rCNbgL.js +1 -6
  286. package/dist/types.d.ts +4 -2
  287. package/dist/typescript-RycA9KXf.js +1 -6
  288. package/dist/ui/checkbox-group.d.ts +83 -0
  289. package/dist/ui/checkbox.d.ts +40 -0
  290. package/dist/ui/dock.d.ts +131 -0
  291. package/dist/ui/hover-card.d.ts +44 -0
  292. package/dist/ui/icon.d.ts +3 -0
  293. package/dist/ui/input.d.ts +48 -2
  294. package/dist/ui/radio.d.ts +85 -0
  295. package/dist/ui/select.d.ts +71 -0
  296. package/dist/ui/slider.d.ts +65 -0
  297. package/dist/ui/switch.d.ts +9 -2
  298. package/dist/upload-BbGW6A_u.js +1 -0
  299. package/dist/url-scheme-policy-DHpoTJwB.js +1 -0
  300. package/dist/use-card-resolution-CJW4grFa.js +1 -0
  301. package/dist/{variant-aurora-DwSOfraQ.js → variant-aurora-BUOVgPOB.js} +27 -27
  302. package/dist/{variant-aurora-wKvAQ5wp.js → variant-aurora-CUsUJvFI.js} +28 -28
  303. package/dist/{variant-aurora-XEkPT0_z.js → variant-aurora-CW2i4bfr.js} +2 -2
  304. package/dist/{elements/chunks/variant-aurora-QXTZPyST.js → variant-aurora-xiMPty8f.js} +2 -2
  305. package/dist/variant-custom-BQtOnmeO.js +1 -0
  306. package/dist/{variant-custom-BhS9wIpU.js → variant-custom-CAm9L-E5.js} +65 -65
  307. package/dist/{variant-custom-eFIg2XWQ.js → variant-custom-CAnzzppW.js} +40 -40
  308. package/dist/variant-custom-D91HjAKz.js +1 -0
  309. package/dist/{variant-wave-CUWGx9Bn.js → variant-wave-Ca1Ls4_y.js} +21 -21
  310. package/dist/{variant-wave-CbVsmgwT.js → variant-wave-CxX39DKd.js} +25 -25
  311. package/dist/{variant-wave-BwzrHD1s.js → variant-wave-DYyzIIZv.js} +2 -2
  312. package/dist/{elements/chunks/variant-wave-DDCwhLas.js → variant-wave-uY5crU_K.js} +2 -2
  313. package/dist/vue-BmIZj4XD.js +1 -33
  314. package/dist/wire/chunk.d.ts +47 -0
  315. package/dist/wire/diagnostics.d.ts +575 -0
  316. package/dist/wire/encode-probe.d.ts +70 -0
  317. package/dist/wire/encode.d.ts +24 -0
  318. package/dist/wire/index.d.ts +2 -0
  319. package/dist/wire/sse.d.ts +10 -2
  320. package/dist/wire.js +917 -480
  321. package/dist/x-C5m1JFgi.js +1 -0
  322. package/frameworks/react/index.tsx +325 -108
  323. package/llms-full.txt +1354 -82
  324. package/llms.txt +6 -3
  325. package/package.json +39 -6
  326. package/src/agent-tooling/archetypes.ts +41 -9
  327. package/src/agent-tooling/catalog/README.md +676 -0
  328. package/src/agent-tooling/catalog/catalog-types.ts +231 -0
  329. package/src/agent-tooling/catalog/fabrications.ts +96 -0
  330. package/src/agent-tooling/catalog/invariants.ts +284 -0
  331. package/src/agent-tooling/catalog/labs-titles.ts +114 -0
  332. package/src/agent-tooling/catalog/scenarios.ts +87 -0
  333. package/src/agent-tooling/catalog/surfaces.ts +347 -0
  334. package/src/agent-tooling/construct/cli-entry.ts +8 -0
  335. package/src/agent-tooling/construct/cli.ts +131 -0
  336. package/src/agent-tooling/construct/codegen.ts +1353 -0
  337. package/src/agent-tooling/construct/construct.v1.schema.json +250 -0
  338. package/src/agent-tooling/construct/dev.ts +148 -0
  339. package/src/agent-tooling/construct/fixtures/demo-widget.construct.json +7 -0
  340. package/src/agent-tooling/construct/fixtures/ops-console.construct.json +44 -0
  341. package/src/agent-tooling/construct/fixtures/owner-widget.construct.json +23 -0
  342. package/src/agent-tooling/construct/schema.ts +371 -0
  343. package/src/agent-tooling/integrations/anthropic.ts +7 -1
  344. package/src/agent-tooling/integrations/cloudflare.ts +43 -2
  345. package/src/agent-tooling/integrations/langgraph.ts +7 -1
  346. package/src/agent-tooling/integrations/mastra.ts +7 -1
  347. package/src/agent-tooling/integrations/mock.ts +92 -17
  348. package/src/agent-tooling/integrations/ollama.ts +7 -1
  349. package/src/agent-tooling/integrations/openai.ts +7 -1
  350. package/src/agent-tooling/integrations/openrouter.ts +7 -1
  351. package/src/agent-tooling/integrations/pi.ts +56 -1
  352. package/src/agent-tooling/integrations/vercel-ai-sdk.ts +7 -1
  353. package/src/agent-tooling/mcp/css-raw.d.ts +12 -0
  354. package/src/agent-tooling/mcp/manifest.ts +100 -1
  355. package/src/agent-tooling/mcp/server.ts +63 -6
  356. package/src/agent-tooling/mcp/tools/construct.ts +130 -0
  357. package/src/agent-tooling/mcp/tools/debug.ts +126 -4
  358. package/src/agent-tooling/mcp/tools/reference.ts +542 -5
  359. package/src/agent-tooling/mcp/tools/scaffold.ts +1834 -307
  360. package/src/agent-tooling/mcp/tools/theme.ts +146 -30
  361. package/src/agent-tooling/mcp/validate-args.ts +141 -0
  362. package/src/agent-tooling/recipes/composed-thread.ts +714 -0
  363. package/src/agent-tooling/recipes/index.ts +22 -0
  364. package/src/agent-tooling/recipes/types.ts +32 -0
  365. package/src/agent-tooling/registry.ts +24 -7
  366. package/src/agent-tooling/route-emit.ts +26 -2
  367. package/src/components/attachment-types.ts +54 -1
  368. package/src/components/attachments.tsx +169 -22
  369. package/src/components/audio-visualizer/fit-scale.ts +112 -0
  370. package/src/components/audio-visualizer/index.tsx +80 -3
  371. package/src/components/audio-visualizer/variant-aurora.tsx +10 -4
  372. package/src/components/audio-visualizer/variant-bar.tsx +38 -6
  373. package/src/components/audio-visualizer/variant-custom.tsx +8 -2
  374. package/src/components/audio-visualizer/variant-grid.tsx +16 -11
  375. package/src/components/audio-visualizer/variant-radial.tsx +15 -10
  376. package/src/components/audio-visualizer/variant-wave.tsx +7 -2
  377. package/src/components/card-renderer.tsx +39 -8
  378. package/src/components/card.tsx +10 -2
  379. package/src/components/chat-container.tsx +4 -1
  380. package/src/components/chat-scope-picker.tsx +2 -2
  381. package/src/components/chat-thread.tsx +105 -13
  382. package/src/components/choice-card.tsx +102 -37
  383. package/src/components/coachmark.tsx +1 -1
  384. package/src/components/code-block.tsx +81 -5
  385. package/src/components/composer.tsx +89 -8
  386. package/src/components/confirm-card.tsx +20 -4
  387. package/src/components/conversation-item.tsx +138 -4
  388. package/src/components/conversation-list.tsx +230 -15
  389. package/src/components/embed.tsx +4 -0
  390. package/src/components/empty.tsx +14 -3
  391. package/src/components/file-tree.tsx +5 -1
  392. package/src/components/form-widgets.tsx +257 -195
  393. package/src/components/form.tsx +336 -21
  394. package/src/components/loader.tsx +12 -5
  395. package/src/components/message-skills.tsx +1 -1
  396. package/src/components/message.tsx +142 -12
  397. package/src/components/prompt-input.tsx +7 -1
  398. package/src/components/prompt-suggestion.tsx +4 -1
  399. package/src/components/reasoning.tsx +30 -3
  400. package/src/components/response-compare.tsx +2 -2
  401. package/src/components/response-stream.tsx +13 -7
  402. package/src/components/screen.tsx +5 -0
  403. package/src/components/scroll-button.tsx +63 -4
  404. package/src/components/source.tsx +6 -1
  405. package/src/components/tasks-card.tsx +58 -16
  406. package/src/components/thread.tsx +10 -1
  407. package/src/components/toast.tsx +11 -5
  408. package/src/components/tool-types.ts +9 -0
  409. package/src/components/voice-input.tsx +35 -3
  410. package/src/components/voice-output.tsx +46 -6
  411. package/src/components/workspace-shell.tsx +285 -0
  412. package/src/diagnostics/hook.ts +352 -0
  413. package/src/diagnostics/index.ts +82 -0
  414. package/src/diagnostics/report-request.ts +296 -0
  415. package/src/elements/attachments.tsx +9 -8
  416. package/src/elements/audio-visualizer.tsx +48 -4
  417. package/src/elements/chat-workspace.tsx +159 -287
  418. package/src/elements/chat.tsx +31 -10
  419. package/src/elements/checkbox-group.tsx +164 -0
  420. package/src/elements/checkbox.tsx +134 -0
  421. package/src/elements/code-block.tsx +19 -1
  422. package/src/elements/command.tsx +4 -1
  423. package/src/elements/compiled.css +1 -1
  424. package/src/elements/composer.tsx +12 -1
  425. package/src/elements/conversation-item.tsx +120 -0
  426. package/src/elements/conversation-list.tsx +60 -11
  427. package/src/elements/default-input.tsx +5 -5
  428. package/src/elements/define-entry.ts +12 -0
  429. package/src/elements/define.tsx +168 -8
  430. package/src/elements/diagnostic-events.ts +114 -0
  431. package/src/elements/dialog.tsx +47 -0
  432. package/src/elements/disclosure.ts +34 -12
  433. package/src/elements/dock.tsx +215 -0
  434. package/src/elements/dropdown.tsx +123 -0
  435. package/src/elements/element-data-types.ts +40 -0
  436. package/src/elements/element-diagnostics.ts +392 -0
  437. package/src/elements/element-manifest.json +36 -0
  438. package/src/elements/element-meta.json +1483 -560
  439. package/src/elements/element-nonscalar.json +185 -0
  440. package/src/elements/element-types.d.ts +589 -167
  441. package/src/elements/feedback-bar.tsx +5 -0
  442. package/src/elements/icon-names.json +29 -0
  443. package/src/elements/input.tsx +312 -23
  444. package/src/elements/menu.tsx +13 -0
  445. package/src/elements/message.tsx +2 -0
  446. package/src/elements/pane-grid.tsx +111 -0
  447. package/src/elements/prompt-dock.tsx +2 -1
  448. package/src/elements/prompt-input.tsx +16 -10
  449. package/src/elements/radio-group.tsx +129 -0
  450. package/src/elements/register-impl.ts +52 -0
  451. package/src/elements/register.ts +28 -0
  452. package/src/elements/resizable.tsx +52 -25
  453. package/src/elements/scroll-button.tsx +59 -6
  454. package/src/elements/select.tsx +165 -0
  455. package/src/elements/slider.tsx +171 -0
  456. package/src/elements/slots.ts +108 -13
  457. package/src/elements/styles.css +119 -9
  458. package/src/elements/thinking-bar.tsx +16 -7
  459. package/src/elements/thread.tsx +2 -0
  460. package/src/elements/toast.tsx +17 -1
  461. package/src/elements/tool.tsx +26 -5
  462. package/src/elements/voice-input.tsx +11 -2
  463. package/src/elements/voice-output.tsx +16 -3
  464. package/src/index.ts +4 -1
  465. package/src/primitives/card-data-types.ts +49 -0
  466. package/src/primitives/card-host.tsx +4 -2
  467. package/src/primitives/card-routing.ts +7 -56
  468. package/src/primitives/card-schemas/form.schema.json +21 -1
  469. package/src/primitives/card-validate.ts +10 -2
  470. package/src/primitives/chat-config.tsx +33 -6
  471. package/src/primitives/field-mask.ts +256 -0
  472. package/src/primitives/field-semantics.ts +115 -0
  473. package/src/primitives/input-mask.ts +853 -0
  474. package/src/primitives/toast-store.ts +66 -4
  475. package/src/primitives/url-scheme-policy.ts +70 -0
  476. package/src/primitives/use-resize-observer.ts +33 -0
  477. package/src/primitives/use-speech-recognition.ts +12 -1
  478. package/src/primitives/use-stick-to-bottom.ts +34 -2
  479. package/src/primitives/use-text-stream.ts +33 -2
  480. package/src/remote/provider-runtime.ts +6 -3
  481. package/src/schemas/index.ts +1 -0
  482. package/src/schemas/tool-defs.ts +307 -6
  483. package/src/solid.ts +15 -0
  484. package/src/state/index.ts +13 -1
  485. package/src/state/mock.ts +92 -6
  486. package/src/state/persistence.ts +180 -0
  487. package/src/state/stream.ts +71 -4
  488. package/src/state/threads.ts +142 -0
  489. package/src/types.ts +4 -2
  490. package/src/ui/agent-card.tsx +2 -2
  491. package/src/ui/avatar.tsx +1 -1
  492. package/src/ui/checkbox-group.tsx +153 -0
  493. package/src/ui/checkbox.tsx +63 -0
  494. package/src/ui/dialog.tsx +6 -0
  495. package/src/ui/dock.tsx +584 -0
  496. package/src/ui/dropdown.tsx +67 -23
  497. package/src/ui/hover-card.tsx +156 -6
  498. package/src/ui/icon.tsx +53 -0
  499. package/src/ui/input.tsx +275 -16
  500. package/src/ui/kbd.tsx +1 -1
  501. package/src/ui/nav.tsx +1 -1
  502. package/src/ui/pane-group.tsx +2 -2
  503. package/src/ui/radio.tsx +150 -0
  504. package/src/ui/resizable.tsx +11 -0
  505. package/src/ui/select.tsx +168 -0
  506. package/src/ui/slider.tsx +178 -0
  507. package/src/ui/switch.tsx +49 -18
  508. package/src/utils/cn.ts +11 -5
  509. package/src/wire/chunk.ts +47 -0
  510. package/src/wire/consume.ts +185 -26
  511. package/src/wire/diagnostics.ts +727 -0
  512. package/src/wire/encode-probe.ts +214 -0
  513. package/src/wire/encode.ts +267 -14
  514. package/src/wire/formats/anthropic.ts +8 -1
  515. package/src/wire/formats/openai.ts +5 -0
  516. package/src/wire/index.ts +22 -0
  517. package/src/wire/read.ts +250 -6
  518. package/src/wire/sse.ts +16 -3
  519. package/theme.css +84 -13
  520. package/dist/elements/chunks/action-icons-DW9muWrY.js +0 -1
  521. package/dist/elements/chunks/arrow-left-iJVnQmxA.js +0 -1
  522. package/dist/elements/chunks/artifact-BSuPYFHY.js +0 -1
  523. package/dist/elements/chunks/attachments-CL6TaqIb.js +0 -1
  524. package/dist/elements/chunks/audio-visualizer-BuUqQmaO.js +0 -1
  525. package/dist/elements/chunks/badge-TIMiJFKc.js +0 -1
  526. package/dist/elements/chunks/bash-InADTalH.js +0 -1
  527. package/dist/elements/chunks/card-renderer-CSoTL_e1.js +0 -1
  528. package/dist/elements/chunks/card-routing-BK09BdmL.js +0 -1
  529. package/dist/elements/chunks/chat-thread-DxoKaStk.js +0 -1
  530. package/dist/elements/chunks/check-MdLzbxrm.js +0 -1
  531. package/dist/elements/chunks/chevron-down-MK7IzDqe.js +0 -1
  532. package/dist/elements/chunks/chevron-right-C5jXhmtV.js +0 -1
  533. package/dist/elements/chunks/choice-card-CGMc3kek.js +0 -1
  534. package/dist/elements/chunks/circle-BG7VkPep.js +0 -1
  535. package/dist/elements/chunks/circle-check-GqvO2UBs.js +0 -1
  536. package/dist/elements/chunks/circle-x-mhH7pOK2.js +0 -1
  537. package/dist/elements/chunks/code-block-ClhQO9RW.js +0 -1
  538. package/dist/elements/chunks/collapsible-DBcBkFPh.js +0 -1
  539. package/dist/elements/chunks/composer-CZZmtYOT.js +0 -69
  540. package/dist/elements/chunks/confirm-card-BWjf2-xo.js +0 -1
  541. package/dist/elements/chunks/context-hKjNqiyQ.js +0 -1
  542. package/dist/elements/chunks/conversation-list-CsGJjSKG.js +0 -1
  543. package/dist/elements/chunks/core-AYMC6_lb.js +0 -12
  544. package/dist/elements/chunks/css-M7EaDHN_.js +0 -1
  545. package/dist/elements/chunks/default-input-B1Mem5wu.js +0 -1
  546. package/dist/elements/chunks/define-B_tXMYRm.js +0 -1
  547. package/dist/elements/chunks/disclosure-DAoYOKew.js +0 -1
  548. package/dist/elements/chunks/download-DnCyWFJE.js +0 -1
  549. package/dist/elements/chunks/dropdown-CmNna5lT.js +0 -1
  550. package/dist/elements/chunks/embed-CjAD2jSi.js +0 -1
  551. package/dist/elements/chunks/engine-javascript-vq0WuIJl.js +0 -141
  552. package/dist/elements/chunks/file-text-D0J9F6M7.js +0 -1
  553. package/dist/elements/chunks/folder-NV1pi_ud.js +0 -1
  554. package/dist/elements/chunks/form-Cp8Y00Wn.js +0 -1
  555. package/dist/elements/chunks/github-dark-dimmed-DUshB20C.js +0 -1
  556. package/dist/elements/chunks/github-light-JYsPkUQd.js +0 -1
  557. package/dist/elements/chunks/hover-card-6KtXpLwT.js +0 -1
  558. package/dist/elements/chunks/html-CPZ3oZQ7.js +0 -1
  559. package/dist/elements/chunks/icon-97R8SR2p.js +0 -1
  560. package/dist/elements/chunks/info-C8r5Q6cc.js +0 -1
  561. package/dist/elements/chunks/input-DrseEjhp.js +0 -1
  562. package/dist/elements/chunks/javascript-C25yR2R2.js +0 -1
  563. package/dist/elements/chunks/json-DxJze_jm.js +0 -1
  564. package/dist/elements/chunks/kbd-OGJDUT-O.js +0 -1
  565. package/dist/elements/chunks/link-BdsfLB7b.js +0 -1
  566. package/dist/elements/chunks/loader-B5QzK_8_.js +0 -1
  567. package/dist/elements/chunks/message-CE4k-qaj.js +0 -1
  568. package/dist/elements/chunks/message-DtXKPqiR.js +0 -1
  569. package/dist/elements/chunks/message-square-C9ovmtOo.js +0 -1
  570. package/dist/elements/chunks/paperclip-Bg0ITU3b.js +0 -1
  571. package/dist/elements/chunks/progress-bar-D1_rzt6N.js +0 -1
  572. package/dist/elements/chunks/prompt-suggestion-D5Sm8xF1.js +0 -1
  573. package/dist/elements/chunks/reasoning-BrxQfpfI.js +0 -1
  574. package/dist/elements/chunks/rotate-cw-DzVDJOA1.js +0 -1
  575. package/dist/elements/chunks/scroll-area-93A1bbeG.js +0 -1
  576. package/dist/elements/chunks/scroll-button-CrTo7wm4.js +0 -1
  577. package/dist/elements/chunks/share-DgNbkJKY.js +0 -1
  578. package/dist/elements/chunks/slots-CIw9RlAe.js +0 -1
  579. package/dist/elements/chunks/source-w9V0NnBn.js +0 -1
  580. package/dist/elements/chunks/star-DHvACxtm.js +0 -1
  581. package/dist/elements/chunks/store-HIPGhNz9.js +0 -1
  582. package/dist/elements/chunks/svelte--5p79yCD.js +0 -1
  583. package/dist/elements/chunks/tasks-card-lPxoodlA.js +0 -1
  584. package/dist/elements/chunks/text-shimmer-BY_rI3s5.js +0 -1
  585. package/dist/elements/chunks/textarea-DPfuhswM.js +0 -1
  586. package/dist/elements/chunks/toast-store-VUZZBhzH.js +0 -1
  587. package/dist/elements/chunks/tsx-B8rCNbgL.js +0 -1
  588. package/dist/elements/chunks/typescript-RycA9KXf.js +0 -1
  589. package/dist/elements/chunks/use-card-resolution-DJg32jGH.js +0 -1
  590. package/dist/elements/chunks/variant-custom-D5ZlmziF.js +0 -1
  591. package/dist/elements/chunks/video-Bb86fVYI.js +0 -1
  592. package/dist/elements/chunks/vue-BmIZj4XD.js +0 -1
  593. package/dist/elements/chunks/x-BOhjBeOd.js +0 -1
  594. package/dist/llms/llms-full.txt +0 -2834
  595. package/dist/llms/llms.txt +0 -156
  596. package/dist/primitives/card-validate-generator.testlib.d.ts +0 -20
  597. package/dist/register-impl-DGmGzrEM.js +0 -145
  598. package/dist/ui/stat.d.ts +0 -16
  599. package/dist/variant-custom-MkTNTycd.js +0 -1
  600. package/src/primitives/card-validate-generator.testlib.ts +0 -38
  601. package/src/ui/stat.tsx +0 -41
  602. /package/dist/{elements/chunks/card-tags-D8lZ-C_U.js → card-tags-D8lZ-C_U.js} +0 -0
  603. /package/dist/{elements/chunks/link-preview-DNILK391.js → link-preview-DNILK391.js} +0 -0
@@ -1,8 +1,8 @@
1
- import { ssr as b, ssrAttribute as h, escape as l, ssrStyleProperty as d, createComponent as w } from "solid-js/web";
2
- import { createEffect as u, createSignal as R, onCleanup as A } from "solid-js";
3
- import { c, S, h as _, D as k } from "./create-tween-B5Y4Im8G.js";
4
- import { C } from "./solid-CGYNdLRR.js";
5
- const T = `
1
+ import { ssr as w, ssrAttribute as d, escape as h, ssrStyleProperty as u, createComponent as R } from "solid-js/web";
2
+ import { createEffect as p, createSignal as A, onCleanup as S } from "solid-js";
3
+ import { c, S as _, h as k, D as C } from "./create-tween-CnMHviKB.js";
4
+ import { C as T, a as M } from "./solid-DFhsce3O.js";
5
+ const W = `
6
6
  const float PI = 3.14159265359;
7
7
  // Strand phase span: 0.5 + pi (fact sheet section 2's "sigma", the
8
8
  // midpoint of the interval [1, 2*pi] with the interpolation knob fixed
@@ -220,8 +220,8 @@ void mainImage(out vec4 fragColor, in vec2 fragCoord) {
220
220
  fragColor = vec4(rgb * alpha, alpha);
221
221
  }
222
222
  `;
223
- var M = ["<div", ' style="', '">', "</div>"];
224
- function p(e) {
223
+ var z = ["<div", ' style="', '">', "</div>"];
224
+ function f(e) {
225
225
  switch (e) {
226
226
  case "listening":
227
227
  return {
@@ -285,49 +285,49 @@ function p(e) {
285
285
  };
286
286
  }
287
287
  }
288
- function W() {
288
+ function P() {
289
289
  var s;
290
- const [e, r] = R(!1);
290
+ const [e, r] = A(!1);
291
291
  if (typeof matchMedia == "function") {
292
292
  const a = matchMedia("(prefers-color-scheme: dark)");
293
293
  r(a.matches);
294
294
  const o = (i) => r(i.matches);
295
- (s = a.addEventListener) == null || s.call(a, "change", o), A(() => {
295
+ (s = a.addEventListener) == null || s.call(a, "change", o), S(() => {
296
296
  var i;
297
297
  return (i = a.removeEventListener) == null ? void 0 : i.call(a, "change", o);
298
298
  });
299
299
  }
300
300
  return e;
301
301
  }
302
- function I(e) {
303
- const r = c(1), s = c(0.5), a = c(0.4), o = c(1.2), i = c(0.2), f = W(), m = () => e.dark ?? f();
304
- u(() => {
305
- const t = p(e.state), n = e.frozen ? {
302
+ function E(e) {
303
+ const r = c(1), s = c(0.5), a = c(0.4), o = c(1.2), i = c(0.2), m = P(), v = () => e.dark ?? m(), l = () => M(e.state, e.listeningAmplitude);
304
+ p(() => {
305
+ const t = f(l()), n = e.frozen ? {
306
306
  duration: 0
307
307
  } : {
308
308
  duration: 0.5,
309
309
  ease: "easeOut"
310
- }, x = e.frozen ? {
310
+ }, y = e.frozen ? {
311
311
  duration: 0
312
312
  } : {
313
313
  duration: 0.35,
314
314
  ease: "easeOut"
315
- }, y = Array.isArray(t.intensity) && e.frozen ? t.intensity[0] : t.intensity;
316
- r.to(y, Array.isArray(t.intensity) ? x : n), a.to(t.complexity, n), o.to(t.amplitude, n), i.to(t.scale, e.state === "listening" && !e.frozen ? {
315
+ }, b = Array.isArray(t.intensity) && e.frozen ? t.intensity[0] : t.intensity;
316
+ r.to(b, Array.isArray(t.intensity) ? y : n), a.to(t.complexity, n), o.to(t.amplitude, n), i.to(t.scale, l() === "listening" && !e.frozen ? {
317
317
  type: "spring",
318
318
  duration: 1,
319
319
  bounce: 0.35
320
320
  } : n), s.to(e.frozen ? 0 : t.speed, {
321
321
  duration: 0
322
322
  });
323
- }), u(() => {
324
- if (e.state !== "speaking") return;
323
+ }), p(() => {
324
+ if (l() !== "speaking") return;
325
325
  const t = e.volume;
326
326
  t > 0 && (i.animating() || i.to(0.2 + 0.2 * t));
327
327
  });
328
- const v = () => e.frozen ? 0 : p(e.state).rotation * Math.PI / 180, g = () => m() ? 0 : 1;
329
- return b(M, h("data-kai-state", l(e.state, !0), !1) + h("class", l(e.class, !0), !1), d("height:", `${l(C[e.size], !0)}px`) + d(";aspect-ratio:", "1"), l(w(S, {
330
- fragment: T,
328
+ const g = () => e.frozen ? 0 : f(l()).rotation * Math.PI / 180, x = () => v() ? 0 : 1;
329
+ return w(z, d("data-kai-state", h(e.state, !0), !1) + d("class", h(e.class, !0), !1), u("height:", `${h(T[e.size], !0)}px`) + u(";aspect-ratio:", "1"), h(R(_, {
330
+ fragment: W,
331
331
  get precision() {
332
332
  return e.size === "icon" || e.size === "sm" ? "mediump" : "highp";
333
333
  },
@@ -335,7 +335,7 @@ function I(e) {
335
335
  return {
336
336
  uColor: {
337
337
  type: "3fv",
338
- value: _(e.color ?? k)
338
+ value: k(e.color ?? C)
339
339
  },
340
340
  uIntensity: {
341
341
  type: "1f",
@@ -359,11 +359,11 @@ function I(e) {
359
359
  },
360
360
  uTheme: {
361
361
  type: "1f",
362
- value: g()
362
+ value: x()
363
363
  },
364
364
  uRotation: {
365
365
  type: "1f",
366
- value: v()
366
+ value: g()
367
367
  }
368
368
  };
369
369
  },
@@ -376,6 +376,6 @@ function I(e) {
376
376
  })));
377
377
  }
378
378
  export {
379
- p as auroraTargets,
380
- I as default
379
+ f as auroraTargets,
380
+ E as default
381
381
  };
@@ -1,8 +1,8 @@
1
- import { insert as x, createComponent as y, effect as b, setAttribute as w, className as R, setStyleProperty as A, template as S } from "solid-js/web";
2
- import { createEffect as u, createSignal as k, onCleanup as C } from "solid-js";
3
- import { c as l, S as T, h as _, D as M } from "./create-tween-4z1XYLkR.js";
4
- import { C as W } from "./solid-BMuDmFo_.js";
5
- const z = `
1
+ import { insert as y, createComponent as b, effect as w, setAttribute as R, className as A, setStyleProperty as S, template as k } from "solid-js/web";
2
+ import { createEffect as p, createSignal as C, onCleanup as T } from "solid-js";
3
+ import { c as l, S as _, h as M, D as W } from "./create-tween-D1aiGZZh.js";
4
+ import { C as z, a as P } from "./solid-BE5ui6sy.js";
5
+ const N = `
6
6
  const float PI = 3.14159265359;
7
7
  // Strand phase span: 0.5 + pi (fact sheet section 2's "sigma", the
8
8
  // midpoint of the interval [1, 2*pi] with the interpolation knob fixed
@@ -220,7 +220,7 @@ void mainImage(out vec4 fragColor, in vec2 fragCoord) {
220
220
  fragColor = vec4(rgb * alpha, alpha);
221
221
  }
222
222
  `;
223
- var P = /* @__PURE__ */ S("<div style=aspect-ratio:1>");
223
+ var q = /* @__PURE__ */ k("<div style=aspect-ratio:1>");
224
224
  function f(e) {
225
225
  switch (e) {
226
226
  case "listening":
@@ -285,24 +285,24 @@ function f(e) {
285
285
  };
286
286
  }
287
287
  }
288
- function N() {
288
+ function D() {
289
289
  var s;
290
- const [e, o] = k(!1);
290
+ const [e, o] = C(!1);
291
291
  if (typeof matchMedia == "function") {
292
292
  const i = matchMedia("(prefers-color-scheme: dark)");
293
293
  o(i.matches);
294
294
  const n = (r) => o(r.matches);
295
- (s = i.addEventListener) == null || s.call(i, "change", n), C(() => {
295
+ (s = i.addEventListener) == null || s.call(i, "change", n), T(() => {
296
296
  var r;
297
297
  return (r = i.removeEventListener) == null ? void 0 : r.call(i, "change", n);
298
298
  });
299
299
  }
300
300
  return e;
301
301
  }
302
- function V(e) {
303
- const o = l(1), s = l(0.5), i = l(0.4), n = l(1.2), r = l(0.2), p = N(), m = () => e.dark ?? p();
304
- u(() => {
305
- const t = f(e.state), a = e.frozen ? {
302
+ function H(e) {
303
+ const o = l(1), s = l(0.5), i = l(0.4), n = l(1.2), r = l(0.2), m = D(), v = () => e.dark ?? m(), h = () => P(e.state, e.listeningAmplitude);
304
+ p(() => {
305
+ const t = f(h()), a = e.frozen ? {
306
306
  duration: 0
307
307
  } : {
308
308
  duration: 0.5,
@@ -312,24 +312,24 @@ function V(e) {
312
312
  } : {
313
313
  duration: 0.35,
314
314
  ease: "easeOut"
315
- }, h = Array.isArray(t.intensity) && e.frozen ? t.intensity[0] : t.intensity;
316
- o.to(h, Array.isArray(t.intensity) ? c : a), i.to(t.complexity, a), n.to(t.amplitude, a), r.to(t.scale, e.state === "listening" && !e.frozen ? {
315
+ }, d = Array.isArray(t.intensity) && e.frozen ? t.intensity[0] : t.intensity;
316
+ o.to(d, Array.isArray(t.intensity) ? c : a), i.to(t.complexity, a), n.to(t.amplitude, a), r.to(t.scale, h() === "listening" && !e.frozen ? {
317
317
  type: "spring",
318
318
  duration: 1,
319
319
  bounce: 0.35
320
320
  } : a), s.to(e.frozen ? 0 : t.speed, {
321
321
  duration: 0
322
322
  });
323
- }), u(() => {
324
- if (e.state !== "speaking") return;
323
+ }), p(() => {
324
+ if (h() !== "speaking") return;
325
325
  const t = e.volume;
326
326
  t > 0 && (r.animating() || r.to(0.2 + 0.2 * t));
327
327
  });
328
- const v = () => e.frozen ? 0 : f(e.state).rotation * Math.PI / 180, g = () => m() ? 0 : 1;
328
+ const g = () => e.frozen ? 0 : f(h()).rotation * Math.PI / 180, x = () => v() ? 0 : 1;
329
329
  return (() => {
330
- var t = P();
331
- return x(t, y(T, {
332
- fragment: z,
330
+ var t = q();
331
+ return y(t, b(_, {
332
+ fragment: N,
333
333
  get precision() {
334
334
  return e.size === "icon" || e.size === "sm" ? "mediump" : "highp";
335
335
  },
@@ -337,7 +337,7 @@ function V(e) {
337
337
  return {
338
338
  uColor: {
339
339
  type: "3fv",
340
- value: _(e.color ?? M)
340
+ value: M(e.color ?? W)
341
341
  },
342
342
  uIntensity: {
343
343
  type: "1f",
@@ -361,11 +361,11 @@ function V(e) {
361
361
  },
362
362
  uTheme: {
363
363
  type: "1f",
364
- value: g()
364
+ value: x()
365
365
  },
366
366
  uRotation: {
367
367
  type: "1f",
368
- value: v()
368
+ value: g()
369
369
  }
370
370
  };
371
371
  },
@@ -375,9 +375,9 @@ function V(e) {
375
375
  onError: (a) => {
376
376
  /not available/i.test(a) ? console.warn('<kai-audio-visualizer variant="aurora">: shader unavailable', a) : console.error('<kai-audio-visualizer variant="aurora">: shader error', a), e.onUnavailable();
377
377
  }
378
- })), b((a) => {
379
- var c = e.state, h = e.class, d = `${W[e.size]}px`;
380
- return c !== a.e && w(t, "data-kai-state", a.e = c), h !== a.t && R(t, a.t = h), d !== a.a && A(t, "height", a.a = d), a;
378
+ })), w((a) => {
379
+ var c = e.state, d = e.class, u = `${z[e.size]}px`;
380
+ return c !== a.e && R(t, "data-kai-state", a.e = c), d !== a.t && A(t, a.t = d), u !== a.a && S(t, "height", a.a = u), a;
381
381
  }, {
382
382
  e: void 0,
383
383
  t: void 0,
@@ -387,5 +387,5 @@ function V(e) {
387
387
  }
388
388
  export {
389
389
  f as auroraTargets,
390
- V as default
390
+ H as default
391
391
  };
@@ -1,4 +1,4 @@
1
- import{i as x,s as y,c as b,a as w,C as R,t as A}from"./register-impl-DGmGzrEM.js";import{d as u,j as S,b as _,f as k,o as M}from"./kai.es.js";import{c as n,h as T,S as W,D as C}from"./create-tween-CUzOlaMS.js";const q=`
1
+ import{i as y,s as b,c as w,a as R,C as A,t as S,b as _}from"./register-impl-C7rENvPK.js";import{h as f,l as k,d as M,i as T,o as W}from"./kai.es.js";import{c as n,h as q,S as C,D as z}from"./create-tween-BPzaefTp.js";const P=`
2
2
  const float PI = 3.14159265359;
3
3
  // Strand phase span: 0.5 + pi (fact sheet section 2's "sigma", the
4
4
  // midpoint of the interval [1, 2*pi] with the interpolation knob fixed
@@ -215,4 +215,4 @@ void mainImage(out vec4 fragColor, in vec2 fragCoord) {
215
215
  // (deliberately non-premultiplied) pipeline.
216
216
  fragColor = vec4(rgb * alpha, alpha);
217
217
  }
218
- `;var z=A("<div style=aspect-ratio:1>");function d(e){switch(e){case"listening":return{intensity:[1.5,2],speed:1,complexity:.7,amplitude:1,scale:.3,rotation:5.3};case"thinking":return{intensity:[.5,2.5],speed:1.5,complexity:1,amplitude:.5,scale:.3,rotation:9.4};case"connecting":return{intensity:[.5,2.5],speed:1.5,complexity:1,amplitude:.5,scale:.3,rotation:5.5};case"speaking":return{intensity:1.5,speed:3.5,complexity:1.25,amplitude:.75,scale:.3,rotation:-3.5};case"disconnected":return{intensity:1,speed:.5,complexity:.4,amplitude:1.2,scale:.2,rotation:0};default:return{intensity:1,speed:.5,complexity:.4,amplitude:1.2,scale:.2,rotation:0}}}function P(){var e;const[c,s]=k(!1);if(typeof matchMedia=="function"){const i=matchMedia("(prefers-color-scheme: dark)");s(i.matches);const o=r=>s(r.matches);(e=i.addEventListener)==null||e.call(i,"change",o),M(()=>{var r;return(r=i.removeEventListener)==null?void 0:r.call(i,"change",o)})}return c}function N(e){const c=n(1),s=n(.5),i=n(.4),o=n(1.2),r=n(.2),f=P(),m=()=>e.dark??f();u(()=>{const t=d(e.state),a=e.frozen?{duration:0}:{duration:.5,ease:"easeOut"},l=e.frozen?{duration:0}:{duration:.35,ease:"easeOut"},h=Array.isArray(t.intensity)&&e.frozen?t.intensity[0]:t.intensity;c.to(h,Array.isArray(t.intensity)?l:a),i.to(t.complexity,a),o.to(t.amplitude,a),r.to(t.scale,e.state==="listening"&&!e.frozen?{type:"spring",duration:1,bounce:.35}:a),s.to(e.frozen?0:t.speed,{duration:0})}),u(()=>{if(e.state!=="speaking")return;const t=e.volume;t>0&&(r.animating()||r.to(.2+.2*t))});const v=()=>e.frozen?0:d(e.state).rotation*Math.PI/180,g=()=>m()?0:1;return(()=>{var t=z();return x(t,S(W,{fragment:q,get precision(){return e.size==="icon"||e.size==="sm"?"mediump":"highp"},get uniforms(){return{uColor:{type:"3fv",value:T(e.color??C)},uIntensity:{type:"1f",value:c.value()},uSpeed:{type:"1f",value:s.value()},uComplexity:{type:"1f",value:i.value()},uAmplitude:{type:"1f",value:o.value()},uScale:{type:"1f",value:r.value()},uTheme:{type:"1f",value:g()},uRotation:{type:"1f",value:v()}}},get animateWhenNotVisible(){return e.animateWhenNotVisible},onError:a=>{/not available/i.test(a)?console.warn('<kai-audio-visualizer variant="aurora">: shader unavailable',a):console.error('<kai-audio-visualizer variant="aurora">: shader error',a),e.onUnavailable()}})),_(a=>{var l=e.state,h=e.class,p=`${R[e.size]}px`;return l!==a.e&&y(t,"data-kai-state",a.e=l),h!==a.t&&b(t,a.t=h),p!==a.a&&w(t,"height",a.a=p),a},{e:void 0,t:void 0,a:void 0}),t})()}export{d as auroraTargets,N as default};
218
+ `;var N=S("<div style=aspect-ratio:1>");function p(e){switch(e){case"listening":return{intensity:[1.5,2],speed:1,complexity:.7,amplitude:1,scale:.3,rotation:5.3};case"thinking":return{intensity:[.5,2.5],speed:1.5,complexity:1,amplitude:.5,scale:.3,rotation:9.4};case"connecting":return{intensity:[.5,2.5],speed:1.5,complexity:1,amplitude:.5,scale:.3,rotation:5.5};case"speaking":return{intensity:1.5,speed:3.5,complexity:1.25,amplitude:.75,scale:.3,rotation:-3.5};case"disconnected":return{intensity:1,speed:.5,complexity:.4,amplitude:1.2,scale:.2,rotation:0};default:return{intensity:1,speed:.5,complexity:.4,amplitude:1.2,scale:.2,rotation:0}}}function I(){var e;const[c,s]=T(!1);if(typeof matchMedia=="function"){const i=matchMedia("(prefers-color-scheme: dark)");s(i.matches);const o=r=>s(r.matches);(e=i.addEventListener)==null||e.call(i,"change",o),W(()=>{var r;return(r=i.removeEventListener)==null?void 0:r.call(i,"change",o)})}return c}function D(e){const c=n(1),s=n(.5),i=n(.4),o=n(1.2),r=n(.2),m=I(),v=()=>e.dark??m(),l=()=>_(e.state,e.listeningAmplitude);f(()=>{const t=p(l()),a=e.frozen?{duration:0}:{duration:.5,ease:"easeOut"},h=e.frozen?{duration:0}:{duration:.35,ease:"easeOut"},d=Array.isArray(t.intensity)&&e.frozen?t.intensity[0]:t.intensity;c.to(d,Array.isArray(t.intensity)?h:a),i.to(t.complexity,a),o.to(t.amplitude,a),r.to(t.scale,l()==="listening"&&!e.frozen?{type:"spring",duration:1,bounce:.35}:a),s.to(e.frozen?0:t.speed,{duration:0})}),f(()=>{if(l()!=="speaking")return;const t=e.volume;t>0&&(r.animating()||r.to(.2+.2*t))});const g=()=>e.frozen?0:p(l()).rotation*Math.PI/180,x=()=>v()?0:1;return(()=>{var t=N();return y(t,k(C,{fragment:P,get precision(){return e.size==="icon"||e.size==="sm"?"mediump":"highp"},get uniforms(){return{uColor:{type:"3fv",value:q(e.color??z)},uIntensity:{type:"1f",value:c.value()},uSpeed:{type:"1f",value:s.value()},uComplexity:{type:"1f",value:i.value()},uAmplitude:{type:"1f",value:o.value()},uScale:{type:"1f",value:r.value()},uTheme:{type:"1f",value:x()},uRotation:{type:"1f",value:g()}}},get animateWhenNotVisible(){return e.animateWhenNotVisible},onError:a=>{/not available/i.test(a)?console.warn('<kai-audio-visualizer variant="aurora">: shader unavailable',a):console.error('<kai-audio-visualizer variant="aurora">: shader error',a),e.onUnavailable()}})),M(a=>{var h=e.state,d=e.class,u=`${A[e.size]}px`;return h!==a.e&&b(t,"data-kai-state",a.e=h),d!==a.t&&w(t,a.t=d),u!==a.a&&R(t,"height",a.a=u),a},{e:void 0,t:void 0,a:void 0}),t})()}export{p as auroraTargets,D as default};
@@ -1,4 +1,4 @@
1
- import{k as u,i as x,c as y,a as b,d as w,b as R,n as A,g as S,h as _,t as k}from"./define-B_tXMYRm.js";import{c as n,h as M,D as T,S as W}from"./create-tween-CUrM6D_o.js";import{C}from"./audio-visualizer-BuUqQmaO.js";const q=`
1
+ import{j as f,i as y,c as b,a as w,d as R,b as A,l as S,g as _,h as k,t as M}from"./define-CGGX-7Vg.js";import{c as n,h as T,D as W,S as q}from"./create-tween-DUSQUKpr.js";import{C,a as z}from"./audio-visualizer-B-79y1Tj.js";const P=`
2
2
  const float PI = 3.14159265359;
3
3
  // Strand phase span: 0.5 + pi (fact sheet section 2's "sigma", the
4
4
  // midpoint of the interval [1, 2*pi] with the interpolation knob fixed
@@ -215,4 +215,4 @@ void mainImage(out vec4 fragColor, in vec2 fragCoord) {
215
215
  // (deliberately non-premultiplied) pipeline.
216
216
  fragColor = vec4(rgb * alpha, alpha);
217
217
  }
218
- `;var z=k("<div style=aspect-ratio:1>");function d(e){switch(e){case"listening":return{intensity:[1.5,2],speed:1,complexity:.7,amplitude:1,scale:.3,rotation:5.3};case"thinking":return{intensity:[.5,2.5],speed:1.5,complexity:1,amplitude:.5,scale:.3,rotation:9.4};case"connecting":return{intensity:[.5,2.5],speed:1.5,complexity:1,amplitude:.5,scale:.3,rotation:5.5};case"speaking":return{intensity:1.5,speed:3.5,complexity:1.25,amplitude:.75,scale:.3,rotation:-3.5};case"disconnected":return{intensity:1,speed:.5,complexity:.4,amplitude:1.2,scale:.2,rotation:0};default:return{intensity:1,speed:.5,complexity:.4,amplitude:1.2,scale:.2,rotation:0}}}function P(){var e;const[c,s]=S(!1);if(typeof matchMedia=="function"){const i=matchMedia("(prefers-color-scheme: dark)");s(i.matches);const o=r=>s(r.matches);(e=i.addEventListener)==null||e.call(i,"change",o),_(()=>{var r;return(r=i.removeEventListener)==null?void 0:r.call(i,"change",o)})}return c}function N(e){const c=n(1),s=n(.5),i=n(.4),o=n(1.2),r=n(.2),f=P(),m=()=>e.dark??f();u(()=>{const t=d(e.state),a=e.frozen?{duration:0}:{duration:.5,ease:"easeOut"},l=e.frozen?{duration:0}:{duration:.35,ease:"easeOut"},h=Array.isArray(t.intensity)&&e.frozen?t.intensity[0]:t.intensity;c.to(h,Array.isArray(t.intensity)?l:a),i.to(t.complexity,a),o.to(t.amplitude,a),r.to(t.scale,e.state==="listening"&&!e.frozen?{type:"spring",duration:1,bounce:.35}:a),s.to(e.frozen?0:t.speed,{duration:0})}),u(()=>{if(e.state!=="speaking")return;const t=e.volume;t>0&&(r.animating()||r.to(.2+.2*t))});const v=()=>e.frozen?0:d(e.state).rotation*Math.PI/180,g=()=>m()?0:1;return(()=>{var t=z();return x(t,y(W,{fragment:q,get precision(){return e.size==="icon"||e.size==="sm"?"mediump":"highp"},get uniforms(){return{uColor:{type:"3fv",value:M(e.color??T)},uIntensity:{type:"1f",value:c.value()},uSpeed:{type:"1f",value:s.value()},uComplexity:{type:"1f",value:i.value()},uAmplitude:{type:"1f",value:o.value()},uScale:{type:"1f",value:r.value()},uTheme:{type:"1f",value:g()},uRotation:{type:"1f",value:v()}}},get animateWhenNotVisible(){return e.animateWhenNotVisible},onError:a=>{/not available/i.test(a)?console.warn('<kai-audio-visualizer variant="aurora">: shader unavailable',a):console.error('<kai-audio-visualizer variant="aurora">: shader error',a),e.onUnavailable()}})),b(a=>{var l=e.state,h=e.class,p=`${C[e.size]}px`;return l!==a.e&&w(t,"data-kai-state",a.e=l),h!==a.t&&R(t,a.t=h),p!==a.a&&A(t,"height",a.a=p),a},{e:void 0,t:void 0,a:void 0}),t})()}export{d as auroraTargets,N as default};
218
+ `;var N=M("<div style=aspect-ratio:1>");function p(e){switch(e){case"listening":return{intensity:[1.5,2],speed:1,complexity:.7,amplitude:1,scale:.3,rotation:5.3};case"thinking":return{intensity:[.5,2.5],speed:1.5,complexity:1,amplitude:.5,scale:.3,rotation:9.4};case"connecting":return{intensity:[.5,2.5],speed:1.5,complexity:1,amplitude:.5,scale:.3,rotation:5.5};case"speaking":return{intensity:1.5,speed:3.5,complexity:1.25,amplitude:.75,scale:.3,rotation:-3.5};case"disconnected":return{intensity:1,speed:.5,complexity:.4,amplitude:1.2,scale:.2,rotation:0};default:return{intensity:1,speed:.5,complexity:.4,amplitude:1.2,scale:.2,rotation:0}}}function I(){var e;const[c,s]=_(!1);if(typeof matchMedia=="function"){const i=matchMedia("(prefers-color-scheme: dark)");s(i.matches);const o=r=>s(r.matches);(e=i.addEventListener)==null||e.call(i,"change",o),k(()=>{var r;return(r=i.removeEventListener)==null?void 0:r.call(i,"change",o)})}return c}function D(e){const c=n(1),s=n(.5),i=n(.4),o=n(1.2),r=n(.2),m=I(),v=()=>e.dark??m(),l=()=>z(e.state,e.listeningAmplitude);f(()=>{const t=p(l()),a=e.frozen?{duration:0}:{duration:.5,ease:"easeOut"},h=e.frozen?{duration:0}:{duration:.35,ease:"easeOut"},d=Array.isArray(t.intensity)&&e.frozen?t.intensity[0]:t.intensity;c.to(d,Array.isArray(t.intensity)?h:a),i.to(t.complexity,a),o.to(t.amplitude,a),r.to(t.scale,l()==="listening"&&!e.frozen?{type:"spring",duration:1,bounce:.35}:a),s.to(e.frozen?0:t.speed,{duration:0})}),f(()=>{if(l()!=="speaking")return;const t=e.volume;t>0&&(r.animating()||r.to(.2+.2*t))});const g=()=>e.frozen?0:p(l()).rotation*Math.PI/180,x=()=>v()?0:1;return(()=>{var t=N();return y(t,b(q,{fragment:P,get precision(){return e.size==="icon"||e.size==="sm"?"mediump":"highp"},get uniforms(){return{uColor:{type:"3fv",value:T(e.color??W)},uIntensity:{type:"1f",value:c.value()},uSpeed:{type:"1f",value:s.value()},uComplexity:{type:"1f",value:i.value()},uAmplitude:{type:"1f",value:o.value()},uScale:{type:"1f",value:r.value()},uTheme:{type:"1f",value:x()},uRotation:{type:"1f",value:g()}}},get animateWhenNotVisible(){return e.animateWhenNotVisible},onError:a=>{/not available/i.test(a)?console.warn('<kai-audio-visualizer variant="aurora">: shader unavailable',a):console.error('<kai-audio-visualizer variant="aurora">: shader error',a),e.onUnavailable()}})),w(a=>{var h=e.state,d=e.class,u=`${C[e.size]}px`;return h!==a.e&&R(t,"data-kai-state",a.e=h),d!==a.t&&A(t,a.t=d),u!==a.a&&S(t,"height",a.a=u),a},{e:void 0,t:void 0,a:void 0}),t})()}export{p as auroraTargets,D as default};
@@ -0,0 +1 @@
1
+ import{d as w,i as S,s as c,c as m,e as p,t as M,b as A,C as N}from"./register-impl-C7rENvPK.js";import{h as g,c as C,l as y,S as x,d as h}from"./kai.es.js";import{c as $,S as E,h as U,D as j}from"./create-tween-BPzaefTp.js";var b=M("<div>");const F={"1f":!0,"1i":!0,"1fv":!0,"2f":!0,"3f":!0,"3fv":!0,"4f":!0,"4fv":!0,Matrix2fv:!0,Matrix3fv:!0,Matrix4fv:!0},O=new Set(["1f","1i"]),V={"2f":2,"3f":3,"4f":4,Matrix2fv:4,Matrix3fv:9,Matrix4fv:16};function D(a,e){if(e==null||typeof e!="object")return`uniform "${a}" is not a valid declaration (expected an object with "type" and "value").`;if(F[e.type]!==!0)return`uniform "${a}" has an unrecognized type "${String(e.type)}".`;if(O.has(e.type))return typeof e.value!="number"||!Number.isFinite(e.value)?`uniform "${a}" is declared "${e.type}" (a number) but its value is not a finite number.`:void 0;if(!Array.isArray(e.value)||e.value.some(s=>typeof s!="number"||!Number.isFinite(s)))return`uniform "${a}" is declared "${e.type}" (an array) but its value is not an array of finite numbers.`;const o=V[e.type];if(o!==void 0&&e.value.length!==o)return`uniform "${a}" is declared "${e.type}", which takes exactly ${o} numbers, but its value has ${e.value.length}.`}function z(a,e){const o=a.bands.length?a.bands:[0],s={uColor:{type:"3fv",value:U(a.color)},uIntensity:{type:"1f",value:a.intensity},uSpeed:{type:"1f",value:a.speed},uComplexity:{type:"1f",value:a.complexity},uVolume:{type:"1f",value:a.volume},uBands:{type:"1fv",value:o,arraySize:o.length}};if(!e)return s;for(const[f,v]of Object.entries(e)){const l=D(f,v);if(l)throw new Error(l)}return{...s,...e}}function I(a){const e=$(.3),o=$(1),s=()=>A(a.state,a.listeningAmplitude);g(()=>{const t=w(s());if(s()==="speaking")e.to(.3+.7*a.volume,{duration:0});else{const r=a.frozen?{duration:0}:{duration:.5,ease:"easeOut"};e.to(Array.isArray(t.intensity)&&a.frozen?t.intensity[0]:t.intensity,r)}o.to(a.frozen?0:t.speed,{duration:0})});const f=C(()=>{var t;try{return{uniforms:z({color:a.color??j,intensity:e.value(),speed:o.value(),complexity:a.complexity??.5,volume:a.volume,bands:a.bands},(t=a.shader)==null?void 0:t.uniforms)}}catch(r){return{error:r instanceof Error?r.message:String(r)}}});let v=!1;g(()=>{const{error:t}=f();if(!t){v=!1;return}v||(v=!0,console.error(`<kai-audio-visualizer variant="custom">: ${t}`),a.onUnavailable())});const l=()=>({height:`${N[a.size]}px`,"aspect-ratio":"1"});return y(x,{get when(){var t;return(t=a.shader)==null?void 0:t.fragment},get fallback(){return(()=>{var t=b();return h(r=>{var n=a.state,i=a.class,u=l();return n!==r.e&&c(t,"data-kai-state",r.e=n),i!==r.t&&m(t,r.t=i),r.a=p(t,u,r.a),r},{e:void 0,t:void 0,a:void 0}),t})()},children:t=>y(x,{get when(){return f().uniforms},get fallback(){return(()=>{var r=b();return h(n=>{var i=a.state,u=a.class,d=l();return i!==n.e&&c(r,"data-kai-state",n.e=i),u!==n.t&&m(r,n.t=u),n.a=p(r,d,n.a),n},{e:void 0,t:void 0,a:void 0}),r})()},children:r=>(()=>{var n=b();return S(n,y(E,{get fragment(){return t()},get precision(){return a.size==="icon"||a.size==="sm"?"mediump":"highp"},get uniforms(){return r()},get animateWhenNotVisible(){return a.animateWhenNotVisible},onError:i=>{/not available/i.test(i)?console.warn('<kai-audio-visualizer variant="custom">: shader unavailable',i):console.error('<kai-audio-visualizer variant="custom">: shader error',i),a.onUnavailable()}})),h(i=>{var u=a.state,d=a.class,k=l();return u!==i.e&&c(n,"data-kai-state",i.e=u),d!==i.t&&m(n,i.t=d),i.a=p(n,k,i.a),i},{e:void 0,t:void 0,a:void 0}),n})()})})}export{z as customUniforms,I as default};
@@ -1,9 +1,9 @@
1
- import { createComponent as d, insert as A, effect as m, setAttribute as c, className as y, style as b, template as C } from "solid-js/web";
2
- import { createEffect as g, createMemo as E, Show as x } from "solid-js";
3
- import { c as S, D as N, S as k, h as w } from "./create-tween-4z1XYLkR.js";
4
- import { s as M, C as T } from "./solid-BMuDmFo_.js";
5
- var h = /* @__PURE__ */ C("<div>");
6
- const O = {
1
+ import { createComponent as m, insert as C, effect as c, setAttribute as y, className as b, style as h, template as E } from "solid-js/web";
2
+ import { createEffect as x, createMemo as N, Show as S } from "solid-js";
3
+ import { c as z, D as k, S as w, h as M } from "./create-tween-D1aiGZZh.js";
4
+ import { s as R, a as T, C as O } from "./solid-BE5ui6sy.js";
5
+ var g = /* @__PURE__ */ E("<div>");
6
+ const $ = {
7
7
  "1f": !0,
8
8
  "1i": !0,
9
9
  "1fv": !0,
@@ -15,7 +15,7 @@ const O = {
15
15
  Matrix2fv: !0,
16
16
  Matrix3fv: !0,
17
17
  Matrix4fv: !0
18
- }, R = /* @__PURE__ */ new Set(["1f", "1i"]), $ = {
18
+ }, I = /* @__PURE__ */ new Set(["1f", "1i"]), F = {
19
19
  "2f": 2,
20
20
  "3f": 3,
21
21
  "4f": 4,
@@ -23,24 +23,24 @@ const O = {
23
23
  Matrix3fv: 9,
24
24
  Matrix4fv: 16
25
25
  };
26
- function I(e, t) {
26
+ function U(e, t) {
27
27
  if (t == null || typeof t != "object")
28
28
  return `uniform "${e}" is not a valid declaration (expected an object with "type" and "value").`;
29
- if (O[t.type] !== !0)
29
+ if ($[t.type] !== !0)
30
30
  return `uniform "${e}" has an unrecognized type "${String(t.type)}".`;
31
- if (R.has(t.type))
31
+ if (I.has(t.type))
32
32
  return typeof t.value != "number" || !Number.isFinite(t.value) ? `uniform "${e}" is declared "${t.type}" (a number) but its value is not a finite number.` : void 0;
33
33
  if (!Array.isArray(t.value) || t.value.some((u) => typeof u != "number" || !Number.isFinite(u)))
34
34
  return `uniform "${e}" is declared "${t.type}" (an array) but its value is not an array of finite numbers.`;
35
- const o = $[t.type];
35
+ const o = F[t.type];
36
36
  if (o !== void 0 && t.value.length !== o)
37
37
  return `uniform "${e}" is declared "${t.type}", which takes exactly ${o} numbers, but its value has ${t.value.length}.`;
38
38
  }
39
- function F(e, t) {
39
+ function D(e, t) {
40
40
  const o = e.bands.length ? e.bands : [0], u = {
41
41
  uColor: {
42
42
  type: "3fv",
43
- value: w(e.color)
43
+ value: M(e.color)
44
44
  },
45
45
  uIntensity: {
46
46
  type: "1f",
@@ -65,116 +65,116 @@ function F(e, t) {
65
65
  }
66
66
  };
67
67
  if (!t) return u;
68
- for (const [l, f] of Object.entries(t)) {
69
- const r = I(l, f);
70
- if (r) throw new Error(r);
68
+ for (const [v, f] of Object.entries(t)) {
69
+ const l = U(v, f);
70
+ if (l) throw new Error(l);
71
71
  }
72
72
  return {
73
73
  ...u,
74
74
  ...t
75
75
  };
76
76
  }
77
- function H(e) {
78
- const t = S(0.3), o = S(1);
79
- g(() => {
80
- const r = M(e.state);
81
- if (e.state === "speaking")
77
+ function P(e) {
78
+ const t = z(0.3), o = z(1), u = () => T(e.state, e.listeningAmplitude);
79
+ x(() => {
80
+ const a = R(u());
81
+ if (u() === "speaking")
82
82
  t.to(0.3 + 0.7 * e.volume, {
83
83
  duration: 0
84
84
  });
85
85
  else {
86
- const a = e.frozen ? {
86
+ const r = e.frozen ? {
87
87
  duration: 0
88
88
  } : {
89
89
  duration: 0.5,
90
90
  ease: "easeOut"
91
91
  };
92
- t.to(Array.isArray(r.intensity) && e.frozen ? r.intensity[0] : r.intensity, a);
92
+ t.to(Array.isArray(a.intensity) && e.frozen ? a.intensity[0] : a.intensity, r);
93
93
  }
94
- o.to(e.frozen ? 0 : r.speed, {
94
+ o.to(e.frozen ? 0 : a.speed, {
95
95
  duration: 0
96
96
  });
97
97
  });
98
- const u = E(() => {
99
- var r;
98
+ const v = N(() => {
99
+ var a;
100
100
  try {
101
101
  return {
102
- uniforms: F({
103
- color: e.color ?? N,
102
+ uniforms: D({
103
+ color: e.color ?? k,
104
104
  intensity: t.value(),
105
105
  speed: o.value(),
106
106
  complexity: e.complexity ?? 0.5,
107
107
  volume: e.volume,
108
108
  bands: e.bands
109
- }, (r = e.shader) == null ? void 0 : r.uniforms)
109
+ }, (a = e.shader) == null ? void 0 : a.uniforms)
110
110
  };
111
- } catch (a) {
111
+ } catch (r) {
112
112
  return {
113
- error: a instanceof Error ? a.message : String(a)
113
+ error: r instanceof Error ? r.message : String(r)
114
114
  };
115
115
  }
116
116
  });
117
- let l = !1;
118
- g(() => {
117
+ let f = !1;
118
+ x(() => {
119
119
  const {
120
- error: r
121
- } = u();
122
- if (!r) {
123
- l = !1;
120
+ error: a
121
+ } = v();
122
+ if (!a) {
123
+ f = !1;
124
124
  return;
125
125
  }
126
- l || (l = !0, console.error(`<kai-audio-visualizer variant="custom">: ${r}`), e.onUnavailable());
126
+ f || (f = !0, console.error(`<kai-audio-visualizer variant="custom">: ${a}`), e.onUnavailable());
127
127
  });
128
- const f = () => ({
129
- height: `${T[e.size]}px`,
128
+ const l = () => ({
129
+ height: `${O[e.size]}px`,
130
130
  "aspect-ratio": "1"
131
131
  });
132
- return d(x, {
132
+ return m(S, {
133
133
  get when() {
134
- var r;
135
- return (r = e.shader) == null ? void 0 : r.fragment;
134
+ var a;
135
+ return (a = e.shader) == null ? void 0 : a.fragment;
136
136
  },
137
137
  get fallback() {
138
138
  return (() => {
139
- var r = h();
140
- return m((a) => {
141
- var i = e.state, n = e.class, s = f();
142
- return i !== a.e && c(r, "data-kai-state", a.e = i), n !== a.t && y(r, a.t = n), a.a = b(r, s, a.a), a;
139
+ var a = g();
140
+ return c((r) => {
141
+ var i = e.state, n = e.class, s = l();
142
+ return i !== r.e && y(a, "data-kai-state", r.e = i), n !== r.t && b(a, r.t = n), r.a = h(a, s, r.a), r;
143
143
  }, {
144
144
  e: void 0,
145
145
  t: void 0,
146
146
  a: void 0
147
- }), r;
147
+ }), a;
148
148
  })();
149
149
  },
150
- children: (r) => d(x, {
150
+ children: (a) => m(S, {
151
151
  get when() {
152
- return u().uniforms;
152
+ return v().uniforms;
153
153
  },
154
154
  get fallback() {
155
155
  return (() => {
156
- var a = h();
157
- return m((i) => {
158
- var n = e.state, s = e.class, v = f();
159
- return n !== i.e && c(a, "data-kai-state", i.e = n), s !== i.t && y(a, i.t = s), i.a = b(a, v, i.a), i;
156
+ var r = g();
157
+ return c((i) => {
158
+ var n = e.state, s = e.class, d = l();
159
+ return n !== i.e && y(r, "data-kai-state", i.e = n), s !== i.t && b(r, i.t = s), i.a = h(r, d, i.a), i;
160
160
  }, {
161
161
  e: void 0,
162
162
  t: void 0,
163
163
  a: void 0
164
- }), a;
164
+ }), r;
165
165
  })();
166
166
  },
167
- children: (a) => (() => {
168
- var i = h();
169
- return A(i, d(k, {
167
+ children: (r) => (() => {
168
+ var i = g();
169
+ return C(i, m(w, {
170
170
  get fragment() {
171
- return r();
171
+ return a();
172
172
  },
173
173
  get precision() {
174
174
  return e.size === "icon" || e.size === "sm" ? "mediump" : "highp";
175
175
  },
176
176
  get uniforms() {
177
- return a();
177
+ return r();
178
178
  },
179
179
  get animateWhenNotVisible() {
180
180
  return e.animateWhenNotVisible;
@@ -182,9 +182,9 @@ function H(e) {
182
182
  onError: (n) => {
183
183
  /not available/i.test(n) ? console.warn('<kai-audio-visualizer variant="custom">: shader unavailable', n) : console.error('<kai-audio-visualizer variant="custom">: shader error', n), e.onUnavailable();
184
184
  }
185
- })), m((n) => {
186
- var s = e.state, v = e.class, z = f();
187
- return s !== n.e && c(i, "data-kai-state", n.e = s), v !== n.t && y(i, n.t = v), n.a = b(i, z, n.a), n;
185
+ })), c((n) => {
186
+ var s = e.state, d = e.class, A = l();
187
+ return s !== n.e && y(i, "data-kai-state", n.e = s), d !== n.t && b(i, n.t = d), n.a = h(i, A, n.a), n;
188
188
  }, {
189
189
  e: void 0,
190
190
  t: void 0,
@@ -195,6 +195,6 @@ function H(e) {
195
195
  });
196
196
  }
197
197
  export {
198
- F as customUniforms,
199
- H as default
198
+ D as customUniforms,
199
+ P as default
200
200
  };