@kitn.ai/ui 0.28.0 → 0.30.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.
- package/README.md +11 -7
- package/dist/{Icon-DObhsRtm.js → Icon-BzBET3E-.js} +1 -1
- package/dist/{action-icons-CcgNN2oT.js → action-icons-DaW2pU6m.js} +1 -1
- package/dist/agent-tooling/construct/public.d.ts +15 -0
- package/dist/agent-tooling/construct/schema.d.ts +111 -0
- package/dist/arrow-down-D783iMJj.js +1 -0
- package/dist/arrow-left-0VLM5kyg.js +1 -0
- package/dist/artifact-DGjzHYUT.js +1 -0
- package/dist/{attachments-Qr4kg-2b.js → attachments-YvXHlg88.js} +1 -1
- package/dist/{audio-visualizer-DToYdfSc.js → audio-visualizer-9lz5IHsL.js} +1 -1
- package/dist/{badge-CdEu_jn2.js → badge-Dh_vp8A5.js} +1 -1
- package/dist/{bell-DQAAOpDz.js → bell-CT7_WUwS.js} +1 -1
- package/dist/{button-DkuOnGLy.js → button-C_3te6fm.js} +1 -1
- package/dist/{card-renderer-Jx70m6_l.js → card-renderer-DZVaGH2e.js} +1 -1
- package/dist/check-CiEOVnEN.js +1 -0
- package/dist/{checkbox-D7iRB3nL.js → checkbox-Bu2T2e0U.js} +1 -1
- package/dist/{checkbox-group-B2_rpoPM.js → checkbox-group-BiryEXPQ.js} +1 -1
- package/dist/chevron-down-CSobuZRG.js +1 -0
- package/dist/chevron-right-DR9ZAP-2.js +1 -0
- package/dist/{choice-card-m0BYqqOK.js → choice-card-CM6IjkmL.js} +1 -1
- package/dist/circle-BC66EYF7.js +1 -0
- package/dist/circle-check-BqmahW0O.js +1 -0
- package/dist/{circle-x-BPG0iPst.js → circle-x-Bk-dA5Wf.js} +1 -1
- package/dist/{code-block-ClMLKb7C.js → code-block-B26t-Q7q.js} +1 -1
- package/dist/{collapsible-B4DlWicL.js → collapsible-Bhc636Cf.js} +1 -1
- package/dist/components/builder-composer-triggers.d.ts +62 -0
- package/dist/components/builder-layout.d.ts +54 -0
- package/dist/components/builder-message-actions.d.ts +72 -0
- package/dist/components/builder-panel.d.ts +189 -0
- package/dist/components/builder-preview.d.ts +11 -0
- package/dist/components/builder-shell-controls.d.ts +69 -0
- package/dist/components/builder-skeleton.d.ts +58 -0
- package/dist/components/builder-start.d.ts +75 -0
- package/dist/components/builder-workspace-variants.d.ts +23 -0
- package/dist/components/captions.d.ts +66 -0
- package/dist/{composer-sQ0HcvyG.js → composer-DMI85B6j.js} +1 -1
- package/dist/{confirm-card-rQWDQsnC.js → confirm-card-B0YIAwXp.js} +1 -1
- package/dist/construct-cli.es.js +3 -3
- package/dist/construct.d.ts +5 -0
- package/dist/construct.js +327 -0
- package/dist/{context-0kg4ZX1J.js → context-DWgfhqWp.js} +1 -1
- package/dist/controllable-BagRpyHv.js +1 -0
- package/dist/{conversation-item-BxwQLaFJ.js → conversation-item-BsOsVGmT.js} +1 -1
- package/dist/{conversation-list-BCfGN1JU.js → conversation-list-aX3Vtc7L.js} +1 -1
- package/dist/{copy-n9u9rqpi.js → copy-BmEwsNhJ.js} +1 -1
- package/dist/core-C8fzo39E.js +1 -12
- package/dist/{create-tween-uPkArjIG.js → create-tween-CNOAU3Fx.js} +1 -1
- package/dist/{create-tween-C-q-JCM-.js → create-tween-WfqiENls.js} +1 -1
- package/dist/{create-tween-CRrJXxBd.js → create-tween-wlFtW9Kh.js} +1 -1
- package/dist/{create-tween-DZ3RRDHD.js → create-tween-zt79ba32.js} +1 -1
- package/dist/{default-input-CaMrJkgH.js → default-input-DMV5Eaze.js} +1 -1
- package/dist/define-CI0y3eE4.js +1 -0
- package/dist/define.js +40 -40
- package/dist/define.server.js +45 -45
- package/dist/{disclosure-WUImBbDv.js → disclosure-NnACBxsC.js} +1 -1
- package/dist/{dropdown-wZVeJOMd.js → dropdown-DT7G0RGR.js} +1 -1
- package/dist/elements/agent-card.js +1 -1
- package/dist/elements/artifact.js +1 -1
- package/dist/elements/attachments.js +1 -1
- package/dist/elements/audio-visualizer.js +1 -1
- package/dist/elements/avatar.js +1 -1
- package/dist/elements/badge.js +1 -1
- package/dist/elements/button.js +1 -1
- package/dist/elements/card.js +1 -1
- package/dist/elements/cards.js +1 -1
- package/dist/elements/chain-of-thought.js +1 -1
- package/dist/elements/chat-scope-picker.js +1 -1
- package/dist/elements/chat-workspace.js +1 -1
- package/dist/elements/chat.js +1 -1
- package/dist/elements/checkbox-group.js +1 -1
- package/dist/elements/checkbox.js +1 -1
- package/dist/elements/checkpoint.js +1 -1
- package/dist/elements/choice.js +1 -1
- package/dist/elements/coachmark.js +1 -1
- package/dist/elements/code-block.js +1 -1
- package/dist/elements/command.js +1 -1
- package/dist/elements/compare.js +1 -1
- package/dist/elements/composer.js +1 -1
- package/dist/elements/confirm-card.js +1 -1
- package/dist/elements/context-meter.js +1 -1
- package/dist/elements/conversation-item.js +1 -1
- package/dist/elements/conversation-list.js +1 -1
- package/dist/elements/dialog.js +1 -1
- package/dist/elements/dock.js +1 -1
- package/dist/elements/dropdown.js +1 -1
- package/dist/elements/editable-label.js +1 -1
- package/dist/elements/embed.js +1 -1
- package/dist/elements/empty.js +1 -1
- package/dist/elements/feedback-bar.js +1 -1
- package/dist/elements/file-tree.js +1 -1
- package/dist/elements/file-upload.js +1 -1
- package/dist/elements/form.js +1 -1
- package/dist/elements/hover-card.js +1 -1
- package/dist/elements/icon.js +1 -1
- package/dist/elements/image.js +1 -1
- package/dist/elements/input.js +1 -1
- package/dist/elements/kbd.js +1 -1
- package/dist/elements/link-preview.js +1 -1
- package/dist/elements/loader.js +1 -1
- package/dist/elements/markdown.js +1 -1
- package/dist/elements/menu.js +1 -1
- package/dist/elements/message-skills.js +1 -1
- package/dist/elements/message.js +1 -1
- package/dist/elements/model-switcher.js +1 -1
- package/dist/elements/nav.js +1 -1
- package/dist/elements/notice.js +1 -1
- package/dist/elements/pane-grid.js +1 -1
- package/dist/elements/pane-group.js +1 -1
- package/dist/elements/pane.js +1 -1
- package/dist/elements/popover.js +1 -1
- package/dist/elements/progress-bar.js +1 -1
- package/dist/elements/prompt-dock.js +1 -1
- package/dist/elements/prompt-input.js +1 -1
- package/dist/elements/prompt-suggestions.js +1 -1
- package/dist/elements/radio-group.js +1 -1
- package/dist/elements/reasoning.js +1 -1
- package/dist/elements/remote.js +1 -1
- package/dist/elements/resizable.js +1 -1
- package/dist/elements/response-stream.js +1 -1
- package/dist/elements/screen.js +1 -1
- package/dist/elements/scroll-area.js +1 -1
- package/dist/elements/scroll-button.js +1 -1
- package/dist/elements/search.js +1 -1
- package/dist/elements/segmented.js +1 -1
- package/dist/elements/select.js +1 -1
- package/dist/elements/separator.js +1 -1
- package/dist/elements/setting-item.js +1 -1
- package/dist/elements/settings-group.js +1 -1
- package/dist/elements/skeleton.js +1 -1
- package/dist/elements/slider.js +1 -1
- package/dist/elements/source.js +1 -1
- package/dist/elements/status.js +1 -1
- package/dist/elements/switch.js +1 -1
- package/dist/elements/tabs.js +1 -1
- package/dist/elements/tasks.js +1 -1
- package/dist/elements/text-shimmer.js +1 -1
- package/dist/elements/thinking-bar.js +1 -1
- package/dist/elements/thread.js +1 -1
- package/dist/elements/toast.js +1 -1
- package/dist/elements/tool.js +1 -1
- package/dist/elements/tooltip.js +1 -1
- package/dist/elements/voice-input.js +1 -1
- package/dist/elements/voice-output.js +1 -1
- package/dist/{ellipsis-CbOpJnU3.js → ellipsis-6pJ7SxYT.js} +1 -1
- package/dist/{embed-CrfjkbUG.js → embed-BMje-nxj.js} +1 -1
- package/dist/engine-javascript-C1x7zo1_.js +1 -141
- package/dist/{external-link-ByXAwBBQ.js → external-link-Beh9DKeR.js} +1 -1
- package/dist/{file-text-DMib2qwt.js → file-text-D1GPfZ8Q.js} +1 -1
- package/dist/{file-tree-CJqM2aP7.js → file-tree-Dwj2lqg-.js} +1 -1
- package/dist/{folder-_BAb929C.js → folder-b6D8x1DY.js} +1 -1
- package/dist/{form-DSZgZQZk.js → form-DWgdxDXu.js} +1 -1
- package/dist/{hover-card-BQbul9eq.js → hover-card-CWRkqm40.js} +1 -1
- package/dist/{icon-CdcfRhYI.js → icon-CL0jdhsf.js} +1 -1
- package/dist/index.js +1741 -1725
- package/dist/index.server.js +1582 -1566
- package/dist/{info-DsFjGuI_.js → info-0cOUherQ.js} +1 -1
- package/dist/{input-DKbmkMos.js → input-BH6Ru91Q.js} +1 -1
- package/dist/kai.es.js +1 -1
- package/dist/{kbd-PvdGhX4s.js → kbd-DRAnVtNX.js} +1 -1
- package/dist/{link-zF8PzWfF.js → link-Dlr0vssB.js} +1 -1
- package/dist/{link-preview-DbM1866N.js → link-preview-DODgRyV9.js} +1 -1
- package/dist/loader-KvJB6NrT.js +1 -0
- package/dist/{markdown-LMvmAyBk.js → markdown-DX9tuJVj.js} +1 -1
- package/dist/mcp.es.js +9 -5
- package/dist/{message-BYZECyek.js → message-BqQ7Ot5q.js} +1 -1
- package/dist/{message-BSsgvHvf.js → message-DkaGfBd8.js} +1 -1
- package/dist/message-circle-BPpp5QKv.js +1 -0
- package/dist/message-square-BLbsd9BJ.js +1 -0
- package/dist/{minimize-2-BQRoBV1V.js → minimize-2-CyOHJwcN.js} +1 -1
- package/dist/{model-switcher-CMpCOYcB.js → model-switcher-0hrKDiK2.js} +1 -1
- package/dist/{overlay-Cb-MkyDa.js → overlay-DBMFXie6.js} +1 -1
- package/dist/{panel-right-i8warFxT.js → panel-right-t8SWJL6e.js} +1 -1
- package/dist/{paperclip-ByY3UVO6.js → paperclip-CdzuOjbU.js} +1 -1
- package/dist/play-BXy1u7rW.js +1 -0
- package/dist/primitives/use-auto-resize.d.ts +11 -0
- package/dist/{progress-bar-jVAHvMUf.js → progress-bar-CiBtxMWT.js} +1 -1
- package/dist/{prompt-suggestion-CD-qtNgC.js → prompt-suggestion-I_DHP21i.js} +1 -1
- package/dist/{radio-BsoBMhkF.js → radio-C_p3n39l.js} +1 -1
- package/dist/{reasoning-4kBPtlTx.js → reasoning-BDwy_tIe.js} +1 -1
- package/dist/register-impl-DvEnhIxx.js +424 -0
- package/dist/{resizable-uPmY9VY-.js → resizable-SYC-fStM.js} +1 -1
- package/dist/{rotate-ccw-B2xn93py.js → rotate-ccw-B1nwmwuY.js} +1 -1
- package/dist/{rotate-cw-CMVLoCyH.js → rotate-cw-CLAnBcm1.js} +1 -1
- package/dist/{scroll-area-BqLUo8ZZ.js → scroll-area-zRyXoLhI.js} +1 -1
- package/dist/{scroll-button-DslXiJyL.js → scroll-button-jzrbYCG9.js} +1 -1
- package/dist/{select-2cLRtPGT.js → select-DM-0nEe0.js} +1 -1
- package/dist/{separator-BWQtNJcM.js → separator-BToOOoOt.js} +1 -1
- package/dist/{settings-BBR63jLg.js → settings-PaGo_S4U.js} +1 -1
- package/dist/{settings-group-B2ciy-Iw.js → settings-group-BFXGIfXq.js} +1 -1
- package/dist/{skeleton-CkHI-HgC.js → skeleton-DYpmFnnm.js} +1 -1
- package/dist/{slider-DDR9U-i0.js → slider-ebutAmkQ.js} +1 -1
- package/dist/{solid-DruVOXnf.js → solid-15v_3WVL.js} +3563 -3412
- package/dist/{solid-BzCFdL25.js → solid-5P-otgdi.js} +4502 -4296
- package/dist/solid.d.ts +6 -0
- package/dist/solid.js +259 -254
- package/dist/solid.server.js +259 -254
- package/dist/{source-GEnFF528.js → source-c1gpRl9h.js} +1 -1
- package/dist/{star-CilHq8GP.js → star-pcV_3LqF.js} +1 -1
- package/dist/{store-Ciyk6eZG.js → store-CSgbFFCg.js} +1 -1
- package/dist/{switch-KkeQIbuH.js → switch-Bh2OdLV2.js} +1 -1
- package/dist/{tasks-card-BrN4bggJ.js → tasks-card-CbqQAn2S.js} +1 -1
- package/dist/text-shimmer-BSzgEnDH.js +1 -0
- package/dist/textarea-DrYNt_0z.js +1 -0
- package/dist/theme.tokens.css +22 -21
- package/dist/{thumbs-up-CsT9Wzb9.js → thumbs-up-BL3-NenK.js} +1 -1
- package/dist/{toast-store-tgK6MuMv.js → toast-store-DkOlYczt.js} +1 -1
- package/dist/{tool-DzUjIBT8.js → tool-CeIWUVUe.js} +1 -1
- package/dist/{tooltip-Bkkg_4t0.js → tooltip-GA-nmg06.js} +1 -1
- package/dist/{trash-2-jBKxjGGQ.js → trash-2-CT66QWlm.js} +1 -1
- package/dist/{triangle-alert-DlQ68ppf.js → triangle-alert-CeHLWxhD.js} +1 -1
- package/dist/ui/color-field.d.ts +48 -0
- package/dist/ui/textarea.d.ts +4 -0
- package/dist/ui/toggle-chip.d.ts +40 -0
- package/dist/{upload-TcAHXv9W.js → upload-9Csb0F0J.js} +1 -1
- package/dist/{use-card-resolution-DaZqAdWf.js → use-card-resolution-Zg0a08Z-.js} +1 -1
- package/dist/{variant-aurora-DbW_OWL2.js → variant-aurora-4VBQHIKV.js} +1 -1
- package/dist/{variant-aurora-CNmfHhcx.js → variant-aurora-DBeCAQNk.js} +2 -2
- package/dist/{variant-aurora-D6GsdTPA.js → variant-aurora-FzHVXHby.js} +2 -2
- package/dist/{variant-aurora-BhLuYxJR.js → variant-aurora-LE3fqxgw.js} +1 -1
- package/dist/{variant-custom-BvYHR62b.js → variant-custom-AFRGcOBS.js} +1 -1
- package/dist/{variant-custom-DV2x254s.js → variant-custom-BQkNuPpE.js} +2 -2
- package/dist/{variant-custom-BRvaNHSi.js → variant-custom-DI5R0rln.js} +1 -1
- package/dist/{variant-custom-DMTrEO5w.js → variant-custom-WWnrrRHS.js} +2 -2
- package/dist/{variant-wave-CyBueXj9.js → variant-wave-DUCbH5oI.js} +2 -2
- package/dist/{variant-wave-BNMGrDfj.js → variant-wave-DuQV7DhQ.js} +2 -2
- package/dist/{variant-wave-BpDd8t3Z.js → variant-wave-nSI2sfII.js} +1 -1
- package/dist/{variant-wave-sp-qwsdI.js → variant-wave-wTP5v_jU.js} +1 -1
- package/dist/x-eiO9V6J6.js +1 -0
- package/{src/elements/styles.css → kit-base.css} +27 -44
- package/package.json +32 -17
- package/solid.css +33 -0
- package/theme.css +39 -23
- package/bin/route.test.js +0 -58
- package/dist/arrow-down-CjRU3JgV.js +0 -1
- package/dist/arrow-left-Bnpb1UEW.js +0 -1
- package/dist/artifact-Bwt7OgcR.js +0 -1
- package/dist/check-njkVdZu2.js +0 -1
- package/dist/chevron-down-B72s6PXR.js +0 -1
- package/dist/chevron-right-BatuHzUm.js +0 -1
- package/dist/circle-check-B62pODB3.js +0 -1
- package/dist/circle-zx0ByzY9.js +0 -1
- package/dist/controllable-CnGpMF6r.js +0 -1
- package/dist/define-By-uL588.js +0 -1
- package/dist/loader-BM4CEz4G.js +0 -1
- package/dist/message-circle-DruwObfX.js +0 -1
- package/dist/message-square-BG6q6mlm.js +0 -1
- package/dist/play-BvKKq3fX.js +0 -1
- package/dist/register-impl-B1hLkrI8.js +0 -424
- package/dist/text-shimmer-Dcj1MHuq.js +0 -1
- package/dist/textarea-Dpvbngbg.js +0 -1
- package/dist/x-Z5UntkIJ.js +0 -1
- package/src/agent-tooling/README.md +0 -192
- package/src/agent-tooling/archetypes.ts +0 -205
- package/src/agent-tooling/catalog/README.md +0 -676
- package/src/agent-tooling/catalog/catalog-types.ts +0 -231
- package/src/agent-tooling/catalog/fabrications.ts +0 -96
- package/src/agent-tooling/catalog/invariants.ts +0 -284
- package/src/agent-tooling/catalog/labs-titles.ts +0 -114
- package/src/agent-tooling/catalog/scenarios.ts +0 -87
- package/src/agent-tooling/catalog/surfaces.ts +0 -347
- package/src/agent-tooling/construct/cli-entry.ts +0 -8
- package/src/agent-tooling/construct/cli.ts +0 -147
- package/src/agent-tooling/construct/codegen.ts +0 -1635
- package/src/agent-tooling/construct/construct.v1.schema.json +0 -319
- package/src/agent-tooling/construct/dev.ts +0 -148
- package/src/agent-tooling/construct/fixtures/demo-widget.construct.json +0 -7
- package/src/agent-tooling/construct/fixtures/ops-console.construct.json +0 -44
- package/src/agent-tooling/construct/fixtures/owner-widget.construct.json +0 -32
- package/src/agent-tooling/construct/schema.ts +0 -452
- package/src/agent-tooling/integrations/anthropic.ts +0 -442
- package/src/agent-tooling/integrations/cloudflare.ts +0 -218
- package/src/agent-tooling/integrations/langgraph.ts +0 -133
- package/src/agent-tooling/integrations/mastra.ts +0 -182
- package/src/agent-tooling/integrations/mock.ts +0 -148
- package/src/agent-tooling/integrations/ollama.ts +0 -97
- package/src/agent-tooling/integrations/openai.ts +0 -95
- package/src/agent-tooling/integrations/openrouter.ts +0 -82
- package/src/agent-tooling/integrations/pi.ts +0 -176
- package/src/agent-tooling/integrations/pydantic-ai.ts +0 -108
- package/src/agent-tooling/integrations/vercel-ai-sdk.ts +0 -398
- package/src/agent-tooling/mcp/css-raw.d.ts +0 -12
- package/src/agent-tooling/mcp/manifest.ts +0 -422
- package/src/agent-tooling/mcp/server.ts +0 -116
- package/src/agent-tooling/mcp/stdio.ts +0 -18
- package/src/agent-tooling/mcp/tools/construct.ts +0 -130
- package/src/agent-tooling/mcp/tools/debug.ts +0 -621
- package/src/agent-tooling/mcp/tools/reference.ts +0 -980
- package/src/agent-tooling/mcp/tools/scaffold.ts +0 -6708
- package/src/agent-tooling/mcp/tools/theme.ts +0 -456
- package/src/agent-tooling/mcp/tools/types.ts +0 -14
- package/src/agent-tooling/mcp/validate-args.ts +0 -141
- package/src/agent-tooling/recipes/composed-thread.ts +0 -714
- package/src/agent-tooling/recipes/index.ts +0 -22
- package/src/agent-tooling/recipes/types.ts +0 -32
- package/src/agent-tooling/registry.ts +0 -132
- package/src/agent-tooling/route-emit.ts +0 -305
- package/src/agent-tooling/types.ts +0 -390
- package/src/components/artifact-card.tsx +0 -120
- package/src/components/artifact.tsx +0 -914
- package/src/components/attachment-types.ts +0 -66
- package/src/components/attachments.tsx +0 -536
- package/src/components/audio-visualizer/audio-visualizer.voice-fixture.ts +0 -257
- package/src/components/audio-visualizer/aurora.glsl.ts +0 -330
- package/src/components/audio-visualizer/fit-scale.ts +0 -112
- package/src/components/audio-visualizer/index.tsx +0 -528
- package/src/components/audio-visualizer/labs/lab-choreography.ts +0 -187
- package/src/components/audio-visualizer/labs/lab-shaders.ts +0 -363
- package/src/components/audio-visualizer/labs/lab-visualizer.tsx +0 -102
- package/src/components/audio-visualizer/shader-canvas.tsx +0 -876
- package/src/components/audio-visualizer/sizes.ts +0 -54
- package/src/components/audio-visualizer/variant-aurora.tsx +0 -305
- package/src/components/audio-visualizer/variant-bar.tsx +0 -175
- package/src/components/audio-visualizer/variant-custom.tsx +0 -344
- package/src/components/audio-visualizer/variant-grid.tsx +0 -175
- package/src/components/audio-visualizer/variant-radial.tsx +0 -163
- package/src/components/audio-visualizer/variant-wave.tsx +0 -130
- package/src/components/audio-visualizer/wave.glsl.ts +0 -130
- package/src/components/card-fallback.tsx +0 -60
- package/src/components/card-renderer.tsx +0 -220
- package/src/components/card.tsx +0 -212
- package/src/components/chain-of-thought.tsx +0 -348
- package/src/components/chat-container.tsx +0 -89
- package/src/components/chat-scope-picker.tsx +0 -57
- package/src/components/chat-thread.tsx +0 -1014
- package/src/components/checkpoint.tsx +0 -88
- package/src/components/choice-card.tsx +0 -743
- package/src/components/coachmark.tsx +0 -249
- package/src/components/code-block.tsx +0 -181
- package/src/components/composer-dom.ts +0 -159
- package/src/components/composer-highlight.ts +0 -242
- package/src/components/composer-history.ts +0 -82
- package/src/components/composer.tsx +0 -1075
- package/src/components/confirm-card.tsx +0 -402
- package/src/components/context.tsx +0 -377
- package/src/components/conversation-item.tsx +0 -241
- package/src/components/conversation-list.tsx +0 -429
- package/src/components/conversation-panel.tsx +0 -118
- package/src/components/dismissed-stub.tsx +0 -80
- package/src/components/embed.tsx +0 -200
- package/src/components/empty.tsx +0 -177
- package/src/components/feedback-bar.tsx +0 -166
- package/src/components/file-tree.tsx +0 -530
- package/src/components/file-upload.tsx +0 -167
- package/src/components/form-widgets.tsx +0 -525
- package/src/components/form.tsx +0 -1296
- package/src/components/home-panel.tsx +0 -159
- package/src/components/image.tsx +0 -65
- package/src/components/link-preview.tsx +0 -195
- package/src/components/loader.tsx +0 -367
- package/src/components/markdown.tsx +0 -162
- package/src/components/message-skills.tsx +0 -40
- package/src/components/message.tsx +0 -765
- package/src/components/model-switcher.tsx +0 -132
- package/src/components/prompt-input.tsx +0 -188
- package/src/components/prompt-suggestion.tsx +0 -150
- package/src/components/reasoning.tsx +0 -293
- package/src/components/response-compare-types.ts +0 -152
- package/src/components/response-compare.tsx +0 -455
- package/src/components/response-stream.tsx +0 -109
- package/src/components/screen.tsx +0 -181
- package/src/components/scroll-button.tsx +0 -93
- package/src/components/source.tsx +0 -192
- package/src/components/tasks-card.tsx +0 -801
- package/src/components/text-shimmer.tsx +0 -37
- package/src/components/thinking-bar.tsx +0 -50
- package/src/components/thread.tsx +0 -228
- package/src/components/toast.tsx +0 -503
- package/src/components/tool-classify.ts +0 -26
- package/src/components/tool-types.ts +0 -49
- package/src/components/tool.tsx +0 -190
- package/src/components/use-card-resolution.ts +0 -44
- package/src/components/voice-input.tsx +0 -222
- package/src/components/voice-output.tsx +0 -242
- package/src/components/widget-tab-bar.tsx +0 -73
- package/src/components/workspace-shell.tsx +0 -285
- package/src/diagnostics/hook.ts +0 -352
- package/src/diagnostics/index.ts +0 -82
- package/src/diagnostics/report-request.ts +0 -296
- package/src/elements/agent-card.tsx +0 -67
- package/src/elements/artifact.tsx +0 -194
- package/src/elements/attachments.tsx +0 -140
- package/src/elements/audio-visualizer.tsx +0 -227
- package/src/elements/autoloader.ts +0 -89
- package/src/elements/avatar.tsx +0 -33
- package/src/elements/badge.tsx +0 -32
- package/src/elements/button.tsx +0 -149
- package/src/elements/card.tsx +0 -133
- package/src/elements/cards.tsx +0 -266
- package/src/elements/chain-of-thought.tsx +0 -141
- package/src/elements/chat-scope-picker.tsx +0 -65
- package/src/elements/chat-types.ts +0 -102
- package/src/elements/chat-workspace.tsx +0 -188
- package/src/elements/chat.tsx +0 -304
- package/src/elements/checkbox-group.tsx +0 -164
- package/src/elements/checkbox.tsx +0 -134
- package/src/elements/checkpoint.tsx +0 -47
- package/src/elements/choice.tsx +0 -100
- package/src/elements/coachmark.tsx +0 -90
- package/src/elements/code-block.tsx +0 -60
- package/src/elements/command.tsx +0 -197
- package/src/elements/compare.tsx +0 -111
- package/src/elements/compiled.css +0 -2
- package/src/elements/composer.tsx +0 -162
- package/src/elements/confirm-card.tsx +0 -76
- package/src/elements/context-meter.tsx +0 -107
- package/src/elements/conversation-item.tsx +0 -120
- package/src/elements/conversation-list.tsx +0 -203
- package/src/elements/css.ts +0 -5
- package/src/elements/default-input.tsx +0 -392
- package/src/elements/define-entry.ts +0 -12
- package/src/elements/define.tsx +0 -563
- package/src/elements/diagnostic-events.ts +0 -114
- package/src/elements/dialog.tsx +0 -145
- package/src/elements/disclosure.ts +0 -95
- package/src/elements/dock.tsx +0 -215
- package/src/elements/dropdown.tsx +0 -123
- package/src/elements/editable-label.tsx +0 -140
- package/src/elements/element-data-types.ts +0 -152
- package/src/elements/element-diagnostics.ts +0 -392
- package/src/elements/element-manifest.json +0 -354
- package/src/elements/element-nonscalar.json +0 -187
- package/src/elements/element-types.d.ts +0 -4353
- package/src/elements/embed.tsx +0 -35
- package/src/elements/empty.tsx +0 -29
- package/src/elements/feedback-bar.tsx +0 -66
- package/src/elements/file-tree.tsx +0 -62
- package/src/elements/file-upload.tsx +0 -44
- package/src/elements/form.tsx +0 -94
- package/src/elements/hover-card.tsx +0 -80
- package/src/elements/icon.tsx +0 -41
- package/src/elements/image.tsx +0 -32
- package/src/elements/input.tsx +0 -492
- package/src/elements/kbd.tsx +0 -45
- package/src/elements/link-preview.tsx +0 -34
- package/src/elements/loader.tsx +0 -25
- package/src/elements/markdown.tsx +0 -38
- package/src/elements/menu.tsx +0 -241
- package/src/elements/message-skills.tsx +0 -83
- package/src/elements/message.tsx +0 -361
- package/src/elements/model-switcher.tsx +0 -121
- package/src/elements/nav.tsx +0 -87
- package/src/elements/notice.tsx +0 -53
- package/src/elements/pane-grid.tsx +0 -111
- package/src/elements/pane-group.tsx +0 -119
- package/src/elements/pane.tsx +0 -129
- package/src/elements/popover.tsx +0 -81
- package/src/elements/progress-bar.tsx +0 -39
- package/src/elements/prompt-dock.tsx +0 -82
- package/src/elements/prompt-input.tsx +0 -240
- package/src/elements/prompt-suggestions.tsx +0 -113
- package/src/elements/radio-group.tsx +0 -129
- package/src/elements/reasoning.tsx +0 -71
- package/src/elements/register-impl.ts +0 -148
- package/src/elements/register.ts +0 -76
- package/src/elements/remote.tsx +0 -225
- package/src/elements/resizable.globals.d.ts +0 -36
- package/src/elements/resizable.tsx +0 -704
- package/src/elements/response-stream.tsx +0 -40
- package/src/elements/screen.tsx +0 -90
- package/src/elements/scroll-area.tsx +0 -33
- package/src/elements/scroll-button.tsx +0 -179
- package/src/elements/search.tsx +0 -185
- package/src/elements/segmented.tsx +0 -129
- package/src/elements/select.tsx +0 -165
- package/src/elements/separator.tsx +0 -36
- package/src/elements/setting-item.tsx +0 -50
- package/src/elements/settings-group.tsx +0 -37
- package/src/elements/skeleton.tsx +0 -45
- package/src/elements/slider.tsx +0 -171
- package/src/elements/slot-text.ts +0 -73
- package/src/elements/slots.ts +0 -787
- package/src/elements/source.tsx +0 -126
- package/src/elements/status.tsx +0 -42
- package/src/elements/switch.tsx +0 -118
- package/src/elements/tabs.tsx +0 -95
- package/src/elements/tasks.tsx +0 -103
- package/src/elements/text-shimmer.tsx +0 -28
- package/src/elements/thinking-bar.tsx +0 -43
- package/src/elements/thread.tsx +0 -139
- package/src/elements/toast.tsx +0 -106
- package/src/elements/tool.tsx +0 -78
- package/src/elements/tooltip.tsx +0 -85
- package/src/elements/validate-messages.ts +0 -76
- package/src/elements/voice-input.tsx +0 -100
- package/src/elements/voice-output.tsx +0 -82
- package/src/index.ts +0 -430
- package/src/primitives/audio-bands.ts +0 -174
- package/src/primitives/card-component-types.ts +0 -63
- package/src/primitives/card-contract.ts +0 -80
- package/src/primitives/card-data-types.ts +0 -361
- package/src/primitives/card-host.tsx +0 -37
- package/src/primitives/card-recovery.ts +0 -160
- package/src/primitives/card-registry.tsx +0 -78
- package/src/primitives/card-resolution.ts +0 -36
- package/src/primitives/card-routing.ts +0 -85
- package/src/primitives/card-schemas/artifact.schema.json +0 -92
- package/src/primitives/card-schemas/card-envelope.schema.json +0 -14
- package/src/primitives/card-schemas/card-event.schema.json +0 -12
- package/src/primitives/card-schemas/choice.schema.json +0 -75
- package/src/primitives/card-schemas/confirm.schema.json +0 -65
- package/src/primitives/card-schemas/embed.schema.json +0 -63
- package/src/primitives/card-schemas/form.result.schema.json +0 -7
- package/src/primitives/card-schemas/form.schema.json +0 -53
- package/src/primitives/card-schemas/link.schema.json +0 -54
- package/src/primitives/card-schemas/tasks.result.schema.json +0 -16
- package/src/primitives/card-schemas/tasks.schema.json +0 -83
- package/src/primitives/card-tags.ts +0 -61
- package/src/primitives/card-validate-cards.ts +0 -255
- package/src/primitives/card-validate-schemas.ts +0 -58
- package/src/primitives/card-validate.ts +0 -131
- package/src/primitives/chat-config.tsx +0 -103
- package/src/primitives/composer-model.ts +0 -49
- package/src/primitives/composer-triggers.ts +0 -35
- package/src/primitives/controllable.ts +0 -21
- package/src/primitives/conversation-store.ts +0 -248
- package/src/primitives/create-kai-chat.ts +0 -66
- package/src/primitives/create-tween.ts +0 -266
- package/src/primitives/embed-providers.ts +0 -254
- package/src/primitives/field-mask.ts +0 -256
- package/src/primitives/field-semantics.ts +0 -115
- package/src/primitives/highlighter.ts +0 -157
- package/src/primitives/input-mask.ts +0 -853
- package/src/primitives/link-preview.ts +0 -87
- package/src/primitives/message-feedback.ts +0 -124
- package/src/primitives/pdf-preview.ts +0 -121
- package/src/primitives/toast-store.ts +0 -338
- package/src/primitives/url-scheme-policy.ts +0 -70
- package/src/primitives/use-audio-analysis.ts +0 -340
- package/src/primitives/use-auto-resize.ts +0 -31
- package/src/primitives/use-resize-observer.ts +0 -45
- package/src/primitives/use-sequencer.ts +0 -72
- package/src/primitives/use-speech-recognition.ts +0 -146
- package/src/primitives/use-stick-to-bottom.ts +0 -75
- package/src/primitives/use-text-stream.ts +0 -143
- package/src/primitives/use-voice-recorder.ts +0 -62
- package/src/primitives/visualizer-sequences.ts +0 -350
- package/src/remote/host-embed.ts +0 -345
- package/src/remote/index.ts +0 -2
- package/src/remote/origin.ts +0 -30
- package/src/remote/provider-runtime.ts +0 -262
- package/src/remote/provider.ts +0 -2
- package/src/remote/validate.ts +0 -22
- package/src/remote/version.ts +0 -12
- package/src/remote/wire.ts +0 -48
- package/src/schemas/from-tool-call.ts +0 -151
- package/src/schemas/index.ts +0 -341
- package/src/schemas/provider-subsets.ts +0 -538
- package/src/schemas/registry.ts +0 -355
- package/src/schemas/tool-defs.ts +0 -793
- package/src/solid.ts +0 -173
- package/src/state/index.ts +0 -44
- package/src/state/messages.ts +0 -53
- package/src/state/mock.ts +0 -297
- package/src/state/parts.ts +0 -295
- package/src/state/persistence.ts +0 -180
- package/src/state/stream.ts +0 -246
- package/src/state/suggestions.ts +0 -9
- package/src/state/threads.ts +0 -142
- package/src/test-utils/fake-clock.ts +0 -88
- package/src/types.ts +0 -95
- package/src/ui/action-icons.ts +0 -53
- package/src/ui/agent-card.tsx +0 -218
- package/src/ui/avatar.tsx +0 -23
- package/src/ui/badge.tsx +0 -21
- package/src/ui/button.tsx +0 -49
- package/src/ui/card.tsx +0 -245
- package/src/ui/checkbox-group.tsx +0 -153
- package/src/ui/checkbox.tsx +0 -63
- package/src/ui/collapsible.tsx +0 -163
- package/src/ui/command.tsx +0 -103
- package/src/ui/dialog.tsx +0 -223
- package/src/ui/dock.tsx +0 -630
- package/src/ui/dropdown.tsx +0 -636
- package/src/ui/editable-label.tsx +0 -112
- package/src/ui/hover-card.tsx +0 -345
- package/src/ui/icon.tsx +0 -167
- package/src/ui/input.tsx +0 -391
- package/src/ui/kbd.tsx +0 -118
- package/src/ui/nav.tsx +0 -282
- package/src/ui/notice.tsx +0 -84
- package/src/ui/overlay.tsx +0 -277
- package/src/ui/pane-grid.tsx +0 -117
- package/src/ui/pane-group.tsx +0 -291
- package/src/ui/pane.tsx +0 -193
- package/src/ui/popover.tsx +0 -106
- package/src/ui/progress-bar.tsx +0 -83
- package/src/ui/prompt-dock.tsx +0 -145
- package/src/ui/radio.tsx +0 -150
- package/src/ui/resizable.tsx +0 -693
- package/src/ui/scroll-area.tsx +0 -26
- package/src/ui/segmented.tsx +0 -109
- package/src/ui/select.tsx +0 -168
- package/src/ui/separator.tsx +0 -10
- package/src/ui/settings-group.tsx +0 -67
- package/src/ui/skeleton.tsx +0 -73
- package/src/ui/slider.tsx +0 -178
- package/src/ui/status.tsx +0 -48
- package/src/ui/switch.tsx +0 -119
- package/src/ui/tabs.tsx +0 -168
- package/src/ui/textarea.tsx +0 -21
- package/src/ui/tooltip.tsx +0 -118
- package/src/utils/cn.ts +0 -30
- package/src/wire/chunk.ts +0 -248
- package/src/wire/consume.ts +0 -599
- package/src/wire/diagnostics.ts +0 -727
- package/src/wire/encode-probe.ts +0 -214
- package/src/wire/encode.ts +0 -947
- package/src/wire/files.ts +0 -342
- package/src/wire/formats/anthropic.ts +0 -274
- package/src/wire/formats/openai.ts +0 -228
- package/src/wire/index.ts +0 -95
- package/src/wire/media-types.ts +0 -344
- package/src/wire/read.ts +0 -396
- package/src/wire/sink-helpers.ts +0 -50
- package/src/wire/sse.ts +0 -153
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as C,g as b,j as k,o as q,h as I,c as M}from"../define-
|
|
1
|
+
import{f as C,g as b,j as k,o as q,h as I,c as M}from"../define-CI0y3eE4.js";import{D as V}from"../default-input-DMV5Eaze.js";import{n as g,e as R,s as f}from"../composer-DMI85B6j.js";C("kai-prompt-input",{value:void 0,placeholder:"Send a message...",disabled:!1,loading:!1,suggestions:void 0,suggestionMode:"submit",webSearch:!1,voice:!1,stoppable:!1,submit:"always",attach:!0,attachments:void 0,triggers:void 0,kindIcons:void 0},(o,{dispatch:a,flag:s,element:c,expose:S})=>{const[w,h]=b(o.value??""),[l,r]=b(o.attachments??[]);k(()=>{o.attachments&&r(o.attachments)});const[x,y]=b([]);q(()=>{const t=()=>{const u=[...c.querySelectorAll("kai-action")];y(u.map(n=>{var p;return{id:n.id||n.getAttribute("action")||"",label:((p=n.textContent)==null?void 0:p.trim())||n.getAttribute("label")||n.id||"",icon:n.getAttribute("icon")??void 0,tooltip:n.getAttribute("tooltip")??void 0}}))};t();const e=new MutationObserver(t);e.observe(c,{childList:!0,attributes:!0,subtree:!0}),I(()=>e.disconnect())});const m=()=>typeof o.value=="string"?o.value:w();let i={doc:[],text:"",entities:[]};k(()=>{const t=o.value;if(t!=null&&typeof t!="string"){const e=g(t);h(e),i={doc:e,text:f(e),entities:R(e)}}});const d=t=>{h(t),t!==i.text&&(i={doc:g(t),text:t,entities:[]}),a("kai-value-change",{value:t,doc:i.doc,entities:i.entities})},v=()=>{a("kai-submit",{value:f(g(m())),doc:i.doc,entities:i.entities,attachments:l()}),r([])},A=t=>{(o.suggestionMode??"submit")==="fill"?(d(t),a("kai-suggestion-click",{value:t})):(a("kai-submit",{value:t,doc:g(t),entities:[],attachments:l()}),r([]))};return S({focus:t=>{const e=c.shadowRoot,u=e?.querySelector('[contenteditable]:not([contenteditable="false"]), textarea')??e?.querySelector('input:not([type="file"])');u?.focus(t)},blur:()=>{var t,e;return(e=(t=c.shadowRoot)==null?void 0:t.activeElement)==null?void 0:e.blur()},clear:()=>{d(""),l().length&&(r([]),a("kai-attachments-change",{attachments:[]}))},send:()=>v()}),M(V,{get value(){return m()},get placeholder(){return o.placeholder},get disabled(){return s("disabled")},get loading(){return s("loading")},get stoppable(){return s("stoppable")},get submit(){return o.submit},get attach(){return s("attach")},get suggestions(){return o.suggestions},get attachments(){return l()},get webSearch(){return s("webSearch")},get voice(){return s("voice")},get toolbarActions(){return x()},get triggers(){return o.triggers},get kindIcons(){return o.kindIcons},onComposerChange:t=>{i=t},onValueChange:d,onSubmit:v,onSuggestionClick:A,onAttachmentsChange:t=>{r(t),a("kai-attachments-change",{attachments:t})},onWebSearch:()=>a("kai-web-search"),onVoice:()=>a("kai-voice"),onStop:()=>a("kai-stop"),onAction:t=>a("kai-toolbar-action",{action:t})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as b,g as f,o as p,h as d,i as k,c as a,F as m,a as x,b as y,t as z}from"../define-
|
|
1
|
+
import{f as b,g as f,o as p,h as d,i as k,c as a,F as m,a as x,b as y,t as z}from"../define-CI0y3eE4.js";import{P as A}from"../prompt-suggestion-I_DHP21i.js";var w=z("<div>");const C=e=>typeof e=="string"?e:e.label,S=e=>typeof e=="string"?e:e.value??e.label,O=e=>typeof e=="string"?void 0:e.icon;function l(e){var s;const r=((s=e.textContent)==null?void 0:s.trim())??"",n=e.getAttribute("value")??r;return{label:r,value:n,icon:e.getAttribute("icon")??void 0}}b("kai-suggestions",{suggestions:[],variant:"outline",size:"md",layout:"chips",block:!1,highlight:void 0},(e,{dispatch:s,flag:r,element:n})=>{const[g,u]=f([]);p(()=>{const t=()=>{const h=[...n.querySelectorAll("kai-suggestion")];u(h.map(l))};t();const i=new MutationObserver(t);i.observe(n,{childList:!0,attributes:!0,subtree:!0}),d(()=>i.disconnect())});const c=()=>[...e.suggestions??[],...g()],o=()=>e.layout==="list",v=()=>o()?"flex flex-col gap-0.5":r("block")?"flex flex-col gap-2":"flex flex-wrap gap-2";return(()=>{var t=w();return k(t,a(m,{get each(){return c()},children:i=>a(A,{get variant(){return e.variant},get size(){return e.size},get icon(){return O(i)},get block(){return r("block")},get list(){return o()},get highlight(){return e.highlight},onClick:()=>s("kai-select",{value:S(i)}),get children(){return C(i)}})})),x(()=>y(t,v())),t})()});export{l as parseSuggestionNode};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as m,g as f,z as o,j as A,c as h}from"../define-
|
|
1
|
+
import{f as m,g as f,z as o,j as A,c as h}from"../define-CI0y3eE4.js";import{R as k}from"../radio-C_p3n39l.js";m("kai-radio-group",{options:[],value:void 0,name:void 0,disabled:void 0,label:void 0},(l,s)=>{const{element:t,dispatch:d,flag:v,expose:g}=s,[a,u]=f(l.value??t.getAttribute("value")??""),b=e=>e==null?t.getAttribute("value")??"":String(e),c=e=>{o(a)!==e&&(u(e),d("kai-change",{value:e}))};return Object.defineProperty(t,"value",{get:()=>a(),set:e=>{const r=b(e);o(a)!==r&&u(r)},configurable:!0,enumerable:!0}),A(()=>{const e=a();e?t.getAttribute("value")!==e&&t.setAttribute("value",e):t.hasAttribute("value")&&t.removeAttribute("value")}),g({focus:e=>{var r;const i=t.shadowRoot,n=[...i?.querySelectorAll('input[type="radio"]')??[]];(r=n.find(p=>p.checked)??n[0])==null||r.focus(e)}}),h(k,{get options(){return l.options??[]},get value(){return a()},get name(){return l.name},get disabled(){return v("disabled")},get label(){return l.label},onChange:e=>c(e)})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as d,A as i,c as r,C as s}from"../define-
|
|
1
|
+
import{f as d,A as i,c as r,C as s}from"../define-CI0y3eE4.js";import{R as g,a as u,b as m}from"../reasoning-BDwy_tIe.js";import{w as f}from"../disclosure-NnACBxsC.js";d("kai-reasoning",{text:"",label:"Reasoning",open:void 0,defaultOpen:void 0,streaming:!1,markdown:!0,disabled:void 0},(t,n)=>{const{flag:e}=n,o=i();let a;return f(n,()=>a,()=>t.open),r(s,{get portalMount(){return o.portalMount()},get children(){return r(g,{get defaultOpen(){return e("defaultOpen")},get isStreaming(){return e("streaming")},get disabled(){return e("disabled")},controllerRef:l=>a=l,get children(){return[r(u,{get children(){return t.label}}),r(m,{get markdown(){return e("markdown")},get children(){return t.text}})]}})}})});
|
package/dist/elements/remote.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as J,g as K,h as T,o as Q,j as X}from"../define-
|
|
1
|
+
import{f as J,g as K,h as T,o as Q,j as X}from"../define-CI0y3eE4.js";import{r as Y,e as Z}from"../card-routing-0YidER_3.js";const q="kitn-card";function M(n,e){return function(o){return{protocol:q,version:n,nonce:e,message:o}}}function ee(n,e){if(typeof n!="object"||n===null)return!1;const o=n,t=o.message;return o.protocol===q&&typeof o.version=="string"&&typeof o.nonce=="string"&&typeof t=="object"&&t!==null&&t.dir===e}function ne(n,e,o){const t=new URL(n).origin;if(e===o)throw new Error("[kai-remote] providerOrigin must be cross-origin to the host");if(t===o)throw new Error("[kai-remote] src must not be same-origin as the host");if(t!==e)throw new Error("[kai-remote] src origin must equal providerOrigin")}const te=new Set(["protocol","version","dir","kind","mode","locale","edge","code","acceptedVersion","supportedVersions","cardId","type","id","height","target"]),oe=new Set(["authToken","nonce"]);function O(n){if(Array.isArray(n))return n.map(O);if(n&&typeof n=="object"){const e={};for(const[o,t]of Object.entries(n))oe.has(o)?e[o]="[redacted]":typeof t=="object"&&t!==null?e[o]=O(t):e[o]=te.has(o)?t:"[redacted]";return e}return n}function re(n){return/^[0-9]+$/.test(n)}const ie=new Set(["__proto__","constructor","prototype"]);function R(n){if(Array.isArray(n))return n.some(R);if(n&&typeof n=="object"){for(const e of Object.keys(n))if(ie.has(e)||R(n[e]))return!0}return!1}const ce=new Set(["ready","submit","action","send-prompt","open","resize","state","dismiss","error"]);function ae(n){return typeof n=="string"&&ce.has(n)}const V=["1"],le="allow-scripts allow-forms allow-same-origin",de=5e3;function se(n){try{return new URL(n).host}catch{return n}}function ue(n){const{container:e,providerOrigin:o,src:t,policy:r,maxHeight:d}=n,s=typeof window<"u"?window.location.origin:"";ne(t,o,s);const g=n.handshakeTimeoutMs??de;let m=0,w=P(),k=M("1",w),l="connecting",b=pe(n.context),v=n.envelope,p=null,u=null,c=null,I,y=null;function $(i){try{console.warn("[kai-remote]",O(i))}catch{}}function x(i){const a=c?.contentWindow;if(a)try{a.postMessage(k(i),o)}catch{}}function S(){I!==void 0&&(clearTimeout(I),I=void 0)}function U(i){l==="open"?x({dir:"down",kind:"context",context:i}):l==="connecting"&&(p=i)}function _(i){l==="open"?x({dir:"down",kind:"render",envelope:i}):l==="connecting"&&(u=i)}function z(){p&&(x({dir:"down",kind:"context",context:p}),p=null),u&&(x({dir:"down",kind:"render",envelope:u}),u=null)}function D(i){const a=document.createElement("div");a.setAttribute("role","alert"),a.dataset.kaiRemoteFallback="";const E=document.createElement("p");E.textContent=i,a.appendChild(E);const h=document.createElement("button");h.type="button",h.textContent="Retry",h.addEventListener("click",()=>W()),a.appendChild(h),c&&c.parentNode===e?e.replaceChild(a,c):e.appendChild(a),c=null}function L(i){l!=="closed"&&(S(),l="error",p=null,u=null,D(i))}function j(){const i=m,a=document.createElement("iframe");a.setAttribute("sandbox",n.sandbox??le),a.setAttribute("referrerpolicy","no-referrer"),a.setAttribute("allow","");const E=v.title??v.type;a.setAttribute("title",`${E} \u2014 provided by ${se(o)}`),a.style.border="0",a.style.width="100%",a.addEventListener("load",()=>{m!==i||l!=="connecting"||(k=M("1",w),x({dir:"down",kind:"hello",supportedVersions:V}),S(),I=setTimeout(()=>{var h;m!==i||l!=="connecting"||(L("[timeout] The card took too long to load."),(h=r?.onError)==null||h.call(r,v.id,"[timeout] handshake timed out"))},g))}),y=h=>N(h,i),window.addEventListener("message",y),c=a,e.appendChild(a),a.setAttribute("src",t)}function W(){l==="error"&&(m+=1,w=P(),k=M("1",w),l="connecting",p=null,u=null,S(),y&&(window.removeEventListener("message",y),y=null),c&&(c.remove(),c=null),p=b,u=v,e.querySelectorAll("[data-kai-remote-fallback]").forEach(i=>i.remove()),j())}function F(i){if(!c)return;const a=Math.min(i,d??1/0);c.style.height=`${a}px`}function H(){if(c)try{c.blur()}catch{}}function N(i,a){var E,h;if(a!==m||l==="closed"||l==="error")return;const A=i.data;if(i.origin===o&&i.source===c?.contentWindow&&ee(A,"up")&&A.nonce===w)try{const C=A.message;switch(C.kind){case"ready":{if(l!=="connecting")return;const f=C.acceptedVersion;if(!re(f)||!V.includes(f)){L("[version-unsupported] This card needs a different host version."),(E=r?.onError)==null||E.call(r,v.id,"[version-unsupported] no compatible protocol version");return}k=M(f,w),S(),l="open",p||(p=b),u||(u=v),z();return}case"event":{if(l!=="open")return;const f=C.event;if(f.cardId!==v.id)return;if(f.kind==="resize"){F(f.height);return}if(!ae(f.kind)||R(f)){$(A);return}Y(r??{},f);return}case"focus-edge":{H();return}case"fault":{const f=C.code,G=C.message;L(`[${f}] The card reported a problem.`),(h=r?.onError)==null||h.call(r,v.id,`[${f}] ${G}`);return}default:return}}catch{$(A)}}const B={updateContext(i){l!=="closed"&&(b=fe(b,i),U(b))},update(i){l!=="closed"&&(v=i,_(i))},destroy(){l!=="closed"&&(m+=1,l==="open"&&x({dir:"down",kind:"teardown"}),l="closed",S(),y&&(window.removeEventListener("message",y),y=null),c&&(c.remove(),c=null),e.querySelectorAll("[data-kai-remote-fallback]").forEach(i=>i.remove()))},state(){return l}};return j(),B}function P(){const n=new Uint8Array(16);crypto.getRandomValues(n);let e="";for(const o of n)e+=o.toString(16).padStart(2,"0");return e}function pe(n){return{...n}}function fe(n,e){return{...n,...e}}function me(n){if(!n||n==="*"||n.includes(","))return!1;let e;try{e=new URL(n)}catch{return!1}return e.pathname!=="/"||e.search!==""||e.hash!==""?!1:e.protocol==="https:"?!0:e.protocol==="http:"?e.hostname==="localhost"||e.hostname==="127.0.0.1":!1}function he(n,e){function o(t){Z(n,t)}return{onSubmit(t,r){var d;o({kind:"submit",cardId:t,data:r}),(d=e?.onSubmit)==null||d.call(e,t,r)},onAction(t,r,d){var s;o({kind:"action",cardId:t,action:r,payload:d}),(s=e?.onAction)==null||s.call(e,t,r,d)},onSendPrompt(t,r){var d;o({kind:"send-prompt",cardId:"",text:t,mode:r.mode,context:r.context}),(d=e?.onSendPrompt)==null||d.call(e,t,r)},onOpen(t,r){var d;o({kind:"open",cardId:"",url:t,target:r}),(d=e?.onOpen)==null||d.call(e,t,r)},onState(t,r){var d;o({kind:"state",cardId:t,patch:r}),(d=e?.onState)==null||d.call(e,t,r)},onDismiss(t){var r;o({kind:"dismiss",cardId:t}),(r=e?.onDismiss)==null||r.call(e,t)},onReopen(t){var r;o({kind:"reopen",cardId:t}),(r=e?.onReopen)==null||r.call(e,t)},onError(t,r){var d;o({kind:"error",cardId:t,message:r}),(d=e?.onError)==null||d.call(e,t,r)},maxSendPromptMode:e?.maxSendPromptMode}}J("kai-remote",{src:void 0,providerOrigin:void 0,envelope:void 0,policy:void 0},(n,{element:e})=>{let o;const[t,r]=K(!1);if(typeof window<"u"&&typeof window.matchMedia=="function"){const s=window.matchMedia("(prefers-color-scheme: dark)");r(s.matches);const g=m=>r(m.matches);s.addEventListener("change",g),T(()=>s.removeEventListener("change",g))}const d=()=>{const s=n.theme??"auto";return s==="dark"||s==="auto"&&t()};return Q(()=>{const s=e.shadowRoot;if(!s)return;function g(u){const c=document.createElement("div");c.setAttribute("role","alert"),c.textContent=u,s.appendChild(c)}const m=n.providerOrigin;if(!me(m)){g(`[kai-remote] Invalid provider-origin "${m??""}". Must be an absolute https: origin, or http://localhost / http://127.0.0.1 for local dev.`);return}const w=n.src;if(!w){g('[kai-remote] Missing required "src" attribute.');return}const k=n.envelope;if(!k){g('[kai-remote] Missing required "envelope" property.');return}const l={theme:{mode:d()?"dark":"light"},locale:typeof navigator<"u"&&navigator.language||"en"},b=n.policy,v=he(e,b),p=document.createElement("div");s.appendChild(p);try{o=ue({container:p,providerOrigin:m,src:w,envelope:k,context:l,policy:v})}catch(u){const c=u instanceof Error?u.message:String(u);g(`[kai-remote] Mount failed: ${c}`),p.remove();return}T(()=>{o?.destroy(),o=void 0})}),X(()=>{const s=d()?"dark":"light";o?.updateContext({theme:{mode:s}})}),[]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as j,j as H,g as O,o as ie,h as ne,x as ae,i as re,c as S,S as le,v as D,a as G,d as h,n as se,F as de,l as oe,t as A}from"../define-
|
|
1
|
+
import{f as j,j as H,g as O,o as ie,h as ne,x as ae,i as re,c as S,S as le,v as D,a as G,d as h,n as se,F as de,l as oe,t as A}from"../define-CI0y3eE4.js";import{c as ce,n as $,R as ue}from"../resizable-SYC-fStM.js";var me=A("<style>:host{display:block;height:100%}"),he=A("<div data-resizable-root style=display:flex;width:100%;height:100%>"),fe=A('<div data-panel style="display:grid;grid-template-rows:minmax(0, 1fr);grid-template-columns:minmax(0, 1fr);min-width:0;min-height:0;overflow:hidden"><slot>'),be=A("<style>:host{display:block;width:100%;height:100%;min-width:0;min-height:0;overflow:auto}"),ve=A('<div style="display:grid;grid-template-rows:minmax(0, 1fr);grid-template-columns:minmax(0, 1fr);width:100%;height:100%;min-width:0;min-height:0"><slot>');const pe="kai-maximize-intent",ge="kai-maximize-state",C=3;function L(c){if(c===void 0||c==="")return{};const r=c.trim();return r.endsWith("px")?{pxAttr:String(parseFloat(r))}:r.endsWith("%")?{pctAttr:String(parseFloat(r))}:Number.isFinite(Number(r))?{pctAttr:r}:{}}j("kai-resizable",{orientation:"horizontal",maximizedIndex:null,handle:"line"},(c,{element:r,dispatch:f,expose:b})=>{const[d,k]=O([]),m=()=>c.orientation==="vertical"?"vertical":"horizontal";function g(){const t=Array.from(r.children).filter(e=>e.tagName.toLowerCase()==="kai-resizable-item");t.length>C&&console.warn(`<kai-resizable>: only the first ${C} <kai-resizable-item> children are laid out (got ${t.length}). Nest <kai-resizable> for more.`);const i=t.slice(0,C).map(e=>{e.hasAttribute("data-kai-default-size")||e.setAttribute("data-kai-default-size",e.getAttribute("size")??"");const a=e.getAttribute("data-kai-default-size")||void 0,l=e.hasAttribute("collapsed")&&e.getAttribute("collapsed")!=="false";return{el:e,size:e.getAttribute("size")??void 0,defaultSize:a,min:e.getAttribute("min")??void 0,max:e.getAttribute("max")??void 0,locked:e.hasAttribute("locked")&&e.getAttribute("locked")!=="false",hidden:e.hidden||e.hasAttribute("hidden")&&e.getAttribute("hidden")!=="false",collapsed:l}});let n=0;for(const e of i)e.hidden||e.collapsed?e.el.removeAttribute("slot"):(e.el.setAttribute("slot",`p${n}`),n++);for(const e of t.slice(C))e.removeAttribute("slot");Q(d(),i)&&k(i)}function Q(t,i){if(t.length!==i.length)return!0;for(let n=0;n<t.length;n++){const e=t[n],a=i[n];if(e.el!==a.el||e.size!==a.size||e.min!==a.min||e.max!==a.max||e.locked!==a.locked||e.hidden!==a.hidden||e.collapsed!==a.collapsed)return!0}return!1}const w=()=>d().filter(t=>!t.hidden&&!t.collapsed);function I(){return w().map(t=>{var i;const n=((i=t.el.assignedSlot)==null?void 0:i.closest("[data-panel]"))??t.el,e=n.parentElement,a=m()==="horizontal"?"width":"height",l=e?e.getBoundingClientRect()[a]:0,v=n.getBoundingClientRect()[a];return l>0?Math.round(v/l*100):0})}function E(){f("kai-change",{sizes:I()})}let N=!1;function U(){const t=w(),i=I();t.length===i.length&&(N=!0,t.forEach((n,e)=>{const a=i[e];Number.isFinite(a)&&a>0&&n.el.setAttribute("size",`${a}%`)}),queueMicrotask(()=>{N=!1}))}const[y,q]=O(null);let x=!1;function V(t){let i=t instanceof Element?t:t?.parentElement??null;const n=d().map(e=>e.el);for(;i;){if(i instanceof HTMLElement&&n.includes(i))return i;i=i.parentElement??i.getRootNode().host??null}return null}function Y(t){return{size:t.getAttribute("size"),hidden:t.hidden||t.hasAttribute("hidden")&&t.getAttribute("hidden")!=="false",locked:t.hasAttribute("locked")&&t.getAttribute("locked")!=="false"}}function M(t,i,n){n?t.setAttribute(i,""):t.removeAttribute(i)}function F(t){const i=d(),n=i.findIndex(u=>u.el===t);if(n<0)return;const e=y();if(e){if(e.item===t)return;z()}x=!0;const a=I();let l=0;const v=i.map(u=>{const p=Y(u.el);if(!p.hidden){const o=a[l++];Number.isFinite(o)&&o>0&&u.el.setAttribute("size",`${o}%`)}return{el:u.el,size:u.el.getAttribute("size"),hidden:p.hidden,locked:p.locked}});i.forEach((u,p)=>{p===n?(u.el.removeAttribute("size"),u.el.removeAttribute("locked"),M(u.el,"hidden",!1)):M(u.el,"hidden",!0)}),q({item:t,saved:v}),r.setAttribute("data-maximized",""),t.setAttribute("data-maximized-panel",""),g(),E(),queueMicrotask(()=>{x=!1}),t.dispatchEvent(new CustomEvent("kai-maximize-state",{detail:{maximized:!0},bubbles:!1,composed:!0})),f("kai-maximize-change",{maximized:!0,index:n})}function z(){const t=y();if(!t)return;x=!0;for(const n of t.saved)n.el.isConnected&&(n.size===null?n.el.removeAttribute("size"):n.el.setAttribute("size",n.size),M(n.el,"hidden",n.hidden),M(n.el,"locked",n.locked),n.el.removeAttribute("data-maximized-panel"));const i=t.item;q(null),r.removeAttribute("data-maximized"),g(),E(),queueMicrotask(()=>{x=!1}),r.dispatchEvent(new CustomEvent("kai-maximize-state",{detail:{maximized:!1},bubbles:!1,composed:!0})),i?.dispatchEvent(new CustomEvent("kai-maximize-state",{detail:{maximized:!1},bubbles:!1,composed:!0})),f("kai-maximize-change",{maximized:!1,index:null})}ie(()=>{g();const t=e=>{const a=e;e.stopPropagation();const l=V(a.target);l&&(a.detail.requested?F(l):z())};r.addEventListener("kai-maximize-intent",t);const i=e=>{e.key!=="Escape"||!y()||(e.stopPropagation(),z())};r.addEventListener("keydown",i,!0);const n=new MutationObserver(()=>{if(N)return;g();const e=y();if(e){const a=e.item,l=a.isConnected&&r.contains(a),v=l&&!(a.hidden||a.hasAttribute("hidden"))&&!(a.hasAttribute("collapsed")&&a.getAttribute("collapsed")!=="false");if(!l||!v){z();return}}x||queueMicrotask(E)});n.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["size","locked","min","max","hidden","collapsed"]}),ne(()=>{n.disconnect(),r.removeEventListener("kai-maximize-intent",t),r.removeEventListener("keydown",i,!0)}),b({maximize:e=>{var a;const l=(a=d()[e])==null?void 0:a.el;l&&F(l)},restore:()=>z()}),H(ae(()=>c.maximizedIndex,e=>{var a;if(e==null)z();else{const l=(a=d()[e])==null?void 0:a.el;l&&F(l)}},{defer:!0}))});const ee=()=>m()==="horizontal";return[me(),(()=>{var t=he();return re(t,S(de,{get each(){return w()},children:(i,n)=>{const e=L(i.min),a=L(i.max),l=L(i.defaultSize),v=ce($(i.size),$(i.min),$(i.max)),u=()=>w()[n()-1],p=()=>{var o;return!!(i.locked||(o=u())!=null&&o.locked)};return[S(le,{get when(){return n()>0},get children(){return S(ue,{get handle(){return c.handle??"line"},get orientation(){return m()},get static(){return p()},onPanelResize:()=>{U(),queueMicrotask(E)}})}}),(()=>{var o=fe(),_=o.firstChild;return _._$owner=D(),G(s=>{var R=i.locked?"":void 0,T=e.pxAttr,P=e.pctAttr,B=a.pxAttr,K=a.pctAttr,W=l.pxAttr,X=l.pctAttr,te={...v!==void 0?{"flex-basis":v,"flex-grow":"0","flex-shrink":"0"}:{flex:"1 1 0%"}},Z=`p${n()}`;return R!==s.e&&h(o,"data-locked",s.e=R),T!==s.t&&h(o,"data-min-size",s.t=T),P!==s.a&&h(o,"data-min-size-pct",s.a=P),B!==s.o&&h(o,"data-max-size",s.o=B),K!==s.i&&h(o,"data-max-size-pct",s.i=K),W!==s.n&&h(o,"data-default-size",s.n=W),X!==s.s&&h(o,"data-default-size-pct",s.s=X),s.h=se(o,te,s.h),Z!==s.r&&h(_,"name",s.r=Z),s},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),o})()]}})),G(i=>{var n=m(),e=ee()?"row":"column";return n!==i.e&&h(t,"data-orientation",i.e=n),e!==i.t&&oe(t,"flex-direction",i.t=e),i},{e:void 0,t:void 0}),t})()]});function J(c,r){const f=d=>d==null||d===""?null:String(d),b=d=>{let k;H(()=>{const m=f(r[d]);if(m===k)return;const g=c.getAttribute(d);m!==g&&(k=m,m===null?c.removeAttribute(d):c.setAttribute(d,m))})};b("size"),b("min"),b("max")}j("kai-resizable-item",{size:void 0,min:void 0,max:void 0,locked:!1,hidden:!1,collapsed:!1},(c,{element:r,reflectFlag:f})=>(f("collapsed"),f("locked"),J(r,c),[be(),(()=>{var b=ve(),d=b.firstChild;return d._$owner=D(),b})()]));export{pe as KAI_MAXIMIZE_INTENT,ge as KAI_MAXIMIZE_STATE,J as reflectItemConfig};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as M,h as G,s as H,j as w,x as I,c as y,S as J,i as S,F as K,a as L,b as N,l as O,m as P,D as Q,t as k,f as R}from"../define-
|
|
1
|
+
import{g as M,h as G,s as H,j as w,x as I,c as y,S as J,i as S,F as K,a as L,b as N,l as O,m as P,D as Q,t as k,f as R}from"../define-CI0y3eE4.js";import{c as U}from"../cn-DN5AWfiS.js";function z(t){const e=Math.min(100,Math.max(1,t));return Math.round(1e3/Math.sqrt(e))}function T(t){const e=Math.min(100,Math.max(1,t));return Math.max(1,Math.round(100/Math.sqrt(e)))}function V(t){const e=t.speed??20,g=t.characterChunkSize??3,[p,s]=M(""),[v,c]=M(!0),[a,o]=M([]);let i="",l=0,r,n,m=!1,d;function x(){r!==void 0&&(clearInterval(r),r=void 0),n!==void 0&&(clearTimeout(n),n=void 0)}function C(){if(!m){if(l>=i.length){d||(x(),c(!0));return}l=Math.min(l+g,i.length),s(i.slice(0,l))}}async function $(u){d=u[Symbol.asyncIterator]();try{for(;;){const{value:f,done:D}=await d.next();if(D)break;f&&(i+=f,o(h=>[...h,{text:f,index:h.length}]))}}finally{d=void 0}}function j(u){if(b(),c(!1),typeof u=="string")if(i=u,t.mode==="typewriter")r=setInterval(C,e);else{const f=u.split(/(\s+)/).filter(Boolean);o(f.map((F,A)=>({text:F,index:A}))),s(u);const D=typeof t.segmentDelay=="number"?Math.max(0,t.segmentDelay):T(e),h=t.fadeDuration??z(e);n=setTimeout(()=>{n=void 0,c(!0)},f.length*D+h)}else t.mode==="typewriter"&&(r=setInterval(C,e)),$(u).then(()=>{t.mode==="fade"&&(s(i),c(!0))})}function q(){m=!0}function B(){m=!1}function b(){x(),i="",l=0,m=!1,d=void 0,s(""),c(!0),o([])}return G(()=>x()),{displayedText:p,isComplete:v,segments:a,startStreaming:j,pause:q,resume:B,reset:b}}var W=k("<style>"),X=k("<div class=relative>"),_=k("<span>");function E(t){const[e]=H(t,["textStream","mode","speed","class","onComplete","as","fadeDuration","segmentDelay","characterChunkSize"]),g=()=>e.mode??"typewriter",p=()=>e.speed??20,s=V({mode:g(),speed:p(),characterChunkSize:e.characterChunkSize,fadeDuration:e.fadeDuration,segmentDelay:e.segmentDelay});w(I(()=>e.textStream,a=>{a&&s.startStreaming(a)})),w(I(()=>s.isComplete(),a=>{var o;a&&((o=e.onComplete)==null||o.call(e))},{defer:!0}));const v=()=>`
|
|
2
2
|
@keyframes fadeIn {
|
|
3
3
|
from { opacity: 0; }
|
|
4
4
|
to { opacity: 1; }
|
package/dist/elements/screen.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as E,j as _,h as j,c as g,u as q,d as k,i as s,S,a as H,b as M,t as f,e as P,f as D,v as y}from"../define-
|
|
1
|
+
import{g as E,j as _,h as j,c as g,u as q,d as k,i as s,S,a as H,b as M,t as f,e as P,f as D,v as y}from"../define-CI0y3eE4.js";import{c as F}from"../cn-DN5AWfiS.js";import{c as G}from"../overlay-DBMFXie6.js";import{a as J}from"../arrow-left-0VLM5kyg.js";import{w as K}from"../disclosure-NnACBxsC.js";var L=f('<button part=back type=button aria-label=Back class="inline-flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">'),N=f('<div part=body role=dialog aria-modal=true tabindex=-1><header part=header class="flex shrink-0 items-center gap-2 border-b border-border px-3 py-2"><h2 part=title class="min-w-0 flex-1 truncate text-sm font-semibold text-foreground"></h2><div class="flex shrink-0 items-center gap-1"></div></header><div class="min-h-0 flex-1 overflow-auto">');let Q=0;function T(t){var d;const[v,b]=E(t.defaultOpen??!1),h=`kai-screen-title-${++Q}`,m=()=>t.open!==void 0,l=()=>m()?!!t.open:v(),u=e=>{var r;m()||b(e),(r=t.onOpenChange)==null||r.call(t,e)};(d=t.controllerRef)==null||d.call(t,{open:l,setOpen:u});const n=G(l);let x,A=null,w=[];const C=()=>t.back!==!1,$=()=>{var e;return(e=t.onBack)==null?void 0:e.call(t)},z=()=>{var e;if(t.noInert)return;const r=(e=t.host)==null?void 0:e.call(t),o=r?.parentElement;if(!(!r||!o))for(const p of Array.from(o.children)){if(p===r)continue;const i=p;w.push({el:i,hadInert:i.hasAttribute("inert"),hadAriaHidden:i.getAttribute("aria-hidden")}),i.setAttribute("inert",""),i.setAttribute("aria-hidden","true")}},I=()=>{for(const{el:e,hadInert:r,hadAriaHidden:o}of w)r||e.removeAttribute("inert"),o===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",o);w=[]};_(e=>{const r=l();if(r&&!e)A=document.activeElement??null,z(),queueMicrotask(()=>x?.focus());else if(!r&&e){I();const o=A;A=null,o&&o.isConnected&&queueMicrotask(()=>o.focus())}return r},!1),j(I);const B=e=>{e.key==="Escape"&&(e.stopPropagation(),$())};return g(S,{get when(){return n.present()},get children(){var e=N(),r=e.firstChild,o=r.firstChild,p=o.nextSibling,i=r.nextSibling;return e.$$keydown=B,q(a=>{var c;x=a,n.setRef(a),(c=t.surfaceRef)==null||c.call(t,a)},e),k(e,"aria-labelledby",h),s(r,g(S,{get when(){return C()},get children(){var a=L();return a.$$click=$,s(a,g(J,{size:16,"aria-hidden":"true"})),a}}),o),k(o,"id",h),s(o,()=>t.titleSlot??t.title),s(p,()=>t.actions),s(i,()=>t.children),H(a=>{var c=n.state()==="open"?"":void 0,O=n.state()==="closed"?"":void 0,R=F("absolute inset-0 z-40 flex flex-col bg-background text-foreground outline-none","animate-in fade-in-0 slide-in-from-bottom-2 motion-reduce:animate-none","data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:slide-out-to-bottom-2");return c!==a.e&&k(e,"data-expanded",a.e=c),O!==a.t&&k(e,"data-closed",a.t=O),R!==a.a&&M(e,a.a=R),a},{e:void 0,t:void 0,a:void 0}),e}})}P(["keydown","click"]);var U=f("<slot>"),V=f("<slot name=title>"),W=f("<slot name=actions>");D("kai-screen",{open:void 0,defaultOpen:void 0,headline:void 0,back:void 0,noInert:void 0},(t,d)=>{const{flag:v,element:b,dispatch:h,expose:m}=d;let l,u;return K(d,()=>l,()=>t.open),m({focus:n=>u?.focus(n)}),g(T,{get defaultOpen(){return v("defaultOpen")},get back(){return!(t.back===!1||b.getAttribute("back")==="false")},get noInert(){return v("noInert")},host:()=>b,get titleSlot(){return(()=>{var n=V();return n._$owner=y(),s(n,()=>t.headline),n})()},get actions(){return(()=>{var n=W();return n._$owner=y(),n})()},onBack:()=>{h("kai-back",{})},controllerRef:n=>l=n,surfaceRef:n=>u=n,get children(){var n=U();return n._$owner=y(),n}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as l,c as o,v as i,t as a}from"../define-
|
|
1
|
+
import{f as l,c as o,v as i,t as a}from"../define-CI0y3eE4.js";import{S as e}from"../scroll-area-zRyXoLhI.js";var n=a("<style>:host{display:block;min-height:0}"),s=a("<slot>");l("kai-scroll-area",{orientation:"vertical"},r=>[n(),o(e,{class:"h-full max-h-full w-full max-w-full",part:"viewport",get orientation(){return r.orientation},get children(){var t=s();return t._$owner=i(),t}})]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as b,g as w,o as E,h as k,c as u,S as y,i as H,m as x,t as L}from"../define-
|
|
1
|
+
import{f as b,g as w,o as E,h as k,c as u,S as y,i as H,m as x,t as L}from"../define-CI0y3eE4.js";import{c as z}from"../cn-DN5AWfiS.js";import{B as S}from"../button-C_3te6fm.js";import{a as B}from"../arrow-down-D783iMJj.js";var C=L("<span>");const T=50,I="Scroll to bottom";function A(e){return(e??"outline")==="outline"?"border border-input bg-card text-card-foreground kai-elevation":"kai-elevation"}function Y(e){let r=e.parentElement;for(;r&&r!==document.documentElement;){const n=getComputedStyle(r),a=n.overflow+n.overflowY;if(/auto|scroll/.test(a)&&r.scrollHeight>r.clientHeight)return r;r=r.parentElement}return null}b("kai-scroll-button",{for:void 0,variant:"outline",size:"icon",label:void 0,showLabel:void 0},(e,{element:r,dispatch:n,flag:a})=>{const[l,d]=w(!0);let o=null,i=[];function s(){if(!o)return;const{scrollTop:t,scrollHeight:v,clientHeight:p}=o;d(v-t-p<T)}function g(){o&&(o.scrollTo({top:o.scrollHeight,behavior:"smooth"}),d(!0))}function m(t){o=t,t.addEventListener("scroll",s,{passive:!0}),s(),i.push(()=>t.removeEventListener("scroll",s))}function h(){i.forEach(t=>t()),i=[],o=null}E(()=>{const t=e.for?document.getElementById(e.for):Y(r);t&&m(t)}),k(h);const f=()=>e.label??I,c=()=>a("showLabel");return u(S,{get variant(){return e.variant??"outline"},get size(){return e.size??"icon"},get"aria-label"(){return x(()=>!!c())()?void 0:f()},get tabindex(){return l()?-1:0},get"aria-hidden"(){return l()?"true":void 0},get class(){return z("rounded-lg transition-all duration-150 ease-out",A(e.variant),c()?"h-9 w-auto gap-1.5 px-3 text-sm":"",l()?"pointer-events-none translate-y-4 scale-95 opacity-0":"translate-y-0 scale-100 opacity-100")},onClick:()=>{g(),n("kai-scroll")},get children(){return[u(B,{class:"h-4 w-4 shrink-0","aria-hidden":"true"}),u(y,{get when(){return c()},get children(){var t=C();return H(t,f),t}})]}})});
|
package/dist/elements/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as C,e as S,g as j,z as h,j as T,c as i,S as u,i as I,m as K,t as v}from"../define-
|
|
1
|
+
import{f as C,e as S,g as j,z as h,j as T,c as i,S as u,i as I,m as K,t as v}from"../define-CI0y3eE4.js";import{I as V}from"../input-BH6Ru91Q.js";import{K as $}from"../kbd-DRAnVtNX.js";import{L as E}from"../loader-KvJB6NrT.js";import{r as m}from"../icon-CL0jdhsf.js";var L=v('<button type=button part=clear aria-label=Clear class="inline-flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">'),N=v("<style>:host{display:block}");C("kai-search",{value:void 0,placeholder:"Search\u2026",icon:"search",debounce:200,loading:!1,shortcut:void 0},(a,d)=>{const{element:t,dispatch:n,flag:b,expose:f}=d,[r,l]=j(a.value??t.getAttribute("value")??""),p=e=>e==null?t.getAttribute("value")??"":String(e);Object.defineProperty(t,"value",{get:()=>r(),set:e=>{const g=p(e);h(r)!==g&&l(g)},configurable:!0,enumerable:!0}),T(()=>{const e=r();e?t.getAttribute("value")!==e&&t.setAttribute("value",e):t.hasAttribute("value")&&t.removeAttribute("value")});let s;const k=()=>{const e=Number(a.debounce??200);return Number.isFinite(e)&&e>=0?e:200},y=e=>{s&&clearTimeout(s),s=setTimeout(()=>n("kai-search",{value:e}),k())},o=()=>{var e;return((e=t.shadowRoot)==null?void 0:e.querySelector("input"))??null},z=e=>{l(e),y(e)},c=()=>{var e;s&&clearTimeout(s),l(""),n("kai-search",{value:""}),(e=o())==null||e.focus()},x=e=>{e.key==="Enter"&&n("kai-submit",{value:h(r)})};f({focus:()=>{var e;return(e=o())==null?void 0:e.focus()},clear:c});const A=i(u,{get when(){return b("loading")},get fallback(){return m(a.icon??"search",{class:"size-4 shrink-0",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})},get children(){return i(E,{variant:"circular",size:"sm"})}}),w=[i(u,{get when(){return r()},get children(){var e=L();return e.$$click=c,I(e,()=>m("x",{class:"size-4",imgClass:"size-4"})),e}}),i(u,{get when(){return K(()=>!r())()&&a.shortcut},get children(){return i($,{get keys(){return a.shortcut},size:"sm"})}})];return[N(),i(V,{type:"search",get value(){return r()},get placeholder(){return a.placeholder??"Search\u2026"},leading:A,trailing:w,onValueInput:z,onValueChange:e=>n("kai-change",{value:e}),onKeyDown:x})]}),S(["click"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{q as C,i as g,c as p,u as D,S as j,a as x,d as y,b as A,F as $,t as f,e as H,f as M,g as S,z as w,j as q}from"../define-
|
|
1
|
+
import{q as C,i as g,c as p,u as D,S as j,a as x,d as y,b as A,F as $,t as f,e as H,f as M,g as S,z as w,j as q}from"../define-CI0y3eE4.js";import{c as z}from"../cn-DN5AWfiS.js";import{r as E}from"../icon-CL0jdhsf.js";var F=f("<div role=group part=track>"),I=f('<span class="inline-flex shrink-0 items-center"aria-hidden=true>'),P=f("<button type=button part=segment><span>");const R={sm:"h-7 px-2 text-xs",md:"h-8 px-3 text-sm"};function K(u){const r=C({size:"md"},u),i=[],c=()=>r.options.findIndex(t=>t.value===r.value),s=t=>{var n;const o=r.options[t];o&&(r.onChange(o.value),(n=i[t])==null||n.focus())},d=t=>{const n=r.options.length;if(n===0)return;const o=c();t.key==="ArrowRight"||t.key==="ArrowDown"?(t.preventDefault(),s((Math.max(o,0)+1)%n)):t.key==="ArrowLeft"||t.key==="ArrowUp"?(t.preventDefault(),s((Math.max(o,0)-1+n)%n)):t.key==="Home"?(t.preventDefault(),s(0)):t.key==="End"&&(t.preventDefault(),s(n-1))};return(()=>{var t=F();return t.$$keydown=d,g(t,p($,{get each(){return r.options},children:(n,o)=>{const e=()=>n.value===r.value,v=()=>e()||c()===-1&&o()===0;return(()=>{var l=P(),m=l.firstChild;return l.$$click=()=>r.onChange(n.value),D(a=>{i[o()]=a},l),g(l,p(j,{get when(){return n.icon},get children(){var a=I();return g(a,()=>n.icon),a}}),m),g(m,()=>n.label),x(a=>{var h=e(),b=v()?0:-1,k=z("inline-flex items-center justify-center gap-1.5 rounded-md font-medium transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",R[r.size],e()?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground");return h!==a.e&&y(l,"aria-pressed",a.e=h),b!==a.t&&y(l,"tabindex",a.t=b),k!==a.a&&A(l,a.a=k),a},{e:void 0,t:void 0,a:void 0}),l})()}})),x(()=>A(t,z("inline-flex items-center gap-0.5 rounded-lg bg-surface-sunken p-0.5",r.class))),t})()}H(["keydown","click"]);var L=f("<style>:host{display:inline-flex}");M("kai-segmented",{options:[],value:void 0,size:"md"},(u,r)=>{const{element:i,dispatch:c}=r,[s,d]=S(u.value??i.getAttribute("value")??""),t=e=>e==null?i.getAttribute("value")??"":String(e),n=e=>{w(s)!==e&&(d(e),c("kai-change",{value:e}))};Object.defineProperty(i,"value",{get:()=>s(),set:e=>{const v=t(e);w(s)!==v&&d(v)},configurable:!0,enumerable:!0}),q(()=>{const e=s();e?i.getAttribute("value")!==e&&i.setAttribute("value",e):i.hasAttribute("value")&&i.removeAttribute("value")});const o=()=>(u.options??[]).map(e=>({value:e.value,label:e.label,icon:e.icon?E(e.icon,{class:"size-4 shrink-0",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0}):void 0}));return[L(),p(K,{get options(){return o()},get value(){return s()},get size(){return u.size??"md"},onChange:e=>n(e)})]});
|
package/dist/elements/select.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f,g as h,z as v,j as A,c as y}from"../define-
|
|
1
|
+
import{f,g as h,z as v,j as A,c as y}from"../define-CI0y3eE4.js";import{S as q}from"../select-DM-0nEe0.js";f("kai-select",{options:[],value:void 0,placeholder:void 0,multiple:void 0,invalid:void 0,disabled:void 0,required:void 0,label:void 0,name:void 0},(l,d)=>{const{element:r,dispatch:g,flag:a,expose:c}=d,s=l.value??r.getAttribute("value")??"",[i,n]=h(s?[s]:[]),o=()=>i()[0]??"",b=e=>e==null?r.getAttribute("value")??"":String(e),p=e=>{const t=v(i);t.length===e.length&&t.every((u,m)=>u===e[m])||(n(e),g("kai-change",{value:e[0]??"",values:e}))};return Object.defineProperty(r,"value",{get:()=>o(),set:e=>{const t=b(e);v(o)!==t&&n(t?[t]:[])},configurable:!0,enumerable:!0}),Object.defineProperty(r,"values",{get:()=>i(),set:e=>n(Array.isArray(e)?e.map(String):[]),configurable:!0,enumerable:!0}),A(()=>{const e=o();e?r.getAttribute("value")!==e&&r.setAttribute("value",e):r.hasAttribute("value")&&r.removeAttribute("value")}),c({focus:e=>{var t,u;return(u=(t=r.shadowRoot)==null?void 0:t.querySelector("select"))==null?void 0:u.focus(e)}}),y(q,{get options(){return l.options??[]},get value(){return i()},get placeholder(){return l.placeholder},get multiple(){return a("multiple")},get invalid(){return a("invalid")},get disabled(){return a("disabled")},get required(){return a("required")},get"aria-label"(){return l.label},get name(){return l.name},onChange:e=>p([...e.currentTarget.selectedOptions].map(t=>t.value))})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as o,i,c as e,t as n}from"../define-
|
|
1
|
+
import{f as o,i,c as e,t as n}from"../define-CI0y3eE4.js";import{S as s}from"../separator-BToOOoOt.js";var l=n("<style>");o("kai-separator",{orientation:"horizontal"},a=>{const t=()=>a.orientation==="vertical";return[(()=>{var r=l();return i(r,()=>t()?":host{display:inline-block;align-self:stretch}":":host{display:block}"),r})(),e(s,{get orientation(){return t()?"vertical":"horizontal"},part:"separator"})]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as i,g as a,o as c,h as l,c as u,m as b,v as d,t as m}from"../define-
|
|
1
|
+
import{f as i,g as a,o as c,h as l,c as u,m as b,v as d,t as m}from"../define-CI0y3eE4.js";import{S as p}from"../settings-group-BFXGIfXq.js";var v=m("<slot name=control>");i("kai-setting-item",{label:"",description:void 0},(t,{element:r})=>{const[s,n]=a(!1);return c(()=>{const e=()=>n(!!r.querySelector(':scope > [slot="control"]'));e();const o=new MutationObserver(e);o.observe(r,{childList:!0,attributes:!0,subtree:!0}),l(()=>o.disconnect())}),u(p,{get label(){return t.label??""},get description(){return t.description},get control(){return b(()=>!!s())()?(()=>{var e=v();return e._$owner=d(),e})():void 0}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as t,c as e,v as n,t as o}from"../define-
|
|
1
|
+
import{f as t,c as e,v as n,t as o}from"../define-CI0y3eE4.js";import{a}from"../settings-group-BFXGIfXq.js";var s=o("<slot>");t("kai-settings-group",{heading:"",description:void 0},r=>e(a,{get heading(){return r.heading??""},get description(){return r.description},get children(){var i=s();return i._$owner=n(),i}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as e,c as i,m as r,t as a}from"../define-
|
|
1
|
+
import{f as e,c as i,m as r,t as a}from"../define-CI0y3eE4.js";import{S as n}from"../skeleton-DYpmFnnm.js";var s=a("<style>:host{display:block}");e("kai-skeleton",{variant:"text",width:void 0,height:void 0,lines:void 0},t=>[s(),i(n,{get variant(){return t.variant??"text"},get width(){return t.width},get height(){return t.height},get lines(){return r(()=>t.lines!=null)()?Number(t.lines):void 0}})]);
|
package/dist/elements/slider.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as A,g as N,z as l,j as h,c as L}from"../define-
|
|
1
|
+
import{f as A,g as N,z as l,j as h,c as L}from"../define-CI0y3eE4.js";import{S}from"../slider-ebutAmkQ.js";A("kai-slider",{min:void 0,max:void 0,step:void 0,value:void 0,disabled:void 0,label:void 0,name:void 0,valueLabel:void 0},(r,g)=>{const{element:a,dispatch:m,flag:o,expose:c}=g,n=(e,t)=>{if(e==null||typeof e=="string"&&e.trim()==="")return t;const i=Number(e);return Number.isFinite(i)?i:t},s=()=>n(r.min,0),v=()=>n(r.max,100),[u,b]=N(r.value!=null?n(r.value,(s()+v())/2):n(a.getAttribute("value"),(s()+v())/2)),p=e=>e==null?n(a.getAttribute("value"),l(u)):n(e,l(u)),d=(e,t)=>{o("disabled")||t==="kai-input"&&l(u)===e||(b(e),m(t,{value:e}))};Object.defineProperty(a,"value",{get:()=>u(),set:e=>{const t=p(e);l(u)!==t&&b(t)},configurable:!0,enumerable:!0}),h(()=>{const e=String(u());a.getAttribute("value")!==e&&a.setAttribute("value",e)}),c({focus:e=>{var t,i;return(i=(t=a.shadowRoot)==null?void 0:t.querySelector('input[type="range"]'))==null?void 0:i.focus(e)}});const f=()=>{const e=r.step;if(e==null)return;if(String(e)==="any")return"any";const t=Number(e);return Number.isFinite(t)?t:void 0},y=()=>{const e=r.valueLabel;return typeof e=="function"?e:o("valueLabel")};return L(S,{get min(){return s()},get max(){return v()},get step(){return f()},get value(){return u()},get disabled(){return o("disabled")},get"aria-label"(){return r.label},get name(){return r.name},get valueLabel(){return y()},onInput:e=>d(e.currentTarget.valueAsNumber,"kai-input"),onChange:e=>d(e.currentTarget.valueAsNumber,"kai-change")})});
|
package/dist/elements/source.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as o,c as t,S as v,g as p,o as w,h as m,F,m as A,t as S}from"../define-
|
|
1
|
+
import{f as o,c as t,S as v,g as p,o as w,h as m,F,m as A,t as S}from"../define-CI0y3eE4.js";import{a,b as c,c as l,S as k}from"../source-c1gpRl9h.js";var y=S("<style>:host{display:inline-flex}");o("kai-source",{href:"",label:void 0,headline:"",description:"",showFavicon:!1},(e,{flag:n})=>[y(),t(v,{get when(){return e.href},get children(){return t(a,{get href(){return e.href},get children(){return[t(c,{get label(){return e.label},get showFavicon(){return n("showFavicon")}}),t(l,{get title(){return e.headline??""},get description(){return e.description??""}})]}})}})]);function u(e){return{href:e.getAttribute("href")??"",label:e.getAttribute("label")??void 0,title:e.getAttribute("headline")??void 0,description:e.getAttribute("description")??void 0,showFavicon:e.hasAttribute("show-favicon")&&e.getAttribute("show-favicon")!=="false"}}o("kai-sources",{sources:[],showFavicon:!1,numbered:!1},(e,{element:n,flag:s})=>{const[h,d]=p([]);w(()=>{const r=()=>{const f=[...n.querySelectorAll("kai-source")];d(f.map(u))};r();const i=new MutationObserver(r);i.observe(n,{childList:!0,attributes:!0,subtree:!0}),m(()=>i.disconnect())});const g=()=>[...e.sources??[],...h()],b=()=>s("numbered");return t(k,{get children(){return t(F,{get each(){return g()},children:(r,i)=>t(a,{get href(){return r.href},get children(){return[t(c,{get label(){return A(()=>!!b())()?i()+1:r.label},get showFavicon(){return r.showFavicon??s("showFavicon")}}),t(l,{get title(){return r.title??""},get description(){return r.description??""}})]}})})}})});export{u as parseKaiSourceElement};
|
package/dist/elements/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as h,i as w,c as g,a as p,b as v,S as z,p as y,q as x,d as l,t as r,f as k}from"../define-
|
|
1
|
+
import{s as h,i as w,c as g,a as p,b as v,S as z,p as y,q as x,d as l,t as r,f as k}from"../define-CI0y3eE4.js";import{c as i}from"../cn-DN5AWfiS.js";var C=r("<span aria-hidden=true>"),S=r("<span><span>");const m={new:"bg-tool-blue",online:"bg-tool-green",busy:"bg-tool-red",away:"bg-tool-amber",offline:"bg-muted-foreground"},q={sm:"size-2",md:"size-2.5"};function A(t){const[s,c]=h(t,["status","size","pulse","label","class"]),n=()=>s.status??"new";return(()=>{var a=S(),o=a.firstChild;return w(a,g(z,{get when(){return s.pulse},get children(){var e=C();return p(()=>v(e,i("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75 motion-reduce:hidden",m[n()]))),e}}),o),y(o,x(c,{get class(){return i("relative inline-block rounded-full",m[n()],q[s.size??"sm"])}}),!1,!1),p(e=>{var u=i("relative inline-flex",s.class),d=s.label?"status":void 0,b=s.label,f=s.label?void 0:"true";return u!==e.e&&v(a,e.e=u),d!==e.t&&l(a,"role",e.t=d),b!==e.a&&l(a,"aria-label",e.a=b),f!==e.o&&l(a,"aria-hidden",e.o=f),e},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}var _=r("<style>:host{display:inline-flex}");k("kai-status",{status:"new",pulse:!1,label:void 0,size:"sm"},(t,{flag:s})=>[_(),g(A,{get status(){return t.status??"new"},get size(){return t.size??"sm"},get pulse(){return s("pulse")},get label(){return t.label},part:"dot"})]);
|
package/dist/elements/switch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as b,g as k,z as o,j as v,c as f}from"../define-
|
|
1
|
+
import{f as b,g as k,z as o,j as v,c as f}from"../define-CI0y3eE4.js";import{S as m}from"../switch-Bh2OdLV2.js";b("kai-switch",{checked:void 0,defaultChecked:void 0,disabled:void 0,label:void 0,name:void 0,value:void 0},(d,n)=>{const{element:t,dispatch:s,flag:r,expose:h}=n,[a,l]=k(r("defaultChecked")||r("checked")),g=e=>e===!0?!0:e===!1?!1:t.hasAttribute("checked")&&t.getAttribute("checked")!=="false",i=e=>{r("disabled")||o(a)!==e&&(l(e),s("kai-change",{checked:e}))};return Object.defineProperty(t,"checked",{get:()=>a(),set:e=>{const c=g(e);o(a)!==c&&l(c)},configurable:!0,enumerable:!0}),v(()=>{const e=a();e!==t.hasAttribute("checked")&&t.toggleAttribute("checked",e)}),h({toggle:()=>i(!o(a)),focus:e=>{var c,u;return(u=(c=t.shadowRoot)==null?void 0:c.querySelector('button[role="switch"]'))==null?void 0:u.focus(e)}}),f(m,{get checked(){return a()},get disabled(){return r("disabled")},get label(){return d.label},get name(){return d.name},get value(){return d.value},onChange:e=>i(e)})});
|
package/dist/elements/tabs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as E,u as C,p as V,q as j,i as k,c as D,a as z,d as x,b as F,F as H,t as q,e as I,f as L,g as R}from"../define-
|
|
1
|
+
import{s as E,u as C,p as V,q as j,i as k,c as D,a as z,d as x,b as F,F as H,t as q,e as I,f as L,g as R}from"../define-CI0y3eE4.js";import{r as S}from"../icon-CL0jdhsf.js";import{c as h}from"../cn-DN5AWfiS.js";var B=q("<div>"),K=q("<button type=button part=tab role=tab>");const N={segmented:"inline-flex items-center gap-1 rounded-lg bg-muted p-1",underline:"inline-flex items-center gap-1 border-b border-border"};function P(l,a){const s="inline-flex items-center gap-1.5 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50";return l==="underline"?h(s,"border-b-2 px-3 py-2 -mb-px",a?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"):h(s,"rounded-md px-3 py-1.5",a?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground")}function T(l){const[a,s]=E(l,["items","value","variant","block","disabled","onChange","ref","class"]),b=()=>a.items??[],v=()=>a.variant??"segmented",f={},u=()=>b().filter(t=>!t.disabled),o=()=>a.value,c=()=>{var t;return o()!==void 0&&u().some(r=>r.id===o())?o():(t=u()[0])==null?void 0:t.id},n=t=>{var r;a.disabled||t.disabled||t.id!==a.value&&((r=a.onChange)==null||r.call(a,t.id))},g=t=>{const r=f[t];r&&r.focus()},m=(t,r)=>{const i=u();if(i.length===0)return;const d=i.findIndex(p=>p.id===r.id);let e;switch(t.key){case"ArrowRight":case"ArrowDown":e=i[(d+1)%i.length];break;case"ArrowLeft":case"ArrowUp":e=i[(d-1+i.length)%i.length];break;case"Home":e=i[0];break;case"End":e=i[i.length-1];break;case"Enter":case" ":t.preventDefault(),n(r);return;default:return}e&&(t.preventDefault(),n(e),g(e.id))};return(()=>{var t=B();return C(r=>{var i;return(i=a.ref)==null?void 0:i.call(a,r)},t),V(t,j(s,{role:"tablist",part:"tablist",get"aria-disabled"(){return a.disabled?"true":void 0},get class(){return h(N[v()],a.block&&"flex w-full",a.class)}}),!1,!0),k(t,D(H,{get each(){return b()},children:r=>{const i=()=>r.id===o();return(()=>{var d=K();return d.$$keydown=e=>m(e,r),d.$$click=()=>n(r),C(e=>{f[r.id]=e},d),k(d,()=>S(r.icon,{class:"size-4 shrink-0"}),null),k(d,()=>r.label,null),z(e=>{var p=i()?"":void 0,w=i()?"true":"false",y=r.id===c()?0:-1,A=a.disabled||r.disabled,$=h(P(v(),i()),a.block&&"flex-1 justify-center");return p!==e.e&&x(d,"data-active",e.e=p),w!==e.t&&x(d,"aria-selected",e.t=w),y!==e.a&&x(d,"tabindex",e.a=y),A!==e.o&&(d.disabled=e.o=A),$!==e.i&&F(d,e.i=$),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),d})()}})),t})()}I(["click","keydown"]),L("kai-tabs",{items:void 0,value:void 0,defaultValue:void 0,variant:"segmented",block:void 0,disabled:void 0},(l,{dispatch:a,flag:s,expose:b})=>{const[v,f]=R(l.defaultValue),u=()=>l.value??v(),o=n=>{f(n),a("kai-tab-change",{value:n})};let c;return b({select:n=>{var g;const m=(g=l.items)==null?void 0:g.find(t=>t.id===n);!m||m.disabled||s("disabled")||o(n)},focus:()=>{var n;(n=c?.querySelector('[role="tab"][tabindex="0"]:not([disabled])'))==null||n.focus()}}),D(T,{get items(){return l.items},get value(){return u()},get variant(){return l.variant??"segmented"},get block(){return s("block")},get disabled(){return s("disabled")},onChange:o,ref:n=>c=n})});
|
package/dist/elements/tasks.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as i,c as u}from"../define-
|
|
1
|
+
import{f as i,c as u}from"../define-CI0y3eE4.js";import{T as s}from"../tasks-card-CbqQAn2S.js";i("kai-tasks",{data:void 0,cardId:void 0,heading:void 0,resolution:void 0,value:void 0,defaultValue:void 0,disabled:!1,readonly:!1},(a,{element:t,dispatch:o,flag:d,expose:r})=>{let e;return r({select:l=>e?.select(l),toggle:(l,n)=>e?.toggle(l,n),send:()=>e?.send(),focus:l=>e?.focus(l),dismiss:()=>e?.dismiss(),reopen:()=>e?.reopen()}),u(s,{get data(){return a.data},get cardId(){return a.cardId??(t.id||"kai-tasks")},get heading(){return a.heading},get resolution(){return a.resolution},get value(){return a.value},get defaultValue(){return a.defaultValue},get disabled(){return d("disabled")},get readonly(){return d("readonly")},onValueChange:l=>o("kai-value-change",l),controllerRef:l=>e=l,hostElement:t})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as r,c as a}from"../define-
|
|
1
|
+
import{f as r,c as a}from"../define-CI0y3eE4.js";import{T as e}from"../text-shimmer-BSzgEnDH.js";r("kai-text-shimmer",{text:"",as:"span",duration:4,spread:20},t=>a(e,{get as(){return t.as},get duration(){return t.duration},get spread(){return t.spread},class:"text-body",get children(){return t.text}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as d,i as o,c as r,y as u,S as c,a as b,b as f,t as i,e as g,f as m}from"../define-
|
|
1
|
+
import{s as d,i as o,c as r,y as u,S as c,a as b,b as f,t as i,e as g,f as m}from"../define-CI0y3eE4.js";import{c as x}from"../cn-DN5AWfiS.js";import{T as p}from"../text-shimmer-BSzgEnDH.js";import{c as h}from"../chevron-right-DR9ZAP-2.js";var k=i('<button type=button class="flex items-center gap-1 text-sm transition-opacity hover:opacity-80">'),v=i('<button type=button class="text-muted-foreground hover:text-foreground border-muted-foreground/50 hover:border-foreground border-b border-dotted text-sm transition-colors">'),w=i("<div>");function y(n){const[t]=d(n,["class","text","onStop","stopLabel","onClick"]),s=()=>t.text??"Thinking",l=()=>t.stopLabel??"Answer now";return(()=>{var a=w();return o(a,r(c,{get when(){return t.onClick},get fallback(){return r(p,{class:"cursor-default text-sm font-medium",get children(){return s()}})},get children(){var e=k();return u(e,"click",t.onClick,!0),o(e,r(p,{class:"text-sm font-medium",get children(){return s()}}),null),o(e,r(h,{class:"text-muted-foreground size-4"}),null),e}}),null),o(a,r(c,{get when(){return t.onStop},get children(){var e=v();return u(e,"click",t.onStop,!0),o(e,l),e}}),null),b(()=>f(a,x("flex w-full items-center justify-between",t.class))),a})()}g(["click"]),m("kai-thinking-bar",{text:"Thinking",stoppable:!1,stopLabel:"Answer now"},(n,{dispatch:t,flag:s,reflectFlag:l})=>(l("stoppable"),r(y,{get text(){return n.text},get stopLabel(){return n.stopLabel},get onStop(){return s("stoppable")?()=>t("kai-stop"):void 0}})));
|
package/dist/elements/thread.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as H,k as B,o as w,c as r,u as M,i as h,S as l,F as R,a as T,b as k,C as z,t as c,f as A,g as $,h as C,m as E,v as F}from"../define-
|
|
1
|
+
import{A as H,k as B,o as w,c as r,u as M,i as h,S as l,F as R,a as T,b as k,C as z,t as c,f as A,g as $,h as C,m as E,v as F}from"../define-CI0y3eE4.js";import{r as j,T as L}from"../slots-DaNjX0rc.js";import{C as q,a as N,b as O,S as U}from"../scroll-button-jzrbYCG9.js";import{M as _,a as x,b as D}from"../message-BqQ7Ot5q.js";import{c as G,a as I,b as J}from"../message-DkaGfBd8.js";import{L as K}from"../loader-KvJB6NrT.js";var P=c('<div class="flex min-h-[10rem] flex-1 flex-col items-center justify-center gap-1 py-12 text-center"><p class="text-sm font-medium text-foreground">No messages yet</p><p class="text-xs text-muted-foreground">Messages will appear here as the conversation starts.'),Q=c('<div class="rounded-lg px-1 py-2">'),V=c('<div class="absolute bottom-4 left-1/2 flex w-full max-w-3xl -translate-x-1/2 justify-center px-5">'),S=c("<div>");function W(){return P()}function X(e){const i=H(),m=()=>e.actionsReveal==="hover"?"hover":"always";let o;const u=G({emit:a=>{var t;return(t=e.onMessageAction)==null?void 0:t.call(e,a)},target:()=>o}),g=()=>e.scrollButton!==!1,p=()=>e.messages.length===0&&!e.loading,v=B(()=>e.messages.map(a=>a.id));return w(()=>{var a;(a=e.controllerRef)==null||a.call(e,{scrollToBottom:t=>{const n=o?.querySelector(".overflow-y-auto");n?.scrollTo({top:n.scrollHeight,behavior:t??"smooth"})}})}),r(z,{get proseSize(){return e.proseSize},get codeTheme(){return e.codeTheme},get codeHighlight(){return e.codeHighlight!==!1},get portalMount(){return i.portalMount()},get children(){var a=S();return M(t=>o=t,a),h(a,r(q,{class:"h-full px-4 py-3",get children(){return[r(N,{class:"mx-auto w-full max-w-3xl space-y-4",get children(){return[r(l,{get when(){return p()},get children(){return r(l,{get when(){return e.empty},get fallback(){return r(W,{})},get children(){return e.empty}})}}),r(R,{get each(){return v()},children:(t,n)=>r(l,{get when(){return e.messages[n()]},children:s=>{const y=r(_,{get parts(){return s().parts},get cardTypes(){return e.cardTypes},get cardSchemas(){return e.cardSchemas},get cardHostElement(){return e.cardHostElement},get isUser(){return s().role==="user"},get markdown(){return s().role==="assistant"},get actions(){return s().actions},get actionsReveal(){return m()},get activeFeedback(){return u.resolveFeedback(s())},get copied(){return u.isCopied(s().id)},onAction:d=>u.handleAction(s(),d)}),b=()=>m()==="hover"?"group ":"";return r(l,{get when(){return s().avatar},get fallback(){return r(x,{get role(){return s().role},get class(){return`${b()}${s().role==="user"?"flex-col items-end":"flex-col items-start"}`},children:y})},children:d=>r(x,{get role(){return s().role},get class(){return b()},get children(){return[r(D,{get src(){return d().src??""},get alt(){return d().alt??""},get fallback(){return d().fallback}}),(()=>{var f=S();return h(f,y),T(()=>k(f,`flex min-w-0 flex-1 flex-col ${s().role==="user"?"items-end":"items-start"}`)),f})()]}})})}})}),r(l,{get when(){return e.loading},get children(){return r(x,{class:"flex-col items-start",get children(){var t=Q();return h(t,r(K,{variant:"typing"})),t}})}}),r(O,{})]}}),r(l,{get when(){return g()},get children(){var t=V();return h(t,r(U,{})),t}})]}})),T(()=>k(a,`relative flex h-full min-h-0 flex-col bg-background ${e.class??""}`)),a}})}var Y=c("<style>:host{display:block;height:100%}"),Z=c("<slot name=empty>");A("kai-thread",{messages:void 0,loading:!1,proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,actionsReveal:"always",scrollButton:!0,class:void 0,cardTypes:void 0,cardSchemas:void 0},(e,{element:i,dispatch:m,flag:o,expose:u})=>{let g;const p=J("kai-thread"),[v,a]=$({});return w(()=>{const t=()=>a(j(i,L));t();const n=new MutationObserver(t);n.observe(i,{childList:!0}),C(()=>n.disconnect())}),u({scrollToBottom:t=>g?.scrollToBottom(t)}),[Y(),r(X,{get class(){return e.class},get messages(){return p(e.messages)},get loading(){return o("loading")},get proseSize(){return e.proseSize},get codeTheme(){return e.codeTheme},get codeHighlight(){return o("codeHighlight")},get actionsReveal(){return e.actionsReveal},get scrollButton(){return e.scrollButton!==!1},get cardTypes(){return I(e.cardTypes,e.theme)},get cardSchemas(){return e.cardSchemas},cardHostElement:i,get empty(){return E(()=>!!v().empty)()?(()=>{var t=Z();return t._$owner=F(),t})():void 0},onMessageAction:t=>m("kai-message-action",t),controllerRef:t=>g=t})]});
|
package/dist/elements/toast.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as y,k as Q,j as G,h as H,c as i,i as h,F as U,u as V,a as z,d as N,b as L,l as q,n as Z,S as b,t as D,x as ee,e as ie,f as ae}from"../define-By-uL588.js";import{c as g}from"../cn-DN5AWfiS.js";import{c as se}from"../overlay-Cb-MkyDa.js";import{r as te,t as de}from"../toast-store-tgK6MuMv.js";import{c as le}from"../check-njkVdZu2.js";import{c as ce}from"../circle-x-BPG0iPst.js";import{i as ue}from"../info-DsFjGuI_.js";import{t as me}from"../triangle-alert-DlQ68ppf.js";import{x as pe}from"../x-Z5UntkIJ.js";var ve=D("<button type=button>"),fe=D("<button type=button aria-label=Dismiss>"),J=D("<div>"),ge=D('<div class="min-w-0 flex-1"><div class="font-medium leading-snug">'),he=D('<span class="min-w-0 flex-1 truncate">'),xe=D('<div role=region aria-label=Notifications aria-live=polite data-stack=collapsed style="z-index:var(--kai-toast-z, 100)"><div class="pointer-events-auto relative transition-[height] duration-200 ease-out"style="min-width:16rem;max-width:min(30rem, calc(100vw - 2rem))">'),be=D('<div role=region aria-label=Notifications aria-live=polite data-stack=expanded style="z-index:var(--kai-toast-z, 100)">');function we(){var t,c;const[u,f]=y(typeof window<"u"&&((t=window.matchMedia)==null?void 0:t.call(window,"(prefers-reduced-motion: reduce)").matches)===!0);if(typeof window<"u"&&window.matchMedia){const m=window.matchMedia("(prefers-reduced-motion: reduce)"),l=()=>f(m.matches);(c=m.addEventListener)==null||c.call(m,"change",l),H(()=>{var d;return(d=m.removeEventListener)==null?void 0:d.call(m,"change",l)})}return u}function re(t){const[c,u]=y(!0),f=se(c),m=()=>t.item.variant??"neutral",l=()=>t.item.dismissible!==!1,d=()=>t.item.appearance??t.appearance??"pill",v=()=>t.item.inverse??t.inverse??!1,I=()=>v()?"bg-foreground text-background border-transparent":"bg-popover text-popover-foreground border-border",Y=()=>v()?"text-background/70":"text-muted-foreground",E=()=>v()?"text-background hover:text-background/80":"text-primary hover:text-primary/80",S=()=>v()?"text-background/70 hover:text-background":"text-muted-foreground hover:text-foreground";let A=te(t.item),T=0,k,$="timeout";const w=()=>{k!==void 0&&(clearTimeout(k),k=void 0)},j=()=>{w(),!(A<=0)&&(T=Date.now(),k=setTimeout(()=>{$="timeout",u(!1)},A))},K=()=>{k!==void 0&&(w(),A-=Date.now()-T)},[P,X]=y(!1),F=()=>t.paused===!0||P();G(ee(()=>te(t.item),e=>{A=e,F()?w():j()})),G(ee(F,e=>{e?K():j()},{defer:!0})),H(w),G(()=>{!f.present()&&!c()&&t.onDismiss($)});const _=()=>{w(),$="close",u(!1)},R=()=>{var e;const o=t.item.action;o&&((e=t.onAction)==null||e.call(t,o.label),o.onAction()===!1||(w(),$="action",u(!1)))},x=()=>d()==="card"?"mt-0.5":void 0,B=()=>[i(b,{get when(){return m()==="success"},get children(){return i(le,{get class(){return g("size-4 shrink-0 text-emerald-500",x())}})}}),i(b,{get when(){return m()==="warning"},get children(){return i(me,{get class(){return g("size-4 shrink-0 text-warning",x())}})}}),i(b,{get when(){return m()==="error"},get children(){return i(ce,{get class(){return g("size-4 shrink-0 text-destructive",x())}})}}),i(b,{get when(){return m()==="info"},get children(){return i(ue,{get class(){return g("size-4 shrink-0 text-info",x())}})}})],n=e=>i(b,{get when(){return t.item.action},children:o=>(()=>{var r=ve();return r.$$click=R,h(r,()=>o().label),z(()=>L(r,g(d()==="card"?g("inline-flex shrink-0 items-center rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",v()?"border-background/30 text-background hover:bg-background/10":"border-border text-foreground hover:bg-accent"):g("shrink-0 rounded-md text-sm font-medium underline-offset-2 hover:underline",E()),e.class))),r})()}),a=()=>i(b,{get when(){return l()},get children(){var e=fe();return e.$$click=_,h(e,i(pe,{class:"size-3.5"})),z(()=>L(e,g("-mr-1 flex size-5 shrink-0 items-center justify-center rounded-md transition-colors",S()))),e}});return i(b,{get when(){return f.present()},get children(){var e=J();e.addEventListener("pointerleave",()=>X(!1)),e.addEventListener("pointerenter",()=>X(!0));var o=f.setRef;return typeof o=="function"?V(o,e):f.setRef=e,h(e,i(B,{}),null),h(e,i(b,{get when(){return d()==="card"},get fallback(){return[(()=>{var r=he();return h(r,()=>t.item.message),r})(),i(n,{}),i(a,{})]},get children(){return[(()=>{var r=ge(),s=r.firstChild;return h(s,()=>t.item.message),h(r,i(b,{get when(){return t.item.description},get children(){var p=J();return h(p,()=>t.item.description),z(()=>L(p,g("mt-1 line-clamp-2 text-xs leading-snug",Y()))),p}}),null),h(r,i(n,{class:"mt-2"}),null),r})(),i(a,{})]}}),null),z(r=>{var s=m()==="error"?"alert":"status",p=d(),M=v()?"":void 0,C=f.state()==="closed"?"":void 0,O=g("pointer-events-auto border text-sm shadow-lg",I(),"animate-in fade-in-0 slide-in-from-top-4","data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:slide-out-to-top-2",d()==="card"?"flex min-w-[24rem] items-start gap-3 rounded-xl p-4 shadow-xl":"flex items-center gap-3 rounded-full px-4 py-2.5");return s!==r.e&&N(e,"role",r.e=s),p!==r.t&&N(e,"data-appearance",r.t=p),M!==r.a&&N(e,"data-inverse",r.a=M),C!==r.o&&N(e,"data-closed",r.o=C),O!==r.i&&L(e,r.i=O),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),e}})}const ne={"top-center":"top-4 left-1/2 -translate-x-1/2 items-center","top-right":"top-4 right-4 items-end","top-left":"top-4 left-4 items-start","bottom-center":"bottom-4 left-1/2 -translate-x-1/2 items-center flex-col-reverse","bottom-right":"bottom-4 right-4 items-end flex-col-reverse","bottom-left":"bottom-4 left-4 items-start flex-col-reverse"},ke={"top-center":"items-center","top-left":"items-start","top-right":"items-end","bottom-center":"items-center flex-col-reverse","bottom-left":"items-start flex-col-reverse","bottom-right":"items-end flex-col-reverse"},W=12;function oe(t,c){const u=c.left+c.width/2,f=c.top+W,m=c.bottom-W,l=c.left+W,d=c.right-W,v=`${Math.max(0,c.width-W*2)}px`;switch(t){case"top-left":return{top:`${f}px`,left:`${l}px`,transform:"none","max-width":v};case"top-right":return{top:`${f}px`,left:`${d}px`,transform:"translateX(-100%)","max-width":v};case"bottom-center":return{top:`${m}px`,left:`${u}px`,transform:"translate(-50%, -100%)","max-width":v};case"bottom-left":return{top:`${m}px`,left:`${l}px`,transform:"translateY(-100%)","max-width":v};case"bottom-right":return{top:`${m}px`,left:`${d}px`,transform:"translate(-100%, -100%)","max-width":v};default:return{top:`${f}px`,left:`${u}px`,transform:"translateX(-50%)","max-width":v}}}function $e(t){const c=()=>t.max??3,u=()=>t.position??"top-center",f=()=>t.stack??"expanded",m=we(),l=()=>f()==="collapsed"&&!m(),[d,v]=y(!1),[I,Y]=y(!1),E=()=>d()||I(),S=20,A=.05,T=48,k=8,$=()=>u().startsWith("bottom"),w=()=>$()?-1:1,[j,K]=y(T),P=n=>{if(!n||typeof window>"u")return;const a=()=>{const o=n.offsetHeight;o&&K(o)};if(a(),typeof ResizeObserver>"u")return;const e=new ResizeObserver(a);e.observe(n),H(()=>e.disconnect())},X=n=>E()?`translateY(${w()*(j()+k)*n}px) scale(1)`:`translateY(${w()*S*n}px) scale(${1-A*n})`,F=()=>{const n=R().length;return n?E()?n*j()+(n-1)*k:j()+(n-1)*S:0},_=Q(()=>[...(t.toasts??[]).filter(n=>(n.target??void 0)===t.target)].reverse()),R=Q(()=>_().slice(0,c())),[x,B]=y(null);return G(()=>{const n=t.target;if(!n||typeof window>"u"){B(null);return}const a=window,e=()=>{const r=n.getBoundingClientRect();B({top:r.top,left:r.left,right:r.right,bottom:r.bottom,width:r.width})};e();const o=new ResizeObserver(e);o.observe(n),a.addEventListener("scroll",e,!0),a.addEventListener("resize",e),H(()=>{o.disconnect(),a.removeEventListener("scroll",e,!0),a.removeEventListener("resize",e)})}),i(b,{get when(){return l()},get fallback(){return(()=>{var n=be();return h(n,i(U,{get each(){return R()},children:a=>i(re,{item:a,get appearance(){return t.appearance},get inverse(){return t.inverse},onDismiss:e=>{var o;return(o=t.onDismiss)==null?void 0:o.call(t,a.id,e)},onAction:e=>{var o;return(o=t.onAction)==null?void 0:o.call(t,a.id,e)}})})),z(a=>{var e=g("pointer-events-none fixed flex flex-col gap-2",x()?ke[u()]:g("max-w-[min(30rem,calc(100vw-2rem))]",ne[u()])),o={...x()?oe(u(),x()):void 0};return e!==a.e&&L(n,a.e=e),a.t=Z(n,o,a.t),a},{e:void 0,t:void 0}),n})()},get children(){var n=xe(),a=n.firstChild;return n.$$focusout=()=>Y(!1),n.$$focusin=()=>Y(!0),n.addEventListener("pointerleave",()=>v(!1)),n.addEventListener("pointerenter",()=>v(!0)),h(a,i(U,{get each(){return R()},children:(e,o)=>(()=>{var r=J();return V(s=>{o()===0&&P(s)},r),h(r,i(re,{item:e,get paused(){return E()},get appearance(){return t.appearance},get inverse(){return t.inverse},onDismiss:s=>{var p;return(p=t.onDismiss)==null?void 0:p.call(t,e.id,s)},onAction:s=>{var p;return(p=t.onAction)==null?void 0:p.call(t,e.id,s)}})),z(s=>{var p=o(),M=g("absolute inset-x-0 flex transition-[transform,opacity] duration-200 ease-out",$()?"bottom-0 origin-bottom":"top-0 origin-top",u().endsWith("right")?"justify-end":u().endsWith("left")?"justify-start":"justify-center"),C=String(c()-o()),O=X(o());return p!==s.e&&N(r,"data-depth",s.e=p),M!==s.t&&L(r,s.t=M),C!==s.a&&q(r,"z-index",s.a=C),O!==s.o&&q(r,"transform",s.o=O),s},{e:void 0,t:void 0,a:void 0,o:void 0}),r})()})),z(e=>{var o=E()?"":void 0,r=g("pointer-events-none fixed",!x()&&ne[u()]),s={...x()?oe(u(),x()):void 0},p=`${F()}px`;return o!==e.e&&N(n,"data-expanded",e.e=o),r!==e.t&&L(n,e.t=r),e.a=Z(n,s,e.a),p!==e.o&&q(a,"height",e.o=p),e},{e:void 0,t:void 0,a:void 0,o:void 0}),n}})}ie(["click","focusin","focusout"]),ae("kai-toast-region",{toasts:[],position:"top-center",max:3,stack:"expanded",appearance:"pill",inverse:!1,target:void 0},(t,{dispatch:c,flag:u})=>{const f=()=>{const l=t.max,d=typeof l=="string"?parseInt(l,10):l;return typeof d=="number"&&!Number.isNaN(d)?d:3},m=l=>{de.dismiss(l)};return i($e,{get toasts(){return t.toasts??[]},get position(){return t.position},get max(){return f()},get stack(){return t.stack},get appearance(){return t.appearance},get inverse(){return u("inverse")},get target(){return t.target},onDismiss:(l,d)=>{m(l),c("kai-dismiss",{id:l,reason:d})},onAction:(l,d)=>c("kai-action",{id:l,label:d})})});
|
|
1
|
+
import{g as y,k as Q,j as G,h as H,c as i,i as h,F as U,u as V,a as z,d as N,b as L,l as q,n as Z,S as b,t as D,x as ee,e as ie,f as ae}from"../define-CI0y3eE4.js";import{c as g}from"../cn-DN5AWfiS.js";import{c as se}from"../overlay-DBMFXie6.js";import{r as te,t as de}from"../toast-store-DkOlYczt.js";import{c as le}from"../check-CiEOVnEN.js";import{c as ce}from"../circle-x-Bk-dA5Wf.js";import{i as ue}from"../info-0cOUherQ.js";import{t as me}from"../triangle-alert-CeHLWxhD.js";import{x as pe}from"../x-eiO9V6J6.js";var ve=D("<button type=button>"),fe=D("<button type=button aria-label=Dismiss>"),J=D("<div>"),ge=D('<div class="min-w-0 flex-1"><div class="font-medium leading-snug">'),he=D('<span class="min-w-0 flex-1 truncate">'),xe=D('<div role=region aria-label=Notifications aria-live=polite data-stack=collapsed style="z-index:var(--kai-toast-z, 100)"><div class="pointer-events-auto relative transition-[height] duration-200 ease-out"style="min-width:16rem;max-width:min(30rem, calc(100vw - 2rem))">'),be=D('<div role=region aria-label=Notifications aria-live=polite data-stack=expanded style="z-index:var(--kai-toast-z, 100)">');function we(){var t,c;const[u,f]=y(typeof window<"u"&&((t=window.matchMedia)==null?void 0:t.call(window,"(prefers-reduced-motion: reduce)").matches)===!0);if(typeof window<"u"&&window.matchMedia){const m=window.matchMedia("(prefers-reduced-motion: reduce)"),l=()=>f(m.matches);(c=m.addEventListener)==null||c.call(m,"change",l),H(()=>{var d;return(d=m.removeEventListener)==null?void 0:d.call(m,"change",l)})}return u}function re(t){const[c,u]=y(!0),f=se(c),m=()=>t.item.variant??"neutral",l=()=>t.item.dismissible!==!1,d=()=>t.item.appearance??t.appearance??"pill",v=()=>t.item.inverse??t.inverse??!1,I=()=>v()?"bg-foreground text-background border-transparent":"bg-popover text-popover-foreground border-border",Y=()=>v()?"text-background/70":"text-muted-foreground",E=()=>v()?"text-background hover:text-background/80":"text-primary hover:text-primary/80",S=()=>v()?"text-background/70 hover:text-background":"text-muted-foreground hover:text-foreground";let A=te(t.item),T=0,k,$="timeout";const w=()=>{k!==void 0&&(clearTimeout(k),k=void 0)},j=()=>{w(),!(A<=0)&&(T=Date.now(),k=setTimeout(()=>{$="timeout",u(!1)},A))},K=()=>{k!==void 0&&(w(),A-=Date.now()-T)},[P,X]=y(!1),F=()=>t.paused===!0||P();G(ee(()=>te(t.item),e=>{A=e,F()?w():j()})),G(ee(F,e=>{e?K():j()},{defer:!0})),H(w),G(()=>{!f.present()&&!c()&&t.onDismiss($)});const _=()=>{w(),$="close",u(!1)},R=()=>{var e;const o=t.item.action;o&&((e=t.onAction)==null||e.call(t,o.label),o.onAction()===!1||(w(),$="action",u(!1)))},x=()=>d()==="card"?"mt-0.5":void 0,B=()=>[i(b,{get when(){return m()==="success"},get children(){return i(le,{get class(){return g("size-4 shrink-0 text-emerald-500",x())}})}}),i(b,{get when(){return m()==="warning"},get children(){return i(me,{get class(){return g("size-4 shrink-0 text-warning",x())}})}}),i(b,{get when(){return m()==="error"},get children(){return i(ce,{get class(){return g("size-4 shrink-0 text-destructive",x())}})}}),i(b,{get when(){return m()==="info"},get children(){return i(ue,{get class(){return g("size-4 shrink-0 text-info",x())}})}})],n=e=>i(b,{get when(){return t.item.action},children:o=>(()=>{var r=ve();return r.$$click=R,h(r,()=>o().label),z(()=>L(r,g(d()==="card"?g("inline-flex shrink-0 items-center rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",v()?"border-background/30 text-background hover:bg-background/10":"border-border text-foreground hover:bg-accent"):g("shrink-0 rounded-md text-sm font-medium underline-offset-2 hover:underline",E()),e.class))),r})()}),a=()=>i(b,{get when(){return l()},get children(){var e=fe();return e.$$click=_,h(e,i(pe,{class:"size-3.5"})),z(()=>L(e,g("-mr-1 flex size-5 shrink-0 items-center justify-center rounded-md transition-colors",S()))),e}});return i(b,{get when(){return f.present()},get children(){var e=J();e.addEventListener("pointerleave",()=>X(!1)),e.addEventListener("pointerenter",()=>X(!0));var o=f.setRef;return typeof o=="function"?V(o,e):f.setRef=e,h(e,i(B,{}),null),h(e,i(b,{get when(){return d()==="card"},get fallback(){return[(()=>{var r=he();return h(r,()=>t.item.message),r})(),i(n,{}),i(a,{})]},get children(){return[(()=>{var r=ge(),s=r.firstChild;return h(s,()=>t.item.message),h(r,i(b,{get when(){return t.item.description},get children(){var p=J();return h(p,()=>t.item.description),z(()=>L(p,g("mt-1 line-clamp-2 text-xs leading-snug",Y()))),p}}),null),h(r,i(n,{class:"mt-2"}),null),r})(),i(a,{})]}}),null),z(r=>{var s=m()==="error"?"alert":"status",p=d(),M=v()?"":void 0,C=f.state()==="closed"?"":void 0,O=g("pointer-events-auto border text-sm shadow-lg",I(),"animate-in fade-in-0 slide-in-from-top-4","data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:slide-out-to-top-2",d()==="card"?"flex min-w-[24rem] items-start gap-3 rounded-xl p-4 shadow-xl":"flex items-center gap-3 rounded-full px-4 py-2.5");return s!==r.e&&N(e,"role",r.e=s),p!==r.t&&N(e,"data-appearance",r.t=p),M!==r.a&&N(e,"data-inverse",r.a=M),C!==r.o&&N(e,"data-closed",r.o=C),O!==r.i&&L(e,r.i=O),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),e}})}const ne={"top-center":"top-4 left-1/2 -translate-x-1/2 items-center","top-right":"top-4 right-4 items-end","top-left":"top-4 left-4 items-start","bottom-center":"bottom-4 left-1/2 -translate-x-1/2 items-center flex-col-reverse","bottom-right":"bottom-4 right-4 items-end flex-col-reverse","bottom-left":"bottom-4 left-4 items-start flex-col-reverse"},ke={"top-center":"items-center","top-left":"items-start","top-right":"items-end","bottom-center":"items-center flex-col-reverse","bottom-left":"items-start flex-col-reverse","bottom-right":"items-end flex-col-reverse"},W=12;function oe(t,c){const u=c.left+c.width/2,f=c.top+W,m=c.bottom-W,l=c.left+W,d=c.right-W,v=`${Math.max(0,c.width-W*2)}px`;switch(t){case"top-left":return{top:`${f}px`,left:`${l}px`,transform:"none","max-width":v};case"top-right":return{top:`${f}px`,left:`${d}px`,transform:"translateX(-100%)","max-width":v};case"bottom-center":return{top:`${m}px`,left:`${u}px`,transform:"translate(-50%, -100%)","max-width":v};case"bottom-left":return{top:`${m}px`,left:`${l}px`,transform:"translateY(-100%)","max-width":v};case"bottom-right":return{top:`${m}px`,left:`${d}px`,transform:"translate(-100%, -100%)","max-width":v};default:return{top:`${f}px`,left:`${u}px`,transform:"translateX(-50%)","max-width":v}}}function $e(t){const c=()=>t.max??3,u=()=>t.position??"top-center",f=()=>t.stack??"expanded",m=we(),l=()=>f()==="collapsed"&&!m(),[d,v]=y(!1),[I,Y]=y(!1),E=()=>d()||I(),S=20,A=.05,T=48,k=8,$=()=>u().startsWith("bottom"),w=()=>$()?-1:1,[j,K]=y(T),P=n=>{if(!n||typeof window>"u")return;const a=()=>{const o=n.offsetHeight;o&&K(o)};if(a(),typeof ResizeObserver>"u")return;const e=new ResizeObserver(a);e.observe(n),H(()=>e.disconnect())},X=n=>E()?`translateY(${w()*(j()+k)*n}px) scale(1)`:`translateY(${w()*S*n}px) scale(${1-A*n})`,F=()=>{const n=R().length;return n?E()?n*j()+(n-1)*k:j()+(n-1)*S:0},_=Q(()=>[...(t.toasts??[]).filter(n=>(n.target??void 0)===t.target)].reverse()),R=Q(()=>_().slice(0,c())),[x,B]=y(null);return G(()=>{const n=t.target;if(!n||typeof window>"u"){B(null);return}const a=window,e=()=>{const r=n.getBoundingClientRect();B({top:r.top,left:r.left,right:r.right,bottom:r.bottom,width:r.width})};e();const o=new ResizeObserver(e);o.observe(n),a.addEventListener("scroll",e,!0),a.addEventListener("resize",e),H(()=>{o.disconnect(),a.removeEventListener("scroll",e,!0),a.removeEventListener("resize",e)})}),i(b,{get when(){return l()},get fallback(){return(()=>{var n=be();return h(n,i(U,{get each(){return R()},children:a=>i(re,{item:a,get appearance(){return t.appearance},get inverse(){return t.inverse},onDismiss:e=>{var o;return(o=t.onDismiss)==null?void 0:o.call(t,a.id,e)},onAction:e=>{var o;return(o=t.onAction)==null?void 0:o.call(t,a.id,e)}})})),z(a=>{var e=g("pointer-events-none fixed flex flex-col gap-2",x()?ke[u()]:g("max-w-[min(30rem,calc(100vw-2rem))]",ne[u()])),o={...x()?oe(u(),x()):void 0};return e!==a.e&&L(n,a.e=e),a.t=Z(n,o,a.t),a},{e:void 0,t:void 0}),n})()},get children(){var n=xe(),a=n.firstChild;return n.$$focusout=()=>Y(!1),n.$$focusin=()=>Y(!0),n.addEventListener("pointerleave",()=>v(!1)),n.addEventListener("pointerenter",()=>v(!0)),h(a,i(U,{get each(){return R()},children:(e,o)=>(()=>{var r=J();return V(s=>{o()===0&&P(s)},r),h(r,i(re,{item:e,get paused(){return E()},get appearance(){return t.appearance},get inverse(){return t.inverse},onDismiss:s=>{var p;return(p=t.onDismiss)==null?void 0:p.call(t,e.id,s)},onAction:s=>{var p;return(p=t.onAction)==null?void 0:p.call(t,e.id,s)}})),z(s=>{var p=o(),M=g("absolute inset-x-0 flex transition-[transform,opacity] duration-200 ease-out",$()?"bottom-0 origin-bottom":"top-0 origin-top",u().endsWith("right")?"justify-end":u().endsWith("left")?"justify-start":"justify-center"),C=String(c()-o()),O=X(o());return p!==s.e&&N(r,"data-depth",s.e=p),M!==s.t&&L(r,s.t=M),C!==s.a&&q(r,"z-index",s.a=C),O!==s.o&&q(r,"transform",s.o=O),s},{e:void 0,t:void 0,a:void 0,o:void 0}),r})()})),z(e=>{var o=E()?"":void 0,r=g("pointer-events-none fixed",!x()&&ne[u()]),s={...x()?oe(u(),x()):void 0},p=`${F()}px`;return o!==e.e&&N(n,"data-expanded",e.e=o),r!==e.t&&L(n,e.t=r),e.a=Z(n,s,e.a),p!==e.o&&q(a,"height",e.o=p),e},{e:void 0,t:void 0,a:void 0,o:void 0}),n}})}ie(["click","focusin","focusout"]),ae("kai-toast-region",{toasts:[],position:"top-center",max:3,stack:"expanded",appearance:"pill",inverse:!1,target:void 0},(t,{dispatch:c,flag:u})=>{const f=()=>{const l=t.max,d=typeof l=="string"?parseInt(l,10):l;return typeof d=="number"&&!Number.isNaN(d)?d:3},m=l=>{de.dismiss(l)};return i($e,{get toasts(){return t.toasts??[]},get position(){return t.position},get max(){return f()},get stack(){return t.stack},get appearance(){return t.appearance},get inverse(){return u("inverse")},get target(){return t.target},onDismiss:(l,d)=>{m(l),c("kai-dismiss",{id:l,reason:d})},onAction:(l,d)=>c("kai-action",{id:l,label:d})})});
|
package/dist/elements/tool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as i,g as s,c as r,S as f}from"../define-
|
|
1
|
+
import{f as i,g as s,c as r,S as f}from"../define-CI0y3eE4.js";import{T as u}from"../tool-CeIWUVUe.js";import{w as g}from"../disclosure-NnACBxsC.js";i("kai-tool",{tool:void 0,open:void 0,defaultOpen:void 0,disabled:void 0},(e,t)=>{const{flag:o,reflectFlag:l}=t,[a,d]=s();return g(t,a,()=>e.open),l("disabled"),r(f,{get when(){return e.tool},get children(){return r(u,{get toolPart(){return e.tool},get defaultOpen(){return o("defaultOpen")},get disabled(){return o("disabled")},controllerRef:n=>d(n)})}})});
|
package/dist/elements/tooltip.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as i,c as d,v as s,m as r,t as a}from"../define-
|
|
1
|
+
import{f as i,c as d,v as s,m as r,t as a}from"../define-CI0y3eE4.js";import{T as p}from"../tooltip-GA-nmg06.js";import{w as u}from"../disclosure-NnACBxsC.js";var c=a("<style>:host{display:inline-flex}"),m=a("<slot>");i("kai-tooltip",{content:"",openDelay:void 0,closeDelay:void 0,placement:void 0,open:void 0,defaultOpen:void 0,disabled:void 0},(e,o)=>{const{flag:l}=o;let n;return u(o,()=>n,()=>e.open),[c(),d(p,{get content(){return e.content??""},get openDelay(){return r(()=>e.openDelay!=null)()?Number(e.openDelay):void 0},get closeDelay(){return r(()=>e.closeDelay!=null)()?Number(e.closeDelay):void 0},get placement(){return e.placement??void 0},get defaultOpen(){return l("defaultOpen")},get disabled(){return l("disabled")},controllerRef:t=>n=t,get children(){var t=m();return t._$owner=s(),t}})]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as x,h as B,s as V,j as D,x as U,i as j,c as h,F as $,l as q,S as C,m as z,a as A,b as G,t as T,f as H}from"../define-
|
|
1
|
+
import{g as x,h as B,s as V,j as D,x as U,i as j,c as h,F as $,l as q,S as C,m as z,a as A,b as G,t as T,f as H}from"../define-CI0y3eE4.js";import{c as L}from"../cn-DN5AWfiS.js";import{B as J}from"../button-C_3te6fm.js";import{T as K}from"../tooltip-GA-nmg06.js";function N(r={}){const s=r.mimeType??"audio/webm;codecs=opus",[c,m]=x(!1),[l,e]=x(null),[t,u]=x();let a,v=[],f;async function o(){e(null),v=[];try{const n=await navigator.mediaDevices.getUserMedia({audio:!0});return u(n),a=new MediaRecorder(n,{mimeType:s}),a.ondataavailable=i=>{i.data.size>0&&v.push(i.data)},a.onstop=()=>{const i=new Blob(v,{type:s});n.getTracks().forEach(d=>d.stop()),u(void 0),m(!1),f?.(i)},a.start(),m(!0),new Promise(i=>{f=i})}catch(n){const i=t();throw i&&(i.getTracks().forEach(d=>d.stop()),u(void 0)),e(n instanceof Error?n.message:"Microphone access denied"),m(!1),n}}function y(){a&&a.state==="recording"&&a.stop()}return B(()=>y()),{isRecording:c,error:l,stream:t,start:o,stop:y}}function P(){if(typeof window>"u")return;const r=window;return r.SpeechRecognition??r.webkitSpeechRecognition}function O(r={}){const[s,c]=x(!1),[m,l]=x(null),e=P()!==void 0;let t,u,a="";function v(o={}){l(null),a="";const y=P();if(!y){const n="SpeechRecognition is not supported in this browser";return l(n),Promise.reject(new Error(n))}try{return t=new y,o.lang&&(t.lang=o.lang),t.interimResults=r.interim===!0,t.continuous=!1,t.onresult=n=>{var i;let d="";for(let w=n.resultIndex;w<n.results.length;w++){const E=n.results[w],R=((i=E[0])==null?void 0:i.transcript)??"";E.isFinal?a+=R:d+=R}d&&o.onInterim&&o.onInterim(d)},t.onerror=n=>{var i;const d=n.error??"unknown",w=`Speech recognition error: ${d}`;l(w),(i=o.onError)==null||i.call(o,d,w)},t.onend=()=>{c(!1),u?.(a),t=void 0},t.start(),c(!0),new Promise(n=>{u=n})}catch(n){throw l(n instanceof Error?n.message:"Speech recognition failed to start"),c(!1),n}}function f(){t&&s()&&t.stop()}return B(()=>{t&&t.abort()}),{isSupported:e,isListening:s,error:m,start:v,stop:f}}var Q=T('<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="M12 1a3 3 0 00-3 3v8a3 3 0 006 0V4a3 3 0 00-3-3z"></path><path d="M19 10v2a7 7 0 01-14 0v-2"></path><line x1=12 y1=19 x2=12 y2=23></line><line x1=8 y1=23 x2=16 y2=23>'),W=T('<svg width=14 height=14 viewBox="0 0 24 24"fill=currentColor><rect x=4 y=4 width=16 height=16 rx=2>'),X=T('<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 class=animate-spin><path d="M21 12a9 9 0 11-6.219-8.56">'),Y=T("<div>"),Z=T('<div class="absolute inset-0 animate-ping rounded-full border-2 border-red-400/30"style=animation-duration:2s>');function _(r){var s;const[c]=V(r,["onTranscribe","onTranscription","disabled","class"]),{isRecording:m,start:l,stop:e}=N(),t=O({interim:r.interim}),[u,a]=x(!1),v=()=>!r.hasTranscribe&&t.isSupported,f=()=>u()?"Transcribing...":o()?"Stop recording":"Voice input",o=()=>v()?t.isListening():m();async function y(){var g,p;let k=!1;try{const b=await t.start({lang:r.lang,onInterim:r.interim?I=>{var S;return(S=r.onInterim)==null?void 0:S.call(r,I)}:void 0,onError:(I,S)=>{var M;k=!0,(M=r.onError)==null||M.call(r,{source:"recognition",error:I,message:S})}});b.trim()?c.onTranscription(b.trim()):k||(g=r.onError)==null||g.call(r,{source:"recognition",error:"no-result",message:"Speech recognition ended without capturing any text"})}catch(b){k||(p=r.onError)==null||p.call(r,{source:"recognition",error:b instanceof Error?b.name:"unknown",message:b instanceof Error?b.message:String(b)})}}async function n(){try{const g=await l();a(!0);try{const p=await c.onTranscribe(g);p.trim()&&c.onTranscription(p.trim())}finally{a(!1)}}catch{a(!1)}}function i(){v()?y():n()}function d(){v()?t.stop():e()}async function w(){o()?d():i()}D(U(o,g=>{var p;(p=r.onRecordingChange)==null||p.call(r,g)},{defer:!0})),(s=r.controllerRef)==null||s.call(r,{start:()=>{o()||i()},stop:()=>d()});const E=()=>Q(),R=()=>W(),F=()=>X();return(()=>{var g=Y();return j(g,h(C,{get when(){return o()},get children(){return h($,{each:[0,1,2],children:p=>(()=>{var k=Z();return q(k,"animation-delay",`${p*.3}s`),k})()})}}),null),j(g,h(K,{get content(){return f()},get children(){return h(J,{variant:"ghost",size:"icon-sm",get"aria-label"(){return f()},onClick:w,get disabled(){return c.disabled||u()},get class(){return L("relative z-10 rounded-full transition-all duration-300",o()&&"bg-destructive text-white hover:bg-destructive/80")},get children(){return[h(C,{get when(){return u()},get children(){return h(F,{})}}),h(C,{get when(){return z(()=>!u())()&&o()},get children(){return h(R,{})}}),h(C,{get when(){return z(()=>!u())()&&!o()},get children(){return h(E,{})}})]}})}}),null),A(()=>G(g,L("relative inline-flex items-center justify-center",c.class))),g})()}H("kai-voice-input",{transcribe:void 0,disabled:!1,recognitionLang:void 0,interim:!1},(r,{dispatch:s,flag:c,expose:m})=>{let l;return m({start:()=>l?.start(),stop:()=>l?.stop()}),h(_,{get disabled(){return c("disabled")},get hasTranscribe(){return typeof r.transcribe=="function"},get lang(){return r.recognitionLang},get interim(){return c("interim")},onTranscribe:async e=>(s("kai-audio-captured",{blob:e}),r.transcribe?r.transcribe(e):""),onTranscription:e=>s("kai-transcription",{text:e}),onInterim:e=>s("kai-transcript-interim",{text:e}),onRecordingChange:e=>s("kai-recording-change",{recording:e}),onError:e=>s("kai-voice-error",e),controllerRef:e=>l=e})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as $,g as z,j as x,x as b,h as q,i as D,c as a,S as w,m as R,a as F,b as G,t as y,f as H}from"../define-
|
|
1
|
+
import{s as $,g as z,j as x,x as b,h as q,i as D,c as a,S as w,m as R,a as F,b as G,t as y,f as H}from"../define-CI0y3eE4.js";import{c as C}from"../cn-DN5AWfiS.js";import{B as I}from"../button-C_3te6fm.js";import{T as J}from"../tooltip-GA-nmg06.js";var K=y('<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M19.07 4.93a10 10 0 010 14.14M15.54 8.46a5 5 0 010 7.07">'),N=y('<svg width=14 height=14 viewBox="0 0 24 24"fill=currentColor><rect x=4 y=4 width=16 height=16 rx=2>'),P=y('<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 class=animate-spin><path d="M21 12a9 9 0 11-6.219-8.56">'),V=y("<div>");function p(){return typeof window<"u"&&"speechSynthesis"in window}function W(e){var c;const[i]=$(e,["text","disabled","class"]),[l,n]=z(!1),[t,v]=z(!1);let r,h,d;const E=()=>!!e.onSynthesize||p(),S=()=>t()?"Synthesizing...":l()?"Stop":"Read aloud";function k(){h&&(URL.revokeObjectURL(h),h=void 0)}function j(){!p()||!i.text||(window.speechSynthesis.cancel(),d=new SpeechSynthesisUtterance(i.text),d.onstart=()=>n(!0),d.onend=()=>n(!1),d.onerror=s=>{var u;n(!1);const o=s?.error??"unknown";o==="canceled"||o==="interrupted"||(u=e.onError)==null||u.call(e,{source:"synthesis",error:o,message:`Speech synthesis error: ${o}`})},window.speechSynthesis.speak(d))}async function U(){var s,u;if(!(!e.onSynthesize||!i.text)){v(!0);try{const o=await e.onSynthesize(i.text);(s=e.onSynthesized)==null||s.call(e,o),k(),h=URL.createObjectURL(o),r??(r=new Audio),r.src=h,r.onended=()=>n(!1),r.onerror=()=>{var m;n(!1),(m=e.onError)==null||m.call(e,{source:"synthesis",error:"playback-failed",message:"The synthesized audio failed to play"})},await r.play(),n(!0)}catch(o){n(!1),(u=e.onError)==null||u.call(e,{source:"synthesis",error:o instanceof Error?o.name:"unknown",message:o instanceof Error?o.message:String(o)})}finally{v(!1)}}}function g(){e.onSynthesize?U():j()}function f(){e.onSynthesize?r&&(r.pause(),r.currentTime=0):p()&&window.speechSynthesis.cancel(),n(!1)}function B(){e.onSynthesize?r?.pause():p()&&window.speechSynthesis.pause()}function L(){e.onSynthesize?r?.play():p()&&window.speechSynthesis.resume()}function M(){l()?f():g()}x(b(l,s=>{var u;(u=e.onSpeakingChange)==null||u.call(e,s)},{defer:!0})),x(b(()=>i.text,s=>{e.autoplay&&s&&g()},{defer:!0})),(c=e.controllerRef)==null||c.call(e,{speak:g,pause:B,resume:L,stop:f}),q(()=>{f(),k()});const T=()=>K(),O=()=>N(),A=()=>P();return(()=>{var s=V();return D(s,a(J,{get content(){return S()},get children(){return a(I,{part:"button",variant:"ghost",size:"icon-sm",get"aria-label"(){return S()},get"aria-pressed"(){return l()},onClick:M,get disabled(){return i.disabled||!E()||t()},get class(){return C("relative z-10 rounded-full transition-all duration-300")},get children(){return[a(w,{get when(){return t()},get children(){return a(A,{})}}),a(w,{get when(){return R(()=>!t())()&&l()},get children(){return a(O,{})}}),a(w,{get when(){return R(()=>!t())()&&!l()},get children(){return a(T,{})}})]}})}})),F(()=>G(s,C("relative inline-flex items-center justify-center",i.class))),s})()}H("kai-voice-output",{text:"",autoplay:!1,synthesize:void 0,disabled:!1},(e,{dispatch:c,flag:i,expose:l})=>{let n;return l({speak:()=>n?.speak(),pause:()=>n?.pause(),resume:()=>n?.resume(),stop:()=>n?.stop()}),a(W,{get text(){return e.text??""},get autoplay(){return i("autoplay")},get disabled(){return i("disabled")},get onSynthesize(){return e.synthesize?t=>e.synthesize(t):void 0},onSpeakingChange:t=>c("kai-speaking-change",{speaking:t}),onSynthesized:t=>c("kai-synthesized",{blob:t}),onError:t=>c("kai-voice-error",t),controllerRef:t=>n=t})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as r}from"./Icon-
|
|
1
|
+
import{I as r}from"./Icon-BzBET3E-.js";import{c as e,q as i}from"./define-CI0y3eE4.js";var l=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],a=c=>e(r,i(c,{name:"Ellipsis",iconNode:l})),o=a;export{o as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as l,q as A,s as G,g as P,k as g,o as H,j as D,x as M,p as J,i as u,S as w,u as K,a as y,d as m,l as Q,t as f,e as W}from"./define-
|
|
1
|
+
import{c as l,q as A,s as G,g as P,k as g,o as H,j as D,x as M,p as J,i as u,S as w,u as K,a as y,d as m,l as Q,t as f,e as W}from"./define-CI0y3eE4.js";import{c as X}from"./cn-DN5AWfiS.js";import{p as ee}from"./play-BXy1u7rW.js";import{e as re}from"./external-link-Beh9DKeR.js";import{t as te}from"./triangle-alert-CeHLWxhD.js";import{I as oe}from"./Icon-BzBET3E-.js";var ne=[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]],ae=e=>l(oe,A(e,{name:"Video",iconNode:ne})),ie=ae;const k="allow-scripts allow-same-origin allow-presentation allow-popups allow-popups-to-escape-sandbox",$="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen",se=new Set;function le(e){const r=N(e);return r!==void 0&&se.has(r)}function N(e){try{return new URL(e).origin}catch{return}}function O(e){let r;try{r=new URL(e)}catch{return}const n=r.hostname.replace(/^www\./,"");if(n==="youtu.be")return E(r.pathname.slice(1));if(n==="youtube.com"||n==="m.youtube.com"||n==="youtube-nocookie.com"){const i=r.searchParams.get("v");if(i)return E(i);const h=r.pathname.match(/^\/(?:shorts|embed|v)\/([^/?#]+)/);if(h)return E(h[1])}}function T(e){let r;try{r=new URL(e)}catch{return}const n=r.hostname.replace(/^www\./,"");if(n!=="vimeo.com"&&n!=="player.vimeo.com")return;const i=r.pathname.match(/(?:^|\/)(\d+)(?:\/|$)/);return i?i[1]:void 0}function E(e){return/^[A-Za-z0-9_-]+$/.test(e)?e:void 0}function ue(e){const r=e.start?`&start=${e.start}`:"";switch(e.provider){case"youtube":{const n=e.id??(e.url?O(e.url):void 0);if(!n)throw new Error("youtube embed: missing or unparseable id/url");return{embedUrl:`https://www.youtube-nocookie.com/embed/${n}?autoplay=1&rel=0${r}`,posterUrl:e.poster??`https://i.ytimg.com/vi/${n}/hqdefault.jpg`,sandbox:k,allow:$}}case"vimeo":{const n=e.id??(e.url?T(e.url):void 0);if(!n)throw new Error("vimeo embed: missing or unparseable id/url");return{embedUrl:`https://player.vimeo.com/video/${n}?autoplay=1&dnt=1${e.start?`#t=${e.start}s`:""}`,posterUrl:e.poster,sandbox:k,allow:$}}case"generic":{if(!e.url)throw new Error("generic embed: missing url");if(ce(e.url),!le(e.url))throw new Error(`generic embed: origin not allowlisted \u2014 call configureEmbedAllowlist([...]) to permit ${N(e.url)??e.url}`);return{embedUrl:e.url,posterUrl:e.poster,sandbox:k,allow:$}}}}function ce(e){let r;try{r=new URL(e).protocol}catch{throw new Error(`generic embed: invalid url "${e}"`)}if(r!=="https:")throw new Error(`generic embed: only https player URLs are allowed (got ${r})`)}function de(e){switch(e.provider){case"youtube":{const r=e.id??(e.url?O(e.url):void 0);return r?`https://www.youtube.com/watch?v=${r}`:e.url}case"vimeo":{const r=e.id??(e.url?T(e.url):void 0);return r?`https://vimeo.com/${r}`:e.url}case"generic":return e.url}}function me(e){switch(e){case"youtube":return"YouTube";case"vimeo":return"Vimeo";case"generic":return"site"}}function fe(e){switch(e){case"4:3":return"4 / 3";case"1:1":return"1 / 1";case"9:16":return"9 / 16";default:return"16 / 9"}}var pe=f('<div tabindex=-1 class="absolute inset-0 outline-none"><iframe allowfullscreen class="absolute inset-0 h-full w-full border-0">'),ve=f('<button type=button class="inline-flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring">Open on '),be=f('<div><div class="relative w-full bg-black"></div><div class="flex items-center justify-between gap-2 px-3 py-2"><span class="flex min-w-0 items-center gap-1.5 text-sm text-foreground"><span class=truncate>'),he=f(`<div role=img aria-label="Can't load this video"class="absolute inset-0 flex flex-col items-center justify-center gap-2 bg-muted p-4 text-center text-sm text-muted-foreground"><span>Can't load this video`),ge=f('<img class="absolute inset-0 h-full w-full object-cover">'),we=f('<button type=button class="group absolute inset-0 flex h-full w-full items-center justify-center outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset"><span class="relative flex h-14 w-14 items-center justify-center rounded-full bg-black/60 text-white shadow-lg transition-transform motion-safe:group-hover:scale-110"aria-hidden=true>'),ye=f('<div class="absolute inset-0 bg-gradient-to-br from-zinc-800 to-zinc-950"aria-hidden=true>');function xe(e){const[r,n]=G(e,["cardId","data","onEmit","class"]),i=o=>{var p;return(p=r.onEmit)==null?void 0:p.call(r,o)},[h,U]=P(!1),[Y,C]=P(!1);let x;const c=g(()=>{try{return{ok:!0,value:ue(r.data)}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}}),Z=g(()=>fe(r.data.aspectRatio)),_=()=>r.data.title??"Embedded video",I=g(()=>c().ok&&!Y()?c().value.posterUrl:void 0),j=g(()=>de(r.data)),z=()=>me(r.data.provider);H(()=>i({kind:"ready",cardId:r.cardId})),D(M(c,o=>{o.ok||i({kind:"error",cardId:r.cardId,message:o.error})})),D(M(()=>r.data,()=>{U(!1),C(!1)},{defer:!0}));const L=()=>{c().ok&&(U(!0),queueMicrotask(()=>x?.focus()))},B=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),L())},F=()=>{const o=j();o&&i({kind:"open",cardId:r.cardId,url:o,target:"tab"})};return(()=>{var o=be(),p=o.firstChild,R=p.nextSibling,S=R.firstChild,q=S.firstChild;return J(o,A({get class(){return X("overflow-hidden rounded-xl border border-border bg-card text-card-foreground",r.class)}},n),!1,!0),u(p,l(w,{get when(){return c().ok},get fallback(){return(()=>{var t=he(),s=t.firstChild;return u(t,l(te,{size:28,"aria-hidden":"true"}),s),t})()},get children(){return l(w,{get when(){return h()},get fallback(){return(()=>{var t=we(),s=t.firstChild;return t.$$keydown=B,t.$$click=()=>L(),u(t,l(w,{get when(){return I()},get fallback(){return ye()},get children(){var a=ge();return a.addEventListener("error",()=>C(!0)),y(d=>{var v=I(),b=r.data.title??"";return v!==d.e&&m(a,"src",d.e=v),b!==d.t&&m(a,"alt",d.t=b),d},{e:void 0,t:void 0}),a}}),s),u(s,l(ee,{size:26,fill:"currentColor"})),y(()=>m(t,"aria-label",`Play ${r.data.title??"video"}`)),t})()},get children(){var t=pe(),s=t.firstChild;return K(a=>x=a,t),y(a=>{var d=c().value.embedUrl,v=_(),b=c().value.sandbox,V=c().value.allow;return d!==a.e&&m(s,"src",a.e=d),v!==a.t&&m(s,"title",a.t=v),b!==a.a&&m(s,"sandbox",a.a=b),V!==a.o&&m(s,"allow",a.o=V),a},{e:void 0,t:void 0,a:void 0,o:void 0}),t}})}})),u(S,l(ie,{size:14,class:"shrink-0 opacity-70","aria-hidden":"true"}),q),u(q,()=>r.data.title??z()),u(R,l(w,{get when(){return j()},get children(){var t=ve();return t.firstChild,t.$$click=()=>F(),u(t,z,null),u(t,l(re,{size:12,"aria-hidden":"true"}),null),t}}),null),y(t=>Q(p,"aspect-ratio",Z())),o})()}W(["click","keydown"]);export{xe as E};
|