@kitn.ai/ui 0.26.0 → 0.28.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 +25 -6
- package/bin/mcp.js +16 -3
- package/bin/route.js +23 -0
- package/bin/route.test.js +58 -0
- package/dist/{elements/chunks/Icon--Y8vsFal.js → Icon-DObhsRtm.js} +1 -1
- package/dist/action-icons-CcgNN2oT.js +1 -0
- package/dist/arrow-down-CjRU3JgV.js +1 -0
- package/dist/arrow-left-Bnpb1UEW.js +1 -0
- package/dist/artifact-Bwt7OgcR.js +1 -0
- package/dist/assets/dev-5XzXYR21.js +91 -0
- package/dist/attachments-Qr4kg-2b.js +1 -0
- package/dist/{elements/chunks/audio-visualizer-D7lB6mvR.js → audio-visualizer-DToYdfSc.js} +1 -1
- package/dist/badge-CdEu_jn2.js +1 -0
- package/dist/bash-InADTalH.js +1 -6
- package/dist/bell-DQAAOpDz.js +1 -0
- package/dist/{elements/chunks/button-flUbeufF.js → button-DkuOnGLy.js} +1 -1
- package/dist/card-renderer-Jx70m6_l.js +1 -0
- package/dist/card-routing-0YidER_3.js +1 -0
- package/dist/check-njkVdZu2.js +1 -0
- package/dist/checkbox-D7iRB3nL.js +1 -0
- package/dist/checkbox-group-B2_rpoPM.js +1 -0
- package/dist/chevron-down-B72s6PXR.js +1 -0
- package/dist/chevron-right-BatuHzUm.js +1 -0
- package/dist/choice-card-m0BYqqOK.js +1 -0
- package/dist/circle-check-B62pODB3.js +1 -0
- package/dist/circle-x-BPG0iPst.js +1 -0
- package/dist/circle-zx0ByzY9.js +1 -0
- package/dist/{elements/chunks/cn-CU7UAWzk.js → cn-DN5AWfiS.js} +1 -1
- package/dist/code-block-ClMLKb7C.js +1 -0
- package/dist/{elements/chunks/collapsible-BzbXpPzr.js → collapsible-B4DlWicL.js} +1 -1
- package/dist/components/attachment-types.d.ts +7 -0
- package/dist/components/audio-visualizer/fit-scale.d.ts +1 -1
- package/dist/components/card-renderer.d.ts +13 -0
- package/dist/components/card.d.ts +4 -0
- package/dist/components/chat-thread.d.ts +135 -2
- package/dist/components/conversation-item.d.ts +35 -7
- package/dist/components/conversation-list.d.ts +17 -5
- package/dist/components/conversation-panel.d.ts +29 -0
- package/dist/components/form-widgets.d.ts +67 -2
- package/dist/components/form.d.ts +48 -1
- package/dist/components/home-panel.d.ts +34 -0
- package/dist/components/message.d.ts +25 -3
- package/dist/components/reasoning.d.ts +6 -0
- package/dist/components/scroll-button.d.ts +11 -0
- package/dist/components/thread.d.ts +5 -0
- package/dist/components/tool-types.d.ts +9 -0
- package/dist/components/widget-tab-bar.d.ts +16 -0
- package/dist/composer-sQ0HcvyG.js +106 -0
- package/dist/confirm-card-rQWDQsnC.js +1 -0
- package/dist/construct-cli.es.js +1337 -0
- package/dist/{elements/chunks/context-VLIL3sJ-.js → context-0kg4ZX1J.js} +1 -1
- package/dist/controllable-CnGpMF6r.js +1 -0
- package/dist/conversation-item-BxwQLaFJ.js +1 -0
- package/dist/conversation-list-BCfGN1JU.js +1 -0
- package/dist/copy-n9u9rqpi.js +1 -0
- package/dist/core-AYMC6_lb.js +12 -5874
- package/dist/{create-tween-BFT6c-Y8.js → create-tween-C-q-JCM-.js} +1 -1
- package/dist/{create-tween-CJNlzoaO.js → create-tween-CRrJXxBd.js} +1 -1
- package/dist/{create-tween-CQED4T0g.js → create-tween-DZ3RRDHD.js} +1 -1
- package/dist/{elements/chunks/create-tween-c4Z8TDYz.js → create-tween-uPkArjIG.js} +2 -2
- package/dist/css-M7EaDHN_.js +1 -6
- package/dist/custom-elements.json +1433 -202
- package/dist/default-input-CaMrJkgH.js +1 -0
- package/dist/define-By-uL588.js +1 -0
- package/dist/define.d.ts +4 -0
- package/dist/define.js +510 -0
- package/dist/define.server.d.ts +5 -0
- package/dist/define.server.js +506 -0
- package/dist/{elements/chunks/disclosure-CcNbyLy0.js → disclosure-WUImBbDv.js} +1 -1
- package/dist/{elements/chunks/dropdown-BgWTthUx.js → dropdown-wZVeJOMd.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/autoloader.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.d.ts +1 -0
- package/dist/elements/checkbox-group.js +1 -0
- package/dist/elements/checkbox.d.ts +1 -0
- package/dist/elements/checkbox.js +1 -0
- 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/define-entry.d.ts +12 -0
- package/dist/elements/dialog.js +1 -1
- package/dist/elements/dock.js +102 -8
- package/dist/elements/dropdown.js +1 -1
- package/dist/elements/editable-label.js +1 -1
- package/dist/elements/element-data-types.d.ts +37 -0
- 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.d.ts +1 -0
- package/dist/elements/pane-grid.js +1 -0
- 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.d.ts +1 -0
- package/dist/elements/radio-group.js +1 -0
- 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 +2 -2
- 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.d.ts +1 -0
- package/dist/elements/select.js +1 -0
- 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.d.ts +1 -0
- package/dist/elements/slider.js +1 -0
- package/dist/elements/slots.d.ts +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/elements.d.ts +380 -26
- package/dist/{elements/chunks/ellipsis-7gU33mL2.js → ellipsis-CbOpJnU3.js} +1 -1
- package/dist/embed-CrfjkbUG.js +1 -0
- package/dist/engine-javascript-vq0WuIJl.js +14 -2516
- package/dist/{elements/chunks/external-link-CSOEsNlx.js → external-link-ByXAwBBQ.js} +1 -1
- package/dist/file-text-DMib2qwt.js +1 -0
- package/dist/{elements/chunks/file-tree-zvB2i7P9.js → file-tree-CJqM2aP7.js} +1 -1
- package/dist/folder-_BAb929C.js +1 -0
- package/dist/form-DSZgZQZk.js +1 -0
- package/dist/github-dark-dimmed-DUshB20C.js +1 -4
- package/dist/github-light-JYsPkUQd.js +1 -4
- package/dist/hover-card-BQbul9eq.js +1 -0
- package/dist/html-CPZ3oZQ7.js +1 -10
- package/dist/icon-CdcfRhYI.js +1 -0
- package/dist/{elements/chunks/index-BCRhi84a.js → index-xu_pdcPi.js} +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +7474 -5857
- package/dist/index.server.js +5965 -4762
- package/dist/info-DsFjGuI_.js +1 -0
- package/dist/input-DKbmkMos.js +1 -0
- package/dist/javascript-C25yR2R2.js +1 -6
- package/dist/json-DxJze_jm.js +1 -6
- package/dist/kai.es.js +1 -1
- package/dist/kbd-PvdGhX4s.js +1 -0
- package/dist/{elements/chunks/link-preview-OQ9IEq0f.js → link-preview-DbM1866N.js} +1 -1
- package/dist/link-zF8PzWfF.js +1 -0
- package/dist/loader-BM4CEz4G.js +1 -0
- package/dist/{elements/chunks/markdown-DgBFaGAz.js → markdown-LMvmAyBk.js} +7 -7
- package/dist/mcp.es.js +1361 -81
- package/dist/message-BSsgvHvf.js +1 -0
- package/dist/message-BYZECyek.js +1 -0
- package/dist/message-circle-DruwObfX.js +1 -0
- package/dist/message-square-BG6q6mlm.js +1 -0
- package/dist/{elements/chunks/minimize-2-DPIUKTrT.js → minimize-2-BQRoBV1V.js} +1 -1
- package/dist/{elements/chunks/model-switcher-DsT8tFB0.js → model-switcher-CMpCOYcB.js} +1 -1
- package/dist/{elements/chunks/overlay-DuiwdXjm.js → overlay-Cb-MkyDa.js} +1 -1
- package/dist/panel-right-i8warFxT.js +1 -0
- package/dist/paperclip-ByY3UVO6.js +1 -0
- package/dist/play-BvKKq3fX.js +1 -0
- package/dist/primitives/card-data-types.d.ts +49 -0
- package/dist/primitives/card-routing.d.ts +1 -33
- package/dist/primitives/card-validate.d.ts +2 -2
- package/dist/primitives/chat-config.d.ts +29 -2
- package/dist/primitives/conversation-store.d.ts +54 -0
- package/dist/primitives/field-mask.d.ts +96 -0
- package/dist/primitives/field-semantics.d.ts +36 -0
- package/dist/primitives/input-mask.d.ts +46 -0
- package/dist/primitives/url-scheme-policy.d.ts +34 -0
- package/dist/primitives/use-resize-observer.d.ts +2 -2
- package/dist/progress-bar-jVAHvMUf.js +1 -0
- package/dist/prompt-suggestion-CD-qtNgC.js +1 -0
- package/dist/radio-BsoBMhkF.js +1 -0
- package/dist/react/index.d.ts +586 -19
- package/dist/react.js +223 -187
- package/dist/reasoning-4kBPtlTx.js +1 -0
- package/dist/register-impl-B1hLkrI8.js +424 -0
- package/dist/{elements/chunks/resizable-D181b4fM.js → resizable-uPmY9VY-.js} +1 -1
- package/dist/rotate-ccw-B2xn93py.js +1 -0
- package/dist/rotate-cw-CMVLoCyH.js +1 -0
- package/dist/schemas/form.schema.json +21 -1
- package/dist/schemas/tool-defs.d.ts +11 -1
- package/dist/schemas.js +81 -81
- package/dist/scroll-area-BqLUo8ZZ.js +1 -0
- package/dist/scroll-button-DslXiJyL.js +1 -0
- package/dist/select-2cLRtPGT.js +1 -0
- package/dist/{elements/chunks/separator-CeJHQqLW.js → separator-BWQtNJcM.js} +1 -1
- package/dist/{elements/chunks/settings-CqaHgJF9.js → settings-BBR63jLg.js} +1 -1
- package/dist/{elements/chunks/settings-group-CjqjLCOn.js → settings-group-B2ciy-Iw.js} +1 -1
- package/dist/{elements/chunks/skeleton-D8akBnKS.js → skeleton-CkHI-HgC.js} +1 -1
- package/dist/slider-DDR9U-i0.js +1 -0
- package/dist/{solid-BtdqNZI7.js → solid-BzCFdL25.js} +9771 -7594
- package/dist/{solid-CnavwBye.js → solid-DruVOXnf.js} +7893 -6183
- package/dist/solid.d.ts +16 -2
- package/dist/solid.js +256 -243
- package/dist/solid.server.js +256 -243
- package/dist/source-GEnFF528.js +1 -0
- package/dist/star-CilHq8GP.js +1 -0
- package/dist/state/index.d.ts +1 -1
- package/dist/state/mock.d.ts +32 -2
- package/dist/state.js +133 -108
- package/dist/store-Ciyk6eZG.js +1 -0
- package/dist/svelte--5p79yCD.js +1 -15
- package/dist/switch-KkeQIbuH.js +1 -0
- package/dist/tasks-card-BrN4bggJ.js +1 -0
- package/dist/text-shimmer-Dcj1MHuq.js +1 -0
- package/dist/textarea-Dpvbngbg.js +1 -0
- package/dist/theme.tokens.css +110 -13
- package/dist/{elements/chunks/thumbs-up-DX2Ijk3H.js → thumbs-up-CsT9Wzb9.js} +1 -1
- package/dist/toast-store-tgK6MuMv.js +1 -0
- package/dist/{elements/chunks/tool-DKQ2D1DP.js → tool-DzUjIBT8.js} +1 -1
- package/dist/{elements/chunks/tooltip-B0G99y8w.js → tooltip-Bkkg_4t0.js} +1 -1
- package/dist/trash-2-jBKxjGGQ.js +1 -0
- package/dist/{elements/chunks/triangle-alert-F9cyUEyy.js → triangle-alert-DlQ68ppf.js} +1 -1
- package/dist/tsx-B8rCNbgL.js +1 -6
- package/dist/types.d.ts +48 -3
- package/dist/typescript-RycA9KXf.js +1 -6
- package/dist/ui/checkbox-group.d.ts +83 -0
- package/dist/ui/checkbox.d.ts +40 -0
- package/dist/ui/dock.d.ts +51 -0
- package/dist/ui/icon.d.ts +3 -0
- package/dist/ui/input.d.ts +48 -2
- package/dist/ui/radio.d.ts +85 -0
- package/dist/ui/select.d.ts +71 -0
- package/dist/ui/slider.d.ts +65 -0
- package/dist/ui/switch.d.ts +9 -2
- package/dist/upload-TcAHXv9W.js +1 -0
- package/dist/url-scheme-policy-DR5DgvkM.js +1 -0
- package/dist/use-card-resolution-DaZqAdWf.js +1 -0
- package/dist/{elements/chunks/variant-aurora-qt6Zct8M.js → variant-aurora-BhLuYxJR.js} +1 -1
- package/dist/{variant-aurora-B8II3-I1.js → variant-aurora-CNmfHhcx.js} +2 -2
- package/dist/{variant-aurora-CMNWOSJR.js → variant-aurora-D6GsdTPA.js} +2 -2
- package/dist/{variant-aurora-CcuDMWwQ.js → variant-aurora-DbW_OWL2.js} +1 -1
- package/dist/{elements/chunks/variant-custom-tJp22_BQ.js → variant-custom-BRvaNHSi.js} +1 -1
- package/dist/{variant-custom-L16JLLZy.js → variant-custom-BvYHR62b.js} +1 -1
- package/dist/{variant-custom-BdvYC7af.js → variant-custom-DMTrEO5w.js} +2 -2
- package/dist/{variant-custom-C714mqKl.js → variant-custom-DV2x254s.js} +2 -2
- package/dist/{variant-wave-ecwykeyL.js → variant-wave-BNMGrDfj.js} +2 -2
- package/dist/{variant-wave-2S4La2Ka.js → variant-wave-BpDd8t3Z.js} +1 -1
- package/dist/{variant-wave-D7ruiA1W.js → variant-wave-CyBueXj9.js} +2 -2
- package/dist/{elements/chunks/variant-wave-CaQ5ti39.js → variant-wave-sp-qwsdI.js} +1 -1
- package/dist/vue-BmIZj4XD.js +1 -33
- package/dist/x-Z5UntkIJ.js +1 -0
- package/frameworks/react/index.tsx +210 -22
- package/llms-full.txt +1184 -22
- package/llms.txt +6 -3
- package/package.json +17 -4
- package/src/agent-tooling/README.md +192 -0
- package/src/agent-tooling/catalog/invariants.ts +3 -3
- package/src/agent-tooling/catalog/surfaces.ts +72 -0
- package/src/agent-tooling/construct/cli-entry.ts +8 -0
- package/src/agent-tooling/construct/cli.ts +147 -0
- package/src/agent-tooling/construct/codegen.ts +1635 -0
- package/src/agent-tooling/construct/construct.v1.schema.json +319 -0
- package/src/agent-tooling/construct/dev.ts +148 -0
- package/src/agent-tooling/construct/fixtures/demo-widget.construct.json +7 -0
- package/src/agent-tooling/construct/fixtures/ops-console.construct.json +44 -0
- package/src/agent-tooling/construct/fixtures/owner-widget.construct.json +32 -0
- package/src/agent-tooling/construct/schema.ts +452 -0
- package/src/agent-tooling/mcp/server.ts +2 -1
- package/src/agent-tooling/mcp/tools/construct.ts +130 -0
- package/src/agent-tooling/mcp/tools/debug.ts +126 -4
- package/src/agent-tooling/mcp/tools/reference.ts +104 -3
- package/src/agent-tooling/recipes/composed-thread.ts +714 -0
- package/src/agent-tooling/recipes/index.ts +22 -0
- package/src/agent-tooling/recipes/types.ts +32 -0
- package/src/agent-tooling/registry.ts +5 -0
- package/src/components/attachment-types.ts +7 -0
- package/src/components/audio-visualizer/fit-scale.ts +1 -1
- package/src/components/card-renderer.tsx +39 -8
- package/src/components/card.tsx +10 -2
- package/src/components/chat-scope-picker.tsx +2 -2
- package/src/components/chat-thread.tsx +602 -43
- package/src/components/choice-card.tsx +102 -37
- package/src/components/coachmark.tsx +1 -1
- package/src/components/code-block.tsx +2 -2
- package/src/components/composer.tsx +89 -15
- package/src/components/confirm-card.tsx +20 -4
- package/src/components/conversation-item.tsx +56 -9
- package/src/components/conversation-list.tsx +25 -10
- package/src/components/conversation-panel.tsx +118 -0
- package/src/components/empty.tsx +14 -3
- package/src/components/file-tree.tsx +5 -1
- package/src/components/form-widgets.tsx +257 -195
- package/src/components/form.tsx +297 -9
- package/src/components/home-panel.tsx +159 -0
- package/src/components/loader.tsx +12 -5
- package/src/components/message-skills.tsx +1 -1
- package/src/components/message.tsx +71 -11
- package/src/components/prompt-input.tsx +7 -1
- package/src/components/prompt-suggestion.tsx +4 -1
- package/src/components/reasoning.tsx +30 -3
- package/src/components/response-compare.tsx +2 -2
- package/src/components/scroll-button.tsx +56 -4
- package/src/components/source.tsx +6 -1
- package/src/components/tasks-card.tsx +58 -16
- package/src/components/thread.tsx +10 -1
- package/src/components/toast.tsx +1 -1
- package/src/components/tool-types.ts +9 -0
- package/src/components/widget-tab-bar.tsx +73 -0
- package/src/elements/attachments.tsx +3 -1
- package/src/elements/chat-workspace.tsx +1 -1
- package/src/elements/chat.tsx +115 -5
- package/src/elements/checkbox-group.tsx +164 -0
- package/src/elements/checkbox.tsx +134 -0
- package/src/elements/compiled.css +1 -1
- package/src/elements/composer.tsx +12 -1
- package/src/elements/conversation-item.tsx +62 -22
- package/src/elements/conversation-list.tsx +2 -2
- package/src/elements/define-entry.ts +12 -0
- package/src/elements/dock.tsx +11 -0
- package/src/elements/element-data-types.ts +40 -0
- package/src/elements/element-manifest.json +24 -0
- package/src/elements/element-meta.json +767 -34
- package/src/elements/element-nonscalar.json +17 -0
- package/src/elements/element-types.d.ts +380 -26
- package/src/elements/feedback-bar.tsx +5 -0
- package/src/elements/icon-names.json +29 -0
- package/src/elements/input.tsx +312 -23
- package/src/elements/message.tsx +2 -0
- package/src/elements/pane-grid.tsx +111 -0
- package/src/elements/prompt-input.tsx +8 -2
- package/src/elements/radio-group.tsx +129 -0
- package/src/elements/register-impl.ts +6 -0
- package/src/elements/scroll-button.tsx +54 -6
- package/src/elements/select.tsx +165 -0
- package/src/elements/slider.tsx +171 -0
- package/src/elements/slots.ts +1 -1
- package/src/elements/styles.css +89 -3
- package/src/elements/thread.tsx +2 -0
- package/src/elements/toast.tsx +14 -1
- package/src/index.ts +5 -2
- package/src/primitives/card-data-types.ts +49 -0
- package/src/primitives/card-host.tsx +4 -2
- package/src/primitives/card-routing.ts +7 -56
- package/src/primitives/card-schemas/form.schema.json +21 -1
- package/src/primitives/card-validate.ts +10 -2
- package/src/primitives/chat-config.tsx +33 -6
- package/src/primitives/conversation-store.ts +248 -0
- package/src/primitives/field-mask.ts +256 -0
- package/src/primitives/field-semantics.ts +115 -0
- package/src/primitives/input-mask.ts +853 -0
- package/src/primitives/toast-store.ts +66 -4
- package/src/primitives/url-scheme-policy.ts +70 -0
- package/src/primitives/use-resize-observer.ts +2 -2
- package/src/schemas/tool-defs.ts +12 -2
- package/src/solid.ts +20 -2
- package/src/state/index.ts +1 -1
- package/src/state/mock.ts +92 -6
- package/src/types.ts +45 -3
- package/src/ui/agent-card.tsx +2 -2
- package/src/ui/avatar.tsx +1 -1
- package/src/ui/checkbox-group.tsx +153 -0
- package/src/ui/checkbox.tsx +63 -0
- package/src/ui/dock.tsx +192 -7
- package/src/ui/icon.tsx +53 -0
- package/src/ui/input.tsx +249 -9
- package/src/ui/kbd.tsx +1 -1
- package/src/ui/nav.tsx +1 -1
- package/src/ui/pane-group.tsx +2 -2
- package/src/ui/radio.tsx +150 -0
- package/src/ui/select.tsx +168 -0
- package/src/ui/slider.tsx +178 -0
- package/src/ui/switch.tsx +49 -18
- package/src/utils/cn.ts +11 -5
- package/theme.css +112 -13
- package/dist/elements/chunks/action-icons-D9u3OzYW.js +0 -1
- package/dist/elements/chunks/arrow-left-CVh1TeN7.js +0 -1
- package/dist/elements/chunks/artifact-BkYcfIlZ.js +0 -1
- package/dist/elements/chunks/attachments-DwfNlubq.js +0 -1
- package/dist/elements/chunks/badge-Q0-Cmwzz.js +0 -1
- package/dist/elements/chunks/bash-InADTalH.js +0 -1
- package/dist/elements/chunks/card-renderer-3Dyl-FpN.js +0 -1
- package/dist/elements/chunks/card-routing-BK09BdmL.js +0 -1
- package/dist/elements/chunks/check-B5kBPKeo.js +0 -1
- package/dist/elements/chunks/chevron-down-DZ1GS39h.js +0 -1
- package/dist/elements/chunks/chevron-right-CvP7OUd2.js +0 -1
- package/dist/elements/chunks/choice-card-D4QUIOWZ.js +0 -1
- package/dist/elements/chunks/circle-CDf9g6MQ.js +0 -1
- package/dist/elements/chunks/circle-check-CA47Nqbz.js +0 -1
- package/dist/elements/chunks/circle-x-CJ_HVbC8.js +0 -1
- package/dist/elements/chunks/code-block-BdLiTitd.js +0 -1
- package/dist/elements/chunks/composer-Byve-n8K.js +0 -69
- package/dist/elements/chunks/confirm-card-B0flE3MN.js +0 -1
- package/dist/elements/chunks/controllable-DTwTIlwp.js +0 -1
- package/dist/elements/chunks/conversation-item-BDztezOG.js +0 -1
- package/dist/elements/chunks/copy-Nf-kqxXH.js +0 -1
- package/dist/elements/chunks/core-AYMC6_lb.js +0 -12
- package/dist/elements/chunks/css-M7EaDHN_.js +0 -1
- package/dist/elements/chunks/default-input-C2iLFq0b.js +0 -1
- package/dist/elements/chunks/define-wjHR1MkU.js +0 -1
- package/dist/elements/chunks/download-C4V7tBdb.js +0 -1
- package/dist/elements/chunks/embed-D3KewsIJ.js +0 -1
- package/dist/elements/chunks/engine-javascript-vq0WuIJl.js +0 -141
- package/dist/elements/chunks/file-text-D1G8khle.js +0 -1
- package/dist/elements/chunks/folder-WW2LGLid.js +0 -1
- package/dist/elements/chunks/form-CQirdC4W.js +0 -1
- package/dist/elements/chunks/github-dark-dimmed-DUshB20C.js +0 -1
- package/dist/elements/chunks/github-light-JYsPkUQd.js +0 -1
- package/dist/elements/chunks/hover-card-CJJkfHTK.js +0 -1
- package/dist/elements/chunks/html-CPZ3oZQ7.js +0 -1
- package/dist/elements/chunks/icon-Cfgmf4fa.js +0 -1
- package/dist/elements/chunks/info-DX3YMOt6.js +0 -1
- package/dist/elements/chunks/input-BtW9U6Sq.js +0 -1
- package/dist/elements/chunks/javascript-C25yR2R2.js +0 -1
- package/dist/elements/chunks/json-DxJze_jm.js +0 -1
- package/dist/elements/chunks/kbd-LGXwuT_V.js +0 -1
- package/dist/elements/chunks/link-2My69BqT.js +0 -1
- package/dist/elements/chunks/loader-iOxc_Tu-.js +0 -1
- package/dist/elements/chunks/message-VMZohrXx.js +0 -1
- package/dist/elements/chunks/message-circle-CpXMM-_n.js +0 -1
- package/dist/elements/chunks/message-square-DxcWtETQ.js +0 -1
- package/dist/elements/chunks/message-tZmV2A3p.js +0 -1
- package/dist/elements/chunks/paperclip-CRZVp4z_.js +0 -1
- package/dist/elements/chunks/progress-bar-DNy66e_E.js +0 -1
- package/dist/elements/chunks/prompt-suggestion-Bn64Nl7L.js +0 -1
- package/dist/elements/chunks/reasoning-Emn9N4-T.js +0 -1
- package/dist/elements/chunks/rotate-cw-CPWe37D9.js +0 -1
- package/dist/elements/chunks/scroll-area-ClZkZxIk.js +0 -1
- package/dist/elements/chunks/scroll-button-DPE-t3x_.js +0 -1
- package/dist/elements/chunks/share-CyfnNEqp.js +0 -1
- package/dist/elements/chunks/source-UWCvmVak.js +0 -1
- package/dist/elements/chunks/star-DoHFAikQ.js +0 -1
- package/dist/elements/chunks/store-Cjq0qwYN.js +0 -1
- package/dist/elements/chunks/svelte--5p79yCD.js +0 -1
- package/dist/elements/chunks/tasks-card-CmZ5xh6v.js +0 -1
- package/dist/elements/chunks/text-shimmer-DYn09zrz.js +0 -1
- package/dist/elements/chunks/textarea-skiGHURM.js +0 -1
- package/dist/elements/chunks/toast-store-CFnQpThX.js +0 -1
- package/dist/elements/chunks/tsx-B8rCNbgL.js +0 -1
- package/dist/elements/chunks/typescript-RycA9KXf.js +0 -1
- package/dist/elements/chunks/use-card-resolution-DoA2f_EU.js +0 -1
- package/dist/elements/chunks/vue-BmIZj4XD.js +0 -1
- package/dist/elements/chunks/x-B6UnOiLw.js +0 -1
- package/dist/llms/llms-full.txt +0 -2949
- package/dist/llms/llms.txt +0 -156
- package/dist/register-impl-DpE7icIb.js +0 -293
- package/dist/ui/stat.d.ts +0 -16
- package/src/ui/stat.tsx +0 -41
- /package/dist/{elements/chunks/card-tags-D8lZ-C_U.js → card-tags-D8lZ-C_U.js} +0 -0
- /package/dist/{elements/chunks/link-preview-DNILK391.js → link-preview-DNILK391.js} +0 -0
- /package/dist/{elements/chunks/slots-DaNjX0rc.js → slots-DaNjX0rc.js} +0 -0
|
@@ -54,7 +54,10 @@ interface Props extends Record<string, unknown> {
|
|
|
54
54
|
|
|
55
55
|
/** Events fired by `<kai-composer>`. */
|
|
56
56
|
interface Events {
|
|
57
|
-
/** The user submitted the composer (Enter or programmatic submit).
|
|
57
|
+
/** The user submitted the composer (Enter or programmatic submit). Note the
|
|
58
|
+
* detail carries no `attachments`; `<kai-composer>` is the bare editing
|
|
59
|
+
* surface: no send button, toolbar, or attachments. For a drop-in composer
|
|
60
|
+
* row with all three, reach for `<kai-prompt-input>`, which is built on this. */
|
|
58
61
|
'kai-submit': { doc: ComposerDoc; text: string; entities: EntityRef[] };
|
|
59
62
|
/** The content changed (fires on every input event). */
|
|
60
63
|
'kai-value-change': { doc: ComposerDoc; text: string; entities: EntityRef[] };
|
|
@@ -75,6 +78,14 @@ interface Events {
|
|
|
75
78
|
'kai-blur': { originalEvent: FocusEvent };
|
|
76
79
|
}
|
|
77
80
|
|
|
81
|
+
/**
|
|
82
|
+
* `<kai-composer>` — the bare editing surface: rich text, entity pills,
|
|
83
|
+
* trigger menus, Enter-to-submit, and nothing else. No send button, no
|
|
84
|
+
* toolbar, no attachments — that division is deliberate. For a drop-in chat
|
|
85
|
+
* composer with a send button, toolbar, and attachment staging, reach for
|
|
86
|
+
* `<kai-prompt-input>`, which is built on this element. Keep `<kai-composer>`
|
|
87
|
+
* when you are composing the input row yourself and want to own those pieces.
|
|
88
|
+
*/
|
|
78
89
|
defineWebComponent<Props, Events>('kai-composer', {
|
|
79
90
|
value: undefined,
|
|
80
91
|
placeholder: undefined,
|
|
@@ -2,48 +2,76 @@ import { createSignal, onCleanup, onMount } from 'solid-js';
|
|
|
2
2
|
import { defineWebComponent } from './define';
|
|
3
3
|
import { readSlots, CONVERSATION_ITEM_SLOTS } from './slots';
|
|
4
4
|
import { SlottedConversationItem } from '../components/conversation-item';
|
|
5
|
+
import { isStandaloneConversationItem, readConversationItemId } from '../components/conversation-list';
|
|
5
6
|
|
|
6
7
|
interface Props extends Record<string, unknown> {
|
|
7
|
-
/** The row's identity
|
|
8
|
-
*
|
|
8
|
+
/** The row's identity: the `conversation-id` attribute (host `id` is the
|
|
9
|
+
* fallback). Inside `<kai-conversations>` it is handed to the container's
|
|
10
|
+
* selection contract (`kai-conversation-select`); standalone it is the `id`
|
|
11
|
+
* in this element's own `kai-select` detail. */
|
|
9
12
|
conversationId?: string;
|
|
10
13
|
/** Selected state. Reflected as `aria-current` on the row body and a
|
|
11
|
-
* `data-active` styling hook on the row;
|
|
12
|
-
* `activeId
|
|
14
|
+
* `data-active` styling hook on the row; inside a container the container
|
|
15
|
+
* drives it from its `activeId`, standalone you set it yourself. */
|
|
13
16
|
active?: boolean;
|
|
14
17
|
/** Dense single-line row padding. */
|
|
15
18
|
compact?: boolean;
|
|
16
19
|
}
|
|
17
20
|
|
|
21
|
+
interface Events {
|
|
22
|
+
/** STANDALONE activation only: the row was activated (click, Enter or Space on its body) while the item is NOT a
|
|
23
|
+
* direct child of `<kai-conversations>`. `id` is the row's identity: the
|
|
24
|
+
* `conversation-id` attribute, else the host `id`. Inside a container this
|
|
25
|
+
* never fires: activation surfaces once, as `kai-conversation-select` on the
|
|
26
|
+
* container. */
|
|
27
|
+
'kai-select': { id: string };
|
|
28
|
+
}
|
|
29
|
+
|
|
18
30
|
/**
|
|
19
31
|
* `<kai-conversation-item>` — one composed row of a consumer-owned conversation
|
|
20
|
-
* loop
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
32
|
+
* loop. Two placements, one activation event each:
|
|
33
|
+
*
|
|
34
|
+
* SLOTTED into `<kai-conversations>`' light DOM (a direct child): the consumer
|
|
35
|
+
* owns the loop (framework-native `map`, `<For>`, `v-for`); the container
|
|
36
|
+
* detects these children, skips its data rendering, and runs the parent-item
|
|
37
|
+
* contract over them — selection state flowing container to item, roving
|
|
38
|
+
* tabindex, arrow-key traversal, and the accessible list/row relationship
|
|
39
|
+
* (list rows with button bodies and `aria-current` marking the active one;
|
|
40
|
+
* axe's nested-interactive and aria-required-children
|
|
41
|
+
* rules are why this is not listbox/option). Activation (click, Enter, Space)
|
|
42
|
+
* surfaces as `kai-conversation-select` on the container, and the item itself
|
|
43
|
+
* fires nothing — no double event.
|
|
44
|
+
*
|
|
45
|
+
* STANDALONE (anywhere else — a hand-composed rail, or wrapped in another
|
|
46
|
+
* element even inside a container, since the container manages only direct
|
|
47
|
+
* children): the row activates ITSELF.
|
|
48
|
+
* Its shadow body is a tabbable `role="button"`, and click / Enter / Space
|
|
49
|
+
* fire `kai-select` on this element with `{ id }` — non-bubbling, like every
|
|
50
|
+
* `kai-*` event, so listen on the item itself. What a standalone row does NOT
|
|
51
|
+
* have is the container's LIST story: roving tabindex across rows, arrow-key
|
|
52
|
+
* traversal, and the shared `role="list"` relationship — each standalone row
|
|
53
|
+
* is an ordinary tab stop, and a hand-composed rail brings its own list
|
|
54
|
+
* semantics (or slots the rows into `<kai-conversations>` and gets them for
|
|
55
|
+
* free).
|
|
28
56
|
*
|
|
29
57
|
* Slots: the default slot is the title; `leading`, `meta` and `menu` are the
|
|
30
58
|
* named regions. The `menu` slot takes your OWN popover (rename, fork, archive
|
|
31
59
|
* live there); the element provides only the region plus focus and ARIA
|
|
32
60
|
* plumbing, never a declarative actions prop, and a click inside it never
|
|
33
|
-
* selects the row.
|
|
34
|
-
*
|
|
35
|
-
* The item is presentational on its own: activation (click, Enter, Space)
|
|
36
|
-
* surfaces as `kai-conversation-select` on the surrounding `<kai-conversations>`,
|
|
37
|
-
* never as an event of this element.
|
|
61
|
+
* selects the row — in either placement.
|
|
38
62
|
*/
|
|
39
|
-
defineWebComponent<Props>('kai-conversation-item', {
|
|
63
|
+
defineWebComponent<Props, Events>('kai-conversation-item', {
|
|
40
64
|
conversationId: undefined,
|
|
41
65
|
active: undefined,
|
|
42
66
|
compact: undefined,
|
|
43
|
-
}, (props, { element, flag, reflectFlag }) => {
|
|
67
|
+
}, (props, { element, flag, reflectFlag, dispatch }) => {
|
|
44
68
|
// Which named regions the consumer has filled; drives the conditional
|
|
45
69
|
// wrappers so an empty region leaves no stray box behind.
|
|
46
70
|
const [slots, setSlots] = createSignal<Record<string, boolean>>({});
|
|
71
|
+
// Standalone vs container-managed, decided at mount (an item is not
|
|
72
|
+
// reparented in practice; the activation handler re-checks at event time so
|
|
73
|
+
// a row moved INTO a container can never double-fire).
|
|
74
|
+
const [standalone, setStandalone] = createSignal(false);
|
|
47
75
|
onMount(() => {
|
|
48
76
|
const read = () => setSlots(readSlots(element, CONVERSATION_ITEM_SLOTS));
|
|
49
77
|
read();
|
|
@@ -51,15 +79,26 @@ defineWebComponent<Props>('kai-conversation-item', {
|
|
|
51
79
|
observer.observe(element, { childList: true, attributes: true, subtree: true });
|
|
52
80
|
onCleanup(() => observer.disconnect());
|
|
53
81
|
|
|
54
|
-
// The HOST is the row LISTITEM
|
|
82
|
+
// The HOST is the row LISTITEM:
|
|
55
83
|
// it wraps the activation body AND the consumer's tabbable menu, so it must
|
|
56
84
|
// never be the activation control itself — axe nested-interactive bans
|
|
57
85
|
// focusable descendants of a control. The button role, aria-current and the
|
|
58
|
-
//
|
|
59
|
-
// container
|
|
86
|
+
// tabindex live on the shadow BODY (`data-kai-item-body`): inside a
|
|
87
|
+
// container its controller stamps them; standalone the component renders
|
|
88
|
+
// them itself. An authored role wins.
|
|
60
89
|
if (!element.hasAttribute('role')) element.setAttribute('role', 'listitem');
|
|
90
|
+
|
|
91
|
+
setStandalone(isStandaloneConversationItem(element));
|
|
61
92
|
});
|
|
62
93
|
|
|
94
|
+
// Standalone activation → the per-item `kai-select` event. The re-check at
|
|
95
|
+
// event time keeps this dead the moment the item becomes a container's direct
|
|
96
|
+
// child, so the container's `kai-conversation-select` stays the only event.
|
|
97
|
+
const activate = () => {
|
|
98
|
+
if (!isStandaloneConversationItem(element)) return;
|
|
99
|
+
dispatch('kai-select', { id: readConversationItemId(element) });
|
|
100
|
+
};
|
|
101
|
+
|
|
63
102
|
// Property and attribute stay in agreement for `active`; the body's
|
|
64
103
|
// aria-current follows it reactively (nothing is written to the host).
|
|
65
104
|
reflectFlag('active');
|
|
@@ -70,6 +109,7 @@ defineWebComponent<Props>('kai-conversation-item', {
|
|
|
70
109
|
active={flag('active')}
|
|
71
110
|
compact={flag('compact')}
|
|
72
111
|
hostSemantics
|
|
112
|
+
onActivate={standalone() ? activate : undefined}
|
|
73
113
|
leading={slots().leading ? <slot name="leading" /> : undefined}
|
|
74
114
|
meta={slots().meta ? <slot name="meta" /> : undefined}
|
|
75
115
|
menu={slots().menu ? <slot name="menu" /> : undefined}
|
|
@@ -61,7 +61,7 @@ interface Events {
|
|
|
61
61
|
* - `id` → ConversationSummary.id
|
|
62
62
|
* - `group-id` → ConversationSummary.groupId (optional)
|
|
63
63
|
* - textContent → ConversationSummary.title
|
|
64
|
-
* Fields not expressible as HTML attributes are NOT fabricated
|
|
64
|
+
* Fields not expressible as HTML attributes are NOT fabricated: the
|
|
65
65
|
* optional `scope` and `lastMessageAt` stay absent, and the required
|
|
66
66
|
* `messageCount`/`updatedAt` get honest defaults — zero messages, and an empty
|
|
67
67
|
* `updatedAt` from which no trailing relative time is derived (the epoch it
|
|
@@ -88,7 +88,7 @@ defineWebComponent<Props, Events>('kai-conversations', {
|
|
|
88
88
|
// Read declarative <kai-conversation> children from light DOM.
|
|
89
89
|
// Shadow DOM with no <slot> suppresses them visually — they're invisible data carriers.
|
|
90
90
|
const [slottedConversations, setSlottedConversations] = createSignal<ConversationSummary[]>([]);
|
|
91
|
-
// Item mode
|
|
91
|
+
// Item mode: light-DOM <kai-conversation-item> children
|
|
92
92
|
// mean the CONSUMER owns the loop — the container skips its data rendering and
|
|
93
93
|
// runs the parent-item contract over the hosts instead.
|
|
94
94
|
const [itemHosts, setItemHosts] = createSignal<HTMLElement[]>([]);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @kitn.ai/ui/define — the facade seam, public.
|
|
3
|
+
*
|
|
4
|
+
* The construct engine's GENERATED projects (and any consumer who wants to wrap
|
|
5
|
+
* a pure-Solid interior as one self-registering element) import from here. Its
|
|
6
|
+
* own subpath rather than ./solid because define.tsx carries ELEMENT_CSS (the
|
|
7
|
+
* full compiled kit CSS) and solid-element — weight ./solid consumers must not
|
|
8
|
+
* pay. SSR-safe by construction: defineWebComponent no-ops without
|
|
9
|
+
* customElements (see define.tsx).
|
|
10
|
+
*/
|
|
11
|
+
export { defineWebComponent } from './define';
|
|
12
|
+
export type { WebComponentContext } from './define';
|
package/src/elements/dock.tsx
CHANGED
|
@@ -28,6 +28,14 @@ interface Props extends Record<string, unknown> {
|
|
|
28
28
|
unread?: boolean;
|
|
29
29
|
/** Disable the launcher; `show()` and `toggle()` are gated on it. */
|
|
30
30
|
disabled?: boolean;
|
|
31
|
+
/** Suppress the dock's own built-in mobile close X. Set this when your slotted
|
|
32
|
+
* panel content supplies its own close affordance (e.g. a `<kai-chat
|
|
33
|
+
* slot="header-end">` close button), otherwise the two stack. TRADEOFF: the
|
|
34
|
+
* mobile panel reserves a padding band above its content so the built-in X
|
|
35
|
+
* never paints over slotted content; that band stays reserved unless you set
|
|
36
|
+
* this true, so only set it once your own control is actually in place.
|
|
37
|
+
* Attribute: `hide-close`. */
|
|
38
|
+
hideClose?: boolean;
|
|
31
39
|
/** Where focus lands on open: `content` (default, the first element you slotted),
|
|
32
40
|
* `panel`, or `none`. Attribute: `focus-on-open`. */
|
|
33
41
|
focusOnOpen?: DockFocusOnOpen;
|
|
@@ -108,6 +116,7 @@ defineWebComponent<Props, Events>('kai-dock', {
|
|
|
108
116
|
closeLabel: undefined,
|
|
109
117
|
unread: undefined,
|
|
110
118
|
disabled: undefined,
|
|
119
|
+
hideClose: undefined,
|
|
111
120
|
focusOnOpen: 'content',
|
|
112
121
|
}, (props, ctx) => {
|
|
113
122
|
const { flag, element, expose, reflectFlag } = ctx;
|
|
@@ -128,6 +137,7 @@ defineWebComponent<Props, Events>('kai-dock', {
|
|
|
128
137
|
reflectFlag('unread');
|
|
129
138
|
reflectFlag('disabled');
|
|
130
139
|
reflectFlag('defaultOpen');
|
|
140
|
+
reflectFlag('hideClose');
|
|
131
141
|
|
|
132
142
|
// Seed the primitive from EITHER spelling, read once at upgrade.
|
|
133
143
|
//
|
|
@@ -178,6 +188,7 @@ defineWebComponent<Props, Events>('kai-dock', {
|
|
|
178
188
|
closeLabel={props.closeLabel as string | undefined}
|
|
179
189
|
unread={flag('unread')}
|
|
180
190
|
disabled={flag('disabled')}
|
|
191
|
+
hideClose={flag('hideClose')}
|
|
181
192
|
focusOnOpen={props.focusOnOpen as DockFocusOnOpen}
|
|
182
193
|
contentTarget={contentTarget}
|
|
183
194
|
controllerRef={(a) => (api = a)}
|
|
@@ -36,6 +36,46 @@ export interface KaiSegmentedOption {
|
|
|
36
36
|
icon?: string;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
/** A single row of `<kai-radio-group>`.
|
|
40
|
+
*
|
|
41
|
+
* Distinct from the Solid `RadioOption`, whose `label` and `description` are JSX
|
|
42
|
+
* nodes: on the element both are plain strings, because an element property has to
|
|
43
|
+
* survive being assigned from HTML/React/Vue/Svelte with no framework in between. */
|
|
44
|
+
export interface KaiRadioOption {
|
|
45
|
+
value: string;
|
|
46
|
+
label: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
disabled?: boolean;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** A single row of `<kai-checkbox-group>`.
|
|
52
|
+
*
|
|
53
|
+
* Distinct from the Solid `CheckboxOption`, whose `value` is generic and whose
|
|
54
|
+
* `label` and `description` are JSX nodes: on the element all three are plain
|
|
55
|
+
* strings, because an element property has to survive being assigned from
|
|
56
|
+
* HTML/React/Vue/Svelte with no framework in between. Structurally identical to
|
|
57
|
+
* `KaiRadioOption`, and kept as its own name anyway: the two elements are free to
|
|
58
|
+
* diverge, and a consumer typing a checkbox list should not have to import the radio
|
|
59
|
+
* group's type to do it. */
|
|
60
|
+
export interface KaiCheckboxOption {
|
|
61
|
+
value: string;
|
|
62
|
+
label: string;
|
|
63
|
+
description?: string;
|
|
64
|
+
disabled?: boolean;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** A single choice in `<kai-select>`.
|
|
68
|
+
*
|
|
69
|
+
* Distinct from the Solid `SelectOption`, whose `value` is generic: on the element
|
|
70
|
+
* it is a string, because a native `<option>`'s value is a string and an element
|
|
71
|
+
* property has to survive being assigned from HTML/React/Vue/Svelte with no
|
|
72
|
+
* framework in between. `label` defaults to `value`. */
|
|
73
|
+
export interface KaiSelectOption {
|
|
74
|
+
value: string;
|
|
75
|
+
label?: string;
|
|
76
|
+
disabled?: boolean;
|
|
77
|
+
}
|
|
78
|
+
|
|
39
79
|
/** A single citation in `<kai-sources>`' `sources` property. Also the shape
|
|
40
80
|
* `<kai-source>` light-DOM children are parsed into. */
|
|
41
81
|
export interface KaiSourceItem {
|
|
@@ -45,6 +45,11 @@
|
|
|
45
45
|
"kai-scroll-button": "scroll-button",
|
|
46
46
|
"kai-popover": "popover",
|
|
47
47
|
"kai-switch": "switch",
|
|
48
|
+
"kai-checkbox": "checkbox",
|
|
49
|
+
"kai-checkbox-group": "checkbox-group",
|
|
50
|
+
"kai-radio-group": "radio-group",
|
|
51
|
+
"kai-slider": "slider",
|
|
52
|
+
"kai-select": "select",
|
|
48
53
|
"kai-button": "button",
|
|
49
54
|
"kai-avatar": "avatar",
|
|
50
55
|
"kai-badge": "badge",
|
|
@@ -75,6 +80,7 @@
|
|
|
75
80
|
"kai-setting-item": "setting-item",
|
|
76
81
|
"kai-pane": "pane",
|
|
77
82
|
"kai-pane-group": "pane-group",
|
|
83
|
+
"kai-pane-grid": "pane-grid",
|
|
78
84
|
"kai-agent-card": "agent-card",
|
|
79
85
|
"kai-dialog": "dialog",
|
|
80
86
|
"kai-dock": "dock",
|
|
@@ -215,6 +221,21 @@
|
|
|
215
221
|
"switch": [
|
|
216
222
|
"kai-switch"
|
|
217
223
|
],
|
|
224
|
+
"checkbox": [
|
|
225
|
+
"kai-checkbox"
|
|
226
|
+
],
|
|
227
|
+
"checkbox-group": [
|
|
228
|
+
"kai-checkbox-group"
|
|
229
|
+
],
|
|
230
|
+
"radio-group": [
|
|
231
|
+
"kai-radio-group"
|
|
232
|
+
],
|
|
233
|
+
"slider": [
|
|
234
|
+
"kai-slider"
|
|
235
|
+
],
|
|
236
|
+
"select": [
|
|
237
|
+
"kai-select"
|
|
238
|
+
],
|
|
218
239
|
"button": [
|
|
219
240
|
"kai-button"
|
|
220
241
|
],
|
|
@@ -305,6 +326,9 @@
|
|
|
305
326
|
"pane-group": [
|
|
306
327
|
"kai-pane-group"
|
|
307
328
|
],
|
|
329
|
+
"pane-grid": [
|
|
330
|
+
"kai-pane-grid"
|
|
331
|
+
],
|
|
308
332
|
"agent-card": [
|
|
309
333
|
"kai-agent-card"
|
|
310
334
|
],
|