@kitn.ai/ui 0.18.0 → 0.18.2
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/elements/agent-card.js +1 -1
- package/dist/elements/artifact.js +1 -1
- package/dist/elements/attachments.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-DLLBeLG5.js → Icon-C2LTALdM.js} +1 -1
- package/dist/elements/chunks/{action-icons-UB4V5FNq.js → action-icons-Dtl8Ox5D.js} +1 -1
- package/dist/elements/chunks/arrow-left-GbBceGBE.js +1 -0
- package/dist/elements/chunks/{attachments-CgbErf1r.js → attachments-DLJcWCDV.js} +1 -1
- package/dist/elements/chunks/{badge-DTQpgB6N.js → badge-BTNZTODL.js} +1 -1
- package/dist/elements/chunks/{button-XDUM6lXs.js → button-DBDZebGr.js} +1 -1
- package/dist/elements/chunks/{card-CBlFZ-7I.js → card-YfCyI4fH.js} +1 -1
- package/dist/elements/chunks/{chat-thread-BIhmqwNL.js → chat-thread-Dz2qbzvI.js} +1 -1
- package/dist/elements/chunks/check-fhmRksq_.js +1 -0
- package/dist/elements/chunks/chevron-down-DcRg1aRU.js +1 -0
- package/dist/elements/chunks/chevron-right-ChzBcNJ-.js +1 -0
- package/dist/elements/chunks/circle-B4fTe9v6.js +1 -0
- package/dist/elements/chunks/circle-check-CJV-3Rem.js +1 -0
- package/dist/elements/chunks/{circle-x-DewgAEym.js → circle-x-pDtzlghQ.js} +1 -1
- package/dist/elements/chunks/{code-block-DedwxwFI.js → code-block-DZ6mz6vs.js} +1 -1
- package/dist/elements/chunks/{collapsible-FfgmTHtM.js → collapsible-CWUAShMC.js} +1 -1
- package/dist/elements/chunks/{composer-Cfbw5HKT.js → composer-BZyPU6gD.js} +1 -1
- package/dist/elements/chunks/{context-DwJmxlRE.js → context-Cx6eQA_G.js} +1 -1
- package/dist/elements/chunks/{conversation-list-DsCQMfPq.js → conversation-list-C4xTQSpT.js} +1 -1
- package/dist/elements/chunks/{default-input-BuqsoENC.js → default-input-BZcwyKcP.js} +1 -1
- package/dist/elements/chunks/define-CNSKFZCd.js +1 -0
- package/dist/elements/chunks/{disclosure-CwoAkpMH.js → disclosure-BcBs--Jf.js} +1 -1
- package/dist/elements/chunks/{download-DJ06G3Bz.js → download-BDQwcFav.js} +1 -1
- package/dist/elements/chunks/{dropdown-BFg8ri_R.js → dropdown-wgs8xCJZ.js} +1 -1
- package/dist/elements/chunks/{ellipsis-dlN6YvGw.js → ellipsis-CUiEJ6R1.js} +1 -1
- package/dist/elements/chunks/{external-link-DBX2lc_R.js → external-link-DJUmC7g2.js} +1 -1
- package/dist/elements/chunks/{file-text-HfwUx4F9.js → file-text-DOYfYvrh.js} +1 -1
- package/dist/elements/chunks/{file-tree-C6Toj71u.js → file-tree-DQzNQrbr.js} +1 -1
- package/dist/elements/chunks/{folder-MYuqa9Xp.js → folder-DBDUBANz.js} +1 -1
- package/dist/elements/chunks/{hover-card-gE7iyXdW.js → hover-card-BQGdGAQ3.js} +1 -1
- package/dist/elements/chunks/{icon-Vqz4ivrY.js → icon-CAyRqVrg.js} +1 -1
- package/dist/elements/chunks/{info-B_toFS0l.js → info-DBQl-m6e.js} +1 -1
- package/dist/elements/chunks/{input-gzbHYZvQ.js → input-DZD67EvW.js} +1 -1
- package/dist/elements/chunks/{kbd-n49c4KZm.js → kbd-DbyVrlnU.js} +1 -1
- package/dist/elements/chunks/{link-CKPs9yM0.js → link-vko7AttA.js} +1 -1
- package/dist/elements/chunks/{loader-q6MamGus.js → loader-Cg6rO8tQ.js} +1 -1
- package/dist/elements/chunks/{markdown-DBrcqq4S.js → markdown-n3Xbj3PR.js} +1 -1
- package/dist/elements/chunks/{message-CTqaYI0s.js → message-CgKytiSB.js} +1 -1
- package/dist/elements/chunks/{message-feedback-Cvzm03w0.js → message-feedback-Ds3-US0e.js} +1 -1
- package/dist/elements/chunks/message-square-MmRkvc-M.js +1 -0
- package/dist/elements/chunks/{minimize-2-l2klxP6K.js → minimize-2-3kCdE0q3.js} +1 -1
- package/dist/elements/chunks/{model-switcher-CmyjiHO1.js → model-switcher-BMtXGwLU.js} +1 -1
- package/dist/elements/chunks/{overlay-C8sOYqjT.js → overlay-B1-MBI6h.js} +1 -1
- package/dist/elements/chunks/{paperclip-42Ia7xHD.js → paperclip-DDEfmkHc.js} +1 -1
- package/dist/elements/chunks/{progress-bar-tzKMWAwO.js → progress-bar-Dwbiyv3s.js} +1 -1
- package/dist/elements/chunks/{prompt-suggestion-D3F6vP_A.js → prompt-suggestion-9lvgFcEa.js} +1 -1
- package/dist/elements/chunks/{reasoning-BJNmmyov.js → reasoning-DzHWsdAJ.js} +1 -1
- package/dist/elements/chunks/{resizable-BRsk19qI.js → resizable-Bq_eHxUm.js} +1 -1
- package/dist/elements/chunks/{rotate-cw-BgcggLHC.js → rotate-cw-jpisOdOV.js} +1 -1
- package/dist/elements/chunks/{scroll-area-CgGbFFbT.js → scroll-area-g5Ze3K6f.js} +1 -1
- package/dist/elements/chunks/{separator-8hM4GdHE.js → separator-Bmjc5XyX.js} +1 -1
- package/dist/elements/chunks/{settings-CaUIYOg-.js → settings-Cz1bMJP9.js} +1 -1
- package/dist/elements/chunks/{settings-group-CYjOVIZQ.js → settings-group-9imY3kRA.js} +1 -1
- package/dist/elements/chunks/{share-BTYM3Ddt.js → share-BdenF0wQ.js} +1 -1
- package/dist/elements/chunks/{skeleton-DsTYrPUe.js → skeleton-Pjc5jiaY.js} +1 -1
- package/dist/elements/chunks/{star-9R3LBQ9n.js → star-DY6z1UUH.js} +1 -1
- package/dist/elements/chunks/{store-CYl5Y0_u.js → store-th4VyJXM.js} +1 -1
- package/dist/elements/chunks/{text-shimmer-CaYGv8Se.js → text-shimmer-CEi-tlXr.js} +1 -1
- package/dist/elements/chunks/{textarea-NEr2SLcD.js → textarea-CboigarR.js} +1 -1
- package/dist/elements/chunks/{thumbs-up-DZYZkFfc.js → thumbs-up-BR33KLfA.js} +1 -1
- package/dist/elements/chunks/{toast-store-ClxVZRcc.js → toast-store-BEMda0fv.js} +1 -1
- package/dist/elements/chunks/{tool-CHZOmoe9.js → tool-TMued3WO.js} +1 -1
- package/dist/elements/chunks/{tooltip-WpHElELC.js → tooltip-Cft_Rxiw.js} +1 -1
- package/dist/elements/chunks/{triangle-alert-BlS80PUg.js → triangle-alert-B07fX3Q8.js} +1 -1
- package/dist/elements/chunks/{use-card-resolution-VSVoxDeJ.js → use-card-resolution-M36zVciB.js} +1 -1
- package/dist/elements/chunks/{video-DxTPZqT8.js → video-MKp3LmNT.js} +1 -1
- package/dist/elements/chunks/x-Ckwicf6g.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/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/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/index.js +4 -5
- package/dist/kai.es.js +1 -1
- package/dist/register-impl-DcjZDELj.js +141 -0
- package/dist/ui/pane-group.d.ts +4 -2
- package/package.json +9 -3
- package/src/agent-tooling/mcp/tools/debug.ts +1 -1
- package/src/components/coachmark.tsx +7 -3
- package/src/components/component-meta.json +8 -8
- package/src/components/tasks-card.tsx +0 -1
- package/src/elements/compiled.css +2 -2
- package/src/elements/define.tsx +40 -1
- package/src/elements/search.tsx +1 -1
- package/src/ui/agent-card.tsx +28 -22
- package/src/ui/command.tsx +5 -1
- package/src/ui/pane-grid.tsx +1 -0
- package/src/ui/pane-group.tsx +52 -41
- package/src/ui/pane.tsx +1 -1
- package/dist/elements/chunks/arrow-left-C-gwlUmx.js +0 -1
- package/dist/elements/chunks/check-hGUoVIKb.js +0 -1
- package/dist/elements/chunks/chevron-down-DDoaSUtO.js +0 -1
- package/dist/elements/chunks/chevron-right-CdGEUakB.js +0 -1
- package/dist/elements/chunks/circle-BKAZdmzb.js +0 -1
- package/dist/elements/chunks/circle-check-CmYG-y3I.js +0 -1
- package/dist/elements/chunks/define-rGsaWsLL.js +0 -1
- package/dist/elements/chunks/message-square-CUg9eRCi.js +0 -1
- package/dist/elements/chunks/x-C1qtndxn.js +0 -1
- package/dist/register-impl-CYWGkgbI.js +0 -141
package/dist/elements/embed.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as i,m as A,s as G,g as D,j as h,o as H,h as M,l as N,k as J,i as u,S as w,u as K,a as y,d as m,z as Q,t as f,e as W,f as X}from"./chunks/define-
|
|
1
|
+
import{c as i,m as A,s as G,g as D,j as h,o as H,h as M,l as N,k as J,i as u,S as w,u as K,a as y,d as m,z as Q,t as f,e as W,f as X}from"./chunks/define-CNSKFZCd.js";import{c as ee}from"./chunks/cn-CU7UAWzk.js";import{I as re}from"./chunks/Icon-C2LTALdM.js";import{e as te}from"./chunks/external-link-DJUmC7g2.js";import{t as oe}from"./chunks/triangle-alert-B07fX3Q8.js";import{v as ae}from"./chunks/video-MKp3LmNT.js";import{e as ne}from"./chunks/card-routing-C986KuUA.js";var ie=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],se=e=>i(re,A(e,{name:"Play",iconNode:ie})),le=se;const x="allow-scripts allow-same-origin allow-presentation allow-popups allow-popups-to-escape-sandbox",$="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen",ue=new Set;function ce(e){const r=O(e);return r!==void 0&&ue.has(r)}function O(e){try{return new URL(e).origin}catch{return}}function T(e){let r;try{r=new URL(e)}catch{return}const a=r.hostname.replace(/^www\./,"");if(a==="youtu.be")return E(r.pathname.slice(1));if(a==="youtube.com"||a==="m.youtube.com"||a==="youtube-nocookie.com"){const s=r.searchParams.get("v");if(s)return E(s);const g=r.pathname.match(/^\/(?:shorts|embed|v)\/([^/?#]+)/);if(g)return E(g[1])}}function V(e){let r;try{r=new URL(e)}catch{return}const a=r.hostname.replace(/^www\./,"");if(a!=="vimeo.com"&&a!=="player.vimeo.com")return;const s=r.pathname.match(/(?:^|\/)(\d+)(?:\/|$)/);return s?s[1]:void 0}function E(e){return/^[A-Za-z0-9_-]+$/.test(e)?e:void 0}function de(e){const r=e.start?`&start=${e.start}`:"";switch(e.provider){case"youtube":{const a=e.id??(e.url?T(e.url):void 0);if(!a)throw new Error("youtube embed: missing or unparseable id/url");return{embedUrl:`https://www.youtube-nocookie.com/embed/${a}?autoplay=1&rel=0${r}`,posterUrl:e.poster??`https://i.ytimg.com/vi/${a}/hqdefault.jpg`,sandbox:x,allow:$}}case"vimeo":{const a=e.id??(e.url?V(e.url):void 0);if(!a)throw new Error("vimeo embed: missing or unparseable id/url");return{embedUrl:`https://player.vimeo.com/video/${a}?autoplay=1&dnt=1${e.start?`#t=${e.start}s`:""}`,posterUrl:e.poster,sandbox:x,allow:$}}case"generic":{if(!e.url)throw new Error("generic embed: missing url");if(me(e.url),!ce(e.url))throw new Error(`generic embed: origin not allowlisted \u2014 call configureEmbedAllowlist([...]) to permit ${O(e.url)??e.url}`);return{embedUrl:e.url,posterUrl:e.poster,sandbox:x,allow:$}}}}function me(e){let r;try{r=new URL(e).protocol}catch{throw new Error(`generic embed: invalid url "${e}"`)}if(r!=="https:")throw new Error(`generic embed: only https player URLs are allowed (got ${r})`)}function fe(e){switch(e.provider){case"youtube":{const r=e.id??(e.url?T(e.url):void 0);return r?`https://www.youtube.com/watch?v=${r}`:e.url}case"vimeo":{const r=e.id??(e.url?V(e.url):void 0);return r?`https://vimeo.com/${r}`:e.url}case"generic":return e.url}}function pe(e){switch(e){case"youtube":return"YouTube";case"vimeo":return"Vimeo";case"generic":return"site"}}function ve(e){switch(e){case"4:3":return"4 / 3";case"1:1":return"1 / 1";case"9:16":return"9 / 16";default:return"16 / 9"}}var be=f('<div tabindex=-1 class="absolute inset-0 outline-none"><iframe allowfullscreen class="absolute inset-0 h-full w-full border-0">'),ge=f('<button type=button class="inline-flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring">Open on '),he=f('<div><div class="relative w-full bg-black"></div><div class="flex items-center justify-between gap-2 px-3 py-2"><span class="flex min-w-0 items-center gap-1.5 text-sm text-foreground"><span class=truncate>'),we=f(`<div role=img aria-label="Can't load this video"class="absolute inset-0 flex flex-col items-center justify-center gap-2 bg-muted p-4 text-center text-sm text-muted-foreground"><span>Can't load this video`),ye=f('<img class="absolute inset-0 h-full w-full object-cover">'),ke=f('<button type=button class="group absolute inset-0 flex h-full w-full items-center justify-center outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset"><span class="relative flex h-14 w-14 items-center justify-center rounded-full bg-black/60 text-white shadow-lg transition-transform motion-safe:group-hover:scale-110"aria-hidden=true>'),xe=f('<div class="absolute inset-0 bg-gradient-to-br from-zinc-800 to-zinc-950"aria-hidden=true>');function $e(e){const[r,a]=G(e,["cardId","data","onEmit","class"]),s=o=>{var p;return(p=r.onEmit)==null?void 0:p.call(r,o)},[g,U]=D(!1),[Y,I]=D(!1);let k;const c=h(()=>{try{return{ok:!0,value:de(r.data)}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}}),Z=h(()=>ve(r.data.aspectRatio)),_=()=>r.data.title??"Embedded video",C=h(()=>c().ok&&!Y()?c().value.posterUrl:void 0),z=h(()=>fe(r.data)),j=()=>pe(r.data.provider);H(()=>s({kind:"ready",cardId:r.cardId})),M(N(c,o=>{o.ok||s({kind:"error",cardId:r.cardId,message:o.error})})),M(N(()=>r.data,()=>{U(!1),I(!1)},{defer:!0}));const L=()=>{c().ok&&(U(!0),queueMicrotask(()=>k?.focus()))},B=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),L())},F=()=>{const o=z();o&&s({kind:"open",cardId:r.cardId,url:o,target:"tab"})};return(()=>{var o=he(),p=o.firstChild,R=p.nextSibling,S=R.firstChild,P=S.firstChild;return J(o,A({get class(){return ee("overflow-hidden rounded-xl border border-border bg-card text-card-foreground",r.class)}},a),!1,!0),u(p,i(w,{get when(){return c().ok},get fallback(){return(()=>{var t=we(),l=t.firstChild;return u(t,i(oe,{size:28,"aria-hidden":"true"}),l),t})()},get children(){return i(w,{get when(){return g()},get fallback(){return(()=>{var t=ke(),l=t.firstChild;return t.$$keydown=B,t.$$click=()=>L(),u(t,i(w,{get when(){return C()},get fallback(){return xe()},get children(){var n=ye();return n.addEventListener("error",()=>I(!0)),y(d=>{var v=C(),b=r.data.title??"";return v!==d.e&&m(n,"src",d.e=v),b!==d.t&&m(n,"alt",d.t=b),d},{e:void 0,t:void 0}),n}}),l),u(l,i(le,{size:26,fill:"currentColor"})),y(()=>m(t,"aria-label",`Play ${r.data.title??"video"}`)),t})()},get children(){var t=be(),l=t.firstChild;return K(n=>k=n,t),y(n=>{var d=c().value.embedUrl,v=_(),b=c().value.sandbox,q=c().value.allow;return d!==n.e&&m(l,"src",n.e=d),v!==n.t&&m(l,"title",n.t=v),b!==n.a&&m(l,"sandbox",n.a=b),q!==n.o&&m(l,"allow",n.o=q),n},{e:void 0,t:void 0,a:void 0,o:void 0}),t}})}})),u(S,i(ae,{size:14,class:"shrink-0 opacity-70","aria-hidden":"true"}),P),u(P,()=>r.data.title??j()),u(R,i(w,{get when(){return z()},get children(){var t=ge();return t.firstChild,t.$$click=()=>F(),u(t,j,null),u(t,i(te,{size:12,"aria-hidden":"true"}),null),t}}),null),y(t=>Q(p,"aspect-ratio",Z())),o})()}W(["click","keydown"]),X("kai-embed",{cardId:void 0,data:void 0},(e,{element:r})=>i($e,{get cardId(){return e.cardId??""},get data(){return e.data??{provider:"generic"}},onEmit:a=>ne(r,a)}));
|
package/dist/elements/empty.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as i,k as c,m as l,i as d,t as a,f,c as s,q as o,S as m}from"./chunks/define-
|
|
1
|
+
import{s as i,k as c,m as l,i as d,t as a,f,c as s,q as o,S as m}from"./chunks/define-CNSKFZCd.js";import{c as g}from"./chunks/index-BCRhi84a.js";import{c as u}from"./chunks/cn-CU7UAWzk.js";var h=a("<div data-slot=empty>"),v=a("<div data-slot=empty-header>"),p=a("<div data-slot=empty-media>"),x=a("<div data-slot=empty-title>"),y=a("<p data-slot=empty-description>"),w=a("<div data-slot=empty-content>");function b(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=h();return c(t,l({get class(){return u("flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg p-6 text-center text-balance",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}function k(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=v();return c(t,l({get class(){return u("flex max-w-sm flex-col items-center gap-2 text-center",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}const T=g("flex shrink-0 items-center justify-center mb-2 [&_svg]:size-6",{variants:{variant:{default:"bg-transparent",icon:"bg-muted text-foreground size-10 rounded-lg"}},defaultVariants:{variant:"default"}});function _(r){const[e,n]=i(r,["class","variant","children"]);return(()=>{var t=p();return c(t,l({get"data-variant"(){return e.variant??"default"},get class(){return u(T({variant:e.variant}),e.class)}},n),!1,!0),d(t,()=>e.children),t})()}function j(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=x();return c(t,l({get class(){return u("text-lg font-medium tracking-tight",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}function z(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=y();return c(t,l({get class(){return u("text-muted-foreground text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}function $(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=w();return c(t,l({get class(){return u("flex w-full max-w-sm min-w-0 flex-col items-center gap-2 text-sm text-balance",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}var q=a("<slot name=media>"),C=a("<slot>");f("kai-empty",{emptyTitle:"",description:""},r=>s(b,{get children(){return[s(k,{get children(){return[s(_,{variant:"icon",get children(){var e=q();return e._$owner=o(),e}}),s(m,{get when(){return r.emptyTitle},get children(){return s(j,{get children(){return r.emptyTitle}})}}),s(m,{get when(){return r.description},get children(){return s(z,{get children(){return r.description}})}})]}}),s($,{get children(){var e=C();return e._$owner=o(),e}})]}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as v,i as t,c as r,M as x,S,F as B,a as T,d as W,b as $,B as H,t as g,e as I,f as N}from"./chunks/define-
|
|
1
|
+
import{g as v,i as t,c as r,M as x,S,F as B,a as T,d as W,b as $,B as H,t as g,e as I,f as N}from"./chunks/define-CNSKFZCd.js";import{c as j}from"./chunks/cn-CU7UAWzk.js";import{B as z}from"./chunks/button-DBDZebGr.js";import{T as q}from"./chunks/textarea-CboigarR.js";import{t as A,a as E}from"./chunks/thumbs-up-BR33KLfA.js";import{c as G}from"./chunks/check-fhmRksq_.js";import{x as D}from"./chunks/x-Ckwicf6g.js";var J=g('<div class="flex w-full items-center justify-between"><div class="flex flex-1 items-center justify-start gap-4 py-3 pl-4"><span class="text-foreground font-medium"></span></div><div class="flex items-center justify-center gap-0.5 px-3 py-0"><button type=button class="text-muted-foreground hover:text-foreground flex size-8 items-center justify-center rounded-md transition-colors"aria-label=Helpful></button><button type=button class="text-muted-foreground hover:text-foreground flex size-8 items-center justify-center rounded-md transition-colors"aria-label="Not helpful"></button></div><div class="border-border flex items-center justify-center border-l"><button type=button class="text-muted-foreground hover:text-foreground flex items-center justify-center rounded-md p-3"aria-label=Close>'),K=g('<div class="flex flex-wrap gap-1.5">'),O=g('<div class="flex w-[min(22rem,80vw)] flex-col gap-2.5 p-3"><div class="flex items-center justify-between"><span class="text-foreground font-medium"></span><button type=button aria-label=Skip class="text-muted-foreground hover:text-foreground"></button></div><div class="flex justify-end gap-2">'),Q=g('<div class="flex items-center gap-2 px-4 py-3"role=status><span class="text-foreground font-medium">'),R=g("<div>"),U=g("<button type=button>");function V(e){const[u,f]=v("ask"),[b,M]=v(),[p,L]=v(),[k,P]=v(""),y=i=>{var l;M(i),(l=e.onFeedback)==null||l.call(e,i),f(i==="not-helpful"&&e.collectDetail?"detail":"thanks")},F=()=>{var i;(i=e.onSubmitDetail)==null||i.call(e,{value:b(),category:p(),comment:k()||void 0}),f("thanks")};return(()=>{var i=R();return t(i,r(H,{get children(){return[r(x,{get when(){return u()==="ask"},get children(){var l=J(),n=l.firstChild,m=n.firstChild,h=n.nextSibling,s=h.firstChild,a=s.nextSibling,c=h.nextSibling,o=c.firstChild;return t(n,r(S,{get when(){return e.icon},get children(){return e.icon}}),m),t(m,()=>e.title),s.$$click=()=>y("helpful"),t(s,r(A,{class:"size-4"})),a.$$click=()=>y("not-helpful"),t(a,r(E,{class:"size-4"})),o.$$click=()=>{var d;return(d=e.onClose)==null?void 0:d.call(e)},t(o,r(D,{class:"size-5"})),l}}),r(x,{get when(){return u()==="detail"},get children(){var l=O(),n=l.firstChild,m=n.firstChild,h=m.nextSibling,s=n.nextSibling;return t(m,()=>e.detailTitle??"What went wrong?"),h.$$click=()=>f("thanks"),t(h,r(D,{class:"size-4"})),t(l,r(S,{get when(){var a;return(a=e.categories)==null?void 0:a.length},get children(){var a=K();return t(a,r(B,{get each(){return e.categories},children:c=>(()=>{var o=U();return o.$$click=()=>L(p()===c?void 0:c),t(o,c),T(d=>{var w=p()===c,C=j("rounded-full border px-2.5 py-1 text-xs transition-colors",p()===c?"border-primary bg-primary text-primary-foreground":"border-border text-muted-foreground hover:text-foreground");return w!==d.e&&W(o,"aria-pressed",d.e=w),C!==d.t&&$(o,d.t=C),d},{e:void 0,t:void 0}),o})()})),a}}),s),t(l,r(q,{get value(){return k()},onInput:a=>P(a.currentTarget.value),get placeholder(){return e.detailPlaceholder??"Tell us more (optional)"},class:"border-border min-h-[3rem] rounded-md border px-2 py-1.5"}),s),t(s,r(z,{variant:"ghost",size:"sm",onClick:()=>f("thanks"),children:"Skip"}),null),t(s,r(z,{variant:"default",size:"sm",onClick:F,get children(){return e.submitLabel??"Submit"}}),null),l}}),r(x,{get when(){return u()==="thanks"},get children(){var l=Q(),n=l.firstChild;return t(l,r(G,{class:"size-4 text-emerald-500"}),n),t(n,()=>e.thanksMessage??"Thanks for your feedback"),l}})]}})),T(()=>$(i,j("bg-background border-border inline-flex rounded-[12px] border text-sm",e.class))),i})()}I(["click"]),N("kai-feedback-bar",{barTitle:"Was this helpful?",collectDetail:void 0,categories:void 0,detailTitle:void 0,detailPlaceholder:void 0,submitLabel:void 0,thanksMessage:void 0},(e,{dispatch:u,flag:f})=>r(V,{get title(){return e.barTitle},get collectDetail(){return f("collectDetail")},get categories(){return e.categories},get detailTitle(){return e.detailTitle},get detailPlaceholder(){return e.detailPlaceholder},get submitLabel(){return e.submitLabel},get thanksMessage(){return e.thanksMessage},onFeedback:b=>u("kai-feedback",{value:b}),onSubmitDetail:b=>u("kai-feedback-detail",b),onClose:()=>u("kai-close")}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as d,i as m,c as n,t as i}from"./chunks/define-
|
|
1
|
+
import{f as d,i as m,c as n,t as i}from"./chunks/define-CNSKFZCd.js";import{F as f}from"./chunks/file-tree-DQzNQrbr.js";var h=i("<style>:host{display:block;height:100%;min-height:0}"),o=i('<div style="display:grid;grid-template-rows:minmax(0, 1fr);grid-template-columns:minmax(0, 1fr);height:100%;min-height:0"><div class="overflow-auto scrollbar-thin py-1.5"style=min-height:0>');d("kai-file-tree",{files:[],activeFile:void 0,defaultExpanded:void 0,summary:!1},(e,{dispatch:a,flag:r})=>[h(),(()=>{var t=o(),l=t.firstChild;return m(l,n(f,{get files(){return e.files},get activeFile(){return e.activeFile},get defaultExpanded(){return e.defaultExpanded},get summary(){return r("summary")},onSelect:s=>a("kai-select",{path:s})})),t})()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as p,m,s as w,w as x,k as E,i as b,g as L,h as A,p as $,u as F,a as R,d as T,n as D,v as I,t as v,e as P,f as j,q}from"./chunks/define-
|
|
1
|
+
import{c as p,m,s as w,w as x,k as E,i as b,g as L,h as A,p as $,u as F,a as R,d as T,n as D,v as I,t as v,e as P,f as j,q}from"./chunks/define-CNSKFZCd.js";import{I as z}from"./chunks/Icon-C2LTALdM.js";var C=[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]],H=l=>p(z,m(l,{name:"Upload",iconNode:C})),M=H,N=v("<input type=file class=hidden aria-hidden=true>"),U=v("<button type=button>");const h=I();function _(l){const[n]=w(l,["onFilesAdded","children","multiple","accept","disabled"]);let s;const[d,o]=L(!1);let a=0;const f=()=>n.multiple??!0,g=e=>{const t=Array.from(e);f()?n.onFilesAdded(t):n.onFilesAdded(t.slice(0,1))};A(()=>{const e=r=>{r.preventDefault(),r.stopPropagation()},t=r=>{var u;e(r),a++,(u=r.dataTransfer)!=null&&u.items.length&&o(!0)},i=r=>{e(r),a--,a===0&&o(!1)},c=r=>{var u;e(r),o(!1),a=0,(u=r.dataTransfer)!=null&&u.files.length&&g(r.dataTransfer.files)};window.addEventListener("dragenter",t),window.addEventListener("dragleave",i),window.addEventListener("dragover",e),window.addEventListener("drop",c),$(()=>{window.removeEventListener("dragenter",t),window.removeEventListener("dragleave",i),window.removeEventListener("dragover",e),window.removeEventListener("drop",c)})});const y=e=>{var t;const i=e.target;(t=i.files)!=null&&t.length&&(g(i.files),i.value="")},k={isDragging:d,get inputRef(){return s},setInputRef:e=>{s=e},multiple:n.multiple,disabled:n.disabled};return p(h.Provider,{value:k,get children(){return[(()=>{var e=N();return e.$$input=y,F(t=>{s=t},e),R(t=>{var i=f(),c=n.accept,r=n.disabled;return i!==t.e&&(e.multiple=t.e=i),c!==t.t&&T(e,"accept",t.t=c),r!==t.a&&(e.disabled=t.a=r),t},{e:void 0,t:void 0,a:void 0}),e})(),D(()=>n.children)]}})}function O(l){const[n,s]=w(l,["class","children"]),d=x(h),o=()=>{var a;return(a=d?.inputRef)==null?void 0:a.click()};return(()=>{var a=U();return a.$$click=o,E(a,m({get class(){return n.class}},s),!1,!0),b(a,()=>n.children),a})()}P(["input","click"]);var S=v("<slot>");j("kai-file-upload",{multiple:!0,accept:void 0,disabled:!1,label:"Click or drop files to upload"},(l,{dispatch:n,flag:s})=>p(_,{get multiple(){return s("multiple")},get accept(){return l.accept},get disabled(){return s("disabled")},onFilesAdded:d=>n("kai-files-added",{files:d}),get children(){return p(O,{class:"border-border bg-surface hover:bg-muted/60 text-muted-foreground flex w-full cursor-pointer flex-col items-center justify-center gap-2 rounded-xl border border-dashed px-6 py-8 text-sm transition-colors",get children(){return[p(M,{class:"size-5"}),(()=>{var d=S();return d._$owner=q(),b(d,()=>l.label),d})()]}})}}));
|
package/dist/elements/form.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as u,m as x,i as m,S as y,k as L,n as pe,d as j,a as k,F as C,b as T,g as he,t as b,e as ve,s as be,j as E,h as K,l as D,o as xe,E as ye,I as ke,f as we}from"./chunks/define-rGsaWsLL.js";import{c as ee,p as q,u as J}from"./chunks/store-CYl5Y0_u.js";import{c as O}from"./chunks/cn-CU7UAWzk.js";import{B as N}from"./chunks/button-XDUM6lXs.js";import{C as z}from"./chunks/card-CBlFZ-7I.js";import{u as Ie,a as $e,D as Ae}from"./chunks/use-card-resolution-VSVoxDeJ.js";import{e as Se}from"./chunks/card-routing-C986KuUA.js";import{T as je}from"./chunks/textarea-NEr2SLcD.js";import{I as Ce,F as R}from"./chunks/input-gzbHYZvQ.js";import{s as Oe}from"./chunks/star-9R3LBQ9n.js";import{c as Le}from"./chunks/check-hGUoVIKb.js";function _(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Be(e,r){switch(r){case"integer":return typeof e=="number"&&Number.isInteger(e);case"number":return typeof e=="number"&&Number.isFinite(e);case"array":return Array.isArray(e);case"null":return e===null;case"object":return _(e)==="object";default:return typeof e===r}}function F(e,r,t,n){const a=t||"(root)";if(e.type&&!Be(r,e.type)){n.push(`${a}: expected ${e.type}, got ${_(r)}`);return}if("const"in e&&JSON.stringify(r)!==JSON.stringify(e.const)&&n.push(`${a}: must equal const ${JSON.stringify(e.const)}`),e.enum&&!e.enum.some(i=>JSON.stringify(i)===JSON.stringify(r))&&n.push(`${a}: must be one of ${JSON.stringify(e.enum)}`),typeof r=="number"&&(e.minimum!==void 0&&r<e.minimum&&n.push(`${a}: < minimum ${e.minimum}`),e.maximum!==void 0&&r>e.maximum&&n.push(`${a}: > maximum ${e.maximum}`),e.exclusiveMinimum!==void 0&&r<=e.exclusiveMinimum&&n.push(`${a}: <= exclusiveMinimum`),e.exclusiveMaximum!==void 0&&r>=e.exclusiveMaximum&&n.push(`${a}: >= exclusiveMaximum`)),typeof r=="string"&&(e.minLength!==void 0&&r.length<e.minLength&&n.push(`${a}: shorter than minLength ${e.minLength}`),e.maxLength!==void 0&&r.length>e.maxLength&&n.push(`${a}: longer than maxLength ${e.maxLength}`),e.pattern!==void 0&&!new RegExp(e.pattern).test(r)&&n.push(`${a}: does not match pattern`)),Array.isArray(r)&&(e.minItems!==void 0&&r.length<e.minItems&&n.push(`${a}: fewer than minItems ${e.minItems}`),e.maxItems!==void 0&&r.length>e.maxItems&&n.push(`${a}: more than maxItems ${e.maxItems}`),e.uniqueItems&&new Set(r.map(i=>JSON.stringify(i))).size!==r.length&&n.push(`${a}: items not unique`),e.items&&r.forEach((i,l)=>F(e.items,i,`${a}[${l}]`,n))),_(r)==="object"){const i=r;for(const l of e.required??[])(!(l in i)||i[l]===void 0)&&n.push(`${a}.${l}: required`);if(e.properties)for(const[l,d]of Object.entries(e.properties))l in i&&i[l]!==void 0&&F(d,i[l],`${a}.${l}`,n)}}function qe(e,r){const t=[];return F(e,r,"",t),{valid:t.length===0,errors:t}}var Me=b('<span class="self-end text-xs text-muted-foreground">/'),Ee=b('<div class="flex flex-col gap-1">'),Ne=b("<input data-control type=number>"),Re=b('<div class="flex items-center gap-3"><input data-control type=range class=kai-range><span class="min-w-9 shrink-0 rounded-md bg-background px-2 py-1 text-center text-sm font-medium tabular-nums text-foreground shadow-sm">'),Te=b('<div role=radiogroup data-control tabindex=0 class="flex items-center gap-1 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">'),Ke=b('<button type=button role=radio tabindex=-1 class="rounded p-0.5 text-muted-foreground hover:text-foreground">'),Ve=b("<button data-control type=button role=switch><span>"),De=b('<label class="-mx-1.5 inline-flex cursor-pointer items-center gap-2.5 rounded-md px-1.5 py-1.5 text-sm text-foreground transition-colors hover:bg-muted/60"><input data-control type=checkbox class=kai-checkbox><span>'),Je=b('<div role=radiogroup data-control class="divide-y divide-border overflow-hidden rounded-lg border border-input">'),ze=b("<label><input type=radio class=kai-radio><span>"),_e=b("<select data-control><option value disabled>"),re=b("<option>"),Fe=b('<div role=group data-control class="divide-y divide-border overflow-hidden rounded-lg border border-input">'),Ue=b("<label><input type=checkbox class=kai-checkbox><span>"),Ye=b("<select data-control multiple>"),Ze=b('<div class="flex flex-col gap-2"role=group><div class="flex flex-wrap gap-1.5"></div><div class="flex items-center gap-2"><input data-control type=text><button type=button class="rounded-md border border-input px-3 py-2 text-sm text-foreground hover:bg-muted disabled:opacity-50">Add'),Ge=b('<span class="inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs text-foreground"><button type=button class="text-muted-foreground hover:text-foreground">\u2715');function A(e){return{"aria-required":e.required||void 0,"aria-invalid":e.invalid||void 0,"aria-describedby":e.describedBy}}function He(e){const r=()=>{switch(e.variant){case"email":return"email";case"url":return"url";case"date":return"date";case"datetime":return"datetime-local";case"time":return"time";case"password":return"password";default:return"text"}};return u(Ce,x({get id(){return e.id},"data-control":!0,get type(){return r()},get value(){return e.value??""},get placeholder(){return e.placeholder},get invalid(){return e.invalid},get disabled(){return e.disabled},get minLength(){return e.field.minLength},get maxLength(){return e.field.maxLength}},()=>A(e),{onValueInput:t=>e.onInput(t),onValueChange:()=>e.onBlur()}))}function Pe(e){const r=()=>(e.value??"").length;return(()=>{var t=Ee();return m(t,u(je,x({get id(){return e.id},"data-control":!0,get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get value(){return e.value??""},get placeholder(){return e.placeholder},get disabled(){return e.disabled},get maxLength(){return e.field.maxLength}},()=>A(e),{onInput:n=>e.onInput(n.currentTarget.value),get onBlur(){return e.onBlur}})),null),m(t,u(y,{get when(){return e.field.maxLength!==void 0},get children(){var n=Me(),a=n.firstChild;return m(n,r,a),m(n,()=>e.field.maxLength,null),n}}),null),t})()}function Qe(e){const r=()=>e.field["x-kai-step"]??(e.field.type==="integer"?1:void 0);return(()=>{var t=Ne();return L(t,x({get id(){return e.id},get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get value(){return pe(()=>e.value===void 0||e.value===null)()?"":String(e.value)},get placeholder(){return e.placeholder},get disabled(){return e.disabled},get min(){return e.field.minimum},get max(){return e.field.maximum},get step(){return r()}},()=>A(e),{onInput:n=>e.onInput(n.currentTarget.value),get onBlur(){return e.onBlur}}),!1,!1),t})()}function We(e){const r=()=>e.field.minimum??0,t=()=>e.field.maximum??100,n=()=>e.field["x-kai-step"]??(e.field.type==="integer"?1:void 0),a=()=>e.value===void 0||e.value===null?r():Number(e.value),i=()=>{const l=r(),d=t();return d>l?`${(a()-l)/(d-l)*100}%`:"0%"};return(()=>{var l=Re(),d=l.firstChild,h=d.nextSibling;return L(d,x({get id(){return e.id},get style(){return{"--kai-range-fill":i()}},get value(){return a()},get min(){return r()},get max(){return t()},get step(){return n()},get disabled(){return e.disabled},get"aria-valuetext"(){return String(a())}},()=>A(e),{onInput:v=>e.onInput(Number(v.currentTarget.value)),get onBlur(){return e.onBlur}}),!1,!1),m(h,a),l})()}function Xe(e){const r=()=>e.field.maximum??5,t=()=>Number(e.value??0),n=()=>Array.from({length:r()},(i,l)=>l+1),a=i=>{i.key==="ArrowRight"||i.key==="ArrowUp"?(i.preventDefault(),e.onInput(Math.min(r(),t()+1))):(i.key==="ArrowLeft"||i.key==="ArrowDown")&&(i.preventDefault(),e.onInput(Math.max(e.field.minimum??1,t()-1)))};return(()=>{var i=Te();return L(i,x({get"aria-label"(){return e.label}},()=>A(e),{onKeyDown:a}),!1,!0),m(i,u(C,{get each(){return n()},children:l=>(()=>{var d=Ke();return d.$$click=()=>e.onInput(l),j(d,"aria-label",`${l} ${l===1?"star":"stars"}`),m(d,u(Oe,{size:20,get class(){return O(l<=t()?"fill-current text-[var(--color-primary)]":"")},"aria-hidden":"true"})),k(h=>{var v=t()===l,p=e.disabled;return v!==h.e&&j(d,"aria-checked",h.e=v),p!==h.t&&(d.disabled=h.t=p),h},{e:void 0,t:void 0}),d})()})),i})()}function er(e){const r=()=>e.value===!0,t=()=>{e.disabled||(e.onInput(!r()),e.onBlur())};return(()=>{var n=Ve(),a=n.firstChild;return L(n,x({get id(){return e.id},get"aria-checked"(){return r()},get"aria-label"(){return e.label},get disabled(){return e.disabled},get class(){return O("relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",r()?"bg-[var(--color-primary)]":"bg-muted")}},()=>A(e),{onClick:t}),!1,!0),k(()=>T(a,O("inline-block h-5 w-5 transform rounded-full bg-background shadow transition-transform",r()?"translate-x-5":"translate-x-0.5"))),n})()}function rr(e){return(()=>{var r=De(),t=r.firstChild,n=t.nextSibling;return L(t,x({get id(){return e.id},get checked(){return e.value===!0},get disabled(){return e.disabled}},()=>A(e),{onChange:a=>{e.onInput(a.currentTarget.checked),e.onBlur()}}),!1,!1),m(n,()=>e.label),r})()}function tr(e){const r=()=>e.field.enum??[];return(()=>{var t=Je();return L(t,x({get"aria-label"(){return e.label}},()=>A(e)),!1,!0),m(t,u(C,{get each(){return r()},children:n=>(()=>{var a=ze(),i=a.firstChild,l=i.nextSibling;return i.addEventListener("change",()=>{e.onInput(n),e.onBlur()}),m(l,()=>String(n)),k(d=>{var h=O("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",e.value===n?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50"),v=e.id,p=e.disabled;return h!==d.e&&T(a,d.e=h),v!==d.t&&j(i,"name",d.t=v),p!==d.a&&(i.disabled=d.a=p),d},{e:void 0,t:void 0,a:void 0}),k(()=>i.value=String(n)),k(()=>i.checked=e.value===n),a})()})),t})()}function nr(e){const r=()=>e.field.enum??[];return(()=>{var t=_e(),n=t.firstChild;return L(t,x({get id(){return e.id},get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get disabled(){return e.disabled}},()=>A(e),{onChange:a=>{e.onInput(a.currentTarget.value),e.onBlur()}}),!1,!0),m(n,()=>e.placeholder??"Select\u2026"),m(t,u(C,{get each(){return r()},children:a=>(()=>{var i=re();return m(i,()=>String(a)),k(()=>i.selected=e.value===a),k(()=>i.value=String(a)),i})()}),null),k(()=>n.selected=e.value===void 0||e.value===""),t})()}function te(e){const r=e.items;return r&&"enum"in r&&Array.isArray(r.enum)?r.enum:[]}function ir(e){const r=()=>Array.isArray(e.value)?e.value:[],t=n=>{const a=r(),i=a.includes(n)?a.filter(l=>l!==n):[...a,n];e.onInput(i),e.onBlur()};return(()=>{var n=Fe();return L(n,x({get"aria-label"(){return e.label}},()=>A(e)),!1,!0),m(n,u(C,{get each(){return te(e.field)},children:a=>(()=>{var i=Ue(),l=i.firstChild,d=l.nextSibling;return l.addEventListener("change",()=>t(a)),m(d,()=>String(a)),k(h=>{var v=O("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",r().includes(a)?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50"),p=e.disabled;return v!==h.e&&T(i,h.e=v),p!==h.t&&(l.disabled=h.t=p),h},{e:void 0,t:void 0}),k(()=>l.checked=r().includes(a)),i})()})),n})()}function ar(e){const r=()=>Array.isArray(e.value)?e.value:[];return(()=>{var t=Ye();return L(t,x({get id(){return e.id},get"aria-label"(){return e.label},get class(){return O(R,"min-h-[6rem]",e.invalid&&"border-destructive dark:border-red-400/70")},get disabled(){return e.disabled}},()=>A(e),{onChange:n=>{const a=Array.from(n.currentTarget.selectedOptions).map(i=>i.value);e.onInput(a),e.onBlur()}}),!1,!0),m(t,u(C,{get each(){return te(e.field)},children:n=>(()=>{var a=re();return m(a,()=>String(n)),k(()=>a.selected=r().includes(n)),k(()=>a.value=String(n)),a})()})),t})()}function lr(e){const r=()=>Array.isArray(e.value)?e.value:[],[t,n]=he(""),a=()=>{const l=t().trim();l&&(e.onInput([...r(),l]),n(""),e.onBlur())},i=l=>{e.onInput(r().filter((d,h)=>h!==l)),e.onBlur()};return(()=>{var l=Ze(),d=l.firstChild,h=d.nextSibling,v=h.firstChild,p=v.nextSibling;return m(d,u(C,{get each(){return r()},children:(g,S)=>(()=>{var w=Ge(),I=w.firstChild;return m(w,g,I),I.$$click=()=>i(S()),j(I,"aria-label",`Remove ${g}`),k(()=>I.disabled=e.disabled),w})()})),L(v,x({get id(){return e.id},get class(){return O(R)},get value(){return t()},get placeholder(){return e.placeholder??"Add\u2026"},get disabled(){return e.disabled}},()=>A(e),{onInput:g=>n(g.currentTarget.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),a())}}),!1,!1),p.$$click=a,k(g=>{var S=e.label,w=e.disabled;return S!==g.e&&j(l,"aria-label",g.e=S),w!==g.t&&(p.disabled=g.t=w),g},{e:void 0,t:void 0}),l})()}ve(["click"]);var ur=b("<form novalidate>"),sr=b('<div class="flex w-full flex-wrap items-center justify-between gap-2"><div class="ml-auto flex flex-wrap items-center gap-2">'),or=b('<div class="flex flex-col gap-3"><p class="flex items-center gap-2 text-sm font-medium text-foreground"><span>Submitted</span></p><dl class="grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1.5">'),dr=b('<dt class="text-xs text-muted-foreground">'),cr=b('<dd class="m-0 text-sm font-medium text-foreground">'),mr=b('<span class="text-destructive dark:text-red-400"aria-hidden=true> *'),gr=b('<label class="text-sm font-medium text-foreground">'),fr=b('<p class="text-xs text-muted-foreground">'),pr=b('<p role=alert class="text-xs text-destructive dark:text-red-400">'),hr=b('<div class="flex flex-col gap-2 rounded-xl bg-surface p-3.5">'),vr=b('<p class="rounded-md border border-dashed border-border p-2 text-xs text-muted-foreground">Unsupported field "<!>".'),br=b('<fieldset class="flex flex-col gap-3 rounded-lg border border-border p-3"><legend class="px-1 text-sm font-medium text-foreground">'),xr=b('<fieldset class="flex flex-col gap-3 rounded-lg border border-border p-3"data-control><legend class="px-1 text-sm font-medium text-foreground">'),yr=b('<div class="flex flex-col gap-2 rounded-md border border-border/60 p-2"><div class="flex items-center justify-between"><span class="text-xs text-muted-foreground">Item ');const U=4,kr=new Set(["textarea","slider","rating","radio","select","checkbox","password","switch"]);function wr(e,r){const t=e["x-kai-widget"];if(t&&kr.has(t))switch(t){case"textarea":return"textarea";case"slider":return"slider";case"rating":return"rating";case"radio":return"radio";case"select":return"select";case"checkbox":return"checkbox";case"password":return"password";case"switch":return"switch"}switch(e.type){case"string":{if(Array.isArray(e.enum))return e.enum.length<=r?"radio":"select";switch(e.format){case"email":return"email";case"uri":case"url":return"url";case"date":return"date";case"date-time":return"datetime";case"time":return"time"}return e.maxLength!==void 0&&e.maxLength>120?"textarea":"text"}case"number":case"integer":return"number";case"boolean":return"switch";case"array":{const n=e.items;return n&&"enum"in n&&Array.isArray(n.enum)?n.enum.length<=r?"checkbox-group":"multiselect":n&&"type"in n&&n.type==="object"?"repeater":(n&&"type"in n&&n.type,"taglist")}case"object":return"fieldset";default:return"unsupported"}}function Y(e){return e.replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").trim().replace(/\b\w/g,r=>r.toUpperCase())}function Ir(e){const r=Object.keys(e.properties??{}),t=e["x-kai-order"];if(Array.isArray(t)){const i=t.filter(d=>r.includes(d)),l=r.filter(d=>!i.includes(d));return[...i,...l]}const n=(e.required??[]).filter(i=>r.includes(i)),a=r.filter(i=>!n.includes(i));return[...n,...a]}function $r(e,r){if(e.type==="number"||e.type==="integer"){if(r===""||r===null||r===void 0)return;const t=typeof r=="number"?r:Number(r);return Number.isNaN(t)?r:t}return e.type==="boolean"?!!r:r}const Ar="^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$";function Sr(e){const r={type:e.type};return e.enum&&(r.enum=e.enum),e.minimum!==void 0&&(r.minimum=e.minimum),e.maximum!==void 0&&(r.maximum=e.maximum),e.minLength!==void 0&&(r.minLength=e.minLength),e.maxLength!==void 0&&(r.maxLength=e.maxLength),e.minItems!==void 0&&(r.minItems=e.minItems),e.maxItems!==void 0&&(r.maxItems=e.maxItems),e.pattern!==void 0?r.pattern=e.pattern:e.format==="email"&&(r.pattern=Ar),r}function ne(e){return e==null||e===""||Array.isArray(e)&&e.length===0}function V(e,r){const t={},n=new Set(e.required??[]);for(const[a,i]of Object.entries(e.properties??{})){const l=r[a];if(n.has(a)&&ne(l)){t[a]=`${i.title??Y(a)} is required.`;continue}if(ne(l))continue;const d=qe(Sr(i),l);d.valid||(t[a]=jr(i,a,d.errors[0]))}return{valid:Object.keys(t).length===0,fieldErrors:t}}function jr(e,r,t){const n=e.title??Y(r);return t?t.includes("minimum")?`${n} must be at least ${e.minimum}.`:t.includes("maximum")?`${n} must be at most ${e.maximum}.`:t.includes("minLength")?`${n} must be at least ${e.minLength} characters.`:t.includes("maxLength")?`${n} must be at most ${e.maxLength} characters.`:t.includes("pattern")?e.format==="email"?`${n} must be a valid email address.`:`${n} is not in the expected format.`:t.includes("one of")?`${n} must be one of the allowed options.`:t.includes("expected integer")?`${n} must be a whole number.`:t.includes("expected")?`${n} is invalid.`:t.includes("minItems")?`${n}: choose at least ${e.minItems}.`:t.includes("maxItems")?`${n}: choose at most ${e.maxItems}.`:`${n} is invalid.`:`${n} is invalid.`}function Cr(e,r){return e?.["x-kai-widget"]==="password"?r==null||r===""?"\u2014":"\u2022\u2022\u2022\u2022":typeof r=="boolean"?r?"Yes":"No":r==null||r===""?"\u2014":Array.isArray(r)?r.length?r.map(t=>String(t)).join(", "):"\u2014":String(r)}function Or(e,r){const t=e.properties??{};return(Array.isArray(e["x-kai-order"])&&e["x-kai-order"].length>0?e["x-kai-order"].filter(n=>n in t):Object.keys(t)).map(n=>{const a=t[n];return{key:n,label:a?.title??n,value:Cr(a,r[n])}})}function ie(e,r){const t={};for(const n of Object.keys(e.properties??{})){const a=e.properties[n],i=$r(a,r[n]);i===void 0||i===""||Array.isArray(i)&&i.length===0||(t[n]=i)}return t}const ae={type:"object",properties:{}};function Lr(e){const r=x({cardId:"kai-form"},e),[t]=be(r,["data","cardId","heading","host","hostElement","class","resolution","values","defaultValues","disabled","onValuesChange","controllerRef"]),n=Ie(),a=s=>{const o=t.host??n;o?o.emit(s):t.hostElement&&Se(t.hostElement,s)},i=E(()=>{const s=t.data;return s?s.type!=="object"||typeof s.properties!="object"||s.properties===null?{ok:!1,message:"This form couldn't be displayed."}:{ok:!0,message:""}:{ok:!1,message:"No form definition provided."}}),l=E(()=>i().ok?t.data??ae:ae),d=()=>l()["x-kai-inlineMax"]??U,h=E(()=>Ir(l())),v=$e({prop:()=>t.resolution,data:()=>t.data}),[p,g]=ee({}),[S,w]=ee({}),I=s=>{const o={};for(const[c,f]of Object.entries(s.properties??{}))f.default!==void 0?o[c]=f.default:f.type==="array"&&(o[c]=[]);return t.defaultValues&&Object.assign(o,t.defaultValues),t.values&&Object.assign(o,t.values),o},M=s=>{const o=I(s);g(q(c=>{for(const f of Object.keys(c))delete c[f];Object.assign(c,o)})),w(q(c=>{for(const f of Object.keys(c))delete c[f]}))},ue=()=>{const s=l(),o={};for(const[c,f]of Object.entries(s.properties??{}))f.default!==void 0?o[c]=f.default:f.type==="array"&&(o[c]=[]);g(q(c=>{for(const f of Object.keys(c))delete c[f];Object.assign(c,o)})),w(q(c=>{for(const f of Object.keys(c))delete c[f]}))};K(D(()=>t.data,()=>{i().ok&&M(l())})),K(D(()=>t.values,s=>{s&&g(q(o=>{for(const c of Object.keys(o))delete o[c];Object.assign(o,s)}))},{defer:!0})),K(D(i,s=>{s.ok?a({kind:"ready",cardId:t.cardId}):a({kind:"error",cardId:t.cardId,message:s.message})})),K(()=>{var s;const o=t.hostElement;o&&(((s=v.resolution())==null?void 0:s.kind)==="submit"?o.setAttribute("data-kai-resolved","submitted"):o.removeAttribute("data-kai-resolved"))});const se=(s,o)=>{var c;g(s,o),S[s]&&w(s,void 0);const f=J(p),$=ie(l(),f),{valid:B}=V(l(),f);(c=t.onValuesChange)==null||c.call(t,{values:$,valid:B})},oe=s=>{const o=l().properties[s];if(!o)return;const c=V({required:l().required,properties:{[s]:o}},{[s]:p[s]});w(s,c.fieldErrors[s])},G=s=>{var o;return s?.closest("form")??s??((o=t.hostElement)==null?void 0:o.shadowRoot)??document},H=(s,o,c)=>{var f;(f=o.querySelector(`[data-field="${Tr(s)}"] [data-control]`))==null||f.focus(c)},P=s=>{if(v.isResolved())return!1;const o=J(p),c=V(l(),o);if(w(q($=>{for(const B of Object.keys($))delete $[B];Object.assign($,c.fieldErrors)})),!c.valid){const $=h().find(B=>c.fieldErrors[B]);if($){const B=G(s);queueMicrotask(()=>H($,B))}return!1}const f=ie(l(),o);return a({kind:"submit",cardId:t.cardId,data:f}),v.setLocal({kind:"submit",data:f}),!0},de=s=>{s.preventDefault(),P(s.currentTarget)},Q=()=>{v.isResolved()||(a({kind:"dismiss",cardId:t.cardId}),v.setLocal({kind:"dismissed"}))},W=()=>a({kind:"reopen",cardId:t.cardId}),X=()=>t.disabled===!0;xe(()=>{var s;(s=t.controllerRef)==null||s.call(t,{focus:o=>{const c=G(),f=h().find($=>S[$])??h()[0];f&&H(f,c,o)},send:()=>{P()},validate:()=>{const o=J(p),c=V(l(),o);return w(q(f=>{for(const $ of Object.keys(f))delete f[$];Object.assign(f,c.fieldErrors)})),c.valid?{valid:!0}:{valid:!1,errors:c.fieldErrors}},reset:()=>ue(),dismiss:()=>Q(),reopen:()=>W()})});const ce=E(()=>l()["x-kai-actions"]??[]),me=()=>l()["x-kai-submitLabel"]??"Submit",ge=()=>l()["x-kai-dismissible"]===!0,fe=E(()=>{const s=v.resolution();return!s||s.kind!=="submit"?[]:Or(l(),s.data??{})});return u(y,{get when(){return i().ok},get fallback(){return u(z,{get heading(){return t.heading},get errorMessage(){return i().message}})},get children(){return u(ye,{fallback:()=>(a({kind:"error",cardId:t.cardId,message:"The form failed to render."}),u(z,{get heading(){return t.heading},errorMessage:"The form failed to render."})),get children(){return u(y,{get when(){return!v.isDeferred()},get fallback(){return u(Ae,{type:"form",get title(){return t.heading??l().title},onReopen:W})},get children(){return u(z,{get heading(){return t.heading??l().title},get description(){return l().description},get actions(){return u(y,{get when(){return!v.isResolved()},fallback:void 0,get children(){var s=sr(),o=s.firstChild;return m(s,u(y,{get when(){return ge()},get children(){return u(N,{type:"button",variant:"ghost",onClick:Q,children:"Dismiss"})}}),o),m(o,u(C,{get each(){return ce()},children:c=>u(N,{type:"button",get variant(){return c.variant??"ghost"},onClick:()=>a({kind:"action",cardId:t.cardId,action:c.id}),get children(){return c.label}})}),null),m(o,u(N,{type:"submit",get form(){return le()},get disabled(){return X()},get children(){return me()}}),null),s}})},get children(){return u(y,{get when(){return!v.isResolved()},get fallback(){return u(Mr,{get rows(){return fe()},get optimistic(){return v.isOptimistic()}})},get children(){var s=ur();return s.addEventListener("submit",de),m(s,u(C,{get each(){return h()},children:o=>u(Z,{fieldKey:o,get field(){return l().properties[o]},get required(){return(l().required??[]).includes(o)},get inlineMax(){return d()},value:()=>p[o],error:()=>S[o],get disabled(){return X()},onInput:c=>se(o,c),onBlur:()=>oe(o)})})),k(o=>{var c=le(),f=O("flex flex-col gap-3",t.class);return c!==o.e&&j(s,"id",o.e=c),f!==o.t&&T(s,o.t=f),o},{e:void 0,t:void 0}),s}})}})}})}})}})}let Br=0;const qr=`kai-form-${++Br}`;function le(){return qr}function Mr(e){return(()=>{var r=or(),t=r.firstChild,n=t.firstChild,a=t.nextSibling;return m(t,u(Le,{size:16,"aria-hidden":"true"}),n),m(a,u(C,{get each(){return e.rows},children:i=>[(()=>{var l=dr();return m(l,()=>i.label),l})(),(()=>{var l=cr();return m(l,()=>i.value),l})()]})),k(()=>j(r,"role",e.optimistic?"status":void 0)),r})()}function Z(e){const r=`f-${e.fieldKey}-${Math.random().toString(36).slice(2,8)}`,t=`${r}-err`,n=`${r}-desc`,a=()=>e.field.title??Y(e.fieldKey),i=E(()=>wr(e.field,e.inlineMax)),l=()=>e.field["x-kai-placeholder"],d=()=>[e.field.description?n:"",e.error()?t:""].filter(Boolean).join(" ")||void 0,h=()=>({id:r,value:e.value(),field:e.field,disabled:e.disabled||e.field.readOnly===!0,placeholder:l(),required:e.required,invalid:!!e.error(),describedBy:d(),label:a(),onInput:e.onInput,onBlur:e.onBlur}),v=()=>["fieldset","repeater","checkbox-group","multiselect","radio","taglist"].includes(i());return(()=>{var p=hr();return m(p,u(y,{get when(){return!v()},get children(){var g=gr();return j(g,"for",r),m(g,a,null),m(g,u(y,{get when(){return e.required},get children(){return mr()}}),null),g}}),null),m(p,u(y,{get when(){return e.field.description},get children(){var g=fr();return j(g,"id",n),m(g,()=>e.field.description),g}}),null),m(p,u(Er,{get widget(){return i()},get common(){return h()},get fieldKey(){return e.fieldKey}}),null),m(p,u(y,{get when(){return e.error()},get children(){var g=pr();return j(g,"id",t),m(g,()=>e.error()),g}}),null),k(()=>j(p,"data-field",e.fieldKey)),p})()}function Er(e){const r=()=>e.widget,t=()=>e.common;return[u(y,{get when(){return r()==="text"||r()==="email"||r()==="url"||r()==="date"||r()==="datetime"||r()==="time"||r()==="password"},get children(){return u(He,x(t,{get variant(){return r()}}))}}),u(y,{get when(){return r()==="textarea"},get children(){return u(Pe,x(t))}}),u(y,{get when(){return r()==="number"},get children(){return u(Qe,x(t))}}),u(y,{get when(){return r()==="slider"},get children(){return u(We,x(t))}}),u(y,{get when(){return r()==="rating"},get children(){return u(Xe,x(t))}}),u(y,{get when(){return r()==="switch"},get children(){return u(er,x(t))}}),u(y,{get when(){return r()==="checkbox"},get children(){return u(rr,x(t))}}),u(y,{get when(){return r()==="radio"},get children(){return u(tr,x(t))}}),u(y,{get when(){return r()==="select"},get children(){return u(nr,x(t))}}),u(y,{get when(){return r()==="checkbox-group"},get children(){return u(ir,x(t))}}),u(y,{get when(){return r()==="multiselect"},get children(){return u(ar,x(t))}}),u(y,{get when(){return r()==="taglist"},get children(){return u(lr,x(t))}}),u(y,{get when(){return r()==="repeater"},get children(){return u(Rr,x(t,{inlineMax:U}))}}),u(y,{get when(){return r()==="fieldset"},get children(){return u(Nr,x(t,{inlineMax:U}))}}),u(y,{get when(){return r()==="unsupported"},get children(){var n=vr(),a=n.firstChild,i=a.nextSibling;return i.nextSibling,m(n,()=>e.fieldKey,i),n}})]}function Nr(e){const r=()=>e.field.properties??{},t=()=>e.value&&typeof e.value=="object"?e.value:{},n=(a,i)=>{e.onInput({...t(),[a]:i})};return(()=>{var a=br(),i=a.firstChild;return m(i,()=>e.label),m(a,u(C,{get each(){return Object.keys(r())},children:l=>u(Z,{fieldKey:l,get field(){return r()[l]},get required(){return(e.field.required??[]).includes(l)},get inlineMax(){return e.inlineMax},value:()=>t()[l],error:()=>{},get disabled(){return e.disabled},onInput:d=>n(l,d),get onBlur(){return e.onBlur}})}),null),a})()}function Rr(e){const r=()=>e.field.items??{type:"object",properties:{}},t=()=>Array.isArray(e.value)?e.value:[],n=d=>e.onInput(d),a=()=>n([...t(),{}]),i=d=>n(t().filter((h,v)=>v!==d)),l=(d,h,v)=>{const p=t().slice();p[d]={...p[d],[h]:v},n(p)};return(()=>{var d=xr(),h=d.firstChild;return m(h,()=>e.label),m(d,u(ke,{get each(){return t()},children:(v,p)=>(()=>{var g=yr(),S=g.firstChild,w=S.firstChild;return w.firstChild,m(w,p+1,null),m(S,u(N,{type:"button",size:"icon-sm",variant:"ghost","aria-label":`Remove row ${p+1}`,get disabled(){return e.disabled},onClick:()=>i(p),children:"\u2715"}),null),m(g,u(C,{get each(){return Object.keys(r().properties??{})},children:I=>u(Z,{fieldKey:I,get field(){return r().properties[I]},get required(){return(r().required??[]).includes(I)},get inlineMax(){return e.inlineMax},value:()=>{var M;return(M=v())==null?void 0:M[I]},error:()=>{},get disabled(){return e.disabled},onInput:M=>l(p,I,M),get onBlur(){return e.onBlur}})}),null),g})()}),null),m(d,u(N,{type:"button",variant:"outline",size:"sm",get disabled(){return e.disabled},onClick:a,children:"Add item"}),null),d})()}function Tr(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}we("kai-form",{data:void 0,cardId:void 0,heading:void 0,resolution:void 0,values:void 0,defaultValues:void 0,disabled:!1},(e,{element:r,dispatch:t,flag:n,expose:a})=>{let i;return a({focus:l=>i?.focus(l),send:()=>i?.send(),validate:()=>i?.validate()??{valid:!1},reset:()=>i?.reset(),dismiss:()=>i?.dismiss(),reopen:()=>i?.reopen()}),u(Lr,{get data(){return e.data},get cardId(){return e.cardId??(r.id||"kai-form")},get heading(){return e.heading},get resolution(){return e.resolution},get values(){return e.values},get defaultValues(){return e.defaultValues},get disabled(){return n("disabled")},onValuesChange:l=>t("kai-values-change",l),controllerRef:l=>i=l,hostElement:r})});
|
|
1
|
+
import{c as u,m as x,i as m,S as y,k as L,n as pe,d as j,a as k,F as C,b as T,g as he,t as b,e as ve,s as be,j as E,h as K,l as D,o as xe,E as ye,I as ke,f as we}from"./chunks/define-CNSKFZCd.js";import{c as ee,p as q,u as J}from"./chunks/store-th4VyJXM.js";import{c as O}from"./chunks/cn-CU7UAWzk.js";import{B as N}from"./chunks/button-DBDZebGr.js";import{C as z}from"./chunks/card-YfCyI4fH.js";import{u as Ie,a as $e,D as Ae}from"./chunks/use-card-resolution-M36zVciB.js";import{e as Se}from"./chunks/card-routing-C986KuUA.js";import{T as je}from"./chunks/textarea-CboigarR.js";import{I as Ce,F as R}from"./chunks/input-DZD67EvW.js";import{s as Oe}from"./chunks/star-DY6z1UUH.js";import{c as Le}from"./chunks/check-fhmRksq_.js";function _(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Be(e,r){switch(r){case"integer":return typeof e=="number"&&Number.isInteger(e);case"number":return typeof e=="number"&&Number.isFinite(e);case"array":return Array.isArray(e);case"null":return e===null;case"object":return _(e)==="object";default:return typeof e===r}}function F(e,r,t,n){const a=t||"(root)";if(e.type&&!Be(r,e.type)){n.push(`${a}: expected ${e.type}, got ${_(r)}`);return}if("const"in e&&JSON.stringify(r)!==JSON.stringify(e.const)&&n.push(`${a}: must equal const ${JSON.stringify(e.const)}`),e.enum&&!e.enum.some(i=>JSON.stringify(i)===JSON.stringify(r))&&n.push(`${a}: must be one of ${JSON.stringify(e.enum)}`),typeof r=="number"&&(e.minimum!==void 0&&r<e.minimum&&n.push(`${a}: < minimum ${e.minimum}`),e.maximum!==void 0&&r>e.maximum&&n.push(`${a}: > maximum ${e.maximum}`),e.exclusiveMinimum!==void 0&&r<=e.exclusiveMinimum&&n.push(`${a}: <= exclusiveMinimum`),e.exclusiveMaximum!==void 0&&r>=e.exclusiveMaximum&&n.push(`${a}: >= exclusiveMaximum`)),typeof r=="string"&&(e.minLength!==void 0&&r.length<e.minLength&&n.push(`${a}: shorter than minLength ${e.minLength}`),e.maxLength!==void 0&&r.length>e.maxLength&&n.push(`${a}: longer than maxLength ${e.maxLength}`),e.pattern!==void 0&&!new RegExp(e.pattern).test(r)&&n.push(`${a}: does not match pattern`)),Array.isArray(r)&&(e.minItems!==void 0&&r.length<e.minItems&&n.push(`${a}: fewer than minItems ${e.minItems}`),e.maxItems!==void 0&&r.length>e.maxItems&&n.push(`${a}: more than maxItems ${e.maxItems}`),e.uniqueItems&&new Set(r.map(i=>JSON.stringify(i))).size!==r.length&&n.push(`${a}: items not unique`),e.items&&r.forEach((i,l)=>F(e.items,i,`${a}[${l}]`,n))),_(r)==="object"){const i=r;for(const l of e.required??[])(!(l in i)||i[l]===void 0)&&n.push(`${a}.${l}: required`);if(e.properties)for(const[l,d]of Object.entries(e.properties))l in i&&i[l]!==void 0&&F(d,i[l],`${a}.${l}`,n)}}function qe(e,r){const t=[];return F(e,r,"",t),{valid:t.length===0,errors:t}}var Me=b('<span class="self-end text-xs text-muted-foreground">/'),Ee=b('<div class="flex flex-col gap-1">'),Ne=b("<input data-control type=number>"),Re=b('<div class="flex items-center gap-3"><input data-control type=range class=kai-range><span class="min-w-9 shrink-0 rounded-md bg-background px-2 py-1 text-center text-sm font-medium tabular-nums text-foreground shadow-sm">'),Te=b('<div role=radiogroup data-control tabindex=0 class="flex items-center gap-1 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">'),Ke=b('<button type=button role=radio tabindex=-1 class="rounded p-0.5 text-muted-foreground hover:text-foreground">'),Ve=b("<button data-control type=button role=switch><span>"),De=b('<label class="-mx-1.5 inline-flex cursor-pointer items-center gap-2.5 rounded-md px-1.5 py-1.5 text-sm text-foreground transition-colors hover:bg-muted/60"><input data-control type=checkbox class=kai-checkbox><span>'),Je=b('<div role=radiogroup data-control class="divide-y divide-border overflow-hidden rounded-lg border border-input">'),ze=b("<label><input type=radio class=kai-radio><span>"),_e=b("<select data-control><option value disabled>"),re=b("<option>"),Fe=b('<div role=group data-control class="divide-y divide-border overflow-hidden rounded-lg border border-input">'),Ue=b("<label><input type=checkbox class=kai-checkbox><span>"),Ye=b("<select data-control multiple>"),Ze=b('<div class="flex flex-col gap-2"role=group><div class="flex flex-wrap gap-1.5"></div><div class="flex items-center gap-2"><input data-control type=text><button type=button class="rounded-md border border-input px-3 py-2 text-sm text-foreground hover:bg-muted disabled:opacity-50">Add'),Ge=b('<span class="inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs text-foreground"><button type=button class="text-muted-foreground hover:text-foreground">\u2715');function A(e){return{"aria-required":e.required||void 0,"aria-invalid":e.invalid||void 0,"aria-describedby":e.describedBy}}function He(e){const r=()=>{switch(e.variant){case"email":return"email";case"url":return"url";case"date":return"date";case"datetime":return"datetime-local";case"time":return"time";case"password":return"password";default:return"text"}};return u(Ce,x({get id(){return e.id},"data-control":!0,get type(){return r()},get value(){return e.value??""},get placeholder(){return e.placeholder},get invalid(){return e.invalid},get disabled(){return e.disabled},get minLength(){return e.field.minLength},get maxLength(){return e.field.maxLength}},()=>A(e),{onValueInput:t=>e.onInput(t),onValueChange:()=>e.onBlur()}))}function Pe(e){const r=()=>(e.value??"").length;return(()=>{var t=Ee();return m(t,u(je,x({get id(){return e.id},"data-control":!0,get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get value(){return e.value??""},get placeholder(){return e.placeholder},get disabled(){return e.disabled},get maxLength(){return e.field.maxLength}},()=>A(e),{onInput:n=>e.onInput(n.currentTarget.value),get onBlur(){return e.onBlur}})),null),m(t,u(y,{get when(){return e.field.maxLength!==void 0},get children(){var n=Me(),a=n.firstChild;return m(n,r,a),m(n,()=>e.field.maxLength,null),n}}),null),t})()}function Qe(e){const r=()=>e.field["x-kai-step"]??(e.field.type==="integer"?1:void 0);return(()=>{var t=Ne();return L(t,x({get id(){return e.id},get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get value(){return pe(()=>e.value===void 0||e.value===null)()?"":String(e.value)},get placeholder(){return e.placeholder},get disabled(){return e.disabled},get min(){return e.field.minimum},get max(){return e.field.maximum},get step(){return r()}},()=>A(e),{onInput:n=>e.onInput(n.currentTarget.value),get onBlur(){return e.onBlur}}),!1,!1),t})()}function We(e){const r=()=>e.field.minimum??0,t=()=>e.field.maximum??100,n=()=>e.field["x-kai-step"]??(e.field.type==="integer"?1:void 0),a=()=>e.value===void 0||e.value===null?r():Number(e.value),i=()=>{const l=r(),d=t();return d>l?`${(a()-l)/(d-l)*100}%`:"0%"};return(()=>{var l=Re(),d=l.firstChild,h=d.nextSibling;return L(d,x({get id(){return e.id},get style(){return{"--kai-range-fill":i()}},get value(){return a()},get min(){return r()},get max(){return t()},get step(){return n()},get disabled(){return e.disabled},get"aria-valuetext"(){return String(a())}},()=>A(e),{onInput:v=>e.onInput(Number(v.currentTarget.value)),get onBlur(){return e.onBlur}}),!1,!1),m(h,a),l})()}function Xe(e){const r=()=>e.field.maximum??5,t=()=>Number(e.value??0),n=()=>Array.from({length:r()},(i,l)=>l+1),a=i=>{i.key==="ArrowRight"||i.key==="ArrowUp"?(i.preventDefault(),e.onInput(Math.min(r(),t()+1))):(i.key==="ArrowLeft"||i.key==="ArrowDown")&&(i.preventDefault(),e.onInput(Math.max(e.field.minimum??1,t()-1)))};return(()=>{var i=Te();return L(i,x({get"aria-label"(){return e.label}},()=>A(e),{onKeyDown:a}),!1,!0),m(i,u(C,{get each(){return n()},children:l=>(()=>{var d=Ke();return d.$$click=()=>e.onInput(l),j(d,"aria-label",`${l} ${l===1?"star":"stars"}`),m(d,u(Oe,{size:20,get class(){return O(l<=t()?"fill-current text-[var(--color-primary)]":"")},"aria-hidden":"true"})),k(h=>{var v=t()===l,p=e.disabled;return v!==h.e&&j(d,"aria-checked",h.e=v),p!==h.t&&(d.disabled=h.t=p),h},{e:void 0,t:void 0}),d})()})),i})()}function er(e){const r=()=>e.value===!0,t=()=>{e.disabled||(e.onInput(!r()),e.onBlur())};return(()=>{var n=Ve(),a=n.firstChild;return L(n,x({get id(){return e.id},get"aria-checked"(){return r()},get"aria-label"(){return e.label},get disabled(){return e.disabled},get class(){return O("relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",r()?"bg-[var(--color-primary)]":"bg-muted")}},()=>A(e),{onClick:t}),!1,!0),k(()=>T(a,O("inline-block h-5 w-5 transform rounded-full bg-background shadow transition-transform",r()?"translate-x-5":"translate-x-0.5"))),n})()}function rr(e){return(()=>{var r=De(),t=r.firstChild,n=t.nextSibling;return L(t,x({get id(){return e.id},get checked(){return e.value===!0},get disabled(){return e.disabled}},()=>A(e),{onChange:a=>{e.onInput(a.currentTarget.checked),e.onBlur()}}),!1,!1),m(n,()=>e.label),r})()}function tr(e){const r=()=>e.field.enum??[];return(()=>{var t=Je();return L(t,x({get"aria-label"(){return e.label}},()=>A(e)),!1,!0),m(t,u(C,{get each(){return r()},children:n=>(()=>{var a=ze(),i=a.firstChild,l=i.nextSibling;return i.addEventListener("change",()=>{e.onInput(n),e.onBlur()}),m(l,()=>String(n)),k(d=>{var h=O("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",e.value===n?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50"),v=e.id,p=e.disabled;return h!==d.e&&T(a,d.e=h),v!==d.t&&j(i,"name",d.t=v),p!==d.a&&(i.disabled=d.a=p),d},{e:void 0,t:void 0,a:void 0}),k(()=>i.value=String(n)),k(()=>i.checked=e.value===n),a})()})),t})()}function nr(e){const r=()=>e.field.enum??[];return(()=>{var t=_e(),n=t.firstChild;return L(t,x({get id(){return e.id},get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get disabled(){return e.disabled}},()=>A(e),{onChange:a=>{e.onInput(a.currentTarget.value),e.onBlur()}}),!1,!0),m(n,()=>e.placeholder??"Select\u2026"),m(t,u(C,{get each(){return r()},children:a=>(()=>{var i=re();return m(i,()=>String(a)),k(()=>i.selected=e.value===a),k(()=>i.value=String(a)),i})()}),null),k(()=>n.selected=e.value===void 0||e.value===""),t})()}function te(e){const r=e.items;return r&&"enum"in r&&Array.isArray(r.enum)?r.enum:[]}function ir(e){const r=()=>Array.isArray(e.value)?e.value:[],t=n=>{const a=r(),i=a.includes(n)?a.filter(l=>l!==n):[...a,n];e.onInput(i),e.onBlur()};return(()=>{var n=Fe();return L(n,x({get"aria-label"(){return e.label}},()=>A(e)),!1,!0),m(n,u(C,{get each(){return te(e.field)},children:a=>(()=>{var i=Ue(),l=i.firstChild,d=l.nextSibling;return l.addEventListener("change",()=>t(a)),m(d,()=>String(a)),k(h=>{var v=O("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",r().includes(a)?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50"),p=e.disabled;return v!==h.e&&T(i,h.e=v),p!==h.t&&(l.disabled=h.t=p),h},{e:void 0,t:void 0}),k(()=>l.checked=r().includes(a)),i})()})),n})()}function ar(e){const r=()=>Array.isArray(e.value)?e.value:[];return(()=>{var t=Ye();return L(t,x({get id(){return e.id},get"aria-label"(){return e.label},get class(){return O(R,"min-h-[6rem]",e.invalid&&"border-destructive dark:border-red-400/70")},get disabled(){return e.disabled}},()=>A(e),{onChange:n=>{const a=Array.from(n.currentTarget.selectedOptions).map(i=>i.value);e.onInput(a),e.onBlur()}}),!1,!0),m(t,u(C,{get each(){return te(e.field)},children:n=>(()=>{var a=re();return m(a,()=>String(n)),k(()=>a.selected=r().includes(n)),k(()=>a.value=String(n)),a})()})),t})()}function lr(e){const r=()=>Array.isArray(e.value)?e.value:[],[t,n]=he(""),a=()=>{const l=t().trim();l&&(e.onInput([...r(),l]),n(""),e.onBlur())},i=l=>{e.onInput(r().filter((d,h)=>h!==l)),e.onBlur()};return(()=>{var l=Ze(),d=l.firstChild,h=d.nextSibling,v=h.firstChild,p=v.nextSibling;return m(d,u(C,{get each(){return r()},children:(g,S)=>(()=>{var w=Ge(),I=w.firstChild;return m(w,g,I),I.$$click=()=>i(S()),j(I,"aria-label",`Remove ${g}`),k(()=>I.disabled=e.disabled),w})()})),L(v,x({get id(){return e.id},get class(){return O(R)},get value(){return t()},get placeholder(){return e.placeholder??"Add\u2026"},get disabled(){return e.disabled}},()=>A(e),{onInput:g=>n(g.currentTarget.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),a())}}),!1,!1),p.$$click=a,k(g=>{var S=e.label,w=e.disabled;return S!==g.e&&j(l,"aria-label",g.e=S),w!==g.t&&(p.disabled=g.t=w),g},{e:void 0,t:void 0}),l})()}ve(["click"]);var ur=b("<form novalidate>"),sr=b('<div class="flex w-full flex-wrap items-center justify-between gap-2"><div class="ml-auto flex flex-wrap items-center gap-2">'),or=b('<div class="flex flex-col gap-3"><p class="flex items-center gap-2 text-sm font-medium text-foreground"><span>Submitted</span></p><dl class="grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1.5">'),dr=b('<dt class="text-xs text-muted-foreground">'),cr=b('<dd class="m-0 text-sm font-medium text-foreground">'),mr=b('<span class="text-destructive dark:text-red-400"aria-hidden=true> *'),gr=b('<label class="text-sm font-medium text-foreground">'),fr=b('<p class="text-xs text-muted-foreground">'),pr=b('<p role=alert class="text-xs text-destructive dark:text-red-400">'),hr=b('<div class="flex flex-col gap-2 rounded-xl bg-surface p-3.5">'),vr=b('<p class="rounded-md border border-dashed border-border p-2 text-xs text-muted-foreground">Unsupported field "<!>".'),br=b('<fieldset class="flex flex-col gap-3 rounded-lg border border-border p-3"><legend class="px-1 text-sm font-medium text-foreground">'),xr=b('<fieldset class="flex flex-col gap-3 rounded-lg border border-border p-3"data-control><legend class="px-1 text-sm font-medium text-foreground">'),yr=b('<div class="flex flex-col gap-2 rounded-md border border-border/60 p-2"><div class="flex items-center justify-between"><span class="text-xs text-muted-foreground">Item ');const U=4,kr=new Set(["textarea","slider","rating","radio","select","checkbox","password","switch"]);function wr(e,r){const t=e["x-kai-widget"];if(t&&kr.has(t))switch(t){case"textarea":return"textarea";case"slider":return"slider";case"rating":return"rating";case"radio":return"radio";case"select":return"select";case"checkbox":return"checkbox";case"password":return"password";case"switch":return"switch"}switch(e.type){case"string":{if(Array.isArray(e.enum))return e.enum.length<=r?"radio":"select";switch(e.format){case"email":return"email";case"uri":case"url":return"url";case"date":return"date";case"date-time":return"datetime";case"time":return"time"}return e.maxLength!==void 0&&e.maxLength>120?"textarea":"text"}case"number":case"integer":return"number";case"boolean":return"switch";case"array":{const n=e.items;return n&&"enum"in n&&Array.isArray(n.enum)?n.enum.length<=r?"checkbox-group":"multiselect":n&&"type"in n&&n.type==="object"?"repeater":(n&&"type"in n&&n.type,"taglist")}case"object":return"fieldset";default:return"unsupported"}}function Y(e){return e.replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").trim().replace(/\b\w/g,r=>r.toUpperCase())}function Ir(e){const r=Object.keys(e.properties??{}),t=e["x-kai-order"];if(Array.isArray(t)){const i=t.filter(d=>r.includes(d)),l=r.filter(d=>!i.includes(d));return[...i,...l]}const n=(e.required??[]).filter(i=>r.includes(i)),a=r.filter(i=>!n.includes(i));return[...n,...a]}function $r(e,r){if(e.type==="number"||e.type==="integer"){if(r===""||r===null||r===void 0)return;const t=typeof r=="number"?r:Number(r);return Number.isNaN(t)?r:t}return e.type==="boolean"?!!r:r}const Ar="^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$";function Sr(e){const r={type:e.type};return e.enum&&(r.enum=e.enum),e.minimum!==void 0&&(r.minimum=e.minimum),e.maximum!==void 0&&(r.maximum=e.maximum),e.minLength!==void 0&&(r.minLength=e.minLength),e.maxLength!==void 0&&(r.maxLength=e.maxLength),e.minItems!==void 0&&(r.minItems=e.minItems),e.maxItems!==void 0&&(r.maxItems=e.maxItems),e.pattern!==void 0?r.pattern=e.pattern:e.format==="email"&&(r.pattern=Ar),r}function ne(e){return e==null||e===""||Array.isArray(e)&&e.length===0}function V(e,r){const t={},n=new Set(e.required??[]);for(const[a,i]of Object.entries(e.properties??{})){const l=r[a];if(n.has(a)&&ne(l)){t[a]=`${i.title??Y(a)} is required.`;continue}if(ne(l))continue;const d=qe(Sr(i),l);d.valid||(t[a]=jr(i,a,d.errors[0]))}return{valid:Object.keys(t).length===0,fieldErrors:t}}function jr(e,r,t){const n=e.title??Y(r);return t?t.includes("minimum")?`${n} must be at least ${e.minimum}.`:t.includes("maximum")?`${n} must be at most ${e.maximum}.`:t.includes("minLength")?`${n} must be at least ${e.minLength} characters.`:t.includes("maxLength")?`${n} must be at most ${e.maxLength} characters.`:t.includes("pattern")?e.format==="email"?`${n} must be a valid email address.`:`${n} is not in the expected format.`:t.includes("one of")?`${n} must be one of the allowed options.`:t.includes("expected integer")?`${n} must be a whole number.`:t.includes("expected")?`${n} is invalid.`:t.includes("minItems")?`${n}: choose at least ${e.minItems}.`:t.includes("maxItems")?`${n}: choose at most ${e.maxItems}.`:`${n} is invalid.`:`${n} is invalid.`}function Cr(e,r){return e?.["x-kai-widget"]==="password"?r==null||r===""?"\u2014":"\u2022\u2022\u2022\u2022":typeof r=="boolean"?r?"Yes":"No":r==null||r===""?"\u2014":Array.isArray(r)?r.length?r.map(t=>String(t)).join(", "):"\u2014":String(r)}function Or(e,r){const t=e.properties??{};return(Array.isArray(e["x-kai-order"])&&e["x-kai-order"].length>0?e["x-kai-order"].filter(n=>n in t):Object.keys(t)).map(n=>{const a=t[n];return{key:n,label:a?.title??n,value:Cr(a,r[n])}})}function ie(e,r){const t={};for(const n of Object.keys(e.properties??{})){const a=e.properties[n],i=$r(a,r[n]);i===void 0||i===""||Array.isArray(i)&&i.length===0||(t[n]=i)}return t}const ae={type:"object",properties:{}};function Lr(e){const r=x({cardId:"kai-form"},e),[t]=be(r,["data","cardId","heading","host","hostElement","class","resolution","values","defaultValues","disabled","onValuesChange","controllerRef"]),n=Ie(),a=s=>{const o=t.host??n;o?o.emit(s):t.hostElement&&Se(t.hostElement,s)},i=E(()=>{const s=t.data;return s?s.type!=="object"||typeof s.properties!="object"||s.properties===null?{ok:!1,message:"This form couldn't be displayed."}:{ok:!0,message:""}:{ok:!1,message:"No form definition provided."}}),l=E(()=>i().ok?t.data??ae:ae),d=()=>l()["x-kai-inlineMax"]??U,h=E(()=>Ir(l())),v=$e({prop:()=>t.resolution,data:()=>t.data}),[p,g]=ee({}),[S,w]=ee({}),I=s=>{const o={};for(const[c,f]of Object.entries(s.properties??{}))f.default!==void 0?o[c]=f.default:f.type==="array"&&(o[c]=[]);return t.defaultValues&&Object.assign(o,t.defaultValues),t.values&&Object.assign(o,t.values),o},M=s=>{const o=I(s);g(q(c=>{for(const f of Object.keys(c))delete c[f];Object.assign(c,o)})),w(q(c=>{for(const f of Object.keys(c))delete c[f]}))},ue=()=>{const s=l(),o={};for(const[c,f]of Object.entries(s.properties??{}))f.default!==void 0?o[c]=f.default:f.type==="array"&&(o[c]=[]);g(q(c=>{for(const f of Object.keys(c))delete c[f];Object.assign(c,o)})),w(q(c=>{for(const f of Object.keys(c))delete c[f]}))};K(D(()=>t.data,()=>{i().ok&&M(l())})),K(D(()=>t.values,s=>{s&&g(q(o=>{for(const c of Object.keys(o))delete o[c];Object.assign(o,s)}))},{defer:!0})),K(D(i,s=>{s.ok?a({kind:"ready",cardId:t.cardId}):a({kind:"error",cardId:t.cardId,message:s.message})})),K(()=>{var s;const o=t.hostElement;o&&(((s=v.resolution())==null?void 0:s.kind)==="submit"?o.setAttribute("data-kai-resolved","submitted"):o.removeAttribute("data-kai-resolved"))});const se=(s,o)=>{var c;g(s,o),S[s]&&w(s,void 0);const f=J(p),$=ie(l(),f),{valid:B}=V(l(),f);(c=t.onValuesChange)==null||c.call(t,{values:$,valid:B})},oe=s=>{const o=l().properties[s];if(!o)return;const c=V({required:l().required,properties:{[s]:o}},{[s]:p[s]});w(s,c.fieldErrors[s])},G=s=>{var o;return s?.closest("form")??s??((o=t.hostElement)==null?void 0:o.shadowRoot)??document},H=(s,o,c)=>{var f;(f=o.querySelector(`[data-field="${Tr(s)}"] [data-control]`))==null||f.focus(c)},P=s=>{if(v.isResolved())return!1;const o=J(p),c=V(l(),o);if(w(q($=>{for(const B of Object.keys($))delete $[B];Object.assign($,c.fieldErrors)})),!c.valid){const $=h().find(B=>c.fieldErrors[B]);if($){const B=G(s);queueMicrotask(()=>H($,B))}return!1}const f=ie(l(),o);return a({kind:"submit",cardId:t.cardId,data:f}),v.setLocal({kind:"submit",data:f}),!0},de=s=>{s.preventDefault(),P(s.currentTarget)},Q=()=>{v.isResolved()||(a({kind:"dismiss",cardId:t.cardId}),v.setLocal({kind:"dismissed"}))},W=()=>a({kind:"reopen",cardId:t.cardId}),X=()=>t.disabled===!0;xe(()=>{var s;(s=t.controllerRef)==null||s.call(t,{focus:o=>{const c=G(),f=h().find($=>S[$])??h()[0];f&&H(f,c,o)},send:()=>{P()},validate:()=>{const o=J(p),c=V(l(),o);return w(q(f=>{for(const $ of Object.keys(f))delete f[$];Object.assign(f,c.fieldErrors)})),c.valid?{valid:!0}:{valid:!1,errors:c.fieldErrors}},reset:()=>ue(),dismiss:()=>Q(),reopen:()=>W()})});const ce=E(()=>l()["x-kai-actions"]??[]),me=()=>l()["x-kai-submitLabel"]??"Submit",ge=()=>l()["x-kai-dismissible"]===!0,fe=E(()=>{const s=v.resolution();return!s||s.kind!=="submit"?[]:Or(l(),s.data??{})});return u(y,{get when(){return i().ok},get fallback(){return u(z,{get heading(){return t.heading},get errorMessage(){return i().message}})},get children(){return u(ye,{fallback:()=>(a({kind:"error",cardId:t.cardId,message:"The form failed to render."}),u(z,{get heading(){return t.heading},errorMessage:"The form failed to render."})),get children(){return u(y,{get when(){return!v.isDeferred()},get fallback(){return u(Ae,{type:"form",get title(){return t.heading??l().title},onReopen:W})},get children(){return u(z,{get heading(){return t.heading??l().title},get description(){return l().description},get actions(){return u(y,{get when(){return!v.isResolved()},fallback:void 0,get children(){var s=sr(),o=s.firstChild;return m(s,u(y,{get when(){return ge()},get children(){return u(N,{type:"button",variant:"ghost",onClick:Q,children:"Dismiss"})}}),o),m(o,u(C,{get each(){return ce()},children:c=>u(N,{type:"button",get variant(){return c.variant??"ghost"},onClick:()=>a({kind:"action",cardId:t.cardId,action:c.id}),get children(){return c.label}})}),null),m(o,u(N,{type:"submit",get form(){return le()},get disabled(){return X()},get children(){return me()}}),null),s}})},get children(){return u(y,{get when(){return!v.isResolved()},get fallback(){return u(Mr,{get rows(){return fe()},get optimistic(){return v.isOptimistic()}})},get children(){var s=ur();return s.addEventListener("submit",de),m(s,u(C,{get each(){return h()},children:o=>u(Z,{fieldKey:o,get field(){return l().properties[o]},get required(){return(l().required??[]).includes(o)},get inlineMax(){return d()},value:()=>p[o],error:()=>S[o],get disabled(){return X()},onInput:c=>se(o,c),onBlur:()=>oe(o)})})),k(o=>{var c=le(),f=O("flex flex-col gap-3",t.class);return c!==o.e&&j(s,"id",o.e=c),f!==o.t&&T(s,o.t=f),o},{e:void 0,t:void 0}),s}})}})}})}})}})}let Br=0;const qr=`kai-form-${++Br}`;function le(){return qr}function Mr(e){return(()=>{var r=or(),t=r.firstChild,n=t.firstChild,a=t.nextSibling;return m(t,u(Le,{size:16,"aria-hidden":"true"}),n),m(a,u(C,{get each(){return e.rows},children:i=>[(()=>{var l=dr();return m(l,()=>i.label),l})(),(()=>{var l=cr();return m(l,()=>i.value),l})()]})),k(()=>j(r,"role",e.optimistic?"status":void 0)),r})()}function Z(e){const r=`f-${e.fieldKey}-${Math.random().toString(36).slice(2,8)}`,t=`${r}-err`,n=`${r}-desc`,a=()=>e.field.title??Y(e.fieldKey),i=E(()=>wr(e.field,e.inlineMax)),l=()=>e.field["x-kai-placeholder"],d=()=>[e.field.description?n:"",e.error()?t:""].filter(Boolean).join(" ")||void 0,h=()=>({id:r,value:e.value(),field:e.field,disabled:e.disabled||e.field.readOnly===!0,placeholder:l(),required:e.required,invalid:!!e.error(),describedBy:d(),label:a(),onInput:e.onInput,onBlur:e.onBlur}),v=()=>["fieldset","repeater","checkbox-group","multiselect","radio","taglist"].includes(i());return(()=>{var p=hr();return m(p,u(y,{get when(){return!v()},get children(){var g=gr();return j(g,"for",r),m(g,a,null),m(g,u(y,{get when(){return e.required},get children(){return mr()}}),null),g}}),null),m(p,u(y,{get when(){return e.field.description},get children(){var g=fr();return j(g,"id",n),m(g,()=>e.field.description),g}}),null),m(p,u(Er,{get widget(){return i()},get common(){return h()},get fieldKey(){return e.fieldKey}}),null),m(p,u(y,{get when(){return e.error()},get children(){var g=pr();return j(g,"id",t),m(g,()=>e.error()),g}}),null),k(()=>j(p,"data-field",e.fieldKey)),p})()}function Er(e){const r=()=>e.widget,t=()=>e.common;return[u(y,{get when(){return r()==="text"||r()==="email"||r()==="url"||r()==="date"||r()==="datetime"||r()==="time"||r()==="password"},get children(){return u(He,x(t,{get variant(){return r()}}))}}),u(y,{get when(){return r()==="textarea"},get children(){return u(Pe,x(t))}}),u(y,{get when(){return r()==="number"},get children(){return u(Qe,x(t))}}),u(y,{get when(){return r()==="slider"},get children(){return u(We,x(t))}}),u(y,{get when(){return r()==="rating"},get children(){return u(Xe,x(t))}}),u(y,{get when(){return r()==="switch"},get children(){return u(er,x(t))}}),u(y,{get when(){return r()==="checkbox"},get children(){return u(rr,x(t))}}),u(y,{get when(){return r()==="radio"},get children(){return u(tr,x(t))}}),u(y,{get when(){return r()==="select"},get children(){return u(nr,x(t))}}),u(y,{get when(){return r()==="checkbox-group"},get children(){return u(ir,x(t))}}),u(y,{get when(){return r()==="multiselect"},get children(){return u(ar,x(t))}}),u(y,{get when(){return r()==="taglist"},get children(){return u(lr,x(t))}}),u(y,{get when(){return r()==="repeater"},get children(){return u(Rr,x(t,{inlineMax:U}))}}),u(y,{get when(){return r()==="fieldset"},get children(){return u(Nr,x(t,{inlineMax:U}))}}),u(y,{get when(){return r()==="unsupported"},get children(){var n=vr(),a=n.firstChild,i=a.nextSibling;return i.nextSibling,m(n,()=>e.fieldKey,i),n}})]}function Nr(e){const r=()=>e.field.properties??{},t=()=>e.value&&typeof e.value=="object"?e.value:{},n=(a,i)=>{e.onInput({...t(),[a]:i})};return(()=>{var a=br(),i=a.firstChild;return m(i,()=>e.label),m(a,u(C,{get each(){return Object.keys(r())},children:l=>u(Z,{fieldKey:l,get field(){return r()[l]},get required(){return(e.field.required??[]).includes(l)},get inlineMax(){return e.inlineMax},value:()=>t()[l],error:()=>{},get disabled(){return e.disabled},onInput:d=>n(l,d),get onBlur(){return e.onBlur}})}),null),a})()}function Rr(e){const r=()=>e.field.items??{type:"object",properties:{}},t=()=>Array.isArray(e.value)?e.value:[],n=d=>e.onInput(d),a=()=>n([...t(),{}]),i=d=>n(t().filter((h,v)=>v!==d)),l=(d,h,v)=>{const p=t().slice();p[d]={...p[d],[h]:v},n(p)};return(()=>{var d=xr(),h=d.firstChild;return m(h,()=>e.label),m(d,u(ke,{get each(){return t()},children:(v,p)=>(()=>{var g=yr(),S=g.firstChild,w=S.firstChild;return w.firstChild,m(w,p+1,null),m(S,u(N,{type:"button",size:"icon-sm",variant:"ghost","aria-label":`Remove row ${p+1}`,get disabled(){return e.disabled},onClick:()=>i(p),children:"\u2715"}),null),m(g,u(C,{get each(){return Object.keys(r().properties??{})},children:I=>u(Z,{fieldKey:I,get field(){return r().properties[I]},get required(){return(r().required??[]).includes(I)},get inlineMax(){return e.inlineMax},value:()=>{var M;return(M=v())==null?void 0:M[I]},error:()=>{},get disabled(){return e.disabled},onInput:M=>l(p,I,M),get onBlur(){return e.onBlur}})}),null),g})()}),null),m(d,u(N,{type:"button",variant:"outline",size:"sm",get disabled(){return e.disabled},onClick:a,children:"Add item"}),null),d})()}function Tr(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}we("kai-form",{data:void 0,cardId:void 0,heading:void 0,resolution:void 0,values:void 0,defaultValues:void 0,disabled:!1},(e,{element:r,dispatch:t,flag:n,expose:a})=>{let i;return a({focus:l=>i?.focus(l),send:()=>i?.send(),validate:()=>i?.validate()??{valid:!1},reset:()=>i?.reset(),dismiss:()=>i?.dismiss(),reopen:()=>i?.reopen()}),u(Lr,{get data(){return e.data},get cardId(){return e.cardId??(r.id||"kai-form")},get heading(){return e.heading},get resolution(){return e.resolution},get values(){return e.values},get defaultValues(){return e.defaultValues},get disabled(){return n("disabled")},onValuesChange:l=>t("kai-values-change",l),controllerRef:l=>i=l,hostElement:r})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as s,c as o,q as d,n as i,t as n}from"./chunks/define-
|
|
1
|
+
import{f as s,c as o,q as d,n as i,t as n}from"./chunks/define-CNSKFZCd.js";import{b as c,c as p,a as u}from"./chunks/hover-card-BQGdGAQ3.js";import{w as v}from"./chunks/disclosure-BcBs--Jf.js";var m=n("<style>:host{display:inline-block}"),f=n("<slot>"),g=n("<slot name=card>");s("kai-hover-card",{openDelay:void 0,closeDelay:void 0,placement:void 0,open:void 0,defaultOpen:void 0,disabled:void 0},(l,r)=>{const{flag:t}=r;let a;return v(r,()=>a,()=>l.open),[m(),o(u,{get openDelay(){return i(()=>l.openDelay!=null)()?Number(l.openDelay):void 0},get closeDelay(){return i(()=>l.closeDelay!=null)()?Number(l.closeDelay):void 0},get defaultOpen(){return t("defaultOpen")},get disabled(){return t("disabled")},controllerRef:e=>a=e,get children(){return[o(c,{get children(){var e=f();return e._$owner=d(),e}}),o(p,{get placement(){return l.placement??void 0},get children(){var e=g();return e._$owner=d(),e}})]}})]});
|
package/dist/elements/icon.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as l,i as m,a as n,b as r,t as a}from"./chunks/define-
|
|
1
|
+
import{f as l,i as m,a as n,b as r,t as a}from"./chunks/define-CNSKFZCd.js";import{r as o}from"./chunks/icon-CAyRqVrg.js";import{c as f}from"./chunks/cn-CU7UAWzk.js";var t=a("<style>:host{display:inline-flex}"),z=a("<span part=icon>");const e={sm:"size-3.5",md:"size-4",lg:"size-5"};l("kai-icon",{name:"",size:"md"},i=>[t(),(()=>{var s=z();return m(s,()=>o(i.name,{class:"size-full",imgClass:"size-full",spanClass:"size-full"})),n(()=>r(s,f("inline-flex shrink-0",e[i.size??"md"]??e.md))),s})()]);
|
package/dist/elements/image.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as b,g as v,h as f,p,c as o,a as y,d as m,b as h,S as w,t as T,f as R}from"./chunks/define-
|
|
1
|
+
import{s as b,g as v,h as f,p,c as o,a as y,d as m,b as h,S as w,t as T,f as R}from"./chunks/define-CNSKFZCd.js";import{c}from"./chunks/cn-CU7UAWzk.js";import{S as U}from"./chunks/skeleton-Pjc5jiaY.js";var k=T("<img role=img>");function A(r,e){if(r&&e)return`data:${e};base64,${r}`}function L(r){const[e,j]=b(r,["base64","uint8Array","mediaType","class","alt"]),[g,n]=v(void 0),l=()=>e.mediaType??"image/png";f(()=>{const t=e.uint8Array,a=l();if(t&&a){const i=new Blob([t],{type:a}),s=URL.createObjectURL(i);n(s),p(()=>URL.revokeObjectURL(s))}else n(void 0)});const d=()=>A(e.base64,l())??g();return o(w,{get when(){return d()},get fallback(){return o(U,{get"aria-label"(){return e.alt},role:"img",get class(){return c("h-auto max-w-full overflow-hidden",e.class)}})},get children(){var t=k();return y(a=>{var i=d(),s=e.alt,u=c("h-auto max-w-full overflow-hidden rounded-md",e.class);return i!==a.e&&m(t,"src",a.e=i),s!==a.t&&m(t,"alt",a.t=s),u!==a.a&&h(t,a.a=u),a},{e:void 0,t:void 0,a:void 0}),t}})}R("kai-image",{base64:void 0,bytes:void 0,alt:"",mediaType:void 0},r=>o(L,{get alt(){return r.alt??""},get base64(){return r.base64},get uint8Array(){return r.bytes},get mediaType(){return r.mediaType}}));
|
package/dist/elements/input.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as x,g as l,h as O,o as S,c as I,A as M,d as V,q as $,t as m,p as h}from"./chunks/define-
|
|
1
|
+
import{f as x,g as l,h as O,o as S,c as I,A as M,d as V,q as $,t as m,p as h}from"./chunks/define-CNSKFZCd.js";import{I as C}from"./chunks/input-DZD67EvW.js";var F=m("<slot>"),_=m("<style>:host{display:block}");const j=["leading","trailing"];x("kai-input",{type:"text",value:void 0,placeholder:void 0,label:void 0,hint:void 0,error:void 0,size:"md",disabled:void 0,readonly:void 0,required:void 0,invalid:void 0,name:void 0,autocomplete:void 0,inputmode:void 0},(r,y)=>{const{element:t,dispatch:a,flag:n,expose:f}=y,[o,u]=l(r.value??t.getAttribute("value")??""),A=e=>e==null?t.getAttribute("value")??"":String(e),d=e=>{M(o)!==e&&u(e)};Object.defineProperty(t,"value",{get:()=>o(),set:e=>d(A(e)),configurable:!0,enumerable:!0}),O(()=>{const e=o();e?t.getAttribute("value")!==e&&t.setAttribute("value",e):t.hasAttribute("value")&&t.removeAttribute("value")});const[z,q]=l(t.getAttribute("autocapitalize")??void 0),[k,w]=l({leading:!1,trailing:!1});S(()=>{const e=()=>{const p={};for(const b of j)p[b]=!!t.querySelector(`:scope > [slot="${b}"]`);w(p)};e();const i=new MutationObserver(e);i.observe(t,{childList:!0,subtree:!1}),h(()=>i.disconnect());const c=()=>q(t.getAttribute("autocapitalize")??void 0);c();const g=new MutationObserver(c);g.observe(t,{attributes:!0,attributeFilter:["autocapitalize"]}),h(()=>g.disconnect())});const s=e=>k()[e]?(()=>{var i=F();return V(i,"name",e),i._$owner=$(),i})():void 0,v=()=>{var e;return((e=t.shadowRoot)==null?void 0:e.querySelector("input"))??null};return f({focus:e=>{var i;return(i=v())==null?void 0:i.focus(e)},select:()=>{var e;return(e=v())==null?void 0:e.select()},clear:()=>{u(""),a("kai-change",{value:""})}}),[_(),I(C,{get type(){return r.type??"text"},get value(){return o()},get placeholder(){return r.placeholder},get label(){return r.label},get hint(){return r.hint},get error(){return r.error},get size(){return r.size??"md"},get invalid(){return n("invalid")},get disabled(){return n("disabled")},get readonly(){return n("readonly")},get required(){return n("required")},get name(){return r.name},get autocomplete(){return r.autocomplete},get inputmode(){return r.inputmode},get autocapitalize(){return z()},get leading(){return s("leading")},get trailing(){return s("trailing")},onValueInput:e=>{u(e),a("kai-input",{value:e})},onValueChange:e=>{d(e),a("kai-change",{value:e})}})]});
|
package/dist/elements/kbd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as s,c as a,q as o,t as e}from"./chunks/define-
|
|
1
|
+
import{f as s,c as a,q as o,t as e}from"./chunks/define-CNSKFZCd.js";import{K as i}from"./chunks/kbd-DbyVrlnU.js";var l=e("<style>:host{display:inline-flex}"),m=e("<slot>");s("kai-kbd",{keys:void 0,platform:"auto",size:"md"},r=>[l(),a(i,{get keys(){return r.keys},get platform(){return r.platform??"auto"},get size(){return r.size??"md"},get children(){var t=m();return t._$owner=o(),t}})]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as q,g as x,j as v,o as B,h as C,l as L,c as t,i,S as g,a as w,d as f,b as S,t as c,e as F,f as G}from"./chunks/define-
|
|
1
|
+
import{s as q,g as x,j as v,o as B,h as C,l as L,c as t,i,S as g,a as w,d as f,b as S,t as c,e as F,f as G}from"./chunks/define-CNSKFZCd.js";import{c as j}from"./chunks/cn-CU7UAWzk.js";import{S as k}from"./chunks/skeleton-Pjc5jiaY.js";import{l as z}from"./chunks/link-vko7AttA.js";import{e as H}from"./chunks/card-routing-C986KuUA.js";function J(a){try{return new URL(a).hostname.replace(/^www\./,"")}catch{return}}const K=["http:","https:"];function M(a){try{return K.includes(new URL(a).protocol)}catch{return!1}}var P=c('<div class="space-y-2 p-3">'),Q=c('<img role=img class="aspect-[16/9] w-full object-cover">'),T=c('<img alt class="h-3.5 w-3.5 shrink-0 rounded-sm">'),V=c('<div class="line-clamp-3 text-xs text-muted-foreground">'),W=c('<div class="space-y-1 p-3"><div class="flex items-center gap-1.5 text-xs text-muted-foreground"><span class=truncate></span></div><div class="line-clamp-2 text-sm font-semibold text-foreground">'),X=c('<a rel="noopener noreferrer">'),Y=c('<div role=img aria-label="Invalid link"><span class=truncate>Invalid link');function Z(a){return!!(a.title||a.description||a.image)}function _(a){const[n]=q(a,["cardId","data","onEmit","class"]),m=r=>{var e;return(e=n.onEmit)==null?void 0:e.call(n,r)},[D,ee]=x(),[I,re]=x(!1),[R,y]=x(!1),u=()=>n.data.url,h=v(()=>M(u())),s=v(()=>({...n.data,...D()}));B(()=>m({kind:"ready",cardId:n.cardId})),C(L(h,r=>{r||m({kind:"error",cardId:n.cardId,message:`Invalid link url: ${u()}`})})),C(L(()=>[n.data,h()],([r,e])=>{y(!1),!e||Z(r)}));const b=v(()=>s().domain??J(u())??u()),U=v(()=>s().siteName??b()),$=v(()=>s().title??b()),A=v(()=>!!s().image&&!R()),E=()=>{h()&&m({kind:"open",cardId:n.cardId,url:u(),target:"tab"})},N=r=>{r.preventDefault(),E()},O=r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),E())};return t(g,{get when(){return h()},get fallback(){return(()=>{var r=Y(),e=r.firstChild;return i(r,t(z,{size:16,"aria-hidden":"true"}),e),w(()=>S(r,j("flex items-center gap-2 rounded-xl border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive dark:border-red-400/50 dark:bg-destructive/20 dark:text-red-400",n.class))),r})()},get children(){var r=X();return r.$$keydown=O,r.$$click=N,i(r,t(g,{get when(){return I()},get children(){return[t(k,{class:"aspect-[16/9] w-full rounded-none"}),(()=>{var e=P();return i(e,t(k,{class:"h-3 w-1/3"}),null),i(e,t(k,{class:"h-4 w-2/3"}),null),i(e,t(k,{class:"h-3 w-full"}),null),e})()]}}),null),i(r,t(g,{get when(){return!I()},get children(){return[t(g,{get when(){return A()},get children(){var e=Q();return e.addEventListener("error",()=>y(!0)),w(d=>{var l=s().image,o=s().imageAlt??"";return l!==d.e&&f(e,"src",d.e=l),o!==d.t&&f(e,"alt",d.t=o),d},{e:void 0,t:void 0}),e}}),(()=>{var e=W(),d=e.firstChild,l=d.firstChild,o=d.nextSibling;return i(d,t(g,{get when(){return s().favicon},get fallback(){return t(z,{size:12,class:"shrink-0 opacity-70","aria-hidden":"true"})},get children(){var p=T();return w(()=>f(p,"src",s().favicon)),p}}),l),i(l,U),i(o,$),i(e,t(g,{get when(){return s().description},get children(){var p=V();return i(p,()=>s().description),p}}),null),e})()]}}),null),w(e=>{var d=u(),l=`Open ${$()} on ${b()}`,o=j("group block overflow-hidden rounded-xl border border-border bg-card text-card-foreground no-underline outline-none transition-shadow","cursor-pointer hover:shadow-md focus-visible:ring-2 focus-visible:ring-ring",n.class);return d!==e.e&&f(r,"href",e.e=d),l!==e.t&&f(r,"aria-label",e.t=l),o!==e.a&&S(r,e.a=o),e},{e:void 0,t:void 0,a:void 0}),r}})}F(["click","keydown"]),G("kai-link-preview",{cardId:void 0,data:void 0},(a,{element:n})=>t(_,{get cardId(){return a.cardId??""},get data(){return a.data??{url:""}},onEmit:m=>H(n,m)}));
|
package/dist/elements/loader.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as r,c as a}from"./chunks/define-
|
|
1
|
+
import{f as r,c as a}from"./chunks/define-CNSKFZCd.js";import{L as e}from"./chunks/loader-Cg6rO8tQ.js";r("kai-loader",{variant:"circular",size:"md",text:void 0},t=>a(e,{get variant(){return t.variant},get size(){return t.size},get text(){return t.text}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as n,x as i,c as t,C as g}from"./chunks/define-
|
|
1
|
+
import{f as n,x as i,c as t,C as g}from"./chunks/define-CNSKFZCd.js";import{M as a}from"./chunks/markdown-n3Xbj3PR.js";n("kai-markdown",{content:"",proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0},(e,{flag:r})=>{const o=i();return t(g,{get proseSize(){return e.proseSize},get codeTheme(){return e.codeTheme},get codeHighlight(){return r("codeHighlight")},get portalMount(){return o.portalMount()},get children(){return t(a,{get content(){return e.content}})}})});
|
package/dist/elements/menu.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f,c as r,q as p,i as l,S as n,n as a,F as b,t as m}from"./chunks/define-
|
|
1
|
+
import{f,c as r,q as p,i as l,S as n,n as a,F as b,t as m}from"./chunks/define-CNSKFZCd.js";import{D as k,a as v,c as w,d as x,e as y,f as z,g as C,h as I,i as j,j as L,b as O}from"./chunks/dropdown-wgs8xCJZ.js";import{r as s}from"./chunks/icon-CAyRqVrg.js";import{K as S}from"./chunks/kbd-DbyVrlnU.js";import{c as G}from"./chunks/cn-CU7UAWzk.js";import{w as T}from"./chunks/disclosure-BcBs--Jf.js";import{e as D}from"./chunks/ellipsis-CUiEJ6R1.js";var _=m('<span part=shortcut class="ml-auto pl-4 text-muted-foreground">'),$=m("<slot name=trigger>");f("kai-menu",{items:void 0,placement:void 0,triggerIcon:void 0,triggerLabel:void 0,triggerIconTrailing:void 0,label:void 0,open:void 0,defaultOpen:void 0,disabled:void 0},(t,g)=>{const{dispatch:c,flag:o}=g;let d;T(g,()=>d,()=>t.open);function u(i){return r(b,{each:i,children:e=>e.separator?r(x,{}):e.heading?r(y,{get children(){return e.label}}):e.items&&e.items.length>0?r(z,{get children(){return[r(C,{get children(){return[r(n,{get when(){return e.icon},get children(){return s(e.icon,{imgClass:"mr-2 size-4 shrink-0",spanClass:"mr-2 flex h-4 w-4 shrink-0 items-center justify-center text-sm"})}}),a(()=>e.label)]}}),r(I,{get children(){return u(e.items)}})]}}):e.radioGroup!==void 0?r(j,{get checked(){return e.checked},get disabled(){return e.disabled},onSelect:()=>{e.id&&c("kai-select",{id:e.id,radioGroup:e.radioGroup})},get children(){return[r(n,{get when(){return e.icon},get children(){return s(e.icon,{imgClass:"mr-2 size-4 shrink-0",spanClass:"mr-2 flex h-4 w-4 shrink-0 items-center justify-center text-sm"})}}),a(()=>e.label)]}}):e.checked!==void 0?r(L,{get checked(){return e.checked},get disabled(){return e.disabled},onSelect:()=>{e.id&&c("kai-select",{id:e.id,checked:!e.checked})},get children(){return[r(n,{get when(){return e.icon},get children(){return s(e.icon,{imgClass:"mr-2 size-4 shrink-0",spanClass:"mr-2 flex h-4 w-4 shrink-0 items-center justify-center text-sm"})}}),a(()=>e.label)]}}):r(O,{get disabled(){return e.disabled},onSelect:()=>{e.id&&c("kai-select",{id:e.id})},get children(){return[r(n,{get when(){return e.icon},get children(){return s(e.icon,{imgClass:"mr-2 size-4 shrink-0",spanClass:"mr-2 flex h-4 w-4 shrink-0 items-center justify-center text-sm"})}}),a(()=>e.label),r(n,{get when(){return e.shortcut},get children(){var h=_();return l(h,r(S,{get keys(){return e.shortcut},platform:"auto",size:"sm"})),h}})]}})})}return r(w,{get defaultOpen(){return o("defaultOpen")},get disabled(){return o("disabled")},controllerRef:i=>d=i,get children(){return[r(k,{get class(){return G("inline-flex items-center rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",t.triggerLabel?"gap-1.5 px-2 py-1.5 text-sm font-medium text-muted-foreground hover:bg-accent hover:text-foreground":"justify-center p-1.5 text-foreground hover:bg-muted")},get"aria-label"(){return t.label??(t.triggerLabel?void 0:"Open menu")},get children(){var i=$();return i._$owner=p(),l(i,r(n,{get when(){return t.triggerIcon},get children(){return s(t.triggerIcon,{class:"size-4 shrink-0"})}}),null),l(i,r(n,{get when(){return t.triggerLabel},get children(){return t.triggerLabel}}),null),l(i,r(n,{get when(){return t.triggerIconTrailing},get children(){return s(t.triggerIconTrailing,{class:"size-3.5 shrink-0 opacity-60"})}}),null),l(i,r(n,{get when(){return a(()=>!t.triggerIcon)()&&!t.triggerLabel},get children(){return r(D,{class:"size-4"})}}),null),i}}),r(v,{class:"min-w-[15rem]",get children(){return u(t.items??[])}})]}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as n,i as a,F as d,a as p,b as k,S as v,t as o,f as x,g as f,o as g,p as b}from"./chunks/define-
|
|
1
|
+
import{c as n,i as a,F as d,a as p,b as k,S as v,t as o,f as x,g as f,o as g,p as b}from"./chunks/define-CNSKFZCd.js";import{c as h}from"./chunks/cn-CU7UAWzk.js";var w=o("<div>"),S=o('<span class="inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-violet-400/10 text-violet-600 dark:text-violet-400">');function y(t){return n(v,{get when(){return t.skills.length>0},get children(){var e=w();return a(e,n(d,{get each(){return t.skills},children:s=>(()=>{var r=S();return a(r,()=>s.name),r})()})),p(()=>k(e,h("flex items-center gap-1 flex-wrap",t.class))),e}})}function c(t){var e;const s=((e=t.textContent)==null?void 0:e.trim())??"";return{id:t.getAttribute("id")??s,name:s}}x("kai-skills",{skills:[]},(t,{element:e})=>{const[s,r]=f([]);g(()=>{const i=()=>{const m=[...e.querySelectorAll("kai-skill")];r(m.map(c))};i();const l=new MutationObserver(i);l.observe(e,{childList:!0,attributes:!0,subtree:!0}),b(()=>l.disconnect())});const u=()=>[...t.skills??[],...s()];return n(y,{get skills(){return u()}})});export{c as parseKaiSkillElement};
|
package/dist/elements/message.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as L,x as O,g as y,o as U,c as a,S as g,n as u,i as j,a as D,b as E,C as G,q as v,t as l,p as I}from"./chunks/define-
|
|
1
|
+
import{f as L,x as O,g as y,o as U,c as a,S as g,n as u,i as j,a as D,b as E,C as G,q as v,t as l,p as I}from"./chunks/define-CNSKFZCd.js";import{r as J,M as K}from"./chunks/slots-DkZ-Cmha.js";import{a as A,M as N,b as P}from"./chunks/message-CgKytiSB.js";import{c as Q}from"./chunks/message-feedback-Ds3-US0e.js";var V=l("<slot name=before-body>"),W=l("<slot name=after-body>"),X=l("<div part=avatar class=shrink-0><slot name=avatar>"),Y=l("<div>");L("kai-message",{message:void 0,role:"assistant",content:void 0,markdown:void 0,proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,actionsReveal:"always",avatarSrc:void 0,avatarFallback:void 0,avatar:void 0},(t,{dispatch:x,flag:m,element:o,expose:S})=>{const $=O(),r=()=>t.message??{id:"message",role:t.role??"assistant",content:t.content??""},s=Q({emit:e=>x("kai-message-action",e)});S({copy:()=>s.handleAction(r(),"copy")});const[F,M]=y([]),[d,C]=y({});U(()=>{const e=()=>{const _=[...o.querySelectorAll("kai-action")];M(_.map(n=>{var w;return{id:n.id||n.getAttribute("action")||"",label:((w=n.textContent)==null?void 0:w.trim())||n.getAttribute("label")||n.id||"",icon:n.getAttribute("icon")??void 0,tooltip:n.getAttribute("tooltip")??void 0}})),C(J(o,K))};e();const c=new MutationObserver(e);c.observe(o,{childList:!0,attributes:!0,subtree:!0}),I(()=>c.disconnect())});const i=()=>r().role==="user",b=()=>r().avatar??(t.avatarSrc||t.avatarFallback?{src:t.avatarSrc,fallback:t.avatarFallback}:void 0),z=()=>t.avatar==="none",h=()=>!!d().avatar,H=()=>!z()&&(h()||!!b()),f=()=>t.actionsReveal==="hover"?"hover":"always",R=()=>o.hasAttribute("markdown")||t.markdown===!0||t.markdown===!1,T=()=>R()?m("markdown"):!i(),q=()=>[...r().actions??[],...F()],k=()=>a(N,{get content(){return r().content},get reasoning(){return r().reasoning},get tools(){return r().tools},get attachments(){return r().attachments},get isUser(){return i()},get markdown(){return T()},get actions(){return q()},get actionsReveal(){return f()},get activeFeedback(){return s.resolveFeedback(r())},get copied(){return s.isCopied(r().id)},onAction:e=>s.handleAction(r(),e),get beforeBody(){return u(()=>!!d()["before-body"])()?(()=>{var e=V();return e._$owner=v(),e})():void 0},get afterBody(){return u(()=>!!d()["after-body"])()?(()=>{var e=W();return e._$owner=v(),e})():void 0}}),p=()=>f()==="hover"?"group ":"",B=()=>a(g,{get when(){return h()},get fallback(){return a(g,{get when(){return b()},children:e=>a(P,{get src(){return e().src??""},get alt(){return e().alt??""},get fallback(){return e().fallback}})})},get children(){var e=X(),c=e.firstChild;return c._$owner=v(),e}});return a(G,{get proseSize(){return t.proseSize},get codeTheme(){return t.codeTheme},get codeHighlight(){return m("codeHighlight")},get portalMount(){return $.portalMount()},get children(){return a(g,{get when(){return H()},get fallback(){return a(A,{get class(){return`${p()}${i()?"flex-col items-end":"flex-col items-start"}`},get children(){return k()}})},get children(){return a(A,{get class(){return p()},get children(){return[u(()=>B()),(()=>{var e=Y();return j(e,k),D(()=>E(e,`flex min-w-0 flex-1 flex-col ${i()?"items-end":"items-start"}`)),e})()]}})}})}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as m,g as v,o as g,c as b,p as f}from"./chunks/define-
|
|
1
|
+
import{f as m,g as v,o as g,c as b,p as f}from"./chunks/define-CNSKFZCd.js";import{M}from"./chunks/model-switcher-BMtXGwLU.js";import{w as h}from"./chunks/disclosure-BcBs--Jf.js";function s(e){var o;return{id:e.getAttribute("id")??"",name:((o=e.textContent)==null?void 0:o.trim())??"",provider:e.getAttribute("provider")??void 0,description:e.getAttribute("description")??void 0,group:e.getAttribute("group")??void 0}}m("kai-model-switcher",{models:[],currentModel:void 0,open:void 0,defaultOpen:void 0,disabled:void 0},(e,o)=>{const{dispatch:a,element:r,flag:d}=o;let i;h(o,()=>i,()=>e.open);const[u,c]=v([]);g(()=>{const t=()=>{const p=[...r.querySelectorAll("kai-model")];c(p.map(s))};t();const l=new MutationObserver(t);l.observe(r,{childList:!0,attributes:!0,subtree:!0}),f(()=>l.disconnect())});const n=()=>[...e.models??[],...u()];return b(M,{get models(){return n()},get currentModelId(){var t;return e.currentModel??((t=n()[0])==null?void 0:t.id)??""},onModelChange:t=>a("kai-model-change",{modelId:t}),get defaultOpen(){return d("defaultOpen")},get disabled(){return d("disabled")},controllerRef:t=>i=t})});export{s as parseKaiModelElement};
|
package/dist/elements/nav.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as q,g as E,k as D,m as G,i as l,c as s,t as v,S as m,a as y,b as x,n as j,d as I,G as L,F,e as H,f as J}from"./chunks/define-
|
|
1
|
+
import{s as q,g as E,k as D,m as G,i as l,c as s,t as v,S as m,a as y,b as x,n as j,d as I,G as L,F,e as H,f as J}from"./chunks/define-CNSKFZCd.js";import{c as f}from"./chunks/cn-CU7UAWzk.js";import{r as C}from"./chunks/icon-CAyRqVrg.js";import{B as K}from"./chunks/badge-BTNZTODL.js";import{c as M}from"./chunks/chevron-right-ChzBcNJ-.js";var N=v("<nav>"),O=v("<span part=chevron aria-hidden=true>"),P=v("<span>"),Q=v('<span class="text-xs text-muted-foreground">'),T=v('<span part=status class="flex shrink-0 items-center gap-1.5"aria-hidden=true><span class="relative inline-flex"><span>'),U=v('<span part=meta class="shrink-0 text-xs tabular-nums text-muted-foreground"aria-hidden=true>'),W=v("<button part=item-action data-nav-action=action type=button>"),X=v("<button part=item-action data-nav-action=close type=button>"),Y=v('<div><button part=item type=button><span class="min-w-0 flex-1 truncate">'),Z=v("<div part=group role=group>"),_=v('<span class="size-4 shrink-0"aria-hidden=true>');const R={primary:"bg-primary",info:"bg-tool-blue",success:"bg-tool-green",warning:"bg-tool-amber",error:"bg-tool-red",neutral:"bg-muted-foreground"};function ee(r){const[d,e]=q(r,["items","value","onItemSelect","onItemAction","onItemClose","defaultCollapsed","class"]),[c,p]=E(new Set(d.defaultCollapsed??[]),{equals:!1}),h=a=>!c().has(a),b=a=>p(w=>{const k=new Set(w);return k.has(a)?k.delete(a):k.add(a),k});return(()=>{var a=N();return D(a,G(e,{get class(){return f("flex flex-col gap-0.5",d.class)}}),!1,!0),l(a,s(B,{get items(){return d.items??[]},depth:0,get value(){return d.value},get onItemSelect(){return d.onItemSelect},get onItemAction(){return d.onItemAction},get onItemClose(){return d.onItemClose},isExpanded:h,toggle:b})),a})()}function B(r){const d=()=>r.items.some(e=>{var c;return(((c=e.children)==null?void 0:c.length)??0)>0});return s(F,{get each(){return r.items},children:e=>{const c=()=>{var n;return(((n=e.children)==null?void 0:n.length)??0)>0},p=()=>r.isExpanded(e.id),h=()=>r.value===e.id,b=()=>{var n;return((n=e.status)==null?void 0:n.tone)??"neutral"},a=()=>{var n,o;if(!(!((n=e.status)!=null&&n.label)&&!e.meta))return[e.label,(o=e.status)==null?void 0:o.label,e.meta].filter(Boolean).join(", ")},w=()=>{var n;e.disabled||(c()?r.toggle(e.id):(n=r.onItemSelect)==null||n.call(r,e.id))},k=n=>{!c()||e.disabled||(n.key==="ArrowRight"&&!p()||n.key==="ArrowLeft"&&p())&&(n.preventDefault(),r.toggle(e.id))};return[(()=>{var n=Y(),o=n.firstChild,S=o.firstChild;return o.$$keydown=k,o.$$click=w,l(o,s(m,{get when(){return c()},get fallback(){return j(()=>!!d())()?_():null},get children(){var t=O();return l(t,s(M,{size:16})),y(()=>x(t,f("flex shrink-0 items-center opacity-60 transition-transform",p()&&"rotate-90"))),t}}),S),l(o,s(m,{get when(){return e.icon},get children(){return C(e.icon,{class:"size-4 shrink-0"})}}),S),l(S,()=>e.label),l(o,s(m,{get when(){return e.status},get children(){var t=T(),i=t.firstChild,g=i.firstChild;return l(i,s(m,{get when(){return e.status.pulse},get children(){var u=P();return y(()=>x(u,f("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75 motion-reduce:hidden",R[b()]))),u}}),g),l(t,s(m,{get when(){return e.status.label},get children(){var u=Q();return l(u,()=>e.status.label),u}}),null),y(()=>x(g,f("relative inline-block size-2 rounded-full",R[b()]))),t}}),null),l(o,s(m,{get when(){return e.meta},get children(){var t=U();return l(t,()=>e.meta),t}}),null),l(o,s(m,{get when(){return e.badge},get children(){return s(K,{variant:"default",class:"px-1.5 py-0 text-[0.625rem] font-medium uppercase tracking-wide",get children(){return e.badge}})}}),null),l(o,s(m,{get when(){return e.trailing},get children(){return C(e.trailing,{class:"size-4 shrink-0 opacity-0 transition-opacity group-hover:opacity-60"})}}),null),l(n,s(m,{get when(){return e.action},get children(){var t=W();return t.$$click=()=>{var i;return(i=r.onItemAction)==null?void 0:i.call(r,e.id,e.action)},l(t,()=>C(e.action.icon,{class:"size-4"})),y(i=>{var g=e.action.label,u=f("mr-1 flex size-6 shrink-0 items-center justify-center rounded text-muted-foreground","opacity-0 transition-opacity hover:bg-background/70 hover:text-foreground","focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","group-hover:opacity-100");return g!==i.e&&I(t,"aria-label",i.e=g),u!==i.t&&x(t,i.t=u),i},{e:void 0,t:void 0}),t}}),null),l(n,s(m,{get when(){return e.closable},get children(){var t=X();return t.$$click=()=>{var i;return(i=r.onItemClose)==null?void 0:i.call(r,e.id)},l(t,()=>C("x",{class:"size-4"})),y(i=>{var g=e.label?`Remove ${e.label}`:"Remove",u=f("mr-1 flex size-6 shrink-0 items-center justify-center rounded text-muted-foreground","opacity-0 transition-opacity hover:bg-background/70 hover:text-foreground","focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","group-hover:opacity-100");return g!==i.e&&I(t,"aria-label",i.e=g),u!==i.t&&x(t,i.t=u),i},{e:void 0,t:void 0}),t}}),null),y(t=>{var i=f("group relative flex items-center rounded-md transition-colors","hover:bg-accent",h()&&"bg-accent",e.disabled&&"pointer-events-none opacity-50"),g=e.disabled,u=h()?"page":void 0,$=c()?p():void 0,z=a(),V=r.depth>0?{"padding-left":`${10+r.depth*16}px`}:void 0,A=f("flex min-w-0 flex-1 items-center gap-2.5 rounded-md px-2.5 py-1.5 text-left text-sm transition-colors","text-muted-foreground group-hover:text-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","disabled:pointer-events-none",h()&&"font-medium text-foreground");return i!==t.e&&x(n,t.e=i),g!==t.t&&(o.disabled=t.t=g),u!==t.a&&I(o,"aria-current",t.a=u),$!==t.o&&I(o,"aria-expanded",t.o=$),z!==t.i&&I(o,"aria-label",t.i=z),t.n=L(o,V,t.n),A!==t.s&&x(o,t.s=A),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),n})(),s(m,{get when(){return j(()=>!!c())()&&p()},get children(){var n=Z();return l(n,s(B,{get items(){return e.children},get depth(){return r.depth+1},get value(){return r.value},get onItemSelect(){return r.onItemSelect},get onItemAction(){return r.onItemAction},get onItemClose(){return r.onItemClose},get isExpanded(){return r.isExpanded},get toggle(){return r.toggle}})),n}})]}})}H(["click","keydown"]),J("kai-nav",{items:void 0,value:void 0,defaultValue:void 0,defaultCollapsed:void 0},(r,{dispatch:d,expose:e})=>{const[c,p]=E(r.defaultValue),h=()=>r.value??c(),b=a=>{p(a),d("kai-nav-select",{id:a})};return e({select:a=>b(a)}),s(ee,{get items(){return r.items},get value(){return h()},get defaultCollapsed(){return r.defaultCollapsed},onItemSelect:b,onItemAction:(a,w)=>d("kai-nav-item-action",{value:a,action:w}),onItemClose:a=>d("kai-nav-item-close",{value:a}),part:"nav"})});
|
package/dist/elements/notice.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as i,m as p,g as b,i as o,S as c,a as k,d as w,b as $,t as l,e as S,f as z,q as u}from"./chunks/define-
|
|
1
|
+
import{c as i,m as p,g as b,i as o,S as c,a as k,d as w,b as $,t as l,e as S,f as z,q as u}from"./chunks/define-CNSKFZCd.js";import{c as d}from"./chunks/cn-CU7UAWzk.js";import{r as D}from"./chunks/icon-CAyRqVrg.js";import{c as _}from"./chunks/circle-check-CJV-3Rem.js";import{I as q}from"./chunks/Icon-C2LTALdM.js";import{i as v}from"./chunks/info-DBQl-m6e.js";import{t as C}from"./chunks/triangle-alert-B07fX3Q8.js";import{x as A}from"./chunks/x-Ckwicf6g.js";var I=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],N=r=>i(q,p(r,{name:"CircleAlert",iconNode:I})),j=N,E=l('<button type=button aria-label=Dismiss class="-my-1 -mr-1.5 shrink-0 rounded p-1 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground">'),O=l('<div><div class="flex-1 leading-snug text-muted-foreground">');const P={neutral:v,info:v,warning:C,error:j,success:_},h={neutral:"text-muted-foreground",info:"text-tool-blue",warning:"text-tool-amber",error:"text-tool-red",success:"text-tool-green"};function x(r,s){if(s==="none")return null;if(s)return D(s,{class:d("size-4 shrink-0",h[r])});const a=P[r];return i(a,{get class(){return d("size-4 shrink-0",h[r])},"aria-hidden":"true"})}function R(r){const[s,a]=b(!0),e=()=>r.severity??"neutral",y=()=>{var t;a(!1),(t=r.onDismiss)==null||t.call(r)};return i(c,{get when(){return s()},get children(){var t=O(),m=t.firstChild;return o(t,i(c,{get when(){return r.iconSlot},get fallback(){return x(e(),r.icon)},get children(){return r.iconSlot}}),m),o(m,()=>r.children),o(t,i(c,{get when(){return r.action},get children(){return r.action}}),null),o(t,i(c,{get when(){return r.dismissible},get children(){var n=E();return n.$$click=y,o(n,i(A,{class:"size-3.5","aria-hidden":"true"})),n}}),null),k(n=>{var g=e()==="error"?"alert":"status",f=d("flex items-center gap-2.5 rounded-lg bg-surface px-3.5 py-2.5 text-sm",r.class);return g!==n.e&&w(t,"role",n.e=g),f!==n.t&&$(t,n.t=f),n},{e:void 0,t:void 0}),t}})}S(["click"]);var T=l("<slot>"),V=l("<slot name=icon>"),W=l("<slot name=action>");z("kai-notice",{severity:"neutral",icon:void 0,dismissible:!1},(r,{dispatch:s,flag:a})=>i(R,{get severity(){return r.severity??"neutral"},get iconSlot(){return(()=>{var e=V();return e._$owner=u(),o(e,()=>x(r.severity??"neutral",r.icon)),e})()},get dismissible(){return a("dismissible")},onDismiss:()=>s("kai-dismiss"),get action(){return(()=>{var e=W();return e._$owner=u(),e})()},get children(){var e=T();return e._$owner=u(),e}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as l,c as d,F as I,a as p,b as h,t as y,u as L,S as $,d as x,e as O,f as U,g as B,h as G,q as P}from"./chunks/define-CNSKFZCd.js";import{c as m}from"./chunks/cn-CU7UAWzk.js";import{e as J}from"./chunks/ellipsis-CUiEJ6R1.js";import{x as K}from"./chunks/x-Ckwicf6g.js";var R=y("<span>"),N=y("<button type=button part=menu aria-haspopup=menu>"),Q=y("<button type=button part=close>"),V=y('<div><button type=button part=tab class="flex cursor-pointer items-center gap-1.5 py-1 pl-1.5 outline-none transition-colors focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"><span class="relative flex size-[18px] shrink-0"aria-hidden=true><span></span></span><span class="max-w-[8rem] truncate font-medium"></span></button><span class="ml-0.5 flex shrink-0 items-center pr-1">'),W=y('<div data-pane-group><div part=tabs role=group aria-label="Open panes"class="flex shrink-0 items-center gap-1 overflow-x-auto border-b border-border px-1.5 py-1"></div><div part=body role=tabpanel class="min-h-0 flex-1 overflow-y-auto">');const _={working:"bg-tool-blue",idle:"bg-muted-foreground",done:"bg-tool-green",error:"bg-tool-red",blocked:"bg-tool-amber"},X={working:"text-white",idle:"text-background",done:"text-white",error:"text-white",blocked:"text-white"},Y={working:"text-tool-blue",idle:"text-muted-foreground",done:"text-tool-green",error:"text-tool-red",blocked:"text-tool-amber"};function Z(a){const b=()=>a.tabs??[],w=()=>{var i;return a.active??((i=b()[0])==null?void 0:i.id)},T=()=>{var i;const r=w();return r!==void 0&&b().some(t=>t.id===r)?r:(i=b()[0])==null?void 0:i.id},C={},f=i=>{var r;return(r=a.onTabChange)==null?void 0:r.call(a,i)},A=(i,r)=>{var t;if(i.currentTarget!==i.target)return;const n=b();if(n.length===0)return;const k=n.findIndex(u=>u.id===r.id);let c;switch(i.key){case"ArrowRight":case"ArrowDown":c=n[(k+1)%n.length];break;case"ArrowLeft":case"ArrowUp":c=n[(k-1+n.length)%n.length];break;case"Home":c=n[0];break;case"End":c=n[n.length-1];break;case"Enter":case" ":i.preventDefault(),f(r.id);return;default:return}c&&(i.preventDefault(),f(c.id),(t=C[c.id])==null||t.focus())},z=i=>{const r=()=>i.tab,t=()=>{var u;return((u=r().status)==null?void 0:u.tone)??"idle"},n=()=>r().id===w(),k=()=>r().number??i.index+1,c=()=>n()||!!r().needsAttention||t()==="error";return(()=>{var u=V(),g=u.firstChild,S=g.firstChild,j=S.firstChild,H=S.nextSibling,D=g.nextSibling;return g.$$keydown=e=>A(e,r()),g.$$click=()=>f(r().id),L(e=>{C[r().id]=e},g),l(S,d($,{get when(){var e;return(e=r().status)==null?void 0:e.pulse},get children(){var e=R();return p(()=>h(e,m("absolute inset-0 animate-ping rounded opacity-60 motion-reduce:hidden",_[t()]))),e}}),j),l(j,k),l(H,()=>r().name),l(g,d($,{get when(){var e;return(e=r().status)==null?void 0:e.label},get children(){var e=R();return l(e,()=>r().status.label),p(()=>h(e,m("truncate text-[10px] font-medium",Y[t()],c()?"inline":"hidden group-hover/tab:inline"))),e}}),null),l(D,d($,{get when(){return a.onTabMenu},get children(){var e=N();return e.$$click=o=>{var s;o.stopPropagation(),(s=a.onTabMenu)==null||s.call(a,r().id)},l(e,d(J,{class:"size-3.5","aria-hidden":"true"})),p(o=>{var s=`${r().name} tab actions`,v=m("flex size-5 items-center justify-center rounded text-muted-foreground transition-colors","hover:bg-surface-sunken hover:text-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",n()?"opacity-100":"opacity-0 group-hover/tab:opacity-100");return s!==o.e&&x(e,"aria-label",o.e=s),v!==o.t&&h(e,o.t=v),o},{e:void 0,t:void 0}),e}}),null),l(D,d($,{get when(){return a.onTabClose},get children(){var e=Q();return e.$$click=o=>{var s;o.stopPropagation(),(s=a.onTabClose)==null||s.call(a,r().id)},l(e,d(K,{class:"size-3.5","aria-hidden":"true"})),p(o=>{var s=`Close ${r().name}`,v=m("flex size-5 items-center justify-center rounded text-muted-foreground transition-colors","hover:bg-surface-sunken hover:text-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",n()?"opacity-100":"opacity-0 group-hover/tab:opacity-100");return s!==o.e&&x(e,"aria-label",o.e=s),v!==o.t&&h(e,o.t=v),o},{e:void 0,t:void 0}),e}}),null),p(e=>{var o=m("group/tab relative flex shrink-0 items-center rounded-md text-xs",n()?"bg-background text-foreground shadow-sm ring-1 ring-border":"text-muted-foreground hover:bg-hover hover:text-foreground",r().needsAttention&&!n()&&"ring-1 ring-tool-amber/50"),s=n()?"":void 0,v=r().needsAttention?"":void 0,E=r().id===T()?0:-1,M=n()?"true":void 0,q=m("relative flex size-[18px] items-center justify-center rounded text-[11px] font-bold leading-none tabular-nums",_[t()],X[t()]);return o!==e.e&&h(u,e.e=o),s!==e.t&&x(u,"data-active",e.t=s),v!==e.a&&x(u,"data-needs-attention",e.a=v),E!==e.o&&x(g,"tabindex",e.o=E),M!==e.i&&x(g,"aria-current",e.i=M),q!==e.n&&h(j,e.n=q),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),u})()};return(()=>{var i=W(),r=i.firstChild,t=r.nextSibling;return l(r,d(I,{get each(){return b()},children:(n,k)=>d(z,{tab:n,get index(){return k()}})})),l(t,()=>a.children),p(()=>h(i,m("flex h-full min-h-0 flex-col overflow-hidden rounded-xl border bg-surface",a.focused?"border-ring ring-2 ring-inset ring-ring/35":"border-border",a.class))),i})()}O(["click","keydown"]);var F=y("<slot>");U("kai-pane-group",{tabs:void 0,active:void 0,focused:!1},(a,{element:b,dispatch:w,flag:T,expose:C})=>{const f=()=>a.tabs??[],[A,z]=B(a.active),i=()=>{var t;return a.active??A()??((t=f()[0])==null?void 0:t.id)},r=t=>{z(t),w("kai-tab-change",{id:t})};return G(()=>{const t=i();t!=null&&b.setAttribute("active",t)}),C({select:t=>{f().some(n=>n.id===t)&&r(t)},focus:()=>{var t,n;(n=(t=b.shadowRoot)==null?void 0:t.querySelector('[part="tab"][tabindex="0"]'))==null||n.focus()}}),d(Z,{get tabs(){return f()},get active(){return i()},get focused(){return T("focused")},onTabChange:r,onTabClose:t=>w("kai-tab-close",{id:t}),onTabMenu:t=>w("kai-tab-menu",{id:t}),get children(){return[d($,{get when(){return i()},children:t=>(()=>{var n=F();return n._$owner=P(),p(()=>x(n,"name",t())),n})()}),(()=>{var t=F();return t._$owner=P(),t})()]}})});
|
package/dist/elements/pane.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as
|
|
1
|
+
import{c as r,m as C,i as n,S as d,a as m,b as x,d as b,t as u,e as q,f as N,g as R,o as _,q as S,p as j}from"./chunks/define-CNSKFZCd.js";import{c as k}from"./chunks/cn-CU7UAWzk.js";import{I as D}from"./chunks/Icon-C2LTALdM.js";import{m as F,a as I}from"./chunks/minimize-2-3kCdE0q3.js";import{x as L}from"./chunks/x-Ckwicf6g.js";var O=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],P=e=>r(D,C(e,{name:"Columns2",iconNode:O})),A=P,B=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],E=e=>r(D,C(e,{name:"PanelRight",iconNode:B})),G=E,H=u('<button type=button class="flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-80 transition-colors hover:bg-hover hover:text-foreground hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">'),J=u('<span class="flex shrink-0 items-center text-muted-foreground">'),K=u('<span class="truncate text-xs leading-tight text-muted-foreground">'),Q=u('<div part=footer class="shrink-0 border-t border-border">'),T=u('<div data-pane><div part=header class="flex shrink-0 items-center gap-2.5 border-b border-border px-3 py-2"><div class="flex min-w-0 flex-col"><span class="truncate text-sm font-medium leading-tight text-foreground"></span></div><div part=controls class="ml-auto flex shrink-0 items-center gap-0.5"></div></div><div part=body class="min-h-0 flex-1 overflow-y-auto"tabindex=0>'),U=u("<span aria-hidden=true>"),V=u("<span class=truncate>"),W=u('<span class="flex shrink-0 items-center gap-1.5 text-xs text-muted-foreground"><span class="relative flex size-2"><span aria-hidden=true>');const M={working:"bg-tool-blue",idle:"bg-muted-foreground",done:"bg-tool-green",error:"bg-tool-red",blocked:"bg-tool-amber"};function v(e){return(()=>{var l=H();return l.$$click=()=>{var o;return(o=e.onClick)==null?void 0:o.call(e)},n(l,()=>e.children),m(()=>b(l,"aria-label",e.label)),l})()}function X(e){return(()=>{var l=T(),o=l.firstChild,s=o.firstChild,p=s.firstChild,c=s.nextSibling,g=o.nextSibling;return n(o,r(d,{get when(){return e.leading},get children(){var t=J();return n(t,()=>e.leading),t}}),s),n(p,()=>e.title),n(s,r(d,{get when(){return e.subtitle},get children(){var t=K();return n(t,()=>e.subtitle),t}}),null),n(o,r(d,{get when(){return e.status},children:t=>(()=>{var a=W(),h=a.firstChild,f=h.firstChild;return n(h,r(d,{get when(){return t().pulse},get children(){var i=U();return m(()=>x(i,k("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75 motion-reduce:hidden",M[t().tone]))),i}}),f),n(a,r(d,{get when(){return t().label},get children(){var i=V();return n(i,()=>t().label),i}}),null),m(i=>{var w=t().label?"status":void 0,z=t().label,y=k("relative inline-flex size-2 rounded-full",M[t().tone]);return w!==i.e&&b(a,"role",i.e=w),z!==i.t&&b(a,"aria-label",i.t=z),y!==i.a&&x(f,i.a=y),i},{e:void 0,t:void 0,a:void 0}),a})()}),c),n(c,()=>e.actions,null),n(c,r(d,{get when(){return e.onSplit},get children(){return r(v,{label:"Split pane",get onClick(){return e.onSplit},get children(){return r(A,{class:"size-4","aria-hidden":"true"})}})}}),null),n(c,r(d,{get when(){return e.onDock},get children(){return r(v,{label:"Dock pane",get onClick(){return e.onDock},get children(){return r(G,{class:"size-4","aria-hidden":"true"})}})}}),null),n(c,r(v,{get label(){return e.maximized?"Restore pane":"Maximize pane"},get onClick(){return e.onMaximize},get children(){return r(d,{get when(){return e.maximized},get fallback(){return r(I,{class:"size-4","aria-hidden":"true"})},get children(){return r(F,{class:"size-4","aria-hidden":"true"})}})}}),null),n(c,r(v,{label:"Close pane",get onClick(){return e.onClose},get children(){return r(L,{class:"size-4","aria-hidden":"true"})}}),null),n(g,()=>e.children),n(l,r(d,{get when(){return e.footer},get children(){var t=Q();return n(t,()=>e.footer),t}}),null),m(()=>x(l,k("flex h-full min-h-0 flex-col overflow-hidden rounded-xl border bg-surface",e.focused?"border-ring ring-2 ring-inset ring-ring/35":"border-border",e.class))),l})()}q(["click"]);var $=u("<slot>");const Y=["leading","actions","footer"];N("kai-pane",{headline:"",subtitle:void 0,maximized:!1,focused:!1,showSplit:!1,showDock:!1,status:void 0},(e,{element:l,dispatch:o,flag:s})=>{const[p,c]=R({leading:!1,actions:!1,footer:!1});_(()=>{const t=()=>{const h={};for(const f of Y)h[f]=!!l.querySelector(`:scope > [slot="${f}"]`);c(h)};t();const a=new MutationObserver(t);a.observe(l,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["slot"]}),j(()=>a.disconnect())});const g=t=>p()[t]?(()=>{var a=$();return b(a,"name",t),a._$owner=S(),a})():void 0;return r(X,{get title(){return e.headline},get subtitle(){return e.subtitle},get status(){return e.status},get focused(){return s("focused")},get maximized(){return s("maximized")},get leading(){return g("leading")},get actions(){return g("actions")},get footer(){return g("footer")},onMaximize:()=>o("kai-maximize",{maximized:!s("maximized")}),onClose:()=>o("kai-close"),get onSplit(){return s("showSplit")?()=>o("kai-split"):void 0},get onDock(){return s("showDock")?()=>o("kai-dock"):void 0},get children(){var t=$();return t._$owner=S(),t}})});
|