markstream-octane 0.0.56-beta.2 → 0.0.56-beta.3
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/client/index.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.px.css +1 -1
- package/dist/index.tailwind.css +81 -8
- package/dist/server/index.js +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/tailwind.cjs +1 -1
- package/dist/tailwind.js +1 -1
- package/dist/types/types/component-props.d.ts +1 -0
- package/package.json +3 -3
package/dist/server/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// octane-no-slot: compiler-assigned hook slots are already present.
|
|
2
|
-
import{BLOCKED_HTML_TAGS as e,NON_STRUCTURING_HTML_TAGS as t,convertHtmlAttrsToProps as n,getHtmlTagFromContent as r,getMarkdown as o,isCustomHtmlComponentTag as i,isHtmlTagBlocked as a,isHtmlTagHardBlocked as s,mergeCustomHtmlTags as l,normalizeCustomHtmlTagName as c,parseMarkdownToStructure as d,sanitizeHtmlAttrs as u,sanitizeHtmlTokenAttrs as p,sanitizeImageSrc as m,shouldOpenLinkInNewTab as h,shouldRenderUnknownHtmlTagAsText as g,stripCustomHtmlWrapper as f,tokenAttrsToRecord as y,tokenizeHtml as k}from"stream-markdown-parser";import*as $ from"octane/server";import{Fragment as x,createElement as b,createScopedElement as w,createScopedValue as v,hookSlots as N,mapSlot as S,positionalChildren as C,puMemo as _,ssrArm as B,ssrAttr as q,ssrAttrs as K,ssrChild as T,ssrChildText as P,ssrComponent as A,ssrControl as j,ssrForBlock as I,ssrInnerHtml as E,ssrInputAttrs as H,ssrSnapshotSpread as D,ssrStyle as O}from"octane/server";import{normalizeShikiLanguage as M}from"markstream-core";var L="__global__",W="__MARKSTREAM_OCTANE_CUSTOM_COMPONENTS_STORE__",F=(()=>{const e=globalThis;if(e[W])return e[W];const t={scopedComponents:{},revision:0,listeners:/* @__PURE__ */new Set};return e[W]=t,t})();function R(){F.revision++;for(const e of Array.from(F.listeners))try{e()}catch{}}function U(e,t){"string"==typeof e?F.scopedComponents[e]={...t||{}}:F.scopedComponents[L]={...e},R()}function z(e){const t=F.scopedComponents[L]||{};if(!e)return t;const n=F.scopedComponents[e]||{};return t&&0!==Object.keys(t).length?n&&0!==Object.keys(n).length?{...t,...n}:t:n}function G(e){if(e===L)throw new Error("removeCustomComponents: cannot delete global mapping; call clearGlobalCustomComponents instead.");delete F.scopedComponents[e],R()}function V(){delete F.scopedComponents[L],R()}function X(e){return e?.markstreamDisplay}function Y(e,t){return e.markstreamDisplay=t,e}function Z(e){return e}function J(e){return e}function Q(e){if(!e)return{};const t={};for(const[n,r]of Object.entries(e)){const e=c(n);e&&(t[e]=r)}return t}function ee(e){const t="number"==typeof e?e:Number.parseFloat(String(e??""));return Number.isFinite(t)&&t>0?t:null}function te(e){const t="number"==typeof e?e:Number.parseFloat(String(e??""));return Number.isFinite(t)&&t>0?t:null}var ne=/* @__PURE__ */new Set(["node","key","ref","ctx","renderNode","indexKey","__proto__","prototype","constructor"]);function re(e,t={}){const n={},r=new Set(t.omit??[]);if(!e||"object"!=typeof e)return n;const o=Object.getOwnPropertyDescriptors(e);for(const[i,a]of Object.entries(o))ne.has(i)||r.has(i)||a.enumerable&&"value"in a&&(n[i]=a.value);return n}var oe=/* @__PURE__ */new Set(["table","code_block","html_block","blockquote","list","list_item","definition_list","footnote","footnote_reference","footnote_anchor","admonition","thematic_break","math_block","thinking","vmr_container"]);function ie(e){if(Array.isArray(e)&&0!==e.length)return e.reduce((e,[t,n])=>t?(e["for"===t?"htmlFor":"class"===t?"className":t]=n??!0,e):e,{})}function ae(e,t,n,r){if("function"!=typeof r)throw new TypeError("renderNodeChildren expected a function, received "+typeof r);if(!Array.isArray(e)||0===e.length)return null;const o=[];for(let i=0;i<e.length;i++){const a=e[i];if(a){if("label_open"===a.type){const s=[];for(i++;i<e.length;){const t=e[i];if("label_close"===t?.type)break;t&&s.push(t),i++}const l=`${n}-label-${i}`;o.push($.createElement("label",{key:l,...ie(a.attrs)},ae(s,t,`${l}-child`,r)));continue}"label_close"!==a.type&&o.push(r(a,`${n}-${i}`,t))}}return o}function se(e,t,n,r){return ae(e,t,`${n}-inline`,r)}function le(e,t,n){const o=c(e.type),i=(n??[]).map(e=>c(e)).filter(Boolean),a="html_inline"===o||"html_block"===o;if(!a&&!i.includes(o))return null;const s=a?c(e.tag)||r(e.content):c(e.tag)||o;if(!s)return null;const l=i.includes(s),d=t[s]??t[o]??null,u=l||a?d:null;return{tag:s,isWhitelisted:l,component:u,display:X(u)}}function ce(e){return e.startsWith("--")?e:e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function de(e){const t={...e};if(Object.prototype.hasOwnProperty.call(t,"class")&&(t.className=t.class,delete t.class),Object.prototype.hasOwnProperty.call(t,"for")&&(t.htmlFor=t.for,delete t.for),"string"==typeof t.style){const e=function(e){const t=e.trim();if(!t)return;const n={};for(const r of t.split(";")){const e=r.trim();if(!e)continue;const t=e.indexOf(":");if(-1===t)continue;const o=ce(e.slice(0,t).trim()),i=e.slice(t+1).trim();o&&(n[o]=i)}return Object.keys(n).length?n:void 0}(t.style);e?t.style=e:delete t.style}return t}var ue=k,pe=u;function me(e,t){return i(e,t)}function he(e,t,n=!1){const r=Object.entries(t??{}),o=r.length>0?r.map(([e,t])=>""===t?` ${e}`:` ${e}="${t}"`).join(""):"";return n?`<${e}${o} />`:`<${e}${o}>`}function ge(e,t){Array.isArray(t)?e.push(...t):null!=t&&e.push(t)}function fe(e,t){return t.nodeComponents?.[e]||t.nodeComponents?.[e.toLowerCase()]}function ye(e){if(null==e||"boolean"==typeof e)return"";if("string"==typeof e||"number"==typeof e)return String(e);if(Array.isArray(e))return e.map(ye).join("");if(!$.isValidElement(e))return"";const t=e;if("string"!=typeof t.type)return ye(t.props.children);const n=Object.entries(t.props).filter(([e,t])=>"children"!==e&&"key"!==e&&"ref"!==e&&null!=t&&"boolean"!=typeof t).map(([e,t])=>` ${"className"===e?"class":e}="${String(t)}"`).join("");return`<${t.type}${n}>${ye(t.props.children)}</${t.type}>`}function ke(e){return Object.entries(e).map(([e,t])=>[e,""===t?null:t])}function $e(e){const t=e.sourceNode,n=!0!==e.ctx?.final&&(!1===e.ctx?.final||Boolean(t?.loading));return{loading:n,autoClosed:n||Boolean(t?.autoClosed)}}function xe(e,t,r){return function(e,t){return Boolean(t.propComponents?.[e]||t.propComponents?.[e.toLowerCase()])}(e,r)?n(t):t}function be(e,t,n,r,o,i,a,s=$e(o)){const l=c(e),d=i??function(e){return e.map(ye).join("")}(n),u={type:l,tag:l,attrs:ke(t),content:d,raw:a??`${he(e,t)}${d}</${e}>`,loading:s.loading,autoClosed:s.autoClosed};if(o.ctx&&o.renderNode)return o.renderNode(u,r,o.ctx);const p=fe(e,o);return p?$.createElement(p,{key:r,node:u}):null}function we(t,n,r="safe",o={}){if(!t)return[];if("escape"===r)return[t];try{const i=ue(t);let l=0;const c=o.keyPrefix??"ms-html",d=[],u=[];for(const t of i){if("text"===t.type){if(d.length>0&&d[d.length-1].hardBlocked)continue;(d.length>0?d[d.length-1].children:u).push(t.content??""),d.length>0&&d[d.length-1].sourceParts.push(t.content??"");continue}const i=t.tagName;if(void 0===i)return null;if("self_closing"===t.type){const p=t.attrs||{},m=he(i,p,!0),h=me(i,n),g=Boolean(fe(i,o));if(e.has(i.toLowerCase())||!h&&!g&&s(i,r))continue;if(!h&&!g&&a(i,r)){(d.length>0?d[d.length-1].children:u).push(m),d.length>0&&d[d.length-1].sourceParts.push(m);continue}const f=pe(p,r,i),y=f.key,k=null!=y&&""!==y?y:`${c}-${l++}`,x=h?n[i]||n[i.toLowerCase()]:void 0,b=d.length>0?d[d.length-1].children:u;if(g)b.push(be(i,p,[],k,o,"",m,{loading:!1,autoClosed:!1}));else if(x){const e=xe(i,f,o);b.push($.createElement(x,{...e,key:k}))}else b.push($.createElement(i,{...de(f),key:k,suppressHydrationWarning:!0}));d.length>0&&d[d.length-1].sourceParts.push(m);continue}if("tag_open"===t.type){const l=d.length>0&&d[d.length-1].hardBlocked,c=me(i,n),u=Boolean(fe(i,o));d.push({tagName:i,children:[],attrs:t.attrs,sourceParts:[],customComponent:c||u,hardBlocked:l||e.has(i.toLowerCase())||!c&&!u&&s(i,r),softBlocked:!l&&!c&&!u&&a(i,r)});continue}const p=i.toLowerCase();let m=-1;for(let e=d.length-1;e>=0;e--)if(d[e].tagName.toLowerCase()===p){m=e;break}if(-1!==m)for(;d.length>m;){const e=d.pop();if(!e)continue;const t=e.sourceParts.join(""),i=`${he(e.tagName,e.attrs)}${t}</${e.tagName}>`;let a;if(e.hardBlocked)a=null;else if(e.softBlocked)a=[he(e.tagName,e.attrs),...e.children,`</${e.tagName}>`];else{const s=pe(e.attrs||{},r,e.tagName),d=s.key,u=null!=d&&""!==d?d:`${c}-${l++}`,m=e.customComponent?n[e.tagName]||n[e.tagName.toLowerCase()]:void 0;if(Boolean(fe(e.tagName,o))){const n=e.tagName.toLowerCase()===p?{loading:!1,autoClosed:!1}:$e(o);a=be(e.tagName,e.attrs||{},e.children,u,o,t,i,n)}else a=m?$.createElement(m,{...xe(e.tagName,s,o),key:u},...e.children):$.createElement(e.tagName,{...de(s),key:u,suppressHydrationWarning:!0},...e.children)}d.length>0?ge(d[d.length-1].children,a):ge(u,a),d.length>0&&!e.hardBlocked&&d[d.length-1].sourceParts.push(i)}}for(;d.length>0;){const e=d.pop();if(!e||e.hardBlocked)continue;const t=e.sourceParts.join(""),i=`${he(e.tagName,e.attrs)}${t}`;if(e.softBlocked){ge(u,[he(e.tagName,e.attrs),...e.children,`</${e.tagName}>`]),d.length>0&&d[d.length-1].sourceParts.push(i);continue}const a=pe(e.attrs||{},r,e.tagName),s=a.key,p=null!=s&&""!==s?s:`${c}-${l++}`,m=e.customComponent?n[e.tagName]||n[e.tagName.toLowerCase()]:void 0;let h;h=Boolean(fe(e.tagName,o))?be(e.tagName,e.attrs||{},e.children,p,o,t,i,$e(o)):m?$.createElement(m,{...xe(e.tagName,a,o),key:p},...e.children):$.createElement(e.tagName,{...de(a),key:p,suppressHydrationWarning:!0},...e.children),u.push(h),d.length>0&&d[d.length-1].sourceParts.push(i)}return u}catch{return null}}var ve,Ne={"":"",javascript:"javascript",js:"javascript",mjs:"javascript",cjs:"javascript",typescript:"typescript",ts:"typescript",jsx:"jsx",tsx:"tsx",golang:"go",py:"python",rb:"ruby",sh:"shell",bash:"shell",zsh:"shell",shellscript:"shell",bat:"shell",batch:"shell",ps1:"powershell",d2lang:"d2",plaintext:"plain",text:"plain",txt:"plain","c++":"cpp","c#":"csharp",cs:"csharp","objective-c":"objectivec","objective-c++":"objectivecpp",yml:"yaml",md:"markdown",rs:"rust",kt:"kotlin"};function Se(e){const t=function(e){if(!e)return"";const t=e.trim();if(!t)return"";const[n]=t.split(/\s+/),[r]=n.split(":");return r.toLowerCase()}(e);return Ne[t]??t}var Ce=!1;function _e(e,t,n){const r=function(e){return e?e.replace(/·/g,"⋅").replace(/℃/g,"°C"):""}(e);if(!r)return null;if(globalThis.__MARKSTREAM_OCTANE_DISABLE_SYNC_KATEX__)return null;const o=function(){if(ve)return ve;if(Ce)return null;Ce=!0;try{const e=function(){try{const e=Reflect.get(globalThis,"process"),t="function"==typeof e?.getBuiltinModule?e.getBuiltinModule("module"):null;return"function"==typeof t?.createRequire?t.createRequire(import.meta.url):null}catch{return null}}();if(!e)return null;const t=e("katex");try{e("katex/contrib/mhchem")}catch{}return ve=t}catch{return null}}();if(!o)return null;try{return o.renderToString(r,{displayMode:t,throwOnError:n})}catch{return null}}var Be=/* @__PURE__ */Symbol(/* @__PURE__ */N(1)),qe=o();function Ke(e){return String(String(e??"").split(/\s+/g)[0]??"").toLowerCase().replace(/[^\w-]/g,"")||"plaintext"}var Te=function(e,t,n,r,o){const i=Ke(t.language),a=String(t.code??t.raw??""),s=function(e){const t=Se(String(e??""));return t&&"plaintext"!==t?t.charAt(0).toUpperCase()+t.slice(1):"Text"}(t.language);return`${(()=>{const o=`${e} ${e}--ssr`,l=n.fallback;return`<div${q("class",o,"div","opaque")}${q("data-ssr-fallback",l,"div","opaque")}>${T(!1!==n.showHeader&&v(()=>w("div",{className:`${e}__header`},()=>v(()=>w("span",{className:`${e}__language`},()=>s)))),r)}<div${q("class",`${e}__body`,"div","opaque")}>${(()=>{const e=`language-${i}`,n=!0===t.loading,o=i?`Code block: ${i}`:"Code block",s=i;return`<pre${q("class",e,"pre","opaque")}${q("aria-busy",n,"pre","opaque")}${q("aria-label",o,"pre","opaque")}${q("data-language",s,"pre","opaque")} tabindex="0"><code translate="no">${P(a,r)}</code></pre>`})()}</div></div>`})()}`};function Pe(e,t,n,r,o={}){const i=re(r.codeBlockProps);return $.createElement(e,{key:n,node:t,loading:Boolean(t.loading),stream:r.codeBlockStream,customId:r.customId,isDark:r.isDark,darkTheme:r.codeBlockThemes?.darkTheme,lightTheme:r.codeBlockThemes?.lightTheme,themes:r.codeBlockThemes?.themes,langs:r.codeBlockThemes?.langs,minWidth:r.codeBlockThemes?.minWidth,maxWidth:r.codeBlockThemes?.maxWidth,onCopy:r.events.onCopy,...i,...o,ctx:r,renderNode:Nt,indexKey:n,typewriter:r.typewriter,fade:r.fade})}function Ae(e,t,n,r,o={}){return $.createElement(e,{key:n,node:t,isDark:r.isDark,...o})}var je=function(e,t,n,r,o,i){const a=String(e?.language||"").trim(),s=a?String(a.split(/\s+/)[0]??"").split(":")[0].toLowerCase():"",l=Se(s),c=function(e,t){const n=t.trim().toLowerCase();if(!n)return null;for(const r of[n,Se(n),M(n)]){const t=r&&e[r];if(t)return t}return null}(r,s);if("mermaid"===l){const o=function(e,t){const n={...t.mermaidProps||{}};return null==te(n.estimatedPreviewHeightPx)&&(n.estimatedPreviewHeightPx=function(e,t=360,n=500){return null==n?Math.max(t,e):Math.min(Math.max(t,e),n)}(function(e){const t=e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e&&!e.startsWith("%%")),n=Math.max(1,t.length),r=function(e){for(const t of e.split(/\r?\n/)){const e=t.trim();if(e&&!e.startsWith("%%"))return e.match(/^([A-Z][\w-]*)\b/i)?.[1]?.toLowerCase()||""}return""}(e);return"gantt"===r?220+28*n:"sequencediagram"===r?180+26*n:"classdiagram"===r||"statediagram"===r||"erdiagram"===r?180+24*n:"flowchart"===r||"graph"===r?170+28*n:200+22*n}(String(e?.code??"")),void 0,"none"===n.maxHeight?null:te(n.maxHeight)??void 0)),n}(e,n),i=c||r.mermaid;return i?Ae(i,e,t,n,o):v(()=>b(pt,{key:t,node:e,isDark:n.isDark,loading:Boolean(e.loading),...o}))}if("infographic"===l){const o=function(e,t){const n={...t.infographicProps||{}};return null==ee(n.estimatedPreviewHeightPx)&&(n.estimatedPreviewHeightPx=function(e,t=360,n=500){return null==n?Math.max(t,e):Math.min(Math.max(t,e),n)}(function(e){const t=e.split(/\r?\n/).filter(e=>/^\s*-\s+/.test(e)).length;return t>=3?500:t>0?280+60*t:360}(String(e?.code??"")),void 0,"none"===n.maxHeight?null:ee(n.maxHeight)??void 0)),n}(e,n),i=c||r.infographic;return i?Ae(i,e,t,n,o):v(()=>b(ht,{key:t,node:e,isDark:n.isDark,loading:Boolean(e.loading),...o}))}if("d2"===l||"d2lang"===l){const o=c||r.d2;return o?Ae(o,e,t,n,n.d2Props||{}):v(()=>b(mt,{key:t,node:e,isDark:n.isDark,loading:Boolean(e.loading),...n.d2Props||{}}))}if(c)return Pe(c,e,t,n);const d=r.code_block;return d?Pe(d,e,t,n):n.renderCodeBlocksAsPre?v(()=>b(ct,{key:t,node:e})):`${A(o,dt,{node:e,loading:_(()=>Boolean(e.loading),[Boolean,e.loading],Be),stream:n.codeBlockStream,monacoOptions:n.codeBlockThemes?.monacoOptions,themes:n.codeBlockThemes?.themes,minWidth:n.codeBlockThemes?.minWidth,maxWidth:n.codeBlockThemes?.maxWidth,isDark:n.isDark,...re(n.codeBlockProps,{omit:["langs"]})},!1,t)}`},Ie=function(e,t,n){const{node:r,children:o}=e;return`<span${q("class","text-node whitespace-pre-wrap break-words"+(r.center?" text-node-center":""),"span","opaque")}>${P(o??r.content,t)}</span>`};function Ee(e){return"text"===e?.type&&""===String(e?.content??"").trim()}function He(e,t,n,r){const o=e.filter(e=>!Ee(e)),i=o.length>0&&o.every(e=>"image"===e.type||function(e){const t=function(e){return"link"===e?.type&&Array.isArray(e?.children)?e.children.filter(e=>!Ee(e)):[]}(e);return 1===t.length&&"image"===t[0]?.type}(e));if(!i||o.length<=1)return ae(e,n,r,t);const a=[];for(let s=0;s<e.length;s++){const t=e[s];if(!Ee(t)){a.push(t);continue}const n=a.length>0,r=e.slice(s+1).some(e=>!Ee(e));n&&r&&a.push({...t,content:" ",raw:" "})}return a.map((e,o)=>i&&Ee(e)?String(e?.content??""):t(e,`${r}-${o}`,n))}function De(e){const{node:t,ctx:n,renderNode:r,indexKey:o,children:i}=e;if(!n||!r)return $.createElement("p",{dir:"auto",className:"paragraph-node"},i);const a=t.children??[],s={...n.customComponents??z(n.customId),...n.htmlComponents??{},...n.streamingComponents??{}},l=[],c=[],d=()=>{if(!c.length)return;const e=l.length;l.push($.createElement("p",{key:`${String(o??"paragraph")}-inline-${e}`,dir:"auto",className:"paragraph-node"},He(c.slice(),r,n,`${String(o??"paragraph")}-${e}`))),c.length=0};return a.forEach((e,t)=>{const i="escape"!==(n.htmlPolicy??"safe")||"html_inline"!==e.type&&"html_block"!==e.type;oe.has(e.type)||i&&function(e,t,n){return"block"===le(e,t,n)?.display}(e,s,n.customHtmlTags)?(d(),l.push(r(e,`${String(o??"paragraph")}-block-${t}`,n))):c.push(e)}),d(),l.length?$.createElement($.Fragment,{},l):$.createElement("p",{dir:"auto",className:"paragraph-node"},He(a,r,n,String(o??"paragraph")))}var Oe=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a,children:s}=e,l=Math.min(6,Math.max(1,Number(r.level)||1)),c=`h${l}`,{class:d,className:u,style:p,...m}=r?.attrs??{};return`${A(t,c,{dir:"auto",className:["heading-node","font-semibold",`heading-${l}`,d,u].filter(Boolean).join(" "),..."object"==typeof p&&null!=p?{style:p}:{},...m,children:s??(o&&i?ae(r.children,o,String(a??`heading-${l}`),i):null)})}`},Me=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a,children:s}=e;return`${(()=>{const e=r.cite;return`<blockquote class="blockquote-node" dir="auto"${q("cite",e,"blockquote","opaque")}>${P(s??(o&&i?ae(r.children,o,String(a??"blockquote"),i):null),t)}</blockquote>`})()}`};function Le(e,t,n){const{node:r,ctx:o,renderNode:i,value:a,indexKey:s,children:l}=e;return`<li class="list-item pl-1.5 my-2" dir="auto"${q("value",null==a?void 0:a,"li","opaque")}>${P(l??(o&&i?ae(r.children,o,String(s??"list-item"),i):null),t)}</li>`}var We=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a}=e,s=r.ordered?"ol":"ul",l=r.ordered&&r.start?r.start:void 0,c=o&&z(o.customId).list_item||Le;return`${A(t,s,{className:r.ordered?"list-node my-5 pl-[calc(13/8*1em)] list-decimal":"list-node my-5 pl-[calc(13/8*1em)] list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)]",start:l,children:r.items?.map((e,t)=>b(c,{key:`${String(a??"list")}-${t}`,node:e,value:r.ordered?(r.start??1)+t:void 0,ctx:o,renderNode:i,indexKey:`${String(a??"list")}-${t}`,customId:o?.customId,isDark:o?.isDark,typewriter:o?.typewriter}))})}`},Fe=function(e,t,n){let r,o;const{node:i,ctx:a,renderNode:s,indexKey:l}=e,c=Array.isArray(i?.header?.cells)?i.header.cells:[],d=Boolean(i?.loading),u=Array.isArray(i?.rows)?i.rows:[],p=e=>"right"===e?"text-right":"center"===e?"text-center":"text-left";function m(e,t,n,r){return`<th${q("class",`font-semibold p-[calc(4/7*1em)] ${p(e.align)}`,"th","opaque")} dir="auto">${P(a&&s?se(e.children,a,`${String(l??"table")}-th-${t}`,s):null,n)}</th>`}function h(e,t,n,r){return`<tr${q("class",t<u.length-1?"border-[var(--table-border,#cbd5e1)] border-b":"border-[var(--table-border,#cbd5e1)]","tr","opaque")}>${P(e.cells?.map((e,n)=>w("td",{key:`cell-${t}-${n}`,className:`p-[calc(4/7*1em)] ${p(e.align)}`,dir:"auto"},()=>a&&s?se(e.children,a,`${String(l??"table")}-row-${t}-${n}`,s):null)),n)}</tr>`}return`<div class="table-node-wrapper"${q("data-index-key",l,"div","opaque")}>${(()=>{const e=d;return`<table${q("class","my-8 text-sm table-node"+(d?" table-node--loading":""),"table","opaque")}${q("aria-busy",e,"table","opaque")}><thead class="border-[var(--table-border,#cbd5e1)]"><tr class="border-b">${S((r=c.map,c),r)?j("f1809v0k",()=>{const e=c;if(0===e.length)return I("",!1);let n="";for(let r=0;r<e.length;r++){const o=e[r];n+=B(((e,t)=>`header-${t}`)(0,r),()=>m(o,r,t))}return I(n,!0)}):T(S(c,r,(e,t)=>w("th",{key:`header-${t}`,className:`font-semibold p-[calc(4/7*1em)] ${p(e.align)}`,dir:"auto"},()=>a&&s?se(e.children,a,`${String(l??"table")}-th-${t}`,s):null)),t)}</tr></thead><tbody>${S((o=u.map,u),o)?j("f180ahra",()=>{const e=u;if(0===e.length)return I("",!1);let n="";for(let r=0;r<e.length;r++){const o=e[r];n+=B(((e,t)=>`row-${t}`)(0,r),()=>h(o,r,t))}return I(n,!0)}):T(S(u,o,(e,t)=>w("tr",{key:`row-${t}`,className:t<u.length-1?"border-[var(--table-border,#cbd5e1)] border-b":"border-[var(--table-border,#cbd5e1)]"},()=>e.cells?.map((e,n)=>w("td",{key:`cell-${t}-${n}`,className:`p-[calc(4/7*1em)] ${p(e.align)}`,dir:"auto"},()=>a&&s?se(e.children,a,`${String(l??"table")}-row-${t}-${n}`,s):null)))),t)}</tbody></table>`})()}${T(d&&b("div",{className:"table-node__loading",role:"status","aria-live":"polite"},b("span",{className:"table-node__spinner","aria-hidden":"true"}),b("span",{className:"sr-only"},"Loading")),t)}</div>`},Re=function(e,t,n){let r;const{node:o,ctx:i,renderNode:a,indexKey:s}=e,l=Array.isArray(o.items)?o.items:[];function c(e,t,n,r){return`<div class="mb-4"><dt class="definition-term font-semibold">${P(i&&a?se(e.term,i,`${String(s??"definition")}-term-${t}`,a):null,n)}</dt><dd class="definition-desc ml-4">${P(i&&a?se(e.definition,i,`${String(s??"definition")}-desc-${t}`,a):null,n)}</dd></div>`}return`<dl class="definition-list"${q("data-index-key",s,"dl","opaque")}>${S((r=l.map,l),r)?j("f180bc07",()=>{const e=l;if(0===e.length)return I("",!1);let n="";for(let r=0;r<e.length;r++){const o=e[r];n+=B(((e,t)=>`${String(s??"definition")}-${t}`)(0,r),()=>c(o,r,t))}return I(n,!0)}):T(S(l,r,(e,t)=>w("div",{key:`${String(s??"definition")}-${t}`,className:"mb-4"},()=>C([w("dt",{className:"definition-term font-semibold"},()=>i&&a?se(e.term,i,`${String(s??"definition")}-term-${t}`,a):null),w("dd",{className:"definition-desc ml-4"},()=>i&&a?se(e.definition,i,`${String(s??"definition")}-desc-${t}`,a):null)]))),t)}</dl>`},Ue=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a}=e;return`<div${q("id",`fnref--${r.id}`,"div","opaque")} class="footnote-node flex text-sm leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2"><div class="flex-1">${P(o&&i?ae(r.children,o,String(a??`footnote-${r.id}`),i):null,t)}</div></div>`},ze=function(e,t,n){const{node:r}=e,o=`#fnref--${r.id}`;return`<sup${q("id",`fnref-${r.id}`,"sup","opaque")} class="footnote-reference">${(()=>{const e=D({href:o}),n=`查看脚注 ${r.id}`;return`<span${K([[!0,e],[!1,"title",n],[!1,"className","footnote-link cursor-pointer"]],"span","opaque",!1)}>${E([[null!=e&&Object.prototype.propertyIsEnumerable.call(e,"dangerouslySetInnerHTML"),null!=e?e.dangerouslySetInnerHTML:void 0]],()=>`\n [\n ${T(r.id,t)}\n ]\n `,!0,[])??`\n [\n ${T(r.id,t)}\n ]\n `}</span>`})()}</sup>`},Ge=function(e,t,n){const{node:r}=e;return`${(()=>{const e=`#fnref-${r.id}`,t=`返回引用 ${r.id}`;return`<a class="footnote-anchor text-sm hover:underline cursor-pointer"${q("href",e,"a","opaque")}${q("title",t,"a","opaque")}>\n ↩︎\n </a>`})()}`},Ve=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a,isDark:s}=e,l=String(r.kind||"note"),c=r.title&&String(r.title).trim().length?String(r.title):l.charAt(0).toUpperCase()+l.slice(1),d=`admonition-${String(a??l)}`,u=!r.collapsible||(r.open??!0),p={note:"ℹ️",info:"ℹ️",tip:"💡",warning:"⚠️",danger:"❗",error:"⛔",caution:"⚠️"};return`${(()=>{const e=a;return`<div${q("class",`admonition admonition-${l}${s?" is-dark":""}`,"div","opaque")}${q("data-index-key",e,"div","opaque")}><div${q("id",d,"div","opaque")} class="admonition-header">${T(p[l]&&w("span",{className:"admonition-icon"},()=>p[l]),t)}<span class="admonition-title">${P(c,t)}</span>${T(r.collapsible&&v(()=>w("span",{className:"admonition-toggle","aria-expanded":u,"aria-controls":`${d}-content`},()=>w("span",{},()=>u?"▼":"▶"))),t)}</div>${T(u&&v(()=>w("div",{id:`${d}-content`,className:"admonition-content","aria-labelledby":d},()=>o&&i?ae(r.children,o,String(a??d),i):null)),t)}</div>`})()}`},Xe=function(e,t,n){const{node:r}=e;return`<span class="checkbox-node"><input type="checkbox" disabled="" class="checkbox-input" readonly=""${H([[!1,"checked",Boolean(r.checked)]])}/></span>`},Ye=function(e,t,n){const{node:r}=e;return`<span class="emoji-node">${P(r.name??r.markup,t)}</span>`},Ze=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<strong class="strong-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"strong")}-strong`,a):null),t)}</strong>`},Je=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<em class="emphasis-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"emphasis")}-emphasis`,a):null),t)}</em>`},Qe=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<del class="strikethrough-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"strikethrough")}-strikethrough`,a):null),t)}</del>`},et=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<mark class="highlight-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"highlight")}-highlight`,a):null),t)}</mark>`},tt=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<ins class="insert-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"insert")}-insert`,a):null),t)}</ins>`},nt=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<sub class="subscript-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"subscript")}-subscript`,a):null),t)}</sub>`},rt=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<sup class="superscript-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"superscript")}-superscript`,a):null),t)}</sup>`},ot=function(e,t,n){return"<br/>"},it=function(e,t,n){return'<hr class="thematic-break-node"/>'},at=function(e,t,n){const{node:r,children:o}=e;return`<code class="inline-code inline text-[85%] px-1 py-0.5 rounded font-mono bg-[hsl(var(--secondary))] whitespace-normal break-words max-w-full">${P(o??r.code,t)}</code>`},st=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a}=e,s=void 0!==e.underlineBottom?"number"==typeof e.underlineBottom?`${e.underlineBottom}px`:String(e.underlineBottom):"-3px",l=e.animationOpacity??.35,c=Math.max(.12,Math.min(.5*l,l)),d={"--link-color":e.color??"#0366d6","--underline-height":`${e.underlineHeight??2}px`,"--underline-bottom":s,"--underline-opacity":String(l),"--underline-rest-opacity":String(c),"--underline-duration":`${e.animationDuration??1.6}s`,"--underline-timing":e.animationTiming??"ease-in-out","--underline-iteration":"number"==typeof e.animationIteration?String(e.animationIteration):e.animationIteration??"infinite"},p=u({href:String(r.href??"")}).href,m="string"==typeof r.title&&r.title.trim().length>0?r.title:String(p??""),g=h(p);return r.loading?v(()=>w("span",{className:"link-loading inline-flex items-baseline gap-1.5","aria-hidden":"false",style:d},()=>w("span",{className:"link-text-wrapper relative inline-flex"},()=>C([w("span",{className:"leading-[normal] link-text"},()=>v(()=>b(Ie,{node:{type:"text",content:String(r.text??"")},ctx:o,indexKey:`${String(a??"link")}-loading`,typewriter:e.typewriter}))),b("span",{className:"link-loading-indicator","aria-hidden":"true"})])))):`${(()=>{const n=m,s=`Link: ${m}`,l=g?"_blank":void 0,c=g?"noopener noreferrer":void 0,u=d;return`<a class="link-node"${q("href",p||void 0,"a","opaque")}${q("title",n,"a","opaque")}${q("aria-label",s,"a","opaque")}${q("target",l,"a","opaque")}${q("rel",c,"a","opaque")}${O(u)}>${T(o&&i?ae(r.children,o,String(a??"link"),i):v(()=>b(Ie,{node:{type:"text",content:String(r.text??"")},ctx:o,indexKey:`${String(a??"link")}-fallback`,typewriter:e.typewriter})),t)}</a>`})()}`},lt=function(e,t,n){const r=e,o=m(r.node.src)||m(r.fallbackSrc);return o?`${(()=>{const e=o,t=String(r.node.alt??r.node.title??""),n=String(r.node.title??r.node.alt??""),i=!1===r.lazy?"eager":"lazy",a=r.node.alt??"Preview image";return`<img${q("src",e,"img","opaque")}${q("alt",t,"img","opaque")}${q("title",n,"img","opaque")} class="image-node__img is-loaded"${q("loading",i,"img","opaque")} decoding="async" tabindex="0"${q("aria-label",a,"img","opaque")}/>`})()}`:null};function ct({node:e},t,n){const r=Ke(e?.language),o=`language-${r}`,i=r?`Code block: ${r}`:"Code block";return`${(()=>{const n=o,a=!0===e?.loading,s=i,l=r;return`<pre${q("class",n,"pre","opaque")}${q("aria-busy",a,"pre","opaque")}${q("aria-label",s,"pre","opaque")}${q("data-language",l,"pre","opaque")} tabindex="0"><code translate="no">${P(String(e?.code??""),t)}</code></pre>`})()}`}function dt(e){return Te("code-block-node",e.node,{showHeader:e.showHeader,fallback:"code-block"})}function ut(e){return Te("markdown-code-block-node",e.node,{showHeader:e.showHeader,fallback:"markdown-code-block"})}function pt(e){return Te("mermaid-block-node",e.node,{showHeader:e.showHeader,fallback:"mermaid"})}function mt(e){return Te("d2-block-node",e.node,{showHeader:e.showHeader,fallback:"d2"})}function ht(e){return Te("infographic-block-node",e.node,{showHeader:e.showHeader,fallback:"infographic"})}var gt=function({node:e},t,n){const r=_e(String(e.content??""),!0,Boolean(e.loading));return r?`<div class="math-block text-center overflow-x-auto relative min-h-[40px]"><div>${E([[!0,{__html:r}]],()=>"",!1,[])??""}</div></div>`:w("div",{className:"math-block text-center overflow-x-auto relative min-h-[40px]"},()=>w("div",{},()=>String(e.raw??e.content??"")))},ft=function({node:e},t,n){const r="$$"===e.markup,o=_e(String(e.content??""),r,Boolean(e.loading));return o?`<span class="math-inline-wrapper"><span class="math-inline">${E([[!0,{__html:o}]],()=>"",!1,[])??""}</span></span>`:w("span",{className:"math-inline-wrapper"},()=>w("span",{className:"math-inline"},()=>String(e.raw??e.content??"")))},yt=function(e,t,n){const{node:r}=e;return`${(()=>{const e=r.id;return`<span class="reference-node cursor-pointer bg-[hsl(var(--muted))] text-xs rounded-md px-1.5 mx-0.5 hover:bg-[hsl(var(--secondary))]" role="button" tabindex="0"${q("data-reference-id",e,"span","opaque")}>${P(r.id,t)}</span>`})()}`},kt=function(e,r,o){const i=String(e.node?.tag??"").trim().toLowerCase(),s=c(i),l=Array.isArray(e.node?.children)?e.node.children:[],d=s?e.ctx?.htmlComponents?.[s]:void 0;if(l.length>0&&i&&!t.has(i)&&!a(i,e.ctx?.htmlPolicy??"safe")&&e.ctx&&e.renderNode){const t=ae(l,e.ctx,`${String(e.indexKey??"html-block")}-structured`,e.renderNode);if(d){const r=p(e.node?.attrs??null,e.ctx?.htmlPolicy??"safe",s);return $.createElement(d,n(y(r)),t)}return $.createElement(i,function(e,t="safe",n){const r={...de(ie(p(e??void 0,t,n))||{})},o="string"==typeof r.className?r.className.trim():"";return r.className=o?`html-block-node ${o}`:"html-block-node",r}(e.node?.attrs??null,e.ctx?.htmlPolicy??"safe",i),t)}const u={...e.ctx?.customComponents??z(e.customId),...e.ctx?.htmlComponents??{}},m=we(String(e.node.content??""),u,e.ctx?.htmlPolicy??"safe",{ctx:e.ctx,keyPrefix:String(e.indexKey??"html-block"),nodeComponents:e.ctx?.streamingComponents,propComponents:e.ctx?.htmlComponents,renderNode:e.renderNode,sourceNode:e.node});return null==m?w(x,{},()=>C([String(e.node.content??"")])):`${T(w(x,{},()=>C([m])),r)}`},$t=function(e,t,r){const o=e.ctx?.htmlPolicy??"safe",i=String(e.node?.tag??"").trim().toLowerCase(),s=c(i),l=Array.isArray(e.node?.children)?e.node.children:[],d=s?e.ctx?.htmlComponents?.[s]:void 0;if(l.length>0&&i&&"escape"!==o&&!a(i,o)&&e.ctx&&e.renderNode&&d){const t=ae(l,e.ctx,`${String(e.indexKey??"html-inline")}-structured`,e.renderNode),r=p(e.node?.attrs??null,o,s);return $.createElement(d,n(y(r)),t)}const u={...e.ctx?.customComponents??z(e.customId),...e.ctx?.htmlComponents??{}},m=we(String(e.node.content??""),u,o,{ctx:e.ctx,keyPrefix:String(e.indexKey??"html-inline"),nodeComponents:e.ctx?.streamingComponents,propComponents:e.ctx?.htmlComponents,renderNode:e.renderNode,sourceNode:e.node});return null==m?w(x,{},()=>C([String(e.node.content??"")])):`${T(w(x,{},()=>C([m])),t)}`},xt=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a}=e,s=r.attrs?Array.isArray(r.attrs)?ie(r.attrs):r.attrs:void 0;return`${(()=>{const e=`vmr-container vmr-container-${r.name}`,n=D(s);return`<div${K([[!1,"className",e],[!0,n]],"div","opaque",!1)}>${E([[null!=n&&Object.prototype.propertyIsEnumerable.call(n,"dangerouslySetInnerHTML"),null!=n?n.dangerouslySetInnerHTML:void 0]],()=>`${T(o&&i&&Array.isArray(r.children)?r.children.map((e,t)=>w($.Fragment,{key:`${String(a??"vmr-container")}-${t}`},()=>i(e,`${String(a??"vmr-container")}-${t}`,o))):null,t)}`,!1,[])??`${T(o&&i&&Array.isArray(r.children)?r.children.map((e,t)=>w($.Fragment,{key:`${String(a??"vmr-container")}-${t}`},()=>i(e,`${String(a??"vmr-container")}-${t}`,o))):null,t)}`}</div>`})()}`};function bt(e){return null}function wt(e){return null}var vt=function(e,t,n){const{node:r}=e;return`<div class="unknown-node text-sm text-gray-500 italic">\n Unsupported node type:\n ${T(String(r?.type),t)}</div>`};function Nt(e,t,r){const o=r.customComponents??z(r.customId),i=r.streamingComponents??{},a=r.htmlComponents??{},s=function(e){if("html_block"===e.type||"html_inline"===e.type)return"";const t=c(e.type),n=c(e.tag);return t&&n&&t===n?t:""}(e),l=s?i[s]:null,d=s&&!l?a[s]:null,u="code_block"===e.type?null:o[e.type];if(l)return $.createElement(l,{key:t,node:e,customId:r.customId,isDark:r.isDark,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade});if(d)return function(e,t,r,o,i){const a=n(y(p(t.attrs??void 0,o.htmlPolicy??"safe",i))),s=Array.isArray(t.children)?ae(t.children,o,`${String(r)}-html`,Nt):t.content??null;return $.createElement(e,{...a,key:r},s)}(d,e,t,r,s);if(u)return $.createElement(u,{key:t,node:e,customId:r.customId,isDark:r.isDark,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade});if("html_block"===e.type||"html_inline"===e.type){const n=le(e,{...o,...i},r.customHtmlTags),a=n?.tag??"",s=n?.isWhitelisted??!1,l=n?.component??null;if(s&&l){const n={...e,type:a,tag:a,content:f(e.content,a)};return $.createElement(l,{key:t,node:n,customId:r.customId,isDark:r.isDark,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade})}const c=String(e.content??e.raw??"");if(!s&&g(c,a))return"html_inline"===e.type?v(()=>b(Ie,{key:t,node:{type:"text",content:c,raw:c},ctx:r,indexKey:t,typewriter:r.typewriter})):v(()=>b(De,{key:t,node:{type:"paragraph",children:[{type:"text",content:c,raw:c}],raw:c},ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}))}switch(e.type){case"text":return v(()=>b(Ie,{key:t,node:e,ctx:r,indexKey:t,typewriter:r.typewriter}));case"text_special":return v(()=>b(Ie,{key:t,node:{type:"text",content:e.content??"",center:e.center},ctx:r,indexKey:t,typewriter:r.typewriter}));case"paragraph":return v(()=>b(De,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"heading":return v(()=>b(Oe,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"blockquote":return v(()=>b(Me,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"list":return v(()=>b(We,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"list_item":return v(()=>b(Le,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"table":return v(()=>b(Fe,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"definition_list":return v(()=>b(Re,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"footnote":return v(()=>b(Ue,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"footnote_reference":return v(()=>b(ze,{key:t,node:e}));case"footnote_anchor":return v(()=>b(Ge,{key:t,node:e}));case"admonition":return v(()=>b(Ve,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,isDark:r.isDark,typewriter:r.typewriter}));case"hardbreak":return v(()=>b(ot,{key:t,node:e,typewriter:r.typewriter}));case"link":return v(()=>b(st,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,isDark:r.isDark,showTooltip:"boolean"==typeof r.showTooltips?r.showTooltips:void 0,typewriter:r.typewriter}));case"image":return v(()=>b(lt,{key:t,node:e}));case"inline_code":return v(()=>b(at,{key:t,node:e,ctx:r,indexKey:t,typewriter:r.typewriter}));case"code_block":return je(e,t,r,o);case"strong":return v(()=>w(Ze,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-strong`,Nt)));case"emphasis":return v(()=>w(Je,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-em`,Nt)));case"strikethrough":return v(()=>w(Qe,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-strike`,Nt)));case"highlight":return v(()=>w(et,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-highlight`,Nt)));case"insert":return v(()=>w(tt,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-insert`,Nt)));case"subscript":return v(()=>w(nt,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-sub`,Nt)));case"superscript":return v(()=>w(rt,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-sup`,Nt)));case"checkbox":case"checkbox_input":return v(()=>b(Xe,{key:t,node:e,typewriter:r.typewriter}));case"emoji":return v(()=>b(Ye,{key:t,node:e,typewriter:r.typewriter}));case"thematic_break":return v(()=>b(it,{key:t,node:e}));case"math_inline":return v(()=>b(ft,{key:t,node:e}));case"math_block":return v(()=>b(gt,{key:t,node:e}));case"reference":return v(()=>b(yt,{key:t,node:e,ctx:r,typewriter:r.typewriter}));case"html_block":return v(()=>b(kt,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade,customId:r.customId}));case"html_inline":return v(()=>b($t,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade,customId:r.customId}));case"vmr_container":return v(()=>b(xt,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"label_open":case"label_close":return null;default:return v(()=>b(vt,{key:t,node:e}))}}var St=function(e,t,n){let r;const i=z(e.customId),a=Q(e.streamingComponents),s=Q(e.htmlComponents),c=e.parseOptions??{},u=c.customHtmlTags??[],p=l(e.customHtmlTags,Array.isArray(u)?u:[],Object.keys(a)),m=e.customId?`server-renderer-${e.customId}`:"server-renderer",h=p.length>0?o(m,{customHtmlTags:p}):o(m),g=e.customMarkdownIt?e.customMarkdownIt(h):h,f=e.final??c.final,y=null==f&&0===p.length?c:{...c,...null!=f?{final:f}:{},...p.length>0?{customHtmlTags:p}:{}},k=Array.isArray(e.nodes)&&e.nodes.length?e.nodes.map(e=>({...e})):e.content?d(e.content,g??qe,y):[],$=null!=e.indexKey?String(e.indexKey):"markdown-renderer",x=function(e,t,n,r,o,i,a){return{customId:e.customId,final:a,customComponents:t,customHtmlTags:i,htmlPolicy:e.htmlPolicy??"safe",isDark:e.isDark,indexKey:o,typewriter:e.typewriter,fade:e.fade,showTooltips:e.showTooltips,streamingComponents:n,htmlComponents:r,renderCodeBlocksAsPre:e.renderCodeBlocksAsPre,codeBlockStream:e.codeBlockStream,codeBlockProps:{..."boolean"==typeof e.showTooltips?{showTooltips:e.showTooltips}:{},...e.codeBlockProps||{}},mermaidProps:{...e.mermaidProps||{}},d2Props:{...e.d2Props||{}},infographicProps:{...e.infographicProps||{}},codeBlockThemes:{themes:e.themes,langs:e.langs,darkTheme:e.codeBlockDarkTheme,lightTheme:e.codeBlockLightTheme,monacoOptions:e.codeBlockMonacoOptions,minWidth:e.codeBlockMinWidth,maxWidth:e.codeBlockMaxWidth},events:{onCopy:e.onCopy,onHandleArtifactClick:e.onHandleArtifactClick}}}(e,i,a,s,$,p,f);function b(e,t,n,r){return`${(()=>{const r=t,o=e.type;return`<div class="node-slot"${q("data-node-index",r,"div","opaque")}${q("data-node-type",o,"div","opaque")}><div class="node-content">${P(Nt(e,`${$}-${t}`,x),n)}</div></div>`})()}`}return`${(()=>{const n="markstream-octane markdown-renderer"+(e.isDark?" dark":""),o=e.customId;return`<div${q("class",n,"div","opaque")}${q("data-custom-id",o,"div","opaque")}>${S((r=k.map,k),r)?j("f182g9pr",()=>{const e=k;if(0===e.length)return I("",!1);let n="";for(let r=0;r<e.length;r++){const o=e[r];n+=B(((e,t)=>`${$}-${t}`)(0,r),()=>b(o,r,t))}return I(n,!0)}):T(S(k,r,(e,t)=>w("div",{key:`${$}-${t}`,className:"node-slot","data-node-index":t,"data-node-type":e.type},()=>w("div",{className:"node-content"},()=>Nt(e,`${$}-${t}`,x)))),t)}</div>`})()}`};export{Ve as AdmonitionNode,Me as BlockquoteNode,Xe as CheckboxNode,dt as CodeBlockNode,dt as OctaneCodeBlockNode,mt as D2BlockNode,Re as DefinitionListNode,Ye as EmojiNode,Je as EmphasisNode,vt as FallbackComponent,Ge as FootnoteAnchorNode,Ue as FootnoteNode,ze as FootnoteReferenceNode,ot as HardBreakNode,Oe as HeadingNode,et as HighlightNode,kt as HtmlBlockNode,$t as HtmlInlineNode,wt as HtmlPreviewFrame,lt as ImageNode,ht as InfographicBlockNode,at as InlineCodeNode,tt as InsertNode,st as LinkNode,Le as ListItemNode,We as ListNode,ut as MarkdownCodeBlockNode,gt as MathBlockNode,ft as MathInlineNode,pt as MermaidBlockNode,St as NodeRenderer,St as default,De as ParagraphNode,ct as PreCodeNode,yt as ReferenceNode,Qe as StrikethroughNode,Ze as StrongNode,nt as SubscriptNode,rt as SuperscriptNode,Fe as TableNode,Ie as TextNode,it as ThematicBreakNode,bt as Tooltip,xt as VmrContainerNode,V as clearGlobalCustomComponents,J as defineHtmlComponents,Z as defineStreamingComponents,X as getCustomComponentDisplay,z as getCustomNodeComponents,G as removeCustomComponents,Nt as renderNode,U as setCustomComponents,Y as withMarkstreamComponentDisplay};
|
|
2
|
+
import{BLOCKED_HTML_TAGS as e,NON_STRUCTURING_HTML_TAGS as t,convertHtmlAttrsToProps as n,getHtmlTagFromContent as r,getMarkdown as o,isCustomHtmlComponentTag as i,isHtmlTagBlocked as a,isHtmlTagHardBlocked as s,mergeCustomHtmlTags as l,normalizeCustomHtmlTagName as c,parseMarkdownToStructure as d,sanitizeHtmlAttrs as u,sanitizeHtmlTokenAttrs as p,sanitizeImageSrc as m,shouldOpenLinkInNewTab as h,shouldRenderUnknownHtmlTagAsText as g,stripCustomHtmlWrapper as f,tokenAttrsToRecord as y,tokenizeHtml as k}from"stream-markdown-parser";import*as $ from"octane/server";import{Fragment as x,createElement as b,createScopedElement as w,createScopedValue as v,hookSlots as N,mapSlot as S,positionalChildren as C,puMemo as _,ssrArm as B,ssrAttr as q,ssrAttrs as K,ssrChild as T,ssrChildText as P,ssrComponent as A,ssrControl as j,ssrForBlock as I,ssrInnerHtml as E,ssrInputAttrs as H,ssrSnapshotSpread as D,ssrStyle as O}from"octane/server";import{normalizeShikiLanguage as M}from"markstream-core";var L="__global__",W="__MARKSTREAM_OCTANE_CUSTOM_COMPONENTS_STORE__",F=(()=>{const e=globalThis;if(e[W])return e[W];const t={scopedComponents:{},revision:0,listeners:/* @__PURE__ */new Set};return e[W]=t,t})();function R(){F.revision++;for(const e of Array.from(F.listeners))try{e()}catch{}}function U(e,t){"string"==typeof e?F.scopedComponents[e]={...t||{}}:F.scopedComponents[L]={...e},R()}function z(e){const t=F.scopedComponents[L]||{};if(!e)return t;const n=F.scopedComponents[e]||{};return t&&0!==Object.keys(t).length?n&&0!==Object.keys(n).length?{...t,...n}:t:n}function G(e){if(e===L)throw new Error("removeCustomComponents: cannot delete global mapping; call clearGlobalCustomComponents instead.");delete F.scopedComponents[e],R()}function V(){delete F.scopedComponents[L],R()}function X(e){return e?.markstreamDisplay}function Y(e,t){return e.markstreamDisplay=t,e}function Z(e){return e}function J(e){return e}function Q(e){if(!e)return{};const t={};for(const[n,r]of Object.entries(e)){const e=c(n);e&&(t[e]=r)}return t}function ee(e){const t="number"==typeof e?e:Number.parseFloat(String(e??""));return Number.isFinite(t)&&t>0?t:null}function te(e){const t="number"==typeof e?e:Number.parseFloat(String(e??""));return Number.isFinite(t)&&t>0?t:null}var ne=/* @__PURE__ */new Set(["node","key","ref","ctx","renderNode","indexKey","__proto__","prototype","constructor"]);function re(e,t={}){const n={},r=new Set(t.omit??[]);if(!e||"object"!=typeof e)return n;const o=Object.getOwnPropertyDescriptors(e);for(const[i,a]of Object.entries(o))ne.has(i)||r.has(i)||a.enumerable&&"value"in a&&(n[i]=a.value);return n}var oe=/* @__PURE__ */new Set(["table","code_block","html_block","blockquote","list","list_item","definition_list","footnote","footnote_reference","footnote_anchor","admonition","thematic_break","math_block","thinking","vmr_container"]);function ie(e){if(Array.isArray(e)&&0!==e.length)return e.reduce((e,[t,n])=>t?(e["for"===t?"htmlFor":"class"===t?"className":t]=n??!0,e):e,{})}function ae(e,t,n,r){if("function"!=typeof r)throw new TypeError("renderNodeChildren expected a function, received "+typeof r);if(!Array.isArray(e)||0===e.length)return null;const o=[];for(let i=0;i<e.length;i++){const a=e[i];if(a){if("label_open"===a.type){const s=[];for(i++;i<e.length;){const t=e[i];if("label_close"===t?.type)break;t&&s.push(t),i++}const l=`${n}-label-${i}`;o.push($.createElement("label",{key:l,...ie(a.attrs)},ae(s,t,`${l}-child`,r)));continue}"label_close"!==a.type&&o.push(r(a,`${n}-${i}`,t))}}return o}function se(e,t,n,r){return ae(e,t,`${n}-inline`,r)}function le(e,t,n){const o=c(e.type),i=(n??[]).map(e=>c(e)).filter(Boolean),a="html_inline"===o||"html_block"===o;if(!a&&!i.includes(o))return null;const s=a?c(e.tag)||r(e.content):c(e.tag)||o;if(!s)return null;const l=i.includes(s),d=t[s]??t[o]??null,u=l||a?d:null;return{tag:s,isWhitelisted:l,component:u,display:X(u)}}function ce(e){return e.startsWith("--")?e:e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function de(e){const t={...e};if(Object.prototype.hasOwnProperty.call(t,"class")&&(t.className=t.class,delete t.class),Object.prototype.hasOwnProperty.call(t,"for")&&(t.htmlFor=t.for,delete t.for),"string"==typeof t.style){const e=function(e){const t=e.trim();if(!t)return;const n={};for(const r of t.split(";")){const e=r.trim();if(!e)continue;const t=e.indexOf(":");if(-1===t)continue;const o=ce(e.slice(0,t).trim()),i=e.slice(t+1).trim();o&&(n[o]=i)}return Object.keys(n).length?n:void 0}(t.style);e?t.style=e:delete t.style}return t}var ue=k,pe=u;function me(e,t){return i(e,t)}function he(e,t,n=!1){const r=Object.entries(t??{}),o=r.length>0?r.map(([e,t])=>""===t?` ${e}`:` ${e}="${t}"`).join(""):"";return n?`<${e}${o} />`:`<${e}${o}>`}function ge(e,t){Array.isArray(t)?e.push(...t):null!=t&&e.push(t)}function fe(e,t){return t.nodeComponents?.[e]||t.nodeComponents?.[e.toLowerCase()]}function ye(e){if(null==e||"boolean"==typeof e)return"";if("string"==typeof e||"number"==typeof e)return String(e);if(Array.isArray(e))return e.map(ye).join("");if(!$.isValidElement(e))return"";const t=e;if("string"!=typeof t.type)return ye(t.props.children);const n=Object.entries(t.props).filter(([e,t])=>"children"!==e&&"key"!==e&&"ref"!==e&&null!=t&&"boolean"!=typeof t).map(([e,t])=>` ${"className"===e?"class":e}="${String(t)}"`).join("");return`<${t.type}${n}>${ye(t.props.children)}</${t.type}>`}function ke(e){return Object.entries(e).map(([e,t])=>[e,""===t?null:t])}function $e(e){const t=e.sourceNode,n=!0!==e.ctx?.final&&(!1===e.ctx?.final||Boolean(t?.loading));return{loading:n,autoClosed:n||Boolean(t?.autoClosed)}}function xe(e,t,r){return function(e,t){return Boolean(t.propComponents?.[e]||t.propComponents?.[e.toLowerCase()])}(e,r)?n(t):t}function be(e,t,n,r,o,i,a,s=$e(o)){const l=c(e),d=i??function(e){return e.map(ye).join("")}(n),u={type:l,tag:l,attrs:ke(t),content:d,raw:a??`${he(e,t)}${d}</${e}>`,loading:s.loading,autoClosed:s.autoClosed};if(o.ctx&&o.renderNode)return o.renderNode(u,r,o.ctx);const p=fe(e,o);return p?$.createElement(p,{key:r,node:u}):null}function we(t,n,r="safe",o={}){if(!t)return[];if("escape"===r)return[t];try{const i=ue(t);let l=0;const c=o.keyPrefix??"ms-html",d=[],u=[];for(const t of i){if("text"===t.type){if(d.length>0&&d[d.length-1].hardBlocked)continue;(d.length>0?d[d.length-1].children:u).push(t.content??""),d.length>0&&d[d.length-1].sourceParts.push(t.content??"");continue}const i=t.tagName;if(void 0===i)return null;if("self_closing"===t.type){const p=t.attrs||{},m=he(i,p,!0),h=me(i,n),g=Boolean(fe(i,o));if(e.has(i.toLowerCase())||!h&&!g&&s(i,r))continue;if(!h&&!g&&a(i,r)){(d.length>0?d[d.length-1].children:u).push(m),d.length>0&&d[d.length-1].sourceParts.push(m);continue}const f=pe(p,r,i),y=f.key,k=null!=y&&""!==y?y:`${c}-${l++}`,x=h?n[i]||n[i.toLowerCase()]:void 0,b=d.length>0?d[d.length-1].children:u;if(g)b.push(be(i,p,[],k,o,"",m,{loading:!1,autoClosed:!1}));else if(x){const e=xe(i,f,o);b.push($.createElement(x,{...e,key:k}))}else b.push($.createElement(i,{...de(f),key:k,suppressHydrationWarning:!0}));d.length>0&&d[d.length-1].sourceParts.push(m);continue}if("tag_open"===t.type){const l=d.length>0&&d[d.length-1].hardBlocked,c=me(i,n),u=Boolean(fe(i,o));d.push({tagName:i,children:[],attrs:t.attrs,sourceParts:[],customComponent:c||u,hardBlocked:l||e.has(i.toLowerCase())||!c&&!u&&s(i,r),softBlocked:!l&&!c&&!u&&a(i,r)});continue}const p=i.toLowerCase();let m=-1;for(let e=d.length-1;e>=0;e--)if(d[e].tagName.toLowerCase()===p){m=e;break}if(-1!==m)for(;d.length>m;){const e=d.pop();if(!e)continue;const t=e.sourceParts.join(""),i=`${he(e.tagName,e.attrs)}${t}</${e.tagName}>`;let a;if(e.hardBlocked)a=null;else if(e.softBlocked)a=[he(e.tagName,e.attrs),...e.children,`</${e.tagName}>`];else{const s=pe(e.attrs||{},r,e.tagName),d=s.key,u=null!=d&&""!==d?d:`${c}-${l++}`,m=e.customComponent?n[e.tagName]||n[e.tagName.toLowerCase()]:void 0;if(Boolean(fe(e.tagName,o))){const n=e.tagName.toLowerCase()===p?{loading:!1,autoClosed:!1}:$e(o);a=be(e.tagName,e.attrs||{},e.children,u,o,t,i,n)}else a=m?$.createElement(m,{...xe(e.tagName,s,o),key:u},...e.children):$.createElement(e.tagName,{...de(s),key:u,suppressHydrationWarning:!0},...e.children)}d.length>0?ge(d[d.length-1].children,a):ge(u,a),d.length>0&&!e.hardBlocked&&d[d.length-1].sourceParts.push(i)}}for(;d.length>0;){const e=d.pop();if(!e||e.hardBlocked)continue;const t=e.sourceParts.join(""),i=`${he(e.tagName,e.attrs)}${t}`;if(e.softBlocked){ge(u,[he(e.tagName,e.attrs),...e.children,`</${e.tagName}>`]),d.length>0&&d[d.length-1].sourceParts.push(i);continue}const a=pe(e.attrs||{},r,e.tagName),s=a.key,p=null!=s&&""!==s?s:`${c}-${l++}`,m=e.customComponent?n[e.tagName]||n[e.tagName.toLowerCase()]:void 0;let h;h=Boolean(fe(e.tagName,o))?be(e.tagName,e.attrs||{},e.children,p,o,t,i,$e(o)):m?$.createElement(m,{...xe(e.tagName,a,o),key:p},...e.children):$.createElement(e.tagName,{...de(a),key:p,suppressHydrationWarning:!0},...e.children),u.push(h),d.length>0&&d[d.length-1].sourceParts.push(i)}return u}catch{return null}}var ve,Ne={"":"",javascript:"javascript",js:"javascript",mjs:"javascript",cjs:"javascript",typescript:"typescript",ts:"typescript",jsx:"jsx",tsx:"tsx",golang:"go",py:"python",rb:"ruby",sh:"shell",bash:"shell",zsh:"shell",shellscript:"shell",bat:"shell",batch:"shell",ps1:"powershell",d2lang:"d2",plaintext:"plain",text:"plain",txt:"plain","c++":"cpp","c#":"csharp",cs:"csharp","objective-c":"objectivec","objective-c++":"objectivecpp",yml:"yaml",md:"markdown",rs:"rust",kt:"kotlin"};function Se(e){const t=function(e){if(!e)return"";const t=e.trim();if(!t)return"";const[n]=t.split(/\s+/),[r]=n.split(":");return r.toLowerCase()}(e);return Ne[t]??t}var Ce=!1;function _e(e,t,n){const r=function(e){return e?e.replace(/·/g,"⋅").replace(/℃/g,"°C"):""}(e);if(!r)return null;if(globalThis.__MARKSTREAM_OCTANE_DISABLE_SYNC_KATEX__)return null;const o=function(){if(ve)return ve;if(Ce)return null;Ce=!0;try{const e=function(){try{const e=Reflect.get(globalThis,"process"),t="function"==typeof e?.getBuiltinModule?e.getBuiltinModule("module"):null;return"function"==typeof t?.createRequire?t.createRequire(import.meta.url):null}catch{return null}}();if(!e)return null;const t=e("katex");try{e("katex/contrib/mhchem")}catch{}return ve=t}catch{return null}}();if(!o)return null;try{return o.renderToString(r,{displayMode:t,throwOnError:n})}catch{return null}}var Be=/* @__PURE__ */Symbol(/* @__PURE__ */N(1)),qe=o();function Ke(e){return String(String(e??"").split(/\s+/g)[0]??"").toLowerCase().replace(/[^\w-]/g,"")||"plaintext"}var Te=function(e,t,n,r,o){const i=Ke(t.language),a=String(t.code??t.raw??""),s=function(e){const t=Se(String(e??""));return t&&"plaintext"!==t?t.charAt(0).toUpperCase()+t.slice(1):"Text"}(t.language);return`${(()=>{const o=`${e} ${e}--ssr`,l=n.fallback;return`<div${q("class",o,"div","opaque")}${q("data-ssr-fallback",l,"div","opaque")}>${T(!1!==n.showHeader&&v(()=>w("div",{className:`${e}__header`},()=>v(()=>w("span",{className:`${e}__language`},()=>s)))),r)}<div${q("class",`${e}__body`,"div","opaque")}>${(()=>{const e=`language-${i}`,n=!0===t.loading,o=i?`Code block: ${i}`:"Code block",s=i;return`<pre${q("class",e,"pre","opaque")}${q("aria-busy",n,"pre","opaque")}${q("aria-label",o,"pre","opaque")}${q("data-language",s,"pre","opaque")} tabindex="0"><code translate="no">${P(a,r)}</code></pre>`})()}</div></div>`})()}`};function Pe(e,t,n,r,o={}){const i=re(r.codeBlockProps);return $.createElement(e,{key:n,node:t,loading:Boolean(t.loading),stream:r.codeBlockStream,customId:r.customId,isDark:r.isDark,darkTheme:r.codeBlockThemes?.darkTheme,lightTheme:r.codeBlockThemes?.lightTheme,themes:r.codeBlockThemes?.themes,langs:r.codeBlockThemes?.langs,minWidth:r.codeBlockThemes?.minWidth,maxWidth:r.codeBlockThemes?.maxWidth,onCopy:r.events.onCopy,...i,...o,ctx:r,renderNode:Nt,indexKey:n,typewriter:r.typewriter,fade:r.fade})}function Ae(e,t,n,r,o={}){return $.createElement(e,{key:n,node:t,isDark:r.isDark,...o})}var je=function(e,t,n,r,o,i){const a=String(e?.language||"").trim(),s=a?String(a.split(/\s+/)[0]??"").split(":")[0].toLowerCase():"",l=Se(s),c=function(e,t){const n=t.trim().toLowerCase();if(!n)return null;for(const r of[n,Se(n),M(n)]){const t=r&&e[r];if(t)return t}return null}(r,s);if("mermaid"===l){const o=function(e,t){const n={...t.mermaidProps||{}};return null==te(n.estimatedPreviewHeightPx)&&(n.estimatedPreviewHeightPx=function(e,t=360,n=500){return null==n?Math.max(t,e):Math.min(Math.max(t,e),n)}(function(e){const t=e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e&&!e.startsWith("%%")),n=Math.max(1,t.length),r=function(e){for(const t of e.split(/\r?\n/)){const e=t.trim();if(e&&!e.startsWith("%%"))return e.match(/^([A-Z][\w-]*)\b/i)?.[1]?.toLowerCase()||""}return""}(e);return"gantt"===r?220+28*n:"sequencediagram"===r?180+26*n:"classdiagram"===r||"statediagram"===r||"erdiagram"===r?180+24*n:"flowchart"===r||"graph"===r?170+28*n:200+22*n}(String(e?.code??"")),void 0,"none"===n.maxHeight?null:te(n.maxHeight)??void 0)),n}(e,n),i=c||r.mermaid;return i?Ae(i,e,t,n,o):v(()=>b(pt,{key:t,node:e,isDark:n.isDark,loading:Boolean(e.loading),...o}))}if("infographic"===l){const o=function(e,t){const n={...t.infographicProps||{}};return null==ee(n.estimatedPreviewHeightPx)&&(n.estimatedPreviewHeightPx=function(e,t=360,n=500){return null==n?Math.max(t,e):Math.min(Math.max(t,e),n)}(function(e){const t=e.split(/\r?\n/).filter(e=>/^\s*-\s+/.test(e)).length;return t>=3?500:t>0?280+60*t:360}(String(e?.code??"")),void 0,"none"===n.maxHeight?null:ee(n.maxHeight)??void 0)),n}(e,n),i=c||r.infographic;return i?Ae(i,e,t,n,o):v(()=>b(ht,{key:t,node:e,isDark:n.isDark,loading:Boolean(e.loading),...o}))}if("d2"===l||"d2lang"===l){const o=c||r.d2;return o?Ae(o,e,t,n,n.d2Props||{}):v(()=>b(mt,{key:t,node:e,isDark:n.isDark,loading:Boolean(e.loading),...n.d2Props||{}}))}if(c)return Pe(c,e,t,n);const d=r.code_block;if(d)return Pe(d,e,t,n);if(n.renderCodeBlocksAsPre){const r=re(n.codeBlockProps,{omit:["langs"]});return v(()=>b(ct,{key:t,node:e,showLineNumbers:!0===r.showLineNumbers}))}return`${A(o,dt,{node:e,loading:_(()=>Boolean(e.loading),[Boolean,e.loading],Be),stream:n.codeBlockStream,monacoOptions:n.codeBlockThemes?.monacoOptions,themes:n.codeBlockThemes?.themes,minWidth:n.codeBlockThemes?.minWidth,maxWidth:n.codeBlockThemes?.maxWidth,isDark:n.isDark,...re(n.codeBlockProps,{omit:["langs"]})},!1,t)}`},Ie=function(e,t,n){const{node:r,children:o}=e;return`<span${q("class","text-node whitespace-pre-wrap break-words"+(r.center?" text-node-center":""),"span","opaque")}>${P(o??r.content,t)}</span>`};function Ee(e){return"text"===e?.type&&""===String(e?.content??"").trim()}function He(e,t,n,r){const o=e.filter(e=>!Ee(e)),i=o.length>0&&o.every(e=>"image"===e.type||function(e){const t=function(e){return"link"===e?.type&&Array.isArray(e?.children)?e.children.filter(e=>!Ee(e)):[]}(e);return 1===t.length&&"image"===t[0]?.type}(e));if(!i||o.length<=1)return ae(e,n,r,t);const a=[];for(let s=0;s<e.length;s++){const t=e[s];if(!Ee(t)){a.push(t);continue}const n=a.length>0,r=e.slice(s+1).some(e=>!Ee(e));n&&r&&a.push({...t,content:" ",raw:" "})}return a.map((e,o)=>i&&Ee(e)?String(e?.content??""):t(e,`${r}-${o}`,n))}function De(e){const{node:t,ctx:n,renderNode:r,indexKey:o,children:i}=e;if(!n||!r)return $.createElement("p",{dir:"auto",className:"paragraph-node"},i);const a=t.children??[],s={...n.customComponents??z(n.customId),...n.htmlComponents??{},...n.streamingComponents??{}},l=[],c=[],d=()=>{if(!c.length)return;const e=l.length;l.push($.createElement("p",{key:`${String(o??"paragraph")}-inline-${e}`,dir:"auto",className:"paragraph-node"},He(c.slice(),r,n,`${String(o??"paragraph")}-${e}`))),c.length=0};return a.forEach((e,t)=>{const i="escape"!==(n.htmlPolicy??"safe")||"html_inline"!==e.type&&"html_block"!==e.type;oe.has(e.type)||i&&function(e,t,n){return"block"===le(e,t,n)?.display}(e,s,n.customHtmlTags)?(d(),l.push(r(e,`${String(o??"paragraph")}-block-${t}`,n))):c.push(e)}),d(),l.length?$.createElement($.Fragment,{},l):$.createElement("p",{dir:"auto",className:"paragraph-node"},He(a,r,n,String(o??"paragraph")))}var Oe=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a,children:s}=e,l=Math.min(6,Math.max(1,Number(r.level)||1)),c=`h${l}`,{class:d,className:u,style:p,...m}=r?.attrs??{};return`${A(t,c,{dir:"auto",className:["heading-node","font-semibold",`heading-${l}`,d,u].filter(Boolean).join(" "),..."object"==typeof p&&null!=p?{style:p}:{},...m,children:s??(o&&i?ae(r.children,o,String(a??`heading-${l}`),i):null)})}`},Me=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a,children:s}=e;return`${(()=>{const e=r.cite;return`<blockquote class="blockquote-node" dir="auto"${q("cite",e,"blockquote","opaque")}>${P(s??(o&&i?ae(r.children,o,String(a??"blockquote"),i):null),t)}</blockquote>`})()}`};function Le(e,t,n){const{node:r,ctx:o,renderNode:i,value:a,indexKey:s,children:l}=e;return`<li class="list-item pl-1.5 my-2" dir="auto"${q("value",null==a?void 0:a,"li","opaque")}>${P(l??(o&&i?ae(r.children,o,String(s??"list-item"),i):null),t)}</li>`}var We=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a}=e,s=r.ordered?"ol":"ul",l=r.ordered&&r.start?r.start:void 0,c=o&&z(o.customId).list_item||Le;return`${A(t,s,{className:r.ordered?"list-node my-5 pl-[calc(13/8*1em)] list-decimal":"list-node my-5 pl-[calc(13/8*1em)] list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)]",start:l,children:r.items?.map((e,t)=>b(c,{key:`${String(a??"list")}-${t}`,node:e,value:r.ordered?(r.start??1)+t:void 0,ctx:o,renderNode:i,indexKey:`${String(a??"list")}-${t}`,customId:o?.customId,isDark:o?.isDark,typewriter:o?.typewriter}))})}`},Fe=function(e,t,n){let r,o;const{node:i,ctx:a,renderNode:s,indexKey:l}=e,c=Array.isArray(i?.header?.cells)?i.header.cells:[],d=Boolean(i?.loading),u=Array.isArray(i?.rows)?i.rows:[],p=e=>"right"===e?"text-right":"center"===e?"text-center":"text-left";function m(e,t,n,r){return`<th${q("class",`font-semibold p-[calc(4/7*1em)] ${p(e.align)}`,"th","opaque")} dir="auto">${P(a&&s?se(e.children,a,`${String(l??"table")}-th-${t}`,s):null,n)}</th>`}function h(e,t,n,r){return`<tr${q("class",t<u.length-1?"border-[var(--table-border,#cbd5e1)] border-b":"border-[var(--table-border,#cbd5e1)]","tr","opaque")}>${P(e.cells?.map((e,n)=>w("td",{key:`cell-${t}-${n}`,className:`p-[calc(4/7*1em)] ${p(e.align)}`,dir:"auto"},()=>a&&s?se(e.children,a,`${String(l??"table")}-row-${t}-${n}`,s):null)),n)}</tr>`}return`<div class="table-node-wrapper"${q("data-index-key",l,"div","opaque")}>${(()=>{const e=d;return`<table${q("class","my-8 text-sm table-node"+(d?" table-node--loading":""),"table","opaque")}${q("aria-busy",e,"table","opaque")}><thead class="border-[var(--table-border,#cbd5e1)]"><tr class="border-b">${S((r=c.map,c),r)?j("f180afb2",()=>{const e=c;if(0===e.length)return I("",!1);let n="";for(let r=0;r<e.length;r++){const o=e[r];n+=B(((e,t)=>`header-${t}`)(0,r),()=>m(o,r,t))}return I(n,!0)}):T(S(c,r,(e,t)=>w("th",{key:`header-${t}`,className:`font-semibold p-[calc(4/7*1em)] ${p(e.align)}`,dir:"auto"},()=>a&&s?se(e.children,a,`${String(l??"table")}-th-${t}`,s):null)),t)}</tr></thead><tbody>${S((o=u.map,u),o)?j("f180aiq1",()=>{const e=u;if(0===e.length)return I("",!1);let n="";for(let r=0;r<e.length;r++){const o=e[r];n+=B(((e,t)=>`row-${t}`)(0,r),()=>h(o,r,t))}return I(n,!0)}):T(S(u,o,(e,t)=>w("tr",{key:`row-${t}`,className:t<u.length-1?"border-[var(--table-border,#cbd5e1)] border-b":"border-[var(--table-border,#cbd5e1)]"},()=>e.cells?.map((e,n)=>w("td",{key:`cell-${t}-${n}`,className:`p-[calc(4/7*1em)] ${p(e.align)}`,dir:"auto"},()=>a&&s?se(e.children,a,`${String(l??"table")}-row-${t}-${n}`,s):null)))),t)}</tbody></table>`})()}${T(d&&b("div",{className:"table-node__loading",role:"status","aria-live":"polite"},b("span",{className:"table-node__spinner","aria-hidden":"true"}),b("span",{className:"sr-only"},"Loading")),t)}</div>`},Re=function(e,t,n){let r;const{node:o,ctx:i,renderNode:a,indexKey:s}=e,l=Array.isArray(o.items)?o.items:[];function c(e,t,n,r){return`<div class="mb-4"><dt class="definition-term font-semibold">${P(i&&a?se(e.term,i,`${String(s??"definition")}-term-${t}`,a):null,n)}</dt><dd class="definition-desc ml-4">${P(i&&a?se(e.definition,i,`${String(s??"definition")}-desc-${t}`,a):null,n)}</dd></div>`}return`<dl class="definition-list"${q("data-index-key",s,"dl","opaque")}>${S((r=l.map,l),r)?j("f180bcyy",()=>{const e=l;if(0===e.length)return I("",!1);let n="";for(let r=0;r<e.length;r++){const o=e[r];n+=B(((e,t)=>`${String(s??"definition")}-${t}`)(0,r),()=>c(o,r,t))}return I(n,!0)}):T(S(l,r,(e,t)=>w("div",{key:`${String(s??"definition")}-${t}`,className:"mb-4"},()=>C([w("dt",{className:"definition-term font-semibold"},()=>i&&a?se(e.term,i,`${String(s??"definition")}-term-${t}`,a):null),w("dd",{className:"definition-desc ml-4"},()=>i&&a?se(e.definition,i,`${String(s??"definition")}-desc-${t}`,a):null)]))),t)}</dl>`},Ue=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a}=e;return`<div${q("id",`fnref--${r.id}`,"div","opaque")} class="footnote-node flex text-sm leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2"><div class="flex-1">${P(o&&i?ae(r.children,o,String(a??`footnote-${r.id}`),i):null,t)}</div></div>`},ze=function(e,t,n){const{node:r}=e,o=`#fnref--${r.id}`;return`<sup${q("id",`fnref-${r.id}`,"sup","opaque")} class="footnote-reference">${(()=>{const e=D({href:o}),n=`查看脚注 ${r.id}`;return`<span${K([[!0,e],[!1,"title",n],[!1,"className","footnote-link cursor-pointer"]],"span","opaque",!1)}>${E([[null!=e&&Object.prototype.propertyIsEnumerable.call(e,"dangerouslySetInnerHTML"),null!=e?e.dangerouslySetInnerHTML:void 0]],()=>`\n [\n ${T(r.id,t)}\n ]\n `,!0,[])??`\n [\n ${T(r.id,t)}\n ]\n `}</span>`})()}</sup>`},Ge=function(e,t,n){const{node:r}=e;return`${(()=>{const e=`#fnref-${r.id}`,t=`返回引用 ${r.id}`;return`<a class="footnote-anchor text-sm hover:underline cursor-pointer"${q("href",e,"a","opaque")}${q("title",t,"a","opaque")}>\n ↩︎\n </a>`})()}`},Ve=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a,isDark:s}=e,l=String(r.kind||"note"),c=r.title&&String(r.title).trim().length?String(r.title):l.charAt(0).toUpperCase()+l.slice(1),d=`admonition-${String(a??l)}`,u=!r.collapsible||(r.open??!0),p={note:"ℹ️",info:"ℹ️",tip:"💡",warning:"⚠️",danger:"❗",error:"⛔",caution:"⚠️"};return`${(()=>{const e=a;return`<div${q("class",`admonition admonition-${l}${s?" is-dark":""}`,"div","opaque")}${q("data-index-key",e,"div","opaque")}><div${q("id",d,"div","opaque")} class="admonition-header">${T(p[l]&&w("span",{className:"admonition-icon"},()=>p[l]),t)}<span class="admonition-title">${P(c,t)}</span>${T(r.collapsible&&v(()=>w("span",{className:"admonition-toggle","aria-expanded":u,"aria-controls":`${d}-content`},()=>w("span",{},()=>u?"▼":"▶"))),t)}</div>${T(u&&v(()=>w("div",{id:`${d}-content`,className:"admonition-content","aria-labelledby":d},()=>o&&i?ae(r.children,o,String(a??d),i):null)),t)}</div>`})()}`},Xe=function(e,t,n){const{node:r}=e;return`<span class="checkbox-node"><input type="checkbox" disabled="" class="checkbox-input" readonly=""${H([[!1,"checked",Boolean(r.checked)]])}/></span>`},Ye=function(e,t,n){const{node:r}=e;return`<span class="emoji-node">${P(r.name??r.markup,t)}</span>`},Ze=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<strong class="strong-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"strong")}-strong`,a):null),t)}</strong>`},Je=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<em class="emphasis-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"emphasis")}-emphasis`,a):null),t)}</em>`},Qe=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<del class="strikethrough-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"strikethrough")}-strikethrough`,a):null),t)}</del>`},et=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<mark class="highlight-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"highlight")}-highlight`,a):null),t)}</mark>`},tt=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<ins class="insert-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"insert")}-insert`,a):null),t)}</ins>`},nt=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<sub class="subscript-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"subscript")}-subscript`,a):null),t)}</sub>`},rt=function(e,t,n){const{node:r,children:o,ctx:i,renderNode:a,indexKey:s}=e;return`<sup class="superscript-node">${P(o??(i&&a?ae(r.children,i,`${String(s??"superscript")}-superscript`,a):null),t)}</sup>`},ot=function(e,t,n){return"<br/>"},it=function(e,t,n){return'<hr class="thematic-break-node"/>'},at=function(e,t,n){const{node:r,children:o}=e;return`<code class="inline-code inline text-[85%] px-1 py-0.5 rounded font-mono bg-[hsl(var(--secondary))] whitespace-normal break-words max-w-full">${P(o??r.code,t)}</code>`},st=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a}=e,s=void 0!==e.underlineBottom?"number"==typeof e.underlineBottom?`${e.underlineBottom}px`:String(e.underlineBottom):"-3px",l=e.animationOpacity??.35,c=Math.max(.12,Math.min(.5*l,l)),d={"--link-color":e.color??"#0366d6","--underline-height":`${e.underlineHeight??2}px`,"--underline-bottom":s,"--underline-opacity":String(l),"--underline-rest-opacity":String(c),"--underline-duration":`${e.animationDuration??1.6}s`,"--underline-timing":e.animationTiming??"ease-in-out","--underline-iteration":"number"==typeof e.animationIteration?String(e.animationIteration):e.animationIteration??"infinite"},p=u({href:String(r.href??"")}).href,m="string"==typeof r.title&&r.title.trim().length>0?r.title:String(p??""),g=h(p);return r.loading?v(()=>w("span",{className:"link-loading inline-flex items-baseline gap-1.5","aria-hidden":"false",style:d},()=>w("span",{className:"link-text-wrapper relative inline-flex"},()=>C([w("span",{className:"leading-[normal] link-text"},()=>v(()=>b(Ie,{node:{type:"text",content:String(r.text??"")},ctx:o,indexKey:`${String(a??"link")}-loading`,typewriter:e.typewriter}))),b("span",{className:"link-loading-indicator","aria-hidden":"true"})])))):`${(()=>{const n=m,s=`Link: ${m}`,l=g?"_blank":void 0,c=g?"noopener noreferrer":void 0,u=d;return`<a class="link-node"${q("href",p||void 0,"a","opaque")}${q("title",n,"a","opaque")}${q("aria-label",s,"a","opaque")}${q("target",l,"a","opaque")}${q("rel",c,"a","opaque")}${O(u)}>${T(o&&i?ae(r.children,o,String(a??"link"),i):v(()=>b(Ie,{node:{type:"text",content:String(r.text??"")},ctx:o,indexKey:`${String(a??"link")}-fallback`,typewriter:e.typewriter})),t)}</a>`})()}`},lt=function(e,t,n){const r=e,o=m(r.node.src)||m(r.fallbackSrc);return o?`${(()=>{const e=o,t=String(r.node.alt??r.node.title??""),n=String(r.node.title??r.node.alt??""),i=!1===r.lazy?"eager":"lazy",a=r.node.alt??"Preview image";return`<img${q("src",e,"img","opaque")}${q("alt",t,"img","opaque")}${q("title",n,"img","opaque")} class="image-node__img is-loaded"${q("loading",i,"img","opaque")} decoding="async" tabindex="0"${q("aria-label",a,"img","opaque")}/>`})()}`:null};function ct({node:e},t,n){const r=Ke(e?.language),o=`language-${r}`,i=r?`Code block: ${r}`:"Code block";return`${(()=>{const n=o,a=!0===e?.loading,s=i,l=r;return`<pre${q("class",n,"pre","opaque")}${q("aria-busy",a,"pre","opaque")}${q("aria-label",s,"pre","opaque")}${q("data-language",l,"pre","opaque")} tabindex="0"><code translate="no">${P(String(e?.code??""),t)}</code></pre>`})()}`}function dt(e){return Te("code-block-node",e.node,{showHeader:e.showHeader,fallback:"code-block"})}function ut(e){return Te("markdown-code-block-node",e.node,{showHeader:e.showHeader,fallback:"markdown-code-block"})}function pt(e){return Te("mermaid-block-node",e.node,{showHeader:e.showHeader,fallback:"mermaid"})}function mt(e){return Te("d2-block-node",e.node,{showHeader:e.showHeader,fallback:"d2"})}function ht(e){return Te("infographic-block-node",e.node,{showHeader:e.showHeader,fallback:"infographic"})}var gt=function({node:e},t,n){const r=_e(String(e.content??""),!0,Boolean(e.loading));return r?`<div class="math-block text-center overflow-x-auto relative min-h-[40px]"><div>${E([[!0,{__html:r}]],()=>"",!1,[])??""}</div></div>`:w("div",{className:"math-block text-center overflow-x-auto relative min-h-[40px]"},()=>w("div",{},()=>String(e.raw??e.content??"")))},ft=function({node:e},t,n){const r="$$"===e.markup,o=_e(String(e.content??""),r,Boolean(e.loading));return o?`<span class="math-inline-wrapper"><span class="math-inline">${E([[!0,{__html:o}]],()=>"",!1,[])??""}</span></span>`:w("span",{className:"math-inline-wrapper"},()=>w("span",{className:"math-inline"},()=>String(e.raw??e.content??"")))},yt=function(e,t,n){const{node:r}=e;return`${(()=>{const e=r.id;return`<span class="reference-node cursor-pointer bg-[hsl(var(--muted))] text-xs rounded-md px-1.5 mx-0.5 hover:bg-[hsl(var(--secondary))]" role="button" tabindex="0"${q("data-reference-id",e,"span","opaque")}>${P(r.id,t)}</span>`})()}`},kt=function(e,r,o){const i=String(e.node?.tag??"").trim().toLowerCase(),s=c(i),l=Array.isArray(e.node?.children)?e.node.children:[],d=s?e.ctx?.htmlComponents?.[s]:void 0;if(l.length>0&&i&&!t.has(i)&&!a(i,e.ctx?.htmlPolicy??"safe")&&e.ctx&&e.renderNode){const t=ae(l,e.ctx,`${String(e.indexKey??"html-block")}-structured`,e.renderNode);if(d){const r=p(e.node?.attrs??null,e.ctx?.htmlPolicy??"safe",s);return $.createElement(d,n(y(r)),t)}return $.createElement(i,function(e,t="safe",n){const r={...de(ie(p(e??void 0,t,n))||{})},o="string"==typeof r.className?r.className.trim():"";return r.className=o?`html-block-node ${o}`:"html-block-node",r}(e.node?.attrs??null,e.ctx?.htmlPolicy??"safe",i),t)}const u={...e.ctx?.customComponents??z(e.customId),...e.ctx?.htmlComponents??{}},m=we(String(e.node.content??""),u,e.ctx?.htmlPolicy??"safe",{ctx:e.ctx,keyPrefix:String(e.indexKey??"html-block"),nodeComponents:e.ctx?.streamingComponents,propComponents:e.ctx?.htmlComponents,renderNode:e.renderNode,sourceNode:e.node});return null==m?w(x,{},()=>C([String(e.node.content??"")])):`${T(w(x,{},()=>C([m])),r)}`},$t=function(e,t,r){const o=e.ctx?.htmlPolicy??"safe",i=String(e.node?.tag??"").trim().toLowerCase(),s=c(i),l=Array.isArray(e.node?.children)?e.node.children:[],d=s?e.ctx?.htmlComponents?.[s]:void 0;if(l.length>0&&i&&"escape"!==o&&!a(i,o)&&e.ctx&&e.renderNode&&d){const t=ae(l,e.ctx,`${String(e.indexKey??"html-inline")}-structured`,e.renderNode),r=p(e.node?.attrs??null,o,s);return $.createElement(d,n(y(r)),t)}const u={...e.ctx?.customComponents??z(e.customId),...e.ctx?.htmlComponents??{}},m=we(String(e.node.content??""),u,o,{ctx:e.ctx,keyPrefix:String(e.indexKey??"html-inline"),nodeComponents:e.ctx?.streamingComponents,propComponents:e.ctx?.htmlComponents,renderNode:e.renderNode,sourceNode:e.node});return null==m?w(x,{},()=>C([String(e.node.content??"")])):`${T(w(x,{},()=>C([m])),t)}`},xt=function(e,t,n){const{node:r,ctx:o,renderNode:i,indexKey:a}=e,s=r.attrs?Array.isArray(r.attrs)?ie(r.attrs):r.attrs:void 0;return`${(()=>{const e=`vmr-container vmr-container-${r.name}`,n=D(s);return`<div${K([[!1,"className",e],[!0,n]],"div","opaque",!1)}>${E([[null!=n&&Object.prototype.propertyIsEnumerable.call(n,"dangerouslySetInnerHTML"),null!=n?n.dangerouslySetInnerHTML:void 0]],()=>`${T(o&&i&&Array.isArray(r.children)?r.children.map((e,t)=>w($.Fragment,{key:`${String(a??"vmr-container")}-${t}`},()=>i(e,`${String(a??"vmr-container")}-${t}`,o))):null,t)}`,!1,[])??`${T(o&&i&&Array.isArray(r.children)?r.children.map((e,t)=>w($.Fragment,{key:`${String(a??"vmr-container")}-${t}`},()=>i(e,`${String(a??"vmr-container")}-${t}`,o))):null,t)}`}</div>`})()}`};function bt(e){return null}function wt(e){return null}var vt=function(e,t,n){const{node:r}=e;return`<div class="unknown-node text-sm text-gray-500 italic">\n Unsupported node type:\n ${T(String(r?.type),t)}</div>`};function Nt(e,t,r){const o=r.customComponents??z(r.customId),i=r.streamingComponents??{},a=r.htmlComponents??{},s=function(e){if("html_block"===e.type||"html_inline"===e.type)return"";const t=c(e.type),n=c(e.tag);return t&&n&&t===n?t:""}(e),l=s?i[s]:null,d=s&&!l?a[s]:null,u="code_block"===e.type?null:o[e.type];if(l)return $.createElement(l,{key:t,node:e,customId:r.customId,isDark:r.isDark,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade});if(d)return function(e,t,r,o,i){const a=n(y(p(t.attrs??void 0,o.htmlPolicy??"safe",i))),s=Array.isArray(t.children)?ae(t.children,o,`${String(r)}-html`,Nt):t.content??null;return $.createElement(e,{...a,key:r},s)}(d,e,t,r,s);if(u)return $.createElement(u,{key:t,node:e,customId:r.customId,isDark:r.isDark,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade});if("html_block"===e.type||"html_inline"===e.type){const n=le(e,{...o,...i},r.customHtmlTags),a=n?.tag??"",s=n?.isWhitelisted??!1,l=n?.component??null;if(s&&l){const n={...e,type:a,tag:a,content:f(e.content,a)};return $.createElement(l,{key:t,node:n,customId:r.customId,isDark:r.isDark,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade})}const c=String(e.content??e.raw??"");if(!s&&g(c,a))return"html_inline"===e.type?v(()=>b(Ie,{key:t,node:{type:"text",content:c,raw:c},ctx:r,indexKey:t,typewriter:r.typewriter})):v(()=>b(De,{key:t,node:{type:"paragraph",children:[{type:"text",content:c,raw:c}],raw:c},ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}))}switch(e.type){case"text":return v(()=>b(Ie,{key:t,node:e,ctx:r,indexKey:t,typewriter:r.typewriter}));case"text_special":return v(()=>b(Ie,{key:t,node:{type:"text",content:e.content??"",center:e.center},ctx:r,indexKey:t,typewriter:r.typewriter}));case"paragraph":return v(()=>b(De,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"heading":return v(()=>b(Oe,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"blockquote":return v(()=>b(Me,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"list":return v(()=>b(We,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"list_item":return v(()=>b(Le,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"table":return v(()=>b(Fe,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"definition_list":return v(()=>b(Re,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"footnote":return v(()=>b(Ue,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"footnote_reference":return v(()=>b(ze,{key:t,node:e}));case"footnote_anchor":return v(()=>b(Ge,{key:t,node:e}));case"admonition":return v(()=>b(Ve,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,isDark:r.isDark,typewriter:r.typewriter}));case"hardbreak":return v(()=>b(ot,{key:t,node:e,typewriter:r.typewriter}));case"link":return v(()=>b(st,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,isDark:r.isDark,showTooltip:"boolean"==typeof r.showTooltips?r.showTooltips:void 0,typewriter:r.typewriter}));case"image":return v(()=>b(lt,{key:t,node:e}));case"inline_code":return v(()=>b(at,{key:t,node:e,ctx:r,indexKey:t,typewriter:r.typewriter}));case"code_block":return je(e,t,r,o);case"strong":return v(()=>w(Ze,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-strong`,Nt)));case"emphasis":return v(()=>w(Je,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-em`,Nt)));case"strikethrough":return v(()=>w(Qe,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-strike`,Nt)));case"highlight":return v(()=>w(et,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-highlight`,Nt)));case"insert":return v(()=>w(tt,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-insert`,Nt)));case"subscript":return v(()=>w(nt,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-sub`,Nt)));case"superscript":return v(()=>w(rt,{key:t,node:e},()=>ae(e.children,r,`${String(t)}-sup`,Nt)));case"checkbox":case"checkbox_input":return v(()=>b(Xe,{key:t,node:e,typewriter:r.typewriter}));case"emoji":return v(()=>b(Ye,{key:t,node:e,typewriter:r.typewriter}));case"thematic_break":return v(()=>b(it,{key:t,node:e}));case"math_inline":return v(()=>b(ft,{key:t,node:e}));case"math_block":return v(()=>b(gt,{key:t,node:e}));case"reference":return v(()=>b(yt,{key:t,node:e,ctx:r,typewriter:r.typewriter}));case"html_block":return v(()=>b(kt,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade,customId:r.customId}));case"html_inline":return v(()=>b($t,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter,fade:r.fade,customId:r.customId}));case"vmr_container":return v(()=>b(xt,{key:t,node:e,ctx:r,renderNode:Nt,indexKey:t,typewriter:r.typewriter}));case"label_open":case"label_close":return null;default:return v(()=>b(vt,{key:t,node:e}))}}var St=function(e,t,n){let r;const i=z(e.customId),a=Q(e.streamingComponents),s=Q(e.htmlComponents),c=e.parseOptions??{},u=c.customHtmlTags??[],p=l(e.customHtmlTags,Array.isArray(u)?u:[],Object.keys(a)),m=e.customId?`server-renderer-${e.customId}`:"server-renderer",h=p.length>0?o(m,{customHtmlTags:p}):o(m),g=e.customMarkdownIt?e.customMarkdownIt(h):h,f=e.final??c.final,y=null==f&&0===p.length?c:{...c,...null!=f?{final:f}:{},...p.length>0?{customHtmlTags:p}:{}},k=Array.isArray(e.nodes)&&e.nodes.length?e.nodes.map(e=>({...e})):e.content?d(e.content,g??qe,y):[],$=null!=e.indexKey?String(e.indexKey):"markdown-renderer",x=function(e,t,n,r,o,i,a){return{customId:e.customId,final:a,customComponents:t,customHtmlTags:i,htmlPolicy:e.htmlPolicy??"safe",isDark:e.isDark,indexKey:o,typewriter:e.typewriter,fade:e.fade,showTooltips:e.showTooltips,streamingComponents:n,htmlComponents:r,renderCodeBlocksAsPre:e.renderCodeBlocksAsPre,codeBlockStream:e.codeBlockStream,codeBlockProps:{..."boolean"==typeof e.showTooltips?{showTooltips:e.showTooltips}:{},...e.codeBlockProps||{}},mermaidProps:{...e.mermaidProps||{}},d2Props:{...e.d2Props||{}},infographicProps:{...e.infographicProps||{}},codeBlockThemes:{themes:e.themes,langs:e.langs,darkTheme:e.codeBlockDarkTheme,lightTheme:e.codeBlockLightTheme,monacoOptions:e.codeBlockMonacoOptions,minWidth:e.codeBlockMinWidth,maxWidth:e.codeBlockMaxWidth},events:{onCopy:e.onCopy,onHandleArtifactClick:e.onHandleArtifactClick}}}(e,i,a,s,$,p,f);function b(e,t,n,r){return`${(()=>{const r=t,o=e.type;return`<div class="node-slot"${q("data-node-index",r,"div","opaque")}${q("data-node-type",o,"div","opaque")}><div class="node-content">${P(Nt(e,`${$}-${t}`,x),n)}</div></div>`})()}`}return`${(()=>{const n="markstream-octane markdown-renderer"+(e.isDark?" dark":""),o=e.customId;return`<div${q("class",n,"div","opaque")}${q("data-custom-id",o,"div","opaque")}>${S((r=k.map,k),r)?j("f182gb9l",()=>{const e=k;if(0===e.length)return I("",!1);let n="";for(let r=0;r<e.length;r++){const o=e[r];n+=B(((e,t)=>`${$}-${t}`)(0,r),()=>b(o,r,t))}return I(n,!0)}):T(S(k,r,(e,t)=>w("div",{key:`${$}-${t}`,className:"node-slot","data-node-index":t,"data-node-type":e.type},()=>w("div",{className:"node-content"},()=>Nt(e,`${$}-${t}`,x)))),t)}</div>`})()}`};export{Ve as AdmonitionNode,Me as BlockquoteNode,Xe as CheckboxNode,dt as CodeBlockNode,dt as OctaneCodeBlockNode,mt as D2BlockNode,Re as DefinitionListNode,Ye as EmojiNode,Je as EmphasisNode,vt as FallbackComponent,Ge as FootnoteAnchorNode,Ue as FootnoteNode,ze as FootnoteReferenceNode,ot as HardBreakNode,Oe as HeadingNode,et as HighlightNode,kt as HtmlBlockNode,$t as HtmlInlineNode,wt as HtmlPreviewFrame,lt as ImageNode,ht as InfographicBlockNode,at as InlineCodeNode,tt as InsertNode,st as LinkNode,Le as ListItemNode,We as ListNode,ut as MarkdownCodeBlockNode,gt as MathBlockNode,ft as MathInlineNode,pt as MermaidBlockNode,St as NodeRenderer,St as default,De as ParagraphNode,ct as PreCodeNode,yt as ReferenceNode,Qe as StrikethroughNode,Ze as StrongNode,nt as SubscriptNode,rt as SuperscriptNode,Fe as TableNode,Ie as TextNode,it as ThematicBreakNode,bt as Tooltip,xt as VmrContainerNode,V as clearGlobalCustomComponents,J as defineHtmlComponents,Z as defineStreamingComponents,X as getCustomComponentDisplay,z as getCustomNodeComponents,G as removeCustomComponents,Nt as renderNode,U as setCustomComponents,Y as withMarkstreamComponentDisplay};
|
package/dist/server.d.ts
CHANGED
|
@@ -152,6 +152,7 @@ interface CodeBlockNodeProps extends CommonCodeBlockProps {
|
|
|
152
152
|
showPreviewButton?: boolean;
|
|
153
153
|
showCollapseButton?: boolean;
|
|
154
154
|
showFontSizeButtons?: boolean;
|
|
155
|
+
showLineNumbers?: boolean;
|
|
155
156
|
showTooltips?: boolean;
|
|
156
157
|
htmlPreviewAllowScripts?: boolean;
|
|
157
158
|
htmlPreviewSandbox?: string;
|
package/dist/tailwind.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const safeList = `
|
|
1
|
+
const safeList = `error [mermaidWorkerClient] messageerror cleared worker instance inject via busy call timed out canParse findPrefix octane typeof class=\"admonition-header\"><!><span data-index-key id note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby html-block-node ref className stream-markdown-parser safe escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 dependency is not install it to enable token.type block child string name value ms-html text self_closing tag_open tag_close parse html-inline dynamic template html-inline-node html-inline-node--loading inline clsx auto heading-node font-semibold object none w-4 h-4 flex-shrink-0 library failed render text-red-500 p-4 hidden keydown transform ease center flex fullscreen touches p-2 text-xs rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 data-markstream-infographic showSource hasPreview my-4 rounded-lg border overflow-hidden justify-between items-center px-4 py-2.5 border-b bg-gray-800 border-gray-700/30 bg-gray-50 border-gray-200 gap-x-2 text-sm font-medium font-mono gap-x-1 rounded-md px-2.5 py-1 transition-colors bg-gray-600 text-gray-200 shadow-sm bg-white text-gray-700 text-gray-500 w-3 h-3 currentColor round m16 top m9 opacity-50 cursor-not-allowed m7 m14 relative absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 inset-0 isDragging w-full text-center justify-center min-h-full markstream-octane fixed z-50 bg-black/70 dialog aria-modal dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging class=\"inline-code text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b click class=\"footnote-reference\"><span>\n $$click footnote-link cursor-pointer smooth markstream-d2-root-svg number window.requestAnimationFrame d2InstanceRef.current instance.render throw new missing returned empty d2-block bg-gray-900 text-gray-100 text-gray-900 d2-block-header border-gray-400/5 mode-btn px-2 !showSource d2-action-btn hover:bg-[var(--vscode-editor-selectionBackground)] aria-label aria-hidden aria-pressed d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 primary fallback image async ?? placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error load class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition mb-4 dt definition-term dd definition-desc ml-4 class=\"list-item pl-1.5 list-item list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] list markstream-core plaintext vitesse-dark vitesse-light canonicalLanguage shiki shiki-fallback console.warn('[MarkdownCodeBlockNode] dispose stream-markdown available [MarkdownCodeBlockNode] stale ready requires with and using default language register configured retrying without clientX navigator.clipboard navigator.clipboard.writeText code-block-container is-dark code-block-header space-x-2 icon-slot code-action-btn code-block-content code-block-render code-fallback-plain code-loading-placeholder loading-skeleton skeleton-line short paragraph paragraph-node child.type renderNode ctx mouseenter mouseleave class=\"reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown event.key class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n href class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr p-[calc(4/7*1em)] table-node__resize-handle rowIdx bodyRows.length aria-busy text-left pointermove pointerup pointercancel my-8 isLoading table-node__loading status aria-live polite table-node__spinner sr-only javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin mermaid node.type next.maxHeight infographic langs code_block html_inline text_special heading list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak boolean inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close cannot delete global clearGlobalCustomComponents was provided in both streamingComponents entry will be used parser-backed class=\"hr-node dark window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 tooltip animationend $$animationend text-node whitespace-pre-wrap node.center zoom class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div class=\"checkbox-node\"><input loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode preview common.zoomIn common.zoomOut −\n common.resetZoom transition-[height] duration-150 data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-1 common.preview source common.source common.export text-gray-300 mermaid-error data-markstream-mermaid hasRenderedOnce mermaid-modal-overlay mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content abort [markstream-octane] htmlPreviewSandbox contains allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank [katexWorkerClient] init cache-hit timeout waiting slot class=\"unknown-node italic\">\n node type:\n thinking document class children key normalizedType data-language data-markstream-line-numbers diff !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code $$ math-inline__loading math-inline__spinner viteEnv.MODE development process role aria-describedby class=\"math-block overflow-x-auto math-rendering indexKey prototype constructor °C sequencediagram classdiagram kind statediagram erdiagram flowchart graph globalThis.requestAnimationFrame globalThis.cancelAnimationFrame module did expected target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer class=\"code-editor-layer\"><div></div><div code-height-placeholder m-0 style.visibility line-info legacy off never background night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type explicit monospace fontSize lineHeight paddingBottom paddingTop tabSize fontFamily on same single window.cancelAnimationFrame flex-1 truncate evenodd next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-octane][perf] theme markdown-renderer katex stream-monaco cite existingEnv.getWorkerUrl`;
|
|
2
2
|
module.exports = safeList;
|
|
3
3
|
module.exports.safeList = safeList;
|
|
4
4
|
module.exports.default = safeList;
|
package/dist/tailwind.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const safeList = `
|
|
1
|
+
export const safeList = `error [mermaidWorkerClient] messageerror cleared worker instance inject via busy call timed out canParse findPrefix octane typeof class=\"admonition-header\"><!><span data-index-key id note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby html-block-node ref className stream-markdown-parser safe escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 dependency is not install it to enable token.type block child string name value ms-html text self_closing tag_open tag_close parse html-inline dynamic template html-inline-node html-inline-node--loading inline clsx auto heading-node font-semibold object none w-4 h-4 flex-shrink-0 library failed render text-red-500 p-4 hidden keydown transform ease center flex fullscreen touches p-2 text-xs rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 data-markstream-infographic showSource hasPreview my-4 rounded-lg border overflow-hidden justify-between items-center px-4 py-2.5 border-b bg-gray-800 border-gray-700/30 bg-gray-50 border-gray-200 gap-x-2 text-sm font-medium font-mono gap-x-1 rounded-md px-2.5 py-1 transition-colors bg-gray-600 text-gray-200 shadow-sm bg-white text-gray-700 text-gray-500 w-3 h-3 currentColor round m16 top m9 opacity-50 cursor-not-allowed m7 m14 relative absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 inset-0 isDragging w-full text-center justify-center min-h-full markstream-octane fixed z-50 bg-black/70 dialog aria-modal dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging class=\"inline-code text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b click class=\"footnote-reference\"><span>\n $$click footnote-link cursor-pointer smooth markstream-d2-root-svg number window.requestAnimationFrame d2InstanceRef.current instance.render throw new missing returned empty d2-block bg-gray-900 text-gray-100 text-gray-900 d2-block-header border-gray-400/5 mode-btn px-2 !showSource d2-action-btn hover:bg-[var(--vscode-editor-selectionBackground)] aria-label aria-hidden aria-pressed d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 primary fallback image async ?? placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error load class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition mb-4 dt definition-term dd definition-desc ml-4 class=\"list-item pl-1.5 list-item list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] list markstream-core plaintext vitesse-dark vitesse-light canonicalLanguage shiki shiki-fallback console.warn('[MarkdownCodeBlockNode] dispose stream-markdown available [MarkdownCodeBlockNode] stale ready requires with and using default language register configured retrying without clientX navigator.clipboard navigator.clipboard.writeText code-block-container is-dark code-block-header space-x-2 icon-slot code-action-btn code-block-content code-block-render code-fallback-plain code-loading-placeholder loading-skeleton skeleton-line short paragraph paragraph-node child.type renderNode ctx mouseenter mouseleave class=\"reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown event.key class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n href class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr p-[calc(4/7*1em)] table-node__resize-handle rowIdx bodyRows.length aria-busy text-left pointermove pointerup pointercancel my-8 isLoading table-node__loading status aria-live polite table-node__spinner sr-only javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin mermaid node.type next.maxHeight infographic langs code_block html_inline text_special heading list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak boolean inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close cannot delete global clearGlobalCustomComponents was provided in both streamingComponents entry will be used parser-backed class=\"hr-node dark window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 tooltip animationend $$animationend text-node whitespace-pre-wrap node.center zoom class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div class=\"checkbox-node\"><input loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode preview common.zoomIn common.zoomOut −\n common.resetZoom transition-[height] duration-150 data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-1 common.preview source common.source common.export text-gray-300 mermaid-error data-markstream-mermaid hasRenderedOnce mermaid-modal-overlay mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content abort [markstream-octane] htmlPreviewSandbox contains allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank [katexWorkerClient] init cache-hit timeout waiting slot class=\"unknown-node italic\">\n node type:\n thinking document class children key normalizedType data-language data-markstream-line-numbers diff !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code $$ math-inline__loading math-inline__spinner viteEnv.MODE development process role aria-describedby class=\"math-block overflow-x-auto math-rendering indexKey prototype constructor °C sequencediagram classdiagram kind statediagram erdiagram flowchart graph globalThis.requestAnimationFrame globalThis.cancelAnimationFrame module did expected target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer class=\"code-editor-layer\"><div></div><div code-height-placeholder m-0 style.visibility line-info legacy off never background night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type explicit monospace fontSize lineHeight paddingBottom paddingTop tabSize fontFamily on same single window.cancelAnimationFrame flex-1 truncate evenodd next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-octane][perf] theme markdown-renderer katex stream-monaco cite existingEnv.getWorkerUrl`;
|
|
2
2
|
export default safeList;
|
|
@@ -95,6 +95,7 @@ export interface CodeBlockNodeProps extends CommonCodeBlockProps {
|
|
|
95
95
|
showPreviewButton?: boolean;
|
|
96
96
|
showCollapseButton?: boolean;
|
|
97
97
|
showFontSizeButtons?: boolean;
|
|
98
|
+
showLineNumbers?: boolean;
|
|
98
99
|
showTooltips?: boolean;
|
|
99
100
|
htmlPreviewAllowScripts?: boolean;
|
|
100
101
|
htmlPreviewSandbox?: string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markstream-octane",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.56-beta.
|
|
4
|
+
"version": "0.0.56-beta.3",
|
|
5
5
|
"description": "Octane streaming Markdown renderer for AI chat, LLM token streams, SSE/WebSocket output, incomplete Markdown, long documents, Mermaid, KaTeX, Shiki, Monaco, and custom Octane components.",
|
|
6
6
|
"author": "Simon He",
|
|
7
7
|
"license": "MIT",
|
|
@@ -110,8 +110,8 @@
|
|
|
110
110
|
"dependencies": {
|
|
111
111
|
"@floating-ui/dom": "^1.8.0",
|
|
112
112
|
"clsx": "^2.1.1",
|
|
113
|
-
"
|
|
114
|
-
"
|
|
113
|
+
"markstream-core": "1.0.3",
|
|
114
|
+
"stream-markdown-parser": "1.2.1"
|
|
115
115
|
},
|
|
116
116
|
"devDependencies": {
|
|
117
117
|
"@octanejs/testing-library": "^0.1.18",
|