markstream-vue 1.0.6 → 1.0.7-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index8.js CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,l=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,r=(e,r)=>{for(var a in r||(r={}))n.call(r,a)&&l(e,a,r[a]);if(t)for(var a of t(r))o.call(r,a)&&l(e,a,r[a]);return e},a=(e,t,n)=>new Promise((o,l)=>{var r=e=>{try{i(n.next(e))}catch(t){l(t)}},a=e=>{try{i(n.throw(e))}catch(t){l(t)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())});import{defineComponent as i,useAttrs as u,inject as s,ref as d,computed as c,watch as v,nextTick as m,onMounted as p,onBeforeUnmount as f,openBlock as g,createElementBlock as h,normalizeClass as y,createElementVNode as w,unref as b,toDisplayString as k,createCommentVNode as x,normalizeStyle as B,withDirectives as D,vShow as M}from"vue";import{ak as C,am as E,an as T,aj as A,ab as j,ag as O,a5 as I,Y as H,z as F}from"./exports.js";import{M as S}from"./index2.js";const L=["data-markstream-mode","data-markstream-pending"],N={key:0,class:"d2-block-header flex justify-between items-center border-b"},P={class:"d2-header-actions flex items-center"},R={key:0,class:"d2-mode-toggle flex items-center gap-0.5"},_=["aria-label"],Y={key:0,xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"action-icon"},U={key:1,xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"action-icon"},V=["aria-label"],X=["aria-pressed"],q={key:0,class:"d2-source"},z={class:"d2-code"},$={key:0,class:"d2-error mt-2 text-xs"},G={key:1},J={key:0,class:"d2-source"},K={class:"d2-code"},Q={key:0,class:"d2-error mt-2 text-xs"},W=["innerHTML"],Z={key:0,class:"d2-error px-4 pb-3 text-xs"},ee=/* @__PURE__ */F(/* @__PURE__ */i({__name:"D2BlockNode",props:{node:{},maxHeight:{default:void 0},loading:{type:Boolean,default:!0},isDark:{type:Boolean},progressiveRender:{type:Boolean,default:!0},progressiveIntervalMs:{default:700},themeId:{},darkThemeId:{},showHeader:{type:Boolean,default:!0},showModeToggle:{type:Boolean,default:!0},showCopyButton:{type:Boolean,default:!0},showExportButton:{type:Boolean,default:!0},showCollapseButton:{type:Boolean,default:!0}},setup(e){const t=e,n=u(),o=s(S,null),{t:l}=C(),i=d(!1),F=d(!1),ee=d(!1),te=d(!1),ne=d(null),oe=d(!1),le=d(""),re=d(""),ae=d(0),ie=d(""),ue=d(""),se=d(null),de=d(null),ce=d(null),ve=E(),me=T(),pe=A(),fe=d(null),ge="undefined"!=typeof window,he=d(!1),ye=d("undefined"==typeof window||!pe.value),we=c(()=>{var e;return null!=(e=t.node.code)?e:""}),be=c(()=>j(t,n)),ke=c(()=>{var e,n;return[t.isDark?"dark":"light",null!=(e=t.themeId)?e:"auto",null!=(n=t.darkThemeId)?n:"auto",we.value].join(":")}),xe=c(()=>!!le.value&&re.value===ke.value),Be=c(()=>{if(!he.value||!we.value||ee.value)return!1;const e=ke.value;return!!oe.value||ie.value!==e&&(!ne.value||ue.value!==e)}),De=c(()=>xe.value||!!le.value&&Be.value),Me=c(()=>ee.value||!te.value||!De.value),Ce=c(()=>{if(Me.value&&de.value)return{minHeight:`${de.value}px`}}),Ee=c(()=>"none"===t.maxHeight?{maxHeight:"none"}:null!=t.maxHeight?{maxHeight:"number"==typeof t.maxHeight?`${t.maxHeight}px`:String(t.maxHeight)}:void 0);let Te=null,Ae=!1,je=!1,Oe=0,Ie=null,He=!1,Fe=null,Se="";"undefined"!=typeof window&&v([()=>ce.value,pe],([e,t])=>{var n,o,l;if(null==(n=fe.value)||n.destroy(),fe.value=null,!t||ye.value)return void(ye.value=!0);if(!e)return void(ye.value=!1);const r=null!=(l=null!=(o=null==me?void 0:me.value.heavyBlockMargin)?o:null==me?void 0:me.value.rootMargin)?l:"160px",a=ve(e,{rootMargin:r,allowIdle:!1});fe.value=a,ye.value=a.isVisible.value,a.whenVisible.then(()=>{ye.value=!0})},{immediate:!0});const Le={N1:"#E5E7EB",N2:"#CBD5E1",N3:"#94A3B8",N4:"#64748B",N5:"#475569",N6:"#334155",N7:"#0B1220",B1:"#60A5FA",B2:"#3B82F6",B3:"#2563EB",B4:"#1D4ED8",B5:"#1E40AF",B6:"#111827",AA2:"#22D3EE",AA4:"#0EA5E9",AA5:"#0284C7",AB4:"#FBBF24",AB5:"#F59E0B"};function Ne(e){return!e||e.disabled}function Pe(e,n,o="top"){if(Ne(e.currentTarget))return;const l=e,r=null!=(null==l?void 0:l.clientX)&&null!=(null==l?void 0:l.clientY)?{x:l.clientX,y:l.clientY}:void 0;O(e.currentTarget,n,o,!1,r,t.isDark)}function Re(){I()}function _e(e){if(Ne(e.currentTarget))return;const n=i.value?l("common.copied")||"Copied":l("common.copy")||"Copy",o=e,r=null!=(null==o?void 0:o.clientX)&&null!=(null==o?void 0:o.clientY)?{x:o.clientX,y:o.clientY}:void 0;O(e.currentTarget,n,"top",!1,r,t.isDark)}function Ye(){return a(this,null,function*(){try{const e=we.value;"undefined"!=typeof navigator&&navigator.clipboard&&"function"==typeof navigator.clipboard.writeText&&(yield navigator.clipboard.writeText(e)),i.value=!0,setTimeout(()=>{i.value=!1},1e3)}catch(e){console.error("Copy failed:",e)}})}function Ue(){F.value=!F.value}function Ve(e){ee.value="source"===e}const Xe=[/javascript:/i,/expression\s*\(/i,/url\s*\(\s*javascript:/i,/@import/i],qe=/^(?:https?:|mailto:|tel:|#|\/|data:image\/(?:png|gif|jpe?g|webp);)/i;function ze(e){if(!e)return"";const t=e.trim();return qe.test(t)?t:""}function $e(){le.value="",re.value=""}function Ge(e){return je||e!==ae.value}function Je(){return a(this,null,function*(){var e,n,l,i,u;if(!ge||je)return;if(!ye.value)return;if(t.loading&&!t.progressiveRender)return;const s=ke.value;if(s===ie.value&&!ne.value&&xe.value)return te.value=!0,void(t.loading&&(ee.value=!1));const d=we.value;if(!d)return $e(),ne.value=null,ie.value="",void(ue.value="");const c=++ae.value;oe.value=!0,ne.value=null,ue.value="",function(){const e=be.value;o&&e&&Se!==e&&(Se&&o.markSettled(Se),Se=e,o.markPending(e))}();try{const o=yield function(){return a(this,null,function*(){if(Te)return Te;const e=yield H();if(je||!e)return null;if("function"==typeof e){const t=new e;return t&&"function"==typeof t.compile?Te=t:"function"==typeof e.compile&&(Te=e),Te}return(null==e?void 0:e.D2)&&"function"==typeof e.D2?(Te=new e.D2,Te):("function"==typeof e.compile&&(Te=e),Te)})}();if(Ge(c))return;if(!o)return te.value=!1,ee.value=!0,$e(),ne.value="D2 is not available.",void(ue.value=s);if("function"!=typeof o.compile||"function"!=typeof o.render)throw new TypeError("D2 instance is missing compile/render methods.");te.value=!0;const v=yield o.compile(d);if(Ge(c))return;const m=null!=(e=null==v?void 0:v.diagram)?e:v,p=null!=(l=null!=(n=null==v?void 0:v.renderOptions)?n:null==v?void 0:v.options)?l:{},f=null!=(i=t.themeId)?i:p.themeID,g=null!=(u=t.darkThemeId)?u:p.darkThemeID,h=r({},p);if(h.themeID=t.isDark&&null!=g?g:f,h.darkThemeID=null,h.darkThemeOverrides=null,t.isDark){const e=p.themeOverrides&&"object"==typeof p.themeOverrides?p.themeOverrides:null;h.themeOverrides=r(r({},Le),e||{})}const y=yield o.render(m,h);if(Ge(c))return;const w=function(e){return e?"string"==typeof e?e:"string"==typeof e.svg?e.svg:"string"==typeof e.data?e.data:"":""}(y);if(!w)throw new Error("D2 render returned empty output.");!function(e,t){const n=function(e){if("undefined"==typeof window||"undefined"==typeof DOMParser)return"";if(!e)return"";const t=e.replace(/["']\s*javascript:/gi,"#").replace(/\bjavascript:/gi,"#").replace(/["']\s*vbscript:/gi,"#").replace(/\bvbscript:/gi,"#").replace(/\bdata:text\/html/gi,"#"),n=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement;if(!n||"svg"!==n.nodeName.toLowerCase())return"";const o=n;return function(e){const t=/* @__PURE__ */new Set(["script"]),n=[e,...Array.from(e.querySelectorAll("*"))];for(const o of n){if(t.has(o.tagName.toLowerCase())){o.remove();continue}const e=Array.from(o.attributes);for(const t of e){const e=t.name;if(/^on/i.test(e))o.removeAttribute(e);else{if("style"===e&&t.value){const n=t.value;if(Xe.some(e=>e.test(n))){o.removeAttribute(e);continue}}if(("href"===e||"xlink:href"===e)&&t.value){const n=ze(t.value);if(!n){o.removeAttribute(e);continue}n!==t.value&&o.setAttribute(e,n)}}}}}(o),o.classList.add("markstream-d2-root-svg"),o.outerHTML}(e);le.value=n||"",re.value=n?t:""}(w,s),ie.value=s,ue.value="",t.loading&&(ee.value=!1),ne.value=null}catch(v){if(Ge(c))return;const e=(null==v?void 0:v.message)?String(v.message):"D2 render failed.";t.loading||(ne.value=e,ue.value=s),ie.value="",e.includes("@terrastruct/d2")&&(te.value=!1,ee.value=!0)}finally{Ge(c)||(oe.value=!1,He?(He=!1,Ke()):function(){const e=Se;o&&e&&(Se="",m(()=>{var t,n;if(!je){const l=null!=(n=null==(t=ce.value)?void 0:t.offsetHeight)?n:0;l>0&&o.reportHeight(e,l)}o.markSettled(e)}))}())}})}function Ke(e=!1){if(Ae)return;if(!ge)return;if(je)return;if(oe.value)return void(He=!0);const n=Math.max(120,Number(t.progressiveIntervalMs)||0),o=Date.now()-Oe;if(!e&&o<n)return He=!0,void(null==Ie&&(Ie=window.setTimeout(()=>{Ie=null,He&&(He=!1,Ke(!0))},Math.max(0,n-o))));Ae=!0;const l=()=>{Ae=!1,Oe=Date.now(),Je()};"undefined"!=typeof window&&"function"==typeof window.requestAnimationFrame?window.requestAnimationFrame(l):setTimeout(l,0)}function Qe(){if(xe.value)try{const e=new Blob([le.value],{type:"image/svg+xml;charset=utf-8"}),t=URL.createObjectURL(e);if("undefined"!=typeof document){const e=document.createElement("a");e.href=t,e.download=`d2-diagram-${Date.now()}.svg`,document.body.appendChild(e),e.click(),document.body.removeChild(e)}URL.revokeObjectURL(t)}catch(e){console.error("Failed to export SVG:",e)}}function We(){const e=se.value;if(!e)return;const t=e.getBoundingClientRect().height;t>0&&(de.value=t)}return v(()=>[t.node.code,t.loading,t.isDark,t.themeId,t.darkThemeId],()=>{Ke()},{immediate:!0}),v(()=>t.loading,(e,t)=>{t&&!e&&Ke(!0)}),v(()=>ye.value,e=>{e&&Ke(!0)}),v(()=>[Me.value,le.value,we.value],()=>{m(()=>{We()})}),p(()=>{he.value=!0,m(()=>{We()}),"undefined"!=typeof ResizeObserver&&(Fe=new ResizeObserver(()=>{We()}),se.value&&Fe.observe(se.value))}),f(()=>{var e;je=!0,ae.value+=1,He=!1,function(){const e=Se;o&&e&&(Se="",o.markSettled(e))}(),ie.value="",null==(e=fe.value)||e.destroy(),fe.value=null,null!=Ie&&(clearTimeout(Ie),Ie=null),null==Fe||Fe.disconnect(),Fe=null}),(e,n)=>(g(),h("div",{ref_key:"viewportTarget",ref:ce,class:y(["d2-block-container rounded-lg border overflow-hidden",{dark:t.isDark}]),"data-markstream-d2":"1","data-markstream-mode":Me.value?"fallback":"preview","data-markstream-pending":Be.value?"true":void 0},[t.showHeader?(g(),h("div",N,[n[16]||(n[16]=w("div",{class:"flex items-center gap-x-2"},[w("span",{class:"d2-label font-medium font-mono"},"D2")],-1)),w("div",P,[t.showModeToggle?(g(),h("div",R,[w("button",{type:"button",class:y(["mode-btn px-2 py-0.5 rounded",ee.value?"":"is-active"]),onClick:n[0]||(n[0]=e=>Ve("preview")),onMouseenter:n[1]||(n[1]=e=>Pe(e,b(l)("common.preview")||"Preview")),onFocus:n[2]||(n[2]=e=>Pe(e,b(l)("common.preview")||"Preview")),onMouseleave:Re,onBlur:Re},k(b(l)("common.preview")||"Preview"),35),w("button",{type:"button",class:y(["mode-btn px-2 py-0.5 rounded",ee.value?"is-active":""]),onClick:n[3]||(n[3]=e=>Ve("source")),onMouseenter:n[4]||(n[4]=e=>Pe(e,b(l)("common.source")||"Source")),onFocus:n[5]||(n[5]=e=>Pe(e,b(l)("common.source")||"Source")),onMouseleave:Re,onBlur:Re},k(b(l)("common.source")||"Source"),35)])):x("",!0),t.showCopyButton?(g(),h("button",{key:1,type:"button",class:"d2-action-btn p-[var(--ms-action-btn-padding)] rounded-md","aria-label":i.value?b(l)("common.copied")||"Copied":b(l)("common.copy")||"Copy",onClick:Ye,onMouseenter:n[6]||(n[6]=e=>_e(e)),onFocus:n[7]||(n[7]=e=>_e(e)),onMouseleave:Re,onBlur:Re},[i.value?(g(),h("svg",U,[...n[13]||(n[13]=[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 6L9 17l-5-5"},null,-1)])])):(g(),h("svg",Y,[...n[12]||(n[12]=[w("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[w("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),w("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]))],40,_)):x("",!0),t.showExportButton&&xe.value?(g(),h("button",{key:2,type:"button",class:"d2-action-btn p-[var(--ms-action-btn-padding)] rounded-md","aria-label":b(l)("common.export")||"Export",onClick:Qe,onMouseenter:n[8]||(n[8]=e=>Pe(e,b(l)("common.export")||"Export")),onFocus:n[9]||(n[9]=e=>Pe(e,b(l)("common.export")||"Export")),onMouseleave:Re,onBlur:Re},[...n[14]||(n[14]=[w("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"action-icon"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 3v12m0-12l-4 4m4-4l4 4M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4"})],-1)])],40,V)):x("",!0),t.showCollapseButton?(g(),h("button",{key:3,type:"button",class:"d2-action-btn p-[var(--ms-action-btn-padding)] rounded-md","aria-pressed":F.value,onClick:Ue,onMouseenter:n[10]||(n[10]=e=>Pe(e,F.value?b(l)("common.expand")||"Expand":b(l)("common.collapse")||"Collapse")),onFocus:n[11]||(n[11]=e=>Pe(e,F.value?b(l)("common.expand")||"Expand":b(l)("common.collapse")||"Collapse")),onMouseleave:Re,onBlur:Re},[(g(),h("svg",{style:B({rotate:F.value?"0deg":"90deg"}),xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"action-icon"},[...n[15]||(n[15]=[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"},null,-1)])],4))],40,X)):x("",!0)])])):x("",!0),D(w("div",{ref_key:"bodyRef",ref:se,class:"d2-block-body",style:B(Ce.value)},[t.loading&&!De.value?(g(),h("div",q,[w("pre",z,[w("code",null,k(we.value),1)]),ne.value?(g(),h("p",$,k(ne.value),1)):x("",!0)])):(g(),h("div",G,[Me.value?(g(),h("div",J,[w("pre",K,[w("code",null,k(we.value),1)]),ne.value?(g(),h("p",Q,k(ne.value),1)):x("",!0)])):(g(),h("div",{key:1,class:"d2-render",style:B(Ee.value)},[w("div",{class:"d2-svg",innerHTML:le.value},null,8,W),ne.value?(g(),h("p",Z,k(ne.value),1)):x("",!0)],4))]))],4),[[M,!F.value]])],10,L))}}),[["__scopeId","data-v-3b434cf5"]]);ee.install=e=>{e.component(ee.__name,ee)};export{ee as default};
1
+ var e=Object.defineProperty,t=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,l=(t,o,n)=>o in t?e(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,r=(e,r)=>{for(var a in r||(r={}))o.call(r,a)&&l(e,a,r[a]);if(t)for(var a of t(r))n.call(r,a)&&l(e,a,r[a]);return e},a=(e,t,o)=>new Promise((n,l)=>{var r=e=>{try{i(o.next(e))}catch(t){l(t)}},a=e=>{try{i(o.throw(e))}catch(t){l(t)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,a);i((o=o.apply(e,t)).next())});import{defineComponent as i,useAttrs as u,inject as s,ref as d,computed as c,watch as v,nextTick as m,onMounted as p,onBeforeUnmount as f,openBlock as g,createElementBlock as h,normalizeClass as y,createElementVNode as w,unref as b,toDisplayString as k,createCommentVNode as x,normalizeStyle as B,withDirectives as D,vShow as M}from"vue";import{ap as C,ar as E,as as T,ao as A,ag as j,al as O,a6 as I,Z as H,z as F}from"./exports.js";import{M as S}from"./index2.js";const L=["data-markstream-mode","data-markstream-pending"],N={key:0,class:"d2-block-header flex justify-between items-center border-b"},P={class:"d2-header-actions flex items-center"},R={key:0,class:"d2-mode-toggle flex items-center gap-0.5"},_=["aria-label"],U={key:0,xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"action-icon"},V={key:1,xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"action-icon"},X=["aria-label"],Y=["aria-pressed"],q={key:0,class:"d2-source"},z={class:"d2-code"},$={key:0,class:"d2-error mt-2 text-xs"},G={key:1},Z={key:0,class:"d2-source"},J={class:"d2-code"},K={key:0,class:"d2-error mt-2 text-xs"},Q=["innerHTML"],W={key:0,class:"d2-error px-4 pb-3 text-xs"},ee=/* @__PURE__ */F(/* @__PURE__ */i({__name:"D2BlockNode",props:{node:{},maxHeight:{default:void 0},loading:{type:Boolean,default:!0},isDark:{type:Boolean},progressiveRender:{type:Boolean,default:!0},progressiveIntervalMs:{default:700},themeId:{},darkThemeId:{},showHeader:{type:Boolean,default:!0},showModeToggle:{type:Boolean,default:!0},showCopyButton:{type:Boolean,default:!0},showExportButton:{type:Boolean,default:!0},showCollapseButton:{type:Boolean,default:!0}},setup(e){const t=e,o=u(),n=s(S,null),{t:l}=C(),i=d(!1),F=d(!1),ee=d(!1),te=d(!1),oe=d(null),ne=d(!1),le=d(""),re=d(""),ae=d(0),ie=d(""),ue=d(""),se=d(null),de=d(null),ce=d(null),ve=E(),me=T(),pe=A(),fe=d(null),ge="undefined"!=typeof window,he=d(!1),ye=d("undefined"==typeof window||!pe.value),we=c(()=>{var e;return null!=(e=t.node.code)?e:""}),be=c(()=>j(t,o)),ke=c(()=>{var e,o;return[t.isDark?"dark":"light",null!=(e=t.themeId)?e:"auto",null!=(o=t.darkThemeId)?o:"auto",we.value].join(":")}),xe=c(()=>!!le.value&&re.value===ke.value),Be=c(()=>{if(!he.value||!we.value||ee.value)return!1;const e=ke.value;return!!ne.value||ie.value!==e&&(!oe.value||ue.value!==e)}),De=c(()=>xe.value||!!le.value&&Be.value),Me=c(()=>ee.value||!te.value||!De.value),Ce=c(()=>{if(Me.value&&de.value)return{minHeight:`${de.value}px`}}),Ee=c(()=>"none"===t.maxHeight?{maxHeight:"none"}:null!=t.maxHeight?{maxHeight:"number"==typeof t.maxHeight?`${t.maxHeight}px`:String(t.maxHeight)}:void 0);let Te=null,Ae=!1,je=!1,Oe=0,Ie=null,He=!1,Fe=null,Se="";"undefined"!=typeof window&&v([()=>ce.value,pe],([e,t])=>{var o,n,l;if(null==(o=fe.value)||o.destroy(),fe.value=null,!t||ye.value)return void(ye.value=!0);if(!e)return void(ye.value=!1);const r=null!=(l=null!=(n=null==me?void 0:me.value.heavyBlockMargin)?n:null==me?void 0:me.value.rootMargin)?l:"160px",a=ve(e,{rootMargin:r,allowIdle:!1});fe.value=a,ye.value=a.isVisible.value,a.whenVisible.then(()=>{ye.value=!0})},{immediate:!0});const Le={N1:"#E5E7EB",N2:"#CBD5E1",N3:"#94A3B8",N4:"#64748B",N5:"#475569",N6:"#334155",N7:"#0B1220",B1:"#60A5FA",B2:"#3B82F6",B3:"#2563EB",B4:"#1D4ED8",B5:"#1E40AF",B6:"#111827",AA2:"#22D3EE",AA4:"#0EA5E9",AA5:"#0284C7",AB4:"#FBBF24",AB5:"#F59E0B"};function Ne(e){return!e||e.disabled}function Pe(e,o,n="top"){if(Ne(e.currentTarget))return;const l=e,r=null!=(null==l?void 0:l.clientX)&&null!=(null==l?void 0:l.clientY)?{x:l.clientX,y:l.clientY}:void 0;O(e.currentTarget,o,n,!1,r,t.isDark)}function Re(){I()}function _e(e){if(Ne(e.currentTarget))return;const o=i.value?l("common.copied")||"Copied":l("common.copy")||"Copy",n=e,r=null!=(null==n?void 0:n.clientX)&&null!=(null==n?void 0:n.clientY)?{x:n.clientX,y:n.clientY}:void 0;O(e.currentTarget,o,"top",!1,r,t.isDark)}function Ue(){return a(this,null,function*(){try{const e=we.value;"undefined"!=typeof navigator&&navigator.clipboard&&"function"==typeof navigator.clipboard.writeText&&(yield navigator.clipboard.writeText(e)),i.value=!0,setTimeout(()=>{i.value=!1},1e3)}catch(e){console.error("Copy failed:",e)}})}function Ve(){F.value=!F.value}function Xe(e){ee.value="source"===e}const Ye=[/javascript:/i,/expression\s*\(/i,/url\s*\(\s*javascript:/i,/@import/i],qe=/^(?:https?:|mailto:|tel:|#|\/|data:image\/(?:png|gif|jpe?g|webp);)/i;function ze(e){if(!e)return"";const t=e.trim();return qe.test(t)?t:""}function $e(){le.value="",re.value=""}function Ge(e){return je||e!==ae.value}function Ze(){return a(this,null,function*(){var e,o,l,i,u;if(!ge||je)return;if(!ye.value)return;if(t.loading&&!t.progressiveRender)return;const s=ke.value;if(s===ie.value&&!oe.value&&xe.value)return te.value=!0,void(t.loading&&(ee.value=!1));const d=we.value;if(!d)return $e(),oe.value=null,ie.value="",void(ue.value="");const c=++ae.value;ne.value=!0,oe.value=null,ue.value="",function(){const e=be.value;n&&e&&Se!==e&&(Se&&n.markSettled(Se),Se=e,n.markPending(e))}();try{const n=yield function(){return a(this,null,function*(){if(Te)return Te;const e=yield H();if(je||!e)return null;if("function"==typeof e){const t=new e;return t&&"function"==typeof t.compile?Te=t:"function"==typeof e.compile&&(Te=e),Te}return(null==e?void 0:e.D2)&&"function"==typeof e.D2?(Te=new e.D2,Te):("function"==typeof e.compile&&(Te=e),Te)})}();if(Ge(c))return;if(!n)return te.value=!1,ee.value=!0,$e(),oe.value="D2 is not available.",void(ue.value=s);if("function"!=typeof n.compile||"function"!=typeof n.render)throw new TypeError("D2 instance is missing compile/render methods.");te.value=!0;const v=yield n.compile(d);if(Ge(c))return;const m=null!=(e=null==v?void 0:v.diagram)?e:v,p=null!=(l=null!=(o=null==v?void 0:v.renderOptions)?o:null==v?void 0:v.options)?l:{},f=null!=(i=t.themeId)?i:p.themeID,g=null!=(u=t.darkThemeId)?u:p.darkThemeID,h=r({},p);if(h.themeID=t.isDark&&null!=g?g:f,h.darkThemeID=null,h.darkThemeOverrides=null,t.isDark){const e=p.themeOverrides&&"object"==typeof p.themeOverrides?p.themeOverrides:null;h.themeOverrides=r(r({},Le),e||{})}const y=yield n.render(m,h);if(Ge(c))return;const w=function(e){return e?"string"==typeof e?e:"string"==typeof e.svg?e.svg:"string"==typeof e.data?e.data:"":""}(y);if(!w)throw new Error("D2 render returned empty output.");!function(e,t){const o=function(e){if("undefined"==typeof window||"undefined"==typeof DOMParser)return"";if(!e)return"";const t=e.replace(/["']\s*javascript:/gi,"#").replace(/\bjavascript:/gi,"#").replace(/["']\s*vbscript:/gi,"#").replace(/\bvbscript:/gi,"#").replace(/\bdata:text\/html/gi,"#"),o=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement;if(!o||"svg"!==o.nodeName.toLowerCase())return"";const n=o;return function(e){const t=/* @__PURE__ */new Set(["script"]),o=[e,...Array.from(e.querySelectorAll("*"))];for(const n of o){if(t.has(n.tagName.toLowerCase())){n.remove();continue}const e=Array.from(n.attributes);for(const t of e){const e=t.name;if(/^on/i.test(e))n.removeAttribute(e);else{if("style"===e&&t.value){const o=t.value;if(Ye.some(e=>e.test(o))){n.removeAttribute(e);continue}}if(("href"===e||"xlink:href"===e)&&t.value){const o=ze(t.value);if(!o){n.removeAttribute(e);continue}o!==t.value&&n.setAttribute(e,o)}}}}}(n),n.classList.add("markstream-d2-root-svg"),n.outerHTML}(e);le.value=o||"",re.value=o?t:""}(w,s),ie.value=s,ue.value="",t.loading&&(ee.value=!1),oe.value=null}catch(v){if(Ge(c))return;const e=(null==v?void 0:v.message)?String(v.message):"D2 render failed.";t.loading||(oe.value=e,ue.value=s),ie.value="",e.includes("@terrastruct/d2")&&(te.value=!1,ee.value=!0)}finally{Ge(c)||(ne.value=!1,He?(He=!1,Je()):function(){const e=Se;n&&e&&(Se="",m(()=>{var t,o;if(!je){const l=null!=(o=null==(t=ce.value)?void 0:t.offsetHeight)?o:0;l>0&&n.reportHeight(e,l)}n.markSettled(e)}))}())}})}function Je(e=!1){if(Ae)return;if(!ge)return;if(je)return;if(ne.value)return void(He=!0);const o=Math.max(120,Number(t.progressiveIntervalMs)||0),n=Date.now()-Oe;if(!e&&n<o)return He=!0,void(null==Ie&&(Ie=window.setTimeout(()=>{Ie=null,He&&(He=!1,Je(!0))},Math.max(0,o-n))));Ae=!0;const l=()=>{Ae=!1,Oe=Date.now(),Ze()};"undefined"!=typeof window&&"function"==typeof window.requestAnimationFrame?window.requestAnimationFrame(l):setTimeout(l,0)}function Ke(){if(xe.value)try{const e=new Blob([le.value],{type:"image/svg+xml;charset=utf-8"}),t=URL.createObjectURL(e);if("undefined"!=typeof document){const e=document.createElement("a");e.href=t,e.download=`d2-diagram-${Date.now()}.svg`,document.body.appendChild(e),e.click(),document.body.removeChild(e)}URL.revokeObjectURL(t)}catch(e){console.error("Failed to export SVG:",e)}}function Qe(){const e=se.value;if(!e)return;const t=e.getBoundingClientRect().height;t>0&&(de.value=t)}return v(()=>[t.node.code,t.loading,t.isDark,t.themeId,t.darkThemeId],()=>{Je()},{immediate:!0}),v(()=>t.loading,(e,t)=>{t&&!e&&Je(!0)}),v(()=>ye.value,e=>{e&&Je(!0)}),v(()=>[Me.value,le.value,we.value],()=>{m(()=>{Qe()})}),p(()=>{he.value=!0,m(()=>{Qe()}),"undefined"!=typeof ResizeObserver&&(Fe=new ResizeObserver(()=>{Qe()}),se.value&&Fe.observe(se.value))}),f(()=>{var e;je=!0,ae.value+=1,He=!1,function(){const e=Se;n&&e&&(Se="",n.markSettled(e))}(),ie.value="",null==(e=fe.value)||e.destroy(),fe.value=null,null!=Ie&&(clearTimeout(Ie),Ie=null),null==Fe||Fe.disconnect(),Fe=null}),(e,o)=>(g(),h("div",{ref_key:"viewportTarget",ref:ce,class:y(["d2-block-container rounded-lg border overflow-hidden",{dark:t.isDark}]),"data-markstream-d2":"1","data-markstream-mode":Me.value?"fallback":"preview","data-markstream-pending":Be.value?"true":void 0},[t.showHeader?(g(),h("div",N,[o[16]||(o[16]=w("div",{class:"flex items-center gap-x-2"},[w("span",{class:"d2-label font-medium font-mono"},"D2")],-1)),w("div",P,[t.showModeToggle?(g(),h("div",R,[w("button",{type:"button",class:y(["mode-btn px-2 py-0.5 rounded",ee.value?"":"is-active"]),onClick:o[0]||(o[0]=e=>Xe("preview")),onMouseenter:o[1]||(o[1]=e=>Pe(e,b(l)("common.preview")||"Preview")),onFocus:o[2]||(o[2]=e=>Pe(e,b(l)("common.preview")||"Preview")),onMouseleave:Re,onBlur:Re},k(b(l)("common.preview")||"Preview"),35),w("button",{type:"button",class:y(["mode-btn px-2 py-0.5 rounded",ee.value?"is-active":""]),onClick:o[3]||(o[3]=e=>Xe("source")),onMouseenter:o[4]||(o[4]=e=>Pe(e,b(l)("common.source")||"Source")),onFocus:o[5]||(o[5]=e=>Pe(e,b(l)("common.source")||"Source")),onMouseleave:Re,onBlur:Re},k(b(l)("common.source")||"Source"),35)])):x("",!0),t.showCopyButton?(g(),h("button",{key:1,type:"button",class:"d2-action-btn p-[var(--ms-action-btn-padding)] rounded-md","aria-label":i.value?b(l)("common.copied")||"Copied":b(l)("common.copy")||"Copy",onClick:Ue,onMouseenter:o[6]||(o[6]=e=>_e(e)),onFocus:o[7]||(o[7]=e=>_e(e)),onMouseleave:Re,onBlur:Re},[i.value?(g(),h("svg",V,[...o[13]||(o[13]=[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 6L9 17l-5-5"},null,-1)])])):(g(),h("svg",U,[...o[12]||(o[12]=[w("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[w("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),w("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]))],40,_)):x("",!0),t.showExportButton&&xe.value?(g(),h("button",{key:2,type:"button",class:"d2-action-btn p-[var(--ms-action-btn-padding)] rounded-md","aria-label":b(l)("common.export")||"Export",onClick:Ke,onMouseenter:o[8]||(o[8]=e=>Pe(e,b(l)("common.export")||"Export")),onFocus:o[9]||(o[9]=e=>Pe(e,b(l)("common.export")||"Export")),onMouseleave:Re,onBlur:Re},[...o[14]||(o[14]=[w("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"action-icon"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 3v12m0-12l-4 4m4-4l4 4M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4"})],-1)])],40,X)):x("",!0),t.showCollapseButton?(g(),h("button",{key:3,type:"button",class:"d2-action-btn p-[var(--ms-action-btn-padding)] rounded-md","aria-pressed":F.value,onClick:Ve,onMouseenter:o[10]||(o[10]=e=>Pe(e,F.value?b(l)("common.expand")||"Expand":b(l)("common.collapse")||"Collapse")),onFocus:o[11]||(o[11]=e=>Pe(e,F.value?b(l)("common.expand")||"Expand":b(l)("common.collapse")||"Collapse")),onMouseleave:Re,onBlur:Re},[(g(),h("svg",{style:B({rotate:F.value?"0deg":"90deg"}),xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"action-icon"},[...o[15]||(o[15]=[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"},null,-1)])],4))],40,Y)):x("",!0)])])):x("",!0),D(w("div",{ref_key:"bodyRef",ref:se,class:"d2-block-body",style:B(Ce.value)},[t.loading&&!De.value?(g(),h("div",q,[w("pre",z,[w("code",null,k(we.value),1)]),oe.value?(g(),h("p",$,k(oe.value),1)):x("",!0)])):(g(),h("div",G,[Me.value?(g(),h("div",Z,[w("pre",J,[w("code",null,k(we.value),1)]),oe.value?(g(),h("p",K,k(oe.value),1)):x("",!0)])):(g(),h("div",{key:1,class:"d2-render",style:B(Ee.value)},[w("div",{class:"d2-svg",innerHTML:le.value},null,8,Q),oe.value?(g(),h("p",W,k(oe.value),1)):x("",!0)],4))]))],4),[[M,!F.value]])],10,L))}}),[["__scopeId","data-v-3b434cf5"]]);ee.install=e=>{e.component(ee.__name,ee)};export{ee as default};
package/dist/index9.js CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,i=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&l(e,n,t[n]);if(r)for(var n of r(t))a.call(t,n)&&l(e,n,t[n]);return e},u=(e,r)=>t(e,n(r)),s=(e,t,n)=>l(e,"symbol"!=typeof t?t+"":t,n);import{defineComponent as c,ref as d,reactive as m,provide as f,computed as v,shallowRef as h,watch as g,nextTick as y,onMounted as k,onUpdated as p,onBeforeUnmount as b,openBlock as w,createElementBlock as M,normalizeClass as S,createElementVNode as x,normalizeStyle as B,Fragment as K,renderList as T,renderSlot as F,mergeProps as H,createBlock as q,unref as R,resolveDynamicComponent as N,toDisplayString as C,createCommentVNode as A,createTextVNode as P}from"vue";import{y as _,a8 as j,a3 as I,W as z,a2 as $,a1 as O,a0 as L,a4 as E,a9 as D,$ as W,z as V}from"./exports.js";const Y=["data-markstream-item-key","data-markstream-item-kind"],G={key:0,class:"markstream-virtual-timeline__status"},J=.5,Q=/* @__PURE__ */V(/* @__PURE__ */c(u(i({},{name:"MarkstreamVirtualTimeline"}),{__name:"MarkstreamVirtualTimeline",props:{items:{},threadKey:{},layoutRevision:{},getKey:{},getKind:{},getContent:{},getFinal:{},getRevision:{},estimateItemHeight:{},overscan:{default:4},overscanPx:{default:1200},stickToBottom:{type:[Boolean,String],default:"auto"},measurementKey:{},markdownMode:{default:"docs"},markdownCodeRenderer:{},initialThreadState:{},markdownFade:{type:Boolean,default:!1},restoreMaxLoadingMs:{type:[Number,Boolean],default:!1},debug:{type:Boolean}},emits:["height-change","virtual-state-change","range-change","thread-state-change"],setup(e,{expose:t,emit:n}){const r=e,o=n;function a(e){o("thread-state-change",e)}function l(e){return"measured"===e||"final"===e}function c(e){return!0===(null==e?void 0:e.stable)&&function(e){var t,n,r,o;if(!e)return!1;const a=Number(e.nodeCount),l=Number(e.measuredCount),i=Math.max(0,Number(null!=(n=null==(t=e.liveRange)?void 0:t.start)?n:0)),u=Math.min(a,Math.max(i,Number(null!=(o=null==(r=e.liveRange)?void 0:r.end)?o:0))),s=Math.max(0,u-i);return!0===e.final&&"mixed"===e.confidence&&a>0&&l>0&&l<a&&(s<=0||l>=s)}(e)}const V=/* @__PURE__ */new Map;function Q(e){var t;!0===r.debug&&V.set(e,(null!=(t=V.get(e))?t:0)+1)}const U=d(null),X=d(0),Z=d(0),ee=d(0),te=d(!0),ne=d(!0),re=m(/* @__PURE__ */new Map),oe=/* @__PURE__ */new Map,ae=/* @__PURE__ */new Map,le=/* @__PURE__ */new Map,ie=/* @__PURE__ */new Map,ue=/* @__PURE__ */new Set,se=m(/* @__PURE__ */new Map),ce=m(/* @__PURE__ */new Map),de=/* @__PURE__ */new Map,me=/* @__PURE__ */new Map,fe=/* @__PURE__ */new Map,ve=/* @__PURE__ */new Map,he=d(!1),ge=d(!0),ye=d(!0);f("markstreamHostScrollManaged",ye);const ke=[0,80,180,360,640];let pe,be,we=null,Me=null,Se=0,xe=null,Be=[],Ke=null,Te=null,Fe=-1,He=0,qe=null,Re=!1,Ne=!1,Ce=null,Ae=0,Pe=0,_e={top:0,bottom:0},je=!1;const Ie=v(()=>null==r.threadKey?void 0:String(r.threadKey));let ze=Ie.value;function $e(e){return"chat"===e||"minimal"===e||"docs"===e?e:"docs"}const Oe=v(()=>$e(r.markdownMode)),Le=v(()=>function(e,t=$e(r.markdownMode)){return"pre"===e||"shiki"===e||"monaco"===e?e:"docs"===t?"monaco":"pre"}(r.markdownCodeRenderer,Oe.value)),Ee=v(()=>[null==r.measurementKey?"":String(r.measurementKey),ee.value].join(":")),De=v(()=>`${Ee.value}${Oe.value}${Le.value}`);class We{constructor(e){s(this,"tree"),s(this,"total"),this.tree=Array.from({length:e.length+1},()=>0),this.total=0,e.forEach((e,t)=>this.add(t,e))}add(e,t){if(Number.isFinite(t)&&0!==t){this.total+=t;for(let n=e+1;n<this.tree.length;n+=n&-n)this.tree[n]+=t}}prefixSum(e){let t=Math.max(0,Math.min(e,this.tree.length-1)),n=0;for(;t>0;)n+=this.tree[t],t-=t&-t;return n}lowerBound(e,t="gte"){const n=this.tree.length-1;if(n<=0)return 0;if(e<=0)return 0;if(e>=this.total)return n-1;let r=0,o=1;for(;o<<1<this.tree.length;)o<<=1;let a=0;for(;o>0;o>>=1){const n=r+o;if(n<this.tree.length){const o=a+this.tree[n];("gt"===t?o<=e:o<e)&&(r=n,a=o)}}return Math.min(r,n-1)}}const Ve=h([]),Ye=/* @__PURE__ */new Map,Ge=h(new We([])),Je=d(0);let Qe=[];const Ue=v(()=>(Je.value,{records:Ve.value,totalHeight:Ge.value.total}));function Xe(){var e;const t=[],n=[],o=function(){var e;return null!=(e=Ie.value)?e:"timeline"}();Ye.clear();for(let a=0;a<r.items.length;a++){const l=r.items[a],s=lt(l,a),c={item:l,index:a,key:s,kind:I(l,a,r),markdown:j(l,a,r)};let d=bt(c);null==d&&(d=null!=(e=Qe[a])?e:z(l,a,r));const m=u(i({},c),{renderKey:`${o}:${s}`,offset:0,size:d,component:null==l?void 0:l.component});t.push(m),n.push(d),Ye.has(s)||Ye.set(s,m)}Ve.value=t,Ge.value=new We(n),Qe=[],Je.value+=1}function Ze(e){return Je.value,Ge.value.prefixSum(e.index)}function et(e){return u(i({},e),{offset:Ze(e)})}function tt(e,t){const n=Ye.get(e);if(!n)return;const r=Math.ceil(t),o=r-n.size;0!==o&&(n.size=r,Ge.value.add(n.index,o),Je.value+=1)}function nt(e,t="gte"){return Je.value,Ge.value.lowerBound(e,t)}const rt=v(()=>{var e;return Math.max(0,null!=(e=r.overscan)?e:4)}),ot=v(()=>{var e;const t=Math.max(0,null!=(e=r.overscanPx)?e:1200);return ge.value?t:Math.min(t,160)}),at=v(()=>{var e,t,n;const r=Ue.value.records;if(0===r.length)return{start:0,end:0,records:[],topSpacerHeight:0,bottomSpacerHeight:0};const o=rt.value,a=ot.value,l=At(),i=l+Math.max(1,Z.value);let u=nt(Math.max(0,l-a),"gt"),s=nt(Math.min(Ue.value.totalHeight,i+a))+1;u=Math.max(0,u-o),s=Math.min(r.length,Math.max(s+o,u+1));const c=r.slice(u,s).map(et),d=c[0],m=c[c.length-1],f=null!=(e=null==d?void 0:d.offset)?e:0,v=null!=(t=null==m?void 0:m.offset)?t:0;return{start:u,end:s,records:c,topSpacerHeight:f,bottomSpacerHeight:Math.max(0,Ue.value.totalHeight-(v+(null!=(n=null==m?void 0:m.size)?n:0)))}});function lt(e,t){return $(e,t,r)}const it=/* @__PURE__ */new WeakMap;let ut=1;function st(e){if("object"!=typeof e&&"function"!=typeof e||null===e)return String(null!=e?e:"");const t=e;let n=it.get(t);return n||(n=ut++,it.set(t,n)),String(n)}function ct(e,t,n){var o;if(n)return"";const a="string"==typeof(null==e?void 0:e.text)?e.text:"string"==typeof(null==e?void 0:e.message)?e.message:"string"==typeof(null==e?void 0:e.label)?e.label:String(null!=(o=L(e,t,r))?o:"");return a?`${a.length}:${function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)}(a)}`:""}function dt(e,t){if("function"!=typeof r.estimateItemHeight)return"";const n=r.estimateItemHeight(e,t);if(!Number.isFinite(n)||n<=0)return"";const o=Math.ceil(n);return Qe[t]=o,String(o)}function mt(e){var t;return null!=(t=r.items[e.index])?t:e.item}function ft(e){return e.item}function vt(e){var t;const n=mt(e);return null!=(t=null==n?void 0:n.component)?t:e.component}function ht(e,t=Ie.value){const n=ft(e),o=E(n,e.index,r);return[null!=t?t:"timeline",e.key,null==o?"":String(o)].join(":")}function gt(e,t=Ie.value){if(e.markdown)return ht(e,t);const n=ft(e),o=E(n,e.index,r);return[null!=t?t:"timeline",e.key,null==o?"":String(o)].join(":")}function yt(e){return{sourceKey:gt(e),measurementKey:e.markdown?De.value:Ee.value,widthBucket:ee.value}}function kt(e,t){var n,r,o,a,l,i;return(null!=(n=null==e?void 0:e.sourceKey)?n:"")===(null!=(r=null==t?void 0:t.sourceKey)?r:"")&&(null!=(o=null==e?void 0:e.measurementKey)?o:"")===(null!=(a=null==t?void 0:t.measurementKey)?a:"")&&(null!=(l=null==e?void 0:e.widthBucket)?l:0)===(null!=(i=null==t?void 0:t.widthBucket)?i:0)}function pt(e,t,n=Ie.value){var r;return!(!e||!t)&&t.sourceKey===gt(e,n)&&t.measurementKey===(e.markdown?De.value:Ee.value)&&(null!=(r=t.widthBucket)?r:0)===ee.value}function bt(e,t=Ie.value){const n=re.get(e.key);return pt(e,oe.get(e.key),t)&&Number.isFinite(n)&&n>0?n:null}function wt(e){return Ue.value,Ye.get(e)}function Mt(e,t){var n,r;return!!(e&&e.markdown&&t)&&t.sessionKey===ht(e)&&(null!=(n=t.threadKey)?n:"")===(null!=(r=Ie.value)?r:"")&&!!function(e){const t=De.value,n=null!=e?e:"";return n===t||n.startsWith(`${t}\0`)}(t.measurementKey)}function St(e,t){return Mt(e,t)}function xt(e,t,n){!Number.isFinite(t)||t<=0||(ce.set(e,Math.ceil(t)),de.set(e,n))}function Bt(e,t=se.get(e)){const n=function(e,t=se.get(e)){var n;if(!St(wt(e),t))return 0;const r=Number(null==(n=null==t?void 0:t.metrics)?void 0:n.totalHeight);return Number.isFinite(r)&&r>0?Math.ceil(r):0}(e,t);return n>0&&xt(e,n,t),n}function Kt(e){var t;return Mt(wt(e),de.get(e))?null!=(t=ce.get(e))?t:0:Bt(e)}function Tt(e){return e===Se&&He===e&&!ge.value}function Ft(){if(null!=xe&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(xe),xe=null,null!=Ke&&"undefined"!=typeof window&&window.clearTimeout(Ke),Ke=null,"undefined"!=typeof window)for(const e of Be)window.clearTimeout(e);Be=[]}function Ht(){var e;return Math.max(0,Z.value||(null==(e=U.value)?void 0:e.clientHeight)||0)}function qt(){const e=U.value;if(!e||"function"!=typeof getComputedStyle)return void(_e={top:0,bottom:0});const t=getComputedStyle(e),n=Number.parseFloat(t.paddingTop)||0,r=Number.parseFloat(t.paddingBottom)||0;_e={top:n,bottom:r}}function Rt(){return _e.top}function Nt(){const e=_e;return Math.max(0,Ue.value.totalHeight+e.top+e.bottom)}function Ct(){var e,t;return Math.max(Nt(),null!=(t=null==(e=U.value)?void 0:e.scrollHeight)?t:0)}function At(){return Math.max(0,X.value-Rt())}function Pt(){return Math.max(0,Ct()-Ht())}function _t(e){const t=Number(e);return Number.isFinite(t)?Math.max(0,Math.min(t,Pt())):0}function jt(){return Math.max(0,Pt()-X.value)}function It(){const e=jt();ne.value=e<=2,!0!==r.stickToBottom?!1!==r.stickToBottom?te.value=e<=48:te.value=!1:te.value=!0}function zt(){var e,t;const n=null!=(t=null==(e=U.value)?void 0:e.clientWidth)?t:0;ee.value=Number.isFinite(n)&&n>0?32*Math.round(n/32):0}function $t(e={}){const t=U.value;t&&(X.value=Math.max(0,t.scrollTop||0),Z.value=t.clientHeight||0),zt(),It(),(!0===e.remember||!1!==e.remember&&!he.value)&&vn()}function Ot(e,t={}){const n=_t(e),o=U.value;if(X.value=n,o&&(Z.value=o.clientHeight||Z.value||0,!1!==t.writeDom&&Math.abs((o.scrollTop||0)-n)>J)){const e={target:n,preserveBottomPin:!1!==r.stickToBottom&&Math.abs(Pt()-n)<=2};Me=ge.value?e:null,o.scrollTop=n,e.target=Math.max(0,o.scrollTop||0)}zt(),!1!==t.updatePinned&&It(),(!0===t.remember||!1!==t.remember&&!he.value)&&vn()}function Lt(){if(!ge.value){Me=null;const e=U.value,t=qe;return e&&null!=t&&Math.abs((e.scrollTop||0)-t)>J&&(e.scrollTop=t),void pn(He,be)}const e=U.value,t=Me,n=Math.max(0,(null==e?void 0:e.scrollTop)||0);return e&&t&&Math.abs(n-t.target)<=J&&t.preserveBottomPin&&!1!==r.stickToBottom||e&&ne.value&&"auto"===r.stickToBottom&&(Math.abs(Pt()-n)<=2||n>=X.value-J)||!0===r.stickToBottom?(te.value=!0,ne.value=!0,void Ot(Pt(),{writeDom:!0,remember:!1})):(Me=null,void $t())}function Et(e){Ot(e,{writeDom:!0,remember:!0})}function Dt(){Et(Pt())}function Wt(e,t){const n=ae.get(e);if(!Number.isFinite(n)||null==n||n<=0)return 0;const r=le.get(e);return t&&r&&!Vt(r,t)?0:Math.ceil(n)}function Vt(e,t){var n,r,o,a;return e.sourceKey===t.sourceKey&&(0===(null!=(n=t.widthBucket)?n:0)||0===(null!=(r=e.widthBucket)?r:0)||(null!=(o=t.widthBucket)?o:0)===(null!=(a=e.widthBucket)?a:0))&&(Yt(t.measurementKey)||Yt(e.measurementKey)||t.measurementKey===e.measurementKey)}function Yt(e){return":0"===e||!0===(null==e?void 0:e.startsWith(":0"))}function Gt(e){ae.delete(e),le.delete(e),ie.delete(e),ue.delete(e)}function Jt(e,t,n,o={}){if(!Number.isFinite(t)||t<=0)return;const a=re.get(e),l=n&&!kt(oe.get(e),n),i=!0===o.releaseRestoredFloor;!function(e,t){if(!t)return;const n=le.get(e);n&&!Vt(n,t)&&(ae.delete(e),le.delete(e),ie.delete(e),ue.delete(e))}(e,n),i&&Gt(e);const u=Wt(e,n),s=u>0?u:Math.ceil(t);if(null!=a&&Math.abs(a-s)<=1&&!l)return void(i&&(Je.value+=1));if(!1===o.updateLayout)return n&&oe.set(e,n),re.set(e,s),void gn(o.rememberThreadKey);if(he.value)return n&&oe.set(e,n),re.set(e,s),tt(e,s),void function(e=He,t=be){t&&y(()=>{pn(e,t),null==xe&&"function"==typeof requestAnimationFrame&&(xe=requestAnimationFrame(()=>{xe=null,pn(e,t)}))})}();const c=(d=mn(),m=jt(),!0===r.stickToBottom?{type:"bottom",distanceFromBottomPx:0}:"auto"===r.stickToBottom&&te.value?{type:"bottom",distanceFromBottomPx:ne.value?0:Math.max(0,m)}:d);var d,m;n&&oe.set(e,n),re.set(e,s),tt(e,s),gn(o.rememberThreadKey),function(e){if(!Qt.scheduled)return Qt.anchor=e,Qt.scheduled=!0,void(Qt.raf=en(nn));!Qt.anchor&&e&&(Qt.anchor=e)}(c)}g([()=>function(){const e=r.layoutRevision;return null!=e?["explicit",String(e),r.items.length].join(""):r.items.map((e,t)=>{var n;const o=lt(e,t),a=j(e,t,r);return[o,I(e,t,r),a?1:0,null!=(n=E(e,t,r))?n:"",dt(e,t),ct(e,t,a),(l=null==e?void 0:e.component,l?"string"==typeof l?`s:${l}`:`o:${st(l)}`:"")].join("");var l}).join("\0")}(),Ee,De,Ie,()=>st(r.estimateItemHeight),()=>st(r.getKey),()=>st(r.getKind),()=>st(r.getContent),()=>st(r.getFinal),()=>st(r.getRevision)],()=>Xe(),{immediate:!0,flush:"sync"});const Qt={scheduled:!1,raf:null,anchor:void 0},Ut=/* @__PURE__ */new Map;let Xt=!1,Zt=null;function en(e){return"function"==typeof requestAnimationFrame?requestAnimationFrame(e):(y(e),null)}function tn(e){null!=e&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(e)}function nn(){if(!Qt.scheduled)return;Qt.scheduled=!1,Qt.raf=null;const e=Qt.anchor;Qt.anchor=void 0;const t="bottom"===(null==e?void 0:e.type)&&e.distanceFromBottomPx<=2&&ne.value;e&&kn(e);const n=U.value,r=!n||Math.abs((n.scrollTop||0)-X.value)<=J;t&&!r||$t({remember:!1})}function rn(){var e,t;if(!Xt)return;Xt=!1,Zt=null;const n=Array.from(Ut.entries());Ut.clear();for(const[r,o]of n){if(ce.get(r)!==o.logicalHeight)continue;const n=Ye.get(r);if(!n)continue;const a=(null!=(e=o.threadKey)?e:"")===(null!=(t=Ie.value)?t:"");ln(n,{allowMarkdownShrink:o.allowMarkdownShrink,allowRestoredFloorShrink:o.allowRestoredFloorShrink,markdownLogicalHeight:o.logicalHeight,rememberThreadKey:o.threadKey,source:o.itemSizeSource,updateLayout:a})}nn()}function on(){rn(),nn()}function an(e){var t;null==(t=fe.get(e))||t.disconnect(),fe.delete(e),me.delete(e)}function ln(e,t={}){var n,o,a;const l=(s=e.key,D(me.get(s),Q));var s;const c=null!=(n=t.source)?n:yt(e);let d=!1;const m=()=>{d||(d=!0,function(e,t){const n=function(){if(!0!==r.debug||0===V.size)return null;let e=0;for(const n of V.values())e+=n;const t={total:e,byLabel:Object.fromEntries(Array.from(V.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])))};return V.clear(),t}();n&&console.info("[markstream-vue][timeline][perf] layout-reads",{label:e,itemKey:t,layoutReads:n})}("reconcileRecordSize",e.key))};if(!e.markdown)return l>0&&Jt(e.key,l,c,t),void m();const f=kt(oe.get(e.key),c)&&null!=(o=re.get(e.key))?o:0,v=null!=(a=t.markdownLogicalHeight)?a:Kt(e.key),h=function(e,t){return W(me.get(e),Q,t)}(e.key,l);if(v>0){let n=Math.max(l,v+h);(!t.allowMarkdownShrink||he.value)&&f>0&&(n=Math.max(n,f));const r=Wt(e.key,c),o=r>0&&n>r+1;return e.markdown&&r>0&&(!0===t.allowRestoredFloorShrink||o)?he.value?ue.add(e.key):t=u(i({},t),{releaseRestoredFloor:!0}):t.allowMarkdownShrink&&!he.value&&(r<=0||t.allowRestoredFloorShrink&&function(e,t,n){const r=ie.get(e);return!Number.isFinite(r)||null==r||r<=0||t+Math.max(0,n-r)<n-1}(e.key,v,r))&&Gt(e.key),n>0&&Jt(e.key,n,c,t),void m()}return String(L(mt(e),e.index,r)).trim()?f>0?(l>f+1&&Jt(e.key,l,c,t),void m()):(l>0&&Jt(e.key,l,c,t),void m()):(l>0&&(Gt(e.key),Jt(e.key,l,c,t)),void m())}function un(e){return t=>{!function(e,t){const n=function(e){const t=e&&"$el"in e?e.$el:e;return t instanceof HTMLElement?t:null}(t),r=me.get(e.key);if(!n)return void an(e.key);if(r===n)return void ln(e);if(an(e.key),me.set(e.key,n),ln(e),"undefined"==typeof ResizeObserver)return;const o=new ResizeObserver(()=>{ln(e)});o.observe(n),fe.set(e.key,o)}(e,t)}}function sn(e){const t=mt(e),n=O(t,e.index,r),a=se.get(e.key),s=Oe.value,d=Le.value,m={enabled:!0,sessionKey:ht(e),threadKey:Ie.value,scrollRoot:()=>U.value,restoreState:St(e,a)?a:null,restoreAnchor:!1,measurementKey:De.value,settleMode:"manual",settledToken:n,emitIntervalMs:96,heightDiffThresholdPx:4};return u(i({content:L(t,e.index,r),final:n,mode:s,codeRenderer:d},n?{nodeVirtual:"auto",maxLiveNodes:50,liveNodeBuffer:16}:{}),{fade:!0===r.markdownFade,indexKey:ht(e),virtualScroll:m,onHeightChange(t){if(t.sessionKey!==ht(e))return;xt(e.key,t.totalHeight,{sessionKey:t.sessionKey,threadKey:Ie.value,measurementKey:De.value});const n=function(e){return"final"===e.phase||!(!0!==e.final||!l(e.confidence))||!!e.stable&&(l(e.confidence)||c(e))}(t),r=function(e){return"final"===e.phase||!!e.stable&&(l(e.confidence)||c(e))}(t),a=Math.ceil(t.totalHeight);var i;!function(e,t){Ut.set(e.key,t),Xt||(Xt=!0,Zt=en(rn))}(e,{allowMarkdownShrink:n,allowRestoredFloorShrink:r,itemSizeSource:yt(e),logicalHeight:a,threadKey:Ie.value}),i={itemKey:e.key,metrics:t},o("height-change",i)},onVirtualStateChange(t){var n;t.sessionKey===ht(e)&&(se.set(e.key,t),Bt(e.key,t),gn(),n={itemKey:e.key,state:t},o("virtual-state-change",n))}})}function cn(e){return{item:mt(e),index:e.index,itemKey:e.key,kind:e.kind,measureRef:un(e),markdownProps:sn(e)}}function dn(e){var t;const n=null!=(t=mt(e))?t:{};return"string"==typeof n.text?n.text:"string"==typeof n.message?n.message:"string"==typeof n.label?n.label:L(n,e.index,r)}function mn(){const e=jt();if(e<=2)return{type:"bottom",distanceFromBottomPx:Math.max(0,e)};const t=At(),n=nt(t,"gt"),r=Ue.value.records[n];if(r){const e=Ze(r);if(t>=e&&t<e+r.size)return{type:"item",itemKey:r.key,offsetWithinItemPx:t-e}}const o=at.value.records[0];return o?{type:"item",itemKey:o.key,offsetWithinItemPx:0}:void 0}function fn(e=Ie.value){on();const t={},n={};for(const r of Ue.value.records){const o=bt(r,e),a=oe.get(r.key);null!=o&&pt(r,a,e)&&(t[r.key]=o,n[r.key]=a)}return{threadKey:e,measurementKey:Ee.value,widthBucket:ee.value,outerAnchor:mn(),itemHeights:t,itemSizeSources:n,markdownStates:Object.fromEntries(se.entries())}}function vn(e=Ie.value){if(!e)return;const t=fn(e);return ve.set(e,t),e===Ie.value&&(Ce=t),a(t),t}function hn(){const e=pe;return null!=Te&&"undefined"!=typeof window&&window.clearTimeout(Te),Te=null,pe=void 0,e?vn(e):void 0}function gn(e=Ie.value){e&&(pe=e,null==Te&&("undefined"!=typeof window?Te=window.setTimeout(()=>{Te=null,hn()},80):hn()))}function yn(e){if(!e)return null;if("bottom"===e.type)return(ge.value?Ct():Nt())-Ht()-Math.max(0,e.distanceFromBottomPx);const t=wt(e.itemKey);return t?Rt()+Ze(t)+Math.max(0,e.offsetWithinItemPx):null}function kn(e,t={}){const n=yn(e);return null!=n&&(Ot(n,{writeDom:!0,remember:!0===t.remember}),!0)}function pn(e,t){if(e===Se){if(t){const e=kn(t,{remember:!1});qe=e?X.value:null}$t({remember:!1})}}function bn(e,t){const n=e.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>t.top&&n.top<t.bottom}function wn(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.bottom>r.top&&n.top<r.bottom}function Mn(e){if(e.closest(".code-editor-container.is-hidden"))return!1;let t=e;for(;t;){const e=window.getComputedStyle(t);if("none"===e.display||"hidden"===e.visibility||Number.parseFloat(e.opacity||"1")<=.01)return!1;t=t.parentElement}const n=e.getBoundingClientRect();return n.width>0&&n.height>0}function Sn(e){if(!e)return!1;if(e.classList.contains("is-fading-out"))return!1;const t=window.getComputedStyle(e);if("none"===t.display||Number.parseFloat(t.opacity||"1")<=.01)return!1;const n=e.getBoundingClientRect();return n.width>0&&n.height>0}function xn(e){return Array.from(e.querySelectorAll(['[data-markstream-pending="true"]','[data-markstream-mermaid][data-markstream-mode="pending"]','.mermaid-block-container[data-markstream-mode="pending"]','[data-markstream-code-loading="1"]'].join(","))).some(e=>!e.matches('[data-markstream-code-block="1"]')||!Sn(e.querySelector("pre.code-pre-fallback")))}function Bn(e){var t;if(e.querySelector(":scope > .node-placeholder"))return!1;const n=e.querySelector(":scope > .node-content");return!!n&&(!xn(n)&&(!!function(e){const t=Array.from(e.querySelectorAll("[data-markstream-math]"));return!t.length||t.every(e=>{const t=e.dataset.markstreamMode;return!("true"===e.dataset.markstreamPending||"loading"===t||"katex"!==t&&"fallback"!==t)})}(n)&&("code_block"===(null!=(t=e.dataset.nodeType)?t:"")?function(e){if(e.querySelector('[data-markstream-code-loading="1"]'))return!1;const t=e.querySelector('[data-markstream-code-block="1"]');if(t){const e="true"===t.dataset.markstreamEnhanced,r=Sn(t.querySelector("pre.code-pre-fallback"));return e||r||(n=t,Array.from(n.querySelectorAll(".monaco-editor, .monaco-diff-editor")).some(Mn))}var n;return function(e){var t,n;const r=e.querySelector("[data-markstream-mermaid], .mermaid-block-container");if(r){if("true"===r.dataset.markstreamPending)return!1;const e=r.dataset.markstreamMode;return"preview"===e?Boolean(r.querySelector("svg")||r.querySelector('[data-mermaid-svg-layer="1"] svg')):"fallback"===e&&Boolean(null==(n=null==(t=r.querySelector(".mermaid-source-code"))?void 0:t.textContent)?void 0:n.trim())}const o=e.querySelector("[data-markstream-infographic], .infographic-block-container");if(o)return"true"!==o.dataset.markstreamPending;const a=e.querySelector("[data-markstream-d2], .d2-block-container");return a?"true"!==a.dataset.markstreamPending:Boolean(e.querySelector('pre[data-markstream-pre="1"]'))}(e)}(n):function(e){var t;return(null!=(t=e.textContent)?t:"").trim().length>0||Boolean(e.querySelector(["hr","br","table","blockquote","img","svg","canvas","input","button","select","textarea","[role]","[aria-label]","[data-markstream-math]","[data-markstream-mermaid]","[data-markstream-infographic]","[data-markstream-d2]",'[data-markstream-pre="1"]'].join(",")))}(n))))}function Kn(e,t){var n;if(!e.markdown)return!0;const o=L(mt(e),e.index,r);if(!String(null!=o?o:"").trim())return!0;if(t.querySelector("[data-node-index]"))return!0;const a=t.querySelector(".markdown-renderer"),l=null!=a?a:t;return!xn(l)&&(!!(null!=(n=l.textContent)?n:"").trim()||Boolean(l.querySelector(["hr","br","table","blockquote","img","svg","canvas","input","button","[role]","[aria-label]","[data-markstream-math]","[data-markstream-mermaid]","[data-markstream-infographic]","[data-markstream-d2]",'[data-markstream-pre="1"]','[data-markstream-code-block="1"]'].join(","))))}function Tn(e,t,n){if(!e.markdown)return!0;const o=L(mt(e),e.index,r);if(!String(null!=o?o:"").trim())return!0;const a=n.getBoundingClientRect(),l=Array.from(t.querySelectorAll("[data-node-index]")).filter(e=>bn(e,a));if(l.length>0)return l.every(e=>Bn(e));const i=t.querySelector(".markdown-renderer"),u=null!=i?i:t;return u.querySelector("[data-node-index], .node-placeholder")?!!function(e,t,n,r){if(!Fn(e))return!1;const o=n.getBoundingClientRect(),a=t.getBoundingClientRect();return o.width>0&&o.height>0&&o.bottom<=r.top+1&&a.bottom>r.top}(e,t,u,a)&&Kn(e,t):Kn(e,t)}function Fn(e){const t=oe.get(e.key);return Wt(e.key,t)>0}function Hn(e,t){var n,o,a,i;if(!e.markdown)return!0;if(!Re&&!Ne)return!0;if(Fn(e))return!0;const u=L(mt(e),e.index,r);if(!String(null!=u?u:"").trim())return!0;if(!t.querySelector(".markdown-renderer"))return!1;const s=se.get(e.key);if(!St(e,s))return!1;const d=null==s?void 0:s.metrics,m=Number(null!=(n=null==d?void 0:d.totalHeight)?n:0);if(!Number.isFinite(m)||m<=0)return!1;const f=Number(null!=(o=null==d?void 0:d.measuredCount)?o:0),v=Number(null!=(a=null==d?void 0:d.estimatedCount)?a:0),h=Number(null!=(i=null==d?void 0:d.nodeCount)?i:0),g=h<=0||f>=h&&v<=0,y=l(null==d?void 0:d.confidence),k=c(d),p=!0===(null==d?void 0:d.stable)||y||k;return Ne?!0===(null==d?void 0:d.final)&&(g&&y||k):p||!0===(null==d?void 0:d.final)}function qn(){const e=U.value;if(!e)return!1;const t=yn(be);if(null!=t&&Math.abs((e.scrollTop||0)-_t(t))>J)return!1;const n=at.value.records;if(!n.length)return 0===Ue.value.records.length;const r=new Map(Array.from(e.querySelectorAll("[data-markstream-item-key]")).map(e=>{var t;return[null!=(t=e.dataset.markstreamItemKey)?t:"",e]})),o=[];for(const i of n){const t=r.get(i.key);t&&wn(t,e)&&o.push({record:i,el:t})}if(!o.length)return!1;for(const{record:i,el:u}of o){if(u.offsetHeight+1<i.size)return!1;if(!Tn(i,u,e))return!1;if(!Hn(i,u))return!1}const a=e.getBoundingClientRect();if(Array.from(e.querySelectorAll(['[data-markstream-pending="true"]','[data-markstream-mermaid][data-markstream-mode="pending"]','.mermaid-block-container[data-markstream-mode="pending"]','[data-markstream-code-loading="1"]'].join(","))).some(e=>!(!bn(e,a)||e.matches('[data-markstream-code-block="1"]')&&Sn(e.querySelector("pre.code-pre-fallback")))))return!1;const l=Array.from(e.querySelectorAll("[data-node-index]")).filter(e=>bn(e,a));for(const i of l)if(!Bn(i))return!1;return!0}function Rn(){const e=U.value;if(!e)return"";const t=e.getBoundingClientRect(),n=new Map(Array.from(e.querySelectorAll("[data-markstream-item-key]")).map(e=>{var t;return[null!=(t=e.dataset.markstreamItemKey)?t:"",e]})),r=at.value.records.map(e=>{var t,r,o,a,l,i,u,s,c;const d=n.get(e.key),m=null==d?void 0:d.querySelector(".markdown-renderer"),f=null==(t=se.get(e.key))?void 0:t.metrics;return[e.key,e.size,null!=(r=null==d?void 0:d.offsetHeight)?r:0,null!=(o=null==d?void 0:d.scrollHeight)?o:0,null!=(a=null==m?void 0:m.offsetHeight)?a:0,null!=(l=null==m?void 0:m.scrollHeight)?l:0,f?Math.round(Number(f.totalHeight||0)):"",null!=(i=null==f?void 0:f.measuredCount)?i:"",null!=(u=null==f?void 0:f.estimatedCount)?u:"",null!=(s=null==f?void 0:f.nodeCount)?s:"",!0===(null==f?void 0:f.final)?1:0,!0===(null==f?void 0:f.stable)?1:0,null!=(c=null==f?void 0:f.confidence)?c:""].join(":")}).join("|"),o=Array.from(e.querySelectorAll("[data-node-index]")).filter(e=>bn(e,t)).map(e=>{var t,n,r,o,a;const l=e.getBoundingClientRect(),i=e.querySelector(":scope > .node-content"),u=null==i?void 0:i.querySelector('[data-markstream-code-block="1"]'),s=null==i?void 0:i.querySelector("pre.code-pre-fallback"),c=null==i?void 0:i.querySelector(".monaco-editor, .monaco-diff-editor");return[null!=(t=e.dataset.nodeIndex)?t:"",null!=(n=e.dataset.nodeType)?n:"",Math.round(l.height),null!=(r=null==i?void 0:i.offsetHeight)?r:0,null!=(o=null==i?void 0:i.scrollHeight)?o:0,null!=(a=null==u?void 0:u.dataset.markstreamEnhanced)?a:"",u?Math.round(u.getBoundingClientRect().height):0,s?Math.round(s.getBoundingClientRect().height):0,c?Math.round(c.getBoundingClientRect().height):0].join(":")}).join("|");return[Math.round(e.scrollTop||0),Math.round(e.scrollHeight||0),Math.round(Ue.value.totalHeight||0),r,o].join("\n")}function Nn(){return"undefined"!=typeof performance?performance.now():Date.now()}function Cn(){return Ne?24:2}function An(e){Tt(e)&&Ae!==e&&(Ae=e,function(e){return t=this,n=function*(){const t=Nn();let n=0,r="";for(let o=0;o<40;o++){if(yield y(),yield new Promise(e=>{"function"!=typeof requestAnimationFrame?e():requestAnimationFrame(()=>e())}),!Tt(e))return!1;pn(e,be);const o=Nn(),a=qn(),l=a?Rn():"";if(a&&l===r&&l){if(n+=1,n>=Cn()&&o-t>=96)return!0}else n=0,r=l}return!1},new Promise((e,r)=>{var o=e=>{try{l(n.next(e))}catch(t){r(t)}},a=e=>{try{l(n.throw(e))}catch(t){r(t)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,a);l((n=n.apply(t,null)).next())});var t,n}(e).then(t=>{if(Ae===e&&(Ae=0),Tt(e))return t?void zn(e):function(){if(Fe<0)return!1;const e=function(){if(!1===r.restoreMaxLoadingMs)return Number.POSITIVE_INFINITY;const e=Number(r.restoreMaxLoadingMs);return Number.isFinite(e)&&e>0?e:Number.POSITIVE_INFINITY}();return Number.isFinite(e)&&Nn()-Fe>=e}()?(!0===r.debug&&import.meta,void zn(e)):(function(e){Pe!==e&&(Pe=e,!0===r.debug&&import.meta)}(e),void function(e){Tt(e)&&"undefined"!=typeof window&&(null!=Ke&&window.clearTimeout(Ke),Ke=window.setTimeout(()=>{Ke=null,Tt(e)&&An(e)},120))}(e))}))}function Pn(){ge.value=!0,Fe=-1,Ae=0,Pe=0,Re=!1,Ne=!1,null!=Ke&&"undefined"!=typeof window&&window.clearTimeout(Ke),Ke=null}function _n(){je=!0}function jn(e){var t,n;const r=[];if(!function(e){var t,n;return!!e&&(null!=(t=e.measurementKey)?t:"")===Ee.value&&(null!=(n=e.widthBucket)?n:0)===ee.value}(e))return r;for(const[o,a]of Object.entries(null!=(t=null==e?void 0:e.itemHeights)?t:{})){if(!Number.isFinite(a)||a<=0)continue;const t=wt(o),l=null==(n=null==e?void 0:e.itemSizeSources)?void 0:n[o];pt(t,l)&&r.push([o,Math.ceil(a),l])}return r}function In(e){var t;for(const[n,r]of Object.entries(null!=(t=null==e?void 0:e.markdownStates)?t:{}))if(St(wt(n),r))return!0;return!1}function zn(e){if(e!==Se)return;rn();const t=new Set(ue);Ft(),pn(e,be),he.value=!1,Fe=-1,be=void 0,qe=null,He=0;for(const n of Ue.value.records)n.markdown&&!t.has(n.key)||Gt(n.key);for(const n of t){const e=Ye.get(n);e?ln(e,{allowMarkdownShrink:!0,allowRestoredFloorShrink:!0,markdownLogicalHeight:Kt(e.key),source:yt(e),updateLayout:!0}):Gt(n)}ue.clear(),nn(),$t({remember:!1}),Pn(),_n()}function $n(e,t={}){var n;const o=++Se;Me=null,(null==e?void 0:e.widthBucket)&&0===ee.value&&(ee.value=e.widthBucket);const a=null==e?void 0:e.outerAnchor,l=function(e){return Boolean((null==e?void 0:e.outerAnchor)||jn(e).length>0||In(e))}(e),i=In(e),u=!(!je&&!0!==t.threadSwitch||l),s=l||u,c=null!=a?a:s?function(){if(!1!==r.stickToBottom)return{type:"bottom",distanceFromBottomPx:0};const e=Ue.value.records[0];return e?{type:"item",itemKey:e.key,offsetWithinItemPx:0}:void 0}():void 0;Ft(),Ae=0,Pe=0,ge.value=!s,he.value=s&&Boolean(c),He=o,be=c,Re=s&&i,Ne=s&&u,Fe=he.value?Nn():-1,On(),re.clear(),oe.clear(),ae.clear(),le.clear(),ie.clear(),ue.clear(),se.clear(),ce.clear(),de.clear();for(const[r,m,f]of jn(e)){const e=Math.ceil(m);oe.set(r,f),re.set(r,e),ae.set(r,e),le.set(r,f)}for(const[r,m]of Object.entries(null!=(n=null==e?void 0:e.markdownStates)?n:{})){se.set(r,m);const e=Bt(r,m);e>0&&ie.set(r,e)}Xe(),!0===r.stickToBottom?(te.value=!0,ne.value=!0):!1===r.stickToBottom?(te.value=!1,ne.value=!1):(te.value="bottom"===(null==c?void 0:c.type),ne.value="bottom"===(null==c?void 0:c.type)&&c.distanceFromBottomPx<=2);const d=yn(c);return qe=null==d?null:_t(d),null!=d&&Ot(d,{writeDom:!0,remember:!1,updatePinned:!1}),Ce=(null==e?void 0:e.threadKey)===Ie.value?e:null,s?c?void y(()=>{pn(o,c),"undefined"!=typeof window?(ke.forEach(e=>{const t=window.setTimeout(()=>{pn(o,c)},e);Be.push(t)}),An(o)):zn(o)}):(he.value=!1,be=void 0,qe=null,He=0,$t({remember:!1}),Pn(),void _n()):(he.value=!1,be=void 0,qe=null,He=0,$t({remember:!1}),Pn(),_n(),void(!1!==r.stickToBottom&&(te.value=!0,ne.value=!0,y(()=>{he.value||Dt()}))))}function On(){for(const e of fe.values())e.disconnect();fe.clear(),me.clear()}return g(Ie,(e,t)=>{const n=null!=ze?ze:t,o=Boolean(n&&n!==e);o&&function(e){var t;on(),(null==(t=hn())?void 0:t.threadKey)!==e&&((null==Ce?void 0:Ce.threadKey)===e?(ve.set(e,Ce),a(Ce)):ve.has(e)||vn(e))}(n),ze=e,$n(function(e){return(e?ve.get(e):null)||function(e){var t;const n=r.initialThreadState;return n?(null!=(t=n.threadKey)?t:"")!==(null!=e?e:"")?null:n:null}(e)}(e),{threadSwitch:o})},{immediate:!0,flush:"sync"}),g(()=>at.value.records.map(e=>e.key).join("\0"),()=>{var e;e={start:at.value.start,end:at.value.end},o("range-change",e)},{immediate:!0}),g(()=>[r.items.length,Ue.value.totalHeight],()=>{he.value||!1!==r.stickToBottom&&("auto"!==r.stickToBottom||ne.value)&&y(()=>{he.value||!1!==r.stickToBottom&&("auto"!==r.stickToBottom||ne.value)&&Dt()})},{flush:"post"}),k(()=>{qt(),zt(),be?(pn(He,be),$t({remember:!1}),vn()):!1===r.stickToBottom?($t({remember:!1}),vn()):(te.value=!0,Ot(Pt(),{writeDom:!0,remember:!1,updatePinned:!1}),$t({remember:!1}),vn()),U.value&&"undefined"!=typeof ResizeObserver&&(we=new ResizeObserver(()=>{qt(),$t()}),we.observe(U.value))}),p(()=>{ge.value||An(He)}),b(()=>{hn()||vn(),Ft(),Me=null,null!=Te&&"undefined"!=typeof window&&window.clearTimeout(Te),Te=null,pe=void 0,tn(Qt.raf),Qt.scheduled=!1,Qt.raf=null,Qt.anchor=void 0,tn(Zt),Xt=!1,Zt=null,Ut.clear(),On(),oe.clear(),ae.clear(),le.clear(),ie.clear(),ue.clear(),ce.clear(),de.clear(),null==we||we.disconnect(),we=null}),t({captureThreadState:function(){return fn(Ie.value)},restoreThreadState:$n,scrollToBottom:Dt,scrollToIndex:function(e,t="start"){const n=Ue.value.records[e];if(!n)return;let r=Rt()+Ze(n);"center"===t?r-=(Z.value-n.size)/2:"end"===t&&(r-=Z.value-n.size),Et(r)},scrollToOffset:Et,getItemSize:e=>{var t;const n=wt(e);return n&&null!=(t=bt(n))?t:void 0},getTotalHeight:()=>Ue.value.totalHeight,getVisibleRange:()=>({start:at.value.start,end:at.value.end})}),(e,t)=>(w(),M("div",{ref_key:"scrollRoot",ref:U,class:S(["markstream-virtual-timeline",{"is-restoring-thread":!ge.value}]),"data-markstream-virtual-timeline":"1","data-testid":"markstream-virtual-timeline",onScroll:Lt},[x("div",{class:"markstream-virtual-timeline__spacer",style:B({height:`${at.value.topSpacerHeight}px`}),"aria-hidden":"true"},null,4),(w(!0),M(K,null,T(at.value.records,t=>(w(),M("div",{key:t.renderKey,class:S(["markstream-virtual-timeline__item",{"is-restored-height-floor":Fn(t)}]),"data-markstream-item-key":t.key,"data-markstream-item-kind":t.kind,style:B({minHeight:`${t.size}px`,"--markstream-virtual-item-size":`${t.size}px`})},[F(e.$slots,"default",H({ref_for:!0},cn(t)),()=>{var e,n;return[t.markdown?(w(),q(R(_),H({key:0,ref_for:!0},sn(t)),null,16)):vt(t)?(w(),q(N(vt(t)),{key:1,ref_for:!0,ref:un(t),item:mt(t)},null,8,["item"])):(w(),M("div",{key:2,ref_for:!0,ref:un(t),class:S(["markstream-virtual-timeline__default-item",`markstream-virtual-timeline__default-item--${t.kind||"item"}`])},["tool-call"===t.kind&&(null==(e=mt(t))?void 0:e.status)?(w(),M("span",G,C(null==(n=mt(t))?void 0:n.status),1)):A("",!0),P(" "+C(dn(t)),1)],2))]},!0)],14,Y))),128)),x("div",{class:"markstream-virtual-timeline__spacer",style:B({height:`${at.value.bottomSpacerHeight}px`}),"aria-hidden":"true"},null,4),ge.value?A("",!0):(w(),M("div",{key:0,class:"markstream-virtual-timeline__restore-loading",style:B({height:`${Math.max(1,Ht())}px`,transform:`translateY(${X.value}px)`}),"aria-live":"polite","aria-busy":"true"},[F(e.$slots,"restore-loading",{threadKey:Ie.value,visibleRecords:at.value.records},()=>[t[0]||(t[0]=x("div",{class:"markstream-virtual-timeline__restore-loading-card"},[x("span",{class:"markstream-virtual-timeline__restore-spinner","aria-hidden":"true"}),x("span",null,"Loading thread…")],-1))],!0)],4))],34))}})),[["__scopeId","data-v-408c20db"]]),U=Q;U.install=e=>{var t,n;const r=null!=(n=null!=(t=U.__name)?t:U.name)?n:"MarkstreamVirtualTimeline";e.component(r,Q)};export{U as default};
1
+ var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,i=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&l(e,n,t[n]);if(r)for(var n of r(t))a.call(t,n)&&l(e,n,t[n]);return e},u=(e,r)=>t(e,n(r)),s=(e,t,n)=>l(e,"symbol"!=typeof t?t+"":t,n);import{defineComponent as c,ref as d,reactive as m,provide as f,computed as v,shallowRef as h,watch as g,nextTick as y,onMounted as k,onUpdated as p,onBeforeUnmount as b,openBlock as w,createElementBlock as M,normalizeClass as S,createElementVNode as x,normalizeStyle as B,Fragment as K,renderList as T,renderSlot as F,mergeProps as H,createBlock as q,unref as R,resolveDynamicComponent as N,toDisplayString as C,createCommentVNode as A,createTextVNode as P}from"vue";import{y as _,aa as j,a4 as I,X as z,a3 as O,a2 as $,a1 as L,a5 as E,ab as D,a0 as V,z as W}from"./exports.js";const Y=["data-markstream-item-key","data-markstream-item-kind"],X={key:0,class:"markstream-virtual-timeline__status"},G=.5,J=/* @__PURE__ */W(/* @__PURE__ */c(u(i({},{name:"MarkstreamVirtualTimeline"}),{__name:"MarkstreamVirtualTimeline",props:{items:{},threadKey:{},layoutRevision:{},getKey:{},getKind:{},getContent:{},getFinal:{},getRevision:{},estimateItemHeight:{},overscan:{default:4},overscanPx:{default:1200},stickToBottom:{type:[Boolean,String],default:"auto"},measurementKey:{},markdownMode:{default:"docs"},markdownCodeRenderer:{},initialThreadState:{},markdownFade:{type:Boolean,default:!1},restoreMaxLoadingMs:{type:[Number,Boolean],default:!1},debug:{type:Boolean}},emits:["height-change","virtual-state-change","range-change","thread-state-change"],setup(e,{expose:t,emit:n}){const r=e,o=n;function a(e){o("thread-state-change",e)}function l(e){return"measured"===e||"final"===e}function c(e){return!0===(null==e?void 0:e.stable)&&function(e){var t,n,r,o;if(!e)return!1;const a=Number(e.nodeCount),l=Number(e.measuredCount),i=Math.max(0,Number(null!=(n=null==(t=e.liveRange)?void 0:t.start)?n:0)),u=Math.min(a,Math.max(i,Number(null!=(o=null==(r=e.liveRange)?void 0:r.end)?o:0))),s=Math.max(0,u-i);return!0===e.final&&"mixed"===e.confidence&&a>0&&l>0&&l<a&&(s<=0||l>=s)}(e)}const W=/* @__PURE__ */new Map;function J(e){var t;!0===r.debug&&W.set(e,(null!=(t=W.get(e))?t:0)+1)}const Q=d(null),U=d(0),Z=d(0),ee=d(0),te=d(!0),ne=d(!0),re=m(/* @__PURE__ */new Map),oe=/* @__PURE__ */new Map,ae=/* @__PURE__ */new Map,le=/* @__PURE__ */new Map,ie=/* @__PURE__ */new Map,ue=/* @__PURE__ */new Set,se=m(/* @__PURE__ */new Map),ce=m(/* @__PURE__ */new Map),de=/* @__PURE__ */new Map,me=/* @__PURE__ */new Map,fe=/* @__PURE__ */new Map,ve=/* @__PURE__ */new Map,he=d(!1),ge=d(!0),ye=d(!0);f("markstreamHostScrollManaged",ye);const ke=[0,80,180,360,640];let pe,be,we=null,Me=null,Se=0,xe=null,Be=[],Ke=null,Te=null,Fe=-1,He=0,qe=null,Re=!1,Ne=!1,Ce=null,Ae=0,Pe=0,_e={top:0,bottom:0},je=!1;const Ie=v(()=>null==r.threadKey?void 0:String(r.threadKey));let ze=Ie.value;function Oe(e){return"chat"===e||"minimal"===e||"docs"===e?e:"docs"}const $e=v(()=>Oe(r.markdownMode)),Le=v(()=>function(e,t=Oe(r.markdownMode)){return"pre"===e||"shiki"===e||"monaco"===e?e:"docs"===t?"monaco":"pre"}(r.markdownCodeRenderer,$e.value)),Ee=v(()=>[null==r.measurementKey?"":String(r.measurementKey),ee.value].join(":")),De=v(()=>`${Ee.value}${$e.value}${Le.value}`);class Ve{constructor(e){s(this,"tree"),s(this,"total"),this.tree=Array.from({length:e.length+1},()=>0),this.total=0,e.forEach((e,t)=>this.add(t,e))}add(e,t){if(Number.isFinite(t)&&0!==t){this.total+=t;for(let n=e+1;n<this.tree.length;n+=n&-n)this.tree[n]+=t}}prefixSum(e){let t=Math.max(0,Math.min(e,this.tree.length-1)),n=0;for(;t>0;)n+=this.tree[t],t-=t&-t;return n}lowerBound(e,t="gte"){const n=this.tree.length-1;if(n<=0)return 0;if(e<=0)return 0;if(e>=this.total)return n-1;let r=0,o=1;for(;o<<1<this.tree.length;)o<<=1;let a=0;for(;o>0;o>>=1){const n=r+o;if(n<this.tree.length){const o=a+this.tree[n];("gt"===t?o<=e:o<e)&&(r=n,a=o)}}return Math.min(r,n-1)}}const We=h([]),Ye=/* @__PURE__ */new Map,Xe=h(new Ve([])),Ge=d(0);let Je=[];const Qe=v(()=>(Ge.value,{records:We.value,totalHeight:Xe.value.total}));function Ue(){var e;const t=[],n=[],o=function(){var e;return null!=(e=Ie.value)?e:"timeline"}();Ye.clear();for(let a=0;a<r.items.length;a++){const l=r.items[a],s=lt(l,a),c={item:l,index:a,key:s,kind:I(l,a,r),markdown:j(l,a,r)};let d=bt(c);null==d&&(d=null!=(e=Je[a])?e:z(l,a,r));const m=u(i({},c),{renderKey:`${o}:${s}`,offset:0,size:d,component:null==l?void 0:l.component});t.push(m),n.push(d),Ye.has(s)||Ye.set(s,m)}We.value=t,Xe.value=new Ve(n),Je=[],Ge.value+=1}function Ze(e){return Ge.value,Xe.value.prefixSum(e.index)}function et(e){return u(i({},e),{offset:Ze(e)})}function tt(e,t){const n=Ye.get(e);if(!n)return;const r=Math.ceil(t),o=r-n.size;0!==o&&(n.size=r,Xe.value.add(n.index,o),Ge.value+=1)}function nt(e,t="gte"){return Ge.value,Xe.value.lowerBound(e,t)}const rt=v(()=>{var e;return Math.max(0,null!=(e=r.overscan)?e:4)}),ot=v(()=>{var e;const t=Math.max(0,null!=(e=r.overscanPx)?e:1200);return ge.value?t:Math.min(t,160)}),at=v(()=>{var e,t,n;const r=Qe.value.records;if(0===r.length)return{start:0,end:0,records:[],topSpacerHeight:0,bottomSpacerHeight:0};const o=rt.value,a=ot.value,l=At(),i=l+Math.max(1,Z.value);let u=nt(Math.max(0,l-a),"gt"),s=nt(Math.min(Qe.value.totalHeight,i+a))+1;u=Math.max(0,u-o),s=Math.min(r.length,Math.max(s+o,u+1));const c=r.slice(u,s).map(et),d=c[0],m=c[c.length-1],f=null!=(e=null==d?void 0:d.offset)?e:0,v=null!=(t=null==m?void 0:m.offset)?t:0;return{start:u,end:s,records:c,topSpacerHeight:f,bottomSpacerHeight:Math.max(0,Qe.value.totalHeight-(v+(null!=(n=null==m?void 0:m.size)?n:0)))}});function lt(e,t){return O(e,t,r)}const it=/* @__PURE__ */new WeakMap;let ut=1;function st(e){if("object"!=typeof e&&"function"!=typeof e||null===e)return String(null!=e?e:"");const t=e;let n=it.get(t);return n||(n=ut++,it.set(t,n)),String(n)}function ct(e,t,n){var o;if(n)return"";const a="string"==typeof(null==e?void 0:e.text)?e.text:"string"==typeof(null==e?void 0:e.message)?e.message:"string"==typeof(null==e?void 0:e.label)?e.label:String(null!=(o=L(e,t,r))?o:"");return a?`${a.length}:${function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)}(a)}`:""}function dt(e,t){if("function"!=typeof r.estimateItemHeight)return"";const n=r.estimateItemHeight(e,t);if(!Number.isFinite(n)||n<=0)return"";const o=Math.ceil(n);return Je[t]=o,String(o)}function mt(e){var t;return null!=(t=r.items[e.index])?t:e.item}function ft(e){return e.item}function vt(e){var t;const n=mt(e);return null!=(t=null==n?void 0:n.component)?t:e.component}function ht(e,t=Ie.value){const n=ft(e),o=E(n,e.index,r);return[null!=t?t:"timeline",e.key,null==o?"":String(o)].join(":")}function gt(e,t=Ie.value){if(e.markdown)return ht(e,t);const n=ft(e),o=E(n,e.index,r);return[null!=t?t:"timeline",e.key,null==o?"":String(o)].join(":")}function yt(e){return{sourceKey:gt(e),measurementKey:e.markdown?De.value:Ee.value,widthBucket:ee.value}}function kt(e,t){var n,r,o,a,l,i;return(null!=(n=null==e?void 0:e.sourceKey)?n:"")===(null!=(r=null==t?void 0:t.sourceKey)?r:"")&&(null!=(o=null==e?void 0:e.measurementKey)?o:"")===(null!=(a=null==t?void 0:t.measurementKey)?a:"")&&(null!=(l=null==e?void 0:e.widthBucket)?l:0)===(null!=(i=null==t?void 0:t.widthBucket)?i:0)}function pt(e,t,n=Ie.value){var r;return!(!e||!t)&&t.sourceKey===gt(e,n)&&t.measurementKey===(e.markdown?De.value:Ee.value)&&(null!=(r=t.widthBucket)?r:0)===ee.value}function bt(e,t=Ie.value){const n=re.get(e.key);return pt(e,oe.get(e.key),t)&&Number.isFinite(n)&&n>0?n:null}function wt(e){return Qe.value,Ye.get(e)}function Mt(e,t){var n,r;return!!(e&&e.markdown&&t)&&t.sessionKey===ht(e)&&(null!=(n=t.threadKey)?n:"")===(null!=(r=Ie.value)?r:"")&&!!function(e){const t=De.value,n=null!=e?e:"";return n===t||n.startsWith(`${t}\0`)}(t.measurementKey)}function St(e,t){return Mt(e,t)}function xt(e,t,n){!Number.isFinite(t)||t<=0||(ce.set(e,Math.ceil(t)),de.set(e,n))}function Bt(e,t=se.get(e)){const n=function(e,t=se.get(e)){var n;if(!St(wt(e),t))return 0;const r=Number(null==(n=null==t?void 0:t.metrics)?void 0:n.totalHeight);return Number.isFinite(r)&&r>0?Math.ceil(r):0}(e,t);return n>0&&xt(e,n,t),n}function Kt(e){var t;return Mt(wt(e),de.get(e))?null!=(t=ce.get(e))?t:0:Bt(e)}function Tt(e){return e===Se&&He===e&&!ge.value}function Ft(){if(null!=xe&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(xe),xe=null,null!=Ke&&"undefined"!=typeof window&&window.clearTimeout(Ke),Ke=null,"undefined"!=typeof window)for(const e of Be)window.clearTimeout(e);Be=[]}function Ht(){var e;return Math.max(0,Z.value||(null==(e=Q.value)?void 0:e.clientHeight)||0)}function qt(){const e=Q.value;if(!e||"function"!=typeof getComputedStyle)return void(_e={top:0,bottom:0});const t=getComputedStyle(e),n=Number.parseFloat(t.paddingTop)||0,r=Number.parseFloat(t.paddingBottom)||0;_e={top:n,bottom:r}}function Rt(){return _e.top}function Nt(){const e=_e;return Math.max(0,Qe.value.totalHeight+e.top+e.bottom)}function Ct(){var e,t;return Math.max(Nt(),null!=(t=null==(e=Q.value)?void 0:e.scrollHeight)?t:0)}function At(){return Math.max(0,U.value-Rt())}function Pt(){return Math.max(0,Ct()-Ht())}function _t(e){const t=Number(e);return Number.isFinite(t)?Math.max(0,Math.min(t,Pt())):0}function jt(){return Math.max(0,Pt()-U.value)}function It(){const e=jt();ne.value=e<=2,!0!==r.stickToBottom?!1!==r.stickToBottom?te.value=e<=48:te.value=!1:te.value=!0}function zt(){var e,t;const n=null!=(t=null==(e=Q.value)?void 0:e.clientWidth)?t:0;ee.value=Number.isFinite(n)&&n>0?32*Math.round(n/32):0}function Ot(e={}){const t=Q.value;t&&(U.value=Math.max(0,t.scrollTop||0),Z.value=t.clientHeight||0),zt(),It(),(!0===e.remember||!1!==e.remember&&!he.value)&&vn()}function $t(e,t={}){const n=_t(e),o=Q.value;if(U.value=n,o&&(Z.value=o.clientHeight||Z.value||0,!1!==t.writeDom&&Math.abs((o.scrollTop||0)-n)>G)){const e={target:n,preserveBottomPin:!1!==r.stickToBottom&&Math.abs(Pt()-n)<=2};Me=ge.value?e:null,o.scrollTop=n,e.target=Math.max(0,o.scrollTop||0)}zt(),!1!==t.updatePinned&&It(),(!0===t.remember||!1!==t.remember&&!he.value)&&vn()}function Lt(){if(!ge.value){Me=null;const e=Q.value,t=qe;return e&&null!=t&&Math.abs((e.scrollTop||0)-t)>G&&(e.scrollTop=t),void pn(He,be)}const e=Q.value,t=Me,n=Math.max(0,(null==e?void 0:e.scrollTop)||0);return e&&t&&Math.abs(n-t.target)<=G&&t.preserveBottomPin&&!1!==r.stickToBottom||e&&ne.value&&"auto"===r.stickToBottom&&(Math.abs(Pt()-n)<=2||n>=U.value-G)||!0===r.stickToBottom?(te.value=!0,ne.value=!0,void $t(Pt(),{writeDom:!0,remember:!1})):(Me=null,void Ot())}function Et(e){$t(e,{writeDom:!0,remember:!0})}function Dt(){Et(Pt())}function Vt(e,t){const n=ae.get(e);if(!Number.isFinite(n)||null==n||n<=0)return 0;const r=le.get(e);return t&&r&&!Wt(r,t)?0:Math.ceil(n)}function Wt(e,t){var n,r,o,a;return e.sourceKey===t.sourceKey&&(0===(null!=(n=t.widthBucket)?n:0)||0===(null!=(r=e.widthBucket)?r:0)||(null!=(o=t.widthBucket)?o:0)===(null!=(a=e.widthBucket)?a:0))&&(Yt(t.measurementKey)||Yt(e.measurementKey)||t.measurementKey===e.measurementKey)}function Yt(e){return":0"===e||!0===(null==e?void 0:e.startsWith(":0"))}function Xt(e){ae.delete(e),le.delete(e),ie.delete(e),ue.delete(e)}function Gt(e,t,n,o={}){if(!Number.isFinite(t)||t<=0)return;const a=re.get(e),l=n&&!kt(oe.get(e),n),i=!0===o.releaseRestoredFloor;!function(e,t){if(!t)return;const n=le.get(e);n&&!Wt(n,t)&&(ae.delete(e),le.delete(e),ie.delete(e),ue.delete(e))}(e,n),i&&Xt(e);const u=Vt(e,n),s=u>0?u:Math.ceil(t);if(null!=a&&Math.abs(a-s)<=1&&!l)return void(i&&(Ge.value+=1));if(!1===o.updateLayout)return n&&oe.set(e,n),re.set(e,s),void gn(o.rememberThreadKey);if(he.value)return n&&oe.set(e,n),re.set(e,s),tt(e,s),void function(e=He,t=be){t&&y(()=>{pn(e,t),null==xe&&"function"==typeof requestAnimationFrame&&(xe=requestAnimationFrame(()=>{xe=null,pn(e,t)}))})}();const c=(d=mn(),m=jt(),!0===r.stickToBottom?{type:"bottom",distanceFromBottomPx:0}:"auto"===r.stickToBottom&&te.value?{type:"bottom",distanceFromBottomPx:ne.value?0:Math.max(0,m)}:d);var d,m;n&&oe.set(e,n),re.set(e,s),tt(e,s),gn(o.rememberThreadKey),function(e){if(!Jt.scheduled)return Jt.anchor=e,Jt.scheduled=!0,void(Jt.raf=en(nn));!Jt.anchor&&e&&(Jt.anchor=e)}(c)}g([()=>function(){const e=r.layoutRevision;return null!=e?["explicit",String(e),r.items.length].join(""):r.items.map((e,t)=>{var n;const o=lt(e,t),a=j(e,t,r);return[o,I(e,t,r),a?1:0,null!=(n=E(e,t,r))?n:"",dt(e,t),ct(e,t,a),(l=null==e?void 0:e.component,l?"string"==typeof l?`s:${l}`:`o:${st(l)}`:"")].join("");var l}).join("\0")}(),Ee,De,Ie,()=>st(r.estimateItemHeight),()=>st(r.getKey),()=>st(r.getKind),()=>st(r.getContent),()=>st(r.getFinal),()=>st(r.getRevision)],()=>Ue(),{immediate:!0,flush:"sync"});const Jt={scheduled:!1,raf:null,anchor:void 0},Qt=/* @__PURE__ */new Map;let Ut=!1,Zt=null;function en(e){return"function"==typeof requestAnimationFrame?requestAnimationFrame(e):(y(e),null)}function tn(e){null!=e&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(e)}function nn(){if(!Jt.scheduled)return;Jt.scheduled=!1,Jt.raf=null;const e=Jt.anchor;Jt.anchor=void 0;const t="bottom"===(null==e?void 0:e.type)&&e.distanceFromBottomPx<=2&&ne.value;e&&kn(e);const n=Q.value,r=!n||Math.abs((n.scrollTop||0)-U.value)<=G;t&&!r||Ot({remember:!1})}function rn(){var e,t;if(!Ut)return;Ut=!1,Zt=null;const n=Array.from(Qt.entries());Qt.clear();for(const[r,o]of n){if(ce.get(r)!==o.logicalHeight)continue;const n=Ye.get(r);if(!n)continue;const a=(null!=(e=o.threadKey)?e:"")===(null!=(t=Ie.value)?t:"");ln(n,{allowMarkdownShrink:o.allowMarkdownShrink,allowRestoredFloorShrink:o.allowRestoredFloorShrink,markdownLogicalHeight:o.logicalHeight,rememberThreadKey:o.threadKey,source:o.itemSizeSource,updateLayout:a})}nn()}function on(){rn(),nn()}function an(e){var t;null==(t=fe.get(e))||t.disconnect(),fe.delete(e),me.delete(e)}function ln(e,t={}){var n,o,a;const l=(s=e.key,D(me.get(s),J));var s;const c=null!=(n=t.source)?n:yt(e);let d=!1;const m=()=>{d||(d=!0,function(e,t){const n=function(){if(!0!==r.debug||0===W.size)return null;let e=0;for(const n of W.values())e+=n;const t={total:e,byLabel:Object.fromEntries(Array.from(W.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])))};return W.clear(),t}();n&&console.info("[markstream-vue][timeline][perf] layout-reads",{label:e,itemKey:t,layoutReads:n})}("reconcileRecordSize",e.key))};if(!e.markdown)return l>0&&Gt(e.key,l,c,t),void m();const f=kt(oe.get(e.key),c)&&null!=(o=re.get(e.key))?o:0,v=null!=(a=t.markdownLogicalHeight)?a:Kt(e.key),h=function(e,t){return V(me.get(e),J,t)}(e.key,l);if(v>0){let n=Math.max(l,v+h);(!t.allowMarkdownShrink||he.value)&&f>0&&(n=Math.max(n,f));const o=Vt(e.key,c),a=o>0&&n>o+1&&(!$(mt(e),e.index,r)||!0===t.allowRestoredFloorShrink);return e.markdown&&o>0&&(!0===t.allowRestoredFloorShrink||a)?he.value?ue.add(e.key):t=u(i({},t),{releaseRestoredFloor:!0}):t.allowMarkdownShrink&&!he.value&&(o<=0||t.allowRestoredFloorShrink&&function(e,t,n){const r=ie.get(e);return!Number.isFinite(r)||null==r||r<=0||t+Math.max(0,n-r)<n-1}(e.key,v,o))&&Xt(e.key),n>0&&Gt(e.key,n,c,t),void m()}return String(L(mt(e),e.index,r)).trim()?f>0?(l>f+1&&Gt(e.key,l,c,t),void m()):(l>0&&Gt(e.key,l,c,t),void m()):(l>0&&(Xt(e.key),Gt(e.key,l,c,t)),void m())}function un(e){return t=>{!function(e,t){const n=function(e){const t=e&&"$el"in e?e.$el:e;return t instanceof HTMLElement?t:null}(t),r=me.get(e.key);if(!n)return void an(e.key);if(r===n)return void ln(e);if(an(e.key),me.set(e.key,n),ln(e),"undefined"==typeof ResizeObserver)return;const o=new ResizeObserver(()=>{ln(e)});o.observe(n),fe.set(e.key,o)}(e,t)}}function sn(e){const t=mt(e),n=$(t,e.index,r),a=se.get(e.key),s=$e.value,d=Le.value,m={enabled:!0,sessionKey:ht(e),threadKey:Ie.value,scrollRoot:()=>Q.value,restoreState:St(e,a)?a:null,restoreAnchor:!1,measurementKey:De.value,settleMode:"manual",settledToken:n,emitIntervalMs:96,heightDiffThresholdPx:4};return u(i({content:L(t,e.index,r),final:n,mode:s,codeRenderer:d},n?{nodeVirtual:"auto",maxLiveNodes:50,liveNodeBuffer:16}:{}),{fade:!0===r.markdownFade,indexKey:ht(e),virtualScroll:m,onHeightChange(t){if(t.sessionKey!==ht(e))return;xt(e.key,t.totalHeight,{sessionKey:t.sessionKey,threadKey:Ie.value,measurementKey:De.value});const n=function(e){return"final"===e.phase||!(!0!==e.final||!l(e.confidence))||!!e.stable&&(l(e.confidence)||c(e))}(t),r=function(e){return"final"===e.phase||!!e.stable&&(l(e.confidence)||c(e))}(t),a=Math.ceil(t.totalHeight);var i;!function(e,t){Qt.set(e.key,t),Ut||(Ut=!0,Zt=en(rn))}(e,{allowMarkdownShrink:n,allowRestoredFloorShrink:r,itemSizeSource:yt(e),logicalHeight:a,threadKey:Ie.value}),i={itemKey:e.key,metrics:t},o("height-change",i)},onVirtualStateChange(t){var n;t.sessionKey===ht(e)&&(se.set(e.key,t),Bt(e.key,t),gn(),n={itemKey:e.key,state:t},o("virtual-state-change",n))}})}function cn(e){return{item:mt(e),index:e.index,itemKey:e.key,kind:e.kind,measureRef:un(e),markdownProps:sn(e)}}function dn(e){var t;const n=null!=(t=mt(e))?t:{};return"string"==typeof n.text?n.text:"string"==typeof n.message?n.message:"string"==typeof n.label?n.label:L(n,e.index,r)}function mn(){const e=jt();if(e<=2)return{type:"bottom",distanceFromBottomPx:Math.max(0,e)};const t=At(),n=nt(t,"gt"),r=Qe.value.records[n];if(r){const e=Ze(r);if(t>=e&&t<e+r.size)return{type:"item",itemKey:r.key,offsetWithinItemPx:t-e}}const o=at.value.records[0];return o?{type:"item",itemKey:o.key,offsetWithinItemPx:0}:void 0}function fn(e=Ie.value){on();const t={},n={};for(const r of Qe.value.records){const o=bt(r,e),a=oe.get(r.key);null!=o&&pt(r,a,e)&&(t[r.key]=o,n[r.key]=a)}return{threadKey:e,measurementKey:Ee.value,widthBucket:ee.value,outerAnchor:mn(),itemHeights:t,itemSizeSources:n,markdownStates:Object.fromEntries(se.entries())}}function vn(e=Ie.value){if(!e)return;const t=fn(e);return ve.set(e,t),e===Ie.value&&(Ce=t),a(t),t}function hn(){const e=pe;return null!=Te&&"undefined"!=typeof window&&window.clearTimeout(Te),Te=null,pe=void 0,e?vn(e):void 0}function gn(e=Ie.value){e&&(pe=e,null==Te&&("undefined"!=typeof window?Te=window.setTimeout(()=>{Te=null,hn()},80):hn()))}function yn(e){if(!e)return null;if("bottom"===e.type)return(ge.value?Ct():Nt())-Ht()-Math.max(0,e.distanceFromBottomPx);const t=wt(e.itemKey);return t?Rt()+Ze(t)+Math.max(0,e.offsetWithinItemPx):null}function kn(e,t={}){const n=yn(e);return null!=n&&($t(n,{writeDom:!0,remember:!0===t.remember}),!0)}function pn(e,t){if(e===Se){if(t){const e=kn(t,{remember:!1});qe=e?U.value:null}Ot({remember:!1})}}function bn(e,t){const n=e.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>t.top&&n.top<t.bottom}function wn(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.bottom>r.top&&n.top<r.bottom}function Mn(e){if(e.closest(".code-editor-container.is-hidden"))return!1;let t=e;for(;t;){const e=window.getComputedStyle(t);if("none"===e.display||"hidden"===e.visibility||Number.parseFloat(e.opacity||"1")<=.01)return!1;t=t.parentElement}const n=e.getBoundingClientRect();return n.width>0&&n.height>0}function Sn(e){if(!e)return!1;if(e.classList.contains("is-fading-out"))return!1;const t=window.getComputedStyle(e);if("none"===t.display||Number.parseFloat(t.opacity||"1")<=.01)return!1;const n=e.getBoundingClientRect();return n.width>0&&n.height>0}function xn(e){return Array.from(e.querySelectorAll(['[data-markstream-pending="true"]','[data-markstream-mermaid][data-markstream-mode="pending"]','.mermaid-block-container[data-markstream-mode="pending"]','[data-markstream-code-loading="1"]'].join(","))).some(e=>!e.matches('[data-markstream-code-block="1"]')||!Sn(e.querySelector("pre.code-pre-fallback")))}function Bn(e){var t;if(e.querySelector(":scope > .node-placeholder"))return!1;const n=e.querySelector(":scope > .node-content");return!!n&&(!xn(n)&&(!!function(e){const t=Array.from(e.querySelectorAll("[data-markstream-math]"));return!t.length||t.every(e=>{const t=e.dataset.markstreamMode;return!("true"===e.dataset.markstreamPending||"loading"===t||"katex"!==t&&"fallback"!==t)})}(n)&&("code_block"===(null!=(t=e.dataset.nodeType)?t:"")?function(e){if(e.querySelector('[data-markstream-code-loading="1"]'))return!1;const t=e.querySelector('[data-markstream-code-block="1"]');if(t){const e="true"===t.dataset.markstreamEnhanced,r=Sn(t.querySelector("pre.code-pre-fallback"));return e||r||(n=t,Array.from(n.querySelectorAll(".monaco-editor, .monaco-diff-editor")).some(Mn))}var n;return function(e){var t,n;const r=e.querySelector("[data-markstream-mermaid], .mermaid-block-container");if(r){if("true"===r.dataset.markstreamPending)return!1;const e=r.dataset.markstreamMode;return"preview"===e?Boolean(r.querySelector("svg")||r.querySelector('[data-mermaid-svg-layer="1"] svg')):"fallback"===e&&Boolean(null==(n=null==(t=r.querySelector(".mermaid-source-code"))?void 0:t.textContent)?void 0:n.trim())}const o=e.querySelector("[data-markstream-infographic], .infographic-block-container");if(o)return"true"!==o.dataset.markstreamPending;const a=e.querySelector("[data-markstream-d2], .d2-block-container");return a?"true"!==a.dataset.markstreamPending:Boolean(e.querySelector('pre[data-markstream-pre="1"]'))}(e)}(n):function(e){var t;return(null!=(t=e.textContent)?t:"").trim().length>0||Boolean(e.querySelector(["hr","br","table","blockquote","img","svg","canvas","input","button","select","textarea","[role]","[aria-label]","[data-markstream-math]","[data-markstream-mermaid]","[data-markstream-infographic]","[data-markstream-d2]",'[data-markstream-pre="1"]'].join(",")))}(n))))}function Kn(e,t){var n;if(!e.markdown)return!0;const o=L(mt(e),e.index,r);if(!String(null!=o?o:"").trim())return!0;if(t.querySelector("[data-node-index]"))return!0;const a=t.querySelector(".markdown-renderer"),l=null!=a?a:t;return!xn(l)&&(!!(null!=(n=l.textContent)?n:"").trim()||Boolean(l.querySelector(["hr","br","table","blockquote","img","svg","canvas","input","button","[role]","[aria-label]","[data-markstream-math]","[data-markstream-mermaid]","[data-markstream-infographic]","[data-markstream-d2]",'[data-markstream-pre="1"]','[data-markstream-code-block="1"]'].join(","))))}function Tn(e,t,n){if(!e.markdown)return!0;const o=L(mt(e),e.index,r);if(!String(null!=o?o:"").trim())return!0;const a=n.getBoundingClientRect(),l=Array.from(t.querySelectorAll("[data-node-index]")).filter(e=>bn(e,a));if(l.length>0)return l.every(e=>Bn(e));const i=t.querySelector(".markdown-renderer"),u=null!=i?i:t;return u.querySelector("[data-node-index], .node-placeholder")?!!function(e,t,n,r){if(!Fn(e))return!1;const o=n.getBoundingClientRect(),a=t.getBoundingClientRect();return o.width>0&&o.height>0&&o.bottom<=r.top+1&&a.bottom>r.top}(e,t,u,a)&&Kn(e,t):Kn(e,t)}function Fn(e){const t=oe.get(e.key);return Vt(e.key,t)>0}function Hn(e,t){var n,o,a,i;if(!e.markdown)return!0;if(!Re&&!Ne)return!0;if(Fn(e))return!0;const u=L(mt(e),e.index,r);if(!String(null!=u?u:"").trim())return!0;if(!t.querySelector(".markdown-renderer"))return!1;const s=se.get(e.key);if(!St(e,s))return!1;const d=null==s?void 0:s.metrics,m=Number(null!=(n=null==d?void 0:d.totalHeight)?n:0);if(!Number.isFinite(m)||m<=0)return!1;const f=Number(null!=(o=null==d?void 0:d.measuredCount)?o:0),v=Number(null!=(a=null==d?void 0:d.estimatedCount)?a:0),h=Number(null!=(i=null==d?void 0:d.nodeCount)?i:0),g=h<=0||f>=h&&v<=0,y=l(null==d?void 0:d.confidence),k=c(d),p=!0===(null==d?void 0:d.stable)||y||k;return Ne?!0===(null==d?void 0:d.final)&&(g&&y||k):p||!0===(null==d?void 0:d.final)}function qn(){const e=Q.value;if(!e)return!1;const t=yn(be);if(null!=t&&Math.abs((e.scrollTop||0)-_t(t))>G)return!1;const n=at.value.records;if(!n.length)return 0===Qe.value.records.length;const r=new Map(Array.from(e.querySelectorAll("[data-markstream-item-key]")).map(e=>{var t;return[null!=(t=e.dataset.markstreamItemKey)?t:"",e]})),o=[];for(const i of n){const t=r.get(i.key);t&&wn(t,e)&&o.push({record:i,el:t})}if(!o.length)return!1;for(const{record:i,el:u}of o){if(u.offsetHeight+1<i.size)return!1;if(!Tn(i,u,e))return!1;if(!Hn(i,u))return!1}const a=e.getBoundingClientRect();if(Array.from(e.querySelectorAll(['[data-markstream-pending="true"]','[data-markstream-mermaid][data-markstream-mode="pending"]','.mermaid-block-container[data-markstream-mode="pending"]','[data-markstream-code-loading="1"]'].join(","))).some(e=>!(!bn(e,a)||e.matches('[data-markstream-code-block="1"]')&&Sn(e.querySelector("pre.code-pre-fallback")))))return!1;const l=Array.from(e.querySelectorAll("[data-node-index]")).filter(e=>bn(e,a));for(const i of l)if(!Bn(i))return!1;return!0}function Rn(){const e=Q.value;if(!e)return"";const t=e.getBoundingClientRect(),n=new Map(Array.from(e.querySelectorAll("[data-markstream-item-key]")).map(e=>{var t;return[null!=(t=e.dataset.markstreamItemKey)?t:"",e]})),r=at.value.records.map(e=>{var t,r,o,a,l,i,u,s,c;const d=n.get(e.key),m=null==d?void 0:d.querySelector(".markdown-renderer"),f=null==(t=se.get(e.key))?void 0:t.metrics;return[e.key,e.size,null!=(r=null==d?void 0:d.offsetHeight)?r:0,null!=(o=null==d?void 0:d.scrollHeight)?o:0,null!=(a=null==m?void 0:m.offsetHeight)?a:0,null!=(l=null==m?void 0:m.scrollHeight)?l:0,f?Math.round(Number(f.totalHeight||0)):"",null!=(i=null==f?void 0:f.measuredCount)?i:"",null!=(u=null==f?void 0:f.estimatedCount)?u:"",null!=(s=null==f?void 0:f.nodeCount)?s:"",!0===(null==f?void 0:f.final)?1:0,!0===(null==f?void 0:f.stable)?1:0,null!=(c=null==f?void 0:f.confidence)?c:""].join(":")}).join("|"),o=Array.from(e.querySelectorAll("[data-node-index]")).filter(e=>bn(e,t)).map(e=>{var t,n,r,o,a;const l=e.getBoundingClientRect(),i=e.querySelector(":scope > .node-content"),u=null==i?void 0:i.querySelector('[data-markstream-code-block="1"]'),s=null==i?void 0:i.querySelector("pre.code-pre-fallback"),c=null==i?void 0:i.querySelector(".monaco-editor, .monaco-diff-editor");return[null!=(t=e.dataset.nodeIndex)?t:"",null!=(n=e.dataset.nodeType)?n:"",Math.round(l.height),null!=(r=null==i?void 0:i.offsetHeight)?r:0,null!=(o=null==i?void 0:i.scrollHeight)?o:0,null!=(a=null==u?void 0:u.dataset.markstreamEnhanced)?a:"",u?Math.round(u.getBoundingClientRect().height):0,s?Math.round(s.getBoundingClientRect().height):0,c?Math.round(c.getBoundingClientRect().height):0].join(":")}).join("|");return[Math.round(e.scrollTop||0),Math.round(e.scrollHeight||0),Math.round(Qe.value.totalHeight||0),r,o].join("\n")}function Nn(){return"undefined"!=typeof performance?performance.now():Date.now()}function Cn(){return Ne?24:2}function An(e){Tt(e)&&Ae!==e&&(Ae=e,function(e){return t=this,n=function*(){const t=Nn();let n=0,r="";for(let o=0;o<40;o++){if(yield y(),yield new Promise(e=>{"function"!=typeof requestAnimationFrame?e():requestAnimationFrame(()=>e())}),!Tt(e))return!1;pn(e,be);const o=Nn(),a=qn(),l=a?Rn():"";if(a&&l===r&&l){if(n+=1,n>=Cn()&&o-t>=96)return!0}else n=0,r=l}return!1},new Promise((e,r)=>{var o=e=>{try{l(n.next(e))}catch(t){r(t)}},a=e=>{try{l(n.throw(e))}catch(t){r(t)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,a);l((n=n.apply(t,null)).next())});var t,n}(e).then(t=>{if(Ae===e&&(Ae=0),Tt(e))return t?void zn(e):function(){if(Fe<0)return!1;const e=function(){if(!1===r.restoreMaxLoadingMs)return Number.POSITIVE_INFINITY;const e=Number(r.restoreMaxLoadingMs);return Number.isFinite(e)&&e>0?e:Number.POSITIVE_INFINITY}();return Number.isFinite(e)&&Nn()-Fe>=e}()?(!0===r.debug&&import.meta,void zn(e)):(function(e){Pe!==e&&(Pe=e,!0===r.debug&&import.meta)}(e),void function(e){Tt(e)&&"undefined"!=typeof window&&(null!=Ke&&window.clearTimeout(Ke),Ke=window.setTimeout(()=>{Ke=null,Tt(e)&&An(e)},120))}(e))}))}function Pn(){ge.value=!0,Fe=-1,Ae=0,Pe=0,Re=!1,Ne=!1,null!=Ke&&"undefined"!=typeof window&&window.clearTimeout(Ke),Ke=null}function _n(){je=!0}function jn(e){var t,n;const r=[];if(!function(e){var t,n;return!!e&&(null!=(t=e.measurementKey)?t:"")===Ee.value&&(null!=(n=e.widthBucket)?n:0)===ee.value}(e))return r;for(const[o,a]of Object.entries(null!=(t=null==e?void 0:e.itemHeights)?t:{})){if(!Number.isFinite(a)||a<=0)continue;const t=wt(o),l=null==(n=null==e?void 0:e.itemSizeSources)?void 0:n[o];pt(t,l)&&r.push([o,Math.ceil(a),l])}return r}function In(e){var t;for(const[n,r]of Object.entries(null!=(t=null==e?void 0:e.markdownStates)?t:{}))if(St(wt(n),r))return!0;return!1}function zn(e){if(e!==Se)return;rn();const t=new Set(ue);Ft(),pn(e,be),he.value=!1,Fe=-1,be=void 0,qe=null,He=0;for(const n of Qe.value.records)n.markdown&&!t.has(n.key)||Xt(n.key);for(const n of t){const e=Ye.get(n);e?ln(e,{allowMarkdownShrink:!0,allowRestoredFloorShrink:!0,markdownLogicalHeight:Kt(e.key),source:yt(e),updateLayout:!0}):Xt(n)}ue.clear(),nn(),Ot({remember:!1}),Pn(),_n()}function On(e,t={}){var n;const o=++Se;Me=null,(null==e?void 0:e.widthBucket)&&0===ee.value&&(ee.value=e.widthBucket);const a=null==e?void 0:e.outerAnchor,l=function(e){return Boolean((null==e?void 0:e.outerAnchor)||jn(e).length>0||In(e))}(e),i=In(e),u=!(!je&&!0!==t.threadSwitch||l),s=l||u,c=null!=a?a:s?function(){if(!1!==r.stickToBottom)return{type:"bottom",distanceFromBottomPx:0};const e=Qe.value.records[0];return e?{type:"item",itemKey:e.key,offsetWithinItemPx:0}:void 0}():void 0;Ft(),Ae=0,Pe=0,ge.value=!s,he.value=s&&Boolean(c),He=o,be=c,Re=s&&i,Ne=s&&u,Fe=he.value?Nn():-1,$n(),re.clear(),oe.clear(),ae.clear(),le.clear(),ie.clear(),ue.clear(),se.clear(),ce.clear(),de.clear();for(const[r,m,f]of jn(e)){const e=Math.ceil(m);oe.set(r,f),re.set(r,e),ae.set(r,e),le.set(r,f)}for(const[r,m]of Object.entries(null!=(n=null==e?void 0:e.markdownStates)?n:{})){se.set(r,m);const e=Bt(r,m);e>0&&ie.set(r,e)}Ue(),!0===r.stickToBottom?(te.value=!0,ne.value=!0):!1===r.stickToBottom?(te.value=!1,ne.value=!1):(te.value="bottom"===(null==c?void 0:c.type),ne.value="bottom"===(null==c?void 0:c.type)&&c.distanceFromBottomPx<=2);const d=yn(c);return qe=null==d?null:_t(d),null!=d&&$t(d,{writeDom:!0,remember:!1,updatePinned:!1}),Ce=(null==e?void 0:e.threadKey)===Ie.value?e:null,s?c?void y(()=>{pn(o,c),"undefined"!=typeof window?(ke.forEach(e=>{const t=window.setTimeout(()=>{pn(o,c)},e);Be.push(t)}),An(o)):zn(o)}):(he.value=!1,be=void 0,qe=null,He=0,Ot({remember:!1}),Pn(),void _n()):(he.value=!1,be=void 0,qe=null,He=0,Ot({remember:!1}),Pn(),_n(),void(!1!==r.stickToBottom&&(te.value=!0,ne.value=!0,y(()=>{he.value||Dt()}))))}function $n(){for(const e of fe.values())e.disconnect();fe.clear(),me.clear()}return g(Ie,(e,t)=>{const n=null!=ze?ze:t,o=Boolean(n&&n!==e);o&&function(e){var t;on(),(null==(t=hn())?void 0:t.threadKey)!==e&&((null==Ce?void 0:Ce.threadKey)===e?(ve.set(e,Ce),a(Ce)):ve.has(e)||vn(e))}(n),ze=e,On(function(e){return(e?ve.get(e):null)||function(e){var t;const n=r.initialThreadState;return n?(null!=(t=n.threadKey)?t:"")!==(null!=e?e:"")?null:n:null}(e)}(e),{threadSwitch:o})},{immediate:!0,flush:"sync"}),g(()=>at.value.records.map(e=>e.key).join("\0"),()=>{var e;e={start:at.value.start,end:at.value.end},o("range-change",e)},{immediate:!0}),g(()=>[r.items.length,Qe.value.totalHeight],()=>{he.value||!1!==r.stickToBottom&&("auto"!==r.stickToBottom||ne.value)&&y(()=>{he.value||!1!==r.stickToBottom&&("auto"!==r.stickToBottom||ne.value)&&Dt()})},{flush:"post"}),k(()=>{qt(),zt(),be?(pn(He,be),Ot({remember:!1}),vn()):!1===r.stickToBottom?(Ot({remember:!1}),vn()):(te.value=!0,$t(Pt(),{writeDom:!0,remember:!1,updatePinned:!1}),Ot({remember:!1}),vn()),Q.value&&"undefined"!=typeof ResizeObserver&&(we=new ResizeObserver(()=>{qt(),Ot()}),we.observe(Q.value))}),p(()=>{ge.value||An(He)}),b(()=>{hn()||vn(),Ft(),Me=null,null!=Te&&"undefined"!=typeof window&&window.clearTimeout(Te),Te=null,pe=void 0,tn(Jt.raf),Jt.scheduled=!1,Jt.raf=null,Jt.anchor=void 0,tn(Zt),Ut=!1,Zt=null,Qt.clear(),$n(),oe.clear(),ae.clear(),le.clear(),ie.clear(),ue.clear(),ce.clear(),de.clear(),null==we||we.disconnect(),we=null}),t({captureThreadState:function(){return fn(Ie.value)},restoreThreadState:On,scrollToBottom:Dt,scrollToIndex:function(e,t="start"){const n=Qe.value.records[e];if(!n)return;let r=Rt()+Ze(n);"center"===t?r-=(Z.value-n.size)/2:"end"===t&&(r-=Z.value-n.size),Et(r)},scrollToOffset:Et,getItemSize:e=>{var t;const n=wt(e);return n&&null!=(t=bt(n))?t:void 0},getTotalHeight:()=>Qe.value.totalHeight,getVisibleRange:()=>({start:at.value.start,end:at.value.end})}),(e,t)=>(w(),M("div",{ref_key:"scrollRoot",ref:Q,class:S(["markstream-virtual-timeline",{"is-restoring-thread":!ge.value}]),"data-markstream-virtual-timeline":"1","data-testid":"markstream-virtual-timeline",onScroll:Lt},[x("div",{class:"markstream-virtual-timeline__spacer",style:B({height:`${at.value.topSpacerHeight}px`}),"aria-hidden":"true"},null,4),(w(!0),M(K,null,T(at.value.records,t=>(w(),M("div",{key:t.renderKey,class:S(["markstream-virtual-timeline__item",{"is-restored-height-floor":Fn(t)}]),"data-markstream-item-key":t.key,"data-markstream-item-kind":t.kind,style:B({minHeight:`${t.size}px`,"--markstream-virtual-item-size":`${t.size}px`})},[F(e.$slots,"default",H({ref_for:!0},cn(t)),()=>{var e,n;return[t.markdown?(w(),q(R(_),H({key:0,ref_for:!0},sn(t)),null,16)):vt(t)?(w(),q(N(vt(t)),{key:1,ref_for:!0,ref:un(t),item:mt(t)},null,8,["item"])):(w(),M("div",{key:2,ref_for:!0,ref:un(t),class:S(["markstream-virtual-timeline__default-item",`markstream-virtual-timeline__default-item--${t.kind||"item"}`])},["tool-call"===t.kind&&(null==(e=mt(t))?void 0:e.status)?(w(),M("span",X,C(null==(n=mt(t))?void 0:n.status),1)):A("",!0),P(" "+C(dn(t)),1)],2))]},!0)],14,Y))),128)),x("div",{class:"markstream-virtual-timeline__spacer",style:B({height:`${at.value.bottomSpacerHeight}px`}),"aria-hidden":"true"},null,4),ge.value?A("",!0):(w(),M("div",{key:0,class:"markstream-virtual-timeline__restore-loading",style:B({height:`${Math.max(1,Ht())}px`,transform:`translateY(${U.value}px)`}),"aria-live":"polite","aria-busy":"true"},[F(e.$slots,"restore-loading",{threadKey:Ie.value,visibleRecords:at.value.records},()=>[t[0]||(t[0]=x("div",{class:"markstream-virtual-timeline__restore-loading-card"},[x("span",{class:"markstream-virtual-timeline__restore-spinner","aria-hidden":"true"}),x("span",null,"Loading thread…")],-1))],!0)],4))],34))}})),[["__scopeId","data-v-1303f06e"]]),Q=J;Q.install=e=>{var t,n;const r=null!=(n=null!=(t=Q.__name)?t:Q.name)?n:"MarkstreamVirtualTimeline";e.component(r,J)};export{Q as default};
package/dist/tailwind.js CHANGED
Binary file
@@ -132,6 +132,7 @@ interface MonacoHelpers {
132
132
  safeClean?: () => void;
133
133
  refreshDiffPresentation?: () => Promise<unknown> | unknown;
134
134
  setTheme?: (theme: CodeBlockMonacoTheme | undefined) => Promise<void> | void;
135
+ whenVisualReady?: () => Promise<boolean>;
135
136
  }
136
137
  interface MonacoModule {
137
138
  useMonaco?: (options: MonacoRuntimeOptions) => MonacoHelpers | null | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markstream-vue",
3
3
  "type": "module",
4
- "version": "1.0.6",
4
+ "version": "1.0.7-beta.2",
5
5
  "description": "Vue/Nuxt streaming Markdown renderer for AI chat, LLM token streams, SSE/WebSocket output, incomplete Markdown, long documents, Mermaid, KaTeX, Shiki, and Monaco.",
6
6
  "author": "Simon He",
7
7
  "license": "MIT",
@@ -146,7 +146,7 @@
146
146
  "dependencies": {
147
147
  "@chenglou/pretext": "^0.0.8",
148
148
  "@floating-ui/dom": "^1.8.0",
149
- "stream-markdown-parser": "1.1.0",
149
+ "stream-markdown-parser": "1.1.2",
150
150
  "markstream-core": "1.0.3"
151
151
  },
152
152
  "devDependencies": {