anentrypoint-design 0.0.402 → 0.0.403

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/247420.js CHANGED
@@ -123,7 +123,7 @@ var _m=Object.defineProperty;var N=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(
123
123
  <button class="btn next" type="button" aria-label="Next slide" title="Next (right)">${wf}</button>
124
124
  <span class="divider"></span>
125
125
  <button class="btn reset" type="button" aria-label="Reset to first slide" title="Reset (R)">Reset<span class="kbd">R</span></button>
126
- `,s.querySelector(".prev").addEventListener("click",e),s.querySelector(".next").addEventListener("click",t),s.querySelector(".reset").addEventListener("click",n),s}function Md({onBack:e,onForward:t}){let n=document.createElement("div");n.className="tapzones export-hidden",n.setAttribute("aria-hidden","true");let s=document.createElement("div");s.className="tapzone tapzone--back";let r=document.createElement("div");r.className="tapzone tapzone--mid",r.style.pointerEvents="none";let a=document.createElement("div");return a.className="tapzone tapzone--fwd",s.addEventListener("click",e),a.addEventListener("click",t),n.append(s,r,a),n}function jd(e,t){let n=t.target;if(n&&(n.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(n.tagName))||t.metaKey||t.ctrlKey||t.altKey)return!1;let s=kf[t.key];if(s)return s(e),!0;if(/^[0-9]$/.test(t.key)){let r=t.key==="0"?9:parseInt(t.key,10)-1;if(r<e._slides.length)return e._go(r,"keyboard"),!0}return!1}var vf,wf,kf,Rd=N(()=>{Q();vf=ra("chevron-left",{size:16}),wf=ra("chevron-right",{size:16});kf={ArrowRight:e=>e._go(e._index+1,"keyboard"),PageDown:e=>e._go(e._index+1,"keyboard")," ":e=>e._go(e._index+1,"keyboard"),Spacebar:e=>e._go(e._index+1,"keyboard"),ArrowLeft:e=>e._go(e._index-1,"keyboard"),PageUp:e=>e._go(e._index-1,"keyboard"),Home:e=>e._go(0,"keyboard"),End:e=>e._go(e._slides.length-1,"keyboard"),r:e=>e._go(0,"keyboard"),R:e=>e._go(0,"keyboard")}});function Ld(e){let t=document.getElementById("speaker-notes");if(!t)return[];try{let n=JSON.parse(t.textContent||"[]");return Array.isArray(n)?n:[]}catch(n){return console.warn("[deck-stage] Failed to parse #speaker-notes JSON:",n),[]}}function Pd(e,t){let n=ha+(location.pathname||"/");try{let s=localStorage.getItem(n);if(s==null)return 0;let r=parseInt(s,10);if(Number.isFinite(r)&&r>=0&&r<t.length)return r}catch{}return 0}function Af(e,t){let n=ha+(location.pathname||"/");try{localStorage.setItem(n,String(t))}catch{}}function Bd(e,t){let s=t.assignedElements({flatten:!0}).filter(r=>{let a=r.tagName;return a!=="TEMPLATE"&&a!=="SCRIPT"&&a!=="STYLE"});return s.forEach((r,a)=>{let o=a+1,i=r.getAttribute("data-label");if(!i){let l=r.getAttribute("data-screen-label");l&&(i=l.replace(/^\s*\d+\s*/,"").trim()||l)}if(!i){let l=r.querySelector("h1, h2, h3, [data-title]");l&&(i=(l.textContent||"").trim().slice(0,40))}i||(i="Slide"),r.setAttribute("data-screen-label",`${Cf(o)} ${i}`),r.hasAttribute("data-om-validate")||r.setAttribute("data-om-validate",xf),r.setAttribute("data-deck-slide",String(a))}),s}function Xo(e,{index:t,prevIndex:n,slides:s,countEl:r,showOverlay:a=!0,broadcast:o=!0,reason:i="init",flashFn:l=null}={}){if(!s.length)return;let c=n??-1,d=t;if(s.forEach((u,p)=>{p===d?u.setAttribute("data-deck-active",""):u.removeAttribute("data-deck-active")}),r&&(r.textContent=String(d+1)),Af(e,d),o){try{window.postMessage({slideIndexChanged:d},"*")}catch{}e.dispatchEvent(new CustomEvent("slidechange",{detail:{index:d,previousIndex:c,total:s.length,slide:s[d]||null,previousSlide:c>=0&&s[c]||null,reason:i},bubbles:!0,composed:!0}))}a&&l&&l()}var ha,xf,Cf,Hd=N(()=>{ha="deck-stage:slide:",xf="no_overflowing_text,no_overlapping_text,slide_sized_text",Cf=e=>String(e).padStart(2,"0")});var Nd={};hn(Nd,{DeckStage:()=>ga});var Ef,Sf,Tf,ga,Ud=N(()=>{dd();Rd();Hd();Ef=1920,Sf=1080,Tf=1800,ga=class extends HTMLElement{static get observedAttributes(){return["width","height","noscale","fill"]}constructor(){super(),this._root=this.attachShadow({mode:"open"}),this._index=0,this._slides=[],this._notes=[],this._hideTimer=null,this._mouseIdleTimer=null,this._storageKey=ha+(location.pathname||"/"),this._onKey=this._onKey.bind(this),this._onResize=this._onResize.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onMouseMove=this._onMouseMove.bind(this)}get designWidth(){return parseInt(this.getAttribute("width"),10)||Ef}get designHeight(){return parseInt(this.getAttribute("height"),10)||Sf}connectedCallback(){this._render(),this._notes=Ld(this),this._syncPrintPageRule(),window.addEventListener("keydown",this._onKey),window.addEventListener("resize",this._onResize),window.addEventListener("mousemove",this._onMouseMove,{passive:!0})}disconnectedCallback(){window.removeEventListener("keydown",this._onKey),window.removeEventListener("resize",this._onResize),window.removeEventListener("mousemove",this._onMouseMove),this._hideTimer&&clearTimeout(this._hideTimer),this._mouseIdleTimer&&clearTimeout(this._mouseIdleTimer)}attributeChangedCallback(){this._canvas&&(this._canvas.style.width=this.designWidth+"px",this._canvas.style.height=this.designHeight+"px",this._canvas.style.setProperty("--deck-design-w",this.designWidth+"px"),this._canvas.style.setProperty("--deck-design-h",this.designHeight+"px"),this._fit(),this._syncPrintPageRule())}_render(){let t=document.createElement("style");t.textContent=cd;let n=document.createElement("div");n.className="stage";let s=document.createElement("div");s.className="canvas",s.style.width=this.designWidth+"px",s.style.height=this.designHeight+"px",s.style.setProperty("--deck-design-w",this.designWidth+"px"),s.style.setProperty("--deck-design-h",this.designHeight+"px");let r=document.createElement("slot");r.addEventListener("slotchange",this._onSlotChange),s.appendChild(r),n.appendChild(s);let a=Md({onBack:i=>{i.preventDefault(),this._go(this._index-1,"tap")},onForward:i=>{i.preventDefault(),this._go(this._index+1,"tap")}}),o=Id({onPrev:()=>this._go(this._index-1,"click"),onNext:()=>this._go(this._index+1,"click"),onReset:()=>this._go(0,"click")});this._root.append(t,n,a,o),this._canvas=s,this._slot=r,this._overlay=o,this._countEl=o.querySelector(".current"),this._totalEl=o.querySelector(".total")}_syncPrintPageRule(){let t="deck-stage-print-page",n=document.getElementById(t);n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n)),n.textContent="@page { size: "+this.designWidth+"px "+this.designHeight+"px; margin: 0; } @media print { html, body { margin: 0 !important; padding: 0 !important; background: none !important; overflow: visible !important; height: auto !important; } * { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }"}_onSlotChange(){this._slides=Bd(this,this._slot),this._index=Pd(this,this._slides),Xo(this,{index:this._index,prevIndex:this._prevIndex,slides:this._slides,countEl:this._countEl,showOverlay:!1,broadcast:!0,reason:"init",flashFn:()=>this._flashOverlay()}),this._fit()}_flashOverlay(){this._overlay&&(this._overlay.setAttribute("data-visible",""),this._hideTimer&&clearTimeout(this._hideTimer),this._hideTimer=setTimeout(()=>this._overlay.removeAttribute("data-visible"),Tf))}_fit(){if(!this._canvas)return;if(this.hasAttribute("noscale")){this._canvas.style.transform="none";return}let t=window.innerWidth/this.designWidth,n=window.innerHeight/this.designHeight,s=this.getAttribute("fill")==="cover"?Math.max(t,n):Math.min(t,n);this._canvas.style.transform=`scale(${s})`}_onResize(){this._fit()}_onMouseMove(){this._flashOverlay()}_onKey(t){jd(this,t)&&(t.preventDefault(),this._flashOverlay())}_go(t,n="api"){if(!this._slides.length)return;let s=Math.max(0,Math.min(this._slides.length-1,t));if(s===this._index){this._flashOverlay();return}this._index=s,Xo(this,{index:this._index,prevIndex:this._prevIndex,slides:this._slides,countEl:this._countEl,showOverlay:!0,broadcast:!0,reason:n,flashFn:()=>this._flashOverlay()})}get index(){return this._index}get length(){return this._slides.length}goTo(t){this._go(t,"api")}next(){this._go(this._index+1,"api")}prev(){this._go(this._index-1,"api")}reset(){this._go(0,"api")}};typeof customElements<"u"&&!customElements.get("deck-stage")&&customElements.define("deck-stage",ga)});var ei={};hn(ei,{register:()=>Ge,snapshot:()=>Df,unregister:()=>$o});function Ge(e,t){typeof e!="string"||typeof t!="function"||(_o.set(e,t),typeof window<"u"&&(window.__debug||(window.__debug={}),Object.defineProperty(window.__debug,e,{get(){try{return t()}catch(n){return{error:String(n)}}},configurable:!0,enumerable:!0})))}function $o(e){_o.delete(e),typeof window<"u"&&window.__debug&&delete window.__debug[e]}function Df(){let e={};for(let[t,n]of _o)try{e[t]=n()}catch(s){e[t]={error:String(s)}}return e}var _o,Bt=N(()=>{_o=new Map});function wt(e,t=1){return e&&String(e).trim().slice(0,t).toUpperCase()||"?"}function js({name:e,src:t,fallback:n,size:s="md",shape:r="circle",initialsCount:a=1,key:o}={}){let i=n??wt(e,a),l="ds-avatar ds-avatar-"+s+(r==="square"?" ds-avatar-square":"");return t?Kd("img",{key:o,class:l,src:t,alt:e||"",loading:"lazy"}):Kd("span",{key:o,class:l,"aria-hidden":!!e,role:e?"img":void 0,"aria-label":e||void 0},i)}var Kd,Gd=N(()=>{I();Kd=y});function Vd(e,t){let n=String(e),s=String(t).toLowerCase();if(!s)return n;let r=n.toLowerCase(),a=[],o=0,i=0;for(;o<=n.length;){let l=r.indexOf(s,o);if(l===-1)break;l>o&&a.push(lt("span",{key:"hs"+i++},n.slice(o,l))),a.push(lt("mark",{key:"hs"+i++,class:"ds-hl"},n.slice(l,l+s.length))),o=l+s.length}return a.length?(o<n.length&&a.push(lt("span",{key:"hs"+i++},n.slice(o))),a):n}function ne({code:e,rank:t,title:n,sub:s,meta:r,active:a,state:o="default",onClick:i,key:l,style:c,href:d,kind:u,cols:p,leading:m,trailing:f,target:h,selected:g,rail:w,expanded:v,highlight:x,actions:C,detail:A}){let T=e??t,U=o==="active"||o==="default"&&(a||g),b=u==="link"||d!=null&&!i,E=!b&&!!i,L=o==="disabled"?" row-state-disabled":o==="error"?" row-state-error":"",P=T==null&&m==null,B="row"+(U?" active":"")+L+(p?" row-grid":"")+(P&&!p?" row-nocode":"")+(w?" rail-"+w:""),H=o==="disabled",F={key:l,class:B,style:p?`${c?c+";":""}grid-template-columns:${p}`:c};b?(F.href=d||"#",h&&(F.target=h)):E&&!H&&(F.onclick=i,F.role="button",F.tabindex="0",F.onkeydown=M=>{(M.key==="Enter"||M.key===" ")&&(M.preventDefault(),i(M))},(v===!0||v===!1)&&(F["aria-expanded"]=v?"true":"false")),H&&(F["aria-disabled"]="true"),U&&(b||E)&&(F["aria-current"]=U?"page":null);let G=x&&typeof n=="string"?lt("span",{},...[].concat(Vd(n,x))):n,he=v===!0&&Array.isArray(C)&&C.length?lt("span",{class:"row-actions",role:"group","aria-label":"row actions"},...C.map((M,S)=>lt("button",{key:"ract"+S,type:"button",class:"row-act",title:M.title||M.label,"aria-label":M.title||M.label,onclick:R=>{R.stopPropagation(),M.onClick&&M.onClick(R)},onkeydown:R=>{R.stopPropagation()}},M.label))):null,oe=w==="flame"?"error":w==="purple"?"subagent":null,te=x&&typeof A=="string"?lt("span",{},...[].concat(Vd(A,x))):A;return lt(b?"a":"div",F,oe?lt("span",{class:"sr-only"},oe):null,m??(T!=null?lt("span",{class:"code"},T):null),lt("span",{class:"title",title:typeof n=="string"?n:void 0},G,s?lt("span",{class:"sub",title:typeof s=="string"?s:void 0},s):null),f??(r!=null?lt("span",{class:"meta"},r):null),he,A!=null?lt("pre",{class:"ds-row-detail"},te):null)}function xn({code:e,title:t,sub:n,meta:s,href:r="#",key:a,target:o}){return ne({code:e,title:t,sub:n,meta:s,href:r,kind:"link",key:a,target:o})}var lt,Rs=N(()=>{I();lt=y});function Fe({title:e,count:t,right:n,style:s="",class:r="",children:a,kind:o,id:i}){let l="panel"+(o?" panel-"+o:"")+(r?" "+r:"");return We("div",{class:l,style:s,id:i||null},e!=null?We("div",{class:"panel-head"},We("span",{},e),n??(t!=null?We("span",{},String(t)):null)):null,We("div",{class:"panel-body"},...Array.isArray(a)?a:[a]))}function ni({heading:e,items:t=[],keyPrefix:n="i",count:s,style:r,kind:a,emptyText:o}={}){if(!t||!t.length)return o!=null?We("div",{class:"empty"},o):null;let i=t.map((l,c)=>{let d=l.code!=null?l.code:l.rank!=null?l.rank:String(c+1).padStart(2,"0");return xn({key:n+c,code:d,title:l.title!=null?l.title:l.name,sub:l.sub!=null?l.sub:l.desc!=null?l.desc:"",meta:l.meta!=null?l.meta:"",href:l.href||"#"})});return Fe({title:e,count:s,style:r,kind:a,children:i})}function nn({title:e,eyebrow:t,children:n,id:s}){return We("section",{class:"ds-section",id:s||null},t?We("span",{class:"eyebrow"},t):null,e?We("h3",{},e):null,...Array.isArray(n)?n:[n])}function Ls({rows:e=[],emptyText:t="nothing here yet"}){return e.length?We("table",{class:"kv"},We("tbody",{},...e.map(([n,s],r)=>We("tr",{key:r},We("td",{},n),We("td",{},s))))):We("div",{class:"empty"},t)}function Ps({entries:e=[],emptyText:t="no changelog entries yet"}){return e.length?Fe({kind:"wide",children:e.map((n,s)=>We("div",{key:s,class:"row ds-changelog-row"},We("span",{class:"code"},n.date),We("span",{class:"ds-changelog-ver"},n.ver),We("span",{class:"title"},n.msg)))}):We("div",{class:"empty"},t)}var We,ti,Bs=N(()=>{I();Rs();We=y;ti=Fe});function Hs({eyebrow:e,title:t,body:n,accent:s,actions:r,badges:a}){let o=Array.isArray(a)?a.filter(Boolean):[],i=o.length?Z("div",{class:"ds-hero-stats"},...o.map((d,u)=>Z("span",{key:"hb"+u,class:"ds-hero-stat"},String(d&&d.label!=null?d.label:d)))):null,l=r?Z("div",{class:"ds-hero-actions"},...Array.isArray(r)?r:[r]):null,c=i||l?Z("div",{class:"ds-hero-aside"},i,l):null;return Z("div",{class:"ds-hero"},Z("div",{class:"ds-hero-head"},e?Z("span",{class:"eyebrow"},e):null,Z("h1",{class:"ds-hero-title"},t)),n?Z("p",{class:"ds-hero-body"},n,s?Z("span",{class:"ds-hero-accent"}," "+s):null):null,c)}function Ns(e){if(!e)return null;let t=e.heading||e.title||"",n=Array.isArray(e.badges)?e.badges.filter(Boolean):[],s=Array.isArray(e.ctas)?e.ctas.filter(Boolean):[],r=n.length?Z("div",{class:"ds-hero-stats"},...n.map((i,l)=>Z("span",{key:"hb"+l,class:"ds-hero-stat"},Z("strong",{class:"ds-hero-stat-n"},String(i&&i.label!=null?i.label:i)),i&&i.desc?Z("span",{class:"ds-hero-stat-l"},String(i.desc)):null))):null,a=s.length?Z("div",{class:"ds-hero-actions"},...s.map((i,l)=>Z("a",{key:"hc"+l,class:i.primary||l===0?"btn btn-accent":"btn btn-ghost",href:i.href||"#"},i.label||i.cta||"go"))):null,o=e.install?Z("div",{class:"cli"},Z("span",{class:"prompt"},"$"),Z("span",{class:"cmd"},e.install)):null;return Z("div",{class:"ds-hero"},Z("div",{class:"ds-hero-head"},e.eyebrow?Z("span",{class:"eyebrow"},e.eyebrow):null,Z("h1",{class:"ds-hero-title"},t)),e.subheading?Z("p",{class:"ds-hero-body lede"},e.subheading):null,e.body?Z("p",{class:"ds-hero-body"},e.body,e.accent?Z("span",{class:"ds-hero-accent"}," "+e.accent):null):null,r||a||o?Z("div",{class:"ds-hero-aside"},r,o,a):null)}function si({items:e=[],sep:t="/"}){if(!e.length)return null;let n=s=>e.flatMap((r,a)=>[Z("span",{class:"ds-marquee-item",key:`${s}-i${a}`},r),Z("span",{class:"ds-marquee-sep",key:`${s}-s${a}`,"aria-hidden":"true"},t)]);return Z("div",{class:"ds-marquee",role:"marquee"},Z("div",{class:"ds-marquee-track"},...n("a"),...n("b")))}function Us({paragraphs:e=[],maxWidth:t}){return Z("div",{class:"ds-prose ds-manifesto","data-max-width":t?String(t):null},...e.map((n,s)=>Z("p",{key:s,class:"ds-manifesto-para"+(n.dim?" dim":"")},n.text||n)))}function ie({title:e,lede:t,eyebrow:n,right:s,compact:r,dense:a,id:o}){return a?Z("section",{class:"ds-section ds-section-compact ds-page-header-dense",id:o||null},Z("div",{class:"ds-page-header-dense-row"},...[e!=null?Z("h1",{key:"dh"},e):null,t!=null?Z("span",{key:"dl",class:"ds-page-header-dense-lede",title:typeof t=="string"?t:null},t):null,s!=null?Z("div",{key:"dr",class:"ds-page-header-right"},...Array.isArray(s)?s:[s]):null].filter(Boolean))):Z("section",{class:"ds-section"+(r?" ds-section-compact":""),id:o||null},n?Z("span",{class:"eyebrow"},n):null,e!=null?Z("h1",{},e):null,t!=null?Z("p",{class:"lede"},t):null,s!=null?Z("div",{class:"ds-page-header-right"},...Array.isArray(s)?s:[s]):null)}var Z,ri=N(()=>{I();Z=y});function Ws({cmd:e,copied:t,onCopy:n}){return Gt("div",{class:"cli"},Gt("span",{class:"prompt"},"$"),Gt("span",{class:"cmd"},e),Gt("span",{class:"copy",onclick:()=>n&&n(e)},t?"copied":"copy"))}function ai({lines:e=[],heading:t="quick start",className:n=""}={}){if(!e||!e.length)return null;let s=e.map((a,o)=>{let i=a&&a.kind==="cmt",l=a&&a.text!=null?a.text:"";return i?Gt("div",{key:"q"+o,class:"ds-cli-comment"},l):Gt("div",{key:"q"+o,class:"ds-cli-row"},Gt("span",{class:"prompt"},"$"),Gt("span",{class:"cmd"},l))}),r=Gt("div",{class:"ds-cli-block"+(n?" "+n:"")},...s);return t==null?r:Fe({title:t,children:r})}var Gt,oi=N(()=>{I();Bs();Gt=y});function Fs({works:e=[],openedIndex:t=-1,onToggle:n}){return Fe({children:e.map((s,r)=>{let a=t===r;return tt("div",{key:r},ne({code:s.code,title:s.title,sub:s.sub,meta:tt("span",{class:"ds-works-meta"},s.meta!=null?tt("span",{},s.meta):null,k(a?"chevron-down":"chevron-right")),active:a,expanded:a,onClick:()=>n&&n(a?-1:r)}),a?tt("div",{class:"work-detail","data-work-index":String(r)},tt("div",{class:"ds-prose"},tt("p",{class:"ds-work-body"},s.body)),tt("div",{class:"ds-work-actions"},O({variant:"primary",href:s.href||"#",children:"open ->"}),O({href:s.source||"#",children:"source"}))):null)})})}function Os({posts:e=[]}){return Fe({children:e.map((t,n)=>xn({key:n,code:t.date,title:t.title,meta:t.tag,href:t.href||"#"}))})}function ii({items:e,events:t,emptyText:n="no events",rankPad:s=3,loading:r=!1,loadingText:a="loading events\u2026"}){let o=e||t||[];return r&&!o.length?tt("section",{class:"ds-section ds-event-list"},tt("div",{key:"st",role:"status","aria-live":"polite",class:"ds-event-state lede"},a),...Array.from({length:7},(i,l)=>tt("div",{key:"sk"+l,class:"ds-event-row-skeleton","aria-hidden":"true"},tt("span",{key:"r",class:"ds-skel ds-skel-rank"}),tt("span",{key:"t",class:"ds-skel ds-skel-title"}),tt("span",{key:"m",class:"ds-skel ds-skel-meta"})))):o.length?tt("section",{class:"ds-section ds-event-list"},...o.map((i,l)=>ne({key:i.key||"ev"+l,code:i.code!=null?i.code:i.rank!=null?i.rank:String(l+1).padStart(s,"0"),title:i.title||"(empty)",sub:i.sub||"",active:i.active,onClick:i.onClick,kind:i.kind,rail:i.rail,expanded:i.expanded,detail:i.detail,actions:i.actions,highlight:i.highlight,meta:i.meta}))):tt("p",{class:"lede"},n)}var tt,li=N(()=>{I();Q();Rs();Bs();tt=y});function Vt({items:e=[],emptyText:t="no metrics yet"}){return e.length?$e("div",{class:"kpi"},...e.map(([n,s,r],a)=>$e("div",{key:a,class:"kpi-card"},$e("div",{class:"num"},String(n)),$e("div",{class:"lbl"},s),r&&(r.delta!=null||r.spark)?$e("div",{class:"kpi-foot"},r.delta!=null?$e("span",{class:"kpi-delta kpi-delta-"+(r.tone==="down"?"down":"up")},k(r.tone==="down"?"arrow-down":"arrow-up",{size:12}),String(r.delta)):null,r.spark?ba({values:r.spark,tone:r.tone}):null):null))):$e("div",{class:"empty"},t)}function ba({values:e=[],width:t=72,height:n=24,tone:s}){if(!e.length)return null;let r=Math.max(...e),a=Math.min(...e),o=r-a||1,i=t/(e.length-1||1),c=e.map((d,u)=>[u*i,n-(d-a)/o*n]).map(([d,u],p)=>(p===0?"M":"L")+d.toFixed(1)+","+u.toFixed(1)).join(" ");return $e("svg",{class:"ds-sparkline ds-sparkline-"+(s==="down"?"down":"up"),viewBox:"0 0 "+t+" "+n,width:t,height:n,"aria-hidden":"true"},$e("path",{d:c,fill:"none","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}))}function ci({items:e=[],emptyText:t="no data yet"}){if(!e.length)return $e("div",{class:"empty"},t);let n=Math.max(...e.map(s=>s.value||0))||1;return $e("div",{class:"ds-barchart"},...e.map((s,r)=>$e("div",{key:r,class:"ds-barchart-row"},$e("div",{class:"ds-barchart-label"},s.label),$e("div",{class:"ds-barchart-track"},$e("div",{class:"ds-barchart-fill",style:"--bar-pct:"+Math.round(s.value/n*100)+"%"})),$e("div",{class:"ds-barchart-value"},s.display!=null?s.display:String(s.value)))))}var $e,zd=N(()=>{I();Q();$e=y});function xe({headers:e=[],rows:t=[],onRowClick:n,emptyText:s="nothing here yet",rowLabels:r,striped:a=!1,compact:o=!1,sortable:i=!1,sortKey:l,sortDir:c="asc",onSort:d}){if(!t||t.length===0)return nt("div",{class:"empty"},s);let u=(f,h)=>{if(Array.isArray(r)&&r[h]!=null)return String(r[h]);let g=f[0];return g==null||typeof g=="object"?"row":String(g)},p="ds-table-wrap"+(a?" is-striped":"")+(o?" is-compact":""),m=(f,h)=>{if(!i||!d)return nt("th",{key:h,scope:"col"},f);let g=l===h;return nt("th",{key:h,scope:"col","aria-sort":g?c==="desc"?"descending":"ascending":"none"},nt("button",{type:"button",class:"ds-table-sort-btn"+(g?" is-active":""),onclick:()=>d(h)},nt("span",{class:"ds-table-sort-label"},f),g?k(c==="desc"?"chevron-down":"chevron-up",{size:12}):null))};return nt("div",{class:p,tabindex:"0",role:"group","aria-label":"table, scrollable"},nt("table",{},nt("thead",{},nt("tr",{},...e.map((f,h)=>m(f,h)))),nt("tbody",{},...t.map((f,h)=>nt("tr",{key:h,class:n?"clickable":"",onclick:n?()=>n(h):null,...n?{tabindex:"0",role:"button","aria-label":"open "+u(f,h),onkeydown:g=>{(g.key===" "||g.key==="Enter")&&(g.preventDefault(),n(h))}}:{}},...f.map((g,w)=>nt("td",{key:w},g==null?"":typeof g=="object"?g:String(g))))))))}function di({checks:e={},emptyText:t="no health data",okLabel:n="ok",missLabel:s="no",jsonTruncate:r=60}={}){let a=Object.entries(e);if(!a.length)return nt("div",{class:"empty"},t);let o=a.map(([i,l])=>{let c;if(typeof l=="object"&&l!==null){let d=JSON.stringify(l);c=nt("span",{title:d.length>r?d:null},d.length>r?d.slice(0,r)+"\u2026":d)}else l===!0?c=$({tone:"ok",children:n}):l===!1?c=$({tone:"miss",children:s}):c=String(l);return[i,c]});return xe({headers:["check","status"],rows:o})}function ui({processes:e=[],emptyText:t="no live processes",extraColumns:n=[]}={}){if(!e.length)return nt("div",{class:"empty"},t);let s=["kind","key","state",...n.map(a=>a.header)],r=e.map(a=>[a.kind||"\u2014",a.key||"\u2014",a.state||"\u2014",...n.map(o=>o.render(a))]);return xe({headers:s,rows:r})}var nt,Yd=N(()=>{I();Q();nt=y});function st({value:e="",placeholder:t="search\u2026",onInput:n,onSubmit:s,name:r="q",key:a,label:o,resultCount:i}){let l=u=>{n&&n("",u)},c=Me("input",{key:"i",type:"search",name:r,class:"ds-search-input",placeholder:t,"aria-label":o||t,value:e,oninput:n?u=>n(u.target.value,u):null,onkeydown:u=>{if(u.key==="Escape"&&e){u.preventDefault(),u.stopPropagation(),l(u);return}s&&u.key==="Enter"&&!u.isComposing&&u.keyCode!==229&&s(u.target.value,u)}}),d=e?Me("button",{key:"clr",type:"button",class:"ds-search-clear","aria-label":"clear search",onclick:l},k("x")):null;return Me("span",{key:a,class:"ds-search-input-wrap"},c,d,i!=null?Me("span",{key:"cnt",class:"sr-only",role:"status","aria-live":"polite"},i):null)}function Qe({label:e,value:t="",type:n="text",placeholder:s="",onInput:r,onChange:a,name:o,key:i,hint:l,multiline:c,rows:d=4,maxLength:u,min:p,max:m,error:f,title:h,size:g="md","aria-label":w,"aria-invalid":v,"aria-describedby":x}){let C=g==="sm"?" ds-field--sm":g==="lg"?" ds-field--lg":"",A=f!=null?(i||"tf")+"-err":null,T=x||A||null,U=c?Me("textarea",{key:"i",name:o,rows:d,placeholder:s,value:t,maxlength:u??null,"aria-label":w||null,"aria-invalid":f!=null?"true":v||null,"aria-describedby":T,title:h||null,oninput:r?b=>r(b.target.value,b):null,onchange:a?b=>a(b.target.value,b):null}):Me("input",{key:"i",type:n,name:o,placeholder:s,value:t,maxlength:u??null,min:p!=null?String(p):null,max:m!=null?String(m):null,"aria-label":w||null,"aria-invalid":f!=null?"true":v||null,"aria-describedby":T,title:h||null,oninput:r?b=>r(b.target.value,b):null,onchange:a?b=>a(b.target.value,b):null});return Me("label",{key:i,class:"ds-field"+C},...[e!=null?Me("span",{key:"l",class:"ds-field-label"},e):null,U,f!=null?Me("span",{key:"e",id:A,class:"ds-field-error",role:"alert","aria-live":"polite","aria-atomic":"true"},f):null,u!=null?Me("span",{key:"c",class:"ds-field-count"},String(t.length)+"/"+u):null,l!=null?Me("span",{key:"h",class:"ds-field-hint"},l):null].filter(Boolean))}function rt({label:e,value:t="",options:n=[],onChange:s,name:r,key:a,placeholder:o,hint:i,title:l,size:c="md","aria-label":d}){let u=c==="sm"?" ds-field--sm":c==="lg"?" ds-field--lg":"",p=[];o!=null&&p.push(Me("option",{key:"_ph",value:"",disabled:!0,selected:t===""||t==null},o));for(let h of n){let g=typeof h=="string"?h:h.value!=null?h.value:h.id,w=typeof h=="string"?h:h.label!=null?h.label:h.id||h.value;p.push(Me("option",{key:"o-"+g,value:g,selected:g===t},w))}let m=e==null&&i==null&&c==="md",f=Me("select",{key:m&&a!=null?a:"i",name:r,class:"ds-select","aria-label":d||(e==null?l||o||r:null),title:l,onchange:s?h=>s(h.target.value,h):null},...p);return m?f:e==null&&i==null?Me("label",{key:a,class:"ds-field"+u},f):Me("label",{key:a,class:"ds-field"+u},e!=null?Me("span",{key:"l",class:"ds-field-label"},e):null,f,i!=null?Me("span",{key:"h",class:"ds-field-hint"},i):null)}function pi({fields:e=[],submit:t="submit",onSubmit:n,columns:s=1}){let r=s>1?String(s):null;return Me("form",{class:"row-form","data-columns":r,onsubmit:a=>{a.preventDefault(),n&&n(a)}},...e.map((a,o)=>{let i="ds-form-"+(a.name||"field")+"-"+o,l=a.label!=null?a.label:a.placeholder||a.name||"",c=a.kind==="textarea"?Me("textarea",{key:"i",id:i,name:a.name,placeholder:a.placeholder||"",rows:a.rows||4,required:a.required?!0:null}):Me("input",{key:"i",id:i,name:a.name,type:a.type||"text",placeholder:a.placeholder||"",value:a.value||"",required:a.required?!0:null});return Me("label",{key:o,class:"ds-field",for:i},l!==""?Me("span",{key:"l",class:"ds-field-label"},l):null,c)}),Me("button",{type:"submit",class:"btn-primary"},t))}var Me,Zd=N(()=>{I();Q();Me=y});function mi({size:e="base",tone:t="accent",label:n="loading",key:s}={}){let r={xs:"ds-spinner-xs",sm:"ds-spinner-sm",base:"",lg:"ds-spinner-lg",xl:"ds-spinner-xl"},a=r[e]!=null?r[e]:"";return ct("div",{key:s,class:"ds-spinner "+a+" tone-"+t,role:"status","aria-live":"polite","aria-label":n},ct("span",{key:"1","aria-hidden":"true"}),ct("span",{key:"2","aria-hidden":"true"}),ct("span",{key:"3","aria-hidden":"true"}))}function Jd(e,t){if(e==null)return t;let n=String(e).trim(),s=/^(\d+(?:\.\d+)?)(px|em|rem|%|vh|vw)?$/.exec(n);if(!s)return t;let r=s[2]||"px",a=parseFloat(s[1]);return r==="%"||r==="vh"||r==="vw"?a=Math.min(100,Math.max(0,a)):a=Math.min(600,Math.max(2,a)),a+r}function qn({height:e="1em",width:t="100%",count:n=1,label:s="loading content",key:r}={}){let a=Jd(e,"1em"),o=Jd(t,"100%");return ct("div",{key:r,class:"ds-skeleton-group",role:"status","aria-busy":"true","aria-label":s},...Array(n).fill(0).map((i,l)=>ct("div",{key:String(l),class:"ds-skeleton",style:`height:${a};width:${o};`,"aria-hidden":"true"})))}function fi({options:e=[],selected:t,onSelect:n,label:s="filters"}={}){return e.length?ct("div",{class:"ds-filter-pills",role:"group","aria-label":s},...e.map(r=>ct("button",{key:"fp-"+r.id,type:"button",class:"ds-filter-pill"+(r.id===t?" active":""),"aria-pressed":r.id===t?"true":"false",onclick:()=>n&&n(r.id)},r.label!=null?r.label:r.id))):null}function Qs({kind:e="info",children:t,onDismiss:n,title:s,key:r}={}){let a={info:"info",success:"check",warn:"warn",error:"x"},o="ds-alert ds-alert-"+e;return ct("div",{key:r,class:o,role:"alert"},ct("span",{key:"icon",class:"ds-alert-icon"},k(a[e]||"info")),ct("div",{key:"content",class:"ds-alert-content"},s?ct("div",{key:"title",class:"ds-alert-title"},s):null,ct("div",{key:"msg",class:"ds-alert-message"},...Array.isArray(t)?t:[t])),n?ct("button",{key:"dismiss",class:"ds-alert-dismiss","aria-label":"dismiss",onclick:n},k("x")):null)}var ct,Xd=N(()=>{I();Q();ct=y});function hi({state:e={},onNav:t,onToggleWork:n,works:s=[],posts:r=[],manifesto:a=[],currentlyShipping:o}={}){return[Hs({eyebrow:"an entrypoint",title:"Small, weird, useful tools \u2014 built in public.",body:"247420 is a creative collective of eight, scattered across three timezones. We have been shipping open-source tools for the web since 2018.",accent:"Some become the future. Most don't. That's the deal."}),o?nn({title:"currently shipping",children:Fe({kind:"wide",children:o.map((i,l)=>{let c=ks({tone:i.live?"live":"idle"});return c.props={...c.props,"aria-label":i.live?"live status":"idle status"},ne({key:l,code:c,title:i.title,sub:i.sub,meta:i.meta})})})}):null,s.length?nn({title:"Everything else.",children:Fs({works:s,openedIndex:e.opened??-1,onToggle:n})}):null,r.length?nn({title:"When we have something to say.",children:Os({posts:r})}):null,a.length?nn({title:"Eight people, three timezones, one ongoing conversation.",children:Us({paragraphs:a})}):null].filter(Boolean)}function gi({project:e={},copied:t,onCopy:n}={}){return[If("div",{class:"ds-prose"},tn({level:1,children:e.name}),ws({children:e.tagline})),e.install?[tn({level:3,children:"install"}),Ws({cmd:e.install,copied:t,onCopy:n})]:null,e.receipt?[tn({level:3,children:"by the numbers"}),Ls({rows:e.receipt})]:null,e.changelog?[tn({level:3,children:"recent releases"}),Ps({entries:e.changelog})]:null].filter(Boolean).flat()}var If,_d=N(()=>{I();Q();Rs();Bs();ri();oi();li();If=y});var Be=N(()=>{Gd();Rs();Bs();ri();oi();li();zd();Yd();Zd();Xd();_d()});function sn(e){return $d[e]||$d.other}function pt(e){if(e==null||typeof e!="number"||Number.isNaN(e)||e<0)return"\u2014";if(e===0)return"0 B";let t=["B","KB","MB","GB","TB"],n=0,s=e;for(;s>=1024&&n<t.length-1;)s/=1024,n++;return s.toFixed(n===0?0:1)+" "+t[n]}function Kn({type:e="other"}={}){return Mf("span",{class:"ds-file-icon","data-file-type":e,"aria-label":ya[e]||"file",role:"img"},k(sn(e)))}function bi(e=[],t="name",n="asc"){let s=n==="desc"?-1:1,r=(a,o)=>{let i=a.type==="dir"?0:1,l=o.type==="dir"?0:1;if(i!==l)return i-l;let c=0;return t==="size"?c=(a.size||0)-(o.size||0):t==="modified"?c=(a.modifiedTs||0)-(o.modifiedTs||0):t==="type"?c=String(a.type||"").localeCompare(String(o.type||"")):c=String(a.name||"").localeCompare(String(o.name||""),void 0,{numeric:!0,sensitivity:"base"}),c*s||String(a.name||"").localeCompare(String(o.name||""))};return e.slice().sort(r)}var Mf,$d,ya,yi=N(()=>{I();Q();Mf=y,$d={dir:"folder",image:"file-image",video:"file-video",audio:"file-audio",code:"file-code",text:"file-text",archive:"file-zip",document:"file-text",symlink:"link",other:"file"},ya={dir:"folder",image:"image file",video:"video file",audio:"audio file",code:"code file",text:"text file",archive:"archive file",document:"document file",symlink:"symbolic link",other:"file"}});function qs({name:e,type:t="other",size:n,modified:s,code:r,onOpen:a,onAction:o,active:i,key:l,permissions:c,locked:d,actions:u=jf,busy:p=!1,selectable:m=!1,selected:f=!1,onToggleSelect:h}={}){let g=d||c==="EACCES"||Array.isArray(c)&&c.length===0,w=!g&&Array.isArray(c)&&c.indexOf("write")===-1&&c.indexOf("read")!==-1,v=g?"no access":w?"read-only":null,x=[t==="dir"?null:pt(n),s||null].filter(Boolean).join(" \xB7 "),A=`${ya[t]||"file"}: ${e}${x?` (${x})`:""}${v?", "+v:""}`,T=a&&!g&&!p,U=p||w||g,b=(B,H,F,G,he)=>Re("button",{key:"act-"+B,type:"button",class:"ds-file-act"+(he?" ds-file-act-warn":""),title:U&&B!=="download"?"read-only":H,"aria-label":F,disabled:(B==="download"?p:U)?!0:null,"aria-disabled":(B==="download"?p:U)?"true":null,onclick:()=>o(B)},k(G)),E=o?[u.indexOf("download")!==-1&&t!=="dir"?b("download","download",`download ${e}`,"arrow-down",!1):null,u.indexOf("rename")!==-1?b("rename","rename",`rename ${e}`,"pencil",!1):null,u.indexOf("move")!==-1?b("move","move",`move ${e}`,"arrow-right",!1):null,u.indexOf("delete")!==-1?b("delete","delete",`delete ${e}`,"x",!0):null].filter(Boolean):[],P=[m?Re("button",{key:"mark",type:"button",class:"ds-file-check"+(f?" is-marked":""),role:"checkbox","aria-checked":f?"true":"false","aria-label":(f?"unselect ":"select ")+e,disabled:g||p?!0:null,onclick:h?B=>h({range:!!B.shiftKey}):null},Re("span",{class:"ds-check-box","aria-hidden":"true"})):null,Re("button",{key:"open",type:"button",class:"ds-file-open",onclick:T?a:null,"aria-label":A+(g?" (no access)":""),"aria-pressed":i?"true":"false",disabled:T?null:!0},...[r!=null?Re("span",{class:"code","aria-label":`code: ${r}`},r):null,Kn({type:t}),Re("span",{class:"title"},e),Re("span",{class:"ds-file-meta meta","aria-label":x?`metadata: ${x}`:null},x||"\u2014"),v?Re("span",{class:"ds-file-perm-tag"+(g?" is-noaccess":""),"aria-hidden":"true"},v):null].filter(Boolean)),E.length?Re("span",{key:"acts",class:"ds-file-actions",role:"group","aria-label":`actions for ${e}`},...E):null].filter(Boolean);return Re("div",{key:l,class:"ds-file-row row"+(i?" active":"")+(g?" is-locked":"")+(w?" is-restricted":"")+(f?" is-marked":"")+(m?" is-selectable":""),"data-file-type":t,"aria-busy":p?"true":null},...P)}function eu({key:e,f:t={},selectable:n=!1,selected:s=!1,onToggleSelect:r,onOpen:a,thumb:o}={}){let i=t.locked||t.permissions==="EACCES"||Array.isArray(t.permissions)&&t.permissions.length===0,l=a&&!i,c=ya[t.type]||"file",d=[n?Re("button",{key:"mark",type:"button",class:"ds-file-check ds-file-cell-check"+(s?" is-marked":""),role:"checkbox","aria-checked":s?"true":"false","aria-label":(s?"unselect ":"select ")+t.name,disabled:i?!0:null,onclick:r?u=>r({range:!!u.shiftKey}):null},Re("span",{class:"ds-check-box","aria-hidden":"true"})):null,Re("button",{key:"open",type:"button",class:"ds-file-cell-open",onclick:l?()=>a(t):null,disabled:l?null:!0,"aria-label":c+": "+t.name+(i?" (no access)":"")},Re("span",{class:"ds-file-cell-media"},o?Re("img",{class:"ds-file-cell-thumb",src:o,alt:"",loading:"lazy"}):Kn({type:t.type})),Re("span",{class:"ds-file-cell-name",title:t.name},t.name),Re("span",{class:"ds-file-cell-meta"},t.type==="dir"?"folder":pt(t.size)))].filter(Boolean);return Re("div",{key:e,class:"ds-file-cell"+(s?" is-marked":"")+(t.active?" active":"")+(i?" is-locked":""),"data-file-type":t.type},...d)}function Ks({rows:e=12}={}){return Re("div",{class:"ds-file-grid ds-file-skeleton",role:"status","aria-busy":"true","aria-label":"loading files"},...Array.from({length:Math.max(1,e)},(t,n)=>Re("div",{key:"sk"+n,class:"ds-file-row ds-file-row-skeleton","aria-hidden":"true"},Re("span",{class:"ds-skel ds-skel-icon"}),Re("span",{class:"ds-skel ds-skel-title"}),Re("span",{class:"ds-skel ds-skel-meta"}))))}var Re,jf,vi=N(()=>{I();Q();yi();Re=y,jf=["download","rename","move","delete"]});function Lf(e,t,n,s){let r=-1;if(e.key==="ArrowLeft"||e.key==="ArrowUp")r=(t-1+n.length)%n.length;else if(e.key==="ArrowRight"||e.key==="ArrowDown")r=(t+1)%n.length;else if(e.key==="Home")r=0;else if(e.key==="End")r=n.length-1;else return;e.preventDefault(),s(n[r][0]);let a=e.currentTarget.parentNode&&e.currentTarget.parentNode.children[r];a&&a.focus()}function nu({key:e="name",dir:t="asc",onSort:n}={}){return va("div",{class:"ds-file-sort",role:"group","aria-label":"sort files"},...[["name","name"],["size","size"],["modified","modified"]].map(([r,a])=>va("button",{key:r,type:"button",class:"ds-file-sort-btn"+(e===r?" active":""),"aria-pressed":e===r?"true":"false","aria-label":"sort by "+a+(e===r?" ("+(t==="asc"?"ascending":"descending")+")":""),onclick:()=>n&&n(r)},a+(e===r?" "+(t==="asc"?"asc":"desc"):""))))}function su({density:e="list",onDensity:t}={}){return t?va("div",{key:"density",class:"ds-density",role:"radiogroup","aria-label":"view density"},...tu.map(([n,s],r)=>va("button",{key:"d-"+n,type:"button",role:"radio",class:"ds-density-btn"+(e===n?" active":""),"aria-checked":e===n?"true":"false","aria-label":s,title:s,tabindex:e===n?"0":"-1",onkeydown:a=>Lf(a,r,tu,o=>{e!==o&&t(o)}),onclick:()=>{e!==n&&t(n)}},k(Rf[n],{size:15})))):null}var va,tu,Rf,ru=N(()=>{I();Q();va=y,tu=[["list","list"],["compact","compact"],["thumb","thumbnails"]],Rf={list:"rows",compact:"rows-tight",thumb:"grid"}});function wi({count:e=0,noun:t="file",nounPlural:n,actions:s=[],onClear:r,busy:a=!1}={}){if(!e)return null;let o=n||(/[^aeiou]y$/.test(t)?t.slice(0,-1)+"ies":t+"s"),i=[ye("span",{key:"count",class:"ds-bulkbar-count",role:"status","aria-live":"polite"},e+" "+(e===1?t:o)+" selected"),...s.map((l,c)=>O({key:"bba"+c,danger:!!l.danger,disabled:a||l.disabled,onClick:l.onClick,children:l.label})),r?O({key:"bbclear",disabled:a,onClick:r,children:"clear selection"}):null].filter(Boolean);return ye("div",{class:"ds-bulkbar",role:"toolbar","aria-label":"bulk file actions","aria-busy":a?"true":null},...i)}function ki({left:e=[],right:t=[]}={}){return ye("div",{class:"ds-file-toolbar"},ye("div",{class:"ds-file-toolbar-left"},...e),ye("div",{class:"ds-file-toolbar-right"},...t))}function xi({roots:e=[],selected:t,onSelect:n,label:s="roots"}={}){return e.length?ye("div",{class:"ds-roots-picker",role:"tablist","aria-label":s},...e.map(r=>ye("button",{key:"root-"+(r.id!=null?r.id:r.label),type:"button",role:"tab",class:"ds-roots-tab"+((r.id!=null?r.id:r.label)===t?" active":""),"aria-selected":(r.id!=null?r.id:r.label)===t?"true":"false",onclick:()=>n&&n(r.id!=null?r.id:r.label)},r.label||r.id))):null}function Ci({children:e,dragover:t,onDrop:n,onDragOver:s,onDragLeave:r,label:a="drop files here",onPick:o}={}){let i=Array.isArray(e)?e:e?[e]:[];return ye("div",{class:"ds-dropzone"+(i.length?" ds-dropzone--wrap":"")+(t?" dragover":""),ondragover:l=>{l.preventDefault(),s&&s(l)},ondragleave:l=>{l.currentTarget.contains(l.relatedTarget)||r&&r(l)},ondrop:l=>{l.preventDefault(),n&&n(l.dataTransfer.files)}},ye("div",{class:"ds-dropzone-inner"},ye("span",{class:"ds-dropzone-glyph",role:"img","aria-label":"upload"},k("arrow-up")),ye("span",{class:"ds-dropzone-label"},a),o?O({onClick:o,children:"pick files"}):null),...i)}function Ai({items:e=[],onDismiss:t}={}){return e.length?ye("div",{class:"ds-upload-progress"},...e.map((n,s)=>{let r=!n.error&&!n.done&&!n.pct&&n.indeterminate,a=n.error?"error":n.done?"complete":r?"uploading":`uploading ${n.pct||0}%`,o=[...(n.actions||[]).map((i,l)=>ye("button",{key:"ua"+l,type:"button",class:"ds-upload-act","aria-label":`${i.label} ${n.name}`,onclick:()=>i.onClick&&i.onClick(n,s)},i.label)),n.error&&t?ye("button",{key:"ud",type:"button",class:"ds-upload-act","aria-label":`dismiss ${n.name}`,onclick:()=>t(n,s)},"dismiss"):null].filter(Boolean);return ye("div",{key:n.name+s,class:"ds-upload-item"+(n.done?" done":"")+(n.error?" error":""),role:"status","aria-label":`${n.name}: ${a}`,"aria-live":"polite"},ye("span",{class:"ds-upload-name"},n.name),ye("span",{class:"ds-upload-bar"+(r?" indeterminate":"")},ye("span",{class:"ds-upload-fill","data-pct":String(Math.max(0,Math.min(100,n.pct||0))),"aria-hidden":"true"})),ye("span",{class:"ds-upload-pct","aria-hidden":"true"},n.error?"err":n.done?"ok":r?"...":(n.pct||0)+"%"),o.length?ye("span",{class:"ds-upload-actions",role:"group","aria-label":`actions for ${n.name}`},...o):null)})):null}function Gn({text:e="nothing here",glyph:t=k("circle"),action:n}={}){return ye("div",{class:"ds-file-empty",role:"status"},...[ye("span",{key:"glyph",class:"ds-file-empty-glyph","aria-hidden":"true"},t),ye("span",{key:"text",class:"ds-file-empty-text"},e),n&&n.onClick?O({key:"ea",onClick:n.onClick,children:n.label||"go up"}):null].filter(Boolean))}function Gs({segments:e=[],onNav:t,root:n="root"}={}){let s=[ye("button",{key:"root",class:"ds-crumb-seg",onclick:()=>t&&t(0)},n)];return e.forEach((r,a)=>{s.push(ye("span",{key:"sep"+a,class:"ds-crumb-sep","aria-hidden":"true"},k("chevron-right",{size:13}))),s.push(ye("button",{key:"seg"+a,class:"ds-crumb-seg"+(a===e.length-1?" leaf":""),onclick:()=>t&&t(a+1)},r))}),ye("div",{class:"ds-crumb-path"},...s)}var ye,Ei=N(()=>{I();Q();ye=y});function Ti({files:e=[],onOpen:t,onAction:n,onUp:s,emptyText:r="No files here yet",emptyAction:a,sort:o,filter:i,loading:l=!1,shown:c,onShowMore:d,actions:u,busy:p,selectable:m=!1,selected:f,onToggleSelect:h,marked:g=f,onMark:w=h,onSelectAll:v,onClearSelection:x,density:C="list",onDensity:A,thumbUrl:T}={}){if(l&&!e.length)return Ks({rows:12});let U=!!(i&&(i.value||"").length>0);if(!e.length&&!U)return Gn({text:r,glyph:k("folder-open",{size:28}),action:a});let b=l&&e.length>0,E=c??Si,L=e.length>E,P=L?e.slice(0,E):e,B=C==="thumb",H={},F=j=>j.path||j.name,G=j=>j.locked||j.permissions==="EACCES"||Array.isArray(j.permissions)&&j.permissions.length===0,he=g instanceof Set?g:new Set(g||[]),oe=m?P.filter(j=>!G(j)).map(F):[],te=j=>{let Ot=j.currentTarget,Je=Array.from(Ot.querySelectorAll(".ds-file-open:not([disabled]), .ds-file-cell-open:not([disabled])")),fs=Je.indexOf(document.activeElement);j.key==="ArrowDown"?(j.preventDefault(),Je[Math.min(Je.length-1,fs+1)]?.focus()):j.key==="ArrowUp"?(j.preventDefault(),(fs<=0?Je[0]:Je[fs-1])?.focus()):j.key==="Home"?(j.preventDefault(),Je[0]?.focus()):j.key==="End"?(j.preventDefault(),Je[Je.length-1]?.focus()):j.key==="Backspace"?(j.preventDefault(),s&&s()):(j.key==="a"||j.key==="A")&&(j.ctrlKey||j.metaKey)&&m&&v&&oe.length&&(j.preventDefault(),v(oe))},M=o?nu(o):null,S=oe.filter(j=>he.has(j)).length,R=S===0?"false":S===oe.length?"true":"mixed",Y=m&&v&&oe.length?mt("button",{key:"selall",type:"button",class:"ds-file-selectall",role:"checkbox","aria-checked":R,"aria-label":R==="true"?"clear selection":"select all "+oe.length+" shown files",onclick:()=>R==="true"&&x?x():v(oe)},mt("span",{class:"ds-check-box","aria-hidden":"true"}),mt("span",{},"all")):null,He=su({density:C,onDensity:A}),gt=[i?mt("span",{key:"filterwrap",class:"ds-file-filter-wrap"},mt("input",{key:"filter",class:"ds-file-filter-input",type:"search",value:i.value||"",placeholder:i.placeholder||"Filter files","aria-label":i.placeholder||"Filter files in this directory",oninput:j=>i.onInput&&i.onInput(j.target.value),onkeydown:j=>{j.key==="Escape"&&i.value&&(j.preventDefault(),j.stopPropagation(),i.onInput&&i.onInput(""))}}),mt("span",{key:"filtercount",class:"sr-only",role:"status","aria-live":"polite"},U?e.length+(e.length===1?" file":" files")+" shown":"")):null,Y,M].filter(Boolean),Et=[...gt,gt.length&&He?mt("span",{key:"spread",class:"spread"}):null,He].filter(Boolean),Pt=Et.length?mt("div",{class:"ds-file-controls"},...Et):null,re=!e.length&&U?Gn({text:r,glyph:k("folder-open",{size:28})}):mt("div",{class:"ds-file-grid"+(B?" ds-file-grid-thumb":"")+(b?" is-refreshing":""),role:"group","aria-label":"files",tabindex:"0","aria-busy":b?"true":"false","data-density":C||"list",onkeydown:te,...H},...P.map((j,Ot)=>B?eu({key:j.path||j.name+Ot,f:j,selectable:m,selected:he.has(F(j)),onToggleSelect:w?Je=>w(j,Je):null,onOpen:t,thumb:T&&j.type==="image"?T(j):null}):qs({key:j.path||j.name+Ot,name:j.name,type:j.type,size:j.size,modified:j.modified,code:j.code,active:j.active,permissions:j.permissions,locked:j.locked,actions:u??void 0,busy:p!=null?!!p:!!j.busy,selectable:m,selected:he.has(F(j)),onToggleSelect:w?Je=>w(j,Je):null,onOpen:t?()=>t(j):null,onAction:n?Je=>n(Je,j):null}))),ae=L?mt("div",{class:"ds-file-more"},mt("span",{class:"ds-file-more-count",role:"status","aria-live":"polite"},"showing "+P.length+" of "+e.length),d?mt("button",{type:"button",class:"ds-file-more-btn",onclick:()=>d(Math.min(e.length,E+Si))},"show "+Math.min(Si,e.length-E)+" more"):null):null;return Pt||ae?mt("div",{class:"ds-file-listing"},Pt,re,ae):re}var mt,Si,au=N(()=>{I();Q();vi();ru();Ei();mt=y,Si=200});var rn=N(()=>{yi();vi();au();Ei()});function an(e){let t=String(e??"").trim();if(!t)return null;if(/^(\/|\.|#|\?)/.test(t)||t.startsWith("//"))return t;let n=(t.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/)||[])[1];return n?/^(https?|mailto|tel)$/i.test(n)?t:null:t}function An(e){if(e==null)return[];let t=[],n=/(\*\*([^*]+)\*\*|\*([^*]+)\*|`([^`]+)`|\[([^\]]+)\]\(([^)]+)\))/g,s=0,r,a=0,o=i=>t.push(i);for(;(r=n.exec(e))!==null;){if(r.index>s&&o(Cn("span",{key:"s"+a+"a"},e.slice(s,r.index))),r[2]!=null)o(Cn("strong",{key:"s"+a},r[2]));else if(r[3]!=null)o(Cn("em",{key:"s"+a},r[3]));else if(r[4]!=null)o(Cn("code",{key:"s"+a,class:"chat-tick"},r[4]));else if(r[5]!=null){let i=an(r[6]);o(i?Cn("a",{key:"s"+a,href:i,target:"_blank",rel:"noopener noreferrer"},r[5]):Cn("span",{key:"s"+a},r[5]))}s=r.index+r[0].length,a+=1}return s<e.length&&o(Cn("span",{key:"s"+a+"a"},e.slice(s))),t}function ou(e){let t=String(e||"").split(".").pop().toLowerCase();return Pf[t]||"file"}function Vn(e,t){let n=()=>{t.textContent="copied",t.classList.add("is-copied"),setTimeout(()=>{t.textContent="copy",t.classList.remove("is-copied")},1600)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(n).catch(()=>{});else try{let s=document.createElement("textarea");s.value=e,document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s),n()}catch{}}function Vs(e){e&&e.querySelectorAll("pre").forEach(t=>{if(t.dataset.copyWired==="1")return;t.dataset.copyWired="1";let n=document.createElement("div");n.className="chat-code-block",t.parentNode.insertBefore(n,t),n.appendChild(t);let s=t.querySelector("code"),r=s&&(s.className||"").match(/(?:language|lang)-([a-z0-9+#]+)/i);if(r&&r[1]){let o=document.createElement("span");o.className="chat-code-lang",o.setAttribute("aria-hidden","true"),o.textContent=r[1],n.appendChild(o)}let a=document.createElement("button");a.type="button",a.className="chat-code-copy",a.setAttribute("aria-label","copy code"),a.textContent="copy",a.addEventListener("click",()=>Vn(t.innerText,a)),n.appendChild(a)})}var Cn,Pf,zs=N(()=>{I();Cn=y;Pf={pdf:"file-pdf",zip:"file-zip",tar:"file-zip",gz:"file-zip",mp4:"file-video",mov:"file-video",mp3:"file-audio",wav:"file-audio",csv:"file-sheet",json:"file-code",js:"file-code",ts:"file-code",md:"file-text",txt:"file-text"}});function on(e){return String(e??"").replace(/[&<>"']/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[t])}function iu(e){return JSON.stringify(e).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(Bf,"\\u2028").replace(Hf,"\\u2029")}var Bf,Hf,Di=N(()=>{Bf=new RegExp("\u2028","g"),Hf=new RegExp("\u2029","g")});function Uf({markedUrl:e,purifyUrl:t}={}){e!==void 0&&(Ii=e||cu),t!==void 0&&(Mi=t||du),ln=null,En=0}function Wf(){return{markedUrl:Ii,purifyUrl:Mi}}function Sn(){return!zn||!Ht||typeof Ht.sanitize!="function"}async function Yn(){return ln||(En&&Date.now()-En<Nf?!1:(ln=(async()=>{try{let[{marked:e},t]=await Promise.all([import(Ii),import(Mi)]),n=t.default||t;if(!e||typeof e.parse!="function")throw new Error("marked module missing parse()");if(!n||typeof n.sanitize!="function")throw new Error("DOMPurify module missing sanitize()");return zn=e,Ht=n,En=0,!0}catch(e){return console.warn("[247420] markdown loader failed:",e),zn=null,Ht=null,ln=null,En=Date.now(),!1}})(),ln))}function lu(e){return on(e).replace(/\n/g,"<br>")}async function wa(e){if(!await Yn())return lu(e);try{let n=zn.parse(String(e));if(typeof Ht.sanitize!="function")throw new Error("purifier unavailable mid-render");return Ht.sanitize(n,{FORCE_BODY:!0})}catch(n){return console.warn("[247420] markdown render failed, falling back to escaped text:",n),zn=null,Ht=null,ln=null,En=Date.now(),lu(e)}}async function ji(e){if(!await Yn())return on(e);try{if(typeof Ht.sanitize!="function")throw new Error("purifier unavailable mid-sanitize");return Ht.sanitize(String(e),{FORCE_BODY:!0})}catch(n){return console.warn("[247420] sanitizeHtml failed, falling back to escaped text:",n),zn=null,Ht=null,ln=null,En=Date.now(),on(e)}}var ln,zn,Ht,En,Nf,cu,du,Ii,Mi,Zn=N(()=>{Di();ln=null,zn=null,Ht=null,En=0,Nf=3e4,cu="https://cdn.jsdelivr.net/npm/marked@15.0.12/+esm",du="https://cdn.jsdelivr.net/npm/dompurify@3.2.6/+esm",Ii=cu,Mi=du});function Ff({baseUrl:e}={}){ka=e||pu,Jn=null,Ys=null}function Of(){return{baseUrl:ka}}function uu(e){return new Promise(t=>{if(document.querySelector('script[src="'+e+'"]')){t();return}let s=document.createElement("script");s.src=e,s.crossOrigin="anonymous",s.onload=t,s.onerror=()=>{console.warn("[247420] prism part failed:",e),t()},document.head.appendChild(s)})}async function Xn(){return Jn||Ys||(Ys=(async()=>{try{if(await uu(ka+"prism-core.min.js"),Jn=window.Prism||null,Jn)for(let e of Qf)await Promise.all(e.map(t=>uu(ka+t)));return Jn}catch(e){return console.warn("[247420] prism loader failed:",e),null}})(),Ys)}async function Tn(e){let t=await Xn();!t||!e||typeof t.highlightAllUnder=="function"&&t.highlightAllUnder(e)}var Jn,Ys,pu,ka,Qf,Zs=N(()=>{Jn=null,Ys=null,pu="https://cdn.jsdelivr.net/npm/prismjs@1.30.0/components/",ka=pu;Qf=[["prism-markup.min.js","prism-css.min.js","prism-clike.min.js"],["prism-javascript.min.js","prism-json.min.js","prism-bash.min.js","prism-yaml.min.js","prism-markdown.min.js","prism-python.min.js","prism-rust.min.js","prism-go.min.js","prism-diff.min.js","prism-sql.min.js","prism-toml.min.js"],["prism-typescript.min.js","prism-jsx.min.js"],["prism-tsx.min.js"]]});function qf(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return Math.abs(t).toString(36)}async function Aa(){return xa||(xa=(async()=>{let e=performance.now(),[t,n]=await Promise.all([(async()=>{let s=performance.now(),r=await Yn();return Te.markdownInitMs=performance.now()-s,Ri=!0,r})(),(async()=>{let s=performance.now(),r=await Xn();return Te.prismInitMs=performance.now()-s,Ca=!0,r})()]);return Te.totalInitMs=performance.now()-e,{markdown:t,prism:n}})(),xa)}async function mu(e){let t=performance.now(),n=qf(e||"");if(Dn.has(n))return Te.cacheHits+=1,Dn.get(n);await Yn(),Ri=!Sn();let s=await wa(e);if(!Sn()&&(Dn.set(n,s),Dn.size>500)){let a=Dn.keys().next().value;Dn.delete(a)}let r=performance.now()-t;return Te.renderCount+=1,Te.cacheMisses+=1,Te.renderTimes.push(r),Te.renderTimes.length>100&&Te.renderTimes.shift(),s}async function Li(e){Ca||(await Xn(),Ca=!0),await Tn(e)}function Pi(){let e=Te.cacheHits+Te.cacheMisses;return{markdownInitialized:Ri,prismInitialized:Ca,initMs:{markdown:Te.markdownInitMs,prism:Te.prismInitMs,total:Te.totalInitMs},renderStats:{count:Te.renderCount,avgTimeMs:Te.renderTimes.length?(Te.renderTimes.reduce((t,n)=>t+n,0)/Te.renderTimes.length).toFixed(2):0,minTimeMs:Te.renderTimes.length?Math.min(...Te.renderTimes).toFixed(2):0,maxTimeMs:Te.renderTimes.length?Math.max(...Te.renderTimes).toFixed(2):0},cacheStats:{hits:Te.cacheHits,misses:Te.cacheMisses,hitRate:e>0?(Te.cacheHits/e*100).toFixed(1)+"%":"N/A",cacheSize:Dn.size}}}var Ri,Ca,xa,Dn,Te,Ea=N(()=>{Zn();Zs();Bt();Ri=!1,Ca=!1,xa=null,Dn=new Map,Te={markdownInitMs:0,totalInitMs:0,prismInitMs:0,renderCount:0,renderTimes:[],cacheHits:0,cacheMisses:0};Ge("markdown-cache",()=>Pi())});function Kf({url:e}={}){Bi=e||fu,_n=null,$n=null}function Gf(){return{url:Bi}}async function hu(){return _n||$n||($n=(async()=>{try{let e=await import(Bi),t=e.default||e;if(!t||typeof t.render!="function")throw new Error("mermaid module missing render()");return t.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0}),_n=t,_n}catch(e){return console.warn("[247420] mermaid loader failed:",e),_n=null,$n=null,null}})(),$n)}async function gu(e){let t=await hu();if(!t)return null;try{let n="ds-mermaid-"+Date.now().toString(36)+"-"+Vf++;if(!(t.parse?await t.parse(e,{suppressErrors:!0}):!0))return null;let{svg:r}=await t.render(n,e);return r}catch(n){return console.warn("[247420] mermaid render failed:",n),null}}async function Hi(e){if(!e||!e.querySelectorAll)return;let t=e.querySelectorAll("code.language-mermaid, code.lang-mermaid");for(let n of t){let s=n.closest("pre");if(!s||s.dataset.mermaidWired==="1")continue;s.dataset.mermaidWired="1";let r=n.textContent||"",a=await gu(r);if(!a){delete s.dataset.mermaidWired;continue}let o=document.createElement("div");o.className="ds-mermaid-block";let i=document.createElement("button");i.type="button",i.className="ds-mermaid-toggle",i.textContent="source";let l=document.createElement("div");l.className="ds-mermaid-diagram",l.innerHTML=a;let c=!1;i.addEventListener("click",()=>{c=!c,l.style.display=c?"none":"",s.style.display=c?"":"none",i.textContent=c?"diagram":"source"}),o.appendChild(l),o.appendChild(i),s.style.display="none",s.parentNode.insertBefore(o,s),o.appendChild(s)}}var _n,$n,fu,Bi,Vf,Ni=N(()=>{_n=null,$n=null,fu="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs",Bi=fu;Vf=0});function zf({jsUrl:e,cssUrl:t}={}){Ui=e||yu,Wi=t||vu,es=null,ts=null,Sa=!1}function Yf(){return{jsUrl:Ui,cssUrl:Wi}}function Zf(){if(Sa||typeof document>"u")return;if(document.querySelector("link[data-katex]")){Sa=!0;return}let e=document.createElement("link");e.rel="stylesheet",e.href=Wi,e.setAttribute("data-katex",""),document.head.appendChild(e),Sa=!0}async function Fi(){return es||ts||(ts=(async()=>{try{Zf();let e=await import(Ui),t=e.default||e;if(!t||typeof t.renderToString!="function")throw new Error("katex module missing renderToString()");return es=t,es}catch(e){return console.warn("[247420] katex loader failed:",e),es=null,ts=null,null}})(),ts)}async function bu(e,t){let n=await Fi();if(!n)return null;try{return n.renderToString(e,{throwOnError:!1,strict:!1,displayMode:t})}catch(s){return console.warn("[247420] katex render failed:",s),null}}async function Oi(e){if(!e||e.dataset?.mathWired==="1"||!e||!e.querySelectorAll||!(e.innerHTML||"").includes("$")||!await Fi())return;e.dataset.mathWired="1";let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(l){let c=l.parentElement;return c&&(c.closest("code")||c.closest("pre"))?NodeFilter.FILTER_REJECT:/\$/.test(l.nodeValue)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),r=[],a;for(;a=s.nextNode();)r.push(a);let o=/\$\$([^$]+)\$\$/g,i=/\$([^$\n]+)\$/g;for(let l of r){let c=l.nodeValue;if(!o.test(c)&&!i.test(c))continue;o.lastIndex=0,i.lastIndex=0;let d=document.createDocumentFragment(),u=0,p=[],m;for(;(m=o.exec(c))!==null;)m.index>u&&p.push({text:c.slice(u,m.index)}),p.push({math:m[1],display:!0}),u=m.index+m[0].length;u<c.length&&p.push({text:c.slice(u)});for(let f of p){if(f.math!=null){let x=await bu(f.math.trim(),!0);if(x){let C=document.createElement("span");C.className="ds-math-display",C.innerHTML=x,d.appendChild(C)}else d.appendChild(document.createTextNode("$$"+f.math+"$$"));continue}let h=f.text,g=0;i.lastIndex=0;let w,v=!1;for(;(w=i.exec(h))!==null;){v=!0,w.index>g&&d.appendChild(document.createTextNode(h.slice(g,w.index)));let x=await bu(w[1].trim(),!1);if(x){let C=document.createElement("span");C.className="ds-math-inline",C.innerHTML=x,d.appendChild(C)}else d.appendChild(document.createTextNode("$"+w[1]+"$"));g=w.index+w[0].length}v?g<h.length&&d.appendChild(document.createTextNode(h.slice(g))):d.appendChild(document.createTextNode(h))}l.parentNode.replaceChild(d,l)}}var es,ts,Sa,yu,vu,Ui,Wi,Qi=N(()=>{es=null,ts=null,Sa=!1,yu="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.mjs",vu="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css",Ui=yu,Wi=vu});function wu(e){return zt("div",{class:"chat-bubble chat-md",ref:n=>{if(!n)return;let s=(Sn()?"~degraded~":"")+(e.text||"");if(n.dataset.mdSrc===s)return;let r=n.dataset.mdParsedLen?Number(n.dataset.mdParsedLen):0,a=n.dataset.mdLastParseAt?Number(n.dataset.mdLastParseAt):0,o=typeof performance<"u"?performance.now():Date.now();if(e.streamingCaret&&r>0&&o-a<Jf&&s.length-r<Xf){n.textContent=e.text||"";return}n.dataset.mdSrc=s,n.dataset.mdParsedLen=String(s.length),n.dataset.mdLastParseAt=String(o),Sn()&&(n.textContent=e.text||"");function i(){mu(e.text||"").then(l=>{if(n.dataset.mdSrc!==s)return;let c=()=>{n.innerHTML=l,delete n.dataset.mathWired,Vs(n),Hi(n).catch(()=>{}),Oi(n).catch(()=>{})},d=typeof window<"u"?window.getSelection():null;if(d&&d.anchorNode&&n.contains(d.anchorNode)){let u=()=>{document.removeEventListener("selectionchange",u),c()};document.addEventListener("selectionchange",u,{once:!0});return}c()})}e.streamingCaret?i():_f(i)}})}function ku(e){let t=s=>{if(!s)return;let r=(e.lang||"")+"|"+(e.code||"");if(s.dataset.codeKey===r)return;s.dataset.codeKey=r;let a=typeof window<"u"?window.getSelection():null;if(a&&a.anchorNode&&s.contains(a.anchorNode)){let o=()=>{document.removeEventListener("selectionchange",o),Li(s)};document.addEventListener("selectionchange",o,{once:!0});return}Li(s)},n=s=>Vn(e.code||"",s.currentTarget);return zt("div",{class:"chat-bubble chat-code",ref:t},zt("div",{class:"chat-code-head"},zt("span",{class:"lang"},e.lang||"code"),e.filename?zt("span",{class:"name"},e.filename):null,zt("span",{class:"spread"}),zt("button",{type:"button",class:"chat-code-copy chat-code-copy-head","aria-label":"copy code",onclick:n},"copy")),zt("pre",{},zt("code",{class:e.lang?"lang-"+e.lang+" language-"+e.lang:""},e.code||"")))}var zt,Jf,Xf,_f,xu=N(()=>{I();Ea();Zn();Ni();Qi();zs();zt=y,Jf=120,Xf=40,_f=typeof requestIdleCallback=="function"?e=>requestIdleCallback(e,{timeout:500}):e=>setTimeout(e,0)});function Au(e,t){ns.set(e,{...ns.get(e)||{},...t})}function In(){try{let e=typeof localStorage<"u"&&localStorage.getItem(Cu);if(e&&ns.has(e))return e}catch{}if(typeof navigator<"u"&&navigator.language){let e=navigator.language.slice(0,2);if(ns.has(e))return e}return"en"}function $f(e){try{typeof localStorage<"u"&&localStorage.setItem(Cu,e)}catch{}}function Nt(e,t,n){let s=In(),r=ns.get(s)||{},a=e in r?r[e]:t;if(n)for(let o of Object.keys(n))a=a.split("{"+o+"}").join(String(n[o]));return a}function eh(){return[...ns.keys()]}var Cu,ns,ss=N(()=>{Cu="ds-locale",ns=new Map;Au("en",{})});function nh(e){return th[e]||{label:e||"changed",tone:"neutral",glyph:(e||"?").slice(0,1)}}function rh(e=""){let t=e.split("/").pop()||e,n=t.toLowerCase();if(Eu[n])return Eu[n];if(n.startsWith(".env."))return"text";if(n==="dockerfile"||n.startsWith("dockerfile."))return"code";let s=t.lastIndexOf(".");return s<=0?"other":sh[t.slice(s+1).toLowerCase()]||"other"}function Ta({files:e=[],onFileClick:t,emptyText:n="no changes",active:s}={}){return e.length?Oe("div",{class:"ds-git-status-grid",role:"group","aria-label":"changed files"},...e.map((r,a)=>ah({key:r.path||a,file:r,onClick:t,active:s===r.path}))):Oe("div",{class:"ds-git-empty",role:"status"},Oe("span",{class:"ds-git-empty-glyph","aria-hidden":"true"},k("circle-dot",{size:22})),Oe("span",{},n))}function ah({key:e,file:t,onClick:n,active:s}={}){let r=nh(t.status),a=rh(t.path),o=[t.insertions!=null?Oe("span",{class:"ds-git-stat ds-git-stat-add"},"+"+t.insertions):null,t.deletions!=null?Oe("span",{class:"ds-git-stat ds-git-stat-del"},"-"+t.deletions):null].filter(Boolean);return Oe("button",{key:e,type:"button",class:"ds-git-row"+(s?" active":""),onclick:n?()=>n(t):null,disabled:n?null:!0,"aria-label":r.label+": "+t.path,"aria-pressed":s?"true":"false"},Oe("span",{class:"ds-git-status-chip tone-"+r.tone,"aria-hidden":"true"},r.glyph),Oe("span",{class:"ds-git-row-icon","aria-hidden":"true"},k(sn(a),{size:15})),Oe("span",{class:"ds-git-row-path"},t.path),t.staged?Oe("span",{class:"ds-git-row-tag"},"staged"):null,o.length?Oe("span",{class:"ds-git-row-stats"},...o):null)}function oh(e=""){let t=e.split(`
126
+ `,s.querySelector(".prev").addEventListener("click",e),s.querySelector(".next").addEventListener("click",t),s.querySelector(".reset").addEventListener("click",n),s}function Md({onBack:e,onForward:t}){let n=document.createElement("div");n.className="tapzones export-hidden",n.setAttribute("aria-hidden","true");let s=document.createElement("div");s.className="tapzone tapzone--back";let r=document.createElement("div");r.className="tapzone tapzone--mid",r.style.pointerEvents="none";let a=document.createElement("div");return a.className="tapzone tapzone--fwd",s.addEventListener("click",e),a.addEventListener("click",t),n.append(s,r,a),n}function jd(e,t){let n=t.target;if(n&&(n.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(n.tagName))||t.metaKey||t.ctrlKey||t.altKey)return!1;let s=kf[t.key];if(s)return s(e),!0;if(/^[0-9]$/.test(t.key)){let r=t.key==="0"?9:parseInt(t.key,10)-1;if(r<e._slides.length)return e._go(r,"keyboard"),!0}return!1}var vf,wf,kf,Rd=N(()=>{Q();vf=ra("chevron-left",{size:16}),wf=ra("chevron-right",{size:16});kf={ArrowRight:e=>e._go(e._index+1,"keyboard"),PageDown:e=>e._go(e._index+1,"keyboard")," ":e=>e._go(e._index+1,"keyboard"),Spacebar:e=>e._go(e._index+1,"keyboard"),ArrowLeft:e=>e._go(e._index-1,"keyboard"),PageUp:e=>e._go(e._index-1,"keyboard"),Home:e=>e._go(0,"keyboard"),End:e=>e._go(e._slides.length-1,"keyboard"),r:e=>e._go(0,"keyboard"),R:e=>e._go(0,"keyboard")}});function Ld(e){let t=document.getElementById("speaker-notes");if(!t)return[];try{let n=JSON.parse(t.textContent||"[]");return Array.isArray(n)?n:[]}catch(n){return console.warn("[deck-stage] Failed to parse #speaker-notes JSON:",n),[]}}function Pd(e,t){let n=ha+(location.pathname||"/");try{let s=localStorage.getItem(n);if(s==null)return 0;let r=parseInt(s,10);if(Number.isFinite(r)&&r>=0&&r<t.length)return r}catch{}return 0}function Af(e,t){let n=ha+(location.pathname||"/");try{localStorage.setItem(n,String(t))}catch{}}function Bd(e,t){let s=t.assignedElements({flatten:!0}).filter(r=>{let a=r.tagName;return a!=="TEMPLATE"&&a!=="SCRIPT"&&a!=="STYLE"});return s.forEach((r,a)=>{let o=a+1,i=r.getAttribute("data-label");if(!i){let l=r.getAttribute("data-screen-label");l&&(i=l.replace(/^\s*\d+\s*/,"").trim()||l)}if(!i){let l=r.querySelector("h1, h2, h3, [data-title]");l&&(i=(l.textContent||"").trim().slice(0,40))}i||(i="Slide"),r.setAttribute("data-screen-label",`${Cf(o)} ${i}`),r.hasAttribute("data-om-validate")||r.setAttribute("data-om-validate",xf),r.setAttribute("data-deck-slide",String(a))}),s}function Xo(e,{index:t,prevIndex:n,slides:s,countEl:r,showOverlay:a=!0,broadcast:o=!0,reason:i="init",flashFn:l=null}={}){if(!s.length)return;let c=n??-1,d=t;if(s.forEach((u,p)=>{p===d?u.setAttribute("data-deck-active",""):u.removeAttribute("data-deck-active")}),r&&(r.textContent=String(d+1)),Af(e,d),o){try{window.postMessage({slideIndexChanged:d},"*")}catch{}e.dispatchEvent(new CustomEvent("slidechange",{detail:{index:d,previousIndex:c,total:s.length,slide:s[d]||null,previousSlide:c>=0&&s[c]||null,reason:i},bubbles:!0,composed:!0}))}a&&l&&l()}var ha,xf,Cf,Hd=N(()=>{ha="deck-stage:slide:",xf="no_overflowing_text,no_overlapping_text,slide_sized_text",Cf=e=>String(e).padStart(2,"0")});var Nd={};hn(Nd,{DeckStage:()=>ga});var Ef,Sf,Tf,ga,Ud=N(()=>{dd();Rd();Hd();Ef=1920,Sf=1080,Tf=1800,ga=class extends HTMLElement{static get observedAttributes(){return["width","height","noscale","fill"]}constructor(){super(),this._root=this.attachShadow({mode:"open"}),this._index=0,this._slides=[],this._notes=[],this._hideTimer=null,this._mouseIdleTimer=null,this._storageKey=ha+(location.pathname||"/"),this._onKey=this._onKey.bind(this),this._onResize=this._onResize.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onMouseMove=this._onMouseMove.bind(this)}get designWidth(){return parseInt(this.getAttribute("width"),10)||Ef}get designHeight(){return parseInt(this.getAttribute("height"),10)||Sf}connectedCallback(){this._render(),this._notes=Ld(this),this._syncPrintPageRule(),window.addEventListener("keydown",this._onKey),window.addEventListener("resize",this._onResize),window.addEventListener("mousemove",this._onMouseMove,{passive:!0})}disconnectedCallback(){window.removeEventListener("keydown",this._onKey),window.removeEventListener("resize",this._onResize),window.removeEventListener("mousemove",this._onMouseMove),this._hideTimer&&clearTimeout(this._hideTimer),this._mouseIdleTimer&&clearTimeout(this._mouseIdleTimer)}attributeChangedCallback(){this._canvas&&(this._canvas.style.width=this.designWidth+"px",this._canvas.style.height=this.designHeight+"px",this._canvas.style.setProperty("--deck-design-w",this.designWidth+"px"),this._canvas.style.setProperty("--deck-design-h",this.designHeight+"px"),this._fit(),this._syncPrintPageRule())}_render(){let t=document.createElement("style");t.textContent=cd;let n=document.createElement("div");n.className="stage";let s=document.createElement("div");s.className="canvas",s.style.width=this.designWidth+"px",s.style.height=this.designHeight+"px",s.style.setProperty("--deck-design-w",this.designWidth+"px"),s.style.setProperty("--deck-design-h",this.designHeight+"px");let r=document.createElement("slot");r.addEventListener("slotchange",this._onSlotChange),s.appendChild(r),n.appendChild(s);let a=Md({onBack:i=>{i.preventDefault(),this._go(this._index-1,"tap")},onForward:i=>{i.preventDefault(),this._go(this._index+1,"tap")}}),o=Id({onPrev:()=>this._go(this._index-1,"click"),onNext:()=>this._go(this._index+1,"click"),onReset:()=>this._go(0,"click")});this._root.append(t,n,a,o),this._canvas=s,this._slot=r,this._overlay=o,this._countEl=o.querySelector(".current"),this._totalEl=o.querySelector(".total")}_syncPrintPageRule(){let t="deck-stage-print-page",n=document.getElementById(t);n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n)),n.textContent="@page { size: "+this.designWidth+"px "+this.designHeight+"px; margin: 0; } @media print { html, body { margin: 0 !important; padding: 0 !important; background: none !important; overflow: visible !important; height: auto !important; } * { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }"}_onSlotChange(){this._slides=Bd(this,this._slot),this._index=Pd(this,this._slides),Xo(this,{index:this._index,prevIndex:this._prevIndex,slides:this._slides,countEl:this._countEl,showOverlay:!1,broadcast:!0,reason:"init",flashFn:()=>this._flashOverlay()}),this._fit()}_flashOverlay(){this._overlay&&(this._overlay.setAttribute("data-visible",""),this._hideTimer&&clearTimeout(this._hideTimer),this._hideTimer=setTimeout(()=>this._overlay.removeAttribute("data-visible"),Tf))}_fit(){if(!this._canvas)return;if(this.hasAttribute("noscale")){this._canvas.style.transform="none";return}let t=window.innerWidth/this.designWidth,n=window.innerHeight/this.designHeight,s=this.getAttribute("fill")==="cover"?Math.max(t,n):Math.min(t,n);this._canvas.style.transform=`scale(${s})`}_onResize(){this._fit()}_onMouseMove(){this._flashOverlay()}_onKey(t){jd(this,t)&&(t.preventDefault(),this._flashOverlay())}_go(t,n="api"){if(!this._slides.length)return;let s=Math.max(0,Math.min(this._slides.length-1,t));if(s===this._index){this._flashOverlay();return}this._index=s,Xo(this,{index:this._index,prevIndex:this._prevIndex,slides:this._slides,countEl:this._countEl,showOverlay:!0,broadcast:!0,reason:n,flashFn:()=>this._flashOverlay()})}get index(){return this._index}get length(){return this._slides.length}goTo(t){this._go(t,"api")}next(){this._go(this._index+1,"api")}prev(){this._go(this._index-1,"api")}reset(){this._go(0,"api")}};typeof customElements<"u"&&!customElements.get("deck-stage")&&customElements.define("deck-stage",ga)});var ei={};hn(ei,{register:()=>Ge,snapshot:()=>Df,unregister:()=>$o});function Ge(e,t){typeof e!="string"||typeof t!="function"||(_o.set(e,t),typeof window<"u"&&(window.__debug||(window.__debug={}),Object.defineProperty(window.__debug,e,{get(){try{return t()}catch(n){return{error:String(n)}}},configurable:!0,enumerable:!0})))}function $o(e){_o.delete(e),typeof window<"u"&&window.__debug&&delete window.__debug[e]}function Df(){let e={};for(let[t,n]of _o)try{e[t]=n()}catch(s){e[t]={error:String(s)}}return e}var _o,Bt=N(()=>{_o=new Map});function wt(e,t=1){return e&&String(e).trim().slice(0,t).toUpperCase()||"?"}function js({name:e,src:t,fallback:n,size:s="md",shape:r="circle",initialsCount:a=1,key:o}={}){let i=n??wt(e,a),l="ds-avatar ds-avatar-"+s+(r==="square"?" ds-avatar-square":"");return t?Kd("img",{key:o,class:l,src:t,alt:e||"",loading:"lazy"}):Kd("span",{key:o,class:l,"aria-hidden":!!e,role:e?"img":void 0,"aria-label":e||void 0},i)}var Kd,Gd=N(()=>{I();Kd=y});function Vd(e,t){let n=String(e),s=String(t).toLowerCase();if(!s)return n;let r=n.toLowerCase(),a=[],o=0,i=0;for(;o<=n.length;){let l=r.indexOf(s,o);if(l===-1)break;l>o&&a.push(lt("span",{key:"hs"+i++},n.slice(o,l))),a.push(lt("mark",{key:"hs"+i++,class:"ds-hl"},n.slice(l,l+s.length))),o=l+s.length}return a.length?(o<n.length&&a.push(lt("span",{key:"hs"+i++},n.slice(o))),a):n}function ne({code:e,rank:t,title:n,sub:s,meta:r,active:a,state:o="default",onClick:i,key:l,style:c,href:d,kind:u,cols:p,leading:m,trailing:f,target:h,selected:g,rail:w,expanded:v,highlight:x,actions:C,detail:A}){let T=e??t,U=o==="active"||o==="default"&&(a||g),b=u==="link"||d!=null&&!i,E=!b&&!!i,L=o==="disabled"?" row-state-disabled":o==="error"?" row-state-error":"",P=T==null&&m==null,B="row"+(U?" active":"")+L+(p?" row-grid":"")+(P&&!p?" row-nocode":"")+(w?" rail-"+w:""),H=o==="disabled",F={key:l,class:B,style:p?`${c?c+";":""}grid-template-columns:${p}`:c};b?(F.href=d||"#",h&&(F.target=h)):E&&!H&&(F.onclick=i,F.role="button",F.tabindex="0",F.onkeydown=M=>{(M.key==="Enter"||M.key===" ")&&(M.preventDefault(),i(M))},(v===!0||v===!1)&&(F["aria-expanded"]=v?"true":"false")),H&&(F["aria-disabled"]="true"),U&&(b||E)&&(F["aria-current"]=U?"page":null);let G=x&&typeof n=="string"?lt("span",{},...[].concat(Vd(n,x))):n,he=v===!0&&Array.isArray(C)&&C.length?lt("span",{class:"row-actions",role:"group","aria-label":"row actions"},...C.map((M,S)=>lt("button",{key:"ract"+S,type:"button",class:"row-act",title:M.title||M.label,"aria-label":M.title||M.label,onclick:R=>{R.stopPropagation(),M.onClick&&M.onClick(R)},onkeydown:R=>{R.stopPropagation()}},M.label))):null,oe=w==="flame"?"error":w==="purple"?"subagent":null,te=x&&typeof A=="string"?lt("span",{},...[].concat(Vd(A,x))):A;return lt(b?"a":"div",F,oe?lt("span",{class:"sr-only"},oe):null,m??(T!=null?lt("span",{class:"code"},T):null),lt("span",{class:"title",title:typeof n=="string"?n:void 0},G,s?lt("span",{class:"sub",title:typeof s=="string"?s:void 0},s):null),f??(r!=null?lt("span",{class:"meta"},r):null),he,A!=null?lt("pre",{class:"ds-row-detail"},te):null)}function xn({code:e,title:t,sub:n,meta:s,href:r="#",key:a,target:o}){return ne({code:e,title:t,sub:n,meta:s,href:r,kind:"link",key:a,target:o})}var lt,Rs=N(()=>{I();lt=y});function Fe({title:e,count:t,right:n,style:s="",class:r="",children:a,kind:o,id:i}){let l="panel"+(o?" panel-"+o:"")+(r?" "+r:"");return We("div",{class:l,style:s,...i?{id:i}:{}},e!=null?We("div",{class:"panel-head"},We("span",{},e),n??(t!=null?We("span",{},String(t)):null)):null,We("div",{class:"panel-body"},...Array.isArray(a)?a:[a]))}function ni({heading:e,items:t=[],keyPrefix:n="i",count:s,style:r,kind:a,emptyText:o}={}){if(!t||!t.length)return o!=null?We("div",{class:"empty"},o):null;let i=t.map((l,c)=>{let d=l.code!=null?l.code:l.rank!=null?l.rank:String(c+1).padStart(2,"0");return xn({key:n+c,code:d,title:l.title!=null?l.title:l.name,sub:l.sub!=null?l.sub:l.desc!=null?l.desc:"",meta:l.meta!=null?l.meta:"",href:l.href||"#"})});return Fe({title:e,count:s,style:r,kind:a,children:i})}function nn({title:e,eyebrow:t,children:n,id:s}){return We("section",{class:"ds-section",...s?{id:s}:{}},t?We("span",{class:"eyebrow"},t):null,e?We("h3",{},e):null,...Array.isArray(n)?n:[n])}function Ls({rows:e=[],emptyText:t="nothing here yet"}){return e.length?We("table",{class:"kv"},We("tbody",{},...e.map(([n,s],r)=>We("tr",{key:r},We("td",{},n),We("td",{},s))))):We("div",{class:"empty"},t)}function Ps({entries:e=[],emptyText:t="no changelog entries yet"}){return e.length?Fe({kind:"wide",children:e.map((n,s)=>We("div",{key:s,class:"row ds-changelog-row"},We("span",{class:"code"},n.date),We("span",{class:"ds-changelog-ver"},n.ver),We("span",{class:"title"},n.msg)))}):We("div",{class:"empty"},t)}var We,ti,Bs=N(()=>{I();Rs();We=y;ti=Fe});function Hs({eyebrow:e,title:t,body:n,accent:s,actions:r,badges:a}){let o=Array.isArray(a)?a.filter(Boolean):[],i=o.length?Z("div",{class:"ds-hero-stats"},...o.map((d,u)=>Z("span",{key:"hb"+u,class:"ds-hero-stat"},String(d&&d.label!=null?d.label:d)))):null,l=r?Z("div",{class:"ds-hero-actions"},...Array.isArray(r)?r:[r]):null,c=i||l?Z("div",{class:"ds-hero-aside"},i,l):null;return Z("div",{class:"ds-hero"},Z("div",{class:"ds-hero-head"},e?Z("span",{class:"eyebrow"},e):null,Z("h1",{class:"ds-hero-title"},t)),n?Z("p",{class:"ds-hero-body"},n,s?Z("span",{class:"ds-hero-accent"}," "+s):null):null,c)}function Ns(e){if(!e)return null;let t=e.heading||e.title||"",n=Array.isArray(e.badges)?e.badges.filter(Boolean):[],s=Array.isArray(e.ctas)?e.ctas.filter(Boolean):[],r=n.length?Z("div",{class:"ds-hero-stats"},...n.map((i,l)=>Z("span",{key:"hb"+l,class:"ds-hero-stat"},Z("strong",{class:"ds-hero-stat-n"},String(i&&i.label!=null?i.label:i)),i&&i.desc?Z("span",{class:"ds-hero-stat-l"},String(i.desc)):null))):null,a=s.length?Z("div",{class:"ds-hero-actions"},...s.map((i,l)=>Z("a",{key:"hc"+l,class:i.primary||l===0?"btn btn-accent":"btn btn-ghost",href:i.href||"#"},i.label||i.cta||"go"))):null,o=e.install?Z("div",{class:"cli"},Z("span",{class:"prompt"},"$"),Z("span",{class:"cmd"},e.install)):null;return Z("div",{class:"ds-hero"},Z("div",{class:"ds-hero-head"},e.eyebrow?Z("span",{class:"eyebrow"},e.eyebrow):null,Z("h1",{class:"ds-hero-title"},t)),e.subheading?Z("p",{class:"ds-hero-body lede"},e.subheading):null,e.body?Z("p",{class:"ds-hero-body"},e.body,e.accent?Z("span",{class:"ds-hero-accent"}," "+e.accent):null):null,r||a||o?Z("div",{class:"ds-hero-aside"},r,o,a):null)}function si({items:e=[],sep:t="/"}){if(!e.length)return null;let n=s=>e.flatMap((r,a)=>[Z("span",{class:"ds-marquee-item",key:`${s}-i${a}`},r),Z("span",{class:"ds-marquee-sep",key:`${s}-s${a}`,"aria-hidden":"true"},t)]);return Z("div",{class:"ds-marquee",role:"marquee"},Z("div",{class:"ds-marquee-track"},...n("a"),...n("b")))}function Us({paragraphs:e=[],maxWidth:t}){return Z("div",{class:"ds-prose ds-manifesto","data-max-width":t?String(t):null},...e.map((n,s)=>Z("p",{key:s,class:"ds-manifesto-para"+(n.dim?" dim":"")},n.text||n)))}function ie({title:e,lede:t,eyebrow:n,right:s,compact:r,dense:a,id:o}){return a?Z("section",{class:"ds-section ds-section-compact ds-page-header-dense",...o?{id:o}:{}},Z("div",{class:"ds-page-header-dense-row"},...[e!=null?Z("h1",{key:"dh"},e):null,t!=null?Z("span",{key:"dl",class:"ds-page-header-dense-lede",title:typeof t=="string"?t:null},t):null,s!=null?Z("div",{key:"dr",class:"ds-page-header-right"},...Array.isArray(s)?s:[s]):null].filter(Boolean))):Z("section",{class:"ds-section"+(r?" ds-section-compact":""),...o?{id:o}:{}},n?Z("span",{class:"eyebrow"},n):null,e!=null?Z("h1",{},e):null,t!=null?Z("p",{class:"lede"},t):null,s!=null?Z("div",{class:"ds-page-header-right"},...Array.isArray(s)?s:[s]):null)}var Z,ri=N(()=>{I();Z=y});function Ws({cmd:e,copied:t,onCopy:n}){return Gt("div",{class:"cli"},Gt("span",{class:"prompt"},"$"),Gt("span",{class:"cmd"},e),Gt("span",{class:"copy",onclick:()=>n&&n(e)},t?"copied":"copy"))}function ai({lines:e=[],heading:t="quick start",className:n=""}={}){if(!e||!e.length)return null;let s=e.map((a,o)=>{let i=a&&a.kind==="cmt",l=a&&a.text!=null?a.text:"";return i?Gt("div",{key:"q"+o,class:"ds-cli-comment"},l):Gt("div",{key:"q"+o,class:"ds-cli-row"},Gt("span",{class:"prompt"},"$"),Gt("span",{class:"cmd"},l))}),r=Gt("div",{class:"ds-cli-block"+(n?" "+n:"")},...s);return t==null?r:Fe({title:t,children:r})}var Gt,oi=N(()=>{I();Bs();Gt=y});function Fs({works:e=[],openedIndex:t=-1,onToggle:n}){return Fe({children:e.map((s,r)=>{let a=t===r;return tt("div",{key:r},ne({code:s.code,title:s.title,sub:s.sub,meta:tt("span",{class:"ds-works-meta"},s.meta!=null?tt("span",{},s.meta):null,k(a?"chevron-down":"chevron-right")),active:a,expanded:a,onClick:()=>n&&n(a?-1:r)}),a?tt("div",{class:"work-detail","data-work-index":String(r)},tt("div",{class:"ds-prose"},tt("p",{class:"ds-work-body"},s.body)),tt("div",{class:"ds-work-actions"},O({variant:"primary",href:s.href||"#",children:"open ->"}),O({href:s.source||"#",children:"source"}))):null)})})}function Os({posts:e=[]}){return Fe({children:e.map((t,n)=>xn({key:n,code:t.date,title:t.title,meta:t.tag,href:t.href||"#"}))})}function ii({items:e,events:t,emptyText:n="no events",rankPad:s=3,loading:r=!1,loadingText:a="loading events\u2026"}){let o=e||t||[];return r&&!o.length?tt("section",{class:"ds-section ds-event-list"},tt("div",{key:"st",role:"status","aria-live":"polite",class:"ds-event-state lede"},a),...Array.from({length:7},(i,l)=>tt("div",{key:"sk"+l,class:"ds-event-row-skeleton","aria-hidden":"true"},tt("span",{key:"r",class:"ds-skel ds-skel-rank"}),tt("span",{key:"t",class:"ds-skel ds-skel-title"}),tt("span",{key:"m",class:"ds-skel ds-skel-meta"})))):o.length?tt("section",{class:"ds-section ds-event-list"},...o.map((i,l)=>ne({key:i.key||"ev"+l,code:i.code!=null?i.code:i.rank!=null?i.rank:String(l+1).padStart(s,"0"),title:i.title||"(empty)",sub:i.sub||"",active:i.active,onClick:i.onClick,kind:i.kind,rail:i.rail,expanded:i.expanded,detail:i.detail,actions:i.actions,highlight:i.highlight,meta:i.meta}))):tt("p",{class:"lede"},n)}var tt,li=N(()=>{I();Q();Rs();Bs();tt=y});function Vt({items:e=[],emptyText:t="no metrics yet"}){return e.length?$e("div",{class:"kpi"},...e.map(([n,s,r],a)=>$e("div",{key:a,class:"kpi-card"},$e("div",{class:"num"},String(n)),$e("div",{class:"lbl"},s),r&&(r.delta!=null||r.spark)?$e("div",{class:"kpi-foot"},r.delta!=null?$e("span",{class:"kpi-delta kpi-delta-"+(r.tone==="down"?"down":"up")},k(r.tone==="down"?"arrow-down":"arrow-up",{size:12}),String(r.delta)):null,r.spark?ba({values:r.spark,tone:r.tone}):null):null))):$e("div",{class:"empty"},t)}function ba({values:e=[],width:t=72,height:n=24,tone:s}){if(!e.length)return null;let r=Math.max(...e),a=Math.min(...e),o=r-a||1,i=t/(e.length-1||1),c=e.map((d,u)=>[u*i,n-(d-a)/o*n]).map(([d,u],p)=>(p===0?"M":"L")+d.toFixed(1)+","+u.toFixed(1)).join(" ");return $e("svg",{class:"ds-sparkline ds-sparkline-"+(s==="down"?"down":"up"),viewBox:"0 0 "+t+" "+n,width:t,height:n,"aria-hidden":"true"},$e("path",{d:c,fill:"none","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}))}function ci({items:e=[],emptyText:t="no data yet"}){if(!e.length)return $e("div",{class:"empty"},t);let n=Math.max(...e.map(s=>s.value||0))||1;return $e("div",{class:"ds-barchart"},...e.map((s,r)=>$e("div",{key:r,class:"ds-barchart-row"},$e("div",{class:"ds-barchart-label"},s.label),$e("div",{class:"ds-barchart-track"},$e("div",{class:"ds-barchart-fill",style:"--bar-pct:"+Math.round(s.value/n*100)+"%"})),$e("div",{class:"ds-barchart-value"},s.display!=null?s.display:String(s.value)))))}var $e,zd=N(()=>{I();Q();$e=y});function xe({headers:e=[],rows:t=[],onRowClick:n,emptyText:s="nothing here yet",rowLabels:r,striped:a=!1,compact:o=!1,sortable:i=!1,sortKey:l,sortDir:c="asc",onSort:d}){if(!t||t.length===0)return nt("div",{class:"empty"},s);let u=(f,h)=>{if(Array.isArray(r)&&r[h]!=null)return String(r[h]);let g=f[0];return g==null||typeof g=="object"?"row":String(g)},p="ds-table-wrap"+(a?" is-striped":"")+(o?" is-compact":""),m=(f,h)=>{if(!i||!d)return nt("th",{key:h,scope:"col"},f);let g=l===h;return nt("th",{key:h,scope:"col","aria-sort":g?c==="desc"?"descending":"ascending":"none"},nt("button",{type:"button",class:"ds-table-sort-btn"+(g?" is-active":""),onclick:()=>d(h)},nt("span",{class:"ds-table-sort-label"},f),g?k(c==="desc"?"chevron-down":"chevron-up",{size:12}):null))};return nt("div",{class:p,tabindex:"0",role:"group","aria-label":"table, scrollable"},nt("table",{},nt("thead",{},nt("tr",{},...e.map((f,h)=>m(f,h)))),nt("tbody",{},...t.map((f,h)=>nt("tr",{key:h,class:n?"clickable":"",onclick:n?()=>n(h):null,...n?{tabindex:"0",role:"button","aria-label":"open "+u(f,h),onkeydown:g=>{(g.key===" "||g.key==="Enter")&&(g.preventDefault(),n(h))}}:{}},...f.map((g,w)=>nt("td",{key:w},g==null?"":typeof g=="object"?g:String(g))))))))}function di({checks:e={},emptyText:t="no health data",okLabel:n="ok",missLabel:s="no",jsonTruncate:r=60}={}){let a=Object.entries(e);if(!a.length)return nt("div",{class:"empty"},t);let o=a.map(([i,l])=>{let c;if(typeof l=="object"&&l!==null){let d=JSON.stringify(l);c=nt("span",{title:d.length>r?d:null},d.length>r?d.slice(0,r)+"\u2026":d)}else l===!0?c=$({tone:"ok",children:n}):l===!1?c=$({tone:"miss",children:s}):c=String(l);return[i,c]});return xe({headers:["check","status"],rows:o})}function ui({processes:e=[],emptyText:t="no live processes",extraColumns:n=[]}={}){if(!e.length)return nt("div",{class:"empty"},t);let s=["kind","key","state",...n.map(a=>a.header)],r=e.map(a=>[a.kind||"\u2014",a.key||"\u2014",a.state||"\u2014",...n.map(o=>o.render(a))]);return xe({headers:s,rows:r})}var nt,Yd=N(()=>{I();Q();nt=y});function st({value:e="",placeholder:t="search\u2026",onInput:n,onSubmit:s,name:r="q",key:a,label:o,resultCount:i}){let l=u=>{n&&n("",u)},c=Me("input",{key:"i",type:"search",name:r,class:"ds-search-input",placeholder:t,"aria-label":o||t,value:e,oninput:n?u=>n(u.target.value,u):null,onkeydown:u=>{if(u.key==="Escape"&&e){u.preventDefault(),u.stopPropagation(),l(u);return}s&&u.key==="Enter"&&!u.isComposing&&u.keyCode!==229&&s(u.target.value,u)}}),d=e?Me("button",{key:"clr",type:"button",class:"ds-search-clear","aria-label":"clear search",onclick:l},k("x")):null;return Me("span",{key:a,class:"ds-search-input-wrap"},c,d,i!=null?Me("span",{key:"cnt",class:"sr-only",role:"status","aria-live":"polite"},i):null)}function Qe({label:e,value:t="",type:n="text",placeholder:s="",onInput:r,onChange:a,name:o,key:i,hint:l,multiline:c,rows:d=4,maxLength:u,min:p,max:m,error:f,title:h,size:g="md","aria-label":w,"aria-invalid":v,"aria-describedby":x}){let C=g==="sm"?" ds-field--sm":g==="lg"?" ds-field--lg":"",A=f!=null?(i||"tf")+"-err":null,T=x||A||null,U=c?Me("textarea",{key:"i",name:o,rows:d,placeholder:s,value:t,maxlength:u??null,"aria-label":w||null,"aria-invalid":f!=null?"true":v||null,"aria-describedby":T,title:h||null,oninput:r?b=>r(b.target.value,b):null,onchange:a?b=>a(b.target.value,b):null}):Me("input",{key:"i",type:n,name:o,placeholder:s,value:t,maxlength:u??null,min:p!=null?String(p):null,max:m!=null?String(m):null,"aria-label":w||null,"aria-invalid":f!=null?"true":v||null,"aria-describedby":T,title:h||null,oninput:r?b=>r(b.target.value,b):null,onchange:a?b=>a(b.target.value,b):null});return Me("label",{key:i,class:"ds-field"+C},...[e!=null?Me("span",{key:"l",class:"ds-field-label"},e):null,U,f!=null?Me("span",{key:"e",id:A,class:"ds-field-error",role:"alert","aria-live":"polite","aria-atomic":"true"},f):null,u!=null?Me("span",{key:"c",class:"ds-field-count"},String(t.length)+"/"+u):null,l!=null?Me("span",{key:"h",class:"ds-field-hint"},l):null].filter(Boolean))}function rt({label:e,value:t="",options:n=[],onChange:s,name:r,key:a,placeholder:o,hint:i,title:l,size:c="md","aria-label":d}){let u=c==="sm"?" ds-field--sm":c==="lg"?" ds-field--lg":"",p=[];o!=null&&p.push(Me("option",{key:"_ph",value:"",disabled:!0,selected:t===""||t==null},o));for(let h of n){let g=typeof h=="string"?h:h.value!=null?h.value:h.id,w=typeof h=="string"?h:h.label!=null?h.label:h.id||h.value;p.push(Me("option",{key:"o-"+g,value:g,selected:g===t},w))}let m=e==null&&i==null&&c==="md",f=Me("select",{key:m&&a!=null?a:"i",name:r,class:"ds-select","aria-label":d||(e==null?l||o||r:null),title:l,onchange:s?h=>s(h.target.value,h):null},...p);return m?f:e==null&&i==null?Me("label",{key:a,class:"ds-field"+u},f):Me("label",{key:a,class:"ds-field"+u},e!=null?Me("span",{key:"l",class:"ds-field-label"},e):null,f,i!=null?Me("span",{key:"h",class:"ds-field-hint"},i):null)}function pi({fields:e=[],submit:t="submit",onSubmit:n,columns:s=1}){let r=s>1?String(s):null;return Me("form",{class:"row-form","data-columns":r,onsubmit:a=>{a.preventDefault(),n&&n(a)}},...e.map((a,o)=>{let i="ds-form-"+(a.name||"field")+"-"+o,l=a.label!=null?a.label:a.placeholder||a.name||"",c=a.kind==="textarea"?Me("textarea",{key:"i",id:i,name:a.name,placeholder:a.placeholder||"",rows:a.rows||4,required:a.required?!0:null}):Me("input",{key:"i",id:i,name:a.name,type:a.type||"text",placeholder:a.placeholder||"",value:a.value||"",required:a.required?!0:null});return Me("label",{key:o,class:"ds-field",for:i},l!==""?Me("span",{key:"l",class:"ds-field-label"},l):null,c)}),Me("button",{type:"submit",class:"btn-primary"},t))}var Me,Zd=N(()=>{I();Q();Me=y});function mi({size:e="base",tone:t="accent",label:n="loading",key:s}={}){let r={xs:"ds-spinner-xs",sm:"ds-spinner-sm",base:"",lg:"ds-spinner-lg",xl:"ds-spinner-xl"},a=r[e]!=null?r[e]:"";return ct("div",{key:s,class:"ds-spinner "+a+" tone-"+t,role:"status","aria-live":"polite","aria-label":n},ct("span",{key:"1","aria-hidden":"true"}),ct("span",{key:"2","aria-hidden":"true"}),ct("span",{key:"3","aria-hidden":"true"}))}function Jd(e,t){if(e==null)return t;let n=String(e).trim(),s=/^(\d+(?:\.\d+)?)(px|em|rem|%|vh|vw)?$/.exec(n);if(!s)return t;let r=s[2]||"px",a=parseFloat(s[1]);return r==="%"||r==="vh"||r==="vw"?a=Math.min(100,Math.max(0,a)):a=Math.min(600,Math.max(2,a)),a+r}function qn({height:e="1em",width:t="100%",count:n=1,label:s="loading content",key:r}={}){let a=Jd(e,"1em"),o=Jd(t,"100%");return ct("div",{key:r,class:"ds-skeleton-group",role:"status","aria-busy":"true","aria-label":s},...Array(n).fill(0).map((i,l)=>ct("div",{key:String(l),class:"ds-skeleton",style:`height:${a};width:${o};`,"aria-hidden":"true"})))}function fi({options:e=[],selected:t,onSelect:n,label:s="filters"}={}){return e.length?ct("div",{class:"ds-filter-pills",role:"group","aria-label":s},...e.map(r=>ct("button",{key:"fp-"+r.id,type:"button",class:"ds-filter-pill"+(r.id===t?" active":""),"aria-pressed":r.id===t?"true":"false",onclick:()=>n&&n(r.id)},r.label!=null?r.label:r.id))):null}function Qs({kind:e="info",children:t,onDismiss:n,title:s,key:r}={}){let a={info:"info",success:"check",warn:"warn",error:"x"},o="ds-alert ds-alert-"+e;return ct("div",{key:r,class:o,role:"alert"},ct("span",{key:"icon",class:"ds-alert-icon"},k(a[e]||"info")),ct("div",{key:"content",class:"ds-alert-content"},s?ct("div",{key:"title",class:"ds-alert-title"},s):null,ct("div",{key:"msg",class:"ds-alert-message"},...Array.isArray(t)?t:[t])),n?ct("button",{key:"dismiss",class:"ds-alert-dismiss","aria-label":"dismiss",onclick:n},k("x")):null)}var ct,Xd=N(()=>{I();Q();ct=y});function hi({state:e={},onNav:t,onToggleWork:n,works:s=[],posts:r=[],manifesto:a=[],currentlyShipping:o}={}){return[Hs({eyebrow:"an entrypoint",title:"Small, weird, useful tools \u2014 built in public.",body:"247420 is a creative collective of eight, scattered across three timezones. We have been shipping open-source tools for the web since 2018.",accent:"Some become the future. Most don't. That's the deal."}),o?nn({title:"currently shipping",children:Fe({kind:"wide",children:o.map((i,l)=>{let c=ks({tone:i.live?"live":"idle"});return c.props={...c.props,"aria-label":i.live?"live status":"idle status"},ne({key:l,code:c,title:i.title,sub:i.sub,meta:i.meta})})})}):null,s.length?nn({title:"Everything else.",children:Fs({works:s,openedIndex:e.opened??-1,onToggle:n})}):null,r.length?nn({title:"When we have something to say.",children:Os({posts:r})}):null,a.length?nn({title:"Eight people, three timezones, one ongoing conversation.",children:Us({paragraphs:a})}):null].filter(Boolean)}function gi({project:e={},copied:t,onCopy:n}={}){return[If("div",{class:"ds-prose"},tn({level:1,children:e.name}),ws({children:e.tagline})),e.install?[tn({level:3,children:"install"}),Ws({cmd:e.install,copied:t,onCopy:n})]:null,e.receipt?[tn({level:3,children:"by the numbers"}),Ls({rows:e.receipt})]:null,e.changelog?[tn({level:3,children:"recent releases"}),Ps({entries:e.changelog})]:null].filter(Boolean).flat()}var If,_d=N(()=>{I();Q();Rs();Bs();ri();oi();li();If=y});var Be=N(()=>{Gd();Rs();Bs();ri();oi();li();zd();Yd();Zd();Xd();_d()});function sn(e){return $d[e]||$d.other}function pt(e){if(e==null||typeof e!="number"||Number.isNaN(e)||e<0)return"\u2014";if(e===0)return"0 B";let t=["B","KB","MB","GB","TB"],n=0,s=e;for(;s>=1024&&n<t.length-1;)s/=1024,n++;return s.toFixed(n===0?0:1)+" "+t[n]}function Kn({type:e="other"}={}){return Mf("span",{class:"ds-file-icon","data-file-type":e,"aria-label":ya[e]||"file",role:"img"},k(sn(e)))}function bi(e=[],t="name",n="asc"){let s=n==="desc"?-1:1,r=(a,o)=>{let i=a.type==="dir"?0:1,l=o.type==="dir"?0:1;if(i!==l)return i-l;let c=0;return t==="size"?c=(a.size||0)-(o.size||0):t==="modified"?c=(a.modifiedTs||0)-(o.modifiedTs||0):t==="type"?c=String(a.type||"").localeCompare(String(o.type||"")):c=String(a.name||"").localeCompare(String(o.name||""),void 0,{numeric:!0,sensitivity:"base"}),c*s||String(a.name||"").localeCompare(String(o.name||""))};return e.slice().sort(r)}var Mf,$d,ya,yi=N(()=>{I();Q();Mf=y,$d={dir:"folder",image:"file-image",video:"file-video",audio:"file-audio",code:"file-code",text:"file-text",archive:"file-zip",document:"file-text",symlink:"link",other:"file"},ya={dir:"folder",image:"image file",video:"video file",audio:"audio file",code:"code file",text:"text file",archive:"archive file",document:"document file",symlink:"symbolic link",other:"file"}});function qs({name:e,type:t="other",size:n,modified:s,code:r,onOpen:a,onAction:o,active:i,key:l,permissions:c,locked:d,actions:u=jf,busy:p=!1,selectable:m=!1,selected:f=!1,onToggleSelect:h}={}){let g=d||c==="EACCES"||Array.isArray(c)&&c.length===0,w=!g&&Array.isArray(c)&&c.indexOf("write")===-1&&c.indexOf("read")!==-1,v=g?"no access":w?"read-only":null,x=[t==="dir"?null:pt(n),s||null].filter(Boolean).join(" \xB7 "),A=`${ya[t]||"file"}: ${e}${x?` (${x})`:""}${v?", "+v:""}`,T=a&&!g&&!p,U=p||w||g,b=(B,H,F,G,he)=>Re("button",{key:"act-"+B,type:"button",class:"ds-file-act"+(he?" ds-file-act-warn":""),title:U&&B!=="download"?"read-only":H,"aria-label":F,disabled:(B==="download"?p:U)?!0:null,"aria-disabled":(B==="download"?p:U)?"true":null,onclick:()=>o(B)},k(G)),E=o?[u.indexOf("download")!==-1&&t!=="dir"?b("download","download",`download ${e}`,"arrow-down",!1):null,u.indexOf("rename")!==-1?b("rename","rename",`rename ${e}`,"pencil",!1):null,u.indexOf("move")!==-1?b("move","move",`move ${e}`,"arrow-right",!1):null,u.indexOf("delete")!==-1?b("delete","delete",`delete ${e}`,"x",!0):null].filter(Boolean):[],P=[m?Re("button",{key:"mark",type:"button",class:"ds-file-check"+(f?" is-marked":""),role:"checkbox","aria-checked":f?"true":"false","aria-label":(f?"unselect ":"select ")+e,disabled:g||p?!0:null,onclick:h?B=>h({range:!!B.shiftKey}):null},Re("span",{class:"ds-check-box","aria-hidden":"true"})):null,Re("button",{key:"open",type:"button",class:"ds-file-open",onclick:T?a:null,"aria-label":A+(g?" (no access)":""),"aria-pressed":i?"true":"false",disabled:T?null:!0},...[r!=null?Re("span",{class:"code","aria-label":`code: ${r}`},r):null,Kn({type:t}),Re("span",{class:"title"},e),Re("span",{class:"ds-file-meta meta","aria-label":x?`metadata: ${x}`:null},x||"\u2014"),v?Re("span",{class:"ds-file-perm-tag"+(g?" is-noaccess":""),"aria-hidden":"true"},v):null].filter(Boolean)),E.length?Re("span",{key:"acts",class:"ds-file-actions",role:"group","aria-label":`actions for ${e}`},...E):null].filter(Boolean);return Re("div",{key:l,class:"ds-file-row row"+(i?" active":"")+(g?" is-locked":"")+(w?" is-restricted":"")+(f?" is-marked":"")+(m?" is-selectable":""),"data-file-type":t,"aria-busy":p?"true":null},...P)}function eu({key:e,f:t={},selectable:n=!1,selected:s=!1,onToggleSelect:r,onOpen:a,thumb:o}={}){let i=t.locked||t.permissions==="EACCES"||Array.isArray(t.permissions)&&t.permissions.length===0,l=a&&!i,c=ya[t.type]||"file",d=[n?Re("button",{key:"mark",type:"button",class:"ds-file-check ds-file-cell-check"+(s?" is-marked":""),role:"checkbox","aria-checked":s?"true":"false","aria-label":(s?"unselect ":"select ")+t.name,disabled:i?!0:null,onclick:r?u=>r({range:!!u.shiftKey}):null},Re("span",{class:"ds-check-box","aria-hidden":"true"})):null,Re("button",{key:"open",type:"button",class:"ds-file-cell-open",onclick:l?()=>a(t):null,disabled:l?null:!0,"aria-label":c+": "+t.name+(i?" (no access)":"")},Re("span",{class:"ds-file-cell-media"},o?Re("img",{class:"ds-file-cell-thumb",src:o,alt:"",loading:"lazy"}):Kn({type:t.type})),Re("span",{class:"ds-file-cell-name",title:t.name},t.name),Re("span",{class:"ds-file-cell-meta"},t.type==="dir"?"folder":pt(t.size)))].filter(Boolean);return Re("div",{key:e,class:"ds-file-cell"+(s?" is-marked":"")+(t.active?" active":"")+(i?" is-locked":""),"data-file-type":t.type},...d)}function Ks({rows:e=12}={}){return Re("div",{class:"ds-file-grid ds-file-skeleton",role:"status","aria-busy":"true","aria-label":"loading files"},...Array.from({length:Math.max(1,e)},(t,n)=>Re("div",{key:"sk"+n,class:"ds-file-row ds-file-row-skeleton","aria-hidden":"true"},Re("span",{class:"ds-skel ds-skel-icon"}),Re("span",{class:"ds-skel ds-skel-title"}),Re("span",{class:"ds-skel ds-skel-meta"}))))}var Re,jf,vi=N(()=>{I();Q();yi();Re=y,jf=["download","rename","move","delete"]});function Lf(e,t,n,s){let r=-1;if(e.key==="ArrowLeft"||e.key==="ArrowUp")r=(t-1+n.length)%n.length;else if(e.key==="ArrowRight"||e.key==="ArrowDown")r=(t+1)%n.length;else if(e.key==="Home")r=0;else if(e.key==="End")r=n.length-1;else return;e.preventDefault(),s(n[r][0]);let a=e.currentTarget.parentNode&&e.currentTarget.parentNode.children[r];a&&a.focus()}function nu({key:e="name",dir:t="asc",onSort:n}={}){return va("div",{class:"ds-file-sort",role:"group","aria-label":"sort files"},...[["name","name"],["size","size"],["modified","modified"]].map(([r,a])=>va("button",{key:r,type:"button",class:"ds-file-sort-btn"+(e===r?" active":""),"aria-pressed":e===r?"true":"false","aria-label":"sort by "+a+(e===r?" ("+(t==="asc"?"ascending":"descending")+")":""),onclick:()=>n&&n(r)},a+(e===r?" "+(t==="asc"?"asc":"desc"):""))))}function su({density:e="list",onDensity:t}={}){return t?va("div",{key:"density",class:"ds-density",role:"radiogroup","aria-label":"view density"},...tu.map(([n,s],r)=>va("button",{key:"d-"+n,type:"button",role:"radio",class:"ds-density-btn"+(e===n?" active":""),"aria-checked":e===n?"true":"false","aria-label":s,title:s,tabindex:e===n?"0":"-1",onkeydown:a=>Lf(a,r,tu,o=>{e!==o&&t(o)}),onclick:()=>{e!==n&&t(n)}},k(Rf[n],{size:15})))):null}var va,tu,Rf,ru=N(()=>{I();Q();va=y,tu=[["list","list"],["compact","compact"],["thumb","thumbnails"]],Rf={list:"rows",compact:"rows-tight",thumb:"grid"}});function wi({count:e=0,noun:t="file",nounPlural:n,actions:s=[],onClear:r,busy:a=!1}={}){if(!e)return null;let o=n||(/[^aeiou]y$/.test(t)?t.slice(0,-1)+"ies":t+"s"),i=[ye("span",{key:"count",class:"ds-bulkbar-count",role:"status","aria-live":"polite"},e+" "+(e===1?t:o)+" selected"),...s.map((l,c)=>O({key:"bba"+c,danger:!!l.danger,disabled:a||l.disabled,onClick:l.onClick,children:l.label})),r?O({key:"bbclear",disabled:a,onClick:r,children:"clear selection"}):null].filter(Boolean);return ye("div",{class:"ds-bulkbar",role:"toolbar","aria-label":"bulk file actions","aria-busy":a?"true":null},...i)}function ki({left:e=[],right:t=[]}={}){return ye("div",{class:"ds-file-toolbar"},ye("div",{class:"ds-file-toolbar-left"},...e),ye("div",{class:"ds-file-toolbar-right"},...t))}function xi({roots:e=[],selected:t,onSelect:n,label:s="roots"}={}){return e.length?ye("div",{class:"ds-roots-picker",role:"tablist","aria-label":s},...e.map(r=>ye("button",{key:"root-"+(r.id!=null?r.id:r.label),type:"button",role:"tab",class:"ds-roots-tab"+((r.id!=null?r.id:r.label)===t?" active":""),"aria-selected":(r.id!=null?r.id:r.label)===t?"true":"false",onclick:()=>n&&n(r.id!=null?r.id:r.label)},r.label||r.id))):null}function Ci({children:e,dragover:t,onDrop:n,onDragOver:s,onDragLeave:r,label:a="drop files here",onPick:o}={}){let i=Array.isArray(e)?e:e?[e]:[];return ye("div",{class:"ds-dropzone"+(i.length?" ds-dropzone--wrap":"")+(t?" dragover":""),ondragover:l=>{l.preventDefault(),s&&s(l)},ondragleave:l=>{l.currentTarget.contains(l.relatedTarget)||r&&r(l)},ondrop:l=>{l.preventDefault(),n&&n(l.dataTransfer.files)}},ye("div",{class:"ds-dropzone-inner"},ye("span",{class:"ds-dropzone-glyph",role:"img","aria-label":"upload"},k("arrow-up")),ye("span",{class:"ds-dropzone-label"},a),o?O({onClick:o,children:"pick files"}):null),...i)}function Ai({items:e=[],onDismiss:t}={}){return e.length?ye("div",{class:"ds-upload-progress"},...e.map((n,s)=>{let r=!n.error&&!n.done&&!n.pct&&n.indeterminate,a=n.error?"error":n.done?"complete":r?"uploading":`uploading ${n.pct||0}%`,o=[...(n.actions||[]).map((i,l)=>ye("button",{key:"ua"+l,type:"button",class:"ds-upload-act","aria-label":`${i.label} ${n.name}`,onclick:()=>i.onClick&&i.onClick(n,s)},i.label)),n.error&&t?ye("button",{key:"ud",type:"button",class:"ds-upload-act","aria-label":`dismiss ${n.name}`,onclick:()=>t(n,s)},"dismiss"):null].filter(Boolean);return ye("div",{key:n.name+s,class:"ds-upload-item"+(n.done?" done":"")+(n.error?" error":""),role:"status","aria-label":`${n.name}: ${a}`,"aria-live":"polite"},ye("span",{class:"ds-upload-name"},n.name),ye("span",{class:"ds-upload-bar"+(r?" indeterminate":"")},ye("span",{class:"ds-upload-fill","data-pct":String(Math.max(0,Math.min(100,n.pct||0))),"aria-hidden":"true"})),ye("span",{class:"ds-upload-pct","aria-hidden":"true"},n.error?"err":n.done?"ok":r?"...":(n.pct||0)+"%"),o.length?ye("span",{class:"ds-upload-actions",role:"group","aria-label":`actions for ${n.name}`},...o):null)})):null}function Gn({text:e="nothing here",glyph:t=k("circle"),action:n}={}){return ye("div",{class:"ds-file-empty",role:"status"},...[ye("span",{key:"glyph",class:"ds-file-empty-glyph","aria-hidden":"true"},t),ye("span",{key:"text",class:"ds-file-empty-text"},e),n&&n.onClick?O({key:"ea",onClick:n.onClick,children:n.label||"go up"}):null].filter(Boolean))}function Gs({segments:e=[],onNav:t,root:n="root"}={}){let s=[ye("button",{key:"root",class:"ds-crumb-seg",onclick:()=>t&&t(0)},n)];return e.forEach((r,a)=>{s.push(ye("span",{key:"sep"+a,class:"ds-crumb-sep","aria-hidden":"true"},k("chevron-right",{size:13}))),s.push(ye("button",{key:"seg"+a,class:"ds-crumb-seg"+(a===e.length-1?" leaf":""),onclick:()=>t&&t(a+1)},r))}),ye("div",{class:"ds-crumb-path"},...s)}var ye,Ei=N(()=>{I();Q();ye=y});function Ti({files:e=[],onOpen:t,onAction:n,onUp:s,emptyText:r="No files here yet",emptyAction:a,sort:o,filter:i,loading:l=!1,shown:c,onShowMore:d,actions:u,busy:p,selectable:m=!1,selected:f,onToggleSelect:h,marked:g=f,onMark:w=h,onSelectAll:v,onClearSelection:x,density:C="list",onDensity:A,thumbUrl:T}={}){if(l&&!e.length)return Ks({rows:12});let U=!!(i&&(i.value||"").length>0);if(!e.length&&!U)return Gn({text:r,glyph:k("folder-open",{size:28}),action:a});let b=l&&e.length>0,E=c??Si,L=e.length>E,P=L?e.slice(0,E):e,B=C==="thumb",H={},F=j=>j.path||j.name,G=j=>j.locked||j.permissions==="EACCES"||Array.isArray(j.permissions)&&j.permissions.length===0,he=g instanceof Set?g:new Set(g||[]),oe=m?P.filter(j=>!G(j)).map(F):[],te=j=>{let Ot=j.currentTarget,Je=Array.from(Ot.querySelectorAll(".ds-file-open:not([disabled]), .ds-file-cell-open:not([disabled])")),fs=Je.indexOf(document.activeElement);j.key==="ArrowDown"?(j.preventDefault(),Je[Math.min(Je.length-1,fs+1)]?.focus()):j.key==="ArrowUp"?(j.preventDefault(),(fs<=0?Je[0]:Je[fs-1])?.focus()):j.key==="Home"?(j.preventDefault(),Je[0]?.focus()):j.key==="End"?(j.preventDefault(),Je[Je.length-1]?.focus()):j.key==="Backspace"?(j.preventDefault(),s&&s()):(j.key==="a"||j.key==="A")&&(j.ctrlKey||j.metaKey)&&m&&v&&oe.length&&(j.preventDefault(),v(oe))},M=o?nu(o):null,S=oe.filter(j=>he.has(j)).length,R=S===0?"false":S===oe.length?"true":"mixed",Y=m&&v&&oe.length?mt("button",{key:"selall",type:"button",class:"ds-file-selectall",role:"checkbox","aria-checked":R,"aria-label":R==="true"?"clear selection":"select all "+oe.length+" shown files",onclick:()=>R==="true"&&x?x():v(oe)},mt("span",{class:"ds-check-box","aria-hidden":"true"}),mt("span",{},"all")):null,He=su({density:C,onDensity:A}),gt=[i?mt("span",{key:"filterwrap",class:"ds-file-filter-wrap"},mt("input",{key:"filter",class:"ds-file-filter-input",type:"search",value:i.value||"",placeholder:i.placeholder||"Filter files","aria-label":i.placeholder||"Filter files in this directory",oninput:j=>i.onInput&&i.onInput(j.target.value),onkeydown:j=>{j.key==="Escape"&&i.value&&(j.preventDefault(),j.stopPropagation(),i.onInput&&i.onInput(""))}}),mt("span",{key:"filtercount",class:"sr-only",role:"status","aria-live":"polite"},U?e.length+(e.length===1?" file":" files")+" shown":"")):null,Y,M].filter(Boolean),Et=[...gt,gt.length&&He?mt("span",{key:"spread",class:"spread"}):null,He].filter(Boolean),Pt=Et.length?mt("div",{class:"ds-file-controls"},...Et):null,re=!e.length&&U?Gn({text:r,glyph:k("folder-open",{size:28})}):mt("div",{class:"ds-file-grid"+(B?" ds-file-grid-thumb":"")+(b?" is-refreshing":""),role:"group","aria-label":"files",tabindex:"0","aria-busy":b?"true":"false","data-density":C||"list",onkeydown:te,...H},...P.map((j,Ot)=>B?eu({key:j.path||j.name+Ot,f:j,selectable:m,selected:he.has(F(j)),onToggleSelect:w?Je=>w(j,Je):null,onOpen:t,thumb:T&&j.type==="image"?T(j):null}):qs({key:j.path||j.name+Ot,name:j.name,type:j.type,size:j.size,modified:j.modified,code:j.code,active:j.active,permissions:j.permissions,locked:j.locked,actions:u??void 0,busy:p!=null?!!p:!!j.busy,selectable:m,selected:he.has(F(j)),onToggleSelect:w?Je=>w(j,Je):null,onOpen:t?()=>t(j):null,onAction:n?Je=>n(Je,j):null}))),ae=L?mt("div",{class:"ds-file-more"},mt("span",{class:"ds-file-more-count",role:"status","aria-live":"polite"},"showing "+P.length+" of "+e.length),d?mt("button",{type:"button",class:"ds-file-more-btn",onclick:()=>d(Math.min(e.length,E+Si))},"show "+Math.min(Si,e.length-E)+" more"):null):null;return Pt||ae?mt("div",{class:"ds-file-listing"},Pt,re,ae):re}var mt,Si,au=N(()=>{I();Q();vi();ru();Ei();mt=y,Si=200});var rn=N(()=>{yi();vi();au();Ei()});function an(e){let t=String(e??"").trim();if(!t)return null;if(/^(\/|\.|#|\?)/.test(t)||t.startsWith("//"))return t;let n=(t.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/)||[])[1];return n?/^(https?|mailto|tel)$/i.test(n)?t:null:t}function An(e){if(e==null)return[];let t=[],n=/(\*\*([^*]+)\*\*|\*([^*]+)\*|`([^`]+)`|\[([^\]]+)\]\(([^)]+)\))/g,s=0,r,a=0,o=i=>t.push(i);for(;(r=n.exec(e))!==null;){if(r.index>s&&o(Cn("span",{key:"s"+a+"a"},e.slice(s,r.index))),r[2]!=null)o(Cn("strong",{key:"s"+a},r[2]));else if(r[3]!=null)o(Cn("em",{key:"s"+a},r[3]));else if(r[4]!=null)o(Cn("code",{key:"s"+a,class:"chat-tick"},r[4]));else if(r[5]!=null){let i=an(r[6]);o(i?Cn("a",{key:"s"+a,href:i,target:"_blank",rel:"noopener noreferrer"},r[5]):Cn("span",{key:"s"+a},r[5]))}s=r.index+r[0].length,a+=1}return s<e.length&&o(Cn("span",{key:"s"+a+"a"},e.slice(s))),t}function ou(e){let t=String(e||"").split(".").pop().toLowerCase();return Pf[t]||"file"}function Vn(e,t){let n=()=>{t.textContent="copied",t.classList.add("is-copied"),setTimeout(()=>{t.textContent="copy",t.classList.remove("is-copied")},1600)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(n).catch(()=>{});else try{let s=document.createElement("textarea");s.value=e,document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s),n()}catch{}}function Vs(e){e&&e.querySelectorAll("pre").forEach(t=>{if(t.dataset.copyWired==="1")return;t.dataset.copyWired="1";let n=document.createElement("div");n.className="chat-code-block",t.parentNode.insertBefore(n,t),n.appendChild(t);let s=t.querySelector("code"),r=s&&(s.className||"").match(/(?:language|lang)-([a-z0-9+#]+)/i);if(r&&r[1]){let o=document.createElement("span");o.className="chat-code-lang",o.setAttribute("aria-hidden","true"),o.textContent=r[1],n.appendChild(o)}let a=document.createElement("button");a.type="button",a.className="chat-code-copy",a.setAttribute("aria-label","copy code"),a.textContent="copy",a.addEventListener("click",()=>Vn(t.innerText,a)),n.appendChild(a)})}var Cn,Pf,zs=N(()=>{I();Cn=y;Pf={pdf:"file-pdf",zip:"file-zip",tar:"file-zip",gz:"file-zip",mp4:"file-video",mov:"file-video",mp3:"file-audio",wav:"file-audio",csv:"file-sheet",json:"file-code",js:"file-code",ts:"file-code",md:"file-text",txt:"file-text"}});function on(e){return String(e??"").replace(/[&<>"']/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[t])}function iu(e){return JSON.stringify(e).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(Bf,"\\u2028").replace(Hf,"\\u2029")}var Bf,Hf,Di=N(()=>{Bf=new RegExp("\u2028","g"),Hf=new RegExp("\u2029","g")});function Uf({markedUrl:e,purifyUrl:t}={}){e!==void 0&&(Ii=e||cu),t!==void 0&&(Mi=t||du),ln=null,En=0}function Wf(){return{markedUrl:Ii,purifyUrl:Mi}}function Sn(){return!zn||!Ht||typeof Ht.sanitize!="function"}async function Yn(){return ln||(En&&Date.now()-En<Nf?!1:(ln=(async()=>{try{let[{marked:e},t]=await Promise.all([import(Ii),import(Mi)]),n=t.default||t;if(!e||typeof e.parse!="function")throw new Error("marked module missing parse()");if(!n||typeof n.sanitize!="function")throw new Error("DOMPurify module missing sanitize()");return zn=e,Ht=n,En=0,!0}catch(e){return console.warn("[247420] markdown loader failed:",e),zn=null,Ht=null,ln=null,En=Date.now(),!1}})(),ln))}function lu(e){return on(e).replace(/\n/g,"<br>")}async function wa(e){if(!await Yn())return lu(e);try{let n=zn.parse(String(e));if(typeof Ht.sanitize!="function")throw new Error("purifier unavailable mid-render");return Ht.sanitize(n,{FORCE_BODY:!0})}catch(n){return console.warn("[247420] markdown render failed, falling back to escaped text:",n),zn=null,Ht=null,ln=null,En=Date.now(),lu(e)}}async function ji(e){if(!await Yn())return on(e);try{if(typeof Ht.sanitize!="function")throw new Error("purifier unavailable mid-sanitize");return Ht.sanitize(String(e),{FORCE_BODY:!0})}catch(n){return console.warn("[247420] sanitizeHtml failed, falling back to escaped text:",n),zn=null,Ht=null,ln=null,En=Date.now(),on(e)}}var ln,zn,Ht,En,Nf,cu,du,Ii,Mi,Zn=N(()=>{Di();ln=null,zn=null,Ht=null,En=0,Nf=3e4,cu="https://cdn.jsdelivr.net/npm/marked@15.0.12/+esm",du="https://cdn.jsdelivr.net/npm/dompurify@3.2.6/+esm",Ii=cu,Mi=du});function Ff({baseUrl:e}={}){ka=e||pu,Jn=null,Ys=null}function Of(){return{baseUrl:ka}}function uu(e){return new Promise(t=>{if(document.querySelector('script[src="'+e+'"]')){t();return}let s=document.createElement("script");s.src=e,s.crossOrigin="anonymous",s.onload=t,s.onerror=()=>{console.warn("[247420] prism part failed:",e),t()},document.head.appendChild(s)})}async function Xn(){return Jn||Ys||(Ys=(async()=>{try{if(await uu(ka+"prism-core.min.js"),Jn=window.Prism||null,Jn)for(let e of Qf)await Promise.all(e.map(t=>uu(ka+t)));return Jn}catch(e){return console.warn("[247420] prism loader failed:",e),null}})(),Ys)}async function Tn(e){let t=await Xn();!t||!e||typeof t.highlightAllUnder=="function"&&t.highlightAllUnder(e)}var Jn,Ys,pu,ka,Qf,Zs=N(()=>{Jn=null,Ys=null,pu="https://cdn.jsdelivr.net/npm/prismjs@1.30.0/components/",ka=pu;Qf=[["prism-markup.min.js","prism-css.min.js","prism-clike.min.js"],["prism-javascript.min.js","prism-json.min.js","prism-bash.min.js","prism-yaml.min.js","prism-markdown.min.js","prism-python.min.js","prism-rust.min.js","prism-go.min.js","prism-diff.min.js","prism-sql.min.js","prism-toml.min.js"],["prism-typescript.min.js","prism-jsx.min.js"],["prism-tsx.min.js"]]});function qf(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return Math.abs(t).toString(36)}async function Aa(){return xa||(xa=(async()=>{let e=performance.now(),[t,n]=await Promise.all([(async()=>{let s=performance.now(),r=await Yn();return Te.markdownInitMs=performance.now()-s,Ri=!0,r})(),(async()=>{let s=performance.now(),r=await Xn();return Te.prismInitMs=performance.now()-s,Ca=!0,r})()]);return Te.totalInitMs=performance.now()-e,{markdown:t,prism:n}})(),xa)}async function mu(e){let t=performance.now(),n=qf(e||"");if(Dn.has(n))return Te.cacheHits+=1,Dn.get(n);await Yn(),Ri=!Sn();let s=await wa(e);if(!Sn()&&(Dn.set(n,s),Dn.size>500)){let a=Dn.keys().next().value;Dn.delete(a)}let r=performance.now()-t;return Te.renderCount+=1,Te.cacheMisses+=1,Te.renderTimes.push(r),Te.renderTimes.length>100&&Te.renderTimes.shift(),s}async function Li(e){Ca||(await Xn(),Ca=!0),await Tn(e)}function Pi(){let e=Te.cacheHits+Te.cacheMisses;return{markdownInitialized:Ri,prismInitialized:Ca,initMs:{markdown:Te.markdownInitMs,prism:Te.prismInitMs,total:Te.totalInitMs},renderStats:{count:Te.renderCount,avgTimeMs:Te.renderTimes.length?(Te.renderTimes.reduce((t,n)=>t+n,0)/Te.renderTimes.length).toFixed(2):0,minTimeMs:Te.renderTimes.length?Math.min(...Te.renderTimes).toFixed(2):0,maxTimeMs:Te.renderTimes.length?Math.max(...Te.renderTimes).toFixed(2):0},cacheStats:{hits:Te.cacheHits,misses:Te.cacheMisses,hitRate:e>0?(Te.cacheHits/e*100).toFixed(1)+"%":"N/A",cacheSize:Dn.size}}}var Ri,Ca,xa,Dn,Te,Ea=N(()=>{Zn();Zs();Bt();Ri=!1,Ca=!1,xa=null,Dn=new Map,Te={markdownInitMs:0,totalInitMs:0,prismInitMs:0,renderCount:0,renderTimes:[],cacheHits:0,cacheMisses:0};Ge("markdown-cache",()=>Pi())});function Kf({url:e}={}){Bi=e||fu,_n=null,$n=null}function Gf(){return{url:Bi}}async function hu(){return _n||$n||($n=(async()=>{try{let e=await import(Bi),t=e.default||e;if(!t||typeof t.render!="function")throw new Error("mermaid module missing render()");return t.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0}),_n=t,_n}catch(e){return console.warn("[247420] mermaid loader failed:",e),_n=null,$n=null,null}})(),$n)}async function gu(e){let t=await hu();if(!t)return null;try{let n="ds-mermaid-"+Date.now().toString(36)+"-"+Vf++;if(!(t.parse?await t.parse(e,{suppressErrors:!0}):!0))return null;let{svg:r}=await t.render(n,e);return r}catch(n){return console.warn("[247420] mermaid render failed:",n),null}}async function Hi(e){if(!e||!e.querySelectorAll)return;let t=e.querySelectorAll("code.language-mermaid, code.lang-mermaid");for(let n of t){let s=n.closest("pre");if(!s||s.dataset.mermaidWired==="1")continue;s.dataset.mermaidWired="1";let r=n.textContent||"",a=await gu(r);if(!a){delete s.dataset.mermaidWired;continue}let o=document.createElement("div");o.className="ds-mermaid-block";let i=document.createElement("button");i.type="button",i.className="ds-mermaid-toggle",i.textContent="source";let l=document.createElement("div");l.className="ds-mermaid-diagram",l.innerHTML=a;let c=!1;i.addEventListener("click",()=>{c=!c,l.style.display=c?"none":"",s.style.display=c?"":"none",i.textContent=c?"diagram":"source"}),o.appendChild(l),o.appendChild(i),s.style.display="none",s.parentNode.insertBefore(o,s),o.appendChild(s)}}var _n,$n,fu,Bi,Vf,Ni=N(()=>{_n=null,$n=null,fu="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs",Bi=fu;Vf=0});function zf({jsUrl:e,cssUrl:t}={}){Ui=e||yu,Wi=t||vu,es=null,ts=null,Sa=!1}function Yf(){return{jsUrl:Ui,cssUrl:Wi}}function Zf(){if(Sa||typeof document>"u")return;if(document.querySelector("link[data-katex]")){Sa=!0;return}let e=document.createElement("link");e.rel="stylesheet",e.href=Wi,e.setAttribute("data-katex",""),document.head.appendChild(e),Sa=!0}async function Fi(){return es||ts||(ts=(async()=>{try{Zf();let e=await import(Ui),t=e.default||e;if(!t||typeof t.renderToString!="function")throw new Error("katex module missing renderToString()");return es=t,es}catch(e){return console.warn("[247420] katex loader failed:",e),es=null,ts=null,null}})(),ts)}async function bu(e,t){let n=await Fi();if(!n)return null;try{return n.renderToString(e,{throwOnError:!1,strict:!1,displayMode:t})}catch(s){return console.warn("[247420] katex render failed:",s),null}}async function Oi(e){if(!e||e.dataset?.mathWired==="1"||!e||!e.querySelectorAll||!(e.innerHTML||"").includes("$")||!await Fi())return;e.dataset.mathWired="1";let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(l){let c=l.parentElement;return c&&(c.closest("code")||c.closest("pre"))?NodeFilter.FILTER_REJECT:/\$/.test(l.nodeValue)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),r=[],a;for(;a=s.nextNode();)r.push(a);let o=/\$\$([^$]+)\$\$/g,i=/\$([^$\n]+)\$/g;for(let l of r){let c=l.nodeValue;if(!o.test(c)&&!i.test(c))continue;o.lastIndex=0,i.lastIndex=0;let d=document.createDocumentFragment(),u=0,p=[],m;for(;(m=o.exec(c))!==null;)m.index>u&&p.push({text:c.slice(u,m.index)}),p.push({math:m[1],display:!0}),u=m.index+m[0].length;u<c.length&&p.push({text:c.slice(u)});for(let f of p){if(f.math!=null){let x=await bu(f.math.trim(),!0);if(x){let C=document.createElement("span");C.className="ds-math-display",C.innerHTML=x,d.appendChild(C)}else d.appendChild(document.createTextNode("$$"+f.math+"$$"));continue}let h=f.text,g=0;i.lastIndex=0;let w,v=!1;for(;(w=i.exec(h))!==null;){v=!0,w.index>g&&d.appendChild(document.createTextNode(h.slice(g,w.index)));let x=await bu(w[1].trim(),!1);if(x){let C=document.createElement("span");C.className="ds-math-inline",C.innerHTML=x,d.appendChild(C)}else d.appendChild(document.createTextNode("$"+w[1]+"$"));g=w.index+w[0].length}v?g<h.length&&d.appendChild(document.createTextNode(h.slice(g))):d.appendChild(document.createTextNode(h))}l.parentNode.replaceChild(d,l)}}var es,ts,Sa,yu,vu,Ui,Wi,Qi=N(()=>{es=null,ts=null,Sa=!1,yu="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.mjs",vu="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css",Ui=yu,Wi=vu});function wu(e){return zt("div",{class:"chat-bubble chat-md",ref:n=>{if(!n)return;let s=(Sn()?"~degraded~":"")+(e.text||"");if(n.dataset.mdSrc===s)return;let r=n.dataset.mdParsedLen?Number(n.dataset.mdParsedLen):0,a=n.dataset.mdLastParseAt?Number(n.dataset.mdLastParseAt):0,o=typeof performance<"u"?performance.now():Date.now();if(e.streamingCaret&&r>0&&o-a<Jf&&s.length-r<Xf){n.textContent=e.text||"";return}n.dataset.mdSrc=s,n.dataset.mdParsedLen=String(s.length),n.dataset.mdLastParseAt=String(o),Sn()&&(n.textContent=e.text||"");function i(){mu(e.text||"").then(l=>{if(n.dataset.mdSrc!==s)return;let c=()=>{n.innerHTML=l,delete n.dataset.mathWired,Vs(n),Hi(n).catch(()=>{}),Oi(n).catch(()=>{})},d=typeof window<"u"?window.getSelection():null;if(d&&d.anchorNode&&n.contains(d.anchorNode)){let u=()=>{document.removeEventListener("selectionchange",u),c()};document.addEventListener("selectionchange",u,{once:!0});return}c()})}e.streamingCaret?i():_f(i)}})}function ku(e){let t=s=>{if(!s)return;let r=(e.lang||"")+"|"+(e.code||"");if(s.dataset.codeKey===r)return;s.dataset.codeKey=r;let a=typeof window<"u"?window.getSelection():null;if(a&&a.anchorNode&&s.contains(a.anchorNode)){let o=()=>{document.removeEventListener("selectionchange",o),Li(s)};document.addEventListener("selectionchange",o,{once:!0});return}Li(s)},n=s=>Vn(e.code||"",s.currentTarget);return zt("div",{class:"chat-bubble chat-code",ref:t},zt("div",{class:"chat-code-head"},zt("span",{class:"lang"},e.lang||"code"),e.filename?zt("span",{class:"name"},e.filename):null,zt("span",{class:"spread"}),zt("button",{type:"button",class:"chat-code-copy chat-code-copy-head","aria-label":"copy code",onclick:n},"copy")),zt("pre",{},zt("code",{class:e.lang?"lang-"+e.lang+" language-"+e.lang:""},e.code||"")))}var zt,Jf,Xf,_f,xu=N(()=>{I();Ea();Zn();Ni();Qi();zs();zt=y,Jf=120,Xf=40,_f=typeof requestIdleCallback=="function"?e=>requestIdleCallback(e,{timeout:500}):e=>setTimeout(e,0)});function Au(e,t){ns.set(e,{...ns.get(e)||{},...t})}function In(){try{let e=typeof localStorage<"u"&&localStorage.getItem(Cu);if(e&&ns.has(e))return e}catch{}if(typeof navigator<"u"&&navigator.language){let e=navigator.language.slice(0,2);if(ns.has(e))return e}return"en"}function $f(e){try{typeof localStorage<"u"&&localStorage.setItem(Cu,e)}catch{}}function Nt(e,t,n){let s=In(),r=ns.get(s)||{},a=e in r?r[e]:t;if(n)for(let o of Object.keys(n))a=a.split("{"+o+"}").join(String(n[o]));return a}function eh(){return[...ns.keys()]}var Cu,ns,ss=N(()=>{Cu="ds-locale",ns=new Map;Au("en",{})});function nh(e){return th[e]||{label:e||"changed",tone:"neutral",glyph:(e||"?").slice(0,1)}}function rh(e=""){let t=e.split("/").pop()||e,n=t.toLowerCase();if(Eu[n])return Eu[n];if(n.startsWith(".env."))return"text";if(n==="dockerfile"||n.startsWith("dockerfile."))return"code";let s=t.lastIndexOf(".");return s<=0?"other":sh[t.slice(s+1).toLowerCase()]||"other"}function Ta({files:e=[],onFileClick:t,emptyText:n="no changes",active:s}={}){return e.length?Oe("div",{class:"ds-git-status-grid",role:"group","aria-label":"changed files"},...e.map((r,a)=>ah({key:r.path||a,file:r,onClick:t,active:s===r.path}))):Oe("div",{class:"ds-git-empty",role:"status"},Oe("span",{class:"ds-git-empty-glyph","aria-hidden":"true"},k("circle-dot",{size:22})),Oe("span",{},n))}function ah({key:e,file:t,onClick:n,active:s}={}){let r=nh(t.status),a=rh(t.path),o=[t.insertions!=null?Oe("span",{class:"ds-git-stat ds-git-stat-add"},"+"+t.insertions):null,t.deletions!=null?Oe("span",{class:"ds-git-stat ds-git-stat-del"},"-"+t.deletions):null].filter(Boolean);return Oe("button",{key:e,type:"button",class:"ds-git-row"+(s?" active":""),onclick:n?()=>n(t):null,disabled:n?null:!0,"aria-label":r.label+": "+t.path,"aria-pressed":s?"true":"false"},Oe("span",{class:"ds-git-status-chip tone-"+r.tone,"aria-hidden":"true"},r.glyph),Oe("span",{class:"ds-git-row-icon","aria-hidden":"true"},k(sn(a),{size:15})),Oe("span",{class:"ds-git-row-path"},t.path),t.staged?Oe("span",{class:"ds-git-row-tag"},"staged"):null,o.length?Oe("span",{class:"ds-git-row-stats"},...o):null)}function oh(e=""){let t=e.split(`
127
127
  `),n=[],s=null;for(let r of t){if(r.startsWith("@@")){s={header:r,lines:[]},n.push(s);continue}if(r.startsWith("diff --git")||r.startsWith("index ")||r.startsWith("--- ")||r.startsWith("+++ ")||!s)continue;let a="context";r.startsWith("+")?a="add":r.startsWith("-")&&(a="del"),s.lines.push({kind:a,text:r})}return n}function lh(e=""){let t=e.split("/").pop()||e,n=t.lastIndexOf(".");return n<=0?null:ih[t.slice(n+1).toLowerCase()]||null}function rs({diff:e="",filename:t}={}){let n=oh(e),s=lh(t),r=a=>{if(a)try{Tn(a)}catch{}};return n.length?Oe("div",{class:"ds-git-diff",ref:r},t?Oe("div",{class:"ds-git-diff-head"},Oe("span",{class:"name"},t)):null,...n.map((a,o)=>Oe("div",{key:"hunk"+o,class:"ds-git-hunk"},Oe("div",{class:"ds-git-hunk-header"},a.header),Oe("pre",{class:"ds-git-hunk-body"+(s?" lang-"+s:"")},...a.lines.map((i,l)=>Oe("code",{key:l,class:"ds-git-line ds-git-line-"+i.kind+(s?" language-"+s:"")},i.text+`
128
128
  `)))))):Oe("div",{class:"ds-git-diff-empty",role:"status"},"no diff to show")}var Oe,th,sh,Eu,ih,Da=N(()=>{I();Q();rn();Zs();Oe=y,th={A:{label:"added",tone:"add",glyph:"A"},M:{label:"modified",tone:"modify",glyph:"M"},D:{label:"deleted",tone:"delete",glyph:"D"},R:{label:"renamed",tone:"modify",glyph:"R"},C:{label:"copied",tone:"modify",glyph:"C"},U:{label:"conflicted",tone:"delete",glyph:"U"},"?":{label:"untracked",tone:"add",glyph:"?"},"!":{label:"ignored",tone:"neutral",glyph:"!"}};sh={js:"code",mjs:"code",cjs:"code",ts:"code",tsx:"code",jsx:"code",py:"code",rs:"code",go:"code",java:"code",c:"code",cpp:"code",h:"code",css:"code",less:"code",scss:"code",html:"code",htm:"code",json:"code",jsonl:"code",yml:"code",yaml:"code",toml:"code",sh:"code",bash:"code",zsh:"code",fish:"code",sql:"code",graphql:"code",gql:"code",tf:"code",hcl:"code",md:"document",mdx:"document",txt:"text",pdf:"document",docx:"document",doc:"document",png:"image",jpg:"image",jpeg:"image",gif:"image",svg:"image",webp:"image",bmp:"image",ico:"image",avif:"image",mp4:"video",mov:"video",webm:"video",avi:"video",mkv:"video",mp3:"audio",wav:"audio",flac:"audio",ogg:"audio",m4a:"audio",zip:"archive",tar:"archive",gz:"archive","7z":"archive",rar:"archive",bz2:"archive"},Eu={"package-lock.json":"code","yarn.lock":"code","bun.lock":"code","pnpm-lock.yaml":"code","cargo.lock":"code","composer.lock":"code",".gitignore":"text",".gitattributes":"text",".gitmodules":"text",".env":"text",".editorconfig":"text",".npmrc":"text"};ih={js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rs:"rust",go:"go",css:"css",scss:"css",html:"markup",md:"markdown",json:"json",yml:"yaml",yaml:"yaml",sh:"bash",sql:"sql",toml:"toml"}});function ch(e){return!e||e.indexOf("@@")===-1?!1:/^@@ .* @@/m.test(e)&&/^[+-]/m.test(e)}function dh(e){let t=/^\+\+\+ b?\/?(.+)$/m.exec(e)||/^--- a?\/?(.+)$/m.exec(e);return t?t[1].trim():void 0}function Ia(e){let t=e.status||(e.error?"error":e.result!=null?"done":"running");e._argsCache!==e.args&&(e._argsTextCache=typeof e.args=="string"?e.args:JSON.stringify(e.args||{},null,2),e._argsCache=e.args);let n=e._argsTextCache;e._resultCache!==e.result&&(e._resultTextCache=e.result==null?"":typeof e.result=="string"?e.result:JSON.stringify(e.result,null,2),e._resultCache=e.result);let s=e._resultTextCache,r=e.args!=null&&n!=="{}"&&n.trim()!=="",a=e.open!=null?!!e.open:t==="running"||t==="error",o=t==="running"?"refresh":t==="error"?"warn":"check",i=c=>d=>Vn(c,d.currentTarget),l=(c,d)=>pe("div",{class:"chat-tool-section-label"},pe("span",{},c),pe("button",{type:"button",class:"chat-code-copy chat-tool-copy","aria-label":"copy "+c,onclick:i(d)},"copy"));return pe("details",{class:"chat-bubble chat-tool tool-"+t,open:a},pe("summary",{class:"chat-tool-head"},pe("span",{class:"chat-tool-icon","aria-hidden":"true"},k(o,{size:14})),pe("span",{class:"chat-tool-name"},e.name||"tool"),e.label?pe("span",{class:"chat-tool-label"},e.label):null,pe("span",{class:"chat-tool-status"},t)),pe("div",{class:"chat-tool-body"},...[r?pe("div",{class:"chat-tool-section"},l("args",n),pe("pre",{class:"chat-tool-pre"},pe("code",{},n))):null,s?!e.error&&ch(s)?pe("div",{class:"chat-tool-section"},l("result",s),rs({diff:s,filename:dh(s)})):pe("div",{class:"chat-tool-section"},l(e.error?"error":"result",s),pe("pre",{class:"chat-tool-pre"+(e.error?" is-error":"")},pe("code",{},s))):t==="done"?pe("div",{class:"chat-tool-section"},pe("div",{class:"chat-tool-section-label"},"result"),pe("pre",{class:"chat-tool-pre chat-tool-empty"},pe("code",{},"(no output)"))):null].filter(Boolean)))}function Su(e){return e.settled?pe("details",{class:"chat-bubble chat-thinking-settled"},pe("summary",{},Nt("chat.viewThinking","View thinking")),pe("div",{class:"chat-thinking-body"},e.text)):pe("div",{class:"chat-bubble chat-thinking",role:"status","aria-live":"polite"},pe("span",{class:"chat-thinking-dots","aria-hidden":"true"},pe("span"),pe("span"),pe("span")),pe("span",{class:"chat-thinking-text"},e.text||Nt("chat.thinking","thinking\u2026")))}var pe,Tu=N(()=>{I();Q();ss();Da();zs();pe=y});function Ki(e,t,n){let r=(qi[e.kind]||qi.text)(e);return r&&typeof r=="object"&&(r.props={...r.props||{},key:"p"+t}),n&&n(e.kind),r}var me,Du,qi,Iu=N(()=>{I();Q();rn();zs();xu();Tu();me=y,Du=pt,qi={text:e=>e.preShell?me("div",{class:"chat-bubble chat-md chat-stream-pre"},...[e.streamHead?me("div",{key:"sh",class:"chat-stream-head",role:"status","aria-live":"polite"},e.streamHead):null,me("pre",{key:"pre"},me("code",{},e.text||"")),e.streamingCaret?me("span",{key:"_caret",class:"chat-stream-caret","aria-hidden":"true"}):null].filter(Boolean)):me("div",{class:"chat-bubble"+(e.mdShell?" chat-md":"")},...An(e.text||""),e.streamingCaret?me("span",{key:"_caret",class:"chat-stream-caret","aria-hidden":"true"}):null),md:e=>wu(e),code:e=>ku(e),tool:e=>Ia(e),tool_call:e=>Ia(e),tool_result:e=>Ia({...e,name:e.name||"tool_result",result:e.text!=null?e.text:e.result}),thinking:e=>Su(e),image:e=>{let t=an(e.src),n=an(e.href||e.src);return t?me("a",{class:"chat-image",href:n||t,target:"_blank",rel:"noopener noreferrer","aria-label":e.alt||`embedded image: ${t}`},me("img",{src:t,alt:e.alt||`embedded image from ${t}`,loading:"lazy"}),e.caption?me("span",{class:"cap"},e.caption):null):me("span",{class:"chat-image-blocked"},e.alt||"image blocked (unsafe url)")},pdf:e=>me("div",{class:"chat-pdf"},me("div",{class:"chat-pdf-head"},me("span",{class:"glyph","aria-hidden":"true"},k("file-pdf",{size:18})),me("span",{class:"name"},e.name||"document.pdf"),e.size!=null?me("span",{class:"size"},Du(e.size)):null,me("a",{class:"open",href:e.src,target:"_blank",rel:"noopener","aria-label":`open PDF: ${e.name||"document.pdf"}`},"open ->")),me("embed",{src:e.src,type:"application/pdf","aria-label":`PDF document: ${e.name||"document.pdf"}`})),file:e=>me("a",{class:"chat-file",href:e.src,target:"_blank",rel:"noopener",download:e.name||!0,"aria-label":`download file: ${e.name||"attachment"} (${e.kindLabel||(e.name||"").split(".").pop().toUpperCase()})`},me("span",{class:"glyph","aria-hidden":"true"},k(ou(e.name),{size:22})),me("span",{class:"meta"},me("span",{class:"name"},e.name||"attachment"),me("span",{class:"size"},[e.kindLabel||(e.name||"").split(".").pop().toUpperCase(),e.size!=null?Du(e.size):null].filter(Boolean).join(" \xB7 "))),me("span",{class:"go","aria-hidden":"true"},k("arrow-down"))),link:e=>me("a",{class:"chat-link",href:an(e.href)||"#",target:"_blank",rel:"noopener noreferrer","aria-label":`link: ${e.title||e.href}`},e.thumb?me("img",{class:"thumb",src:e.thumb,alt:`preview for ${e.title||e.href}`}):null,me("span",{class:"meta"},me("span",{class:"host"},e.host||(()=>{try{return new URL(e.href).host}catch{return""}})()),me("span",{class:"title"},e.title||e.href),e.desc?me("span",{class:"desc"},e.desc):null))}});var Ma=N(()=>{zs();Iu()});function Js(e){let t=typeof document<"u"&&document.getSelection?document.getSelection():null;return!!(t&&!t.isCollapsed&&t.anchorNode&&e&&e.contains(t.anchorNode))}function Mn(e){return t=>{if(!t)return;let n=t.querySelector("[data-scroll-sentinel]");n||(n=document.createElement("div"),n.setAttribute("data-scroll-sentinel",""),n.style.height="1px",t.appendChild(n));let s=new IntersectionObserver(r=>{if(Js(t))return;let a=String(e());r[0]?.isIntersecting&&t.dataset.msgCount!==a&&(t.scrollTop=t.scrollHeight-t.clientHeight,t.dataset.msgCount=a)},{root:t,threshold:0});return s.observe(n),t.dataset.msgCount=String(e()),()=>s.disconnect()}}var Gi=N(()=>{});function Vi(){Mu||(Mu=!0,Aa().catch(e=>console.warn("[247420] cache init error:",e)))}function ju(){Xs.messages+=1}function Ru(e,t){return Ki(e,t,n=>{Xs.lastKindCounts[n]=(Xs.lastKindCounts[n]||0)+1})}var Xs,Mu,ja=N(()=>{Ea();Bt();Ma();Xs={messages:0,lastKindCounts:{}},Mu=!1;Ge("chat",()=>({messages:Xs.messages,lastKindCounts:{...Xs.lastKindCounts},cacheStats:Pi()}))});function Dt({role:e,who:t="them",avatar:n,text:s,parts:r,time:a,typing:o,key:i,aicat:l,reactions:c,receipt:d,name:u,streaming:p,actions:m,incomplete:f,stopped:h,flat:g,error:w,onRetry:v}){ju();let x=e?e==="user"?"you":e==="assistant"?"them":e:t,C=x==="system"||x==="tool"||x==="thinking",A=g&&!C,T="chat-msg "+x+(l&&x==="them"?" aicat":"")+(C?" centered":"")+(A?" chat-msg-flat":""),U=n??(x==="you"?"u":wt(u)),b=fe("span",{class:"chat-avatar"},U),E;o?E=[fe("div",{class:"chat-bubble",key:"typb"},fe("span",{class:"chat-typing"},fe("span"),fe("span"),fe("span")))]:r&&r.length?E=r.map((te,M)=>Ru(te,M)):E=[fe("div",{class:"chat-bubble",key:"t"},...An(s||""))];let L=r&&r.length&&r[r.length-1]&&r[r.length-1].streamingCaret;p&&!o&&!L&&(E=[...E,fe("span",{key:"_caret",class:"chat-stream-caret","aria-hidden":"true"})]),h&&(E=[...E,fe("div",{key:"_stopped",class:"chat-msg-notice is-stopped",role:"status"},typeof h=="string"?h:"stopped \u2014 this turn was cancelled before it finished")]),f&&(E=[...E,fe("div",{key:"_incomplete",class:"chat-msg-notice is-incomplete",role:"status"},typeof f=="string"?f:"connection dropped mid-turn \u2014 the response may be incomplete")]),w&&(E=[...E,fe("div",{key:"_error",class:"chat-msg-notice is-error",role:"alert"},fe("span",{},typeof w=="string"?w:"this turn failed"),v?fe("button",{type:"button",class:"chat-msg-retry-btn",onclick:te=>{te.preventDefault(),v(te)}},"retry"):null)]);let P=c&&c.length?fe("div",{class:"chat-reactions"},...c.map((te,M)=>fe("span",{class:"rxn"+(te.you?" you":""),key:"r"+M},fe("span",{class:"e"},te.emoji),fe("span",{class:"n"},String(te.count)),fe("span",{class:"sr-only"},` ${String(te.count)==="1"?"reaction":"reactions"}${te.you?", you reacted":""}`)))):null,B=x==="you"&&d?fe("span",{class:"tick"+(d==="read"?" read":""),role:"img","aria-label":d==="read"?"message read":"message sent"},k(d==="read"?"check-check":"check",{size:14})):null,H=[];u&&x==="them"&&H.push(fe("span",{class:"who",key:"w"},u)),a&&H.push(fe("span",{class:"t",key:"ti"},a)),B&&H.push(B);let F=H.length?fe("div",{class:"chat-meta"},...H):null,G=m&&m.length?fe("div",{class:"chat-msg-actions",role:"group","aria-label":"message actions"},...m.filter(Boolean).map((te,M)=>fe("button",{key:"ma"+M,type:"button",class:"chat-msg-action",title:te.title||te.label,"aria-label":te.label||te.title,onclick:S=>{if(S.preventDefault(),te.onClick&&te.onClick(S),te.label==="copy"){let R=S.currentTarget,Y=R.querySelector(".chat-msg-action-label");clearTimeout(R._dsCopyTimer),R.classList.add("is-copied"),Y&&(Y.textContent="copied"),R._dsCopyTimer=setTimeout(()=>{R.classList.remove("is-copied"),Y&&(Y.textContent="copy")},1600)}}},te.icon?k(te.icon,{size:14}):null,te.label?fe("span",{class:"chat-msg-action-label"},te.label):null))):null,he=A?fe("div",{class:"chat-role",key:"_role"},x==="you"?Nt("chat.roleYou","You"):u||Nt("chat.roleAssistant","Assistant")):null,oe=fe("div",{class:"chat-stack"},he,...E,P,G,F);return C?fe("div",{key:i,class:T},oe):A?fe("div",{key:i,class:T},oe):fe("div",{key:i,class:T},x==="you"?oe:b,x==="you"?b:oe)}var fe,zi=N(()=>{I();Q();ss();Ma();Be();ja();fe=y});function Yi(e){let t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};let n=/(?:^|\s)@([^\s"]*)$/.exec(e);return n?{start:e.length-(n[1].length+1),query:n[1],quoted:!1}:null}function Ra(e){let t=0;for(let n=0;n<e.length;n++)e[n]==="/"&&t++;return t}function uh(e){let t=new Set;for(let s of e){let r=s.indexOf("/");for(;r!==-1;)t.add(s.slice(0,r)),r=s.indexOf("/",r+1)}let n=[];for(let s of t)n.push({path:s,isDir:!0});for(let s of e)s&&n.push({path:s,isDir:!1});return n.sort((s,r)=>Ra(s.path)-Ra(r.path)||s.path.localeCompare(r.path)),n}function Lu(e,t){if(!e)return!0;let n=0;for(let s=0;s<t.length&&n<e.length;s++)t[s]===e[n]&&n++;return n===e.length}function ph(e,t){let n=e.path.toLowerCase(),s=0;if(t.includes("/"))n===t?s=100:n.startsWith(t)?s=80:n.includes(t)?s=50:Lu(t,n)&&(s=10);else{let r=n.lastIndexOf("/"),a=r===-1?n:n.slice(r+1);a===t?s=100:a.startsWith(t)?s=80:a.includes(t)?s=50:n.includes(t)?s=30:Lu(t,n)&&(s=10)}return e.isDir&&s>0&&(s+=10),s}function Zi(e,t,n=mh){let s=t.toLowerCase();if(!s)return e.slice(0,n);let r=[];for(let a of e){let o=ph(a,s);o>0&&r.push({entry:a,score:o})}return r.sort((a,o)=>o.score-a.score||Ra(a.entry.path)-Ra(o.entry.path)||a.entry.path.localeCompare(o.entry.path)),r.slice(0,n).map(a=>a.entry)}function Ji(e,t,n=!1){let s=t?`${e}/`:e,r=n||s.includes(" ");if(t){let o=r?`@"${s}"`:`@${s}`;return{text:o,cursorOffset:r?o.length-1:o.length}}let a=r?`@"${s}" `:`@${s} `;return{text:a,cursorOffset:a.length}}function Pu(e,t){let n=t?`${e}/`:e;return n.includes(" ")?`@"${n}" `:`@${n} `}function fh(e){return e.map(t=>Pu(t,!1)).join("")}var mh,Xi=N(()=>{mh=20});function Yt(e,t){if(!e)return;let n=e.querySelector(".chat-composer-note");if(n||(n=document.createElement("div"),n.className="chat-composer-note",n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),e.appendChild(n)),n._dsNoteQueue=n._dsNoteQueue||[],n._dsNoteQueue.push(t),n._dsNoteTimer)return;let s=()=>{let r=n._dsNoteQueue.shift();if(r===void 0){n.remove(),n._dsNoteTimer=null;return}n.textContent=r,n._dsNoteTimer=setTimeout(s,2600)};s()}function _i(){return La!=null||(La=!!(typeof window<"u"&&window.matchMedia&&window.matchMedia("(pointer: coarse)").matches)),La}function gh(e){let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/60),s=t%60;return n+":"+String(s).padStart(2,"0")}function Bu({streamingSince:e}){return hh("span",{class:"chat-composer-elapsed",role:"status","aria-live":"off",ref:t=>{if(!t||t._dsElapsedTimer&&t._dsElapsedSince===e)return;t._dsElapsedTimer&&clearInterval(t._dsElapsedTimer),t._dsElapsedSince=e;let n=()=>{t.textContent=gh(Date.now()-e)};n(),t._dsElapsedTimer=setInterval(n,1e3)}})}function $i(e,t,n){if(!e)return;let s=e.querySelector(".chat-composer-detected-badge"),r=t&&n?n(t):null;if(!r){s&&s.remove(),e._dsDetectedId=null;return}if(e._dsDismissedId===r.id||e._dsDetectedId===r.id&&s)return;e._dsDetectedId=r.id,s||(s=document.createElement("div"),s.className="chat-composer-detected-badge",s.setAttribute("role","status"),e.insertBefore(s,e.firstChild)),s.textContent="";let a=document.createElement("span");a.className="chat-composer-detected-label",a.textContent=r.label,s.appendChild(a);let o=document.createElement("button");o.type="button",o.className="chat-composer-detected-dismiss",o.setAttribute("aria-label","dismiss "+r.label),o.textContent="x",o.onclick=i=>{i.preventDefault(),e._dsDismissedId=r.id,s.remove()},s.appendChild(o)}var hh,La,el=N(()=>{I();hh=y;La=null});function Ut({value:e,onInput:t,onSend:n,onEmoji:s,onCancel:r,busy:a,placeholder:o="message\u2026",disabled:i,disabledReason:l,label:c,context:d,onPasteFiles:u,onDropFiles:p,streamingSince:m,detectAttachment:f,mentionFiles:h}){let g=null,w=()=>{let S=(g&&g.value||e||"").trim();!S||i||n&&n(S)},v=tl.exec(e||""),x=g?g.selectionStart:(e||"").length,C=h?Yi((e||"").slice(0,x)):null,A=g||(typeof document<"u"?document.querySelector(".chat-composer textarea"):null),T=S=>{let R=g&&g.value||e||"",Y=tl.exec(R),He=Y?R.slice(0,Y.index)+(Y[0].startsWith(":")?"":R[Y.index])+S+" ":R+S;if(t&&t(He),g){try{sessionStorage.getItem("ds.composer.undoNoteShown")||(sessionStorage.setItem("ds.composer.undoNoteShown","1"),Yt(g.closest(".chat-composer"),"inserted \u2014 undo history does not include this insert"))}catch{}g.value=He,g.focus(),g.selectionStart=g.selectionEnd=He.length}},U=!1,b=S=>{let R=S.target;t&&t(R.value),f&&$i(R.closest(".chat-composer"),R.value,f),U||(U=!0,requestAnimationFrame(()=>{R.style.height="auto";let Y=parseFloat(getComputedStyle(R).maxHeight)||200;R.style.height=Math.min(R.scrollHeight,Y)+"px",U=!1}))},E=S=>{if(!S)return;g=S;let R=e||"";S.value!==R&&(S.value=R),S.style.height="auto";let Y=parseFloat(getComputedStyle(S).maxHeight)||200;S.style.height=Math.min(S.scrollHeight,Y)+"px",f&&$i(S.closest(".chat-composer"),R,f)},L=(d&&d.bits?d.bits:[]).map(S=>{if(S==null)return null;if(typeof S=="object"){let Y=S.text||S.label||"";return Y?{text:Y,onClick:S.onClick,title:S.title}:null}let R=String(S);return R?{text:R}:null}).filter(Boolean),P=L.some(S=>S.onClick),B=null;if(L.length&&P){let S=[];L.forEach((R,Y)=>{Y&&S.push(kt("span",{key:"csep"+Y,class:"chat-composer-context-sep","aria-hidden":"true"}," \xB7 ")),R.onClick?S.push(kt("button",{key:"cbit"+Y,type:"button",class:"chat-composer-context-bit",title:R.title||null,"aria-label":R.title||R.text,onclick:He=>{He.preventDefault(),R.onClick(He)}},R.text)):S.push(kt("span",{key:"cbit"+Y,class:"chat-composer-context-text"},R.text))}),B=kt("div",{class:"chat-composer-context",role:"group","aria-label":"active session: "+L.map(R=>R.text).join(", ")},...S)}else if(L.length){let S=L.map(R=>R.text).join(" \xB7 ");B=kt(d.onClick?"button":"div",{class:"chat-composer-context",type:d.onClick?"button":null,"aria-label":d.onClick?"change target: "+S:null,onclick:d.onClick?R=>{R.preventDefault(),d.onClick(R)}:null},S)}let H=!!(e&&e.trim()),F=A&&A.getBoundingClientRect?A.getBoundingClientRect():null,G=typeof window<"u"?window.visualViewport&&window.visualViewport.width||window.innerWidth:0,he=v?wn({open:!0,anchorX:F?Math.max(0,Math.min(F.left,G-280)):0,anchorY:F?Math.max(8,F.top-8):0,query:v[2]||"",onSelect:S=>T(S),onClose:()=>{if(g){let S=g.value.replace(tl,(R,Y)=>R.slice(0,R.length-Y.length));t&&t(S),g.value=S,g.focus()}}}):null,oe=S=>{let R=g&&g.value||e||"";if(!C)return;let{text:Y,cursorOffset:He}=Ji(S.path,S.isDir),At=R.slice(0,C.start)+Y+R.slice(x);if(t&&t(At),g){g.value=At,g.focus();let gt=C.start+He;g.selectionStart=g.selectionEnd=gt}},te=C?Zi(h,C.query):[],M=C?bn({open:!0,items:te.map(S=>({label:S.path,group:null,icon:S.isDir?"\u{1F4C1}":null,_entry:S})),onSelect:S=>oe(S._entry),onClose:()=>{if(g){let S=g.value.slice(0,C.start)+g.value.slice(x);t&&t(S),g.value=S,g.focus(),g.selectionStart=g.selectionEnd=C.start}}}):null;return kt("div",{class:"chat-composer"+(H?" has-draft":"")+(i?" is-disabled":""),ondragover:S=>{S.preventDefault(),S.currentTarget.classList.add("dragover")},ondragleave:S=>{S.currentTarget.classList.remove("dragover")},ondrop:S=>{S.preventDefault(),S.currentTarget.classList.remove("dragover");let R=S.dataTransfer&&S.dataTransfer.files;R&&R.length&&(p?p(R):Yt(S.currentTarget,"dropped files are not supported here yet"))}},B,he,M,kt("textarea",{ref:E,placeholder:o,rows:1,"aria-label":c||(i&&l?"message input \u2014 "+l:"message input"),disabled:!!i,"aria-disabled":i?"true":null,oninput:b,onpaste:S=>{let R=S.clipboardData;if(R&&R.files&&R.files.length){S.preventDefault(),u?u(R.files):Yt(S.currentTarget.closest(".chat-composer"),"images are not supported yet");return}let Y=R&&R.getData?R.getData("text/plain"):"";Y&&Y.length>2e3&&Yt(S.currentTarget.closest(".chat-composer"),"pasted "+Y.length+" characters")},onkeydown:S=>{if(S.key==="Escape"){if(!a){S.currentTarget.blur();return}if(r){S.preventDefault(),r(S);return}}S.key==="Enter"&&!S.shiftKey&&!S.isComposing&&S.keyCode!==229&&!_i()&&(S.preventDefault(),w()),S.key===";"&&S.ctrlKey&&(S.preventDefault(),s&&s(S))}}),kt("div",{class:"chat-composer-hint"},_i()?"Tap Send to send":"Enter to send \xB7 Shift+Enter for a new line"),a&&m?Bu({streamingSince:m}):null,kt("div",{class:"chat-composer-toolbar"},s?kt("button",{type:"button",class:"composer-btn",onclick:S=>{S.preventDefault(),s(S)},"aria-label":"emoji picker",title:"emoji picker (Ctrl+;)"},k("smile")):null,a&&r?kt("button",{type:"button",class:"send cancel",onclick:S=>{S.preventDefault(),r(S)},"aria-label":"stop generating",title:"stop generating (Esc)"},k("square")):kt("button",{type:"button",class:"send",disabled:i||!(e&&e.trim()),onclick:w,"aria-label":i&&l?"send message ("+l+")":"send message",title:i&&l?"send message ("+l+")":"send message (Enter)"},k("arrow-up"))))}var kt,tl,Hu=N(()=>{I();Q();kn();Xi();el();kt=y,tl=/(?:^|\s)(:([a-zA-Z0-9_+-]{0,24}))$/});function Pa({heading:e="What can I help with?",subtext:t="",suggestions:n=[]}={}){let s=!1;return ue("div",{class:"chat-suggestions",role:"group","aria-label":e},ue("h2",{class:"chat-suggestions-heading"},e),t?ue("p",{class:"chat-suggestions-subtext"},t):null,ue("div",{class:"chat-suggestions-list"},...n.map((r,a)=>ue("button",{key:r.id||a,type:"button",class:"chat-suggestions-chip",onclick:()=>{s||(s=!0,r.onPick&&r.onPick(r))}},r.label))))}function cn({title:e="chat",sub:t,messages:n=[],composer:s,header:r,suggestions:a,onSuggestionClick:o}={}){Vi();let i=Mn(()=>n.length),l=n.length;return ue("div",{class:"chat"},r||ue("div",{class:"chat-head",role:"banner"},ue("h2",{class:"ds-chat-title"},e),t?ue("span",{class:"sub","aria-label":`subtitle: ${t}`}," \xB7 "+t):null,ue("span",{class:"spread"}),l>0?ue("span",{class:"sub","aria-live":"polite"},l+(l===1?" message":" messages")):null),ue("div",{class:"chat-thread",ref:i,role:"log","aria-label":"chat messages","aria-live":"polite","aria-relevant":"additions"},n.length===0?ue("div",{key:"_empty",class:"chat-empty",role:"status"},ue("p",{class:"chat-empty-title"},Nt("chat.startConversation","start a conversation")),ue("p",{class:"chat-empty-sub"},t||Nt("chat.emptySub","Send a message to start the conversation")),a&&a.length?ue("div",{class:"chat-empty-suggestions"},...a.map((c,d)=>ue("button",{key:"sug"+d,type:"button",class:"chat-empty-suggestion",onclick:()=>{o&&o(typeof c=="string"?c:c.prompt||c.text||"")}},typeof c=="string"?c:c.label||c.text||c.prompt))):null):null,...n.map((c,d)=>Dt({...c,key:c.key!=null?c.key:d}))),s||null)}function Ba({name:e="aicat",status:t="idle",face:n}={}){return ue("div",{class:"aicat-portrait"},ue("pre",{class:"aicat-face",role:"img","aria-label":`${e} portrait`},n||_s),ue("div",{class:"aicat-meta"},ue("span",{class:"name"},e),ue("span",{class:"status","aria-label":`status: ${t}`},ue("span",{class:"dot ds-dot ds-dot-on","aria-hidden":"true"})," ",t)))}function Ha({name:e="aicat",messages:t=[],thinking:n,composer:s,status:r="online \xB7 purring"}={}){Vi();let a=t.map(l=>l.who==="them"?{...l,aicat:!0,avatar:l.avatar||"=^.^="}:l),o=n?[...a,{who:"them",aicat:!0,avatar:"=^.^=",typing:!0,key:"_thinking"}]:a,i=Mn(()=>o.length);return ue("div",{class:"chat"},ue("div",{class:"chat-head",role:"banner"},ue("span",{class:"dot","aria-hidden":"true"}),ue("h2",{class:"ds-chat-title"},e),ue("span",{class:"sub","aria-label":`status: ${r}`}," \xB7 "+r),ue("span",{class:"spread"}),t.length>0?ue("span",{class:"sub","aria-live":"polite"},t.length+(t.length===1?" turn":" turns")):null),ue("div",{class:"chat-thread",ref:i,role:"log","aria-label":"conversation turns","aria-live":"polite","aria-relevant":"additions"},...o.map((l,c)=>Dt({...l,key:l.key!=null?l.key:c}))),s||null)}var ue,_s,Nu=N(()=>{I();ss();zi();Gi();ja();ue=y;_s=` /\\_/\\
129
129
  ( o.o )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anentrypoint-design",
3
- "version": "0.0.402",
3
+ "version": "0.0.403",
4
4
  "description": "247420 design system SDK — webjsx + modified ripple-ui, single-file ESM bundle for reproducible use of the AnEntrypoint design.",
5
5
  "type": "module",
6
6
  "main": "./dist/247420.js",
@@ -129,7 +129,7 @@ export function PageHeader({ title, lede, eyebrow, right, compact, dense, id })
129
129
  // of a display H1 over a paragraph. App surfaces (files, dashboards,
130
130
  // settings) should not spend 150px of fold on an intro.
131
131
  if (dense) {
132
- return h('section', { class: 'ds-section ds-section-compact ds-page-header-dense', id: id || null },
132
+ return h('section', { class: 'ds-section ds-section-compact ds-page-header-dense', ...(id ? { id } : {}) },
133
133
  h('div', { class: 'ds-page-header-dense-row' },
134
134
  ...[
135
135
  title != null ? h('h1', { key: 'dh' }, title) : null,
@@ -137,7 +137,7 @@ export function PageHeader({ title, lede, eyebrow, right, compact, dense, id })
137
137
  right != null ? h('div', { key: 'dr', class: 'ds-page-header-right' }, ...(Array.isArray(right) ? right : [right])) : null,
138
138
  ].filter(Boolean)));
139
139
  }
140
- return h('section', { class: 'ds-section' + (compact ? ' ds-section-compact' : ''), id: id || null },
140
+ return h('section', { class: 'ds-section' + (compact ? ' ds-section-compact' : ''), ...(id ? { id } : {}) },
141
141
  eyebrow ? h('span', { class: 'eyebrow' }, eyebrow) : null,
142
142
  title != null ? h('h1', {}, title) : null,
143
143
  lede != null ? h('p', { class: 'lede' }, lede) : null,
@@ -9,7 +9,7 @@ const h = webjsx.createElement;
9
9
 
10
10
  export function Panel({ title, count, right, style = '', class: className = '', children, kind, id }) {
11
11
  const cls = 'panel' + (kind ? ' panel-' + kind : '') + (className ? ' ' + className : '');
12
- return h('div', { class: cls, style, id: id || null },
12
+ return h('div', { class: cls, style, ...(id ? { id } : {}) },
13
13
  title != null ? h('div', { class: 'panel-head' },
14
14
  h('span', {}, title),
15
15
  right != null ? right : (count != null ? h('span', {}, String(count)) : null)
@@ -48,7 +48,7 @@ export function PanelFromItems({ heading, items = [], keyPrefix = 'i', count, st
48
48
  }
49
49
 
50
50
  export function Section({ title, eyebrow, children, id }) {
51
- return h('section', { class: 'ds-section', id: id || null },
51
+ return h('section', { class: 'ds-section', ...(id ? { id } : {}) },
52
52
  eyebrow ? h('span', { class: 'eyebrow' }, eyebrow) : null,
53
53
  title ? h('h3', {}, title) : null,
54
54
  ...(Array.isArray(children) ? children : [children])