@kitn.ai/ui 0.18.2 → 0.19.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/dist/components/thread.d.ts +54 -0
- package/dist/custom-elements.json +195 -0
- 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/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/checkpoint.js +1 -1
- package/dist/elements/choice.js +1 -1
- package/dist/elements/chunks/{Icon-C2LTALdM.js → Icon-11SRdjJ4.js} +1 -1
- package/dist/elements/chunks/action-icons-CtRg17uX.js +1 -0
- package/dist/elements/chunks/arrow-left-CifsGq8x.js +1 -0
- package/dist/elements/chunks/{attachments-DLJcWCDV.js → attachments-CBqQRh60.js} +1 -1
- package/dist/elements/chunks/{badge-BTNZTODL.js → badge-CxklEXQm.js} +1 -1
- package/dist/elements/chunks/{button-DBDZebGr.js → button-BD7lUvVB.js} +1 -1
- package/dist/elements/chunks/{card-YfCyI4fH.js → card-B-PRGXdj.js} +1 -1
- package/dist/elements/chunks/chat-thread-DIZbRIKG.js +1 -0
- package/dist/elements/chunks/check-CUKS495w.js +1 -0
- package/dist/elements/chunks/chevron-down-AELmYT1j.js +1 -0
- package/dist/elements/chunks/chevron-right-C8g26oKh.js +1 -0
- package/dist/elements/chunks/circle-DGcI8Cft.js +1 -0
- package/dist/elements/chunks/circle-check-DuU0IcBQ.js +1 -0
- package/dist/elements/chunks/{circle-x-pDtzlghQ.js → circle-x-mtjCO_Ok.js} +1 -1
- package/dist/elements/chunks/{code-block-DZ6mz6vs.js → code-block-BeWVttmU.js} +1 -1
- package/dist/elements/chunks/{collapsible-CWUAShMC.js → collapsible-DGjADCN6.js} +1 -1
- package/dist/elements/chunks/{composer-BZyPU6gD.js → composer-CavJww3d.js} +7 -3
- package/dist/elements/chunks/{context-Cx6eQA_G.js → context-CnlsNJSJ.js} +1 -1
- package/dist/elements/chunks/{conversation-list-C4xTQSpT.js → conversation-list-5O_KdI_I.js} +1 -1
- package/dist/elements/chunks/{default-input-BZcwyKcP.js → default-input-CB46cJJ1.js} +1 -1
- package/dist/elements/chunks/{define-CNSKFZCd.js → define-DfTe4zwZ.js} +1 -1
- package/dist/elements/chunks/{disclosure-BcBs--Jf.js → disclosure-BtFK3a-M.js} +1 -1
- package/dist/elements/chunks/{download-BDQwcFav.js → download-qJv1dS3M.js} +1 -1
- package/dist/elements/chunks/{dropdown-wgs8xCJZ.js → dropdown-UhtAueYR.js} +1 -1
- package/dist/elements/chunks/{ellipsis-CUiEJ6R1.js → ellipsis-B1sOOqiJ.js} +1 -1
- package/dist/elements/chunks/{external-link-DJUmC7g2.js → external-link-DToP_VKE.js} +1 -1
- package/dist/elements/chunks/{file-text-DOYfYvrh.js → file-text-BwUs_Pj4.js} +1 -1
- package/dist/elements/chunks/{file-tree-DQzNQrbr.js → file-tree-C6RhmSnX.js} +1 -1
- package/dist/elements/chunks/{folder-DBDUBANz.js → folder-H_Xp0GYP.js} +1 -1
- package/dist/elements/chunks/hover-card-Dn3yrk1l.js +1 -0
- package/dist/elements/chunks/icon-BrxJQXzC.js +1 -0
- package/dist/elements/chunks/{info-DBQl-m6e.js → info-11eT2q5H.js} +1 -1
- package/dist/elements/chunks/{input-DZD67EvW.js → input-B9oZKDfb.js} +1 -1
- package/dist/elements/chunks/{kbd-DbyVrlnU.js → kbd-D2fx3rWh.js} +1 -1
- package/dist/elements/chunks/{link-vko7AttA.js → link-B-RNYWNw.js} +1 -1
- package/dist/elements/chunks/{loader-Cg6rO8tQ.js → loader-BJh_aRlp.js} +1 -1
- package/dist/elements/chunks/{markdown-n3Xbj3PR.js → markdown-BIpjrDFv.js} +1 -1
- package/dist/elements/chunks/{message-CgKytiSB.js → message-CPfqj8Gi.js} +1 -1
- package/dist/elements/chunks/{message-feedback-Ds3-US0e.js → message-feedback-8uj0aVYh.js} +1 -1
- package/dist/elements/chunks/message-square-CCSQ4M9g.js +1 -0
- package/dist/elements/chunks/{minimize-2-3kCdE0q3.js → minimize-2-C9qkiTJg.js} +1 -1
- package/dist/elements/chunks/{model-switcher-BMtXGwLU.js → model-switcher-DRrMcRXH.js} +1 -1
- package/dist/elements/chunks/{overlay-B1-MBI6h.js → overlay-C8_FUL8q.js} +1 -1
- package/dist/elements/chunks/{paperclip-DDEfmkHc.js → paperclip-MA9hxLhW.js} +1 -1
- package/dist/elements/chunks/{progress-bar-Dwbiyv3s.js → progress-bar-y5G6HDjg.js} +1 -1
- package/dist/elements/chunks/{prompt-suggestion-9lvgFcEa.js → prompt-suggestion-LalWvCJy.js} +1 -1
- package/dist/elements/chunks/reasoning-CW3SDdb4.js +1 -0
- package/dist/elements/chunks/resizable-xhYF5lCQ.js +1 -0
- package/dist/elements/chunks/{rotate-cw-jpisOdOV.js → rotate-cw-2ndEXjgS.js} +1 -1
- package/dist/elements/chunks/{scroll-area-g5Ze3K6f.js → scroll-area-BzOPDXrZ.js} +1 -1
- package/dist/elements/chunks/scroll-button-B1x4cYqM.js +1 -0
- package/dist/elements/chunks/{separator-Bmjc5XyX.js → separator-CPvL5Xdl.js} +1 -1
- package/dist/elements/chunks/{settings-group-9imY3kRA.js → settings-group-BiIym17O.js} +1 -1
- package/dist/elements/chunks/{settings-Cz1bMJP9.js → settings-hmzIuNXD.js} +1 -1
- package/dist/elements/chunks/{share-BdenF0wQ.js → share-BbziTAzn.js} +1 -1
- package/dist/elements/chunks/skeleton-Bxhs1thL.js +1 -0
- package/dist/elements/chunks/{slots-DkZ-Cmha.js → slots--V19HwUb.js} +1 -1
- package/dist/elements/chunks/{star-DY6z1UUH.js → star-BHL3Va5p.js} +1 -1
- package/dist/elements/chunks/{store-th4VyJXM.js → store-tpnnWlxY.js} +1 -1
- package/dist/elements/chunks/{text-shimmer-CEi-tlXr.js → text-shimmer-1DCKivKx.js} +1 -1
- package/dist/elements/chunks/textarea-Czaowo9F.js +1 -0
- package/dist/elements/chunks/{thumbs-up-BR33KLfA.js → thumbs-up-CdLqA13R.js} +1 -1
- package/dist/elements/chunks/{toast-store-BEMda0fv.js → toast-store-BvBquUFA.js} +1 -1
- package/dist/elements/chunks/{tool-TMued3WO.js → tool-4P_ne8Go.js} +1 -1
- package/dist/elements/chunks/{tooltip-Cft_Rxiw.js → tooltip-CBeFqJKk.js} +1 -1
- package/dist/elements/chunks/{triangle-alert-B07fX3Q8.js → triangle-alert-BllqxXq8.js} +1 -1
- package/dist/elements/chunks/{use-card-resolution-M36zVciB.js → use-card-resolution-73xiddIW.js} +1 -1
- package/dist/elements/chunks/{video-MKp3LmNT.js → video-O9rA6k7S.js} +1 -1
- package/dist/elements/chunks/x-DeS3rQhx.js +1 -0
- 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-list.js +1 -1
- package/dist/elements/dialog.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-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/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/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/slots.d.ts +3 -0
- 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.d.ts +1 -0
- package/dist/elements/thread.js +1 -0
- 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 +24 -0
- package/dist/index.js +3393 -3311
- package/dist/kai.es.js +1 -1
- package/dist/llms/llms-full.txt +34 -4
- package/dist/llms/llms.txt +3 -3
- package/dist/react/index.d.ts +64 -0
- package/dist/react/use-voice-input.d.ts +15 -0
- package/dist/react.js +263 -240
- package/dist/register-impl-CaaHJcea.js +145 -0
- package/dist/ui/resizable.d.ts +9 -3
- package/frameworks/react/index.tsx +32 -1
- package/frameworks/react/use-voice-input.tsx +59 -0
- package/llms-full.txt +34 -4
- package/llms.txt +3 -3
- package/package.json +27 -5
- package/src/components/component-meta.json +30 -28
- package/src/components/composer.tsx +5 -0
- package/src/components/thread.tsx +177 -0
- package/src/elements/chat-workspace.tsx +1 -1
- package/src/elements/compiled.css +1 -1
- package/src/elements/element-manifest.json +4 -0
- package/src/elements/element-meta.json +117 -0
- package/src/elements/element-types.d.ts +24 -0
- package/src/elements/icon-names.json +2 -0
- package/src/elements/menu.tsx +7 -4
- package/src/elements/register-impl.ts +2 -0
- package/src/elements/resizable.tsx +78 -2
- package/src/elements/slots.ts +7 -0
- package/src/elements/thread.tsx +105 -0
- package/src/ui/action-icons.ts +2 -1
- package/src/ui/icon.tsx +4 -0
- package/src/ui/overlay.tsx +8 -1
- package/src/ui/resizable.tsx +47 -9
- package/dist/elements/chunks/action-icons-Dtl8Ox5D.js +0 -1
- package/dist/elements/chunks/arrow-left-GbBceGBE.js +0 -1
- package/dist/elements/chunks/chat-thread-Dz2qbzvI.js +0 -1
- package/dist/elements/chunks/check-fhmRksq_.js +0 -1
- package/dist/elements/chunks/chevron-down-DcRg1aRU.js +0 -1
- package/dist/elements/chunks/chevron-right-ChzBcNJ-.js +0 -1
- package/dist/elements/chunks/circle-B4fTe9v6.js +0 -1
- package/dist/elements/chunks/circle-check-CJV-3Rem.js +0 -1
- package/dist/elements/chunks/hover-card-BQGdGAQ3.js +0 -1
- package/dist/elements/chunks/icon-CAyRqVrg.js +0 -1
- package/dist/elements/chunks/message-square-MmRkvc-M.js +0 -1
- package/dist/elements/chunks/reasoning-DzHWsdAJ.js +0 -1
- package/dist/elements/chunks/resizable-Bq_eHxUm.js +0 -1
- package/dist/elements/chunks/skeleton-Pjc5jiaY.js +0 -1
- package/dist/elements/chunks/textarea-CboigarR.js +0 -1
- package/dist/elements/chunks/x-Ckwicf6g.js +0 -1
- package/dist/register-impl-DcjZDELj.js +0 -141
package/dist/kai.es.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const Sn={bash:()=>import("./bash-InADTalH.js"),javascript:()=>import("./javascript-C25yR2R2.js"),typescript:()=>import("./typescript-RycA9KXf.js"),tsx:()=>import("./tsx-B8rCNbgL.js"),html:()=>import("./html-CPZ3oZQ7.js"),css:()=>import("./css-M7EaDHN_.js"),json:()=>import("./json-DxJze_jm.js"),vue:()=>import("./vue-BmIZj4XD.js"),svelte:()=>import("./svelte--5p79yCD.js")},On={"github-dark-dimmed":()=>import("./github-dark-dimmed-DUshB20C.js"),"github-light":()=>import("./github-light-JYsPkUQd.js")},xn={js:"javascript",ts:"typescript",jsx:"tsx",sh:"bash",shell:"bash"},Nt="github-dark-dimmed";let Ot=!0,xt={...Sn},At={...On},kt={...xn},jt=null;const zt=new Set,Ft=new Set;function An(){return jt||(jt=(async()=>{const[{createHighlighterCore:t},{createJavaScriptRegexEngine:n}]=await Promise.all([import("./core-C8fzo39E.js"),import("./engine-javascript-C1x7zo1_.js")]);return t({themes:[],langs:[],engine:n()})})()),jt}function Rt(t){return kt[t]??t}async function kn(t,n){const e=Rt(n);if(zt.has(e))return!0;const r=xt[e];return r?(await t.loadLanguage(r()),zt.add(e),!0):!1}async function Kt(t,n){if(Ft.has(n))return!0;const e=At[n];return e?(await t.loadTheme(e()),Ft.add(n),!0):!1}function jn(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function ct(t){return`<pre><code>${jn(t)}</code></pre>`}async function Pn(t,n,e){if(!Ot||!t)return ct(t);try{const r=await An();if(!await kn(r,n))return ct(t);const o=await Kt(r,e)?e:await Kt(r,Nt)?Nt:null;return o?r.codeToHtml(t,{lang:Rt(n),theme:o}):ct(t)}catch{return ct(t)}}function _n(t){t.enabled!==void 0&&(Ot=t.enabled),t.languages&&(xt={...xt,...t.languages}),t.themes&&(At={...At,...t.themes}),t.aliases&&(kt={...kt,...t.aliases})}function qn(){return Ot}const p={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return Lt(this.context.count)},getNextContextId(){return Lt(this.context.count++)}};function Lt(t){const n=String(t),e=n.length-1;return p.context.id+(e?String.fromCharCode(96+e):"")+n}function Pt(t){p.context=t}function Cn(){return{...p.context,id:p.getNextContextId(),count:0}}const Se=!1,Mn=(t,n)=>t===n,V=Symbol("solid-proxy"),Jt=typeof Proxy=="function",X=Symbol("solid-track"),Oe=Symbol("solid-dev-component"),at={equals:Mn};let Y=null,Ut=en;const P=1,Z=2,Wt={owned:null,cleanups:null,context:null,owner:null},_t={};var f=null;let l=null,J=null,U=null,h=null,b=null,O=null,ft=0;function F(t,n){const e=h,r=f,o=t.length===0,s=n===void 0?r:n,i=o?Wt:{owned:null,cleanups:null,context:s?s.context:null,owner:s},u=o?t:()=>t(()=>m(()=>z(i)));f=i,h=null;try{return k(u,!0)}finally{h=e,f=r}}function E(t,n){n=n?Object.assign({},at,n):at;const e={value:t,observers:null,observerSlots:null,comparator:n.equals||void 0},r=o=>(typeof o=="function"&&(l&&l.running&&l.sources.has(e)?o=o(e.tValue):o=o(e.value)),tn(e,o));return[Zt.bind(e),r]}function Bt(t,n,e){const r=et(t,n,!0,P);J&&l&&l.running?b.push(r):W(r)}function Gt(t,n,e){const r=et(t,n,!1,P);J&&l&&l.running?b.push(r):W(r)}function Qt(t,n,e){Ut=Kn;const r=et(t,n,!1,P),o=nt&&Ct(nt);o&&(r.suspense=o),(!e||!e.render)&&(r.user=!0),O?O.push(r):W(r)}function A(t,n,e){e=e?Object.assign({},at,e):at;const r=et(t,n,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=e.equals||void 0,J&&l&&l.running?(r.tState=P,b.push(r)):W(r),Zt.bind(r)}function Vn(t){return t&&typeof t=="object"&&"then"in t}function En(t,n,e){let r,o,s;typeof n=="function"?(r=t,o=n,s=e||{}):(r=!0,o=t,s=n||{});let i=null,u=_t,c=null,d=!1,g=!1,a="initialValue"in s,w=typeof r=="function"&&A(r);const S=new Set,[_,D]=(s.storage||E)(s.initialValue),[N,L]=E(void 0),[q,C]=E(void 0,{equals:!1}),[M,T]=E(a?"ready":"unresolved");p.context&&(c=p.getNextContextId(),s.ssrLoadFrom==="initial"?u=s.initialValue:p.load&&p.has(c)&&(u=p.load(c)));function H(y,v,$,x){return i===y&&(i=null,x!==void 0&&(a=!0),(y===u||v===u)&&s.onHydrated&&queueMicrotask(()=>s.onHydrated(x,{value:v})),u=_t,l&&y&&d?(l.promises.delete(y),d=!1,k(()=>{l.running=!0,Tt(v,$)},!1)):Tt(v,$)),v}function Tt(y,v){k(()=>{v===void 0&&D(()=>y),T(v!==void 0?"errored":a?"ready":"unresolved"),L(v);for(const $ of S.keys())$.decrement();S.clear()},!1)}function mt(){const y=nt&&Ct(nt),v=_(),$=N();if($!==void 0&&!i)throw $;return h&&!h.user&&y&&Bt(()=>{q(),i&&(y.resolved&&l&&d?l.promises.add(i):S.has(y)||(y.increment(),S.add(y)))}),v}function St(y=!0){if(y!==!1&&g)return;g=!1;const v=w?w():r;if(d=l&&l.running,v==null||v===!1){H(i,m(_));return}l&&i&&l.promises.delete(i);let $;const x=u!==_t?u:m(()=>{try{return o(v,{value:_(),refetching:y})}catch(Q){$=Q}});if($!==void 0){H(i,void 0,gt($),v);return}else if(!Vn(x))return H(i,x,void 0,v),x;return i=x,"v"in x?(x.s===1?H(i,x.v,void 0,v):H(i,void 0,gt(x.v),v),x):(g=!0,queueMicrotask(()=>g=!1),k(()=>{T(a?"refreshing":"pending"),C()},!1),x.then(Q=>H(x,Q,void 0,v),Q=>H(x,void 0,gt(Q),v)))}Object.defineProperties(mt,{state:{get:()=>M()},error:{get:()=>N()},loading:{get(){const y=M();return y==="pending"||y==="refreshing"}},latest:{get(){if(!a)return mt();const y=N();if(y&&!i)throw y;return _()}}});let Ht=f;return w?Bt(()=>(Ht=f,St(!1))):St(!1),[mt,{refetch:y=>Xt(Ht,()=>St(y)),mutate:D}]}function $n(t){return k(t,!1)}function m(t){if(!U&&h===null)return t();const n=h;h=null;try{return U?U.untrack(t):t()}finally{h=n}}function Dn(t,n,e){const r=Array.isArray(t);let o,s=e&&e.defer;return i=>{let u;if(r){u=Array(t.length);for(let d=0;d<t.length;d++)u[d]=t[d]()}else u=t();if(s)return s=!1,i;const c=m(()=>n(u,o,i));return o=u,c}}function In(t){Qt(()=>m(t))}function tt(t){return f===null||(f.cleanups===null?f.cleanups=[t]:f.cleanups.push(t)),t}function Tn(t,n){Y||(Y=Symbol("error")),f=et(void 0,void 0,!0),f.context={...f.context,[Y]:[n]},l&&l.running&&l.sources.add(f);try{return t()}catch(e){ot(e)}finally{f=f.owner}}function qt(){return h}function Hn(){return f}function Xt(t,n){const e=f,r=h;f=t,h=null;try{return k(n,!0)}catch(o){ot(o)}finally{f=e,h=r}}function Nn(t){if(l&&l.running)return t(),l.done;const n=h,e=f;return Promise.resolve().then(()=>{h=n,f=e;let r;return(J||nt)&&(r=l||(l={sources:new Set,effects:[],promises:new Set,disposed:new Set,queue:new Set,running:!0}),r.done||(r.done=new Promise(o=>r.resolve=o)),r.running=!0),k(t,!1),h=f=null,r?r.done:void 0})}const[xe,Yt]=E(!1);function zn(t,n){const e=Symbol("context");return{id:e,Provider:Ln(e),defaultValue:t}}function Ct(t){let n;return f&&f.context&&(n=f.context[t.id])!==void 0?n:t.defaultValue}function Mt(t){const n=A(t),e=A(()=>Vt(n()));return e.toArray=()=>{const r=e();return Array.isArray(r)?r:r!=null?[r]:[]},e}let nt;function Zt(){const t=l&&l.running;if(this.sources&&(t?this.tState:this.state))if((t?this.tState:this.state)===P)W(this);else{const n=b;b=null,k(()=>dt(this),!1),b=n}if(h){const n=this.observers;if(!n||n[n.length-1]!==h){const e=n?n.length:0;h.sources?(h.sources.push(this),h.sourceSlots.push(e)):(h.sources=[this],h.sourceSlots=[e]),n?(n.push(h),this.observerSlots.push(h.sources.length-1)):(this.observers=[h],this.observerSlots=[h.sources.length-1])}}return t&&l.sources.has(this)?this.tValue:this.value}function tn(t,n,e){let r=l&&l.running&&l.sources.has(t)?t.tValue:t.value;if(!t.comparator||!t.comparator(r,n)){if(l){const o=l.running;(o||!e&&l.sources.has(t))&&(l.sources.add(t),t.tValue=n),o||(t.value=n)}else t.value=n;t.observers&&t.observers.length&&k(()=>{for(let o=0;o<t.observers.length;o+=1){const s=t.observers[o],i=l&&l.running;i&&l.disposed.has(s)||((i?!s.tState:!s.state)&&(s.pure?b.push(s):O.push(s),s.observers&&rn(s)),i?s.tState=P:s.state=P)}if(b.length>1e6)throw b=[],new Error},!1)}return n}function W(t){if(!t.fn)return;z(t);const n=ft;nn(t,l&&l.running&&l.sources.has(t)?t.tValue:t.value,n),l&&!l.running&&l.sources.has(t)&&queueMicrotask(()=>{k(()=>{l&&(l.running=!0),h=f=t,nn(t,t.tValue,n),h=f=null},!1)})}function nn(t,n,e){let r;const o=f,s=h;h=f=t;try{r=t.fn(n)}catch(i){return t.pure&&(l&&l.running?(t.tState=P,t.tOwned&&t.tOwned.forEach(z),t.tOwned=void 0):(t.state=P,t.owned&&t.owned.forEach(z),t.owned=null)),t.updatedAt=e+1,ot(i)}finally{h=s,f=o}(!t.updatedAt||t.updatedAt<=e)&&(t.updatedAt!=null&&"observers"in t?tn(t,r,!0):l&&l.running&&t.pure?(l.sources.has(t)||(t.value=r),l.sources.add(t),t.tValue=r):t.value=r,t.updatedAt=e)}function et(t,n,e,r=P,o){const s={fn:t,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:n,owner:f,context:f?f.context:null,pure:e};if(l&&l.running&&(s.state=0,s.tState=r),f===null||f!==Wt&&(l&&l.running&&f.pure?f.tOwned?f.tOwned.push(s):f.tOwned=[s]:f.owned?f.owned.push(s):f.owned=[s]),U&&s.fn){const i=s.fn,[u,c]=E(void 0,{equals:!1}),d=U.factory(i,c);tt(()=>d.dispose());let g;const a=()=>Nn(c).then(()=>{g&&(g.dispose(),g=void 0)});s.fn=w=>(u(),l&&l.running?(g||(g=U.factory(i,a)),g.track(w)):d.track(w))}return s}function rt(t){const n=l&&l.running;if((n?t.tState:t.state)===0)return;if((n?t.tState:t.state)===Z)return dt(t);if(t.suspense&&m(t.suspense.inFallback))return t.suspense.effects.push(t);const e=[t];for(;(t=t.owner)&&(!t.updatedAt||t.updatedAt<ft);){if(n&&l.disposed.has(t))return;(n?t.tState:t.state)&&e.push(t)}for(let r=e.length-1;r>=0;r--){if(t=e[r],n){let o=t,s=e[r+1];for(;(o=o.owner)&&o!==s;)if(l.disposed.has(o))return}if((n?t.tState:t.state)===P)W(t);else if((n?t.tState:t.state)===Z){const o=b;b=null,k(()=>dt(t,e[0]),!1),b=o}}}function k(t,n){if(b)return t();let e=!1;n||(b=[]),O?e=!0:O=[],ft++;try{const r=t();return Fn(e),r}catch(r){e||(O=null),b=null,ot(r)}}function Fn(t){if(b&&(J&&l&&l.running?Rn(b):en(b),b=null),t)return;let n;if(l){if(!l.promises.size&&!l.queue.size){const r=l.sources,o=l.disposed;O.push.apply(O,l.effects),n=l.resolve;for(const s of O)"tState"in s&&(s.state=s.tState),delete s.tState;l=null,k(()=>{for(const s of o)z(s);for(const s of r){if(s.value=s.tValue,s.owned)for(let i=0,u=s.owned.length;i<u;i++)z(s.owned[i]);s.tOwned&&(s.owned=s.tOwned),delete s.tValue,delete s.tOwned,s.tState=0}Yt(!1)},!1)}else if(l.running){l.running=!1,l.effects.push.apply(l.effects,O),O=null,Yt(!0);return}}const e=O;O=null,e.length&&k(()=>Ut(e),!1),n&&n()}function en(t){for(let n=0;n<t.length;n++)rt(t[n])}function Rn(t){for(let n=0;n<t.length;n++){const e=t[n],r=l.queue;r.has(e)||(r.add(e),J(()=>{r.delete(e),k(()=>{l.running=!0,rt(e)},!1),l&&(l.running=!1)}))}}function Kn(t){let n,e=0;for(n=0;n<t.length;n++){const r=t[n];r.user?t[e++]=r:rt(r)}if(p.context){if(p.count){p.effects||(p.effects=[]),p.effects.push(...t.slice(0,e));return}Pt()}for(p.effects&&(p.done||!p.count)&&(t=[...p.effects,...t],e+=p.effects.length,delete p.effects),n=0;n<e;n++)rt(t[n])}function dt(t,n){const e=l&&l.running;e?t.tState=0:t.state=0;for(let r=0;r<t.sources.length;r+=1){const o=t.sources[r];if(o.sources){const s=e?o.tState:o.state;s===P?o!==n&&(!o.updatedAt||o.updatedAt<ft)&&rt(o):s===Z&&dt(o,n)}}}function rn(t){const n=l&&l.running;for(let e=0;e<t.observers.length;e+=1){const r=t.observers[e];(n?!r.tState:!r.state)&&(n?r.tState=Z:r.state=Z,r.pure?b.push(r):O.push(r),r.observers&&rn(r))}}function z(t){let n;if(t.sources)for(;t.sources.length;){const e=t.sources.pop(),r=t.sourceSlots.pop(),o=e.observers;if(o&&o.length){const s=o.pop(),i=e.observerSlots.pop();r<o.length&&(s.sourceSlots[i]=r,o[r]=s,e.observerSlots[r]=i)}}if(t.tOwned){for(n=t.tOwned.length-1;n>=0;n--)z(t.tOwned[n]);delete t.tOwned}if(l&&l.running&&t.pure)on(t,!0);else if(t.owned){for(n=t.owned.length-1;n>=0;n--)z(t.owned[n]);t.owned=null}if(t.cleanups){for(n=t.cleanups.length-1;n>=0;n--)t.cleanups[n]();t.cleanups=null}l&&l.running?t.tState=0:t.state=0}function on(t,n){if(n||(t.tState=0,l.disposed.add(t)),t.owned)for(let e=0;e<t.owned.length;e++)on(t.owned[e])}function gt(t){return t instanceof Error?t:new Error(typeof t=="string"?t:"Unknown error",{cause:t})}function sn(t,n,e){try{for(const r of n)r(t)}catch(r){ot(r,e&&e.owner||null)}}function ot(t,n=f){const e=Y&&n&&n.context&&n.context[Y],r=gt(t);if(!e)throw r;O?O.push({fn(){sn(r,e,n)},state:P}):sn(r,e,n)}function Vt(t){if(typeof t=="function"&&!t.length)return Vt(t());if(Array.isArray(t)){const n=[];for(let e=0;e<t.length;e++){const r=Vt(t[e]);if(Array.isArray(r))if(r.length<32768)n.push.apply(n,r);else for(let o=0;o<r.length;o++)n.push(r[o]);else n.push(r)}return n}return t}function Ln(t,n){return function(e){let r;return Gt(()=>r=m(()=>(f.context={...f.context,[t]:e.value},Mt(()=>e.children))),void 0),r}}const Et=Symbol("fallback");function ht(t){for(let n=0;n<t.length;n++)t[n]()}function Jn(t,n,e={}){let r=[],o=[],s=[],i=0,u=n.length>1?[]:null;return tt(()=>ht(s)),()=>{let c=t()||[],d=c.length,g,a;return c[X],m(()=>{let S,_,D,N,L,q,C,M,T;if(d===0)i!==0&&(ht(s),s=[],r=[],o=[],i=0,u&&(u=[])),e.fallback&&(r=[Et],o[0]=F(H=>(s[0]=H,e.fallback())),i=1);else if(i===0){for(o=new Array(d),a=0;a<d;a++)r[a]=c[a],o[a]=F(w);i=d}else{for(D=new Array(d),N=new Array(d),u&&(L=new Array(d)),q=0,C=Math.min(i,d);q<C&&r[q]===c[q];q++);for(C=i-1,M=d-1;C>=q&&M>=q&&r[C]===c[M];C--,M--)D[M]=o[C],N[M]=s[C],u&&(L[M]=u[C]);for(S=new Map,_=new Array(M+1),a=M;a>=q;a--)T=c[a],g=S.get(T),_[a]=g===void 0?-1:g,S.set(T,a);for(g=q;g<=C;g++)T=r[g],a=S.get(T),a!==void 0&&a!==-1?(D[a]=o[g],N[a]=s[g],u&&(L[a]=u[g]),a=_[a],S.set(T,a)):s[g]();for(a=q;a<d;a++)a in D?(o[a]=D[a],s[a]=N[a],u&&(u[a]=L[a],u[a](a))):o[a]=F(w);o=o.slice(0,i=d),r=c.slice(0)}return o});function w(S){if(s[a]=S,u){const[_,D]=E(a);return u[a]=D,n(c[a],_)}return n(c[a])}}}function Un(t,n,e={}){let r=[],o=[],s=[],i=[],u=0,c;return tt(()=>ht(s)),()=>{const d=t()||[],g=d.length;return d[X],m(()=>{if(g===0)return u!==0&&(ht(s),s=[],r=[],o=[],u=0,i=[]),e.fallback&&(r=[Et],o[0]=F(w=>(s[0]=w,e.fallback())),u=1),o;for(r[0]===Et&&(s[0](),s=[],r=[],o=[],u=0),c=0;c<g;c++)c<r.length&&r[c]!==d[c]?i[c](()=>d[c]):c>=r.length&&(o[c]=F(a));for(;c<r.length;c++)s[c]();return u=i.length=s.length=g,r=d.slice(0),o=o.slice(0,u)});function a(w){s[c]=w;const[S,_]=E(d[c]);return i[c]=_,n(S,c)}}}let un=!1;function Wn(){un=!0}function Bn(t,n){if(un&&p.context){const e=p.context;Pt(Cn());const r=m(()=>t(n||{}));return Pt(e),r}return m(()=>t(n||{}))}function pt(){return!0}const $t={get(t,n,e){return n===V?e:t.get(n)},has(t,n){return n===V?!0:t.has(n)},set:pt,deleteProperty:pt,getOwnPropertyDescriptor(t,n){return{configurable:!0,enumerable:!0,get(){return t.get(n)},set:pt,deleteProperty:pt}},ownKeys(t){return t.keys()}};function Dt(t){return(t=typeof t=="function"?t():t)?t:{}}function Gn(){for(let t=0,n=this.length;t<n;++t){const e=this[t]();if(e!==void 0)return e}}function Qn(...t){let n=!1;for(let i=0;i<t.length;i++){const u=t[i];n=n||!!u&&V in u,t[i]=typeof u=="function"?(n=!0,A(u)):u}if(Jt&&n)return new Proxy({get(i){for(let u=t.length-1;u>=0;u--){const c=Dt(t[u])[i];if(c!==void 0)return c}},has(i){for(let u=t.length-1;u>=0;u--)if(i in Dt(t[u]))return!0;return!1},keys(){const i=[];for(let u=0;u<t.length;u++)i.push(...Object.keys(Dt(t[u])));return[...new Set(i)]}},$t);const e={},r=Object.create(null);for(let i=t.length-1;i>=0;i--){const u=t[i];if(!u)continue;const c=Object.getOwnPropertyNames(u);for(let d=c.length-1;d>=0;d--){const g=c[d];if(g==="__proto__"||g==="constructor")continue;const a=Object.getOwnPropertyDescriptor(u,g);if(!r[g])r[g]=a.get?{enumerable:!0,configurable:!0,get:Gn.bind(e[g]=[a.get.bind(u)])}:a.value!==void 0?a:void 0;else{const w=e[g];w&&(a.get?w.push(a.get.bind(u)):a.value!==void 0&&w.push(()=>a.value))}}}const o={},s=Object.keys(r);for(let i=s.length-1;i>=0;i--){const u=s[i],c=r[u];c&&c.get?Object.defineProperty(o,u,c):o[u]=c?c.value:void 0}return o}function Xn(t,...n){const e=n.length;if(Jt&&V in t){const o=e>1?n.flat():n[0],s=n.map(i=>new Proxy({get(u){return i.includes(u)?t[u]:void 0},has(u){return i.includes(u)&&u in t},keys(){return i.filter(u=>u in t)}},$t));return s.push(new Proxy({get(i){return o.includes(i)?void 0:t[i]},has(i){return o.includes(i)?!1:i in t},keys(){return Object.keys(t).filter(i=>!o.includes(i))}},$t)),s}const r=[];for(let o=0;o<=e;o++)r[o]={};for(const o of Object.getOwnPropertyNames(t)){let s=e;for(let u=0;u<n.length;u++)if(n[u].includes(o)){s=u;break}const i=Object.getOwnPropertyDescriptor(t,o);!i.get&&!i.set&&i.enumerable&&i.writable&&i.configurable?r[s][o]=i.value:Object.defineProperty(r[s],o,i)}return r}let Yn=0;function Zn(){return p.context?p.getNextContextId():`cl-${Yn++}`}const ln=t=>`Stale read from <${t}>.`;function te(t){const n="fallback"in t&&{fallback:()=>t.fallback};return A(Jn(()=>t.each,t.children,n||void 0))}function ne(t){const n="fallback"in t&&{fallback:()=>t.fallback};return A(Un(()=>t.each,t.children,n||void 0))}function ee(t){const n=t.keyed,e=A(()=>t.when,void 0,void 0),r=n?e:A(e,void 0,{equals:(o,s)=>!o==!s});return A(()=>{const o=r();if(o){const s=t.children;return typeof s=="function"&&s.length>0?m(()=>s(n?o:()=>{if(!m(r))throw ln("Show");return e()})):s}return t.fallback},void 0,void 0)}function re(t){const n=Mt(()=>t.children),e=A(()=>{const r=n(),o=Array.isArray(r)?r:[r];let s=()=>{};for(let i=0;i<o.length;i++){const u=i,c=o[i],d=s,g=A(()=>d()?void 0:c.when,void 0,void 0),a=c.keyed?g:A(g,void 0,{equals:(w,S)=>!w==!S});s=()=>d()||(a()?[u,g,c]:void 0)}return s});return A(()=>{const r=e()();if(!r)return t.fallback;const[o,s,i]=r,u=i.children;return typeof u=="function"&&u.length>0?m(()=>u(i.keyed?s():()=>{var c;if(((c=m(e)())==null?void 0:c[0])!==o)throw ln("Match");return s()})):u},void 0,void 0)}function oe(t){return t}let yt;function se(t){let n;p.context&&p.load&&(n=p.load(p.getContextId()));const[e,r]=E(n,void 0);return yt||(yt=new Set),yt.add(r),tt(()=>yt.delete(r)),A(()=>{let o;if(o=e()){const s=t.fallback;return typeof s=="function"&&s.length?m(()=>s(o,()=>r())):s}return Tn(()=>t.children,r)},void 0,void 0)}const vt=Symbol("store-raw"),R=Symbol("store-node"),I=Symbol("store-has"),cn=Symbol("store-self");function an(t){let n=t[V];if(!n&&(Object.defineProperty(t,V,{value:n=new Proxy(t,le)}),!Array.isArray(t))){const e=Object.keys(t),r=Object.getOwnPropertyDescriptors(t),o=Object.getPrototypeOf(t),s=o!==null&&t!==null&&typeof t=="object"&&!Array.isArray(t)&&o!==Object.prototype;if(s){const i=Object.getOwnPropertyDescriptors(o);e.push(...Object.keys(i)),Object.assign(r,i)}for(let i=0,u=e.length;i<u;i++){const c=e[i];s&&c==="constructor"||r[c].get&&Object.defineProperty(t,c,{configurable:!0,enumerable:r[c].enumerable,get:r[c].get.bind(n)})}}return n}function B(t){let n;return t!=null&&typeof t=="object"&&(t[V]||!(n=Object.getPrototypeOf(t))||n===Object.prototype||Array.isArray(t))}function K(t,n=new Set){let e,r,o,s;if(e=t!=null&&t[vt])return e;if(!B(t)||n.has(t))return t;if(Array.isArray(t)){Object.isFrozen(t)?t=t.slice(0):n.add(t);for(let i=0,u=t.length;i<u;i++)o=t[i],(r=K(o,n))!==o&&(t[i]=r)}else{Object.isFrozen(t)?t=Object.assign({},t):n.add(t);const i=Object.keys(t),u=Object.getOwnPropertyDescriptors(t);for(let c=0,d=i.length;c<d;c++)s=i[c],!u[s].get&&(o=t[s],(r=K(o,n))!==o&&(t[s]=r))}return t}function bt(t,n){let e=t[n];return e||Object.defineProperty(t,n,{value:e=Object.create(null)}),e}function st(t,n,e){if(t[n])return t[n];const[r,o]=E(e,{equals:!1,internal:!0});return r.$=o,t[n]=r}function ie(t,n){const e=Reflect.getOwnPropertyDescriptor(t,n);return!e||e.get||!e.configurable||n===V||n===R||(delete e.value,delete e.writable,e.get=()=>t[V][n]),e}function fn(t){qt()&&st(bt(t,R),cn)()}function ue(t){return fn(t),Reflect.ownKeys(t)}const le={get(t,n,e){if(n===vt)return t;if(n===V)return e;if(n===X)return fn(t),e;const r=bt(t,R),o=r[n];let s=o?o():t[n];if(n===R||n===I||n==="__proto__")return s;if(!o){const i=Object.getOwnPropertyDescriptor(t,n);qt()&&(typeof s!="function"||t.hasOwnProperty(n))&&!(i&&i.get)&&(s=st(r,n,s)())}return B(s)?an(s):s},has(t,n){return n===vt||n===V||n===X||n===R||n===I||n==="__proto__"?!0:(qt()&&st(bt(t,I),n)(),n in t)},set(){return!0},deleteProperty(){return!0},ownKeys:ue,getOwnPropertyDescriptor:ie};function G(t,n,e,r=!1){if(n==="__proto__"||!r&&t[n]===e)return;const o=t[n],s=t.length;e===void 0?(delete t[n],t[I]&&t[I][n]&&o!==void 0&&t[I][n].$()):(t[n]=e,t[I]&&t[I][n]&&o===void 0&&t[I][n].$());let i=bt(t,R),u;if((u=st(i,n,o))&&u.$(()=>e),Array.isArray(t)&&t.length!==s){for(let c=t.length;c<s;c++)(u=i[c])&&u.$();(u=st(i,"length",s))&&u.$(t.length)}(u=i[cn])&&u.$()}function dn(t,n){const e=Object.keys(n);for(let r=0;r<e.length;r+=1){const o=e[r];gn(o)||G(t,o,n[o])}}function gn(t){return t==="__proto__"||t==="constructor"||t==="prototype"}function ce(t,n){if(typeof n=="function"&&(n=n(t)),n=K(n),Array.isArray(n)){if(t===n)return;let e=0,r=n.length;for(;e<r;e++){const o=n[e];t[e]!==o&&G(t,e,o)}G(t,"length",r)}else dn(t,n)}function it(t,n,e=[]){let r,o=t;if(n.length>1){r=n.shift();const i=typeof r,u=Array.isArray(t);if(i==="string"&&(r==="__proto__"||n.length>1&&gn(r)))return;if(Array.isArray(r)){for(let c=0;c<r.length;c++)it(t,[r[c]].concat(n),e);return}else if(u&&i==="function"){for(let c=0;c<t.length;c++)r(t[c],c)&&it(t,[c].concat(n),e);return}else if(u&&i==="object"){const{from:c=0,to:d=t.length-1,by:g=1}=r;for(let a=c;a<=d;a+=g)it(t,[a].concat(n),e);return}else if(n.length>1){it(t[r],n,[r].concat(e));return}o=t[r],e=[r].concat(e)}let s=n[0];typeof s=="function"&&(s=s(o,e),s===o)||r===void 0&&s==null||(s=K(s),r===void 0||B(o)&&B(s)&&!Array.isArray(s)?dn(o,s):G(t,r,s))}function hn(...[t,n]){const e=K(t||{}),r=Array.isArray(e),o=an(e);function s(...i){$n(()=>{r&&i.length===1?ce(e,i[0]):it(e,i)})}return[o,s]}const Ae=Symbol("store-root"),wt=new WeakMap,pn={get(t,n){if(n===vt)return t;const e=t[n];if(n===V||n===X||n===R||n===I||n==="__proto__")return e;let r;return B(e)?wt.get(e)||(wt.set(e,r=new Proxy(e,pn)),r):e},set(t,n,e){return G(t,n,K(e)),!0},deleteProperty(t,n){return G(t,n,void 0,!0),!0}};function yn(t){return n=>{if(B(n)){let e;(e=wt.get(n))||wt.set(n,e=new Proxy(n,pn)),t(e)}return n}}let j={};function vn(t){j.stack&&t.setAttribute("stack",j.stack),j.position&&t.setAttribute("position",j.position),j.max!==void 0&&t.setAttribute("max",String(j.max)),j.appearance&&t.setAttribute("appearance",j.appearance),j.inverse!==void 0&&(j.inverse?t.setAttribute("inverse",""):t.removeAttribute("inverse"))}function ae(t){j={...j,...t},!(typeof document>"u")&&document.querySelectorAll("kai-toast-region").forEach(n=>vn(n))}const fe=5e3,de=7e3,{toasts:It,setToasts:ut,mounted:ke,setMounted:ge}=F(()=>{const[t,n]=hn([]),[e,r]=E(!1);return{toasts:t,setToasts:n,mounted:e,setMounted:r}});let bn=0;function he(){return bn+=1,`toast-${bn}`}function pe(t){const n=t.duration??fe;return n===0?0:t.action?Math.max(n,de):n}const wn=new Map;function ye(t=null){if(typeof document>"u")return;const n=wn.get(t);if(n&&n.isConnected)return n;const e=document.createElement("kai-toast-region");return document.body.appendChild(e),e.toasts=It,t&&(e.target=t),vn(e),wn.set(t,e),ge(!0),e}function ve(t){const n=It.findIndex(e=>e.id===t.id);n>=0?ut(n,t):ut(yn(e=>{e.push(t)}))}function mn(t){ut(n=>n.filter(e=>e.id!==t))}function be(t){return{id:t,dismiss:()=>mn(t),update:n=>{const e=It.findIndex(r=>r.id===t);e>=0&&ut(e,r=>({...r,...n}))}}}function lt(t,n,e){ye(n?.target??null);const r=n?.id??he(),o={id:r,message:t,variant:n?.variant??e,appearance:n?.appearance??j.appearance??"pill",inverse:n?.inverse??j.inverse??!1,description:n?.description,action:n?.action,duration:n?.duration,dismissible:n?.dismissible,target:n?.target};return ve(o),be(r)}const we=Object.assign((t,n)=>lt(t,n,"neutral"),{success:(t,n)=>lt(t,n,"success"),warning:(t,n)=>lt(t,n,"warning"),error:(t,n)=>lt(t,n,"error"),info:(t,n)=>lt(t,n,"info"),dismiss:mn,clear:()=>ut([])}),me=typeof window<"u"&&typeof customElements<"u"?import("./register-impl-DcjZDELj.js"):Promise.resolve();export{K as A,se as E,te as F,ne as I,oe as M,ee as S,F as a,Gt as b,A as c,_n as configureCodeHighlighting,ae as configureToasts,Qt as d,Wn as e,me as elementsReady,E as f,Hn as g,Xn as h,zn as i,qn as isCodeHighlightingEnabled,Bn as j,Ct as k,Zn as l,Qn as m,In as n,tt as o,Dn as p,En as q,Xt as r,p as s,Pn as t,we as toast,m as u,re as v,Mt as w,pe as x,hn as y,yn as z};
|
|
1
|
+
const Sn={bash:()=>import("./bash-InADTalH.js"),javascript:()=>import("./javascript-C25yR2R2.js"),typescript:()=>import("./typescript-RycA9KXf.js"),tsx:()=>import("./tsx-B8rCNbgL.js"),html:()=>import("./html-CPZ3oZQ7.js"),css:()=>import("./css-M7EaDHN_.js"),json:()=>import("./json-DxJze_jm.js"),vue:()=>import("./vue-BmIZj4XD.js"),svelte:()=>import("./svelte--5p79yCD.js")},On={"github-dark-dimmed":()=>import("./github-dark-dimmed-DUshB20C.js"),"github-light":()=>import("./github-light-JYsPkUQd.js")},xn={js:"javascript",ts:"typescript",jsx:"tsx",sh:"bash",shell:"bash"},Nt="github-dark-dimmed";let Ot=!0,xt={...Sn},At={...On},kt={...xn},jt=null;const zt=new Set,Ft=new Set;function An(){return jt||(jt=(async()=>{const[{createHighlighterCore:t},{createJavaScriptRegexEngine:n}]=await Promise.all([import("./core-C8fzo39E.js"),import("./engine-javascript-C1x7zo1_.js")]);return t({themes:[],langs:[],engine:n()})})()),jt}function Rt(t){return kt[t]??t}async function kn(t,n){const e=Rt(n);if(zt.has(e))return!0;const r=xt[e];return r?(await t.loadLanguage(r()),zt.add(e),!0):!1}async function Kt(t,n){if(Ft.has(n))return!0;const e=At[n];return e?(await t.loadTheme(e()),Ft.add(n),!0):!1}function jn(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function ct(t){return`<pre><code>${jn(t)}</code></pre>`}async function Pn(t,n,e){if(!Ot||!t)return ct(t);try{const r=await An();if(!await kn(r,n))return ct(t);const o=await Kt(r,e)?e:await Kt(r,Nt)?Nt:null;return o?r.codeToHtml(t,{lang:Rt(n),theme:o}):ct(t)}catch{return ct(t)}}function _n(t){t.enabled!==void 0&&(Ot=t.enabled),t.languages&&(xt={...xt,...t.languages}),t.themes&&(At={...At,...t.themes}),t.aliases&&(kt={...kt,...t.aliases})}function qn(){return Ot}const p={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return Lt(this.context.count)},getNextContextId(){return Lt(this.context.count++)}};function Lt(t){const n=String(t),e=n.length-1;return p.context.id+(e?String.fromCharCode(96+e):"")+n}function Pt(t){p.context=t}function Cn(){return{...p.context,id:p.getNextContextId(),count:0}}const Se=!1,Mn=(t,n)=>t===n,V=Symbol("solid-proxy"),Jt=typeof Proxy=="function",X=Symbol("solid-track"),Oe=Symbol("solid-dev-component"),at={equals:Mn};let Y=null,Ut=en;const P=1,Z=2,Wt={owned:null,cleanups:null,context:null,owner:null},_t={};var f=null;let l=null,J=null,U=null,h=null,b=null,O=null,ft=0;function F(t,n){const e=h,r=f,o=t.length===0,s=n===void 0?r:n,i=o?Wt:{owned:null,cleanups:null,context:s?s.context:null,owner:s},u=o?t:()=>t(()=>m(()=>z(i)));f=i,h=null;try{return k(u,!0)}finally{h=e,f=r}}function E(t,n){n=n?Object.assign({},at,n):at;const e={value:t,observers:null,observerSlots:null,comparator:n.equals||void 0},r=o=>(typeof o=="function"&&(l&&l.running&&l.sources.has(e)?o=o(e.tValue):o=o(e.value)),tn(e,o));return[Zt.bind(e),r]}function Bt(t,n,e){const r=et(t,n,!0,P);J&&l&&l.running?b.push(r):W(r)}function Gt(t,n,e){const r=et(t,n,!1,P);J&&l&&l.running?b.push(r):W(r)}function Qt(t,n,e){Ut=Kn;const r=et(t,n,!1,P),o=nt&&Ct(nt);o&&(r.suspense=o),(!e||!e.render)&&(r.user=!0),O?O.push(r):W(r)}function A(t,n,e){e=e?Object.assign({},at,e):at;const r=et(t,n,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=e.equals||void 0,J&&l&&l.running?(r.tState=P,b.push(r)):W(r),Zt.bind(r)}function Vn(t){return t&&typeof t=="object"&&"then"in t}function En(t,n,e){let r,o,s;typeof n=="function"?(r=t,o=n,s=e||{}):(r=!0,o=t,s=n||{});let i=null,u=_t,c=null,d=!1,g=!1,a="initialValue"in s,w=typeof r=="function"&&A(r);const S=new Set,[_,D]=(s.storage||E)(s.initialValue),[N,L]=E(void 0),[q,C]=E(void 0,{equals:!1}),[M,T]=E(a?"ready":"unresolved");p.context&&(c=p.getNextContextId(),s.ssrLoadFrom==="initial"?u=s.initialValue:p.load&&p.has(c)&&(u=p.load(c)));function H(y,v,$,x){return i===y&&(i=null,x!==void 0&&(a=!0),(y===u||v===u)&&s.onHydrated&&queueMicrotask(()=>s.onHydrated(x,{value:v})),u=_t,l&&y&&d?(l.promises.delete(y),d=!1,k(()=>{l.running=!0,Tt(v,$)},!1)):Tt(v,$)),v}function Tt(y,v){k(()=>{v===void 0&&D(()=>y),T(v!==void 0?"errored":a?"ready":"unresolved"),L(v);for(const $ of S.keys())$.decrement();S.clear()},!1)}function mt(){const y=nt&&Ct(nt),v=_(),$=N();if($!==void 0&&!i)throw $;return h&&!h.user&&y&&Bt(()=>{q(),i&&(y.resolved&&l&&d?l.promises.add(i):S.has(y)||(y.increment(),S.add(y)))}),v}function St(y=!0){if(y!==!1&&g)return;g=!1;const v=w?w():r;if(d=l&&l.running,v==null||v===!1){H(i,m(_));return}l&&i&&l.promises.delete(i);let $;const x=u!==_t?u:m(()=>{try{return o(v,{value:_(),refetching:y})}catch(Q){$=Q}});if($!==void 0){H(i,void 0,gt($),v);return}else if(!Vn(x))return H(i,x,void 0,v),x;return i=x,"v"in x?(x.s===1?H(i,x.v,void 0,v):H(i,void 0,gt(x.v),v),x):(g=!0,queueMicrotask(()=>g=!1),k(()=>{T(a?"refreshing":"pending"),C()},!1),x.then(Q=>H(x,Q,void 0,v),Q=>H(x,void 0,gt(Q),v)))}Object.defineProperties(mt,{state:{get:()=>M()},error:{get:()=>N()},loading:{get(){const y=M();return y==="pending"||y==="refreshing"}},latest:{get(){if(!a)return mt();const y=N();if(y&&!i)throw y;return _()}}});let Ht=f;return w?Bt(()=>(Ht=f,St(!1))):St(!1),[mt,{refetch:y=>Xt(Ht,()=>St(y)),mutate:D}]}function $n(t){return k(t,!1)}function m(t){if(!U&&h===null)return t();const n=h;h=null;try{return U?U.untrack(t):t()}finally{h=n}}function Dn(t,n,e){const r=Array.isArray(t);let o,s=e&&e.defer;return i=>{let u;if(r){u=Array(t.length);for(let d=0;d<t.length;d++)u[d]=t[d]()}else u=t();if(s)return s=!1,i;const c=m(()=>n(u,o,i));return o=u,c}}function In(t){Qt(()=>m(t))}function tt(t){return f===null||(f.cleanups===null?f.cleanups=[t]:f.cleanups.push(t)),t}function Tn(t,n){Y||(Y=Symbol("error")),f=et(void 0,void 0,!0),f.context={...f.context,[Y]:[n]},l&&l.running&&l.sources.add(f);try{return t()}catch(e){ot(e)}finally{f=f.owner}}function qt(){return h}function Hn(){return f}function Xt(t,n){const e=f,r=h;f=t,h=null;try{return k(n,!0)}catch(o){ot(o)}finally{f=e,h=r}}function Nn(t){if(l&&l.running)return t(),l.done;const n=h,e=f;return Promise.resolve().then(()=>{h=n,f=e;let r;return(J||nt)&&(r=l||(l={sources:new Set,effects:[],promises:new Set,disposed:new Set,queue:new Set,running:!0}),r.done||(r.done=new Promise(o=>r.resolve=o)),r.running=!0),k(t,!1),h=f=null,r?r.done:void 0})}const[xe,Yt]=E(!1);function zn(t,n){const e=Symbol("context");return{id:e,Provider:Ln(e),defaultValue:t}}function Ct(t){let n;return f&&f.context&&(n=f.context[t.id])!==void 0?n:t.defaultValue}function Mt(t){const n=A(t),e=A(()=>Vt(n()));return e.toArray=()=>{const r=e();return Array.isArray(r)?r:r!=null?[r]:[]},e}let nt;function Zt(){const t=l&&l.running;if(this.sources&&(t?this.tState:this.state))if((t?this.tState:this.state)===P)W(this);else{const n=b;b=null,k(()=>dt(this),!1),b=n}if(h){const n=this.observers;if(!n||n[n.length-1]!==h){const e=n?n.length:0;h.sources?(h.sources.push(this),h.sourceSlots.push(e)):(h.sources=[this],h.sourceSlots=[e]),n?(n.push(h),this.observerSlots.push(h.sources.length-1)):(this.observers=[h],this.observerSlots=[h.sources.length-1])}}return t&&l.sources.has(this)?this.tValue:this.value}function tn(t,n,e){let r=l&&l.running&&l.sources.has(t)?t.tValue:t.value;if(!t.comparator||!t.comparator(r,n)){if(l){const o=l.running;(o||!e&&l.sources.has(t))&&(l.sources.add(t),t.tValue=n),o||(t.value=n)}else t.value=n;t.observers&&t.observers.length&&k(()=>{for(let o=0;o<t.observers.length;o+=1){const s=t.observers[o],i=l&&l.running;i&&l.disposed.has(s)||((i?!s.tState:!s.state)&&(s.pure?b.push(s):O.push(s),s.observers&&rn(s)),i?s.tState=P:s.state=P)}if(b.length>1e6)throw b=[],new Error},!1)}return n}function W(t){if(!t.fn)return;z(t);const n=ft;nn(t,l&&l.running&&l.sources.has(t)?t.tValue:t.value,n),l&&!l.running&&l.sources.has(t)&&queueMicrotask(()=>{k(()=>{l&&(l.running=!0),h=f=t,nn(t,t.tValue,n),h=f=null},!1)})}function nn(t,n,e){let r;const o=f,s=h;h=f=t;try{r=t.fn(n)}catch(i){return t.pure&&(l&&l.running?(t.tState=P,t.tOwned&&t.tOwned.forEach(z),t.tOwned=void 0):(t.state=P,t.owned&&t.owned.forEach(z),t.owned=null)),t.updatedAt=e+1,ot(i)}finally{h=s,f=o}(!t.updatedAt||t.updatedAt<=e)&&(t.updatedAt!=null&&"observers"in t?tn(t,r,!0):l&&l.running&&t.pure?(l.sources.has(t)||(t.value=r),l.sources.add(t),t.tValue=r):t.value=r,t.updatedAt=e)}function et(t,n,e,r=P,o){const s={fn:t,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:n,owner:f,context:f?f.context:null,pure:e};if(l&&l.running&&(s.state=0,s.tState=r),f===null||f!==Wt&&(l&&l.running&&f.pure?f.tOwned?f.tOwned.push(s):f.tOwned=[s]:f.owned?f.owned.push(s):f.owned=[s]),U&&s.fn){const i=s.fn,[u,c]=E(void 0,{equals:!1}),d=U.factory(i,c);tt(()=>d.dispose());let g;const a=()=>Nn(c).then(()=>{g&&(g.dispose(),g=void 0)});s.fn=w=>(u(),l&&l.running?(g||(g=U.factory(i,a)),g.track(w)):d.track(w))}return s}function rt(t){const n=l&&l.running;if((n?t.tState:t.state)===0)return;if((n?t.tState:t.state)===Z)return dt(t);if(t.suspense&&m(t.suspense.inFallback))return t.suspense.effects.push(t);const e=[t];for(;(t=t.owner)&&(!t.updatedAt||t.updatedAt<ft);){if(n&&l.disposed.has(t))return;(n?t.tState:t.state)&&e.push(t)}for(let r=e.length-1;r>=0;r--){if(t=e[r],n){let o=t,s=e[r+1];for(;(o=o.owner)&&o!==s;)if(l.disposed.has(o))return}if((n?t.tState:t.state)===P)W(t);else if((n?t.tState:t.state)===Z){const o=b;b=null,k(()=>dt(t,e[0]),!1),b=o}}}function k(t,n){if(b)return t();let e=!1;n||(b=[]),O?e=!0:O=[],ft++;try{const r=t();return Fn(e),r}catch(r){e||(O=null),b=null,ot(r)}}function Fn(t){if(b&&(J&&l&&l.running?Rn(b):en(b),b=null),t)return;let n;if(l){if(!l.promises.size&&!l.queue.size){const r=l.sources,o=l.disposed;O.push.apply(O,l.effects),n=l.resolve;for(const s of O)"tState"in s&&(s.state=s.tState),delete s.tState;l=null,k(()=>{for(const s of o)z(s);for(const s of r){if(s.value=s.tValue,s.owned)for(let i=0,u=s.owned.length;i<u;i++)z(s.owned[i]);s.tOwned&&(s.owned=s.tOwned),delete s.tValue,delete s.tOwned,s.tState=0}Yt(!1)},!1)}else if(l.running){l.running=!1,l.effects.push.apply(l.effects,O),O=null,Yt(!0);return}}const e=O;O=null,e.length&&k(()=>Ut(e),!1),n&&n()}function en(t){for(let n=0;n<t.length;n++)rt(t[n])}function Rn(t){for(let n=0;n<t.length;n++){const e=t[n],r=l.queue;r.has(e)||(r.add(e),J(()=>{r.delete(e),k(()=>{l.running=!0,rt(e)},!1),l&&(l.running=!1)}))}}function Kn(t){let n,e=0;for(n=0;n<t.length;n++){const r=t[n];r.user?t[e++]=r:rt(r)}if(p.context){if(p.count){p.effects||(p.effects=[]),p.effects.push(...t.slice(0,e));return}Pt()}for(p.effects&&(p.done||!p.count)&&(t=[...p.effects,...t],e+=p.effects.length,delete p.effects),n=0;n<e;n++)rt(t[n])}function dt(t,n){const e=l&&l.running;e?t.tState=0:t.state=0;for(let r=0;r<t.sources.length;r+=1){const o=t.sources[r];if(o.sources){const s=e?o.tState:o.state;s===P?o!==n&&(!o.updatedAt||o.updatedAt<ft)&&rt(o):s===Z&&dt(o,n)}}}function rn(t){const n=l&&l.running;for(let e=0;e<t.observers.length;e+=1){const r=t.observers[e];(n?!r.tState:!r.state)&&(n?r.tState=Z:r.state=Z,r.pure?b.push(r):O.push(r),r.observers&&rn(r))}}function z(t){let n;if(t.sources)for(;t.sources.length;){const e=t.sources.pop(),r=t.sourceSlots.pop(),o=e.observers;if(o&&o.length){const s=o.pop(),i=e.observerSlots.pop();r<o.length&&(s.sourceSlots[i]=r,o[r]=s,e.observerSlots[r]=i)}}if(t.tOwned){for(n=t.tOwned.length-1;n>=0;n--)z(t.tOwned[n]);delete t.tOwned}if(l&&l.running&&t.pure)on(t,!0);else if(t.owned){for(n=t.owned.length-1;n>=0;n--)z(t.owned[n]);t.owned=null}if(t.cleanups){for(n=t.cleanups.length-1;n>=0;n--)t.cleanups[n]();t.cleanups=null}l&&l.running?t.tState=0:t.state=0}function on(t,n){if(n||(t.tState=0,l.disposed.add(t)),t.owned)for(let e=0;e<t.owned.length;e++)on(t.owned[e])}function gt(t){return t instanceof Error?t:new Error(typeof t=="string"?t:"Unknown error",{cause:t})}function sn(t,n,e){try{for(const r of n)r(t)}catch(r){ot(r,e&&e.owner||null)}}function ot(t,n=f){const e=Y&&n&&n.context&&n.context[Y],r=gt(t);if(!e)throw r;O?O.push({fn(){sn(r,e,n)},state:P}):sn(r,e,n)}function Vt(t){if(typeof t=="function"&&!t.length)return Vt(t());if(Array.isArray(t)){const n=[];for(let e=0;e<t.length;e++){const r=Vt(t[e]);if(Array.isArray(r))if(r.length<32768)n.push.apply(n,r);else for(let o=0;o<r.length;o++)n.push(r[o]);else n.push(r)}return n}return t}function Ln(t,n){return function(e){let r;return Gt(()=>r=m(()=>(f.context={...f.context,[t]:e.value},Mt(()=>e.children))),void 0),r}}const Et=Symbol("fallback");function ht(t){for(let n=0;n<t.length;n++)t[n]()}function Jn(t,n,e={}){let r=[],o=[],s=[],i=0,u=n.length>1?[]:null;return tt(()=>ht(s)),()=>{let c=t()||[],d=c.length,g,a;return c[X],m(()=>{let S,_,D,N,L,q,C,M,T;if(d===0)i!==0&&(ht(s),s=[],r=[],o=[],i=0,u&&(u=[])),e.fallback&&(r=[Et],o[0]=F(H=>(s[0]=H,e.fallback())),i=1);else if(i===0){for(o=new Array(d),a=0;a<d;a++)r[a]=c[a],o[a]=F(w);i=d}else{for(D=new Array(d),N=new Array(d),u&&(L=new Array(d)),q=0,C=Math.min(i,d);q<C&&r[q]===c[q];q++);for(C=i-1,M=d-1;C>=q&&M>=q&&r[C]===c[M];C--,M--)D[M]=o[C],N[M]=s[C],u&&(L[M]=u[C]);for(S=new Map,_=new Array(M+1),a=M;a>=q;a--)T=c[a],g=S.get(T),_[a]=g===void 0?-1:g,S.set(T,a);for(g=q;g<=C;g++)T=r[g],a=S.get(T),a!==void 0&&a!==-1?(D[a]=o[g],N[a]=s[g],u&&(L[a]=u[g]),a=_[a],S.set(T,a)):s[g]();for(a=q;a<d;a++)a in D?(o[a]=D[a],s[a]=N[a],u&&(u[a]=L[a],u[a](a))):o[a]=F(w);o=o.slice(0,i=d),r=c.slice(0)}return o});function w(S){if(s[a]=S,u){const[_,D]=E(a);return u[a]=D,n(c[a],_)}return n(c[a])}}}function Un(t,n,e={}){let r=[],o=[],s=[],i=[],u=0,c;return tt(()=>ht(s)),()=>{const d=t()||[],g=d.length;return d[X],m(()=>{if(g===0)return u!==0&&(ht(s),s=[],r=[],o=[],u=0,i=[]),e.fallback&&(r=[Et],o[0]=F(w=>(s[0]=w,e.fallback())),u=1),o;for(r[0]===Et&&(s[0](),s=[],r=[],o=[],u=0),c=0;c<g;c++)c<r.length&&r[c]!==d[c]?i[c](()=>d[c]):c>=r.length&&(o[c]=F(a));for(;c<r.length;c++)s[c]();return u=i.length=s.length=g,r=d.slice(0),o=o.slice(0,u)});function a(w){s[c]=w;const[S,_]=E(d[c]);return i[c]=_,n(S,c)}}}let un=!1;function Wn(){un=!0}function Bn(t,n){if(un&&p.context){const e=p.context;Pt(Cn());const r=m(()=>t(n||{}));return Pt(e),r}return m(()=>t(n||{}))}function pt(){return!0}const $t={get(t,n,e){return n===V?e:t.get(n)},has(t,n){return n===V?!0:t.has(n)},set:pt,deleteProperty:pt,getOwnPropertyDescriptor(t,n){return{configurable:!0,enumerable:!0,get(){return t.get(n)},set:pt,deleteProperty:pt}},ownKeys(t){return t.keys()}};function Dt(t){return(t=typeof t=="function"?t():t)?t:{}}function Gn(){for(let t=0,n=this.length;t<n;++t){const e=this[t]();if(e!==void 0)return e}}function Qn(...t){let n=!1;for(let i=0;i<t.length;i++){const u=t[i];n=n||!!u&&V in u,t[i]=typeof u=="function"?(n=!0,A(u)):u}if(Jt&&n)return new Proxy({get(i){for(let u=t.length-1;u>=0;u--){const c=Dt(t[u])[i];if(c!==void 0)return c}},has(i){for(let u=t.length-1;u>=0;u--)if(i in Dt(t[u]))return!0;return!1},keys(){const i=[];for(let u=0;u<t.length;u++)i.push(...Object.keys(Dt(t[u])));return[...new Set(i)]}},$t);const e={},r=Object.create(null);for(let i=t.length-1;i>=0;i--){const u=t[i];if(!u)continue;const c=Object.getOwnPropertyNames(u);for(let d=c.length-1;d>=0;d--){const g=c[d];if(g==="__proto__"||g==="constructor")continue;const a=Object.getOwnPropertyDescriptor(u,g);if(!r[g])r[g]=a.get?{enumerable:!0,configurable:!0,get:Gn.bind(e[g]=[a.get.bind(u)])}:a.value!==void 0?a:void 0;else{const w=e[g];w&&(a.get?w.push(a.get.bind(u)):a.value!==void 0&&w.push(()=>a.value))}}}const o={},s=Object.keys(r);for(let i=s.length-1;i>=0;i--){const u=s[i],c=r[u];c&&c.get?Object.defineProperty(o,u,c):o[u]=c?c.value:void 0}return o}function Xn(t,...n){const e=n.length;if(Jt&&V in t){const o=e>1?n.flat():n[0],s=n.map(i=>new Proxy({get(u){return i.includes(u)?t[u]:void 0},has(u){return i.includes(u)&&u in t},keys(){return i.filter(u=>u in t)}},$t));return s.push(new Proxy({get(i){return o.includes(i)?void 0:t[i]},has(i){return o.includes(i)?!1:i in t},keys(){return Object.keys(t).filter(i=>!o.includes(i))}},$t)),s}const r=[];for(let o=0;o<=e;o++)r[o]={};for(const o of Object.getOwnPropertyNames(t)){let s=e;for(let u=0;u<n.length;u++)if(n[u].includes(o)){s=u;break}const i=Object.getOwnPropertyDescriptor(t,o);!i.get&&!i.set&&i.enumerable&&i.writable&&i.configurable?r[s][o]=i.value:Object.defineProperty(r[s],o,i)}return r}let Yn=0;function Zn(){return p.context?p.getNextContextId():`cl-${Yn++}`}const ln=t=>`Stale read from <${t}>.`;function te(t){const n="fallback"in t&&{fallback:()=>t.fallback};return A(Jn(()=>t.each,t.children,n||void 0))}function ne(t){const n="fallback"in t&&{fallback:()=>t.fallback};return A(Un(()=>t.each,t.children,n||void 0))}function ee(t){const n=t.keyed,e=A(()=>t.when,void 0,void 0),r=n?e:A(e,void 0,{equals:(o,s)=>!o==!s});return A(()=>{const o=r();if(o){const s=t.children;return typeof s=="function"&&s.length>0?m(()=>s(n?o:()=>{if(!m(r))throw ln("Show");return e()})):s}return t.fallback},void 0,void 0)}function re(t){const n=Mt(()=>t.children),e=A(()=>{const r=n(),o=Array.isArray(r)?r:[r];let s=()=>{};for(let i=0;i<o.length;i++){const u=i,c=o[i],d=s,g=A(()=>d()?void 0:c.when,void 0,void 0),a=c.keyed?g:A(g,void 0,{equals:(w,S)=>!w==!S});s=()=>d()||(a()?[u,g,c]:void 0)}return s});return A(()=>{const r=e()();if(!r)return t.fallback;const[o,s,i]=r,u=i.children;return typeof u=="function"&&u.length>0?m(()=>u(i.keyed?s():()=>{var c;if(((c=m(e)())==null?void 0:c[0])!==o)throw ln("Match");return s()})):u},void 0,void 0)}function oe(t){return t}let yt;function se(t){let n;p.context&&p.load&&(n=p.load(p.getContextId()));const[e,r]=E(n,void 0);return yt||(yt=new Set),yt.add(r),tt(()=>yt.delete(r)),A(()=>{let o;if(o=e()){const s=t.fallback;return typeof s=="function"&&s.length?m(()=>s(o,()=>r())):s}return Tn(()=>t.children,r)},void 0,void 0)}const vt=Symbol("store-raw"),R=Symbol("store-node"),I=Symbol("store-has"),cn=Symbol("store-self");function an(t){let n=t[V];if(!n&&(Object.defineProperty(t,V,{value:n=new Proxy(t,le)}),!Array.isArray(t))){const e=Object.keys(t),r=Object.getOwnPropertyDescriptors(t),o=Object.getPrototypeOf(t),s=o!==null&&t!==null&&typeof t=="object"&&!Array.isArray(t)&&o!==Object.prototype;if(s){const i=Object.getOwnPropertyDescriptors(o);e.push(...Object.keys(i)),Object.assign(r,i)}for(let i=0,u=e.length;i<u;i++){const c=e[i];s&&c==="constructor"||r[c].get&&Object.defineProperty(t,c,{configurable:!0,enumerable:r[c].enumerable,get:r[c].get.bind(n)})}}return n}function B(t){let n;return t!=null&&typeof t=="object"&&(t[V]||!(n=Object.getPrototypeOf(t))||n===Object.prototype||Array.isArray(t))}function K(t,n=new Set){let e,r,o,s;if(e=t!=null&&t[vt])return e;if(!B(t)||n.has(t))return t;if(Array.isArray(t)){Object.isFrozen(t)?t=t.slice(0):n.add(t);for(let i=0,u=t.length;i<u;i++)o=t[i],(r=K(o,n))!==o&&(t[i]=r)}else{Object.isFrozen(t)?t=Object.assign({},t):n.add(t);const i=Object.keys(t),u=Object.getOwnPropertyDescriptors(t);for(let c=0,d=i.length;c<d;c++)s=i[c],!u[s].get&&(o=t[s],(r=K(o,n))!==o&&(t[s]=r))}return t}function bt(t,n){let e=t[n];return e||Object.defineProperty(t,n,{value:e=Object.create(null)}),e}function st(t,n,e){if(t[n])return t[n];const[r,o]=E(e,{equals:!1,internal:!0});return r.$=o,t[n]=r}function ie(t,n){const e=Reflect.getOwnPropertyDescriptor(t,n);return!e||e.get||!e.configurable||n===V||n===R||(delete e.value,delete e.writable,e.get=()=>t[V][n]),e}function fn(t){qt()&&st(bt(t,R),cn)()}function ue(t){return fn(t),Reflect.ownKeys(t)}const le={get(t,n,e){if(n===vt)return t;if(n===V)return e;if(n===X)return fn(t),e;const r=bt(t,R),o=r[n];let s=o?o():t[n];if(n===R||n===I||n==="__proto__")return s;if(!o){const i=Object.getOwnPropertyDescriptor(t,n);qt()&&(typeof s!="function"||t.hasOwnProperty(n))&&!(i&&i.get)&&(s=st(r,n,s)())}return B(s)?an(s):s},has(t,n){return n===vt||n===V||n===X||n===R||n===I||n==="__proto__"?!0:(qt()&&st(bt(t,I),n)(),n in t)},set(){return!0},deleteProperty(){return!0},ownKeys:ue,getOwnPropertyDescriptor:ie};function G(t,n,e,r=!1){if(n==="__proto__"||!r&&t[n]===e)return;const o=t[n],s=t.length;e===void 0?(delete t[n],t[I]&&t[I][n]&&o!==void 0&&t[I][n].$()):(t[n]=e,t[I]&&t[I][n]&&o===void 0&&t[I][n].$());let i=bt(t,R),u;if((u=st(i,n,o))&&u.$(()=>e),Array.isArray(t)&&t.length!==s){for(let c=t.length;c<s;c++)(u=i[c])&&u.$();(u=st(i,"length",s))&&u.$(t.length)}(u=i[cn])&&u.$()}function dn(t,n){const e=Object.keys(n);for(let r=0;r<e.length;r+=1){const o=e[r];gn(o)||G(t,o,n[o])}}function gn(t){return t==="__proto__"||t==="constructor"||t==="prototype"}function ce(t,n){if(typeof n=="function"&&(n=n(t)),n=K(n),Array.isArray(n)){if(t===n)return;let e=0,r=n.length;for(;e<r;e++){const o=n[e];t[e]!==o&&G(t,e,o)}G(t,"length",r)}else dn(t,n)}function it(t,n,e=[]){let r,o=t;if(n.length>1){r=n.shift();const i=typeof r,u=Array.isArray(t);if(i==="string"&&(r==="__proto__"||n.length>1&&gn(r)))return;if(Array.isArray(r)){for(let c=0;c<r.length;c++)it(t,[r[c]].concat(n),e);return}else if(u&&i==="function"){for(let c=0;c<t.length;c++)r(t[c],c)&&it(t,[c].concat(n),e);return}else if(u&&i==="object"){const{from:c=0,to:d=t.length-1,by:g=1}=r;for(let a=c;a<=d;a+=g)it(t,[a].concat(n),e);return}else if(n.length>1){it(t[r],n,[r].concat(e));return}o=t[r],e=[r].concat(e)}let s=n[0];typeof s=="function"&&(s=s(o,e),s===o)||r===void 0&&s==null||(s=K(s),r===void 0||B(o)&&B(s)&&!Array.isArray(s)?dn(o,s):G(t,r,s))}function hn(...[t,n]){const e=K(t||{}),r=Array.isArray(e),o=an(e);function s(...i){$n(()=>{r&&i.length===1?ce(e,i[0]):it(e,i)})}return[o,s]}const Ae=Symbol("store-root"),wt=new WeakMap,pn={get(t,n){if(n===vt)return t;const e=t[n];if(n===V||n===X||n===R||n===I||n==="__proto__")return e;let r;return B(e)?wt.get(e)||(wt.set(e,r=new Proxy(e,pn)),r):e},set(t,n,e){return G(t,n,K(e)),!0},deleteProperty(t,n){return G(t,n,void 0,!0),!0}};function yn(t){return n=>{if(B(n)){let e;(e=wt.get(n))||wt.set(n,e=new Proxy(n,pn)),t(e)}return n}}let j={};function vn(t){j.stack&&t.setAttribute("stack",j.stack),j.position&&t.setAttribute("position",j.position),j.max!==void 0&&t.setAttribute("max",String(j.max)),j.appearance&&t.setAttribute("appearance",j.appearance),j.inverse!==void 0&&(j.inverse?t.setAttribute("inverse",""):t.removeAttribute("inverse"))}function ae(t){j={...j,...t},!(typeof document>"u")&&document.querySelectorAll("kai-toast-region").forEach(n=>vn(n))}const fe=5e3,de=7e3,{toasts:It,setToasts:ut,mounted:ke,setMounted:ge}=F(()=>{const[t,n]=hn([]),[e,r]=E(!1);return{toasts:t,setToasts:n,mounted:e,setMounted:r}});let bn=0;function he(){return bn+=1,`toast-${bn}`}function pe(t){const n=t.duration??fe;return n===0?0:t.action?Math.max(n,de):n}const wn=new Map;function ye(t=null){if(typeof document>"u")return;const n=wn.get(t);if(n&&n.isConnected)return n;const e=document.createElement("kai-toast-region");return document.body.appendChild(e),e.toasts=It,t&&(e.target=t),vn(e),wn.set(t,e),ge(!0),e}function ve(t){const n=It.findIndex(e=>e.id===t.id);n>=0?ut(n,t):ut(yn(e=>{e.push(t)}))}function mn(t){ut(n=>n.filter(e=>e.id!==t))}function be(t){return{id:t,dismiss:()=>mn(t),update:n=>{const e=It.findIndex(r=>r.id===t);e>=0&&ut(e,r=>({...r,...n}))}}}function lt(t,n,e){ye(n?.target??null);const r=n?.id??he(),o={id:r,message:t,variant:n?.variant??e,appearance:n?.appearance??j.appearance??"pill",inverse:n?.inverse??j.inverse??!1,description:n?.description,action:n?.action,duration:n?.duration,dismissible:n?.dismissible,target:n?.target};return ve(o),be(r)}const we=Object.assign((t,n)=>lt(t,n,"neutral"),{success:(t,n)=>lt(t,n,"success"),warning:(t,n)=>lt(t,n,"warning"),error:(t,n)=>lt(t,n,"error"),info:(t,n)=>lt(t,n,"info"),dismiss:mn,clear:()=>ut([])}),me=typeof window<"u"&&typeof customElements<"u"?import("./register-impl-CaaHJcea.js"):Promise.resolve();export{K as A,se as E,te as F,ne as I,oe as M,ee as S,F as a,Gt as b,A as c,_n as configureCodeHighlighting,ae as configureToasts,Qt as d,Wn as e,me as elementsReady,E as f,Hn as g,Xn as h,zn as i,qn as isCodeHighlightingEnabled,Bn as j,Ct as k,Zn as l,Qn as m,In as n,tt as o,Dn as p,En as q,Xt as r,p as s,Pn as t,we as toast,m as u,re as v,Mt as w,pe as x,hn as y,yn as z};
|
package/dist/llms/llms-full.txt
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# @kitn.ai/ui
|
|
5
5
|
|
|
6
|
-
> Framework-agnostic, Shadow-DOM web components for building AI chat interfaces — works in React, Vue, Angular, Svelte, or plain HTML.
|
|
6
|
+
> Framework-agnostic, Shadow-DOM web components for building AI chat interfaces — works in React, Vue, Angular, Svelte, or plain HTML. 79 custom elements, every one prefixed `kai-` (e.g. `<kai-chat>`, `<kai-artifact>`): streaming responses, markdown + code rendering, reasoning/tool panels, attachments, conversation sidebar, voice input. Zero framework dependency for consumers; the SolidJS runtime it is authored in is bundled in, so the host needs nothing.
|
|
7
7
|
|
|
8
8
|
## Install
|
|
9
9
|
|
|
@@ -37,7 +37,7 @@ Drop an element into any framework (React, Vue, plain HTML). Data in via JS prop
|
|
|
37
37
|
- `<kai-prompt-input>` — standalone composer with send button.
|
|
38
38
|
|
|
39
39
|
**Layer 2 — composable primitives** (`import { … } from '@kitn.ai/ui'`):
|
|
40
|
-
All
|
|
40
|
+
All 79 elements are also exported individually. Use them for custom layouts or features `<kai-chat>` does not expose (ChainOfThought, FeedbackBar, ThinkingBar, VoiceInput, …). Your bundler tree-shakes the rest.
|
|
41
41
|
|
|
42
42
|
## Key rules for the web components
|
|
43
43
|
|
|
@@ -99,7 +99,7 @@ For Tailwind builds: `@import "@kitn.ai/ui/theme.css"` in your CSS.
|
|
|
99
99
|
|
|
100
100
|
## Docs
|
|
101
101
|
|
|
102
|
-
- Full element reference (all
|
|
102
|
+
- Full element reference (all 79 elements, every prop/event): ./llms-full.txt — https://kitn.dev/llms-full.txt
|
|
103
103
|
- Machine-readable Custom Elements Manifest: https://unpkg.com/@kitn.ai/ui/dist/custom-elements.json
|
|
104
104
|
- Working examples: https://github.com/kitn-ai/ui/tree/main/examples
|
|
105
105
|
- Storybook: https://storybook.kitn.dev
|
|
@@ -173,7 +173,7 @@ The same rule applies to every array/object property (`models`, `context`, `sugg
|
|
|
173
173
|
|
|
174
174
|
---
|
|
175
175
|
|
|
176
|
-
## Element reference (
|
|
176
|
+
## Element reference (79 elements, generated from custom-elements.json)
|
|
177
177
|
|
|
178
178
|
Every element also accepts the `theme` attribute. Array/object properties are marked with a `—` attribute: they must be set as JS properties.
|
|
179
179
|
|
|
@@ -1487,6 +1487,7 @@ _No events._
|
|
|
1487
1487
|
|---|---|---|---|
|
|
1488
1488
|
| `orientation` | `orientation` | `undefined \| "vertical" \| "horizontal"` | Layout axis: `horizontal` (row, default) or `vertical` (column). |
|
|
1489
1489
|
| `maximizedIndex` | — | `undefined \| null \| number` | Which item index is maximized (null = none). Declarative source of truth. |
|
|
1490
|
+
| `handle` | `handle` | `undefined \| "none" \| "line" \| "grip"` | Divider affordance drawn inside each draggable handle's 8px grab zone: - `line` (default) — a 1px hairline, transparent at rest, tinting on hover/drag. - `grip` — a dotted grip handle. - `none` — no visible divider, just the invisible hit-area. The full grab zone and keyboard/ARIA behavior are identical for all three. |
|
|
1490
1491
|
|
|
1491
1492
|
**Events** (non-bubbling `CustomEvent`s — listen directly on the element):
|
|
1492
1493
|
|
|
@@ -1963,6 +1964,35 @@ _No events._
|
|
|
1963
1964
|
|
|
1964
1965
|
---
|
|
1965
1966
|
|
|
1967
|
+
### `kai-thread` / `Thread`
|
|
1968
|
+
|
|
1969
|
+
**Properties** (every element also accepts `theme="light|dark|auto"`; only scalar props work as HTML attributes):
|
|
1970
|
+
|
|
1971
|
+
| Property | Attribute | Type | Description |
|
|
1972
|
+
|---|---|---|---|
|
|
1973
|
+
| `messages` | — | `undefined \| { id: string; role: "user" \| "assistant"; content: string; reasoning?: undefined \| { text: string; label?: undefined \| string }; tools?: undefined \| { type: string; state: "input-streaming" \| "input-available" \| "output-available" \| "output-error"; input?: undefined \| Record<string, unknown>; output?: undefined \| Record<string, unknown>; toolCallId?: undefined \| string; errorText?: undefined \| string }[]; attachments?: undefined \| { id: string; type: "file" \| "source-document"; filename?: undefined \| string; mediaType?: undefined \| string; url?: undefined \| string; title?: undefined \| string }[]; actions?: undefined \| ("copy" \| "like" \| "dislike" \| "regenerate" \| "edit" \| { id: string; label: string; icon?: undefined \| string; tooltip?: undefined \| string })[]; avatar?: undefined \| { src?: undefined \| string; fallback?: undefined \| string; alt?: undefined \| string }; feedback?: undefined \| "like" \| "dislike" }[]` | The full message thread to render, newest last. Each entry carries its role, content, and optional reasoning/tools/attachments/actions/avatar. Set as a JS property (`el.messages = [...]`); a NEW array reference per streaming chunk re-renders (mutating in place does not). |
|
|
1974
|
+
| `loading` | `loading` | `undefined \| false \| true` | Show a typing indicator on the pending assistant turn — set while awaiting the assistant's reply. |
|
|
1975
|
+
| `proseSize` | `prose-size` | `undefined \| "sm" \| "lg" \| "xs" \| "base"` | Body/prose font scale for rendered markdown (`'xs' \| 'sm' \| 'base' \| 'lg'`). Defaults to `'sm'`. |
|
|
1976
|
+
| `codeTheme` | `code-theme` | `undefined \| string` | Shiki theme name for syntax-highlighted code blocks (e.g. `'github-dark-dimmed'`). |
|
|
1977
|
+
| `codeHighlight` | `code-highlight` | `undefined \| false \| true` | Enable Shiki syntax highlighting in code blocks. Turn off to render plain `<pre>` blocks (lighter, no highlighter load). Default true. |
|
|
1978
|
+
| `actionsReveal` | `actions-reveal` | `undefined \| "always" \| "hover"` | Whether each message's action bar is always visible (`'always'`, default) or only revealed on hover of that message row (`'hover'`). |
|
|
1979
|
+
| `scrollButton` | `scroll-button` | `undefined \| false \| true` | Show the scroll-to-bottom button inside the scroll area. Default true. |
|
|
1980
|
+
| `class` | `class` | `undefined \| string` | Extra classes applied to the thread's inner root. |
|
|
1981
|
+
|
|
1982
|
+
**Events** (non-bubbling `CustomEvent`s — listen directly on the element):
|
|
1983
|
+
|
|
1984
|
+
| Event | `detail` type | Description |
|
|
1985
|
+
|---|---|---|
|
|
1986
|
+
| `kai-message-action` | `CustomEvent<{ messageId: string; action: string; state?: undefined \| "on" \| "off" }>` | A message's action button was clicked. `action` is the built-in name (`copy` / `like` / `dislike` / `regenerate` / `edit`) or a custom id. `state` is present only for the toggleable feedback votes: `'on'` when a like/dislike is set, `'off'` when re-tapped to clear. |
|
|
1987
|
+
|
|
1988
|
+
**Slots** (project your own markup via `slot="name"` on a light-DOM child):
|
|
1989
|
+
|
|
1990
|
+
| Slot | Mode | Description |
|
|
1991
|
+
|---|---|---|
|
|
1992
|
+
| `empty` | replace | Custom zero-state rendered in the message area while the thread is empty; replaces the built-in default. |
|
|
1993
|
+
|
|
1994
|
+
---
|
|
1995
|
+
|
|
1966
1996
|
### `kai-toast-region` / `ToastRegion`
|
|
1967
1997
|
|
|
1968
1998
|
**Properties** (every element also accepts `theme="light|dark|auto"`; only scalar props work as HTML attributes):
|
package/dist/llms/llms.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- AUTO-GENERATED by scripts/gen-llms.mjs — do not edit by hand. Run `npm run build`. -->
|
|
2
2
|
# @kitn.ai/ui
|
|
3
3
|
|
|
4
|
-
> Framework-agnostic, Shadow-DOM web components for building AI chat interfaces — works in React, Vue, Angular, Svelte, or plain HTML.
|
|
4
|
+
> Framework-agnostic, Shadow-DOM web components for building AI chat interfaces — works in React, Vue, Angular, Svelte, or plain HTML. 79 custom elements, every one prefixed `kai-` (e.g. `<kai-chat>`, `<kai-artifact>`): streaming responses, markdown + code rendering, reasoning/tool panels, attachments, conversation sidebar, voice input. Zero framework dependency for consumers; the SolidJS runtime it is authored in is bundled in, so the host needs nothing.
|
|
5
5
|
|
|
6
6
|
## Install
|
|
7
7
|
|
|
@@ -35,7 +35,7 @@ Drop an element into any framework (React, Vue, plain HTML). Data in via JS prop
|
|
|
35
35
|
- `<kai-prompt-input>` — standalone composer with send button.
|
|
36
36
|
|
|
37
37
|
**Layer 2 — composable primitives** (`import { … } from '@kitn.ai/ui'`):
|
|
38
|
-
All
|
|
38
|
+
All 79 elements are also exported individually. Use them for custom layouts or features `<kai-chat>` does not expose (ChainOfThought, FeedbackBar, ThinkingBar, VoiceInput, …). Your bundler tree-shakes the rest.
|
|
39
39
|
|
|
40
40
|
## Key rules for the web components
|
|
41
41
|
|
|
@@ -97,7 +97,7 @@ For Tailwind builds: `@import "@kitn.ai/ui/theme.css"` in your CSS.
|
|
|
97
97
|
|
|
98
98
|
## Docs
|
|
99
99
|
|
|
100
|
-
- Full element reference (all
|
|
100
|
+
- Full element reference (all 79 elements, every prop/event): ./llms-full.txt — https://kitn.dev/llms-full.txt
|
|
101
101
|
- Machine-readable Custom Elements Manifest: https://unpkg.com/@kitn.ai/ui/dist/custom-elements.json
|
|
102
102
|
- Working examples: https://github.com/kitn-ai/ui/tree/main/examples
|
|
103
103
|
- Storybook: https://storybook.kitn.dev
|
package/dist/react/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { registerAll, WebComponentProps } from './runtime';
|
|
|
2
2
|
export { registerAll };
|
|
3
3
|
export { useKaiChat } from './use-kai-chat';
|
|
4
4
|
export type { UseKaiChatOptions, KaiChatController, ChatMessage } from './use-kai-chat';
|
|
5
|
+
export { useVoiceInput } from './use-voice-input';
|
|
5
6
|
export interface AgentCardProps extends WebComponentProps {
|
|
6
7
|
/** The agent's name — the primary label. Attribute: `name`. */
|
|
7
8
|
name?: string;
|
|
@@ -1536,6 +1537,8 @@ export interface ResizableProps extends WebComponentProps {
|
|
|
1536
1537
|
orientation?: "vertical" | "horizontal";
|
|
1537
1538
|
/** Which item index is maximized (null = none). Declarative source of truth. */
|
|
1538
1539
|
maximizedIndex?: null | number;
|
|
1540
|
+
/** Divider affordance drawn inside each draggable handle's 8px grab zone: - `line` (default) — a 1px hairline, transparent at rest, tinting on hover/drag. - `grip` — a dotted grip handle. - `none` — no visible divider, just the invisible hit-area. The full grab zone and keyboard/ARIA behavior are identical for all three. */
|
|
1541
|
+
handle?: "none" | "line" | "grip";
|
|
1539
1542
|
/** Fired on drag-end / keyboard resize / visibility change. `detail.sizes` = panel sizes in percent. */
|
|
1540
1543
|
onChange?: (event: CustomEvent<{
|
|
1541
1544
|
sizes: number[];
|
|
@@ -1875,6 +1878,67 @@ export interface ThinkingBarProps extends WebComponentProps {
|
|
|
1875
1878
|
onStop?: (event: CustomEvent) => void;
|
|
1876
1879
|
}
|
|
1877
1880
|
export declare const ThinkingBar: import('react').ForwardRefExoticComponent<ThinkingBarProps & import('react').RefAttributes<HTMLElement>>;
|
|
1881
|
+
export interface ThreadProps extends WebComponentProps {
|
|
1882
|
+
/** The full message thread to render, newest last. Each entry carries its role, content, and optional reasoning/tools/attachments/actions/avatar. Set as a JS property (`el.messages = [...]`); a NEW array reference per streaming chunk re-renders (mutating in place does not). */
|
|
1883
|
+
messages?: {
|
|
1884
|
+
id: string;
|
|
1885
|
+
role: "user" | "assistant";
|
|
1886
|
+
content: string;
|
|
1887
|
+
reasoning?: {
|
|
1888
|
+
text: string;
|
|
1889
|
+
label?: string;
|
|
1890
|
+
};
|
|
1891
|
+
tools?: {
|
|
1892
|
+
type: string;
|
|
1893
|
+
state: "input-streaming" | "input-available" | "output-available" | "output-error";
|
|
1894
|
+
input?: Record<string, unknown>;
|
|
1895
|
+
output?: Record<string, unknown>;
|
|
1896
|
+
toolCallId?: string;
|
|
1897
|
+
errorText?: string;
|
|
1898
|
+
}[];
|
|
1899
|
+
attachments?: {
|
|
1900
|
+
id: string;
|
|
1901
|
+
type: "file" | "source-document";
|
|
1902
|
+
filename?: string;
|
|
1903
|
+
mediaType?: string;
|
|
1904
|
+
url?: string;
|
|
1905
|
+
title?: string;
|
|
1906
|
+
}[];
|
|
1907
|
+
actions?: ("copy" | "like" | "dislike" | "regenerate" | "edit" | {
|
|
1908
|
+
id: string;
|
|
1909
|
+
label: string;
|
|
1910
|
+
icon?: string;
|
|
1911
|
+
tooltip?: string;
|
|
1912
|
+
})[];
|
|
1913
|
+
avatar?: {
|
|
1914
|
+
src?: string;
|
|
1915
|
+
fallback?: string;
|
|
1916
|
+
alt?: string;
|
|
1917
|
+
};
|
|
1918
|
+
feedback?: "like" | "dislike";
|
|
1919
|
+
}[];
|
|
1920
|
+
/** Show a typing indicator on the pending assistant turn — set while awaiting the assistant's reply. */
|
|
1921
|
+
loading?: boolean;
|
|
1922
|
+
/** Body/prose font scale for rendered markdown (`'xs' | 'sm' | 'base' | 'lg'`). Defaults to `'sm'`. */
|
|
1923
|
+
proseSize?: "sm" | "lg" | "xs" | "base";
|
|
1924
|
+
/** Shiki theme name for syntax-highlighted code blocks (e.g. `'github-dark-dimmed'`). */
|
|
1925
|
+
codeTheme?: string;
|
|
1926
|
+
/** Enable Shiki syntax highlighting in code blocks. Turn off to render plain `<pre>` blocks (lighter, no highlighter load). Default true. */
|
|
1927
|
+
codeHighlight?: boolean;
|
|
1928
|
+
/** Whether each message's action bar is always visible (`'always'`, default) or only revealed on hover of that message row (`'hover'`). */
|
|
1929
|
+
actionsReveal?: "always" | "hover";
|
|
1930
|
+
/** Show the scroll-to-bottom button inside the scroll area. Default true. */
|
|
1931
|
+
scrollButton?: boolean;
|
|
1932
|
+
/** Extra classes applied to the thread's inner root. */
|
|
1933
|
+
class?: string;
|
|
1934
|
+
/** A message's action button was clicked. `action` is the built-in name (`copy` / `like` / `dislike` / `regenerate` / `edit`) or a custom id. `state` is present only for the toggleable feedback votes: `'on'` when a like/dislike is set, `'off'` when re-tapped to clear. */
|
|
1935
|
+
onMessageAction?: (event: CustomEvent<{
|
|
1936
|
+
messageId: string;
|
|
1937
|
+
action: string;
|
|
1938
|
+
state?: undefined | "on" | "off";
|
|
1939
|
+
}>) => void;
|
|
1940
|
+
}
|
|
1941
|
+
export declare const Thread: import('react').ForwardRefExoticComponent<ThreadProps & import('react').RefAttributes<HTMLElement>>;
|
|
1878
1942
|
export interface ToastRegionProps extends WebComponentProps {
|
|
1879
1943
|
/** The toasts to render. Newest is shown on top. Set as a JS property (array); pass a new array reference to update. */
|
|
1880
1944
|
toasts: {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Speech mic → one-shot transcript. Chromium-only (`webkitSpeechRecognition`);
|
|
3
|
+
* `supported` is false elsewhere so the caller can degrade gracefully. This hook is
|
|
4
|
+
* deliberately ONLY about speech recognition: it hands the raw transcript to
|
|
5
|
+
* `onTranscript` and lets the caller decide what to do with it (e.g. a composer mic
|
|
6
|
+
* button appends it to the live text). No composer or DOM knowledge.
|
|
7
|
+
*
|
|
8
|
+
* @param onTranscript called with the final recognized transcript.
|
|
9
|
+
* @returns `supported` (Chromium-only availability) and a referentially stable,
|
|
10
|
+
* one-shot `start` (a no-op when unsupported).
|
|
11
|
+
*/
|
|
12
|
+
export declare function useVoiceInput(onTranscript: (transcript: string) => void): {
|
|
13
|
+
supported: boolean;
|
|
14
|
+
start: () => void;
|
|
15
|
+
};
|