@refrakt-md/editor 0.24.0 → 0.24.1
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/app/dist/assets/{index-DjOyxPj-.js → index-8bny6Wqk.js} +26 -26
- package/app/dist/assets/{index-CxHpm9y_.js → index-B8fTAmhP.js} +1 -1
- package/app/dist/assets/{index-BP7gTPna.js → index-Bb2vEsbg.js} +1 -1
- package/app/dist/assets/{index-QxqaOwbg.js → index-CMQZAOlO.js} +1 -1
- package/app/dist/assets/{index-DaOsQc7e.js → index-CVOQ-0cu.js} +1 -1
- package/app/dist/assets/{index-CKFt-7G8.js → index-CsC8wJF5.js} +1 -1
- package/app/dist/assets/{index-WVl6IBDi.js → index-CzETIFyu.js} +1 -1
- package/app/dist/assets/{index-pGWO1_MG.js → index-D-_FVMDm.js} +1 -1
- package/app/dist/assets/{index-B_eSbOtN.js → index-D7qsmgxj.js} +1 -1
- package/app/dist/assets/{index-C42lr9ZS.js → index-DBw9y-mH.js} +1 -1
- package/app/dist/assets/{index-DK--pZ9a.js → index-DKgoUhbe.js} +1 -1
- package/app/dist/assets/{index-Bj_PmduU.js → index-DOAt_21u.js} +1 -1
- package/app/dist/assets/{index-BvEu7II1.js → index-DPbICrvu.js} +1 -1
- package/app/dist/assets/{index-mzd1hmL9.js → index-Dovjrqlh.js} +1 -1
- package/app/dist/assets/{index-JsHwtusR.js → index-DwCdfvgS.js} +1 -1
- package/app/dist/assets/{index-DtHuAIO7.js → index-_oIpbz1G.js} +1 -1
- package/app/dist/assets/{index-Df0mI0b8.js → index-dXT3EwNf.js} +1 -1
- package/app/dist/assets/{index-DmPG9jP3.js → index-g_euyIj0.js} +1 -1
- package/app/dist/assets/{index-r_mflh-I.js → index-oKprDk_m.js} +1 -1
- package/app/dist/index.html +1 -1
- package/package.json +6 -6
|
@@ -292,9 +292,9 @@ ${t}
|
|
|
292
292
|
`);const y=new e("!xml");let S=y,C="",k="";for(let x=0;x<w.length;x++)if(w[x]==="<")if(w[x+1]==="/"){const T=v(w,">",x,"Closing Tag is not closed.");let $=w.substring(x+2,T).trim();if(this.options.removeNSPrefix){const q=$.indexOf(":");q!==-1&&($=$.substr(q+1))}this.options.transformTagName&&($=this.options.transformTagName($)),S&&(C=this.saveTextToParentTag(C,S,k));const Q=k.substring(k.lastIndexOf(".")+1);if($&&this.options.unpairedTags.indexOf($)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${$}>`);let P=0;Q&&this.options.unpairedTags.indexOf(Q)!==-1?(P=k.lastIndexOf(".",k.lastIndexOf(".")-1),this.tagsNodeStack.pop()):P=k.lastIndexOf("."),k=k.substring(0,P),S=this.tagsNodeStack.pop(),C="",x=T}else if(w[x+1]==="?"){let T=b(w,x,!1,"?>");if(!T)throw new Error("Pi Tag is not closed.");if(C=this.saveTextToParentTag(C,S,k),!(this.options.ignoreDeclaration&&T.tagName==="?xml"||this.options.ignorePiTags)){const $=new e(T.tagName);$.add(this.options.textNodeName,""),T.tagName!==T.tagExp&&T.attrExpPresent&&($[":@"]=this.buildAttributesMap(T.tagExp,k,T.tagName)),this.addChild(S,$,k)}x=T.closeIndex+1}else if(w.substr(x+1,3)==="!--"){const T=v(w,"-->",x+4,"Comment is not closed.");if(this.options.commentPropName){const $=w.substring(x+4,T-2);C=this.saveTextToParentTag(C,S,k),S.add(this.options.commentPropName,[{[this.options.textNodeName]:$}])}x=T}else if(w.substr(x+1,2)==="!D"){const T=t(w,x);this.docTypeEntities=T.entities,x=T.i}else if(w.substr(x+1,2)==="!["){const T=v(w,"]]>",x,"CDATA is not closed.")-2,$=w.substring(x+9,T);C=this.saveTextToParentTag(C,S,k);let Q=this.parseTextData($,S.tagname,k,!0,!1,!0,!0);Q==null&&(Q=""),this.options.cdataPropName?S.add(this.options.cdataPropName,[{[this.options.textNodeName]:$}]):S.add(this.options.textNodeName,Q),x=T+2}else{let T=b(w,x,this.options.removeNSPrefix),$=T.tagName;const Q=T.rawTagName;let P=T.tagExp,q=T.attrExpPresent,I=T.closeIndex;this.options.transformTagName&&($=this.options.transformTagName($)),S&&C&&S.tagname!=="!xml"&&(C=this.saveTextToParentTag(C,S,k,!1));const W=S;if(W&&this.options.unpairedTags.indexOf(W.tagname)!==-1&&(S=this.tagsNodeStack.pop(),k=k.substring(0,k.lastIndexOf("."))),$!==y.tagname&&(k+=k?"."+$:$),this.isItStopNode(this.options.stopNodes,k,$)){let U="";if(P.length>0&&P.lastIndexOf("/")===P.length-1)$[$.length-1]==="/"?($=$.substr(0,$.length-1),k=k.substr(0,k.length-1),P=$):P=P.substr(0,P.length-1),x=T.closeIndex;else if(this.options.unpairedTags.indexOf($)!==-1)x=T.closeIndex;else{const ae=this.readStopNodeData(w,Q,I+1);if(!ae)throw new Error(`Unexpected end of ${Q}`);x=ae.i,U=ae.tagContent}const K=new e($);$!==P&&q&&(K[":@"]=this.buildAttributesMap(P,k,$)),U&&(U=this.parseTextData(U,$,k,!0,q,!0,!0)),k=k.substr(0,k.lastIndexOf(".")),K.add(this.options.textNodeName,U),this.addChild(S,K,k)}else{if(P.length>0&&P.lastIndexOf("/")===P.length-1){$[$.length-1]==="/"?($=$.substr(0,$.length-1),k=k.substr(0,k.length-1),P=$):P=P.substr(0,P.length-1),this.options.transformTagName&&($=this.options.transformTagName($));const U=new e($);$!==P&&q&&(U[":@"]=this.buildAttributesMap(P,k,$)),this.addChild(S,U,k),k=k.substr(0,k.lastIndexOf("."))}else{const U=new e($);this.tagsNodeStack.push(S),$!==P&&q&&(U[":@"]=this.buildAttributesMap(P,k,$)),this.addChild(S,U,k),S=U}C="",x=I}}else C+=w[x];return y.child};function d(w,y,S){const C=this.options.updateTag(y.tagname,S,y[":@"]);C===!1||(typeof C=="string"&&(y.tagname=C),w.addChild(y))}const h=function(w){if(this.options.processEntities){for(let y in this.docTypeEntities){const S=this.docTypeEntities[y];w=w.replace(S.regx,S.val)}for(let y in this.lastEntities){const S=this.lastEntities[y];w=w.replace(S.regex,S.val)}if(this.options.htmlEntities)for(let y in this.htmlEntities){const S=this.htmlEntities[y];w=w.replace(S.regex,S.val)}w=w.replace(this.ampEntity.regex,this.ampEntity.val)}return w};function m(w,y,S,C){return w&&(C===void 0&&(C=Object.keys(y.child).length===0),w=this.parseTextData(w,y.tagname,S,!1,y[":@"]?Object.keys(y[":@"]).length!==0:!1,C),w!==void 0&&w!==""&&y.add(this.options.textNodeName,w),w=""),w}function p(w,y,S){const C="*."+S;for(const k in w){const x=w[k];if(C===x||y===x)return!0}return!1}function O(w,y,S=">"){let C,k="";for(let x=y;x<w.length;x++){let E=w[x];if(C)E===C&&(C="");else if(E==='"'||E==="'")C=E;else if(E===S[0])if(S[1]){if(w[x+1]===S[1])return{data:k,index:x}}else return{data:k,index:x};else E===" "&&(E=" ");k+=E}}function v(w,y,S,C){const k=w.indexOf(y,S);if(k===-1)throw new Error(C);return k+y.length-1}function b(w,y,S,C=">"){const k=O(w,y+1,C);if(!k)return;let x=k.data;const E=k.index,T=x.search(/\s/);let $=x,Q=!0;T!==-1&&($=x.substring(0,T),x=x.substring(T+1).trimStart());const P=$;if(S){const q=$.indexOf(":");q!==-1&&($=$.substr(q+1),Q=$!==k.data.substr(q+1))}return{tagName:$,tagExp:x,closeIndex:E,attrExpPresent:Q,rawTagName:P}}function _(w,y,S){const C=S;let k=1;for(;S<w.length;S++)if(w[S]==="<")if(w[S+1]==="/"){const x=v(w,">",S,`${y} is not closed`);if(w.substring(S+2,x).trim()===y&&(k--,k===0))return{tagContent:w.substring(C,S),i:x};S=x}else if(w[S+1]==="?")S=v(w,"?>",S+1,"StopNode is not closed.");else if(w.substr(S+1,3)==="!--")S=v(w,"-->",S+3,"StopNode is not closed.");else if(w.substr(S+1,2)==="![")S=v(w,"]]>",S,"StopNode is not closed.")-2;else{const x=b(w,S,">");x&&((x&&x.tagName)===y&&x.tagExp[x.tagExp.length-1]!=="/"&&k++,S=x.closeIndex)}}function A(w,y,S){if(y&&typeof w=="string"){const C=w.trim();return C==="true"?!0:C==="false"?!1:r(w,S)}else return n.isExist(w)?w:""}return yp=s,yp}var wp={},O0;function Ij(){if(O0)return wp;O0=1;function n(s,o){return e(s,o)}function e(s,o,a){let l;const c={};for(let u=0;u<s.length;u++){const f=s[u],d=t(f);let h="";if(a===void 0?h=d:h=a+"."+d,d===o.textNodeName)l===void 0?l=f[d]:l+=""+f[d];else{if(d===void 0)continue;if(f[d]){let m=e(f[d],o,h);const p=i(m,o);f[":@"]?r(m,f[":@"],h,o):Object.keys(m).length===1&&m[o.textNodeName]!==void 0&&!o.alwaysCreateTextNode?m=m[o.textNodeName]:Object.keys(m).length===0&&(o.alwaysCreateTextNode?m[o.textNodeName]="":m=""),c[d]!==void 0&&c.hasOwnProperty(d)?(Array.isArray(c[d])||(c[d]=[c[d]]),c[d].push(m)):o.isArray(d,h,p)?c[d]=[m]:c[d]=m}}}return typeof l=="string"?l.length>0&&(c[o.textNodeName]=l):l!==void 0&&(c[o.textNodeName]=l),c}function t(s){const o=Object.keys(s);for(let a=0;a<o.length;a++){const l=o[a];if(l!==":@")return l}}function r(s,o,a,l){if(o){const c=Object.keys(o),u=c.length;for(let f=0;f<u;f++){const d=c[f];l.isArray(d,a+"."+d,!0,!0)?s[d]=[o[d]]:s[d]=o[d]}}}function i(s,o){const{textNodeName:a}=o,l=Object.keys(s).length;return!!(l===0||l===1&&(s[a]||typeof s[a]=="boolean"||s[a]===0))}return wp.prettify=n,wp}var _p,v0;function Nj(){if(v0)return _p;v0=1;const{buildOptions:n}=Lj(),e=Rj(),{prettify:t}=Ij(),r=pC();class i{constructor(o){this.externalEntities={},this.options=n(o)}parse(o,a){if(typeof o!="string")if(o.toString)o=o.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(a){a===!0&&(a={});const u=r.validate(o,a);if(u!==!0)throw Error(`${u.err.msg}:${u.err.line}:${u.err.col}`)}const l=new e(this.options);l.addExternalEntities(this.externalEntities);const c=l.parseXml(o);return this.options.preserveOrder||c===void 0?c:t(c,this.options)}addEntity(o,a){if(a.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(o.indexOf("&")!==-1||o.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(a==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[o]=a}}return _p=i,_p}var kp,b0;function Bj(){if(b0)return kp;b0=1;const n=`
|
|
293
293
|
`;function e(a,l){let c="";return l.format&&l.indentBy.length>0&&(c=n),t(a,l,"",c)}function t(a,l,c,u){let f="",d=!1;for(let h=0;h<a.length;h++){const m=a[h],p=r(m);if(p===void 0)continue;let O="";if(c.length===0?O=p:O=`${c}.${p}`,p===l.textNodeName){let w=m[p];s(O,l)||(w=l.tagValueProcessor(p,w),w=o(w,l)),d&&(f+=u),f+=w,d=!1;continue}else if(p===l.cdataPropName){d&&(f+=u),f+=`<![CDATA[${m[p][0][l.textNodeName]}]]>`,d=!1;continue}else if(p===l.commentPropName){f+=u+`<!--${m[p][0][l.textNodeName]}-->`,d=!0;continue}else if(p[0]==="?"){const w=i(m[":@"],l),y=p==="?xml"?"":u;let S=m[p][0][l.textNodeName];S=S.length!==0?" "+S:"",f+=y+`<${p}${S}${w}?>`,d=!0;continue}let v=u;v!==""&&(v+=l.indentBy);const b=i(m[":@"],l),_=u+`<${p}${b}`,A=t(m[p],l,O,v);l.unpairedTags.indexOf(p)!==-1?l.suppressUnpairedNode?f+=_+">":f+=_+"/>":(!A||A.length===0)&&l.suppressEmptyNode?f+=_+"/>":A&&A.endsWith(">")?f+=_+`>${A}${u}</${p}>`:(f+=_+">",A&&u!==""&&(A.includes("/>")||A.includes("</"))?f+=u+l.indentBy+A+u:f+=A,f+=`</${p}>`),d=!0}return f}function r(a){const l=Object.keys(a);for(let c=0;c<l.length;c++){const u=l[c];if(a.hasOwnProperty(u)&&u!==":@")return u}}function i(a,l){let c="";if(a&&!l.ignoreAttributes)for(let u in a){if(!a.hasOwnProperty(u))continue;let f=l.attributeValueProcessor(u,a[u]);f=o(f,l),f===!0&&l.suppressBooleanAttributes?c+=` ${u.substr(l.attributeNamePrefix.length)}`:c+=` ${u.substr(l.attributeNamePrefix.length)}="${f}"`}return c}function s(a,l){a=a.substr(0,a.length-l.textNodeName.length-1);let c=a.substr(a.lastIndexOf(".")+1);for(let u in l.stopNodes)if(l.stopNodes[u]===a||l.stopNodes[u]==="*."+c)return!0;return!1}function o(a,l){if(a&&a.length>0&&l.processEntities)for(let c=0;c<l.entities.length;c++){const u=l.entities[c];a=a.replace(u.regex,u.val)}return a}return kp=e,kp}var xp,y0;function jj(){if(y0)return xp;y0=1;const n=Bj(),e=mC(),t={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(a,l){return l},attributeValueProcessor:function(a,l){return l},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function r(a){this.options=Object.assign({},t,a),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=e(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=o),this.processTextOrObjNode=i,this.options.format?(this.indentate=s,this.tagEndChar=`>
|
|
294
294
|
`,this.newLine=`
|
|
295
|
-
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}r.prototype.build=function(a){return this.options.preserveOrder?n(a,this.options):(Array.isArray(a)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(a={[this.options.arrayNodeName]:a}),this.j2x(a,0,[]).val)},r.prototype.j2x=function(a,l,c){let u="",f="";const d=c.join(".");for(let h in a)if(Object.prototype.hasOwnProperty.call(a,h))if(typeof a[h]>"u")this.isAttribute(h)&&(f+="");else if(a[h]===null)this.isAttribute(h)?f+="":h[0]==="?"?f+=this.indentate(l)+"<"+h+"?"+this.tagEndChar:f+=this.indentate(l)+"<"+h+"/"+this.tagEndChar;else if(a[h]instanceof Date)f+=this.buildTextValNode(a[h],h,"",l);else if(typeof a[h]!="object"){const m=this.isAttribute(h);if(m&&!this.ignoreAttributesFn(m,d))u+=this.buildAttrPairStr(m,""+a[h]);else if(!m)if(h===this.options.textNodeName){let p=this.options.tagValueProcessor(h,""+a[h]);f+=this.replaceEntitiesValue(p)}else f+=this.buildTextValNode(a[h],h,"",l)}else if(Array.isArray(a[h])){const m=a[h].length;let p="",O="";for(let v=0;v<m;v++){const b=a[h][v];if(!(typeof b>"u"))if(b===null)h[0]==="?"?f+=this.indentate(l)+"<"+h+"?"+this.tagEndChar:f+=this.indentate(l)+"<"+h+"/"+this.tagEndChar;else if(typeof b=="object")if(this.options.oneListGroup){const _=this.j2x(b,l+1,c.concat(h));p+=_.val,this.options.attributesGroupName&&b.hasOwnProperty(this.options.attributesGroupName)&&(O+=_.attrStr)}else p+=this.processTextOrObjNode(b,h,l,c);else if(this.options.oneListGroup){let _=this.options.tagValueProcessor(h,b);_=this.replaceEntitiesValue(_),p+=_}else p+=this.buildTextValNode(b,h,"",l)}this.options.oneListGroup&&(p=this.buildObjectNode(p,h,O,l)),f+=p}else if(this.options.attributesGroupName&&h===this.options.attributesGroupName){const m=Object.keys(a[h]),p=m.length;for(let O=0;O<p;O++)u+=this.buildAttrPairStr(m[O],""+a[h][m[O]])}else f+=this.processTextOrObjNode(a[h],h,l,c);return{attrStr:u,val:f}},r.prototype.buildAttrPairStr=function(a,l){return l=this.options.attributeValueProcessor(a,""+l),l=this.replaceEntitiesValue(l),this.options.suppressBooleanAttributes&&l==="true"?" "+a:" "+a+'="'+l+'"'};function i(a,l,c,u){const f=this.j2x(a,c+1,u.concat(l));return a[this.options.textNodeName]!==void 0&&Object.keys(a).length===1?this.buildTextValNode(a[this.options.textNodeName],l,f.attrStr,c):this.buildObjectNode(f.val,l,f.attrStr,c)}r.prototype.buildObjectNode=function(a,l,c,u){if(a==="")return l[0]==="?"?this.indentate(u)+"<"+l+c+"?"+this.tagEndChar:this.indentate(u)+"<"+l+c+this.closeTag(l)+this.tagEndChar;{let f="</"+l+this.tagEndChar,d="";return l[0]==="?"&&(d="?",f=""),(c||c==="")&&a.indexOf("<")===-1?this.indentate(u)+"<"+l+c+d+">"+a+f:this.options.commentPropName!==!1&&l===this.options.commentPropName&&d.length===0?this.indentate(u)+`<!--${a}-->`+this.newLine:this.indentate(u)+"<"+l+c+d+this.tagEndChar+a+this.indentate(u)+f}},r.prototype.closeTag=function(a){let l="";return this.options.unpairedTags.indexOf(a)!==-1?this.options.suppressUnpairedNode||(l="/"):this.options.suppressEmptyNode?l="/":l=`></${a}`,l},r.prototype.buildTextValNode=function(a,l,c,u){if(this.options.cdataPropName!==!1&&l===this.options.cdataPropName)return this.indentate(u)+`<![CDATA[${a}]]>`+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(u)+`<!--${a}-->`+this.newLine;if(l[0]==="?")return this.indentate(u)+"<"+l+c+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,a);return f=this.replaceEntitiesValue(f),f===""?this.indentate(u)+"<"+l+c+this.closeTag(l)+this.tagEndChar:this.indentate(u)+"<"+l+c+">"+f+"</"+l+this.tagEndChar}},r.prototype.replaceEntitiesValue=function(a){if(a&&a.length>0&&this.options.processEntities)for(let l=0;l<this.options.entities.length;l++){const c=this.options.entities[l];a=a.replace(c.regex,c.val)}return a};function s(a){return this.options.indentBy.repeat(a)}function o(a){return a.startsWith(this.options.attributeNamePrefix)&&a!==this.options.textNodeName?a.substr(this.attrPrefixLen):!1}return xp=r,xp}var Sp,w0;function zj(){if(w0)return Sp;w0=1;const n=pC(),e=Nj(),t=jj();return Sp={XMLParser:e,XMLValidator:n,XMLBuilder:t},Sp}var Zj=zj();const Fj="RFTO",Xj="RFTC";function Vj(n){return n.includes("")?n.replaceAll(Fj,"{%").replaceAll(Xj,"%}"):n}const{Tag:Ap}=B;function Wj(n,e){const t=n.match(/^<svg\s([^>]*)>/);if(!t)return new Ap("span",{class:"rf-icon","data-icon":e});const i={..._0(t[1]),class:"rf-icon","data-icon":e},s=[],o=["path","circle","line","polyline","rect","polygon","ellipse"],a=new RegExp(`<(${o.join("|")})\\s([^>]*?)\\s*/?>`,"g");let l;for(;(l=a.exec(n))!==null;){const c=l[1],u=_0(l[2]);s.push(new Ap(c,u))}return new Ap("svg",i,s)}function _0(n){const e={},t=/([\w-]+)="([^"]*)"/g;let r;for(;(r=t.exec(n))!==null;)e[r[1]]=r[2];return e}const{Tag:Yj}=B;function Uj(n){const e=n.indexOf("/");return e===-1?{group:"global",name:n}:{group:n.substring(0,e),name:n.substring(e+1)}}function gC(n,e,t={}){const{group:r,name:i}=Uj(n),o=e.variables?.__icons?.[r]?.[i];if(o){const l=Wj(o,n);return t.size&&(l.attributes.width=t.size,l.attributes.height=t.size),t.label&&(l.attributes.role="img",l.attributes["aria-label"]=t.label),{tag:l,found:!0}}const a={class:"rf-icon","data-icon":n};return t.size&&(a.style=`width:${t.size};height:${t.size}`),t.label&&(a.role="img",a["aria-label"]=t.label),{tag:new Yj("span",a),found:!1}}const{Tag:hs}=B,cg={cover:{w:1600,h:900},square:{w:1e3,h:1e3},portrait:{w:750,h:1e3},wide:{w:2400,h:1e3},banner:{w:1800,h:600},avatar:{w:1e3,h:1e3,round:!0},thumbnail:{w:800,h:600}},k0=Object.keys(cg),OC="cover",bn=n=>Math.round(n);function Gj(n,e={}){const t=cg[n]?n:OC,r=cg[t],{w:i,h:s}=r,o=r.round?Kj(i,s):Hj(i,s),a={class:"rf-placeholder","data-shape":t,viewBox:`0 0 ${i} ${s}`,preserveAspectRatio:"xMidYMid slice",width:"100%",fill:"none"};return e.label?(a.role="img",a["aria-label"]=e.label):a["aria-hidden"]="true",new hs("svg",a,o)}function Hj(n,e){const t=bn(Math.min(n,e)*.008),r=bn(Math.min(n,e)*.1),i=`M0 ${bn(e*.72)} Q ${bn(n*.28)} ${bn(e*.55)} ${bn(n*.5)} ${bn(e*.7)} T ${n} ${bn(e*.64)} L ${n} ${e} L 0 ${e} Z`;return[new hs("rect",{x:0,y:0,width:n,height:e,fill:"var(--rf-color-surface)"}),new hs("circle",{cx:bn(n*.76),cy:bn(e*.3),r,fill:"var(--rf-color-border)"}),new hs("path",{d:i,fill:"var(--rf-color-muted)"}),new hs("rect",{x:bn(t/2),y:bn(t/2),width:bn(n-t),height:bn(e-t),fill:"none",stroke:"var(--rf-color-border)","stroke-width":t})]}function Kj(n,e){const t=bn(n/2),r=bn(e/2),i=bn(Math.min(n,e)*.02),s=bn(n/2-i),o=bn(n*.16),a=bn(e*.42),l=`M ${bn(n*.24)} ${e} Q ${t} ${bn(e*.6)} ${bn(n*.76)} ${e} Z`;return[new hs("circle",{cx:t,cy:r,r:bn(n/2),fill:"var(--rf-color-surface)"}),new hs("path",{d:l,fill:"var(--rf-color-muted)"}),new hs("circle",{cx:t,cy:a,r:o,fill:"var(--rf-color-muted)"}),new hs("circle",{cx:t,cy:r,r:s,fill:"none",stroke:"var(--rf-color-border)","stroke-width":i})]}const{Tag:OG}=B,vC=new Map;function bC(n,e){vC.set(n.toLowerCase(),e)}const Jj=/^([a-zA-Z][a-zA-Z0-9+.-]*):(.*)$/s;function ez(n,e){const t=Jj.exec(n);if(!t)return null;const r=vC.get(t[1].toLowerCase());return r?r(t[2],e):null}bC("icon",(n,e)=>{const{tag:t,found:r}=gC(n,e.config,{label:e.alt});return r||console.warn(`[refrakt] icon: unknown icon name "${n}" — falling back to a neutral glyph.`),t});bC("placeholder",(n,e)=>(n&&!k0.includes(n)&&console.warn(`[refrakt] placeholder: unknown shape "${n}" — falling back to "${OC}". Known shapes: ${k0.join(", ")}.`),Gj(n,{label:e.alt})));const{dirname:yC,join:wC,isAbsolute:tz}=Qj,{Tag:Ai}=B,nz={children:["inline"],attributes:{level:{type:"Number",required:!0,render:!1},property:{type:String,required:!1}},transform(n,e){const t=n.transformAttributes(e),r=n.transformChildren(e);return(!t.id||typeof t.id!="string")&&(t.id=r.filter(i=>typeof i=="string").join(" ").replace(/[?{}%]/g,"").replace(/\s+/g,"-").toLowerCase()),new Ai(`h${n.attributes.level}`,t,r)}},rz={children:["inline"],attributes:{property:{type:String,required:!1}},render:"p"},iz={render:"fence",attributes:{content:{type:String,render:!1},process:{type:Boolean,render:!1,default:!1},language:{type:String,render:!1,default:"shell"},source:{type:String,render:!1},lines:{type:String,render:!1},linenumbers:{type:Boolean,render:!1,default:!1},highlight:{type:String,render:!1},label:{type:String,render:!1}},transform(n,e){const t=n.attributes.language||"shell",r={"data-language":t},i={"data-language":t},s=n.attributes.source;typeof s=="string"&&s.length>0&&(r["data-source"]=s,i["data-source"]=s);const o=n.attributes.lines;if(typeof o=="string"&&o.length>0){r["data-lines"]=o,i["data-lines"]=o;const c=/^(\d+)/.exec(o.trim());if(c){const u=Number(c[1]);if(Number.isFinite(u)&&u>0){const f=typeof r.style=="string"?`${r.style}; `:"";r.style=`${f}--rf-start-line: ${u-1}`}}}n.attributes.linenumbers===!0&&(r["data-linenumbers"]="true",i["data-linenumbers"]="true");const a=n.attributes.highlight;typeof a=="string"&&a.length>0&&(r["data-highlight-lines"]=a,i["data-highlight-lines"]=a);for(const[c,u]of Object.entries(n.attributes))c.startsWith("data-")&&(r[c]=u,i[c]=u);const l=new Ai("pre",r,[new Ai("code",i,[Vj(n.attributes.content)])]);return new Ai("div",{class:"rf-codeblock"},[l])}},sz={children:["item"],attributes:{ordered:{type:Boolean,render:!1,required:!0},start:{type:Number},marker:{type:String,render:!1}},transform(n,e){return new Ai(n.attributes.ordered?"ol":"ul",n.transformAttributes(e),n.transformChildren(e))}},oz={render:"li",children:["inline","heading","paragraph","image","table","tag","fence","blockquote","list","hr"],attributes:{property:{type:String,required:!1},typeof:{type:String,required:!1}}},az={render:"em",children:["strong","s","link","code","text","tag"],attributes:{marker:{type:String,render:!0}}},lz={render:"strong",children:["em","s","link","code","text","tag"],attributes:{marker:{type:String,render:!0}}},cz={attributes:{content:{type:String,required:!0},property:{type:String,required:!1}},transform(n,e){const t=n.transformAttributes(e);return t.property?new Ai("span",{"data-field":t.property},[n.attributes.content]):n.attributes.content}},_C={children:["strong","em","s","code","text","tag"],attributes:{href:{type:String,required:!0},title:{type:String}},render:"a",transform(n,e){const{urls:t,path:r}=e.variables||{},i=r?yC(r):"/";let s=n.attributes;const o=i!=="/"?wC(i,n.attributes.href):n.attributes.href;if(o in(t||{})){const a=t[o];s={...s,href:a}}return new Ai(this.render,s,n.transformChildren(e))}},uz=B.nodes.hardbreak,fz={render:"img",attributes:{src:{type:String,required:!0},alt:{type:String},title:{type:String},property:{type:String}},transform(n,e){const t=n.transformAttributes(e),r=ez(n.attributes.src,{alt:typeof t.alt=="string"?t.alt:void 0,title:typeof t.title=="string"?t.title:void 0,property:typeof t.property=="string"?t.property:void 0,config:e});if(r)return t.property&&(r.attributes["data-field"]=t.property),r;const i=e.variables?.svg||[];let s=n.attributes.src;!tz(s)&&e.variables?.path&&(s=wC("/",yC(e.variables.path),s));const o=i.find(a=>a._id===s);if(o){let l=new Zj.XMLParser({ignoreAttributes:!1}).parse(o.content);const c=ug("svg",l.svg);return t.property&&(c.attributes["data-field"]=t.property),c.attributes.xmlns=void 0,c}return new Ai(this.render,t,n.transformChildren(e))}},dz={children:["thead","tbody","tr"],attributes:{},transform(n,e){const t=new Ai("table",n.transformAttributes(e),n.transformChildren(e));return new Ai("div",{class:"rf-table-wrapper"},[t])}};function ug(n,e){if(Array.isArray(e))return e.map(i=>ug(n,i));let t=[],r={};for(const[i,s]of Object.entries(e))i.startsWith("@_")?r[i.slice(2)]=s:i==="#text"?t.push(s):t.push(ug(i,s));return new Ai(n,r,t)}const{Tag:vG}=B,{Ast:Of}=B;function hz(n){let e,t;return{filtered:n.filter(i=>i.type==="tag"&&i.tag==="tint"?(e=i,!1):i.type==="tag"&&i.tag==="bg"?(t=i,!1):!0),tintNode:e,bgNode:t}}function Mc(n,e){if(e==="any")return!0;if(e.includes("|"))return e.split("|").some(t=>Mc(n,t));if(e.startsWith("heading:")){const t=parseInt(e.slice(8),10);return n.type==="heading"&&n.attributes?.level===t}if(e==="list:ordered")return n.type==="list"&&n.attributes?.ordered===!0;if(e==="list:unordered")return n.type==="list"&&n.attributes?.ordered!==!0;if(e.startsWith("tag:")){const t=e.slice(4);return n.type==="tag"&&n.tag===t}return n.type===e}function Sa(n,e){const t={};let r=0;for(const i of e){if(r>=n.length)continue;const s=n[r];if(Mc(s,i.match)){if(i.greedy){const o=[];for(;r<n.length&&Mc(n[r],i.match);)o.push(n[r]),r++;t[i.name]=o}else t[i.name]=s,r++;if(i.itemModel)if(i.emitTag){const o=i.greedy?t[i.name]:[t[i.name]],a=[];for(const l of o){if(!l||l.type!=="list")continue;const c=fg(l,i.itemModel),u=l.children??[];for(let f=0;f<c.length;f++){const d={},h=i.emitAttributes;if(h)for(const[p,O]of Object.entries(h))if(O.startsWith("$")){const v=O.slice(1).split("|");d[p]=v.map(b=>c[f][b.trim()]).find(b=>b!=null&&b!=="")??""}else d[p]=O;const m=u[f]?.children?.slice(1)??[];a.push(new Of.Node("tag",d,m,i.emitTag))}}t[i.name]=a}else{const o=t[i.name];o&&typeof o=="object"&&"type"in o&&(t[`${i.name}Data`]=fg(o,i.itemModel))}}else i.optional||r++}return t}function pz(n,e){const t=[[]];for(const i of n)Mc(i,e.delimiter)?t.push([]):t[t.length-1].push(i);if(e.dynamicZones&&e.zoneModel)return{zones:t.map(i=>qc(i,e.zoneModel))};const r={};if(e.zones){const i=t.length===1?e.zones.findIndex(s=>s.primary):-1;for(let s=0;s<e.zones.length;s++){const o=e.zones[s];let a;i>=0?a=s===i?t[0]:[]:a=s<t.length?t[s]:[],r[o.name]=Sa(a,o.fields)}}return r}function x0(n){const e=[];for(const t of n.walk())t.type==="text"&&t.attributes?.content&&e.push(t.attributes.content);return e.join(" ")}function S0(n,e){const t={};let r=n;for(const i of e.fields)if(i.pattern==="remainder")t[i.name]=r.trim(),r="";else{const s=r.match(i.pattern);s?(t[i.name]=(s[1]||s[0]).trim(),r=r.slice(s[0].length)):i.optional||(t[i.name]=r.trim())}return t}function mz(n,e){const t=n.toLowerCase().trim();for(const[r,i]of Object.entries(e)){if(r.toLowerCase()===t)return{canonicalName:r,definition:i};if(i.alias){for(const s of i.alias)if(s.toLowerCase()===t)return{canonicalName:r,definition:i}}}}function gz(n,e){const t=e.sectionHeading;let r;if(t.includes(":"))r=parseInt(t.split(":")[1],10);else{const c=n.filter(u=>u.type==="heading");if(c.length>=2){const u=c[0].attributes?.level,f=c[1].attributes?.level;u!==void 0&&f!==void 0&&f>u?r=c.filter(h=>h.attributes?.level===f).length>=2?f:u:r=u}else r=c[0]?.attributes?.level}if(r===void 0){if(e.implicitSection&&e.emitTag){const u=e.fields?Sa([],e.fields):{},f=new Of.Node("tag",{...e.implicitSection.attributes??{}},n,e.emitTag);return{...u,sections:[f]}}return{...e.fields?Sa(n,e.fields):{},sections:[]}}const i=[],s=[];let o=null;for(const c of n)c.type==="heading"&&c.attributes?.level===r?(o&&s.push(o),o={headingNode:c,body:[]}):o?o.body.push(c):i.push(c);if(o&&s.push(o),s.length===0&&e.implicitSection&&e.emitTag){const c=e.fields?Sa([],e.fields):{},u=new Of.Node("tag",{...e.implicitSection.attributes??{}},n,e.emitTag);return{...c,sections:[u]}}const a=e.fields?Sa(i,e.fields):{};if(e.emitTag){const c=s.map(u=>{const f=x0(u.headingNode),d=e.headingExtract?S0(f,e.headingExtract):{},h={};if(e.emitAttributes)for(const[m,p]of Object.entries(e.emitAttributes))p==="$heading"?h[m]=f:p.startsWith("$")?h[m]=d[p.slice(1)]??"":h[m]=p;return new Of.Node("tag",h,u.body,e.emitTag)});return{...a,sections:c}}const l=s.map(c=>{const u=x0(c.headingNode),f=e.headingExtract?S0(u,e.headingExtract):{},d=e.knownSections?mz(u,e.knownSections):void 0,h=d?.definition.model??e.sectionModel,m=qc(c.body,h);return{$heading:u,$headingNode:c.headingNode,...d?{$canonicalName:d.canonicalName}:{},...Object.fromEntries(Object.entries(f).map(([p,O])=>[`$${p}`,O])),...m}});return{...a,sections:l}}function Oz(n,e,t){if("hasChild"in n)return e.some(r=>Mc(r,n.hasChild));if("in"in n){const r=String(t[n.attribute]??"");return n.in.includes(r)}return"exists"in n?t[n.attribute]!=null&&t[n.attribute]!=="":!1}function vz(n){return"when"in n&&Array.isArray(n.when)}function bz(n){if(n.type==="text")return n.attributes?.content??"";const e=[];for(const t of n.walk())t.type==="text"&&t.attributes?.content&&e.push(t.attributes.content);return e.join("")}function yz(n,e){if(n.type===e)return n;if(n.type==="link"&&e!=="link"){for(const t of n.children??[])if(t.type===e)return t}if((n.type==="strong"||n.type==="em")&&e!==n.type){for(const t of n.children??[])if(t.type===e)return t}return null}function fg(n,e){return(n.children??[]).map(r=>{const i={},s=[];for(const c of r.children??[])c.type==="inline"?s.push(...c.children??[]):s.push(c);const o=new Set,a=new Set;for(const c of e.fields)if(c.match!=="text"){if(c.match==="list"){const u=s.findIndex((f,d)=>!o.has(d)&&f.type==="list");u>=0&&(o.add(u),i[c.name]=c.itemModel?fg(s[u],c.itemModel):s[u]);continue}if(c.match==="paragraph"&&c.greedy){const u=[];s.forEach((f,d)=>{!o.has(d)&&f.type==="paragraph"&&(o.add(d),u.push(f))}),u.length>0&&(i[c.name]=u);continue}for(let u=0;u<s.length;u++){if(o.has(u)||a.has(u)&&c.match!==s[u].type)continue;const f=s[u],d=yz(f,c.match);if(d){if(d===f?o.add(u):a.add(u),c.extract){const h=f.attributes?.[c.extract]!=null?f:d;i[c.name]=h.attributes?.[c.extract]}else i[c.name]=bz(d);break}}}for(const c of a)o.add(c);const l=e.fields.filter(c=>c.match==="text");if(l.length>0){let u=s.filter((f,d)=>!o.has(d)).filter(f=>f.type==="text"||f.type==="softbreak").map(f=>f.attributes?.content??"").join("").trim();for(const f of l)if(f.pattern==="remainder"){const d=u.trim();(d||!f.optional)&&(i[f.name]=d)}else if(f.pattern instanceof RegExp){const d=u.match(f.pattern);d&&(i[f.name]=d[1]??d[0],u=u.replace(f.pattern,""))}}return i})}function qc(n,e,t){if(vz(e)){for(const r of e.when)if(Oz(r.condition,n,t??{}))return qc(n,r.model,t);return qc(n,e.default,t)}switch(e.type){case"sequence":return Sa(n,e.fields);case"sections":return gz(n,e);case"delimited":return pz(n,e);case"custom":return{children:e.processChildren(n,t??{})};default:return{}}}function wz(n,e,t){const{filtered:r,tintNode:i,bgNode:s}=hz(n);return{content:qc(r,e,t),tintNode:i,bgNode:s}}const _z=new Map;function kz(n,e){_z.set(n,e)}const xz=new WeakMap;function ks(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").toLowerCase()}function sn(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&n.$$mdtype==="Tag"}function Qt(n,e={},t=[]){return{$$mdtype:"Tag",name:n,attributes:e,children:t}}function Sz(n,e){const t=ks(e);return n.children.find(r=>sn(r)&&r.name==="meta"&&r.attributes["data-field"]===t)}function Vt(n,e,t){return Sz(n,e)?.attributes.content??t}function Az(n){const e=n.attributes?.["data-rune-fields"];if(typeof e!="string"||e.length===0)return{};try{const t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function Po(n,e,t){const i=Az(n)[e];if(i!=null&&typeof i!="object")return typeof i=="string"?i:String(i);const s=ks(e),o=(n.children??[]).find(a=>!!a&&typeof a=="object"&&a.$$mdtype==="Tag"&&a.name==="meta"&&a.attributes?.["data-field"]===s);return o?o.attributes.content:void 0}const Cz={none:"0",tight:"var(--rf-spacing-sm)",default:"var(--rf-spacing-md)",loose:"var(--rf-spacing-xl)"};function Tz(n){return Cz[n]??n}function Pz(n){return n.split(/\s+/).map(e=>`${e}fr`).join(" ")}const Cp={none:"0",sm:"var(--rf-spacing-sm)",md:"var(--rf-spacing-md)",lg:"var(--rf-spacing-lg)",xl:"var(--rf-spacing-xl)"};function Ez(n){const e=Cp[n];return e===void 0?(console.warn(`[refrakt] Unknown offset "${n}" — expected one of ${Object.keys(Cp).join(", ")}. Falling back to "none".`),Cp.none):e}const $z={top:"start",center:"center",bottom:"end",stretch:"stretch",baseline:"baseline"};function A0(n){return $z[n]??n}const Qz={left:{x:"start",y:"center"},center:{x:"center",y:"center"},right:{x:"end",y:"center"},top:{x:"center",y:"start"},bottom:{x:"center",y:"end"},"top left":{x:"start",y:"start"},"top center":{x:"center",y:"start"},"top right":{x:"end",y:"start"},"bottom left":{x:"start",y:"end"},"bottom center":{x:"center",y:"end"},"bottom right":{x:"end",y:"end"}};function Lz(n){return Qz[n]??{x:"center",y:"center"}}function Mz(n,e){if(!n)return e;const t={...n,...e};if((n.metaFields||e.metaFields)&&(t.metaFields={...n.metaFields,...e.metaFields}),n.blocks||e.blocks){const r={...n.blocks};if(e.blocks)for(const[i,s]of Object.entries(e.blocks))r[i]=s;t.blocks=r}if((n.layout||e.layout)&&(t.layout={...n.layout,...e.layout}),n.variants||e.variants){const r={...n.variants};if(e.variants)for(const[i,s]of Object.entries(e.variants))r[i]={...r[i],...s};t.variants=r}return t}const qz=["bg","surface","text","muted","primary","border"],C0={none:"flat",sm:"raised",md:"raised",lg:"floating"};function Dz(n){if(!(typeof n!="string"||n==="")){if(C0[n]){const e=C0[n];return console.warn(`[refrakt] elevation="${n}" is deprecated (SPEC-107) — use "${e}". The alias will be removed in a future minor.`),e}return n}}const Rz=new Set(["header","preamble","title","description"]);function Iz(n){return!!n&&Object.values(n).some(e=>Rz.has(e))}const gd={duration(n){const e=n.match(/PT(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?/);if(!e)return n;const t=[];return e[1]&&t.push(`${e[1]}h`),e[2]&&t.push(`${e[2]}m`),e[3]&&t.push(`${e[3]}s`),t.join(" ")||n},uppercase:n=>n.toUpperCase(),capitalize:n=>n.charAt(0).toUpperCase()+n.slice(1)};function Nz(n){const{prefix:e,runes:t,icons:r={},tints:i={},backgrounds:s={},frames:o={}}=n,a=new Map(Object.keys(t).map(c=>[ks(c),c]));function l(c,u){if(c==null||typeof c=="string"||typeof c=="number")return c;if(Array.isArray(c))return c.map(h=>l(h,u));if(!sn(c))return c;const f=c.attributes?.["data-rune"],d=f?a.get(f):void 0;if(d)return Jz(c,t[d],e,r,i,s,o,t,a,l,u);if(c.name==="li"){const h=e6(c);if(h)return{...h,children:h.children.map(m=>l(m,u))}}return{...c,children:c.children.map(h=>l(h,u))}}return c=>l(c)}function Bz(n){if(typeof n!="string"||n.length===0)return{};try{const e=JSON.parse(n);return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return{}}}function kC(n,e,t,r){const i=e[t];return i!=null&&typeof i!="object"?i:Vt(n,t,r)}function jz(n,e,t){if(!n.variants)return n;let r=n;for(const[i,s]of Object.entries(n.variants)){const o=n.modifiers?.[i];if(!o)continue;const a=o.source==="attribute"?e.attributes[i]??o.default:kC(e,t,i,o.default);a&&s[a]&&(r=Mz(r,s[a]))}return r}function zz(n,e){const t=new Set,r=c=>{const u=Vt(n,c);return u!=null&&t.add(c),u??void 0},i=r("frame");let s={};if(i&&e[i]){let c=e[i];c.extends&&e[c.extends]&&(c={...e[c.extends],...c}),s={...c},delete s.extends}const o={aspect:r("frame-aspect"),displace:r("frame-displace"),offset:r("frame-offset"),oversize:r("frame-oversize"),place:r("frame-place"),anchor:r("frame-anchor"),shadow:r("frame-shadow")};for(const[c,u]of Object.entries(o))u!==void 0&&(s[c]=u);if(t.size===0)return null;const a={},l=[];if(i&&(a["data-frame"]=i),s.displace&&(a["data-displace"]=s.displace),s.shadow&&(a["data-frame-shadow"]=s.shadow),s.aspect&&l.push(`--frame-aspect: ${s.aspect}`),s.offset&&l.push(`--frame-offset: ${Ez(s.offset)}`),s.oversize&&l.push(`--frame-oversize: ${s.oversize}`),s.anchor&&l.push(`--frame-anchor: ${s.anchor}`),s.place){const{x:c,y:u}=Lz(s.place);l.push(`--frame-place-x: ${c}`,`--frame-place-y: ${u}`)}return{dataAttrs:a,styleParts:l,metaProps:t}}function T0(n,e,t){if(n.attributes={...n.attributes,...e},t.length){const r=n.attributes.style?String(n.attributes.style):"";n.attributes.style=r?`${r}; ${t.join("; ")}`:t.join("; ")}}function vf(n){for(const e of n){if(!sn(e))continue;if(e.attributes?.["data-section"]==="media")return e;const t=e.children?vf(e.children):void 0;if(t)return t}}function dg(n,e){for(const t of n){if(!sn(t))continue;if(t.attributes?.["data-name"]===e)return t;const r=t.children?dg(t.children,e):void 0;if(r)return r}}function Zz(n){const e=[],t=r=>{if(sn(r)){r.name==="rf-sandbox"&&e.push(r);for(const i of r.children??[])t(i)}};return t(n),e}function Fz(n,e,t){const r=i=>{if(!sn(i))return;const s=i.attributes?.["data-rune"];if(s){const o=t.get(s);if(o&&e[o]?.interactive)return s}for(const o of i.children??[]){const a=r(o);if(a)return a}};for(const i of n.children??[]){const s=r(i);if(s)return s}}const P0=new Set;function Xz(n,e){const t=`${n}:${e}`;P0.has(t)||(P0.add(t),console.warn(`[refrakt] interactive guest \`${e}\` in a linked \`${n}\` — its controls are inert under the whole-tile link. Drop \`href\` or the interactivity.`))}const E0=new Set;function Vz(n,e){const t=`${n}:${e}`;E0.has(t)||(E0.add(t),console.warn(`[refrakt] \`activation="${e}"\` on a sandbox serving as a \`${n}\` cover backdrop — the backdrop is inert (pointer-events: none), so the poster/Run affordance is unreachable. Drop \`activation\` (eager is the background mode).`))}const $0=new Set;function Q0(n){$0.has(n)||($0.add(n),console.warn(`[refrakt] \`frame\` on \`${n}\` has no frame target — set \`frameTarget\` or give the rune a media section. Frame chrome ignored.`))}const L0={sm:"12px",md:"16px",lg:"24px"},M0={sm:"0.25",md:"0.5",lg:"0.85"};function Wz(n){const e=new Set,t=u=>{const f=Vt(n,u);return f!=null&&e.add(u),f??void 0},r=t("substrate"),i=t("substrate-size"),s=t("substrate-opacity"),o=t("substrate-fill"),a=t("substrate-target");if(!r)return null;const l={"data-substrate":r};o&&(l["data-substrate-fill"]=o);const c=[];return i&&L0[i]&&c.push(`--substrate-cell: ${L0[i]}`),s&&M0[s]&&c.push(`--substrate-opacity: ${M0[s]}`),{dataAttrs:l,styleParts:c,metaProps:e,targetOverride:a}}const q0=new Set;function D0(n){q0.has(n)||(q0.add(n),console.warn(`[refrakt] \`substrate-target="media"\` on \`${n}\` has no media section — substrate ignored.`))}const Yz={"to-t":"to top","to-b":"to bottom","to-l":"to left","to-r":"to right","to-tr":"to top right","to-br":"to bottom right","to-bl":"to bottom left","to-tl":"to top left"};function R0(n){const e=n.stops.filter(i=>!!i).map(i=>`var(--rf-color-${i})`);if(e.length<2)return null;const t=n.type??"linear";return t==="radial"?`radial-gradient(${e.join(", ")})`:t==="conic"?`conic-gradient(${e.join(", ")})`:`linear-gradient(${Yz[n.direction??"to-b"]??"to bottom"}, ${e.join(", ")})`}const I0={sm:"0.3",md:"0.55",lg:"0.8"},Uz=/^[a-z][a-z0-9-]*$/,Gz={top:"to top",bottom:"to bottom",left:"to left",right:"to right"},N0=new Set;function Hz(n){N0.has(n)||(N0.add(n),console.warn(`[refrakt] \`content-place\` on \`${n}\` is only active in \`media-position="cover"\` — it anchors the overlay, and there's no overlay outside cover. Ignored.`))}const B0=new Set;function Kz(n){B0.has(n)||(B0.add(n),console.warn(`[refrakt] raw-CSS \`overlay\` on \`${n}\` is deprecated (SPEC-088) — use \`overlay="dark|light|<token>"\` for a flat wash or \`scrim\` for a legibility gradient. The raw passthrough will be removed in a future minor.`))}function Jz(n,e,t,r,i,s,o,a,l,c,u){const f=`${t}-${e.block}`,d=n.attributes?.["data-rune"];if(e.requiresParent&&e.requiresParent!=="*"){const Oe=ks(e.requiresParent);u!==Oe&&h6(d??e.block,e.requiresParent,u)}const h=Bz(n.attributes["data-rune-fields"]);e=jz(e,n,h);const m=[],p={},O={},v=[];if(e.modifiers)for(const[Oe,xe]of Object.entries(e.modifiers)){xe.source==="attribute"&&v.push(Oe);const $e=xe.source==="meta"?kC(n,h,Oe,xe.default):n.attributes[Oe]??xe.default;if($e){if(p[Oe]=$e,xe.noBemClass||m.push(`${f}--${$e}`),xe.valueMap){const Z=xe.valueMap[$e]??$e;xe.mapTarget?O[xe.mapTarget]=Z:p[Oe]=Z}}else $e===""&&(p[Oe]="")}e.contextModifiers&&u&&e.contextModifiers[u]&&m.push(`${f}--${e.contextModifiers[u]}`);const b=p["media-position"]==="cover";if(e.staticModifiers)for(const Oe of e.staticModifiers)m.push(`${f}--${Oe}`);const _=new Set,A={},w=[],y=Vt(n,"tint"),S=Vt(n,"tint-mode");if(y||S){let Oe={},xe={},$e=S;if(y&&y!=="custom"&&i[y]){const we=i[y];if(we.light)for(const[xt,qt]of Object.entries(we.light))qt&&(Oe[xt]=qt);if(we.dark)for(const[xt,qt]of Object.entries(we.dark))qt&&(xe[xt]=qt);!$e&&we.lockMode&&($e=we.lockMode)}for(const we of qz){const xt=Vt(n,`tint-${we}`);xt&&(Oe[we]=xt,_.add(`tint-${we}`));const qt=Vt(n,`tint-dark-${we}`);qt&&(xe[we]=qt,_.add(`tint-dark-${we}`))}const Z=Object.keys(Oe).length>0;(y||Z)&&(A["data-tint"]=y||"custom"),$e&&$e!=="auto"&&(A["data-color-scheme"]=$e),Object.keys(xe).length>0&&(A["data-tint-dark"]="");for(const[we,xt]of Object.entries(Oe))w.push(`--tint-${we}: ${xt}`);for(const[we,xt]of Object.entries(xe))w.push(`--tint-dark-${we}: ${xt}`);(Z||y&&y!=="custom"&&i[y])&&m.push(`${f}--tinted`),_.add("tint"),_.add("tint-mode")}const C=n.attributes?.density,k=u?l.get(u):void 0,E=k?a[k]?.childDensity:void 0,T=C??E??e.defaultDensity??"full",$=n.attributes?.width??e.defaultWidth;$&&$!=="content"&&(p.width=$,m.push(`${f}--${$}`));const Q=n.attributes?.spacing;Q&&Q!=="default"&&(p.spacing=Q,m.push(`${f}--spacing-${Q}`));const P=n.attributes?.inset;P&&P!=="default"&&(p.inset=P,m.push(`${f}--inset-${P}`));const q=Dz(n.attributes?.elevation??e.defaultElevation);q&&(p.elevation=q);const I=n.attributes?.prominence??e.defaultProminence;if(I)if(Iz(e.sections))p.prominence=String(I);else{const Oe=n.attributes?.["data-rune"]??f;console.warn(`[refrakt] prominence is not supported on "${Oe}" — it applies only to runes with a page-section header. Ignored.`)}const W=n.attributes?.reveal;W&&(p.reveal=String(W));const U=!!n.attributes?.stagger;U&&(p.stagger="");const K=new Set,ae={};let re=null;const H=(n.children??[]).find(Oe=>sn(Oe)&&Oe.attributes?.["data-bg-guest"]!==void 0)??null,ie=Vt(n,"bg-preset"),se=Vt(n,"bg-src"),j=Vt(n,"bg-video"),ne=Vt(n,"bg-gradient"),Te=Vt(n,"bg-from"),Qe=Vt(n,"bg-via"),De=Vt(n,"bg-to"),ge=Vt(n,"bg-gradient-type");let Ee;if(ie&&s[ie]){let Oe=s[ie];Oe.extends&&s[Oe.extends]&&(Oe={...s[Oe.extends],...Oe}),Ee=Oe.gradient}let Ke=null;if(ne||Te||Qe||De||ge){const Oe=[Te,Qe,De].filter(xe=>!!xe);Ke=R0({type:ge??Ee?.type,direction:ne??Ee?.direction,stops:Oe.length>=2?Oe:Ee?.stops??Oe})}else Ee&&(Ke=R0(Ee));const tt=Vt(n,"scrim"),Ve=Vt(n,"bg-overlay"),Ge=tt&&tt!=="none"&&!b;if(ie||se||j||Ke||Ge||Ve||H){let Oe={};if(ie&&s[ie]){let pt=s[ie];if(pt.extends&&s[pt.extends]){const On=s[pt.extends];pt={...On,params:{...On.params,...pt.params},style:{...On.style,...pt.style}}}pt.style&&(Oe={...pt.style})}const xe=Vt(n,"bg-blur"),$e=Vt(n,"bg-position"),Z=Vt(n,"bg-fit"),we=Vt(n,"bg-opacity"),xt=Vt(n,"bg-fixed"),qt={sm:"4px",md:"8px",lg:"16px"},je=[];for(const[pt,On]of Object.entries(Oe))je.push(`${pt}: ${On}`);se?je.push(`--bg-image: url(${se})`):Ke&&je.push(`--bg-image: ${Ke}`),$e&&je.push(`--bg-position: ${$e}`),xe&&je.push(`--bg-blur: ${qt[xe]??xe}`),Z&&je.push(`--bg-fit: ${Z}`),we&&je.push(`--bg-opacity: ${we}`);const zn={"data-name":"bg"};ie&&(zn["data-bg-preset"]=ie),je.length&&(zn.style=je.join("; ")),xt&&(zn["data-bg-fixed"]="");const rr=[];if(j&&rr.push(Qt("video",{"data-name":"bg-video",autoplay:"",muted:"",loop:"",playsinline:"",src:j,...je.length?{style:je.filter(pt=>!pt.startsWith("--bg-image")).join("; ")}:{}})),H&&rr.push(H),Ve){const pt=Vt(n,"bg-overlay-opacity"),On={"data-name":"bg-overlay"};if(Ve==="dark"||Ve==="light")On["data-bg-overlay"]=Ve,pt&&(On.style=`opacity: ${pt}`);else if(Uz.test(Ve)){const hn=[`background: var(--rf-color-${Ve})`];pt&&hn.push(`opacity: ${pt}`),On.style=hn.join("; ")}else Kz(d??e.block),On.style=`background: ${Ve}`;rr.push(Qt("div",On))}if(Ge){const pt=Vt(n,"scrim-type")??"gradient",On=Vt(n,"scrim-tone")??"dark",hn={"data-name":"scrim","data-scrim":pt,"data-scrim-tone":On,"data-scrim-dir":tt},Gr=[];if(pt==="frost"){const Mr=Vt(n,"scrim-blur")??"md";Gr.push(`--scrim-blur: ${qt[Mr]??qt.md}`)}else{const Mr=Vt(n,"scrim-strength")??"md";Gr.push(`--scrim-strength: ${I0[Mr]??I0.md}`)}hn.style=Gr.join("; "),rr.push(Qt("div",hn)),A["data-color-scheme"]||(ae["data-color-scheme"]=On)}re=Qt("div",zn,rr),m.push(`${f}--has-bg`),ae["data-bg"]="",K.add("bg-preset"),K.add("bg-src"),K.add("bg-video"),K.add("bg-overlay"),K.add("bg-blur"),K.add("bg-position"),K.add("bg-fit"),K.add("bg-opacity"),K.add("bg-fixed"),K.add("bg-gradient"),K.add("bg-from"),K.add("bg-via"),K.add("bg-to"),K.add("bg-gradient-type"),K.add("bg-overlay-opacity"),K.add("scrim"),K.add("scrim-type"),K.add("scrim-strength"),K.add("scrim-blur"),K.add("scrim-tone")}b&&(K.add("scrim"),K.add("scrim-type"),K.add("scrim-blur"),K.add("scrim-tone"));const Re=zz(n,o),At=new Set(Re?.metaProps??[]);let Jt=null;if(Re){const Oe=e.sections?Object.values(e.sections).includes("media"):!1;Jt=e.frameTarget??(Oe?"media":null),Jt||Q0(d??e.block)}const En=Re&&Jt==="self"?Re.dataAttrs:{},ft=Wz(n),on=new Set(ft?.metaProps??[]);let an=null;if(ft){const Oe=e.sections?Object.values(e.sections).includes("media"):!1,xe=ft.targetOverride;an=xe==="self"||xe==="media"?xe:e.substrateTarget??"self",an==="media"&&!Oe&&(D0(d??e.block),an=null)}const Vn=ft&&an==="self"?ft.dataAttrs:{},Ae={};for(const[Oe,xe]of Object.entries(p)){const $e=Oe.replace(/([A-Z])/g,"-$1").toLowerCase();Ae[`data-${$e}`]=xe}for(const[Oe,xe]of Object.entries(O)){const $e=Oe.startsWith("data-")?Oe:`data-${Oe}`;Ae[$e]=xe}const $n=n.attributes.class||"",Mt=[f,...m,$n].filter(Boolean).join(" ");let bt=H?n.children.filter(Oe=>Oe!==H):n.children;if(e.autoLabel&&(bt=xC(bt,e.autoLabel)),e.blocks||e.layout)bt=u6(e,f,bt,p);else if(e.structure){const Oe=[],xe=[];for(const[$e,Z]of Object.entries(e.structure)){const we=bf(Z,$e,p);we&&(Z.before?Oe.push(we):xe.push(we))}if(e.contentWrapper){const $e=Qt(e.contentWrapper.tag,{"data-name":e.contentWrapper.ref},bt);bt=[...Oe,$e,...xe]}else(Oe.length||xe.length)&&(bt=[...Oe,...bt,...xe])}else e.contentWrapper&&(bt=[Qt(e.contentWrapper.tag,{"data-name":e.contentWrapper.ref},bt)]);re&&(bt=[re,...bt]);let un=bt.map(Oe=>sn(Oe)?c(Mv(Oe,f,e.sections,e.mediaSlots),d):c(Oe,d));if(e.projection&&(un=t6(un,e.projection,f,e.sections,e.mediaSlots)),Re&&Jt==="media"){const Oe=vf(un);Oe?T0(Oe,Re.dataAttrs,Re.styleParts):Q0(d??e.block)}if(ft&&an==="media"){const Oe=vf(un);Oe?T0(Oe,ft.dataAttrs,ft.styleParts):D0(d??e.block)}const le=!!dg(un,"link");if(le||b){const Oe=vf(un);if(Oe){if(Oe.attributes={...Oe.attributes,"data-guest-posture":"presentational"},le){const xe=Fz(Oe,a,l);xe&&Xz(d??e.block,xe)}if(b)for(const xe of Zz(Oe)){(xe.attributes?.["data-height"]??"auto")==="auto"&&(xe.attributes={...xe.attributes,"data-height":"fill"});const $e=xe.attributes?.["data-activation"];($e==="visible"||$e==="click")&&Vz(d??e.block,String($e))}}}const ve=e.modifiers?new Set(Object.keys(e.modifiers).map(Oe=>ks(Oe))):void 0,ye=un.filter(Oe=>{if(!sn(Oe))return!0;const xe=Oe;if(xe.name!=="meta"||!xe.attributes["data-field"])return!0;const $e=xe.attributes["data-field"];return!(ve?.has($e)||_.has($e)||K.has($e)||At.has($e)||on.has($e))});if(e.sequence){const Oe=e.sequenceDirection?p[e.sequenceDirection.fromModifier]??e.sequenceDirection.default:void 0;SC(ye,e.sequence,Oe)}U&&e.staggerItems&&AC(ye,e.staggerItems,{n:0});let Ce=n.attributes.style||"";const Se=[];if(e.styles)for(const[Oe,xe]of Object.entries(e.styles)){const $e=p[Oe];$e&&(typeof xe=="string"?Se.push(`${xe}: ${$e}`):xe.transform?Se.push(`${xe.prop}: ${xe.transform($e)}`):xe.template?Se.push(`${xe.prop}: ${xe.template.replace("{}",$e)}`):Se.push(`${xe.prop}: ${$e}`))}Se.push(...w);const yt=p["content-place"];if(yt){if(!b)Hz(d??e.block);else if(yt!=="auto"){const[Oe,xe]=yt.trim().split(/\s+/);Oe&&Se.push(`--cover-place-block: ${Oe}`),xe&&Se.push(`--cover-place-inline: ${xe}`),Oe==="start"?Se.push("--cover-scrim-dir: to bottom"):Oe==="center"&&(Se.push("--cover-scrim-image: radial-gradient(ellipse farthest-side at center, rgb(0 0 0 / 0.55) 40%, transparent 100%)"),Se.push("--cover-scrim-mask: radial-gradient(ellipse farthest-side at center, #000 50%, transparent 100%)"))}}if(b){const Oe=Vt(n,"scrim");Oe==="none"&&(ae["data-scrim"]="none");const xe=Vt(n,"scrim-type");if(xe&&Oe!=="none"&&(ae["data-scrim-type"]=xe,xe==="frost")){const we=Vt(n,"scrim-blur");we&&(ae["data-scrim-blur"]=we)}const $e=e.rootAttributes?.["data-cover-scope"];if(Oe!=="none"&&$e!=="header"&&!ae["data-color-scheme"]&&!A["data-color-scheme"]){const we=dg(ye,"content");we&&(we.attributes={...we.attributes,"data-color-scheme":Vt(n,"scrim-tone")??"dark"})}const Z=Gz[Oe??""];Z&&Se.push(`--cover-scrim-dir: ${Z}`)}Re&&Jt==="self"&&Se.push(...Re.styleParts),ft&&an==="self"&&Se.push(...ft.styleParts),Se.length&&(Ce=Ce?`${Ce}; ${Se.join("; ")}`:Se.join("; "));const{width:dt,spacing:Je,inset:Ct,elevation:wt,prominence:at,reveal:Tt,stagger:Tn,density:Zt,"data-rune":tn,"data-rune-fields":_t,...Ft}=n.attributes,qn=v.length>0?Object.fromEntries(Object.entries(Ft).filter(([Oe])=>!v.includes(Oe))):Ft,jn={...n,attributes:{...qn,...Ae,...A,...ae,...En,...Vn,class:Mt,"data-rune":d,"data-density":T,...e.rootAttributes||{},...Ce?{style:Ce}:{}},children:ye};return e.postTransform?e.postTransform(jn,{modifiers:p,parentType:u,fields:h}):jn}function xC(n,e){return n.map(t=>{if(!sn(t))return t;const r=e[t.name]??e[t.attributes?.["data-field"]],i=r&&!t.attributes["data-name"]?{...t,attributes:{...t.attributes,"data-name":r}}:t;return i.children.length===0?i:{...i,children:xC(i.children,e)}})}function Mv(n,e,t,r){const i=n.attributes["data-name"];if(i){const s=`${e}__${i}`,o=n.attributes.class||"",a=n.children.map(u=>sn(u)?Mv(u,e,t,r):u),l=t?.[i],c=r?.[i];return{...n,attributes:{...n.attributes,class:[s,o].filter(Boolean).join(" "),...l?{"data-section":l}:{},...c?{"data-media":c}:{}},children:a}}return n}const j0=/^\[(x|X|>|\s|-)\]\s*/,z0={x:"checked",X:"checked"," ":"unchecked",">":"active","-":"skipped"};function e6(n){const e=n.children;if(e.length===0)return null;const t=e[0];if(typeof t=="string"){const r=t.match(j0);if(!r)return null;const i=z0[r[1]]??"unchecked",s=t.slice(r[0].length);return{...n,attributes:{...n.attributes,"data-checked":i},children:[s,...e.slice(1)]}}if(sn(t)&&t.name==="p"&&t.children.length>0){const r=t.children[0];if(typeof r=="string"){const i=r.match(j0);if(!i)return null;const s=z0[i[1]]??"unchecked",o=r.slice(i[0].length),a={...t,children:[o,...t.children.slice(1)]};return{...n,attributes:{...n.attributes,"data-checked":s},children:[a,...e.slice(1)]}}}return null}function SC(n,e,t){for(let r=0;r<n.length;r++){const i=n[r];if(sn(i))if(i.name==="ol"){const s={...i.attributes,"data-sequence":e};t&&(s["data-sequence-direction"]=t),n[r]={...i,attributes:s}}else i.children.length>0&&SC(i.children,e,t)}}function AC(n,e,t){for(let r=0;r<n.length;r++){const i=n[r];if(!sn(i))continue;if(i.attributes?.["data-field"]===e||i.attributes?.["data-name"]===e){const o=i.attributes?.style?String(i.attributes.style):"",a=`--rf-reveal-index: ${t.n}`;n[r]={...i,attributes:{...i.attributes,style:o?`${o}; ${a}`:a}},t.n++}else i.children.length>0&&AC(i.children,e,t)}}function CC(n,e){const t=n.findIndex(r=>sn(r)&&r.attributes?.["data-name"]===e);if(t!==-1){const r=n[t],i=[...n.slice(0,t),...n.slice(t+1)];return{element:r,rest:i}}for(let r=0;r<n.length;r++){const i=n[r];if(!sn(i))continue;const s=i;if(s.attributes?.["data-name"]!=="preamble")continue;const o=CC(s.children,e);if(!o)continue;const a=[...n];return o.rest.length===0?a.splice(r,1):a[r]={...s,children:o.rest},{element:o.element,rest:a}}return null}function TC(n,e){for(const t of n){if(!sn(t))continue;const r=t;if(r.attributes?.["data-name"]===e)return r;const i=TC(r.children,e);if(i)return i}return null}function PC(n,e,t,r){return n.map(i=>{if(!sn(i))return i;const s=i;if(s.attributes?.["data-name"]===e){const a=r==="prepend"?[t,...s.children]:[...s.children,t];return{...s,children:a}}const o=PC(s.children,e,t,r);return o!==s.children?{...s,children:o}:i})}function t6(n,e,t,r,i){let s=[...n];if(e.hide){const o=new Set(e.hide);s=s.filter(a=>{if(!sn(a))return!0;const l=a.attributes?.["data-name"];return!l||!o.has(l)})}if(e.group)for(const[o,a]of Object.entries(e.group)){const l=new Set(a.members),c=[];let u=-1;for(let f=s.length-1;f>=0;f--){const d=s[f];if(!sn(d))continue;const h=d.attributes?.["data-name"];h&&l.has(h)&&(c.unshift(d),(u===-1||f<u)&&(u=f),s.splice(f,1))}if(c.length>0){let f=Qt(a.tag,{"data-name":o},c);f=Mv(f,t,r,i),s.splice(u,0,f)}}if(e.relocate)for(const[o,a]of Object.entries(e.relocate)){const l=CC(s,o);if(!l)continue;s=l.rest,TC(s,a.into)&&(s=PC(s,a.into,l.element,a.position??"append"))}return s}function bf(n,e,t,r){if(n.condition&&!t[n.condition]||n.conditionAny&&!n.conditionAny.some(l=>t[l]))return null;const i=n.ref??e;if(n.repeat){const l=parseInt(t[n.repeat.count]??"",10);if(!l||l<0||isNaN(l))return Qt(n.tag,{"data-name":i},[]);const c=n.repeat.max??10,u=Math.min(l,c),f=n.repeat.filled?parseInt(t[n.repeat.filled]??"0",10):0,d=Math.max(0,Math.min(f,u)),h=[];for(let m=0;m<u;m++){const p=m<d;if(p&&n.repeat.filledElement){const O=bf(n.repeat.filledElement,n.repeat.filledElement.ref??"",t);O&&h.push(O)}else{const O=bf(n.repeat.element,n.repeat.element.ref??"",t);O&&(n.repeat.filled?h.push({...O,attributes:{...O.attributes,"data-filled":p?"true":"false"}}):h.push(O))}}return Qt(n.tag,{"data-name":i},h)}const s={};if(n.attrs)for(const[l,c]of Object.entries(n.attrs))typeof c=="string"?s[l]=c:"fromModifier"in c&&(s[l]=t[c.fromModifier]??"");const o={"data-name":i,...s};if(n.metaType&&(o["data-meta-type"]=n.metaType),n.sentimentMap&&n.metaText){const l=t[n.metaText];if(l){const c=n.sentimentMap[l];c&&(o["data-meta-sentiment"]=c)}}if(n.icon)return Qt(n.tag,o,[]);if(n.metaText){let l=t[n.metaText]??"";if(n.transform&&gd[n.transform]&&(l=gd[n.transform](l)),n.label){const c={"data-meta-label":""};n.labelHidden&&(c["data-meta-label-hidden"]="");const u=Qt("span",c,[n.label]);let f=l;n.textPrefix&&(f=n.textPrefix+f),n.textSuffix&&(f=f+n.textSuffix);const d=Qt("span",{"data-meta-value":""},[f]);return Qt(n.tag,o,[u,d])}return n.textPrefix&&(l=n.textPrefix+l),n.textSuffix&&(l=l+n.textSuffix),Qt(n.tag,o,[l])}const a=[];if(n.children)for(const l of n.children)if(typeof l=="string")a.push(l);else{const c=bf(l,l.ref??"",t);c&&a.push(c)}return Qt(n.tag,o,a)}function n6(n,e,t){const r=e[n];if(!r)return null;if(r.condition){const a=t[r.condition];if(!(r.renderWhenEmpty?a!==void 0:!!a))return null}let i=t[n]??"";if(!i&&r.condition&&!r.renderWhenEmpty)return null;r.transform&&gd[r.transform]&&(i=gd[r.transform](i));const s=r.href?t[r.href]??"":void 0;if(r.href&&!s)return null;const o=r.rating?t[r.rating.total??""]||"5":void 0;return{name:n,value:i,field:r,href:s,ratingTotal:o}}function EC(n,e={includeLabel:!0}){const{field:t,value:r}=n,i={class:"rf-badge"};if(t.metaType&&(i["data-meta-type"]=t.metaType),t.sentimentMap){const a=t.sentimentMap[r];a&&(i["data-meta-sentiment"]=a)}const s=t.tag??"span",o={...i};return s==="time"&&r&&(o.datetime=r),e.includeLabel&&t.label?Qt(s,o,[Qt("span",{"data-meta-label":""},[t.label]),Qt("span",{"data-meta-value":""},[r])]):Qt(s,o,[r])}function r6(n){const{field:e,value:t}=n,r={};e.metaType&&(r["data-meta-type"]=e.metaType);const i=e.tag??"span";return i==="time"&&t&&(r.datetime=t),Qt(i,r,[t])}function $C(n){const e=n.field.splitOn;return!e||!n.value?[n.value].filter(Boolean):n.value.split(e).map(t=>t.trim()).filter(Boolean)}const i6=new Set(["status","category","tag"]);function QC(n){return n.metaType!==void 0&&i6.has(n.metaType)}function s6(n){return Qt("a",{href:n.href??"","data-meta-type":"link"},[n.field.label??n.value])}function o6(n){const e=Math.max(0,parseInt(n.value,10)||0),t=Math.max(0,parseInt(n.ratingTotal??"5",10)||5),r=[];for(let i=0;i<t;i++)r.push(Qt("span",{"data-filled":i<e?"true":"false"},[]));return Qt("span",{"data-meta-type":"rating"},r)}function a6(n){const e=n.field.icon.group,t={};return n.field.metaType&&(t["data-meta-type"]=n.field.metaType),Qt(n.field.tag??"span",t,[Qt("span",{"data-icon-group":e,"data-icon":n.value},[]),Qt("span",{"data-meta-value":""},[n.field.label??n.value])])}function hg(n,e=!1){return n.field.href?s6(n):n.field.rating?o6(n):n.field.icon?a6(n):QC(n.field)?EC(n,{includeLabel:e}):r6(n)}function l6(n,e,t){if(e.length===0)return null;const r=[];for(const{resolved:s,align:o}of e){const a=s.field.splitOn&&s.value?$C(s).map(l=>hg({...s,value:l})):[hg(s)];o==="end"&&a.length>0&&(a[0]={...a[0],attributes:{...a[0].attributes,"data-align":"end"}}),r.push(...a)}const i={"data-name":n,"data-zone":n,"data-zone-layout":"bar"};return t===!1&&(i["data-wrap"]="false"),Qt("div",i,r)}function c6(n,e){if(e.length===0)return null;const t=e.map(r=>{const i=Qt("dt",{"data-meta-label":""},[r.field.label??r.name]);let s;if(r.field.splitOn&&r.value){const o=$C(r).map(a=>hg({...r,value:a}));s=Qt("dd",{"data-multi-value":""},o)}else if(QC(r.field))s=Qt("dd",{},[EC(r,{includeLabel:!1})]);else{const o={};r.field.metaType&&(o["data-meta-type"]=r.field.metaType);const a=r.field.tag==="time"&&r.value?Qt("time",{datetime:r.value},[r.value]):r.value;s=Qt("dd",o,[a])}return Qt("div",{"data-name":"row","data-field":r.name},[i,s])});return Qt("dl",{"data-name":n,"data-zone":n,"data-zone-layout":"definition-list"},t)}function u6(n,e,t,r){const i=n.blocks??{},s=n.layout??{},o=n.metaFields??{},a=f=>{const d=i[f];if(!d)return null;const h=[];for(const m of d.fields){const p=typeof m=="string"?m:m.field,O=typeof m=="string"?void 0:m.align,v=n6(p,o,r);v&&h.push({resolved:v,align:O})}return h.length===0?null:d.layout==="bar"?l6(f,h,d.wrap??!0):c6(f,h.map(m=>m.resolved))};if(Object.keys(s).length===0)return t;const l={layout:s,renderBlock:a},c=s.root;if(c){const f=Array.isArray(c)?c:c.children,d=pg(t),h=new Set,m=Od(f,d,h,l,["root"]),p=t.filter(O=>!(sn(O)&&O.attributes["data-name"]&&h.has(O.attributes["data-name"])));return[...m,...p]}let u=t;for(const[f,d]of Object.entries(s)){const h=Array.isArray(d)?d:d.children;u=p6(u,f,m=>{const p=pg(m),O=new Set,v=Od(h,p,O,l,[f]),b=m.filter(_=>!(sn(_)&&_.attributes["data-name"]&&O.has(_.attributes["data-name"])));return[...v,...b]})}return u}const Z0=new Set;function f6(n){Z0.has(n)||(Z0.add(n),console.warn(`[refrakt] layout reference cycle at "${n}" — skipping to break the loop.`))}const d6=new Set(["accordion-item","tab","tab-panel","breadcrumb-item","juxtapose-panel","bento-cell","definition","step","tier","map-pin","itinerary-day","itinerary-stop"]),F0=new Set;function h6(n,e,t){const r=`${n}<${t??""}`;if(F0.has(r))return;F0.add(r);const i=t?`nested directly in \`${t}\``:"at the top level",s=`[refrakt] \`${n}\` requires parent \`${ks(e)}\` — found ${i}.`;d6.has(n)?console.error(s):console.warn(s)}function pg(n){const e=new Map;for(const t of n)sn(t)&&t.attributes["data-name"]&&e.set(t.attributes["data-name"],t);return e}function Od(n,e,t,r,i){const s=[];for(const o of n){if(t.has(o))continue;if(i.includes(o)){f6(o);continue}const a=r.layout[o];if(a&&!Array.isArray(a)&&a.tag){t.add(o);const u=Od(a.children,e,t,r,[...i,o]);s.push(Qt(a.tag,{"data-name":o,...a.attrs??{}},u));continue}if(a){const u=e.get(o);if(u){t.add(o);const f=Array.isArray(a)?a:a.children,d=pg(u.children),h=new Set,m=Od(f,d,h,r,[...i,o]),p=u.children.filter(O=>!(sn(O)&&O.attributes["data-name"]&&h.has(O.attributes["data-name"])));s.push({...u,children:[...m,...p]});continue}}const l=r.renderBlock(o);if(l){t.add(o),s.push(l);continue}const c=e.get(o);if(c){t.add(o),s.push(c);continue}}return s}function p6(n,e,t){let r=!1;const i=s=>s.map(o=>r||!sn(o)?o:o.attributes["data-name"]===e?(r=!0,{...o,children:t(o.children)}):{...o,children:i(o.children)});return i(n)}const m6=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),g6=new Set(["$$mdtype"]);function LC(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function O6(n){const e=[];for(const[t,r]of Object.entries(n))if(!g6.has(t)&&!(r==null||r===!1)){if(r===!0){e.push(t);continue}e.push(`${t}="${LC(String(r))}"`)}return e.length?" "+e.join(" "):""}function v6(n,e){return Vl(n)}function Vl(n){if(n==null)return"";if(typeof n=="string")return LC(n);if(typeof n=="number")return String(n);if(Array.isArray(n))return n.map(Vl).join("");if(!sn(n))return"";const e=n.name;if(!e)return n.children.map(Vl).join("");const t=O6(n.attributes);if(m6.has(e))return`<${e}${t} />`;const i=n.attributes?.["data-codeblock"]||n.attributes?.["data-raw-html"]?n.children.map(s=>typeof s=="string"?s:Vl(s)).join(""):n.children.map(Vl).join("");return`<${e}${t}>${i}</${e}>`}function b6(n,e,t,r){if(!n)return null;const i=n.endsWith("/")?n.slice(0,-1):n,s=e&&e.length>0?e:"main",o=t.split("/").map(l=>encodeURIComponent(l)).join("/"),a=r?`#${y6(r)}`:"";return`${i}/blob/${s}/${o}${a}`}function y6(n){const e=n.trim(),t=e.indexOf("-");if(t<0)return`L${e}`;const r=e.slice(0,t).trim(),i=e.slice(t+1).trim();return i?`L${r}-L${i}`:`L${r}`}const{Tag:bG}=B;function w6(n,e){if(typeof e=="function")return e(n);const t=typeof e=="string"?{node:e}:e;return!(t.node&&n.type!==t.node||t.descendant&&!Array.from(n.walk()).some(r=>r.type===t.descendant)||t.descendantTag&&!Array.from(n.walk()).some(r=>r.type==="tag"&&r.tag===t.descendantTag))}const{Ast:X0}=B;function*MC(n){yield n;for(const e of n.children)B.Tag.isTag(e)?yield*MC(e):yield e}function qv(n){const e=n?.level,t=n?.include;return r=>{const i=e??r.find(c=>c.type==="heading")?.attributes.level;if(!i)return r;let s;const o=new X0.Node("list"),a=[];let l=[];for(let c=0;c<r.length;c++){const u=r[c];if(u.type==="heading"&&u.attributes.level===i)o.children.push(new X0.Node("item",{},[u])),s=c;else if(s===void 0)a.push(u);else if(!t||t.some(f=>w6(u,f))){const f=o.children.at(-1);f&&f.children.push(u)}else{l=r.slice(c);break}}return o.children.length===0?r:[...a,o,...l]}}class ze{constructor(e){this.nodes=e,this.offset=0}static fromData(e,t){return new ze([new B.Tag(t,{},[e])])}wrap(e,t={}){return new ze([new B.Tag(e,t,this.nodes)])}tag(e){const t=this.nodes.filter(r=>B.Tag.isTag(r)&&r.name===e);return new ze(t)}tags(...e){const t=this.nodes.filter(r=>B.Tag.isTag(r)&&e.includes(r.name));return new ze(t)}headings(){return this.tags("h1","h2","h3","h4","h5","h6")}typeof(e){return new ze(this.nodes.filter(t=>B.Tag.isTag(t)&&t.attributes["data-rune"]===ks(e)))}concat(...e){const t=e.map(r=>r instanceof ze?r.nodes:r).flat();return new ze([...this.nodes,...t])}flatten(){const e=this.nodes.map(t=>B.Tag.isTag(t)?Array.from(MC(t)):t).flat();return new ze(e)}limit(e){return new ze(this.nodes.slice(0,e))}slice(e,t){return new ze(this.nodes.slice(e,t))}toArray(){return this.nodes}count(){return this.nodes.length}next(){return this.nodes[this.offset++]}}function Ne(n){const e=n.rune,t=n.typeof??n.schemaOrgType;if(n.properties&&n.refs){const c=new Set(Object.keys(n.properties)),u=Object.keys(n.refs).filter(f=>c.has(f));if(u.length>0)throw new Error(`Rune "${e}" has naming collisions between properties and refs: ${u.join(", ")}. Properties and refs share a flat namespace (ADR-008) and must have unique names.`)}const r=new Set;for(const c of Object.values(n.schema??{})){if(c===void 0)continue;const u=c instanceof ze?c.nodes:Array.isArray(c)?c:[c];for(const f of u)r.add(f)}const i={},s=new Set;for(const[c,u]of Object.entries(n.properties??{})){if(u===void 0)continue;const f=u instanceof ze?u.nodes:Array.isArray(u)?u:[u],d=[];f.forEach(h=>{if(B.Tag.isTag(h)){const m=h.name==="meta"&&r.has(h);m||(h.attributes["data-field"]=ks(c)),h.name==="meta"&&h.attributes.content!==void 0&&(d.push(h.attributes.content),m||s.add(h))}}),d.length===1?i[c]=d[0]:d.length>1&&(i[c]=d)}for(const[c,u]of Object.entries(n.refs||{})){if(u===void 0)continue;(u instanceof ze?u.nodes:Array.isArray(u)?u:[u]).forEach(d=>{B.Tag.isTag(d)&&(d.attributes["data-name"]=c)})}const o=new Set;for(const[c,u]of Object.entries(n.schema??{})){if(u===void 0)continue;(u instanceof ze?u.nodes:Array.isArray(u)?u:[u]).forEach(d=>{if(B.Tag.isTag(d)){if(d.name==="meta"&&(d.attributes.content===void 0||d.attributes.content==="")){o.add(d);return}d.attributes.property=c}})}const a=(Array.isArray(n.children)?n.children:[n.children]).filter(c=>!o.has(c)&&!s.has(c));return new B.Tag(n.tag,{id:n.id,"data-field":n.property?ks(n.property):n.property,"data-rune":e,typeof:t,class:n.class,...Object.keys(i).length>0?{"data-rune-fields":JSON.stringify(i)}:{}},a)}function _6(n){return n.replace(/<script\b[^>]*>[\s\S]*?<\/script\s*>/gi,"")}function k6(n){let e=n.replace(/\s+on[a-z]+\s*=\s*"[^"]*"/gi,"");return e=e.replace(/\s+on[a-z]+\s*=\s*'[^']*'/gi,""),e=e.replace(/\s+on[a-z]+\s*=\s*[^\s>]+/gi,""),e}function x6(n){return n.replace(/(\s(?:href|src|action|formaction|xlink:href)\s*=\s*)(["'])\s*javascript:[^"']*\2/gi,"$1$2$2")}function S6(n){let e=n.replace(/<iframe\b[^>]*>[\s\S]*?<\/iframe\s*>/gi,"");return e=e.replace(/<object\b[^>]*>[\s\S]*?<\/object\s*>/gi,""),e=e.replace(/<embed\b[^>]*\/?>/gi,""),e=e.replace(/<iframe\b[^>]*\/>/gi,""),e=e.replace(/<object\b[^>]*\/>/gi,""),e}function A6(n,e){if(e.trust==="trusted"||e.allowJs)return n;let t=_6(n);return t=k6(t),t=x6(t),t=S6(t),t}const C6=new WeakMap;function ot(n){return Array.isArray(n)?n:n!=null?[n]:[]}const T6={tint:{type:String,required:!1,description:"Color tint preset applied to this block"},"tint-mode":{type:String,required:!1,matches:["auto","dark","light"],description:"Whether the tint adapts to auto, dark, or light mode"},bg:{type:String,required:!1,description:"Background preset applied to this block"},width:{type:String,required:!1,matches:["compact","narrow","content","wide","full"],description:"Maximum width constraint for this block"},spacing:{type:String,required:!1,matches:["flush","tight","default","loose","breathe"],description:"Vertical spacing above and below this block"},inset:{type:String,required:!1,matches:["flush","tight","default","loose","breathe"],description:"Inner padding of this block"},elevation:{type:String,required:!1,matches:["sunken","flush","flat","raised","floating","overlay","none","sm","md","lg"],description:"Surface depth on the SPEC-107 ladder (sunken→overlay); none/sm/md/lg are deprecated aliases"},prominence:{type:String,required:!1,matches:["quiet","normal","prominent","display"],description:"Section-header emphasis (only on page-section-header family runes)"},reveal:{type:String,required:!1,matches:["none","fade","slide","scale","blur"],description:"Scroll-reveal entrance character (none|fade|slide|scale|blur); the theme owns the choreography"},stagger:{type:Boolean,required:!1,description:"Cascade this block's items in as it reveals (no-op on single-child runes)"},frame:{type:String,required:!1,description:"Named frame preset presenting this block's media surface"},"frame-aspect":{type:String,required:!1,description:'Aspect ratio of the framed media, e.g. "16/9"'},"frame-displace":{type:String,required:!1,matches:["top","bottom","end","bottom-end","top-end"],description:"Edge/corner the framed guest moves toward"},"frame-offset":{type:String,required:!1,matches:["none","sm","md","lg","xl"],description:"Displacement distance (named scale)"},"frame-oversize":{type:String,required:!1,description:"How far the guest exceeds its slot (scale factor)"},"frame-place":{type:String,required:!1,description:'Guest-box alignment in the slot (e.g. "left top")'},"frame-anchor":{type:String,required:!1,description:"Crop focal point when the guest is cut (object-position)"},"frame-shadow":{type:String,required:!1,matches:["none","sm","md","lg"],description:"Silhouette drop-shadow strength for the framed media"},substrate:{type:String,required:!1,matches:["dots","grid","lines","cross","checker","none"],description:"Generated surface pattern"},"substrate-size":{type:String,required:!1,matches:["sm","md","lg"],description:"Pattern cell size"},"substrate-opacity":{type:String,required:!1,matches:["sm","md","lg"],description:"Pattern ink strength"},"substrate-fill":{type:String,required:!1,matches:["inherit","inset"],description:"Surface fill the pattern sits on (full colour stays with tint)"},"substrate-target":{type:String,required:!1,matches:["self","media"],description:"Which surface the pattern fills (overrides the rune/theme default)"},"bg-gradient":{type:String,required:!1,matches:["to-t","to-b","to-l","to-r","to-tr","to-br","to-bl","to-tl"],description:"Gradient direction (bounded named set)"},"bg-from":{type:String,required:!1,description:"Gradient start colour — a semantic token name (→ var(--rf-color-*))"},"bg-to":{type:String,required:!1,description:"Gradient end colour — a semantic token name"},"bg-via":{type:String,required:!1,description:"Optional middle gradient stop — a semantic token name"},"bg-gradient-type":{type:String,required:!1,matches:["linear","radial","conic"],description:"Gradient type"},scrim:{type:String,required:!1,matches:["top","bottom","left","right","none"],description:'Scrim direction (heaviest edge); presence turns the scrim on, "none" opts out of the default cover scrim'},"scrim-type":{type:String,required:!1,matches:["gradient","frost"],description:"Scrim treatment: gradient (default) or frost (backdrop blur)"},"scrim-strength":{type:String,required:!1,matches:["sm","md","lg"],description:"Gradient scrim strength"},"scrim-blur":{type:String,required:!1,matches:["none","sm","md","lg"],description:"Frost scrim blur amount"},"scrim-tone":{type:String,required:!1,matches:["dark","light"],description:"Whether the scrim darkens (for light text) or lightens (for dark text)"}},P6=["bg-gradient","bg-from","bg-to","bg-via","bg-gradient-type","scrim","scrim-type","scrim-strength","scrim-blur","scrim-tone"],E6=["frame-aspect","frame-displace","frame-offset","frame-oversize","frame-place","frame-anchor","frame-shadow"],$6=["substrate-size","substrate-opacity","substrate-fill","substrate-target"];function Q6(n,e){if(!B.Tag.isTag(n))return n;const t=[];if(e.tintNode){const i=B.transform(e.tintNode,e.config);if(B.Tag.isTag(i))for(const s of i.children)B.Tag.isTag(s)&&s.name==="meta"&&t.push(s)}const r=i=>t.some(s=>B.Tag.isTag(s)&&s.attributes["data-field"]===i);return e.tint&&!r("tint")&&t.push(new B.Tag("meta",{"data-field":"tint",content:e.tint})),e["tint-mode"]&&e["tint-mode"]!=="auto"&&!r("tint-mode")&&t.push(new B.Tag("meta",{"data-field":"tint-mode",content:e["tint-mode"]})),t.length===0||(n.children=[...n.children,...t]),n}function qC(n){const e=Array.isArray(n)?n:[n];for(const t of e){if(!B.Tag.isTag(t))continue;if(t.name==="rf-sandbox")return t;const r=qC(t.children);if(r)return r}}function V0(n){return new B.Tag(n.name,{...n.attributes,"data-bg-guest":"","data-guest-posture":"backdrop","data-height":"fill","data-activation":"eager"},n.children)}const W0=new WeakMap;function L6(n,e,t){const r=`${n.src}\0${n.framework??""}\0${n.dependencies??""}`;let i=W0.get(t);i||(i=new Map,W0.set(t,i));const s=i.get(r);if(s)return V0(s);const o={src:n.src};n.framework&&(o.framework=n.framework),n.dependencies&&(o.dependencies=n.dependencies);const a=new B.Ast.Node("tag",o,[],"sandbox"),l=qC(B.transform(a,e));if(l)return i.set(r,l),V0(l)}function M6(n,e){if(!B.Tag.isTag(n))return n;const t=[],r=[];if(e.bgNode){const s=B.transform(e.bgNode,e.config);if(B.Tag.isTag(s))for(const o of s.children)B.Tag.isTag(o)&&(o.name==="meta"?t.push(o):o.attributes["data-bg-guest"]!==void 0&&r.push(o))}const i=t.some(s=>B.Tag.isTag(s)&&s.attributes["data-field"]==="bg-preset");if(e.bg&&!i&&t.push(new B.Tag("meta",{"data-field":"bg-preset",content:e.bg})),e.bg&&r.length===0){const s=e.config?.variables?.__backgrounds,o=s?.[e.bg];if(o&&s){const a=o.extends?s[o.extends]:void 0,l=o.sandbox||a?.sandbox?{...a?.sandbox,...o.sandbox}:void 0;if(l?.src){const c=L6(l,e.config,s);c&&r.push(c)}}}return t.length===0&&r.length===0||(n.children=[...n.children,...t,...r]),n}function q6(n,e){if(!B.Tag.isTag(n))return n;const t=i=>n.children.some(s=>B.Tag.isTag(s)&&s.name==="meta"&&s.attributes["data-field"]===i),r=[];e.frame&&!t("frame")&&r.push(new B.Tag("meta",{"data-field":"frame",content:String(e.frame)}));for(const i of E6){const s=e[i];s!=null&&s!==""&&!t(i)&&r.push(new B.Tag("meta",{"data-field":i,content:String(s)}))}return r.length===0||(n.children=[...n.children,...r]),n}function D6(n,e){if(!B.Tag.isTag(n))return n;const t=i=>n.children.some(s=>B.Tag.isTag(s)&&s.name==="meta"&&s.attributes["data-field"]===i),r=[];for(const i of P6){const s=e[i];s!=null&&s!==""&&!t(i)&&r.push(new B.Tag("meta",{"data-field":i,content:String(s)}))}return r.length===0||(n.children=[...n.children,...r]),n}function R6(n,e){if(!B.Tag.isTag(n))return n;const t=i=>n.children.some(s=>B.Tag.isTag(s)&&s.name==="meta"&&s.attributes["data-field"]===i),r=[];e.substrate&&!t("substrate")&&r.push(new B.Tag("meta",{"data-field":"substrate",content:String(e.substrate)}));for(const i of $6){const s=e[i];s!=null&&s!==""&&!t(i)&&r.push(new B.Tag("meta",{"data-field":i,content:String(s)}))}return r.length===0||(n.children=[...n.children,...r]),n}function He(n){const e={};n.base&&Object.assign(e,n.base),n.attributes&&Object.assign(e,n.attributes),Object.assign(e,T6),n.deferBody&&(e["__deferred-body"]={type:String,required:!1});const t=n.deprecations;if(t){for(const[i,s]of Object.entries(t))if(!e[i]){const o=e[s.newName];e[i]={type:o?.type??String,required:!1,deprecated:!0}}}const r={attributes:e,...n.selfClosing!=null&&{selfClosing:n.selfClosing},transform:(i,s)=>{if(t){for(const[m,p]of Object.entries(t))if(i.attributes[m]!==void 0&&i.attributes[p.newName]===void 0){const O=p.transform?p.transform(i.attributes[m],i.attributes):i.attributes[m];O!==void 0&&(i.attributes[p.newName]=O)}}const o=i.transformAttributes(s),a=typeof n.contentModel=="function"?n.contentModel(o):n.contentModel,{content:l,tintNode:c,bgNode:u}=wz(i.children,a,o),f=n.transform(l,o,s,i),d={tintNode:c,bgNode:u,tint:o.tint,"tint-mode":o["tint-mode"],bg:o.bg,config:s},h=M6(Q6(f,d),d);return B.Tag.isTag(h)&&(o.width&&(h.attributes.width=o.width),o.spacing&&(h.attributes.spacing=o.spacing),o.inset&&(h.attributes.inset=o.inset),o.elevation&&(h.attributes.elevation=o.elevation),o.prominence&&(h.attributes.prominence=o.prominence),o.reveal&&(h.attributes.reveal=o.reveal),o.stagger&&(h.attributes.stagger=o.stagger)),D6(R6(q6(h,o),o),o)}};return t&&(r.validate=i=>{const s=[];for(const[o,a]of Object.entries(t))i.attributes[o]!==void 0&&s.push({id:"deprecated-attribute",level:"warning",message:`Attribute "${o}" is deprecated. Use "${a.newName}" instead.`});return s}),n.deferBody&&(r.deferBody=!0),C6.set(r,n.contentModel),n.base&&xz.set(r,n.base),r}const{Tag:Bu}=B,I6=He({attributes:{type:{type:String},tag:{type:String},lines:{type:Array},error:{type:Object}},contentModel:{type:"sequence",fields:[]},transform(n,e){const t=e.error,r=new Bu("td",{},[t.id]),i=new Bu("td",{},[e.tag]),s=new Bu("td",{},[t.level]),o=new Bu("td",{},[t.message]);return Ne({rune:"error",tag:"tr",property:"error",properties:{code:r,tag:i,level:s,message:o},children:[i,r,s,o]})}});class N6{validate(e,t,r){return typeof e!="string"?[{id:"attribute-type-invalid",level:"critical",message:`Attribute '${r}' is not a string`}]:[]}}class B6 extends N6{transform(e){return e?e.split(" ").map(t=>t.trim()):[]}}const{Tag:j6}=B,z6=["row","column","dense","row dense","column dense"];function Z6(n,e){return!n||n.length===0?e.map(t=>({colspan:1,rowspan:void 0,children:t})):n.map((t,r)=>{const[i,s]=t.split(":");return{colspan:parseInt(i),rowspan:s?parseInt(s):void 0,children:e[r]}}).filter(t=>t.children!==void 0)}function F6(n){const e=n.items.map(({children:r,colspan:i,rowspan:s})=>r.wrap("div",{"data-colspan":i,"data-rowspan":s}).toArray()).flat(),t={"data-layout":"grid","data-columns":n.columns,"data-rows":n.rows,"data-flow":n.flow};return new j6("div",t,e)}const{Tag:$s}=B,X6=["columns","auto","masonry"],V6=He({attributes:{columns:{type:Number,required:!1,description:"Number of grid columns"},rows:{type:Number,required:!1,description:"Number of grid rows"},flow:{type:String,required:!1,matches:z6.slice(),description:"Direction items fill the grid"},spans:{type:B6,required:!1,description:"Column span widths for each cell (space-separated)"},ratio:{type:String,required:!1,description:'Column width ratio (e.g. "2 1 1")'},gap:{type:String,required:!1,matches:["none","tight","default","loose"],description:"Space between grid cells"},valign:{type:String,required:!1,matches:["top","center","bottom","stretch","baseline"],description:"Vertical alignment of cell content"},collapse:{type:String,required:!1,matches:["sm","md","lg","never"],description:"Breakpoint at which grid collapses to a single column"},mode:{type:String,required:!1,matches:["columns","auto","masonry"],default:"columns",description:"Grid sizing: fixed columns, auto-fit, or masonry"},min:{type:String,required:!1,description:"Minimum cell width for auto-fit mode"},aspect:{type:String,required:!1,description:"Aspect ratio for grid cells"},stack:{type:String,required:!1,matches:["natural","reverse"],description:"Stacking order when collapsed"}},contentModel:{type:"delimited",delimiter:"hr",dynamicZones:!0,zoneModel:{type:"sequence",fields:[{name:"content",match:"any",greedy:!0,optional:!0}]}},deprecations:{layout:{newName:"spans",transform:(n,e)=>{if(typeof n=="string"&&X6.includes(n)){e.mode=n;return}return n}}},transform(n,e,t){const i=(n.zones??[]).map(p=>new ze(B.transform(ot(p.content),t))),s=F6({items:Z6(e.spans,i),rows:e.rows,columns:e.columns,flow:e.flow}),o=e.ratio?new $s("meta",{content:e.ratio}):void 0,a=e.gap&&e.gap!=="default"?new $s("meta",{content:e.gap}):void 0,l=e.valign?new $s("meta",{content:e.valign}):void 0,c=e.collapse?new $s("meta",{content:e.collapse}):void 0,u=e.mode&&e.mode!=="columns"?new $s("meta",{content:e.mode}):void 0,f=e.min?new $s("meta",{content:e.min}):void 0,d=e.aspect?new $s("meta",{content:e.aspect}):void 0,h=e.stack?new $s("meta",{content:e.stack}):void 0,m=[o,a,l,c,u,f,d,h].filter(Boolean);return Ne({rune:"grid",tag:"section",children:[...m,s],properties:{...u?{mode:u}:{},ratio:o,gap:a,valign:l,collapse:c,...f?{min:f}:{},...d?{aspect:d}:{},...h?{stack:h}:{}},refs:{cell:new ze(s.children).tag("div")}})}}),{Tag:El}=B,W6={js:"JavaScript",ts:"TypeScript",py:"Python",rb:"Ruby",rs:"Rust",go:"Go",sh:"Shell",bash:"Bash",zsh:"Zsh",shell:"Shell",html:"HTML",css:"CSS",json:"JSON",yaml:"YAML",sql:"SQL",swift:"Swift",kt:"Kotlin",java:"Java",cpp:"C++",c:"C",cs:"C#",php:"PHP"};function Y6(n){return W6[n]||n.charAt(0).toUpperCase()+n.slice(1)}function U6(n){if(!n)return"";const e=n.endsWith("/")?n.slice(0,-1):n,t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function G6(n,e){if(!n)return"";const t=U6(n);return t?e?`${t}:${e}`:t:""}const H6=["scroll","wrap","hide"],K6=He({attributes:{title:{type:String,required:!1,description:"Title displayed above the code group"},labels:{type:String,required:!1,description:"Comma-separated custom tab labels"},overflow:{type:String,required:!1,matches:H6.slice(),description:"How overflowing code is handled"}},contentModel:{type:"sequence",fields:[{name:"panels",match:"fence",greedy:!0}]},transform(n,e,t){const r=e.labels?.split(",").map(p=>p.trim())??[],i={},s=[];if(e.title!==void 0){const p=new El("meta",{content:e.title});i.title=p,s.push(p)}const o=e.overflow;if(o&&o!=="scroll"){const p=new El("meta",{content:o});i.overflow=p,s.push(p)}const a=ot(n.panels);if(a.length===1&&r.length===0){const p=B.transform(a[0],t);return s.push(p),Ne({rune:"code-group",tag:"section",properties:i,refs:{},children:s})}const c=[],u=[];for(const p of a){const O=p.attributes.language||"shell",v=typeof p.attributes.label=="string"?p.attributes.label:"",b=G6(typeof p.attributes.source=="string"?p.attributes.source:void 0,typeof p.attributes.lines=="string"?p.attributes.lines:void 0),_=r[c.length]||v||b||Y6(O),A=new El("span",{},[_]);c.push(new El("button",{"data-name":"tab",role:"tab"},[A]));const w=B.transform(p,t);u.push(new El("div",{role:"tabpanel"},[w]))}const f=new ze(c),d=new ze(u),h=f.wrap("div",{role:"tablist"}),m=d.wrap("div");return s.push(h.next(),m.next()),Ne({rune:"code-group",tag:"section",properties:i,refs:{tabs:h,panels:m,panel:d},children:s})}}),J6=He({attributes:{path:{type:String,required:!0,description:"Path to the source file, relative to the project root. Rejected if it escapes the root."},lines:{type:String,required:!1,description:'Line range. Formats: "10-25", "10-" (to EOF), "-20" (from start), "10" (single line). 1-indexed, inclusive.'},lang:{type:String,required:!1,description:"Syntax-highlighting language hint. Overrides the extension-based inference."},linenumbers:{type:Boolean,required:!1,description:'Show line numbers in the gutter. Starting number derives from the `lines` range start (e.g. lines="74-125" → first line is 74), so numbers reflect the file\'s real offsets. WORK-304.'},highlight:{type:String,required:!1,description:'Range(s) to emphasize without cropping — Shiki-style format: "74-78", "74-78,82,90-92". Indices are file coordinates (same frame as `lines=`). Use this when you want full context visible but want to draw the eye to specific lines. WORK-304.'}},contentModel:{type:"sequence",fields:[]},transform(n,e){throw new Error("snippet rune reached the transform phase — its preprocess hook was not wired through. Ensure the content pipeline runs registered `preprocess` hooks before `Markdoc.transform` (snippet pre-resolves to a Markdoc `fence` node; see SPEC-062 § Composition).")}}),{Tag:e8}=B,t8=["caution","check","note","warning"],n8=He({attributes:{type:{type:String,matches:t8.slice(),errorLevel:"critical",description:"Visual style: caution, check, note, or warning"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new e8("meta",{content:e.type??"note"}),s=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"hint",tag:"section",property:"contentSection",properties:{hintType:r},refs:{body:s.tag("div")},children:[r,s.next()]})}}),DC={"media-position":{type:String,required:!1,matches:["top","bottom","start","end","cover"],description:"Where the media zone sits relative to the content: above (top), below (bottom), or beside (start/end)"},"media-ratio":{type:String,required:!1,matches:["1/3","2/5","1/2","3/5","2/3"],description:"Media zone’s share of the row width when media is beside content (start/end)"},valign:{type:String,required:!1,matches:["top","center","bottom","stretch"],description:"Cross-axis alignment when media is beside content (start/end); applies to the shorter zone"},collapse:{type:String,required:!1,matches:["sm","md","lg","never"],description:"Breakpoint at which side-by-side layouts collapse to a single stacked column"}};kz(DC,{name:"split layout",description:"Layout controls shared by media+content runes — `media-position`, `media-ratio`, `valign`, `collapse`."});const r8=DC;He({contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=n.body?Array.isArray(n.body)?n.body:[n.body]:[],i=new ze(B.transform(r,{...t,nodes:{...t.nodes,text:{transform(s){return new B.Tag("span",{},[s.attributes.content])}}}}));return new B.Tag("li",{},i.toArray())}});function i8(n){const e=n["media-position"]||"top",t=n["media-ratio"],r=n.valign,i=n.collapse,s=e==="start"||e==="end",o=new B.Tag("meta",{content:e}),a=s&&t?new B.Tag("meta",{content:t}):void 0,l=s&&r?new B.Tag("meta",{content:r}):void 0,c=i?new B.Tag("meta",{content:i}):void 0,u=[o];return a&&u.push(a),l&&u.push(l),c&&u.push(c),{metas:{mediaPosition:o,mediaRatio:a,valign:l,collapse:c},children:u}}function s8(n){const e=[[]];for(const t of n)t.type==="hr"?e.push([]):e[e.length-1].push(t);return e.length===1?{media:[],body:e[0],footer:[]}:e.length===2?{media:e[0],body:e[1],footer:[]}:{media:e[0],body:e.slice(1,-1).flat(),footer:e[e.length-1]}}function RC(n){return B.Tag.isTag(n)&&n.name==="svg"&&/\b(rf-placeholder|rf-icon)\b/.test(String(n.attributes?.class??""))}function Dc(n){return B.Tag.isTag(n)&&(n.name==="img"||n.name==="video"||RC(n))}function o8(n){for(const e of n.toArray()){if(Dc(e))return e;if(B.Tag.isTag(e)&&e.name==="p"){const t=e.children.find(r=>Dc(r));if(t)return t}}}function a8(n){return n.map(e=>B.Tag.isTag(e)&&e.name==="p"&&e.children.length===1&&B.Tag.isTag(e.children[0])&&(e.children[0].name==="img"||e.children[0].attributes?.["data-rune"]||RC(e.children[0]))?e.children[0]:e)}function vl(n){const e=n.nodes,t=c=>B.Tag.isTag(c)&&/^h[1-6]$/.test(c.name),r=c=>B.Tag.isTag(c)&&c.name==="p",i=e.findIndex(t);if(i===-1)return{eyebrow:void 0,headline:void 0,image:n.tag("img").limit(1),blurb:e.find(r)};const s=e.slice(0,i).findIndex(r);let o,a;if(s!==-1)o=e[s],a=i;else{const c=e.findIndex((u,f)=>f>i&&t(u));c!==-1?(o=e[i],a=c):(o=void 0,a=i)}const l=e.findIndex((c,u)=>u>a&&r(c));return{eyebrow:o,headline:e[a],image:n.tag("img").limit(1),blurb:l!==-1?e[l]:void 0}}const{Ast:IC,Tag:l8}=B,c8=He({attributes:{name:{type:String,required:!0},image:{type:String,required:!1}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){let r=new ze([]);e.image&&(r=r.concat(B.transform(new IC.Node("image",{src:e.image}),t))),r=r.concat(new l8("span",{},[e.name??""]));const i=new ze(B.transform(ot(n.body),t)),s=r.tag("span"),o=r.tag("svg");return[Ne({rune:"tab",tag:"button",properties:{image:o},refs:{name:s},children:r.toArray()}),Ne({rune:"tab-panel",tag:"div",properties:{},children:i.toArray()})]}});function u8(n){const e=qv()(n),t=e.length-1;if(!e[t]||e[t].type!=="list")return n;const r=e[t].children.map(i=>{const s=i.children[0],o=Array.from(s.walk()).find(l=>l.type==="image"),a=Array.from(s.walk()).filter(l=>l.type==="text").map(l=>l.attributes.content);return new IC.Node("tag",{name:a,image:o?o.attributes.src:void 0},i.children.slice(1),"tab")});return e.splice(t,1,...r),e}const f8=He({attributes:{},contentModel:()=>({type:"custom",processChildren:n=>u8(n),description:"Converts headings at the specified level to tab tags, extracting tab name and optional image from heading content."}),transform(n,e,t){const r=ot(n.children),i=[],s=[];for(const h of r)h.type==="tag"&&h.tag==="tab"?s.push(h):(h.type==="heading"||h.type==="paragraph")&&i.push(h);const o=new ze(B.transform(i,t)),a=new ze(B.transform(s,t)),l=a.tag("button").typeof("Tab"),c=a.tag("div").typeof("TabPanel"),u=l.wrap("div",{role:"tablist"}),f=c.wrap("div"),d=o.count()>0?[o.wrap("header").next(),u.next(),f.next()]:[u.next(),f.next()];return Ne({rune:"tab-group",tag:"section",class:e.class,property:"contentSection",properties:{},refs:{...vl(o),tabs:u,panels:f},children:d})}}),NC="__nav-auto",BC="auto";function Dv(n){return B.Tag.isTag(n)&&(n.name==="ul"||n.name==="ol")}const d8=He({contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),{...t,nodes:{...t.nodes,text:{transform(O){return new B.Tag("span",{"data-field":"slug"},[O.attributes.content])}}}})),i=r.tag("a").toArray(),s=r.tag("span"),o=r.tag("ul"),a=r.toArray().filter(O=>B.Tag.isTag(O)&&O.attributes?.["data-rune"]==="badge"),l=r.tag("p").toArray(),c=[],u=[];for(const O of l)O.children.some(b=>B.Tag.isTag(b)&&b.name==="a")?c.push(O):u.push(O);const f=c.flatMap(O=>O.children.filter(v=>B.Tag.isTag(v)&&v.name==="a")),d=[...i,...f],h=u.flatMap(O=>O.children),m=h.length>0?new B.Tag("span",{"data-name":"description",class:"rf-nav-item__description"},h):void 0;if(d.length>0){const O=m?d.map(b=>({...b,children:[...b.children??[],m]})):d,v=[];if(a.length>0){for(const b of a)b.attributes["data-name"]="badge";v.push(...a)}return Ne({rune:"nav-item",tag:"li",properties:m?{description:m}:{},children:[...O,...v]})}const p=[];if(s.count()>0&&p.push(...s.toArray()),m&&p.push(m),a.length>0){for(const O of a)O.attributes["data-name"]="badge";p.push(...a)}return o.count()>0&&p.push(...o.toArray()),Ne({rune:"nav-item",tag:"li",properties:{slug:s,...m?{description:m}:{},children:o.count()>0?o.flatten().tag("li"):void 0},children:p})}});function h8(n){const e=[],t=[];let r=null;const i=()=>{r&&(t.push(r),r=null)};for(const s of n){if(B.Tag.isTag(s)&&/^h[1-6]$/.test(s.name)){i(),r={kind:"group",heading:s,children:[]};continue}if(B.Tag.isTag(s)&&s.name==="hr"){r&&i(),t.push({kind:"column-break"});continue}if(!r){B.Tag.isTag(s)&&Dv(s)&&e.push(...s.children.filter(o=>B.Tag.isTag(o)&&o.name==="li"));continue}r.children.push(s)}return i(),{topLevel:e,sequence:t}}function p8(n){const e=u=>B.Tag.isTag(u)?u.name==="ul"||u.name==="ol"?!0:!!u.attributes?.["data-rune"]:!1,t=u=>B.Tag.isTag(u)&&!e(u);let r=-1,i=-1;n.forEach((u,f)=>{e(u)&&(r===-1&&(r=f),i=f)});let s,o;if(r!==-1){for(let u=0;u<r;u++)if(t(n[u])){s=u;break}for(let u=n.length-1;u>i;u--)if(t(n[u])){o=u;break}}else{const u=[];n.forEach((f,d)=>{t(f)&&u.push(d)}),u.length===1?s=u[0]:u.length>=2&&(s=u[0],o=u[u.length-1])}const a=s!==void 0?n[s]:void 0,l=o!==void 0?n[o]:void 0,c=[];return n.forEach((u,f)=>{f===s||f===o||c.push(u)}),{intro:a,body:c,footer:l}}function m8(n){const{intro:e,body:t,footer:r}=p8(n.children),i=[];for(const a of t)B.Tag.isTag(a)&&Dv(a)&&i.push(...a.children.filter(l=>B.Tag.isTag(l)&&l.name==="li"));const s=[];e&&s.push(new B.Tag("div",{"data-name":"intro"},[e])),s.push(...t),r&&s.push(new B.Tag("div",{"data-name":"footer"},[r]));const o=[n.heading];return s.length>0&&o.push(new B.Tag("div",{"data-name":"panel"},s)),Ne({rune:"nav-group",tag:"section",properties:{title:n.heading,item:i},children:o})}function g8(n){const e=[];let t=[];for(const r of n)r.kind==="column-break"?(t.length>0&&e.push(t),t=[]):t.push(r);return t.length>0&&e.push(t),e}const O8=He({attributes:{ordered:{type:Boolean,required:!1,description:"Use numbered list for navigation items"},auto:{type:Boolean,required:!1,description:"Automatically generate from child pages"},layout:{type:String,required:!1,matches:["vertical","menubar","columns","cards","strip"],description:"Presentation layout: sidebar (vertical), horizontal menubar (header), column grid (footer), cards (section landing), or strip (compact secondary nav). Defaults to vertical."},collapsible:{type:Boolean,required:!1,description:"Make each group collapsible. The group containing the current page auto-expands; others start collapsed. Only meaningful for vertical layout."},defaultOpen:{type:String,required:!1,description:"Comma-separated group titles to expand by default, overriding the URL-driven auto-open behaviour."}},contentModel:{type:"custom",processChildren:n=>qv({level:1})(n),description:"Top-level (#) headings become nav groups; the list directly under each heading becomes the group's items. Items are page slugs — wrap in markdown links to set custom labels, or use plain text to resolve the page title. Without headings, a single list becomes a flat nav."},transform(n,e,t){const r=!!e.collapsible,i=t.variables?.__sourcePath,s=O=>{if(e.layout&&(O.attributes.layout=e.layout),i&&(O.attributes["data-source-path"]=i),e.auto&&(O.attributes["data-auto"]="true"),r){O.attributes["data-collapsible"]="true";const v=O.attributes.class??"";O.attributes.class=[v,"rf-nav--collapsible"].filter(Boolean).join(" "),typeof e.defaultOpen=="string"&&e.defaultOpen.trim()&&(O.attributes["data-default-open"]=e.defaultOpen.trim())}return O},o=O=>e.layout==="menubar"?[new B.Tag("button",{"data-name":"trigger",type:"button","aria-label":"Toggle navigation","aria-expanded":"false"},[]),...O]:O;if(e.auto){const O=new B.Tag("meta",{"data-field":NC,content:"true"});return s(Ne({rune:"nav",tag:"nav",properties:{group:[],item:[]},children:o([O])}))}const a=new ze(B.transform(ot(n.children),{...t,nodes:{...t.nodes,item:d8,list:{transform(O,v){return new B.Tag("ul",{},O.transformChildren(v))}}}}));if(e.layout==="strip"){const O=a.flatten().tag("li");return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:[],item:O},children:a.toArray()}))}const{topLevel:l,sequence:c}=h8(a.toArray()),u=c.filter(O=>O.kind==="group"),f=u.length>0,d=c.some(O=>O.kind==="column-break");if(!f){if(e.layout==="columns"&&d){const v=[];let b=[];const _=()=>{b.length>0&&(v.push([new B.Tag("ul",{},b)]),b=[])};for(const y of a.toArray()){if(B.Tag.isTag(y)&&y.name==="hr"){_();continue}B.Tag.isTag(y)&&Dv(y)&&b.push(...y.children.filter(S=>B.Tag.isTag(S)&&S.name==="li"))}_();const A=v.map(y=>new B.Tag("div",{"data-name":"column"},y)),w=a.flatten().tag("li");return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:[],item:w},children:o(A)}))}const O=a.flatten().tag("li");return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:[],item:O},children:o(a.toArray())}))}const h=u.map(m8);if(r)for(const O of h)O.attributes["data-collapsed"]=BC;const m=l.length>0?new B.Tag("div",{"data-name":"top-level"},[new B.Tag("ul",{},l)]):null,p=h.flatMap(O=>{const v=[],b=_=>{if(B.Tag.isTag(_)){if(_.name==="li"){v.push(_);return}for(const A of _.children)b(A)}};for(const _ of O.children)b(_);return v});if(e.layout==="columns"&&d){const O=g8(c),v=new Map(u.map((_,A)=>[_,h[A]])),b=O.map(_=>new B.Tag("div",{"data-name":"column"},_.map(A=>v.get(A)).filter(Boolean)));return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:h,item:[...l,...p]},children:o(m?[m,...b]:b)}))}return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:h,item:[...l,...p]},children:o(m?[m,...h]:h)}))}}),{Tag:v8}=B,b8=["replace","prepend","append"],y8=He({attributes:{name:{type:String,required:!0,description:"Name of the layout region to fill"},mode:{type:String,required:!1,matches:b8.slice(),errorLevel:"critical",default:"replace",description:"How content is placed: replace, prepend, or append"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",greedy:!0,optional:!0}]},transform(n,e,t){const r=B.transform(ot(n.body),t);return new v8("div",{"data-region":e.name,"data-mode":e.mode},r)}}),{Tag:w8}=B,_8=He({attributes:{extends:{type:String,required:!1,default:"parent",description:"Layout inheritance: parent or none"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",greedy:!0,optional:!0}]},transform(n,e,t){const r=B.transform(ot(n.body),t);return new w8("div",{"data-layout-def":!0,"data-extends":e.extends},r)}}),{Tag:k8}=B,x8=He({attributes:{summary:{type:String,required:!1,description:"Clickable summary text shown when collapsed"},open:{type:Boolean,required:!1,description:"Expand the details section by default"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.summary||"Details",s=new k8("summary",{},[i]),o=r.wrap("div"),a=Ne({rune:"details",tag:"details",properties:{summary:s},refs:{body:o.tag("div")},children:[s,o.next()]});return e.open&&(a.attributes.open=!0),a}}),{Tag:co}=B,mg="data-drawer-title-auto",S8=["right","left","top","bottom"],A8=["sm","md","lg"];function C8(n){const e=n.findIndex(t=>t.type==="hr");return e<0?{body:n,footer:null}:{body:n.slice(0,e),footer:n.slice(e+1)}}const T8=He({attributes:{id:{type:String,required:!0,description:'Stable id for the drawer. Used in entity registration and as the `id="drawer-{value}"` on the rendered element so xref triggers can target it via fragment.'},title:{type:String,required:!1,description:"Panel heading text. Rendered in the drawer header (or as a heading in the no-JS in-flow rendering)."},headingLevel:{type:Number,required:!1,description:"Heading level (1-6) for the title. When omitted, the level is auto-detected from outline position (one deeper than the nearest preceding heading). Out-of-range values are clamped to the 1-6 range."},shortcut:{type:String,required:!1,description:'Keyboard shortcut that opens the drawer when behaviors are loaded (e.g. ".", "cmd+k"). Surfaces as `data-shortcut`; the progressive-enhancement layer wires the listener.'},side:{type:String,required:!1,matches:S8.slice(),description:'Edge the panel slides from when enhanced. Defaults to "right".'},size:{type:String,required:!1,matches:A8.slice(),description:'Panel size. "sm" / "md" (default) / "lg" — width for left/right sides, height for top/bottom.'}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=e.id,i=e.title,s=e.side??"right",o=e.size??"md",a=typeof e.headingLevel=="number"?Math.min(6,Math.max(1,Math.trunc(e.headingLevel))):void 0,l=i?a?new co(`h${a}`,{},[i]):new co("h3",{[mg]:"true"},[i]):void 0,c=new co("button",{type:"button","aria-label":"Close",hidden:!0},["×"]),u=[];l&&u.push(l),u.push(c);const f=new co("header",{},u),d=C8(ot(n.body)),h=new ze(B.transform(d.body,t)).wrap("div"),m=d.footer!==null?new ze(B.transform(d.footer,t)).wrap("footer"):null,p={side:new co("meta",{content:s}),size:new co("meta",{content:o})};e.shortcut&&(p.shortcut=new co("meta",{content:e.shortcut}));const O=Ne({rune:"drawer",tag:"section",id:`drawer-${r}`,properties:p,refs:{header:f,...l?{title:l}:{},close:c,body:h.tag("div"),...m?{footer:m.tag("footer")}:{}},children:[...Object.values(p),f,h.next(),...m?[m.next()]:[]]});return O.attributes["data-drawer-id"]=r,O}}),{Tag:ju}=B,P8=["small","medium","large","full"],E8=["left","center","right"],$8=He({attributes:{size:{type:String,required:!1,matches:P8.slice(),description:"Display width of the figure"},align:{type:String,required:!1,matches:E8.slice(),description:"Horizontal alignment of the figure"},caption:{type:String,required:!1,description:"Caption text displayed below the figure"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=r.flatten().toArray().filter(f=>Dc(f)),s=r.tag("p").toArray().filter(f=>{const d=(f.children||[]).filter(h=>B.Tag.isTag(h));return!(d.length===1&&Dc(d[0]))}),o=e.caption||void 0,a=o?new ju("figcaption",{},[o]):s.length>0?new ju("figcaption",{},[s[0]]):void 0,l=e.size?new ju("meta",{content:e.size}):void 0,c=e.align?new ju("meta",{content:e.align}):void 0,u=[...i];return a&&u.push(a),l&&u.push(l),c&&u.push(c),Ne({rune:"figure",schemaOrgType:"ImageObject",tag:"figure",properties:{...l?{size:l}:{},...c?{align:c}:{}},refs:{...a?{caption:a}:{}},schema:{...i.length>0?{contentUrl:i[0]}:{},...a?{caption:a}:{}},children:u})}}),{Tag:uo}=B,Q8=["grid","carousel","masonry"],L8=He({attributes:{layout:{type:String,required:!1,matches:Q8.slice(),description:"Arrangement of images in the gallery"},columns:{type:Number,required:!1,description:"Number of columns in grid layout"},lightbox:{type:Boolean,required:!1,description:"Allow clicking images to view full-size"},caption:{type:String,required:!1,description:"Caption text displayed below the gallery"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.layout??"grid",s=e.columns??3,o=e.lightbox??!0,a=e.caption??"",c=r.flatten().toArray().filter(v=>Dc(v)).map(v=>{const b=v.attributes?.alt||v.attributes?.["aria-label"]||"",_=[v];return b&&_.push(new uo("figcaption",{},[b])),new uo("figure",{"data-name":"item"},_)}),u=new uo("meta",{content:i}),f=new uo("meta",{content:String(o)}),d=s!==3?new uo("meta",{content:String(s)}):void 0,h=a?new uo("figcaption",{},[a]):void 0,m=new uo("div",{"data-name":"items"},c),O=[...[u,f,d].filter(Boolean),m];return h&&O.push(h),Ne({rune:"gallery",schemaOrgType:"ImageGallery",tag:"figure",properties:{layout:u,lightbox:f,...d?{columns:d}:{},...h?{caption:h}:{}},children:O})}}),{Tag:Tp}=B,M8=He({attributes:{name:{type:String,required:!0}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new Tp("summary",{},[e.name??""]),i=new ze(B.transform(ot(n.body),t)).wrap("div"),s=i.tag("div");for(const o of s.nodes)Tp.isTag(o)&&(o.attributes.typeof="Answer",o.children=[new Tp("div",{property:"text"},o.children)]);return Ne({rune:"accordion-item",schemaOrgType:"Question",tag:"details",properties:{name:r},refs:{body:s},schema:{name:r,acceptedAnswer:s},children:[r,i.next()]})}}),q8=He({attributes:{multiple:{type:Boolean,required:!1,description:"Allow multiple panels to be open at once"}},contentModel:()=>({type:"sections",sectionHeading:"heading",emitTag:"accordion-item",emitAttributes:{name:"$heading"},fields:[{name:"header",match:"heading|paragraph",optional:!0,greedy:!0},{name:"items",match:"tag",optional:!0,greedy:!0}],sectionModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]}}),transform(n,e,t){const r=new ze(B.transform(ot(n.header),t)),i=[...ot(n.items),...ot(n.sections)],o=new ze(B.transform(i,t)).tag("details").typeof("AccordionItem"),a=o.wrap("div"),l=r.count()>0?[r.wrap("header").next(),a.next()]:[a.next()];return Ne({rune:"accordion",schemaOrgType:"FAQPage",tag:"section",property:"contentSection",properties:{item:o},refs:{...vl(r),items:a},schema:{mainEntity:o},children:l})}}),{Tag:$l}=B,D8=He({attributes:{depth:{type:Number,required:!1,default:3,description:"Maximum heading depth to include"},ordered:{type:Boolean,required:!1,default:!1,description:"Use numbered list instead of bullets"}},contentModel:{type:"sequence",fields:[]},transform(n,e,t){const r=t.variables?.headings||[],i=e.depth+1,o=r.filter(u=>u.level>=2&&u.level<=i).map(u=>new $l("li",{"data-level":u.level},[new $l("a",{href:`#${u.id}`},[u.text])])),a=new $l("ul",{},o),l=new $l("meta",{content:e.depth}),c=new $l("meta",{content:e.ordered});return Ne({rune:"table-of-contents",tag:"nav",properties:{depth:l,ordered:c},refs:{list:a},children:[l,c,a]})}}),{Tag:sa}=B,R8=["16:9","4:3","1:1","auto"];function I8(n){try{const e=new URL(n),t=e.hostname.replace("www.","");if(t==="youtube.com"||t==="youtu.be"){let r="";return t==="youtu.be"?r=e.pathname.slice(1):r=e.searchParams.get("v")||"",{provider:"youtube",embedUrl:r?`https://www.youtube-nocookie.com/embed/${r}`:n,type:"video"}}if(t==="vimeo.com")return{provider:"vimeo",embedUrl:`https://player.vimeo.com/video/${e.pathname.slice(1)}`,type:"video"};if(t==="twitter.com"||t==="x.com")return{provider:"twitter",embedUrl:n,type:"tweet"};if(t==="codepen.io")return{provider:"codepen",embedUrl:n.replace("/pen/","/embed/"),type:"codepen"};if(t==="open.spotify.com")return{provider:"spotify",embedUrl:n.replace("open.spotify.com/","open.spotify.com/embed/"),type:"spotify"}}catch{}return{provider:"generic",embedUrl:n,type:"generic"}}const N8=He({attributes:{url:{type:String,required:!0,description:"URL of the content to embed"},type:{type:String,required:!1,description:"Override auto-detected embed type"},aspect:{type:String,required:!1,matches:R8.slice(),description:"Aspect ratio of the embed frame"},title:{type:String,required:!1,description:"Accessible title for the embed iframe"}},contentModel:{type:"sequence",fields:[{name:"fallback",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=e.url??"",i=I8(r),s=e.aspect??"16:9",o=e.title||"Embedded content",[a,l]=s.split(":").map(Number),c=l&&a?l/a*100:56.25,u=new sa("meta",{content:r}),f=new sa("meta",{content:e.title??""}),d=new sa("meta",{content:i.embedUrl}),h=new sa("meta",{content:i.provider}),m=new ze(B.transform(ot(n.fallback),t)).wrap("div"),p=m.tag("div"),O=[u,f,d];let v;if(i.embedUrl){const b=new sa("iframe",{src:i.embedUrl,title:o,frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"",loading:"lazy"},[]);v=new sa("div",{style:`padding-bottom: ${c}%`},[b]),O.push(v)}return O.push(m.next()),Ne({rune:"embed",schemaOrgType:"VideoObject",tag:"figure",properties:{provider:h},refs:{...v?{wrapper:v}:{},fallback:p},schema:{name:f,contentUrl:u,embedUrl:d},children:O})}}),{Tag:gi}=B,jC="__breadcrumb-auto",B8=He({attributes:{separator:{type:String,required:!1,default:"/",description:"Character between breadcrumb items"},auto:{type:Boolean,required:!1,default:!1,description:"Automatically generate from page hierarchy"}},contentModel:n=>n.auto?{type:"sequence",fields:[]}:{type:"sequence",fields:[{name:"list",match:"list",optional:!0,greedy:!0}]},transform(n,e,t){const r=new gi("meta",{content:e.separator});if(e.auto){const l=new gi("meta",{"data-field":jC,content:"true"}),c=new gi("ol",{},[]);return Ne({rune:"breadcrumb",schemaOrgType:"BreadcrumbList",tag:"nav",properties:{separator:r},refs:{items:c},children:[r,l,c]})}const i=new ze(B.transform(ot(n.list),t)),s=[];let o=0;for(const l of i.toArray())if(gi.isTag(l)&&(l.name==="ul"||l.name==="ol")){for(const c of l.children)if(gi.isTag(c)&&c.name==="li"){o++;const u=new gi("meta",{content:o}),f=c.children.find(d=>gi.isTag(d)&&d.name==="a");if(f){const d=new gi("span",{hidden:!0},f.children),h=new gi("a",{href:f.attributes.href},f.children);s.push(Ne({rune:"breadcrumb-item",schemaOrgType:"ListItem",tag:"li",properties:{name:d,url:h},schema:{name:d,item:h,position:u},children:[d,h,u]}))}else{const d=c.children.filter(m=>typeof m=="string").join("").trim(),h=new gi("span",{},d?[d]:c.children);s.push(Ne({rune:"breadcrumb-item",schemaOrgType:"ListItem",tag:"li",properties:{name:h},schema:{name:h,position:u},children:[h,u]}))}}}const a=new gi("ol",{},s);return Ne({rune:"breadcrumb",schemaOrgType:"BreadcrumbList",tag:"nav",properties:{separator:r},refs:{items:a},schema:{itemListElement:s},children:[r,a]})}}),{Tag:Ii}=B,gg="__pagination-auto",j8=He({attributes:{auto:{type:Boolean,required:!1,default:!1,description:"Derive prev/next from sibling page order"},prev:{type:String,required:!1,description:"Explicit previous page (slug or URL)"},next:{type:String,required:!1,description:"Explicit next page (slug or URL)"},scope:{type:String,required:!1,matches:["siblings","section"],default:"siblings",description:"Auto-mode scope: direct siblings, or all pages in the current top-level section"},"prev-label":{type:String,required:!1,description:"Override label for the previous link"},"next-label":{type:String,required:!1,description:"Override label for the next link"}},contentModel:{type:"sequence",fields:[]},selfClosing:!0,transform(n,e,t){if(e.auto){const i=new Ii("meta",{"data-field":gg,content:"true"}),s=e.scope?new Ii("meta",{"data-field":"scope",content:String(e.scope)}):null,o=e["prev-label"]?new Ii("meta",{"data-field":"prev-label",content:String(e["prev-label"])}):null,a=e["next-label"]?new Ii("meta",{"data-field":"next-label",content:String(e["next-label"])}):null,l=[i,s,o,a].filter(Boolean);return Ne({rune:"pagination",tag:"nav",children:l})}const r=[];if(e.prev){const s=String(e.prev).startsWith("/")||/^[a-z]+:\/\//i.test(String(e.prev))?String(e.prev):`__slug:${e.prev}`,o=e["prev-label"]??String(e.prev);r.push(new Ii("a",{href:s,"data-direction":"prev","data-name":"prev"},[new Ii("span",{"data-name":"marker"},["←"]),new Ii("span",{"data-name":"label"},[o])]))}if(e.next){const s=String(e.next).startsWith("/")||/^[a-z]+:\/\//i.test(String(e.next))?String(e.next):`__slug:${e.next}`,o=e["next-label"]??String(e.next);r.push(new Ii("a",{href:s,"data-direction":"next","data-name":"next"},[new Ii("span",{"data-name":"label"},[o]),new Ii("span",{"data-name":"marker"},["→"])]))}return Ne({rune:"pagination",tag:"nav",children:r})}}),{Ast:Og,Tag:_n}=B,z8=/^(.+)\s*:\s*([€$£¥]?\s*[\d].*)$/;function Z8(n){const e=n.replace(/[€$£¥\s]/g,"").replace(/,/g,""),t=e.match(/^([\d.]+)\s*[-–]\s*([\d.]+)/);if(t)return(parseFloat(t[1])+parseFloat(t[2]))/2;const r=parseFloat(e);return isNaN(r)?0:r}const F8={USD:"$",EUR:"€",GBP:"£",JPY:"¥",CNY:"¥",AUD:"A$",CAD:"C$",CHF:"CHF ",SEK:"kr",NOK:"kr",DKK:"kr",INR:"₹",KRW:"₩",BRL:"R$",MXN:"MX$",ZAR:"R"};function Pp(n,e){const t=(n%1===0?String(n):n.toFixed(2)).split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e+t.join(".")}function X8(n){let e=0;const t=n.match(/(\d+)\s*day/i),r=n.match(/(\d+)\s*week/i),i=n.match(/(\d+)\s*month/i);if(t&&(e+=parseInt(t[1])),r&&(e+=parseInt(r[1])*7),i&&(e+=parseInt(i[1])*30),e===0){const s=parseInt(n);isNaN(s)||(e=s)}return e}function Y0(n,e){try{const t=JSON.parse(String(n.attributes["data-rune-fields"]??"{}"));if(t[e]!==void 0&&t[e]!==null)return String(t[e])}catch{}return""}const V8=/^(.+?)\s*\((?:estimate|est\.?)\)\s*$/i,W8=/^~(.+?)~$/;function Y8(n){const e=[];let t=!1;for(const o of n.walk())o.type==="text"&&o.attributes.content&&e.push(o.attributes.content),o.type==="s"&&(t=!0);const r=e.join(" ").trim(),i=r.match(V8);if(i)return{label:i[1].trim(),estimate:!0};const s=r.match(W8);return s?{label:s[1].trim(),estimate:!0}:t?{label:r,estimate:!0}:{label:r,estimate:!1}}const U8=He({attributes:{description:{type:String,required:!1,description:"Line item description"},amount:{type:String,required:!1,description:"Line item amount"}},contentModel:{type:"sequence",fields:[]},transform(n,e){const t=new _n("span",{},[e.description??""]),r=new _n("span",{},[e.amount??""]);return Ne({rune:"budget-line-item",tag:"li",properties:{description:t,amount:r},children:[t,r]})}});function G8(n){const e=[];for(const t of n)if(t.type==="list")for(const r of t.children){const i=[];for(const a of r.walk())a.type==="text"&&a.attributes.content&&i.push(a.attributes.content);const s=i.join(" ").trim(),o=s.match(z8);o?e.push(new Og.Node("tag",{description:o[1].trim(),amount:o[2].trim()},[],"budget-line-item")):e.push(new Og.Node("tag",{description:s,amount:""},[],"budget-line-item"))}else e.push(t);return e}function H8(n){let e=0;for(const t of n)t.type==="tag"&&t.tag==="budget-line-item"&&t.attributes.amount&&(e+=Z8(t.attributes.amount));return e}const K8=He({attributes:{label:{type:String,required:!0},estimate:{type:Boolean,required:!1}},contentModel:{type:"custom",processChildren:G8,description:'Converts list items into budget-line-item tags with "Description: $Amount" pattern.'},transform(n,e,t){const r=ot(n.children),i=H8(r),s=new ze(B.transform(r,t)),o=new _n("meta",{content:e.label??""}),a=new _n("meta",{content:e.estimate?"estimate":"false"}),l=new _n("meta",{content:String(i)}),c=s.tag("li").typeof("BudgetLineItem"),u=new _n("ul",{},c.toArray());return Ne({rune:"budget-category",tag:"div",properties:{label:o,estimate:a,lineItem:c,subtotal:l},refs:{"line-items":u},children:[o,a,l,u]})}}),J8=["detailed","summary"];function e9(n){const e=n,t=e.reduce((l,c,u)=>(c.type==="heading"&&l.push({idx:u,level:c.attributes.level}),l),[]);let r=[],i=e;t.length>=2&&t[0].level<t[1].level&&(r=e.slice(0,t[1].idx),i=e.slice(t[1].idx));const s=qv()(i),o=s.length-1;if(!s[o]||s[o].type!=="list")return n;const a=s[o].children.map(l=>{const c=l.children[0],{label:u,estimate:f}=Y8(c);return new Og.Node("tag",{label:u,estimate:f},l.children.slice(1),"budget-category")});return s.splice(o,1,...a),[...r,...s]}const t9=He({attributes:{currency:{type:String,required:!1,description:"Currency symbol or code (e.g. USD, EUR)"},duration:{type:String,required:!1,description:'Budget duration for per-day calculations (e.g. "5 days", "1 month")'},showPerDay:{type:Boolean,required:!1,description:"Show per-day cost breakdown"},variant:{type:String,required:!1,matches:J8.slice(),description:"Display style: detailed line items or summary"}},contentModel:{type:"custom",processChildren:e9,description:'Converts headings into budget-category tags with estimate parsing, where list items become budget-line-items with "Description: $Amount" pattern.'},transform(n,e,t){const r=ot(n.children),i=[],s=[];for(const Q of r)Q.type==="tag"?s.push(Q):(Q.type==="paragraph"||Q.type==="heading")&&i.push(Q);const o=new ze(B.transform(i,t)),a=new ze(B.transform(s,t)),l=vl(o),c=e.currency??"USD",u=e.duration??"",f=e.showPerDay??!0,d=e.variant??"detailed",h=F8[c.toUpperCase()]||c+" ",m=new _n("meta",{content:c}),p=new _n("meta",{content:u}),O=new _n("meta",{content:String(f)}),v=new _n("meta",{content:d}),b=a.tag("div").typeof("BudgetCategory"),_=b.toArray();let A=0;for(const Q of _){if(!B.Tag.isTag(Q))continue;const P=Y0(Q,"label"),q=parseFloat(Y0(Q,"subtotal"))||0;A+=q;const I=new _n("div",{class:"rf-budget-category__header"},[new _n("span",{class:"rf-budget-category__label"},[P]),new _n("span",{class:"rf-budget-category__subtotal"},[Pp(q,h)])]);Q.children=[I,...Q.children]}const w=new _n("div",{},_),y=u?X8(u):0,S=!!u&&f&&y>0,C=S?A/y:0,k=[new _n("div",{class:"rf-budget__total"},[new _n("span",{class:"rf-budget__total-label"},["Total"]),new _n("span",{class:"rf-budget__total-amount"},[Pp(A,h)])])];S&&k.push(new _n("div",{class:"rf-budget__per-day"},[new _n("span",{class:"rf-budget__per-day-label"},["Per day"]),new _n("span",{class:"rf-budget__per-day-amount"},[Pp(C,h)])]));const x=new _n("div",{class:"rf-budget__footer"},k),E=new _n("meta",{content:String(A)}),T=new _n("meta",{content:String(C)}),$=[m,p,O,v,...o.toArray(),w,x];return Ne({rune:"budget",schemaOrgType:"ItemList",tag:"section",property:"contentSection",properties:{currency:m,duration:p,showPerDay:O,variant:v,category:b,total:E,...S?{perDay:T}:{}},refs:{...l,categories:w},children:$})}}),{Tag:ss}=B,n9=["side-by-side","stacked"],r9=He({attributes:{layout:{type:String,required:!1,matches:n9.slice(),description:"Display panels side-by-side or stacked"},labels:{type:String,required:!1,description:"Comma-separated custom labels for each panel"},title:{type:String,required:!1,description:"Optional title displayed above the panels"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.layout??"side-by-side",s=e.labels??"",o=e.title??"",a=new ss("meta",{content:i}),l=[],c=s?s.split(",").map(m=>m.trim()):[];let u=0;for(const m of r.toArray()){let p;if(ss.isTag(m)&&m.name==="pre")p=m;else if(ss.isTag(m)&&m.name==="div"&&m.attributes.class==="rf-codeblock"){const O=m.children.find(v=>ss.isTag(v)&&v.name==="pre");O&&(p=O)}if(p&&ss.isTag(p)){const O=c[u]||p.attributes["data-language"]||`Panel ${u+1}`,v=new ss("span",{"data-label":!0},[O]);l.push(new ss("div",{"data-panel":!0},[v,m])),u++}}const f=new ss("div",{"data-panels":!0},l),d=o?[new ss("div",{"data-name":"header"},[o])]:[],h=Ne({rune:"compare",tag:"div",properties:{layout:a},refs:{panels:f},children:[a,...d,f]});return h.attributes["data-code-host"]=!0,h}}),{Tag:Ni}=B,i9=He({attributes:{sortable:{type:String,required:!1,description:'Column names to enable sorting, or "all"'},searchable:{type:Boolean,required:!1,description:"Show a search input to filter rows"},pageSize:{type:Number,required:!1,description:"Rows per page; 0 disables pagination"},defaultSort:{type:String,required:!1,description:"Column to sort by initially"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=new Ni("meta",{content:e.sortable??""}),s=new Ni("meta",{content:String(e.searchable??!1)}),o=new Ni("meta",{content:String(e.pageSize??0)}),a=new Ni("meta",{content:e.defaultSort??""});let l;const c=r.tag("table");if(c.count()>0)l=c.next();else{const f=r.toArray().find(h=>Ni.isTag(h)&&h.name==="div"&&h.attributes.class==="rf-table-wrapper"),d=f&&Ni.isTag(f)?f.children.find(h=>Ni.isTag(h)&&h.name==="table"):void 0;l=d&&Ni.isTag(d)?d:new Ni("table",{},[])}const u=new Ni("div",{},[l]);return Ne({rune:"data-table",schemaOrgType:"Dataset",tag:"div",properties:{sortable:i,searchable:s,pageSize:o,defaultSort:a},refs:{scroll:u,table:l},children:[i,s,o,a,u]})}}),{Tag:Pn}=B,s9=["unified","split","inline"];function o9(n,e){const t=n.split(`
|
|
295
|
+
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}r.prototype.build=function(a){return this.options.preserveOrder?n(a,this.options):(Array.isArray(a)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(a={[this.options.arrayNodeName]:a}),this.j2x(a,0,[]).val)},r.prototype.j2x=function(a,l,c){let u="",f="";const d=c.join(".");for(let h in a)if(Object.prototype.hasOwnProperty.call(a,h))if(typeof a[h]>"u")this.isAttribute(h)&&(f+="");else if(a[h]===null)this.isAttribute(h)?f+="":h[0]==="?"?f+=this.indentate(l)+"<"+h+"?"+this.tagEndChar:f+=this.indentate(l)+"<"+h+"/"+this.tagEndChar;else if(a[h]instanceof Date)f+=this.buildTextValNode(a[h],h,"",l);else if(typeof a[h]!="object"){const m=this.isAttribute(h);if(m&&!this.ignoreAttributesFn(m,d))u+=this.buildAttrPairStr(m,""+a[h]);else if(!m)if(h===this.options.textNodeName){let p=this.options.tagValueProcessor(h,""+a[h]);f+=this.replaceEntitiesValue(p)}else f+=this.buildTextValNode(a[h],h,"",l)}else if(Array.isArray(a[h])){const m=a[h].length;let p="",O="";for(let v=0;v<m;v++){const b=a[h][v];if(!(typeof b>"u"))if(b===null)h[0]==="?"?f+=this.indentate(l)+"<"+h+"?"+this.tagEndChar:f+=this.indentate(l)+"<"+h+"/"+this.tagEndChar;else if(typeof b=="object")if(this.options.oneListGroup){const _=this.j2x(b,l+1,c.concat(h));p+=_.val,this.options.attributesGroupName&&b.hasOwnProperty(this.options.attributesGroupName)&&(O+=_.attrStr)}else p+=this.processTextOrObjNode(b,h,l,c);else if(this.options.oneListGroup){let _=this.options.tagValueProcessor(h,b);_=this.replaceEntitiesValue(_),p+=_}else p+=this.buildTextValNode(b,h,"",l)}this.options.oneListGroup&&(p=this.buildObjectNode(p,h,O,l)),f+=p}else if(this.options.attributesGroupName&&h===this.options.attributesGroupName){const m=Object.keys(a[h]),p=m.length;for(let O=0;O<p;O++)u+=this.buildAttrPairStr(m[O],""+a[h][m[O]])}else f+=this.processTextOrObjNode(a[h],h,l,c);return{attrStr:u,val:f}},r.prototype.buildAttrPairStr=function(a,l){return l=this.options.attributeValueProcessor(a,""+l),l=this.replaceEntitiesValue(l),this.options.suppressBooleanAttributes&&l==="true"?" "+a:" "+a+'="'+l+'"'};function i(a,l,c,u){const f=this.j2x(a,c+1,u.concat(l));return a[this.options.textNodeName]!==void 0&&Object.keys(a).length===1?this.buildTextValNode(a[this.options.textNodeName],l,f.attrStr,c):this.buildObjectNode(f.val,l,f.attrStr,c)}r.prototype.buildObjectNode=function(a,l,c,u){if(a==="")return l[0]==="?"?this.indentate(u)+"<"+l+c+"?"+this.tagEndChar:this.indentate(u)+"<"+l+c+this.closeTag(l)+this.tagEndChar;{let f="</"+l+this.tagEndChar,d="";return l[0]==="?"&&(d="?",f=""),(c||c==="")&&a.indexOf("<")===-1?this.indentate(u)+"<"+l+c+d+">"+a+f:this.options.commentPropName!==!1&&l===this.options.commentPropName&&d.length===0?this.indentate(u)+`<!--${a}-->`+this.newLine:this.indentate(u)+"<"+l+c+d+this.tagEndChar+a+this.indentate(u)+f}},r.prototype.closeTag=function(a){let l="";return this.options.unpairedTags.indexOf(a)!==-1?this.options.suppressUnpairedNode||(l="/"):this.options.suppressEmptyNode?l="/":l=`></${a}`,l},r.prototype.buildTextValNode=function(a,l,c,u){if(this.options.cdataPropName!==!1&&l===this.options.cdataPropName)return this.indentate(u)+`<![CDATA[${a}]]>`+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(u)+`<!--${a}-->`+this.newLine;if(l[0]==="?")return this.indentate(u)+"<"+l+c+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,a);return f=this.replaceEntitiesValue(f),f===""?this.indentate(u)+"<"+l+c+this.closeTag(l)+this.tagEndChar:this.indentate(u)+"<"+l+c+">"+f+"</"+l+this.tagEndChar}},r.prototype.replaceEntitiesValue=function(a){if(a&&a.length>0&&this.options.processEntities)for(let l=0;l<this.options.entities.length;l++){const c=this.options.entities[l];a=a.replace(c.regex,c.val)}return a};function s(a){return this.options.indentBy.repeat(a)}function o(a){return a.startsWith(this.options.attributeNamePrefix)&&a!==this.options.textNodeName?a.substr(this.attrPrefixLen):!1}return xp=r,xp}var Sp,w0;function zj(){if(w0)return Sp;w0=1;const n=pC(),e=Nj(),t=jj();return Sp={XMLParser:e,XMLValidator:n,XMLBuilder:t},Sp}var Zj=zj();const Fj="RFTO",Xj="RFTC";function Vj(n){return n.includes("")?n.replaceAll(Fj,"{%").replaceAll(Xj,"%}"):n}const{Tag:Ap}=B;function Wj(n,e){const t=n.match(/^<svg\s([^>]*)>/);if(!t)return new Ap("span",{class:"rf-icon","data-icon":e});const i={..._0(t[1]),class:"rf-icon","data-icon":e},s=[],o=["path","circle","line","polyline","rect","polygon","ellipse"],a=new RegExp(`<(${o.join("|")})\\s([^>]*?)\\s*/?>`,"g");let l;for(;(l=a.exec(n))!==null;){const c=l[1],u=_0(l[2]);s.push(new Ap(c,u))}return new Ap("svg",i,s)}function _0(n){const e={},t=/([\w-]+)="([^"]*)"/g;let r;for(;(r=t.exec(n))!==null;)e[r[1]]=r[2];return e}const{Tag:Yj}=B;function Uj(n){const e=n.indexOf("/");return e===-1?{group:"global",name:n}:{group:n.substring(0,e),name:n.substring(e+1)}}function gC(n,e,t={}){const{group:r,name:i}=Uj(n),o=e.variables?.__icons?.[r]?.[i];if(o){const l=Wj(o,n);return t.size&&(l.attributes.width=t.size,l.attributes.height=t.size),t.label&&(l.attributes.role="img",l.attributes["aria-label"]=t.label),{tag:l,found:!0}}const a={class:"rf-icon","data-icon":n};return t.size&&(a.style=`width:${t.size};height:${t.size}`),t.label&&(a.role="img",a["aria-label"]=t.label),{tag:new Yj("span",a),found:!1}}const{Tag:hs}=B,cg={cover:{w:1600,h:900},square:{w:1e3,h:1e3},portrait:{w:750,h:1e3},wide:{w:2400,h:1e3},banner:{w:1800,h:600},avatar:{w:1e3,h:1e3,round:!0},thumbnail:{w:800,h:600}},k0=Object.keys(cg),OC="cover",bn=n=>Math.round(n);function Gj(n,e={}){const t=cg[n]?n:OC,r=cg[t],{w:i,h:s}=r,o=r.round?Kj(i,s):Hj(i,s),a={class:"rf-placeholder","data-shape":t,viewBox:`0 0 ${i} ${s}`,preserveAspectRatio:"xMidYMid slice",width:"100%",fill:"none"};return e.label?(a.role="img",a["aria-label"]=e.label):a["aria-hidden"]="true",new hs("svg",a,o)}function Hj(n,e){const t=bn(Math.min(n,e)*.008),r=bn(Math.min(n,e)*.1),i=`M0 ${bn(e*.72)} Q ${bn(n*.28)} ${bn(e*.55)} ${bn(n*.5)} ${bn(e*.7)} T ${n} ${bn(e*.64)} L ${n} ${e} L 0 ${e} Z`;return[new hs("rect",{x:0,y:0,width:n,height:e,fill:"var(--rf-color-surface)"}),new hs("circle",{cx:bn(n*.76),cy:bn(e*.3),r,fill:"var(--rf-color-border)"}),new hs("path",{d:i,fill:"var(--rf-color-muted)"}),new hs("rect",{x:bn(t/2),y:bn(t/2),width:bn(n-t),height:bn(e-t),fill:"none",stroke:"var(--rf-color-border)","stroke-width":t})]}function Kj(n,e){const t=bn(n/2),r=bn(e/2),i=bn(Math.min(n,e)*.02),s=bn(n/2-i),o=bn(n*.16),a=bn(e*.42),l=`M ${bn(n*.24)} ${e} Q ${t} ${bn(e*.6)} ${bn(n*.76)} ${e} Z`;return[new hs("circle",{cx:t,cy:r,r:bn(n/2),fill:"var(--rf-color-surface)"}),new hs("path",{d:l,fill:"var(--rf-color-muted)"}),new hs("circle",{cx:t,cy:a,r:o,fill:"var(--rf-color-muted)"}),new hs("circle",{cx:t,cy:r,r:s,fill:"none",stroke:"var(--rf-color-border)","stroke-width":i})]}const{Tag:vG}=B,vC=new Map;function bC(n,e){vC.set(n.toLowerCase(),e)}const Jj=/^([a-zA-Z][a-zA-Z0-9+.-]*):(.*)$/s;function ez(n,e){const t=Jj.exec(n);if(!t)return null;const r=vC.get(t[1].toLowerCase());return r?r(t[2],e):null}bC("icon",(n,e)=>{const{tag:t,found:r}=gC(n,e.config,{label:e.alt});return r||console.warn(`[refrakt] icon: unknown icon name "${n}" — falling back to a neutral glyph.`),t});bC("placeholder",(n,e)=>(n&&!k0.includes(n)&&console.warn(`[refrakt] placeholder: unknown shape "${n}" — falling back to "${OC}". Known shapes: ${k0.join(", ")}.`),Gj(n,{label:e.alt})));const{dirname:yC,join:wC,isAbsolute:tz}=Qj,{Tag:Ai}=B,nz={children:["inline"],attributes:{level:{type:"Number",required:!0,render:!1},property:{type:String,required:!1}},transform(n,e){const t=n.transformAttributes(e),r=n.transformChildren(e);return(!t.id||typeof t.id!="string")&&(t.id=r.filter(i=>typeof i=="string").join(" ").replace(/[?{}%]/g,"").replace(/\s+/g,"-").toLowerCase()),new Ai(`h${n.attributes.level}`,t,r)}},rz={children:["inline"],attributes:{property:{type:String,required:!1}},render:"p"},iz={render:"fence",attributes:{content:{type:String,render:!1},process:{type:Boolean,render:!1,default:!1},language:{type:String,render:!1,default:"shell"},source:{type:String,render:!1},lines:{type:String,render:!1},linenumbers:{type:Boolean,render:!1,default:!1},highlight:{type:String,render:!1},label:{type:String,render:!1}},transform(n,e){const t=n.attributes.language||"shell",r={"data-language":t},i={"data-language":t},s=n.attributes.source;typeof s=="string"&&s.length>0&&(r["data-source"]=s,i["data-source"]=s);const o=n.attributes.lines;if(typeof o=="string"&&o.length>0){r["data-lines"]=o,i["data-lines"]=o;const c=/^(\d+)/.exec(o.trim());if(c){const u=Number(c[1]);if(Number.isFinite(u)&&u>0){const f=typeof r.style=="string"?`${r.style}; `:"";r.style=`${f}--rf-start-line: ${u-1}`}}}n.attributes.linenumbers===!0&&(r["data-linenumbers"]="true",i["data-linenumbers"]="true");const a=n.attributes.highlight;typeof a=="string"&&a.length>0&&(r["data-highlight-lines"]=a,i["data-highlight-lines"]=a);for(const[c,u]of Object.entries(n.attributes))c.startsWith("data-")&&(r[c]=u,i[c]=u);const l=new Ai("pre",r,[new Ai("code",i,[Vj(n.attributes.content)])]);return new Ai("div",{class:"rf-codeblock"},[l])}},sz={children:["item"],attributes:{ordered:{type:Boolean,render:!1,required:!0},start:{type:Number},marker:{type:String,render:!1}},transform(n,e){return new Ai(n.attributes.ordered?"ol":"ul",n.transformAttributes(e),n.transformChildren(e))}},oz={render:"li",children:["inline","heading","paragraph","image","table","tag","fence","blockquote","list","hr"],attributes:{property:{type:String,required:!1},typeof:{type:String,required:!1}}},az={render:"em",children:["strong","s","link","code","text","tag"],attributes:{marker:{type:String,render:!0}}},lz={render:"strong",children:["em","s","link","code","text","tag"],attributes:{marker:{type:String,render:!0}}},cz={attributes:{content:{type:String,required:!0},property:{type:String,required:!1}},transform(n,e){const t=n.transformAttributes(e);return t.property?new Ai("span",{"data-field":t.property},[n.attributes.content]):n.attributes.content}},_C={children:["strong","em","s","code","text","tag"],attributes:{href:{type:String,required:!0},title:{type:String}},render:"a",transform(n,e){const{urls:t,path:r}=e.variables||{},i=r?yC(r):"/";let s=n.attributes;const o=i!=="/"?wC(i,n.attributes.href):n.attributes.href;if(o in(t||{})){const a=t[o];s={...s,href:a}}return new Ai(this.render,s,n.transformChildren(e))}},uz=B.nodes.hardbreak,fz={render:"img",attributes:{src:{type:String,required:!0},alt:{type:String},title:{type:String},property:{type:String}},transform(n,e){const t=n.transformAttributes(e),r=ez(n.attributes.src,{alt:typeof t.alt=="string"?t.alt:void 0,title:typeof t.title=="string"?t.title:void 0,property:typeof t.property=="string"?t.property:void 0,config:e});if(r)return t.property&&(r.attributes["data-field"]=t.property),r;const i=e.variables?.svg||[];let s=n.attributes.src;!tz(s)&&e.variables?.path&&(s=wC("/",yC(e.variables.path),s));const o=i.find(a=>a._id===s);if(o){let l=new Zj.XMLParser({ignoreAttributes:!1}).parse(o.content);const c=ug("svg",l.svg);return t.property&&(c.attributes["data-field"]=t.property),c.attributes.xmlns=void 0,c}return new Ai(this.render,t,n.transformChildren(e))}},dz={children:["thead","tbody","tr"],attributes:{},transform(n,e){const t=new Ai("table",n.transformAttributes(e),n.transformChildren(e));return new Ai("div",{class:"rf-table-wrapper"},[t])}};function ug(n,e){if(Array.isArray(e))return e.map(i=>ug(n,i));let t=[],r={};for(const[i,s]of Object.entries(e))i.startsWith("@_")?r[i.slice(2)]=s:i==="#text"?t.push(s):t.push(ug(i,s));return new Ai(n,r,t)}const{Tag:bG}=B,{Ast:Of}=B;function hz(n){let e,t;return{filtered:n.filter(i=>i.type==="tag"&&i.tag==="tint"?(e=i,!1):i.type==="tag"&&i.tag==="bg"?(t=i,!1):!0),tintNode:e,bgNode:t}}function Mc(n,e){if(e==="any")return!0;if(e.includes("|"))return e.split("|").some(t=>Mc(n,t));if(e.startsWith("heading:")){const t=parseInt(e.slice(8),10);return n.type==="heading"&&n.attributes?.level===t}if(e==="list:ordered")return n.type==="list"&&n.attributes?.ordered===!0;if(e==="list:unordered")return n.type==="list"&&n.attributes?.ordered!==!0;if(e.startsWith("tag:")){const t=e.slice(4);return n.type==="tag"&&n.tag===t}return n.type===e}function Sa(n,e){const t={};let r=0;for(const i of e){if(r>=n.length)continue;const s=n[r];if(Mc(s,i.match)){if(i.greedy){const o=[];for(;r<n.length&&Mc(n[r],i.match);)o.push(n[r]),r++;t[i.name]=o}else t[i.name]=s,r++;if(i.itemModel)if(i.emitTag){const o=i.greedy?t[i.name]:[t[i.name]],a=[];for(const l of o){if(!l||l.type!=="list")continue;const c=fg(l,i.itemModel),u=l.children??[];for(let f=0;f<c.length;f++){const d={},h=i.emitAttributes;if(h)for(const[p,O]of Object.entries(h))if(O.startsWith("$")){const v=O.slice(1).split("|");d[p]=v.map(b=>c[f][b.trim()]).find(b=>b!=null&&b!=="")??""}else d[p]=O;const m=u[f]?.children?.slice(1)??[];a.push(new Of.Node("tag",d,m,i.emitTag))}}t[i.name]=a}else{const o=t[i.name];o&&typeof o=="object"&&"type"in o&&(t[`${i.name}Data`]=fg(o,i.itemModel))}}else i.optional||r++}return t}function pz(n,e){const t=[[]];for(const i of n)Mc(i,e.delimiter)?t.push([]):t[t.length-1].push(i);if(e.dynamicZones&&e.zoneModel)return{zones:t.map(i=>qc(i,e.zoneModel))};const r={};if(e.zones){const i=t.length===1?e.zones.findIndex(s=>s.primary):-1;for(let s=0;s<e.zones.length;s++){const o=e.zones[s];let a;i>=0?a=s===i?t[0]:[]:a=s<t.length?t[s]:[],r[o.name]=Sa(a,o.fields)}}return r}function x0(n){const e=[];for(const t of n.walk())t.type==="text"&&t.attributes?.content&&e.push(t.attributes.content);return e.join(" ")}function S0(n,e){const t={};let r=n;for(const i of e.fields)if(i.pattern==="remainder")t[i.name]=r.trim(),r="";else{const s=r.match(i.pattern);s?(t[i.name]=(s[1]||s[0]).trim(),r=r.slice(s[0].length)):i.optional||(t[i.name]=r.trim())}return t}function mz(n,e){const t=n.toLowerCase().trim();for(const[r,i]of Object.entries(e)){if(r.toLowerCase()===t)return{canonicalName:r,definition:i};if(i.alias){for(const s of i.alias)if(s.toLowerCase()===t)return{canonicalName:r,definition:i}}}}function gz(n,e){const t=e.sectionHeading;let r;if(t.includes(":"))r=parseInt(t.split(":")[1],10);else{const c=n.filter(u=>u.type==="heading");if(c.length>=2){const u=c[0].attributes?.level,f=c[1].attributes?.level;u!==void 0&&f!==void 0&&f>u?r=c.filter(h=>h.attributes?.level===f).length>=2?f:u:r=u}else r=c[0]?.attributes?.level}if(r===void 0){if(e.implicitSection&&e.emitTag){const u=e.fields?Sa([],e.fields):{},f=new Of.Node("tag",{...e.implicitSection.attributes??{}},n,e.emitTag);return{...u,sections:[f]}}return{...e.fields?Sa(n,e.fields):{},sections:[]}}const i=[],s=[];let o=null;for(const c of n)c.type==="heading"&&c.attributes?.level===r?(o&&s.push(o),o={headingNode:c,body:[]}):o?o.body.push(c):i.push(c);if(o&&s.push(o),s.length===0&&e.implicitSection&&e.emitTag){const c=e.fields?Sa([],e.fields):{},u=new Of.Node("tag",{...e.implicitSection.attributes??{}},n,e.emitTag);return{...c,sections:[u]}}const a=e.fields?Sa(i,e.fields):{};if(e.emitTag){const c=s.map(u=>{const f=x0(u.headingNode),d=e.headingExtract?S0(f,e.headingExtract):{},h={};if(e.emitAttributes)for(const[m,p]of Object.entries(e.emitAttributes))p==="$heading"?h[m]=f:p.startsWith("$")?h[m]=d[p.slice(1)]??"":h[m]=p;return new Of.Node("tag",h,u.body,e.emitTag)});return{...a,sections:c}}const l=s.map(c=>{const u=x0(c.headingNode),f=e.headingExtract?S0(u,e.headingExtract):{},d=e.knownSections?mz(u,e.knownSections):void 0,h=d?.definition.model??e.sectionModel,m=qc(c.body,h);return{$heading:u,$headingNode:c.headingNode,...d?{$canonicalName:d.canonicalName}:{},...Object.fromEntries(Object.entries(f).map(([p,O])=>[`$${p}`,O])),...m}});return{...a,sections:l}}function Oz(n,e,t){if("hasChild"in n)return e.some(r=>Mc(r,n.hasChild));if("in"in n){const r=String(t[n.attribute]??"");return n.in.includes(r)}return"exists"in n?t[n.attribute]!=null&&t[n.attribute]!=="":!1}function vz(n){return"when"in n&&Array.isArray(n.when)}function bz(n){if(n.type==="text")return n.attributes?.content??"";const e=[];for(const t of n.walk())t.type==="text"&&t.attributes?.content&&e.push(t.attributes.content);return e.join("")}function yz(n,e){if(n.type===e)return n;if(n.type==="link"&&e!=="link"){for(const t of n.children??[])if(t.type===e)return t}if((n.type==="strong"||n.type==="em")&&e!==n.type){for(const t of n.children??[])if(t.type===e)return t}return null}function fg(n,e){return(n.children??[]).map(r=>{const i={},s=[];for(const c of r.children??[])c.type==="inline"?s.push(...c.children??[]):s.push(c);const o=new Set,a=new Set;for(const c of e.fields)if(c.match!=="text"){if(c.match==="list"){const u=s.findIndex((f,d)=>!o.has(d)&&f.type==="list");u>=0&&(o.add(u),i[c.name]=c.itemModel?fg(s[u],c.itemModel):s[u]);continue}if(c.match==="paragraph"&&c.greedy){const u=[];s.forEach((f,d)=>{!o.has(d)&&f.type==="paragraph"&&(o.add(d),u.push(f))}),u.length>0&&(i[c.name]=u);continue}for(let u=0;u<s.length;u++){if(o.has(u)||a.has(u)&&c.match!==s[u].type)continue;const f=s[u],d=yz(f,c.match);if(d){if(d===f?o.add(u):a.add(u),c.extract){const h=f.attributes?.[c.extract]!=null?f:d;i[c.name]=h.attributes?.[c.extract]}else i[c.name]=bz(d);break}}}for(const c of a)o.add(c);const l=e.fields.filter(c=>c.match==="text");if(l.length>0){let u=s.filter((f,d)=>!o.has(d)).filter(f=>f.type==="text"||f.type==="softbreak").map(f=>f.attributes?.content??"").join("").trim();for(const f of l)if(f.pattern==="remainder"){const d=u.trim();(d||!f.optional)&&(i[f.name]=d)}else if(f.pattern instanceof RegExp){const d=u.match(f.pattern);d&&(i[f.name]=d[1]??d[0],u=u.replace(f.pattern,""))}}return i})}function qc(n,e,t){if(vz(e)){for(const r of e.when)if(Oz(r.condition,n,t??{}))return qc(n,r.model,t);return qc(n,e.default,t)}switch(e.type){case"sequence":return Sa(n,e.fields);case"sections":return gz(n,e);case"delimited":return pz(n,e);case"custom":return{children:e.processChildren(n,t??{})};default:return{}}}function wz(n,e,t){const{filtered:r,tintNode:i,bgNode:s}=hz(n);return{content:qc(r,e,t),tintNode:i,bgNode:s}}const _z=new Map;function kz(n,e){_z.set(n,e)}const xz=new WeakMap;function ks(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").toLowerCase()}function sn(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&n.$$mdtype==="Tag"}function Qt(n,e={},t=[]){return{$$mdtype:"Tag",name:n,attributes:e,children:t}}function Sz(n,e){const t=ks(e);return n.children.find(r=>sn(r)&&r.name==="meta"&&r.attributes["data-field"]===t)}function Vt(n,e,t){return Sz(n,e)?.attributes.content??t}function Az(n){const e=n.attributes?.["data-rune-fields"];if(typeof e!="string"||e.length===0)return{};try{const t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function Po(n,e,t){const i=Az(n)[e];if(i!=null&&typeof i!="object")return typeof i=="string"?i:String(i);const s=ks(e),o=(n.children??[]).find(a=>!!a&&typeof a=="object"&&a.$$mdtype==="Tag"&&a.name==="meta"&&a.attributes?.["data-field"]===s);return o?o.attributes.content:void 0}const Cz={none:"0",tight:"var(--rf-spacing-sm)",default:"var(--rf-spacing-md)",loose:"var(--rf-spacing-xl)"};function Tz(n){return Cz[n]??n}function Pz(n){return n.split(/\s+/).map(e=>`${e}fr`).join(" ")}const Cp={none:"0",sm:"var(--rf-spacing-sm)",md:"var(--rf-spacing-md)",lg:"var(--rf-spacing-lg)",xl:"var(--rf-spacing-xl)","2xl":"var(--rf-spacing-section)","3xl":"var(--rf-spacing-section-loose)","4xl":"var(--rf-spacing-section-breathe)"};function Ez(n){const e=Cp[n];return e===void 0?(console.warn(`[refrakt] Unknown offset "${n}" — expected one of ${Object.keys(Cp).join(", ")}. Falling back to "none".`),Cp.none):e}const $z={top:"start",center:"center",bottom:"end",stretch:"stretch",baseline:"baseline"};function A0(n){return $z[n]??n}const Qz={left:{x:"start",y:"center"},center:{x:"center",y:"center"},right:{x:"end",y:"center"},top:{x:"center",y:"start"},bottom:{x:"center",y:"end"},"top left":{x:"start",y:"start"},"top center":{x:"center",y:"start"},"top right":{x:"end",y:"start"},"bottom left":{x:"start",y:"end"},"bottom center":{x:"center",y:"end"},"bottom right":{x:"end",y:"end"}};function Lz(n){return Qz[n]??{x:"center",y:"center"}}function Mz(n,e){if(!n)return e;const t={...n,...e};if((n.metaFields||e.metaFields)&&(t.metaFields={...n.metaFields,...e.metaFields}),n.blocks||e.blocks){const r={...n.blocks};if(e.blocks)for(const[i,s]of Object.entries(e.blocks))r[i]=s;t.blocks=r}if((n.layout||e.layout)&&(t.layout={...n.layout,...e.layout}),n.variants||e.variants){const r={...n.variants};if(e.variants)for(const[i,s]of Object.entries(e.variants))r[i]={...r[i],...s};t.variants=r}return t}const qz=["bg","surface","text","muted","primary","border"],C0={none:"flat",sm:"raised",md:"raised",lg:"floating"};function Dz(n){if(!(typeof n!="string"||n==="")){if(C0[n]){const e=C0[n];return console.warn(`[refrakt] elevation="${n}" is deprecated (SPEC-107) — use "${e}". The alias will be removed in a future minor.`),e}return n}}const Rz=new Set(["header","preamble","title","description"]);function Iz(n){return!!n&&Object.values(n).some(e=>Rz.has(e))}const gd={duration(n){const e=n.match(/PT(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?/);if(!e)return n;const t=[];return e[1]&&t.push(`${e[1]}h`),e[2]&&t.push(`${e[2]}m`),e[3]&&t.push(`${e[3]}s`),t.join(" ")||n},uppercase:n=>n.toUpperCase(),capitalize:n=>n.charAt(0).toUpperCase()+n.slice(1)};function Nz(n){const{prefix:e,runes:t,icons:r={},tints:i={},backgrounds:s={},frames:o={}}=n,a=new Map(Object.keys(t).map(c=>[ks(c),c]));function l(c,u){if(c==null||typeof c=="string"||typeof c=="number")return c;if(Array.isArray(c))return c.map(h=>l(h,u));if(!sn(c))return c;const f=c.attributes?.["data-rune"],d=f?a.get(f):void 0;if(d)return e6(c,t[d],e,r,i,s,o,t,a,l,u);if(c.name==="li"){const h=t6(c);if(h)return{...h,children:h.children.map(m=>l(m,u))}}return{...c,children:c.children.map(h=>l(h,u))}}return c=>l(c)}function Bz(n){if(typeof n!="string"||n.length===0)return{};try{const e=JSON.parse(n);return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return{}}}function kC(n,e,t,r){const i=e[t];return i!=null&&typeof i!="object"?i:Vt(n,t,r)}function jz(n,e,t){if(!n.variants)return n;let r=n;for(const[i,s]of Object.entries(n.variants)){const o=n.modifiers?.[i];if(!o)continue;const a=o.source==="attribute"?e.attributes[i]??o.default:kC(e,t,i,o.default);a&&s[a]&&(r=Mz(r,s[a]))}return r}function zz(n,e){const t=new Set,r=c=>{const u=Vt(n,c);return u!=null&&t.add(c),u??void 0},i=r("frame");let s={};if(i&&e[i]){let c=e[i];c.extends&&e[c.extends]&&(c={...e[c.extends],...c}),s={...c},delete s.extends}const o={aspect:r("frame-aspect"),displace:r("frame-displace"),displaceMode:r("frame-displace-mode"),offset:r("frame-offset"),oversize:r("frame-oversize"),place:r("frame-place"),anchor:r("frame-anchor"),shadow:r("frame-shadow")};for(const[c,u]of Object.entries(o))u!==void 0&&(s[c]=u);if(t.size===0)return null;const a={},l=[];if(i&&(a["data-frame"]=i),s.displace&&(a["data-displace"]=s.displace),s.displaceMode&&(a["data-displace-mode"]=s.displaceMode),s.shadow&&(a["data-frame-shadow"]=s.shadow),s.aspect&&l.push(`--frame-aspect: ${s.aspect}`),s.offset&&l.push(`--frame-offset: ${Ez(s.offset)}`),s.oversize&&l.push(`--frame-oversize: ${s.oversize}`),s.anchor&&l.push(`--frame-anchor: ${s.anchor}`),s.place){const{x:c,y:u}=Lz(s.place);l.push(`--frame-place-x: ${c}`,`--frame-place-y: ${u}`)}return{dataAttrs:a,styleParts:l,metaProps:t}}function T0(n,e,t){if(n.attributes={...n.attributes,...e},t.length){const r=n.attributes.style?String(n.attributes.style):"";n.attributes.style=r?`${r}; ${t.join("; ")}`:t.join("; ")}}function vf(n){for(const e of n){if(!sn(e))continue;if(e.attributes?.["data-section"]==="media")return e;const t=e.children?vf(e.children):void 0;if(t)return t}}function dg(n,e){for(const t of n){if(!sn(t))continue;if(t.attributes?.["data-name"]===e)return t;const r=t.children?dg(t.children,e):void 0;if(r)return r}}function Zz(n){const e=[],t=r=>{if(sn(r)){r.name==="rf-sandbox"&&e.push(r);for(const i of r.children??[])t(i)}};return t(n),e}function Fz(n,e,t){const r=i=>{if(!sn(i))return;const s=i.attributes?.["data-rune"];if(s){const o=t.get(s);if(o&&e[o]?.interactive)return s}for(const o of i.children??[]){const a=r(o);if(a)return a}};for(const i of n.children??[]){const s=r(i);if(s)return s}}const P0=new Set;function Xz(n,e){const t=`${n}:${e}`;P0.has(t)||(P0.add(t),console.warn(`[refrakt] interactive guest \`${e}\` in a linked \`${n}\` — its controls are inert under the whole-tile link. Drop \`href\` or the interactivity.`))}const E0=new Set;function Vz(n,e){const t=`${n}:${e}`;E0.has(t)||(E0.add(t),console.warn(`[refrakt] \`activation="${e}"\` on a sandbox serving as a \`${n}\` cover backdrop — the backdrop is inert (pointer-events: none), so the poster/Run affordance is unreachable. Drop \`activation\` (eager is the background mode).`))}const $0=new Set;function Q0(n){$0.has(n)||($0.add(n),console.warn(`[refrakt] \`frame\` on \`${n}\` has no frame target — set \`frameTarget\` or give the rune a media section. Frame chrome ignored.`))}const L0={sm:"12px",md:"16px",lg:"24px"},M0={sm:"0.25",md:"0.5",lg:"0.85"};function Wz(n){const e=new Set,t=u=>{const f=Vt(n,u);return f!=null&&e.add(u),f??void 0},r=t("substrate"),i=t("substrate-size"),s=t("substrate-opacity"),o=t("substrate-fill"),a=t("substrate-target");if(!r)return null;const l={"data-substrate":r};o&&(l["data-substrate-fill"]=o);const c=[];return i&&L0[i]&&c.push(`--substrate-cell: ${L0[i]}`),s&&M0[s]&&c.push(`--substrate-opacity: ${M0[s]}`),{dataAttrs:l,styleParts:c,metaProps:e,targetOverride:a}}const q0=new Set;function D0(n){q0.has(n)||(q0.add(n),console.warn(`[refrakt] \`substrate-target="media"\` on \`${n}\` has no media section — substrate ignored.`))}const Yz={"to-t":"to top","to-b":"to bottom","to-l":"to left","to-r":"to right","to-tr":"to top right","to-br":"to bottom right","to-bl":"to bottom left","to-tl":"to top left"};function Uz(n){if(n==="transparent")return"transparent";const e=n.indexOf("/");if(e>0&&e<n.length-1){const t=n.slice(0,e),r=n.slice(e+1).replace(/%$/,""),i=parseFloat(r);if(Number.isFinite(i)){const s=i>1?i/100:i;if(s>=0&&s<=1)return`color-mix(in srgb, var(--rf-color-${t}) ${s*100}%, transparent)`}}return`var(--rf-color-${n})`}function R0(n){const e=n.stops.filter(i=>!!i).map(Uz);if(e.length<2)return null;const t=n.type??"linear";return t==="radial"?`radial-gradient(${e.join(", ")})`:t==="conic"?`conic-gradient(${e.join(", ")})`:`linear-gradient(${Yz[n.direction??"to-b"]??"to bottom"}, ${e.join(", ")})`}const I0={sm:"0.3",md:"0.55",lg:"0.8"},Gz=/^[a-z][a-z0-9-]*$/,Hz={top:"to top",bottom:"to bottom",left:"to left",right:"to right"},N0=new Set;function Kz(n){N0.has(n)||(N0.add(n),console.warn(`[refrakt] \`content-place\` on \`${n}\` is only active in \`media-position="cover"\` — it anchors the overlay, and there's no overlay outside cover. Ignored.`))}const B0=new Set;function Jz(n){B0.has(n)||(B0.add(n),console.warn(`[refrakt] raw-CSS \`overlay\` on \`${n}\` is deprecated (SPEC-088) — use \`overlay="dark|light|<token>"\` for a flat wash or \`scrim\` for a legibility gradient. The raw passthrough will be removed in a future minor.`))}function e6(n,e,t,r,i,s,o,a,l,c,u){const f=`${t}-${e.block}`,d=n.attributes?.["data-rune"];if(e.requiresParent&&e.requiresParent!=="*"){const Oe=ks(e.requiresParent);u!==Oe&&p6(d??e.block,e.requiresParent,u)}const h=Bz(n.attributes["data-rune-fields"]);e=jz(e,n,h);const m=[],p={},O={},v=[];if(e.modifiers)for(const[Oe,xe]of Object.entries(e.modifiers)){xe.source==="attribute"&&v.push(Oe);const $e=xe.source==="meta"?kC(n,h,Oe,xe.default):n.attributes[Oe]??xe.default;if($e){if(p[Oe]=$e,xe.noBemClass||m.push(`${f}--${$e}`),xe.valueMap){const Z=xe.valueMap[$e]??$e;xe.mapTarget?O[xe.mapTarget]=Z:p[Oe]=Z}}else $e===""&&(p[Oe]="")}e.contextModifiers&&u&&e.contextModifiers[u]&&m.push(`${f}--${e.contextModifiers[u]}`);const b=p["media-position"]==="cover";if(e.staticModifiers)for(const Oe of e.staticModifiers)m.push(`${f}--${Oe}`);const _=new Set,A={},w=[],y=Vt(n,"tint"),S=Vt(n,"tint-mode");if(y||S){let Oe={},xe={},$e=S;if(y&&y!=="custom"&&i[y]){const we=i[y];if(we.light)for(const[xt,qt]of Object.entries(we.light))qt&&(Oe[xt]=qt);if(we.dark)for(const[xt,qt]of Object.entries(we.dark))qt&&(xe[xt]=qt);!$e&&we.lockMode&&($e=we.lockMode)}for(const we of qz){const xt=Vt(n,`tint-${we}`);xt&&(Oe[we]=xt,_.add(`tint-${we}`));const qt=Vt(n,`tint-dark-${we}`);qt&&(xe[we]=qt,_.add(`tint-dark-${we}`))}const Z=Object.keys(Oe).length>0;(y||Z)&&(A["data-tint"]=y||"custom"),$e&&$e!=="auto"&&(A["data-color-scheme"]=$e),Object.keys(xe).length>0&&(A["data-tint-dark"]="");for(const[we,xt]of Object.entries(Oe))w.push(`--tint-${we}: ${xt}`);for(const[we,xt]of Object.entries(xe))w.push(`--tint-dark-${we}: ${xt}`);(Z||y&&y!=="custom"&&i[y])&&m.push(`${f}--tinted`),_.add("tint"),_.add("tint-mode")}const C=n.attributes?.density,k=u?l.get(u):void 0,E=k?a[k]?.childDensity:void 0,T=C??E??e.defaultDensity??"full",$=n.attributes?.width??e.defaultWidth;$&&$!=="content"&&(p.width=$,m.push(`${f}--${$}`));const Q=n.attributes?.spacing;Q&&Q!=="default"&&(p.spacing=Q,m.push(`${f}--spacing-${Q}`));const P=n.attributes?.inset;P&&P!=="default"&&(p.inset=P,m.push(`${f}--inset-${P}`));const q=Dz(n.attributes?.elevation??e.defaultElevation);q&&(p.elevation=q);const I=n.attributes?.prominence??e.defaultProminence;if(I)if(Iz(e.sections))p.prominence=String(I);else{const Oe=n.attributes?.["data-rune"]??f;console.warn(`[refrakt] prominence is not supported on "${Oe}" — it applies only to runes with a page-section header. Ignored.`)}const W=n.attributes?.reveal;W&&(p.reveal=String(W));const U=!!n.attributes?.stagger;U&&(p.stagger="");const K=new Set,ae={};let re=null;const H=(n.children??[]).find(Oe=>sn(Oe)&&Oe.attributes?.["data-bg-guest"]!==void 0)??null,ie=Vt(n,"bg-preset"),se=Vt(n,"bg-src"),j=Vt(n,"bg-video"),ne=Vt(n,"bg-gradient"),Te=Vt(n,"bg-from"),Qe=Vt(n,"bg-via"),De=Vt(n,"bg-to"),ge=Vt(n,"bg-gradient-type");let Ee;if(ie&&s[ie]){let Oe=s[ie];Oe.extends&&s[Oe.extends]&&(Oe={...s[Oe.extends],...Oe}),Ee=Oe.gradient}let Ke=null;if(ne||Te||Qe||De||ge){const Oe=[Te,Qe,De].filter(xe=>!!xe);Ke=R0({type:ge??Ee?.type,direction:ne??Ee?.direction,stops:Oe.length>=2?Oe:Ee?.stops??Oe})}else Ee&&(Ke=R0(Ee));const tt=Vt(n,"scrim"),Ve=Vt(n,"bg-overlay"),Ge=tt&&tt!=="none"&&!b;if(ie||se||j||Ke||Ge||Ve||H){let Oe={};if(ie&&s[ie]){let pt=s[ie];if(pt.extends&&s[pt.extends]){const On=s[pt.extends];pt={...On,params:{...On.params,...pt.params},style:{...On.style,...pt.style}}}pt.style&&(Oe={...pt.style})}const xe=Vt(n,"bg-blur"),$e=Vt(n,"bg-position"),Z=Vt(n,"bg-fit"),we=Vt(n,"bg-opacity"),xt=Vt(n,"bg-fixed"),qt={sm:"4px",md:"8px",lg:"16px"},je=[];for(const[pt,On]of Object.entries(Oe))je.push(`${pt}: ${On}`);se?je.push(`--bg-image: url(${se})`):Ke&&je.push(`--bg-image: ${Ke}`),$e&&je.push(`--bg-position: ${$e}`),xe&&je.push(`--bg-blur: ${qt[xe]??xe}`),Z&&je.push(`--bg-fit: ${Z}`),we&&je.push(`--bg-opacity: ${we}`);const zn={"data-name":"bg"};ie&&(zn["data-bg-preset"]=ie),je.length&&(zn.style=je.join("; ")),xt&&(zn["data-bg-fixed"]="");const rr=[];if(j&&rr.push(Qt("video",{"data-name":"bg-video",autoplay:"",muted:"",loop:"",playsinline:"",src:j,...je.length?{style:je.filter(pt=>!pt.startsWith("--bg-image")).join("; ")}:{}})),H&&rr.push(H),Ve){const pt=Vt(n,"bg-overlay-opacity"),On={"data-name":"bg-overlay"};if(Ve==="dark"||Ve==="light")On["data-bg-overlay"]=Ve,pt&&(On.style=`opacity: ${pt}`);else if(Gz.test(Ve)){const hn=[`background: var(--rf-color-${Ve})`];pt&&hn.push(`opacity: ${pt}`),On.style=hn.join("; ")}else Jz(d??e.block),On.style=`background: ${Ve}`;rr.push(Qt("div",On))}if(Ge){const pt=Vt(n,"scrim-type")??"gradient",On=Vt(n,"scrim-tone")??"dark",hn={"data-name":"scrim","data-scrim":pt,"data-scrim-tone":On,"data-scrim-dir":tt},Gr=[];if(pt==="frost"){const Mr=Vt(n,"scrim-blur")??"md";Gr.push(`--scrim-blur: ${qt[Mr]??qt.md}`)}else{const Mr=Vt(n,"scrim-strength")??"md";Gr.push(`--scrim-strength: ${I0[Mr]??I0.md}`)}hn.style=Gr.join("; "),rr.push(Qt("div",hn)),A["data-color-scheme"]||(ae["data-color-scheme"]=On)}re=Qt("div",zn,rr),m.push(`${f}--has-bg`),ae["data-bg"]="",K.add("bg-preset"),K.add("bg-src"),K.add("bg-video"),K.add("bg-overlay"),K.add("bg-blur"),K.add("bg-position"),K.add("bg-fit"),K.add("bg-opacity"),K.add("bg-fixed"),K.add("bg-gradient"),K.add("bg-from"),K.add("bg-via"),K.add("bg-to"),K.add("bg-gradient-type"),K.add("bg-overlay-opacity"),K.add("scrim"),K.add("scrim-type"),K.add("scrim-strength"),K.add("scrim-blur"),K.add("scrim-tone")}b&&(K.add("scrim"),K.add("scrim-type"),K.add("scrim-blur"),K.add("scrim-tone"));const Re=zz(n,o),At=new Set(Re?.metaProps??[]);let Jt=null;if(Re){const Oe=e.sections?Object.values(e.sections).includes("media"):!1;Jt=e.frameTarget??(Oe?"media":null),Jt||Q0(d??e.block)}const En=Re&&Jt==="self"?Re.dataAttrs:{},ft=Wz(n),on=new Set(ft?.metaProps??[]);let an=null;if(ft){const Oe=e.sections?Object.values(e.sections).includes("media"):!1,xe=ft.targetOverride;an=xe==="self"||xe==="media"?xe:e.substrateTarget??"self",an==="media"&&!Oe&&(D0(d??e.block),an=null)}const Vn=ft&&an==="self"?ft.dataAttrs:{},Ae={};for(const[Oe,xe]of Object.entries(p)){const $e=Oe.replace(/([A-Z])/g,"-$1").toLowerCase();Ae[`data-${$e}`]=xe}for(const[Oe,xe]of Object.entries(O)){const $e=Oe.startsWith("data-")?Oe:`data-${Oe}`;Ae[$e]=xe}const $n=n.attributes.class||"",Mt=[f,...m,$n].filter(Boolean).join(" ");let bt=H?n.children.filter(Oe=>Oe!==H):n.children;if(e.autoLabel&&(bt=xC(bt,e.autoLabel)),e.blocks||e.layout)bt=f6(e,f,bt,p);else if(e.structure){const Oe=[],xe=[];for(const[$e,Z]of Object.entries(e.structure)){const we=bf(Z,$e,p);we&&(Z.before?Oe.push(we):xe.push(we))}if(e.contentWrapper){const $e=Qt(e.contentWrapper.tag,{"data-name":e.contentWrapper.ref},bt);bt=[...Oe,$e,...xe]}else(Oe.length||xe.length)&&(bt=[...Oe,...bt,...xe])}else e.contentWrapper&&(bt=[Qt(e.contentWrapper.tag,{"data-name":e.contentWrapper.ref},bt)]);re&&(bt=[re,...bt]);let un=bt.map(Oe=>sn(Oe)?c(Mv(Oe,f,e.sections,e.mediaSlots),d):c(Oe,d));if(e.projection&&(un=n6(un,e.projection,f,e.sections,e.mediaSlots)),Re&&Jt==="media"){const Oe=vf(un);Oe?T0(Oe,Re.dataAttrs,Re.styleParts):Q0(d??e.block)}if(ft&&an==="media"){const Oe=vf(un);Oe?T0(Oe,ft.dataAttrs,ft.styleParts):D0(d??e.block)}const le=!!dg(un,"link");if(le||b){const Oe=vf(un);if(Oe){if(Oe.attributes={...Oe.attributes,"data-guest-posture":"presentational"},le){const xe=Fz(Oe,a,l);xe&&Xz(d??e.block,xe)}if(b)for(const xe of Zz(Oe)){(xe.attributes?.["data-height"]??"auto")==="auto"&&(xe.attributes={...xe.attributes,"data-height":"fill"});const $e=xe.attributes?.["data-activation"];($e==="visible"||$e==="click")&&Vz(d??e.block,String($e))}}}const ve=e.modifiers?new Set(Object.keys(e.modifiers).map(Oe=>ks(Oe))):void 0,ye=un.filter(Oe=>{if(!sn(Oe))return!0;const xe=Oe;if(xe.name!=="meta"||!xe.attributes["data-field"])return!0;const $e=xe.attributes["data-field"];return!(ve?.has($e)||_.has($e)||K.has($e)||At.has($e)||on.has($e))});if(e.sequence){const Oe=e.sequenceDirection?p[e.sequenceDirection.fromModifier]??e.sequenceDirection.default:void 0;SC(ye,e.sequence,Oe)}U&&e.staggerItems&&AC(ye,e.staggerItems,{n:0});let Ce=n.attributes.style||"";const Se=[];if(e.styles)for(const[Oe,xe]of Object.entries(e.styles)){const $e=p[Oe];$e&&(typeof xe=="string"?Se.push(`${xe}: ${$e}`):xe.transform?Se.push(`${xe.prop}: ${xe.transform($e)}`):xe.template?Se.push(`${xe.prop}: ${xe.template.replace("{}",$e)}`):Se.push(`${xe.prop}: ${$e}`))}Se.push(...w);const yt=p["content-place"];if(yt){if(!b)Kz(d??e.block);else if(yt!=="auto"){const[Oe,xe]=yt.trim().split(/\s+/);Oe&&Se.push(`--cover-place-block: ${Oe}`),xe&&Se.push(`--cover-place-inline: ${xe}`),Oe==="start"?Se.push("--cover-scrim-dir: to bottom"):Oe==="center"&&(Se.push("--cover-scrim-image: radial-gradient(ellipse farthest-side at center, rgb(0 0 0 / 0.55) 40%, transparent 100%)"),Se.push("--cover-scrim-mask: radial-gradient(ellipse farthest-side at center, #000 50%, transparent 100%)"))}}if(b){const Oe=Vt(n,"scrim");Oe==="none"&&(ae["data-scrim"]="none");const xe=Vt(n,"scrim-type");if(xe&&Oe!=="none"&&(ae["data-scrim-type"]=xe,xe==="frost")){const we=Vt(n,"scrim-blur");we&&(ae["data-scrim-blur"]=we)}const $e=e.rootAttributes?.["data-cover-scope"];if(Oe!=="none"&&$e!=="header"&&!ae["data-color-scheme"]&&!A["data-color-scheme"]){const we=dg(ye,"content");we&&(we.attributes={...we.attributes,"data-color-scheme":Vt(n,"scrim-tone")??"dark"})}const Z=Hz[Oe??""];Z&&Se.push(`--cover-scrim-dir: ${Z}`)}Re&&Jt==="self"&&Se.push(...Re.styleParts),ft&&an==="self"&&Se.push(...ft.styleParts),Se.length&&(Ce=Ce?`${Ce}; ${Se.join("; ")}`:Se.join("; "));const{width:dt,spacing:Je,inset:Ct,elevation:wt,prominence:at,reveal:Tt,stagger:Tn,density:Zt,"data-rune":tn,"data-rune-fields":_t,...Ft}=n.attributes,qn=v.length>0?Object.fromEntries(Object.entries(Ft).filter(([Oe])=>!v.includes(Oe))):Ft,jn={...n,attributes:{...qn,...Ae,...A,...ae,...En,...Vn,class:Mt,"data-rune":d,"data-density":T,...e.rootAttributes||{},...Ce?{style:Ce}:{}},children:ye};return e.postTransform?e.postTransform(jn,{modifiers:p,parentType:u,fields:h}):jn}function xC(n,e){return n.map(t=>{if(!sn(t))return t;const r=e[t.name]??e[t.attributes?.["data-field"]],i=r&&!t.attributes["data-name"]?{...t,attributes:{...t.attributes,"data-name":r}}:t;return i.children.length===0?i:{...i,children:xC(i.children,e)}})}function Mv(n,e,t,r){const i=n.attributes["data-name"];if(i){const s=`${e}__${i}`,o=n.attributes.class||"",a=n.children.map(u=>sn(u)?Mv(u,e,t,r):u),l=t?.[i],c=r?.[i];return{...n,attributes:{...n.attributes,class:[s,o].filter(Boolean).join(" "),...l?{"data-section":l}:{},...c?{"data-media":c}:{}},children:a}}return n}const j0=/^\[(x|X|>|\s|-)\]\s*/,z0={x:"checked",X:"checked"," ":"unchecked",">":"active","-":"skipped"};function t6(n){const e=n.children;if(e.length===0)return null;const t=e[0];if(typeof t=="string"){const r=t.match(j0);if(!r)return null;const i=z0[r[1]]??"unchecked",s=t.slice(r[0].length);return{...n,attributes:{...n.attributes,"data-checked":i},children:[s,...e.slice(1)]}}if(sn(t)&&t.name==="p"&&t.children.length>0){const r=t.children[0];if(typeof r=="string"){const i=r.match(j0);if(!i)return null;const s=z0[i[1]]??"unchecked",o=r.slice(i[0].length),a={...t,children:[o,...t.children.slice(1)]};return{...n,attributes:{...n.attributes,"data-checked":s},children:[a,...e.slice(1)]}}}return null}function SC(n,e,t){for(let r=0;r<n.length;r++){const i=n[r];if(sn(i))if(i.name==="ol"){const s={...i.attributes,"data-sequence":e};t&&(s["data-sequence-direction"]=t),n[r]={...i,attributes:s}}else i.children.length>0&&SC(i.children,e,t)}}function AC(n,e,t){for(let r=0;r<n.length;r++){const i=n[r];if(!sn(i))continue;if(i.attributes?.["data-field"]===e||i.attributes?.["data-name"]===e){const o=i.attributes?.style?String(i.attributes.style):"",a=`--rf-reveal-index: ${t.n}`;n[r]={...i,attributes:{...i.attributes,style:o?`${o}; ${a}`:a}},t.n++}else i.children.length>0&&AC(i.children,e,t)}}function CC(n,e){const t=n.findIndex(r=>sn(r)&&r.attributes?.["data-name"]===e);if(t!==-1){const r=n[t],i=[...n.slice(0,t),...n.slice(t+1)];return{element:r,rest:i}}for(let r=0;r<n.length;r++){const i=n[r];if(!sn(i))continue;const s=i;if(s.attributes?.["data-name"]!=="preamble")continue;const o=CC(s.children,e);if(!o)continue;const a=[...n];return o.rest.length===0?a.splice(r,1):a[r]={...s,children:o.rest},{element:o.element,rest:a}}return null}function TC(n,e){for(const t of n){if(!sn(t))continue;const r=t;if(r.attributes?.["data-name"]===e)return r;const i=TC(r.children,e);if(i)return i}return null}function PC(n,e,t,r){return n.map(i=>{if(!sn(i))return i;const s=i;if(s.attributes?.["data-name"]===e){const a=r==="prepend"?[t,...s.children]:[...s.children,t];return{...s,children:a}}const o=PC(s.children,e,t,r);return o!==s.children?{...s,children:o}:i})}function n6(n,e,t,r,i){let s=[...n];if(e.hide){const o=new Set(e.hide);s=s.filter(a=>{if(!sn(a))return!0;const l=a.attributes?.["data-name"];return!l||!o.has(l)})}if(e.group)for(const[o,a]of Object.entries(e.group)){const l=new Set(a.members),c=[];let u=-1;for(let f=s.length-1;f>=0;f--){const d=s[f];if(!sn(d))continue;const h=d.attributes?.["data-name"];h&&l.has(h)&&(c.unshift(d),(u===-1||f<u)&&(u=f),s.splice(f,1))}if(c.length>0){let f=Qt(a.tag,{"data-name":o},c);f=Mv(f,t,r,i),s.splice(u,0,f)}}if(e.relocate)for(const[o,a]of Object.entries(e.relocate)){const l=CC(s,o);if(!l)continue;s=l.rest,TC(s,a.into)&&(s=PC(s,a.into,l.element,a.position??"append"))}return s}function bf(n,e,t,r){if(n.condition&&!t[n.condition]||n.conditionAny&&!n.conditionAny.some(l=>t[l]))return null;const i=n.ref??e;if(n.repeat){const l=parseInt(t[n.repeat.count]??"",10);if(!l||l<0||isNaN(l))return Qt(n.tag,{"data-name":i},[]);const c=n.repeat.max??10,u=Math.min(l,c),f=n.repeat.filled?parseInt(t[n.repeat.filled]??"0",10):0,d=Math.max(0,Math.min(f,u)),h=[];for(let m=0;m<u;m++){const p=m<d;if(p&&n.repeat.filledElement){const O=bf(n.repeat.filledElement,n.repeat.filledElement.ref??"",t);O&&h.push(O)}else{const O=bf(n.repeat.element,n.repeat.element.ref??"",t);O&&(n.repeat.filled?h.push({...O,attributes:{...O.attributes,"data-filled":p?"true":"false"}}):h.push(O))}}return Qt(n.tag,{"data-name":i},h)}const s={};if(n.attrs)for(const[l,c]of Object.entries(n.attrs))typeof c=="string"?s[l]=c:"fromModifier"in c&&(s[l]=t[c.fromModifier]??"");const o={"data-name":i,...s};if(n.metaType&&(o["data-meta-type"]=n.metaType),n.sentimentMap&&n.metaText){const l=t[n.metaText];if(l){const c=n.sentimentMap[l];c&&(o["data-meta-sentiment"]=c)}}if(n.icon)return Qt(n.tag,o,[]);if(n.metaText){let l=t[n.metaText]??"";if(n.transform&&gd[n.transform]&&(l=gd[n.transform](l)),n.label){const c={"data-meta-label":""};n.labelHidden&&(c["data-meta-label-hidden"]="");const u=Qt("span",c,[n.label]);let f=l;n.textPrefix&&(f=n.textPrefix+f),n.textSuffix&&(f=f+n.textSuffix);const d=Qt("span",{"data-meta-value":""},[f]);return Qt(n.tag,o,[u,d])}return n.textPrefix&&(l=n.textPrefix+l),n.textSuffix&&(l=l+n.textSuffix),Qt(n.tag,o,[l])}const a=[];if(n.children)for(const l of n.children)if(typeof l=="string")a.push(l);else{const c=bf(l,l.ref??"",t);c&&a.push(c)}return Qt(n.tag,o,a)}function r6(n,e,t){const r=e[n];if(!r)return null;if(r.condition){const a=t[r.condition];if(!(r.renderWhenEmpty?a!==void 0:!!a))return null}let i=t[n]??"";if(!i&&r.condition&&!r.renderWhenEmpty)return null;r.transform&&gd[r.transform]&&(i=gd[r.transform](i));const s=r.href?t[r.href]??"":void 0;if(r.href&&!s)return null;const o=r.rating?t[r.rating.total??""]||"5":void 0;return{name:n,value:i,field:r,href:s,ratingTotal:o}}function EC(n,e={includeLabel:!0}){const{field:t,value:r}=n,i={class:"rf-badge"};if(t.metaType&&(i["data-meta-type"]=t.metaType),t.sentimentMap){const a=t.sentimentMap[r];a&&(i["data-meta-sentiment"]=a)}const s=t.tag??"span",o={...i};return s==="time"&&r&&(o.datetime=r),e.includeLabel&&t.label?Qt(s,o,[Qt("span",{"data-meta-label":""},[t.label]),Qt("span",{"data-meta-value":""},[r])]):Qt(s,o,[r])}function i6(n){const{field:e,value:t}=n,r={};e.metaType&&(r["data-meta-type"]=e.metaType);const i=e.tag??"span";return i==="time"&&t&&(r.datetime=t),Qt(i,r,[t])}function $C(n){const e=n.field.splitOn;return!e||!n.value?[n.value].filter(Boolean):n.value.split(e).map(t=>t.trim()).filter(Boolean)}const s6=new Set(["status","category","tag"]);function QC(n){return n.metaType!==void 0&&s6.has(n.metaType)}function o6(n){return Qt("a",{href:n.href??"","data-meta-type":"link"},[n.field.label??n.value])}function a6(n){const e=Math.max(0,parseInt(n.value,10)||0),t=Math.max(0,parseInt(n.ratingTotal??"5",10)||5),r=[];for(let i=0;i<t;i++)r.push(Qt("span",{"data-filled":i<e?"true":"false"},[]));return Qt("span",{"data-meta-type":"rating"},r)}function l6(n){const e=n.field.icon.group,t={};return n.field.metaType&&(t["data-meta-type"]=n.field.metaType),Qt(n.field.tag??"span",t,[Qt("span",{"data-icon-group":e,"data-icon":n.value},[]),Qt("span",{"data-meta-value":""},[n.field.label??n.value])])}function hg(n,e=!1){return n.field.href?o6(n):n.field.rating?a6(n):n.field.icon?l6(n):QC(n.field)?EC(n,{includeLabel:e}):i6(n)}function c6(n,e,t){if(e.length===0)return null;const r=[];for(const{resolved:s,align:o}of e){const a=s.field.splitOn&&s.value?$C(s).map(l=>hg({...s,value:l})):[hg(s)];o==="end"&&a.length>0&&(a[0]={...a[0],attributes:{...a[0].attributes,"data-align":"end"}}),r.push(...a)}const i={"data-name":n,"data-zone":n,"data-zone-layout":"bar"};return t===!1&&(i["data-wrap"]="false"),Qt("div",i,r)}function u6(n,e){if(e.length===0)return null;const t=e.map(r=>{const i=Qt("dt",{"data-meta-label":""},[r.field.label??r.name]);let s;if(r.field.splitOn&&r.value){const o=$C(r).map(a=>hg({...r,value:a}));s=Qt("dd",{"data-multi-value":""},o)}else if(QC(r.field))s=Qt("dd",{},[EC(r,{includeLabel:!1})]);else{const o={};r.field.metaType&&(o["data-meta-type"]=r.field.metaType);const a=r.field.tag==="time"&&r.value?Qt("time",{datetime:r.value},[r.value]):r.value;s=Qt("dd",o,[a])}return Qt("div",{"data-name":"row","data-field":r.name},[i,s])});return Qt("dl",{"data-name":n,"data-zone":n,"data-zone-layout":"definition-list"},t)}function f6(n,e,t,r){const i=n.blocks??{},s=n.layout??{},o=n.metaFields??{},a=f=>{const d=i[f];if(!d)return null;const h=[];for(const m of d.fields){const p=typeof m=="string"?m:m.field,O=typeof m=="string"?void 0:m.align,v=r6(p,o,r);v&&h.push({resolved:v,align:O})}return h.length===0?null:d.layout==="bar"?c6(f,h,d.wrap??!0):u6(f,h.map(m=>m.resolved))};if(Object.keys(s).length===0)return t;const l={layout:s,renderBlock:a},c=s.root;if(c){const f=Array.isArray(c)?c:c.children,d=pg(t),h=new Set,m=Od(f,d,h,l,["root"]),p=t.filter(O=>!(sn(O)&&O.attributes["data-name"]&&h.has(O.attributes["data-name"])));return[...m,...p]}let u=t;for(const[f,d]of Object.entries(s)){const h=Array.isArray(d)?d:d.children;u=m6(u,f,m=>{const p=pg(m),O=new Set,v=Od(h,p,O,l,[f]),b=m.filter(_=>!(sn(_)&&_.attributes["data-name"]&&O.has(_.attributes["data-name"])));return[...v,...b]})}return u}const Z0=new Set;function d6(n){Z0.has(n)||(Z0.add(n),console.warn(`[refrakt] layout reference cycle at "${n}" — skipping to break the loop.`))}const h6=new Set(["accordion-item","tab","tab-panel","breadcrumb-item","juxtapose-panel","bento-cell","definition","step","tier","map-pin","itinerary-day","itinerary-stop"]),F0=new Set;function p6(n,e,t){const r=`${n}<${t??""}`;if(F0.has(r))return;F0.add(r);const i=t?`nested directly in \`${t}\``:"at the top level",s=`[refrakt] \`${n}\` requires parent \`${ks(e)}\` — found ${i}.`;h6.has(n)?console.error(s):console.warn(s)}function pg(n){const e=new Map;for(const t of n)sn(t)&&t.attributes["data-name"]&&e.set(t.attributes["data-name"],t);return e}function Od(n,e,t,r,i){const s=[];for(const o of n){if(t.has(o))continue;if(i.includes(o)){d6(o);continue}const a=r.layout[o];if(a&&!Array.isArray(a)&&a.tag){t.add(o);const u=Od(a.children,e,t,r,[...i,o]);s.push(Qt(a.tag,{"data-name":o,...a.attrs??{}},u));continue}if(a){const u=e.get(o);if(u){t.add(o);const f=Array.isArray(a)?a:a.children,d=pg(u.children),h=new Set,m=Od(f,d,h,r,[...i,o]),p=u.children.filter(O=>!(sn(O)&&O.attributes["data-name"]&&h.has(O.attributes["data-name"])));s.push({...u,children:[...m,...p]});continue}}const l=r.renderBlock(o);if(l){t.add(o),s.push(l);continue}const c=e.get(o);if(c){t.add(o),s.push(c);continue}}return s}function m6(n,e,t){let r=!1;const i=s=>s.map(o=>r||!sn(o)?o:o.attributes["data-name"]===e?(r=!0,{...o,children:t(o.children)}):{...o,children:i(o.children)});return i(n)}const g6=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),O6=new Set(["$$mdtype"]);function LC(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function v6(n){const e=[];for(const[t,r]of Object.entries(n))if(!O6.has(t)&&!(r==null||r===!1)){if(r===!0){e.push(t);continue}e.push(`${t}="${LC(String(r))}"`)}return e.length?" "+e.join(" "):""}function b6(n,e){return Vl(n)}function Vl(n){if(n==null)return"";if(typeof n=="string")return LC(n);if(typeof n=="number")return String(n);if(Array.isArray(n))return n.map(Vl).join("");if(!sn(n))return"";const e=n.name;if(!e)return n.children.map(Vl).join("");const t=v6(n.attributes);if(g6.has(e))return`<${e}${t} />`;const i=n.attributes?.["data-codeblock"]||n.attributes?.["data-raw-html"]?n.children.map(s=>typeof s=="string"?s:Vl(s)).join(""):n.children.map(Vl).join("");return`<${e}${t}>${i}</${e}>`}function y6(n,e,t,r){if(!n)return null;const i=n.endsWith("/")?n.slice(0,-1):n,s=e&&e.length>0?e:"main",o=t.split("/").map(l=>encodeURIComponent(l)).join("/"),a=r?`#${w6(r)}`:"";return`${i}/blob/${s}/${o}${a}`}function w6(n){const e=n.trim(),t=e.indexOf("-");if(t<0)return`L${e}`;const r=e.slice(0,t).trim(),i=e.slice(t+1).trim();return i?`L${r}-L${i}`:`L${r}`}const{Tag:yG}=B;function _6(n,e){if(typeof e=="function")return e(n);const t=typeof e=="string"?{node:e}:e;return!(t.node&&n.type!==t.node||t.descendant&&!Array.from(n.walk()).some(r=>r.type===t.descendant)||t.descendantTag&&!Array.from(n.walk()).some(r=>r.type==="tag"&&r.tag===t.descendantTag))}const{Ast:X0}=B;function*MC(n){yield n;for(const e of n.children)B.Tag.isTag(e)?yield*MC(e):yield e}function qv(n){const e=n?.level,t=n?.include;return r=>{const i=e??r.find(c=>c.type==="heading")?.attributes.level;if(!i)return r;let s;const o=new X0.Node("list"),a=[];let l=[];for(let c=0;c<r.length;c++){const u=r[c];if(u.type==="heading"&&u.attributes.level===i)o.children.push(new X0.Node("item",{},[u])),s=c;else if(s===void 0)a.push(u);else if(!t||t.some(f=>_6(u,f))){const f=o.children.at(-1);f&&f.children.push(u)}else{l=r.slice(c);break}}return o.children.length===0?r:[...a,o,...l]}}class ze{constructor(e){this.nodes=e,this.offset=0}static fromData(e,t){return new ze([new B.Tag(t,{},[e])])}wrap(e,t={}){return new ze([new B.Tag(e,t,this.nodes)])}tag(e){const t=this.nodes.filter(r=>B.Tag.isTag(r)&&r.name===e);return new ze(t)}tags(...e){const t=this.nodes.filter(r=>B.Tag.isTag(r)&&e.includes(r.name));return new ze(t)}headings(){return this.tags("h1","h2","h3","h4","h5","h6")}typeof(e){return new ze(this.nodes.filter(t=>B.Tag.isTag(t)&&t.attributes["data-rune"]===ks(e)))}concat(...e){const t=e.map(r=>r instanceof ze?r.nodes:r).flat();return new ze([...this.nodes,...t])}flatten(){const e=this.nodes.map(t=>B.Tag.isTag(t)?Array.from(MC(t)):t).flat();return new ze(e)}limit(e){return new ze(this.nodes.slice(0,e))}slice(e,t){return new ze(this.nodes.slice(e,t))}toArray(){return this.nodes}count(){return this.nodes.length}next(){return this.nodes[this.offset++]}}function Ne(n){const e=n.rune,t=n.typeof??n.schemaOrgType;if(n.properties&&n.refs){const c=new Set(Object.keys(n.properties)),u=Object.keys(n.refs).filter(f=>c.has(f));if(u.length>0)throw new Error(`Rune "${e}" has naming collisions between properties and refs: ${u.join(", ")}. Properties and refs share a flat namespace (ADR-008) and must have unique names.`)}const r=new Set;for(const c of Object.values(n.schema??{})){if(c===void 0)continue;const u=c instanceof ze?c.nodes:Array.isArray(c)?c:[c];for(const f of u)r.add(f)}const i={},s=new Set;for(const[c,u]of Object.entries(n.properties??{})){if(u===void 0)continue;const f=u instanceof ze?u.nodes:Array.isArray(u)?u:[u],d=[];f.forEach(h=>{if(B.Tag.isTag(h)){const m=h.name==="meta"&&r.has(h);m||(h.attributes["data-field"]=ks(c)),h.name==="meta"&&h.attributes.content!==void 0&&(d.push(h.attributes.content),m||s.add(h))}}),d.length===1?i[c]=d[0]:d.length>1&&(i[c]=d)}for(const[c,u]of Object.entries(n.refs||{})){if(u===void 0)continue;(u instanceof ze?u.nodes:Array.isArray(u)?u:[u]).forEach(d=>{B.Tag.isTag(d)&&(d.attributes["data-name"]=c)})}const o=new Set;for(const[c,u]of Object.entries(n.schema??{})){if(u===void 0)continue;(u instanceof ze?u.nodes:Array.isArray(u)?u:[u]).forEach(d=>{if(B.Tag.isTag(d)){if(d.name==="meta"&&(d.attributes.content===void 0||d.attributes.content==="")){o.add(d);return}d.attributes.property=c}})}const a=(Array.isArray(n.children)?n.children:[n.children]).filter(c=>!o.has(c)&&!s.has(c));return new B.Tag(n.tag,{id:n.id,"data-field":n.property?ks(n.property):n.property,"data-rune":e,typeof:t,class:n.class,...Object.keys(i).length>0?{"data-rune-fields":JSON.stringify(i)}:{}},a)}function k6(n){return n.replace(/<script\b[^>]*>[\s\S]*?<\/script\s*>/gi,"")}function x6(n){let e=n.replace(/\s+on[a-z]+\s*=\s*"[^"]*"/gi,"");return e=e.replace(/\s+on[a-z]+\s*=\s*'[^']*'/gi,""),e=e.replace(/\s+on[a-z]+\s*=\s*[^\s>]+/gi,""),e}function S6(n){return n.replace(/(\s(?:href|src|action|formaction|xlink:href)\s*=\s*)(["'])\s*javascript:[^"']*\2/gi,"$1$2$2")}function A6(n){let e=n.replace(/<iframe\b[^>]*>[\s\S]*?<\/iframe\s*>/gi,"");return e=e.replace(/<object\b[^>]*>[\s\S]*?<\/object\s*>/gi,""),e=e.replace(/<embed\b[^>]*\/?>/gi,""),e=e.replace(/<iframe\b[^>]*\/>/gi,""),e=e.replace(/<object\b[^>]*\/>/gi,""),e}function C6(n,e){if(e.trust==="trusted"||e.allowJs)return n;let t=k6(n);return t=x6(t),t=S6(t),t=A6(t),t}const T6=new WeakMap;function ot(n){return Array.isArray(n)?n:n!=null?[n]:[]}const P6={tint:{type:String,required:!1,description:"Color tint preset applied to this block"},"tint-mode":{type:String,required:!1,matches:["auto","dark","light"],description:"Whether the tint adapts to auto, dark, or light mode"},bg:{type:String,required:!1,description:"Background preset applied to this block"},width:{type:String,required:!1,matches:["compact","narrow","content","wide","full"],description:"Maximum width constraint for this block"},spacing:{type:String,required:!1,matches:["flush","tight","default","loose","breathe"],description:"Vertical spacing above and below this block"},inset:{type:String,required:!1,matches:["flush","tight","default","loose","breathe"],description:"Inner padding of this block"},elevation:{type:String,required:!1,matches:["sunken","flush","flat","raised","floating","overlay","none","sm","md","lg"],description:"Surface depth on the SPEC-107 ladder (sunken→overlay); none/sm/md/lg are deprecated aliases"},prominence:{type:String,required:!1,matches:["quiet","normal","prominent","display"],description:"Section-header emphasis (only on page-section-header family runes)"},reveal:{type:String,required:!1,matches:["none","fade","slide","scale","blur"],description:"Scroll-reveal entrance character (none|fade|slide|scale|blur); the theme owns the choreography"},stagger:{type:Boolean,required:!1,description:"Cascade this block's items in as it reveals (no-op on single-child runes)"},frame:{type:String,required:!1,description:"Named frame preset presenting this block's media surface"},"frame-aspect":{type:String,required:!1,description:'Aspect ratio of the framed media, e.g. "16/9"'},"frame-displace":{type:String,required:!1,matches:["top","bottom","end","bottom-end","top-end"],description:"Edge/corner the framed guest moves toward"},"frame-displace-mode":{type:String,required:!1,matches:["peek","bleed"],description:"How displacement renders: `peek` (default) translates the guest visually inside its frame target; `bleed` uses negative margin on the media zone so following layout pulls up — extends past a section like a hero without leaving a gap above"},"frame-offset":{type:String,required:!1,matches:["none","sm","md","lg","xl","2xl","3xl","4xl"],description:"Displacement distance (non-linear named scale: sm…xl ride the block-spacing tokens, 2xl/3xl/4xl step up to section-spacing for bleed-mode displacements that clear a section edge)"},"frame-oversize":{type:String,required:!1,description:"How far the guest exceeds its slot (scale factor)"},"frame-place":{type:String,required:!1,description:'Guest-box alignment in the slot (e.g. "left top")'},"frame-anchor":{type:String,required:!1,description:"Crop focal point when the guest is cut (object-position)"},"frame-shadow":{type:String,required:!1,matches:["none","sm","md","lg"],description:"Silhouette drop-shadow strength for the framed media"},substrate:{type:String,required:!1,matches:["dots","grid","lines","cross","checker","none"],description:"Generated surface pattern"},"substrate-size":{type:String,required:!1,matches:["sm","md","lg"],description:"Pattern cell size"},"substrate-opacity":{type:String,required:!1,matches:["sm","md","lg"],description:"Pattern ink strength"},"substrate-fill":{type:String,required:!1,matches:["inherit","inset"],description:"Surface fill the pattern sits on (full colour stays with tint)"},"substrate-target":{type:String,required:!1,matches:["self","media"],description:"Which surface the pattern fills (overrides the rune/theme default)"},"bg-gradient":{type:String,required:!1,matches:["to-t","to-b","to-l","to-r","to-tr","to-br","to-bl","to-tl"],description:"Gradient direction (bounded named set)"},"bg-from":{type:String,required:!1,description:"Gradient start colour — a semantic token name (→ var(--rf-color-*))"},"bg-to":{type:String,required:!1,description:"Gradient end colour — a semantic token name"},"bg-via":{type:String,required:!1,description:"Optional middle gradient stop — a semantic token name"},"bg-gradient-type":{type:String,required:!1,matches:["linear","radial","conic"],description:"Gradient type"},scrim:{type:String,required:!1,matches:["top","bottom","left","right","none"],description:'Scrim direction (heaviest edge); presence turns the scrim on, "none" opts out of the default cover scrim'},"scrim-type":{type:String,required:!1,matches:["gradient","frost"],description:"Scrim treatment: gradient (default) or frost (backdrop blur)"},"scrim-strength":{type:String,required:!1,matches:["sm","md","lg"],description:"Gradient scrim strength"},"scrim-blur":{type:String,required:!1,matches:["none","sm","md","lg"],description:"Frost scrim blur amount"},"scrim-tone":{type:String,required:!1,matches:["dark","light"],description:"Whether the scrim darkens (for light text) or lightens (for dark text)"}},E6=["bg-gradient","bg-from","bg-to","bg-via","bg-gradient-type","scrim","scrim-type","scrim-strength","scrim-blur","scrim-tone"],$6=["frame-aspect","frame-displace","frame-displace-mode","frame-offset","frame-oversize","frame-place","frame-anchor","frame-shadow"],Q6=["substrate-size","substrate-opacity","substrate-fill","substrate-target"];function L6(n,e){if(!B.Tag.isTag(n))return n;const t=[];if(e.tintNode){const i=B.transform(e.tintNode,e.config);if(B.Tag.isTag(i))for(const s of i.children)B.Tag.isTag(s)&&s.name==="meta"&&t.push(s)}const r=i=>t.some(s=>B.Tag.isTag(s)&&s.attributes["data-field"]===i);return e.tint&&!r("tint")&&t.push(new B.Tag("meta",{"data-field":"tint",content:e.tint})),e["tint-mode"]&&e["tint-mode"]!=="auto"&&!r("tint-mode")&&t.push(new B.Tag("meta",{"data-field":"tint-mode",content:e["tint-mode"]})),t.length===0||(n.children=[...n.children,...t]),n}function qC(n){const e=Array.isArray(n)?n:[n];for(const t of e){if(!B.Tag.isTag(t))continue;if(t.name==="rf-sandbox")return t;const r=qC(t.children);if(r)return r}}function V0(n){return new B.Tag(n.name,{...n.attributes,"data-bg-guest":"","data-guest-posture":"backdrop","data-height":"fill","data-activation":"eager"},n.children)}const W0=new WeakMap;function M6(n,e,t){const r=`${n.src}\0${n.framework??""}\0${n.dependencies??""}`;let i=W0.get(t);i||(i=new Map,W0.set(t,i));const s=i.get(r);if(s)return V0(s);const o={src:n.src};n.framework&&(o.framework=n.framework),n.dependencies&&(o.dependencies=n.dependencies);const a=new B.Ast.Node("tag",o,[],"sandbox"),l=qC(B.transform(a,e));if(l)return i.set(r,l),V0(l)}function q6(n,e){if(!B.Tag.isTag(n))return n;const t=[],r=[];if(e.bgNode){const s=B.transform(e.bgNode,e.config);if(B.Tag.isTag(s))for(const o of s.children)B.Tag.isTag(o)&&(o.name==="meta"?t.push(o):o.attributes["data-bg-guest"]!==void 0&&r.push(o))}const i=t.some(s=>B.Tag.isTag(s)&&s.attributes["data-field"]==="bg-preset");if(e.bg&&!i&&t.push(new B.Tag("meta",{"data-field":"bg-preset",content:e.bg})),e.bg&&r.length===0){const s=e.config?.variables?.__backgrounds,o=s?.[e.bg];if(o&&s){const a=o.extends?s[o.extends]:void 0,l=o.sandbox||a?.sandbox?{...a?.sandbox,...o.sandbox}:void 0;if(l?.src){const c=M6(l,e.config,s);c&&r.push(c)}}}return t.length===0&&r.length===0||(n.children=[...n.children,...t,...r]),n}function D6(n,e){if(!B.Tag.isTag(n))return n;const t=i=>n.children.some(s=>B.Tag.isTag(s)&&s.name==="meta"&&s.attributes["data-field"]===i),r=[];e.frame&&!t("frame")&&r.push(new B.Tag("meta",{"data-field":"frame",content:String(e.frame)}));for(const i of $6){const s=e[i];s!=null&&s!==""&&!t(i)&&r.push(new B.Tag("meta",{"data-field":i,content:String(s)}))}return r.length===0||(n.children=[...n.children,...r]),n}function R6(n,e){if(!B.Tag.isTag(n))return n;const t=i=>n.children.some(s=>B.Tag.isTag(s)&&s.name==="meta"&&s.attributes["data-field"]===i),r=[];for(const i of E6){const s=e[i];s!=null&&s!==""&&!t(i)&&r.push(new B.Tag("meta",{"data-field":i,content:String(s)}))}return r.length===0||(n.children=[...n.children,...r]),n}function I6(n,e){if(!B.Tag.isTag(n))return n;const t=i=>n.children.some(s=>B.Tag.isTag(s)&&s.name==="meta"&&s.attributes["data-field"]===i),r=[];e.substrate&&!t("substrate")&&r.push(new B.Tag("meta",{"data-field":"substrate",content:String(e.substrate)}));for(const i of Q6){const s=e[i];s!=null&&s!==""&&!t(i)&&r.push(new B.Tag("meta",{"data-field":i,content:String(s)}))}return r.length===0||(n.children=[...n.children,...r]),n}function He(n){const e={};n.base&&Object.assign(e,n.base),n.attributes&&Object.assign(e,n.attributes),Object.assign(e,P6),n.deferBody&&(e["__deferred-body"]={type:String,required:!1});const t=n.deprecations;if(t){for(const[i,s]of Object.entries(t))if(!e[i]){const o=e[s.newName];e[i]={type:o?.type??String,required:!1,deprecated:!0}}}const r={attributes:e,...n.selfClosing!=null&&{selfClosing:n.selfClosing},transform:(i,s)=>{if(t){for(const[m,p]of Object.entries(t))if(i.attributes[m]!==void 0&&i.attributes[p.newName]===void 0){const O=p.transform?p.transform(i.attributes[m],i.attributes):i.attributes[m];O!==void 0&&(i.attributes[p.newName]=O)}}const o=i.transformAttributes(s),a=typeof n.contentModel=="function"?n.contentModel(o):n.contentModel,{content:l,tintNode:c,bgNode:u}=wz(i.children,a,o),f=n.transform(l,o,s,i),d={tintNode:c,bgNode:u,tint:o.tint,"tint-mode":o["tint-mode"],bg:o.bg,config:s},h=q6(L6(f,d),d);return B.Tag.isTag(h)&&(o.width&&(h.attributes.width=o.width),o.spacing&&(h.attributes.spacing=o.spacing),o.inset&&(h.attributes.inset=o.inset),o.elevation&&(h.attributes.elevation=o.elevation),o.prominence&&(h.attributes.prominence=o.prominence),o.reveal&&(h.attributes.reveal=o.reveal),o.stagger&&(h.attributes.stagger=o.stagger)),R6(I6(D6(h,o),o),o)}};return t&&(r.validate=i=>{const s=[];for(const[o,a]of Object.entries(t))i.attributes[o]!==void 0&&s.push({id:"deprecated-attribute",level:"warning",message:`Attribute "${o}" is deprecated. Use "${a.newName}" instead.`});return s}),n.deferBody&&(r.deferBody=!0),T6.set(r,n.contentModel),n.base&&xz.set(r,n.base),r}const{Tag:Bu}=B,N6=He({attributes:{type:{type:String},tag:{type:String},lines:{type:Array},error:{type:Object}},contentModel:{type:"sequence",fields:[]},transform(n,e){const t=e.error,r=new Bu("td",{},[t.id]),i=new Bu("td",{},[e.tag]),s=new Bu("td",{},[t.level]),o=new Bu("td",{},[t.message]);return Ne({rune:"error",tag:"tr",property:"error",properties:{code:r,tag:i,level:s,message:o},children:[i,r,s,o]})}});class B6{validate(e,t,r){return typeof e!="string"?[{id:"attribute-type-invalid",level:"critical",message:`Attribute '${r}' is not a string`}]:[]}}class j6 extends B6{transform(e){return e?e.split(" ").map(t=>t.trim()):[]}}const{Tag:z6}=B,Z6=["row","column","dense","row dense","column dense"];function F6(n,e){return!n||n.length===0?e.map(t=>({colspan:1,rowspan:void 0,children:t})):n.map((t,r)=>{const[i,s]=t.split(":");return{colspan:parseInt(i),rowspan:s?parseInt(s):void 0,children:e[r]}}).filter(t=>t.children!==void 0)}function X6(n){const e=n.items.map(({children:r,colspan:i,rowspan:s})=>r.wrap("div",{"data-colspan":i,"data-rowspan":s}).toArray()).flat(),t={"data-layout":"grid","data-columns":n.columns,"data-rows":n.rows,"data-flow":n.flow};return new z6("div",t,e)}const{Tag:$s}=B,V6=["columns","auto","masonry"],W6=He({attributes:{columns:{type:Number,required:!1,description:"Number of grid columns"},rows:{type:Number,required:!1,description:"Number of grid rows"},flow:{type:String,required:!1,matches:Z6.slice(),description:"Direction items fill the grid"},spans:{type:j6,required:!1,description:"Column span widths for each cell (space-separated)"},ratio:{type:String,required:!1,description:'Column width ratio (e.g. "2 1 1")'},gap:{type:String,required:!1,matches:["none","tight","default","loose"],description:"Space between grid cells"},valign:{type:String,required:!1,matches:["top","center","bottom","stretch","baseline"],description:"Vertical alignment of cell content"},collapse:{type:String,required:!1,matches:["sm","md","lg","never"],description:"Breakpoint at which grid collapses to a single column"},mode:{type:String,required:!1,matches:["columns","auto","masonry"],default:"columns",description:"Grid sizing: fixed columns, auto-fit, or masonry"},min:{type:String,required:!1,description:"Minimum cell width for auto-fit mode"},aspect:{type:String,required:!1,description:"Aspect ratio for grid cells"},stack:{type:String,required:!1,matches:["natural","reverse"],description:"Stacking order when collapsed"}},contentModel:{type:"delimited",delimiter:"hr",dynamicZones:!0,zoneModel:{type:"sequence",fields:[{name:"content",match:"any",greedy:!0,optional:!0}]}},deprecations:{layout:{newName:"spans",transform:(n,e)=>{if(typeof n=="string"&&V6.includes(n)){e.mode=n;return}return n}}},transform(n,e,t){const i=(n.zones??[]).map(p=>new ze(B.transform(ot(p.content),t))),s=X6({items:F6(e.spans,i),rows:e.rows,columns:e.columns,flow:e.flow}),o=e.ratio?new $s("meta",{content:e.ratio}):void 0,a=e.gap&&e.gap!=="default"?new $s("meta",{content:e.gap}):void 0,l=e.valign?new $s("meta",{content:e.valign}):void 0,c=e.collapse?new $s("meta",{content:e.collapse}):void 0,u=e.mode&&e.mode!=="columns"?new $s("meta",{content:e.mode}):void 0,f=e.min?new $s("meta",{content:e.min}):void 0,d=e.aspect?new $s("meta",{content:e.aspect}):void 0,h=e.stack?new $s("meta",{content:e.stack}):void 0,m=[o,a,l,c,u,f,d,h].filter(Boolean);return Ne({rune:"grid",tag:"section",children:[...m,s],properties:{...u?{mode:u}:{},ratio:o,gap:a,valign:l,collapse:c,...f?{min:f}:{},...d?{aspect:d}:{},...h?{stack:h}:{}},refs:{cell:new ze(s.children).tag("div")}})}}),{Tag:El}=B,Y6={js:"JavaScript",ts:"TypeScript",py:"Python",rb:"Ruby",rs:"Rust",go:"Go",sh:"Shell",bash:"Bash",zsh:"Zsh",shell:"Shell",html:"HTML",css:"CSS",json:"JSON",yaml:"YAML",sql:"SQL",swift:"Swift",kt:"Kotlin",java:"Java",cpp:"C++",c:"C",cs:"C#",php:"PHP"};function U6(n){return Y6[n]||n.charAt(0).toUpperCase()+n.slice(1)}function G6(n){if(!n)return"";const e=n.endsWith("/")?n.slice(0,-1):n,t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function H6(n,e){if(!n)return"";const t=G6(n);return t?e?`${t}:${e}`:t:""}const K6=["scroll","wrap","hide"],J6=He({attributes:{title:{type:String,required:!1,description:"Title displayed above the code group"},labels:{type:String,required:!1,description:"Comma-separated custom tab labels"},overflow:{type:String,required:!1,matches:K6.slice(),description:"How overflowing code is handled"}},contentModel:{type:"sequence",fields:[{name:"panels",match:"fence",greedy:!0}]},transform(n,e,t){const r=e.labels?.split(",").map(p=>p.trim())??[],i={},s=[];if(e.title!==void 0){const p=new El("meta",{content:e.title});i.title=p,s.push(p)}const o=e.overflow;if(o&&o!=="scroll"){const p=new El("meta",{content:o});i.overflow=p,s.push(p)}const a=ot(n.panels);if(a.length===1&&r.length===0){const p=B.transform(a[0],t);return s.push(p),Ne({rune:"code-group",tag:"section",properties:i,refs:{},children:s})}const c=[],u=[];for(const p of a){const O=p.attributes.language||"shell",v=typeof p.attributes.label=="string"?p.attributes.label:"",b=H6(typeof p.attributes.source=="string"?p.attributes.source:void 0,typeof p.attributes.lines=="string"?p.attributes.lines:void 0),_=r[c.length]||v||b||U6(O),A=new El("span",{},[_]);c.push(new El("button",{"data-name":"tab",role:"tab"},[A]));const w=B.transform(p,t);u.push(new El("div",{role:"tabpanel"},[w]))}const f=new ze(c),d=new ze(u),h=f.wrap("div",{role:"tablist"}),m=d.wrap("div");return s.push(h.next(),m.next()),Ne({rune:"code-group",tag:"section",properties:i,refs:{tabs:h,panels:m,panel:d},children:s})}}),e8=He({attributes:{path:{type:String,required:!0,description:"Path to the source file, relative to the project root. Rejected if it escapes the root."},lines:{type:String,required:!1,description:'Line range. Formats: "10-25", "10-" (to EOF), "-20" (from start), "10" (single line). 1-indexed, inclusive.'},lang:{type:String,required:!1,description:"Syntax-highlighting language hint. Overrides the extension-based inference."},linenumbers:{type:Boolean,required:!1,description:'Show line numbers in the gutter. Starting number derives from the `lines` range start (e.g. lines="74-125" → first line is 74), so numbers reflect the file\'s real offsets. WORK-304.'},highlight:{type:String,required:!1,description:'Range(s) to emphasize without cropping — Shiki-style format: "74-78", "74-78,82,90-92". Indices are file coordinates (same frame as `lines=`). Use this when you want full context visible but want to draw the eye to specific lines. WORK-304.'}},contentModel:{type:"sequence",fields:[]},transform(n,e){throw new Error("snippet rune reached the transform phase — its preprocess hook was not wired through. Ensure the content pipeline runs registered `preprocess` hooks before `Markdoc.transform` (snippet pre-resolves to a Markdoc `fence` node; see SPEC-062 § Composition).")}}),{Tag:t8}=B,n8=["caution","check","note","warning"],r8=He({attributes:{type:{type:String,matches:n8.slice(),errorLevel:"critical",description:"Visual style: caution, check, note, or warning"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new t8("meta",{content:e.type??"note"}),s=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"hint",tag:"section",property:"contentSection",properties:{hintType:r},refs:{body:s.tag("div")},children:[r,s.next()]})}}),DC={"media-position":{type:String,required:!1,matches:["top","bottom","start","end","cover"],description:"Where the media zone sits relative to the content: above (top), below (bottom), or beside (start/end)"},"media-ratio":{type:String,required:!1,matches:["1/3","2/5","1/2","3/5","2/3"],description:"Media zone’s share of the row width when media is beside content (start/end)"},valign:{type:String,required:!1,matches:["top","center","bottom","stretch"],description:"Cross-axis alignment when media is beside content (start/end); applies to the shorter zone"},collapse:{type:String,required:!1,matches:["sm","md","lg","never"],description:"Breakpoint at which side-by-side layouts collapse to a single stacked column"}};kz(DC,{name:"split layout",description:"Layout controls shared by media+content runes — `media-position`, `media-ratio`, `valign`, `collapse`."});const i8=DC;He({contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=n.body?Array.isArray(n.body)?n.body:[n.body]:[],i=new ze(B.transform(r,{...t,nodes:{...t.nodes,text:{transform(s){return new B.Tag("span",{},[s.attributes.content])}}}}));return new B.Tag("li",{},i.toArray())}});function s8(n){const e=n["media-position"]||"top",t=n["media-ratio"],r=n.valign,i=n.collapse,s=e==="start"||e==="end",o=new B.Tag("meta",{content:e}),a=s&&t?new B.Tag("meta",{content:t}):void 0,l=s&&r?new B.Tag("meta",{content:r}):void 0,c=i?new B.Tag("meta",{content:i}):void 0,u=[o];return a&&u.push(a),l&&u.push(l),c&&u.push(c),{metas:{mediaPosition:o,mediaRatio:a,valign:l,collapse:c},children:u}}function o8(n){const e=[[]];for(const t of n)t.type==="hr"?e.push([]):e[e.length-1].push(t);return e.length===1?{media:[],body:e[0],footer:[]}:e.length===2?{media:e[0],body:e[1],footer:[]}:{media:e[0],body:e.slice(1,-1).flat(),footer:e[e.length-1]}}function RC(n){return B.Tag.isTag(n)&&n.name==="svg"&&/\b(rf-placeholder|rf-icon)\b/.test(String(n.attributes?.class??""))}function Dc(n){return B.Tag.isTag(n)&&(n.name==="img"||n.name==="video"||RC(n))}function a8(n){for(const e of n.toArray()){if(Dc(e))return e;if(B.Tag.isTag(e)&&e.name==="p"){const t=e.children.find(r=>Dc(r));if(t)return t}}}function l8(n){return n.map(e=>B.Tag.isTag(e)&&e.name==="p"&&e.children.length===1&&B.Tag.isTag(e.children[0])&&(e.children[0].name==="img"||e.children[0].attributes?.["data-rune"]||RC(e.children[0]))?e.children[0]:e)}function vl(n){const e=n.nodes,t=c=>B.Tag.isTag(c)&&/^h[1-6]$/.test(c.name),r=c=>B.Tag.isTag(c)&&c.name==="p",i=e.findIndex(t);if(i===-1)return{eyebrow:void 0,headline:void 0,image:n.tag("img").limit(1),blurb:e.find(r)};const s=e.slice(0,i).findIndex(r);let o,a;if(s!==-1)o=e[s],a=i;else{const c=e.findIndex((u,f)=>f>i&&t(u));c!==-1?(o=e[i],a=c):(o=void 0,a=i)}const l=e.findIndex((c,u)=>u>a&&r(c));return{eyebrow:o,headline:e[a],image:n.tag("img").limit(1),blurb:l!==-1?e[l]:void 0}}const{Ast:IC,Tag:c8}=B,u8=He({attributes:{name:{type:String,required:!0},image:{type:String,required:!1}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){let r=new ze([]);e.image&&(r=r.concat(B.transform(new IC.Node("image",{src:e.image}),t))),r=r.concat(new c8("span",{},[e.name??""]));const i=new ze(B.transform(ot(n.body),t)),s=r.tag("span"),o=r.tag("svg");return[Ne({rune:"tab",tag:"button",properties:{image:o},refs:{name:s},children:r.toArray()}),Ne({rune:"tab-panel",tag:"div",properties:{},children:i.toArray()})]}});function f8(n){const e=qv()(n),t=e.length-1;if(!e[t]||e[t].type!=="list")return n;const r=e[t].children.map(i=>{const s=i.children[0],o=Array.from(s.walk()).find(l=>l.type==="image"),a=Array.from(s.walk()).filter(l=>l.type==="text").map(l=>l.attributes.content);return new IC.Node("tag",{name:a,image:o?o.attributes.src:void 0},i.children.slice(1),"tab")});return e.splice(t,1,...r),e}const d8=He({attributes:{},contentModel:()=>({type:"custom",processChildren:n=>f8(n),description:"Converts headings at the specified level to tab tags, extracting tab name and optional image from heading content."}),transform(n,e,t){const r=ot(n.children),i=[],s=[];for(const h of r)h.type==="tag"&&h.tag==="tab"?s.push(h):(h.type==="heading"||h.type==="paragraph")&&i.push(h);const o=new ze(B.transform(i,t)),a=new ze(B.transform(s,t)),l=a.tag("button").typeof("Tab"),c=a.tag("div").typeof("TabPanel"),u=l.wrap("div",{role:"tablist"}),f=c.wrap("div"),d=o.count()>0?[o.wrap("header").next(),u.next(),f.next()]:[u.next(),f.next()];return Ne({rune:"tab-group",tag:"section",class:e.class,property:"contentSection",properties:{},refs:{...vl(o),tabs:u,panels:f},children:d})}}),NC="__nav-auto",BC="auto";function Dv(n){return B.Tag.isTag(n)&&(n.name==="ul"||n.name==="ol")}const h8=He({contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),{...t,nodes:{...t.nodes,text:{transform(O){return new B.Tag("span",{"data-field":"slug"},[O.attributes.content])}}}})),i=r.tag("a").toArray(),s=r.tag("span"),o=r.tag("ul"),a=r.toArray().filter(O=>B.Tag.isTag(O)&&O.attributes?.["data-rune"]==="badge"),l=r.tag("p").toArray(),c=[],u=[];for(const O of l)O.children.some(b=>B.Tag.isTag(b)&&b.name==="a")?c.push(O):u.push(O);const f=c.flatMap(O=>O.children.filter(v=>B.Tag.isTag(v)&&v.name==="a")),d=[...i,...f],h=u.flatMap(O=>O.children),m=h.length>0?new B.Tag("span",{"data-name":"description",class:"rf-nav-item__description"},h):void 0;if(d.length>0){const O=m?d.map(b=>({...b,children:[...b.children??[],m]})):d,v=[];if(a.length>0){for(const b of a)b.attributes["data-name"]="badge";v.push(...a)}return Ne({rune:"nav-item",tag:"li",properties:m?{description:m}:{},children:[...O,...v]})}const p=[];if(s.count()>0&&p.push(...s.toArray()),m&&p.push(m),a.length>0){for(const O of a)O.attributes["data-name"]="badge";p.push(...a)}return o.count()>0&&p.push(...o.toArray()),Ne({rune:"nav-item",tag:"li",properties:{slug:s,...m?{description:m}:{},children:o.count()>0?o.flatten().tag("li"):void 0},children:p})}});function p8(n){const e=[],t=[];let r=null;const i=()=>{r&&(t.push(r),r=null)};for(const s of n){if(B.Tag.isTag(s)&&/^h[1-6]$/.test(s.name)){i(),r={kind:"group",heading:s,children:[]};continue}if(B.Tag.isTag(s)&&s.name==="hr"){r&&i(),t.push({kind:"column-break"});continue}if(!r){B.Tag.isTag(s)&&Dv(s)&&e.push(...s.children.filter(o=>B.Tag.isTag(o)&&o.name==="li"));continue}r.children.push(s)}return i(),{topLevel:e,sequence:t}}function m8(n){const e=u=>B.Tag.isTag(u)?u.name==="ul"||u.name==="ol"?!0:!!u.attributes?.["data-rune"]:!1,t=u=>B.Tag.isTag(u)&&!e(u);let r=-1,i=-1;n.forEach((u,f)=>{e(u)&&(r===-1&&(r=f),i=f)});let s,o;if(r!==-1){for(let u=0;u<r;u++)if(t(n[u])){s=u;break}for(let u=n.length-1;u>i;u--)if(t(n[u])){o=u;break}}else{const u=[];n.forEach((f,d)=>{t(f)&&u.push(d)}),u.length===1?s=u[0]:u.length>=2&&(s=u[0],o=u[u.length-1])}const a=s!==void 0?n[s]:void 0,l=o!==void 0?n[o]:void 0,c=[];return n.forEach((u,f)=>{f===s||f===o||c.push(u)}),{intro:a,body:c,footer:l}}function g8(n){const{intro:e,body:t,footer:r}=m8(n.children),i=[];for(const a of t)B.Tag.isTag(a)&&Dv(a)&&i.push(...a.children.filter(l=>B.Tag.isTag(l)&&l.name==="li"));const s=[];e&&s.push(new B.Tag("div",{"data-name":"intro"},[e])),s.push(...t),r&&s.push(new B.Tag("div",{"data-name":"footer"},[r]));const o=[n.heading];return s.length>0&&o.push(new B.Tag("div",{"data-name":"panel"},s)),Ne({rune:"nav-group",tag:"section",properties:{title:n.heading,item:i},children:o})}function O8(n){const e=[];let t=[];for(const r of n)r.kind==="column-break"?(t.length>0&&e.push(t),t=[]):t.push(r);return t.length>0&&e.push(t),e}const v8=He({attributes:{ordered:{type:Boolean,required:!1,description:"Use numbered list for navigation items"},auto:{type:Boolean,required:!1,description:"Automatically generate from child pages"},layout:{type:String,required:!1,matches:["vertical","menubar","columns","cards","strip"],description:"Presentation layout: sidebar (vertical), horizontal menubar (header), column grid (footer), cards (section landing), or strip (compact secondary nav). Defaults to vertical."},collapsible:{type:Boolean,required:!1,description:"Make each group collapsible. The group containing the current page auto-expands; others start collapsed. Only meaningful for vertical layout."},defaultOpen:{type:String,required:!1,description:"Comma-separated group titles to expand by default, overriding the URL-driven auto-open behaviour."}},contentModel:{type:"custom",processChildren:n=>qv({level:1})(n),description:"Top-level (#) headings become nav groups; the list directly under each heading becomes the group's items. Items are page slugs — wrap in markdown links to set custom labels, or use plain text to resolve the page title. Without headings, a single list becomes a flat nav."},transform(n,e,t){const r=!!e.collapsible,i=t.variables?.__sourcePath,s=O=>{if(e.layout&&(O.attributes.layout=e.layout),i&&(O.attributes["data-source-path"]=i),e.auto&&(O.attributes["data-auto"]="true"),r){O.attributes["data-collapsible"]="true";const v=O.attributes.class??"";O.attributes.class=[v,"rf-nav--collapsible"].filter(Boolean).join(" "),typeof e.defaultOpen=="string"&&e.defaultOpen.trim()&&(O.attributes["data-default-open"]=e.defaultOpen.trim())}return O},o=O=>e.layout==="menubar"?[new B.Tag("button",{"data-name":"trigger",type:"button","aria-label":"Toggle navigation","aria-expanded":"false"},[]),...O]:O;if(e.auto){const O=new B.Tag("meta",{"data-field":NC,content:"true"});return s(Ne({rune:"nav",tag:"nav",properties:{group:[],item:[]},children:o([O])}))}const a=new ze(B.transform(ot(n.children),{...t,nodes:{...t.nodes,item:h8,list:{transform(O,v){return new B.Tag("ul",{},O.transformChildren(v))}}}}));if(e.layout==="strip"){const O=a.flatten().tag("li");return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:[],item:O},children:a.toArray()}))}const{topLevel:l,sequence:c}=p8(a.toArray()),u=c.filter(O=>O.kind==="group"),f=u.length>0,d=c.some(O=>O.kind==="column-break");if(!f){if(e.layout==="columns"&&d){const v=[];let b=[];const _=()=>{b.length>0&&(v.push([new B.Tag("ul",{},b)]),b=[])};for(const y of a.toArray()){if(B.Tag.isTag(y)&&y.name==="hr"){_();continue}B.Tag.isTag(y)&&Dv(y)&&b.push(...y.children.filter(S=>B.Tag.isTag(S)&&S.name==="li"))}_();const A=v.map(y=>new B.Tag("div",{"data-name":"column"},y)),w=a.flatten().tag("li");return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:[],item:w},children:o(A)}))}const O=a.flatten().tag("li");return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:[],item:O},children:o(a.toArray())}))}const h=u.map(g8);if(r)for(const O of h)O.attributes["data-collapsed"]=BC;const m=l.length>0?new B.Tag("div",{"data-name":"top-level"},[new B.Tag("ul",{},l)]):null,p=h.flatMap(O=>{const v=[],b=_=>{if(B.Tag.isTag(_)){if(_.name==="li"){v.push(_);return}for(const A of _.children)b(A)}};for(const _ of O.children)b(_);return v});if(e.layout==="columns"&&d){const O=O8(c),v=new Map(u.map((_,A)=>[_,h[A]])),b=O.map(_=>new B.Tag("div",{"data-name":"column"},_.map(A=>v.get(A)).filter(Boolean)));return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:h,item:[...l,...p]},children:o(m?[m,...b]:b)}))}return s(Ne({rune:"nav",tag:"nav",class:e.ordered?"ordered":void 0,properties:{group:h,item:[...l,...p]},children:o(m?[m,...h]:h)}))}}),{Tag:b8}=B,y8=["replace","prepend","append"],w8=He({attributes:{name:{type:String,required:!0,description:"Name of the layout region to fill"},mode:{type:String,required:!1,matches:y8.slice(),errorLevel:"critical",default:"replace",description:"How content is placed: replace, prepend, or append"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",greedy:!0,optional:!0}]},transform(n,e,t){const r=B.transform(ot(n.body),t);return new b8("div",{"data-region":e.name,"data-mode":e.mode},r)}}),{Tag:_8}=B,k8=He({attributes:{extends:{type:String,required:!1,default:"parent",description:"Layout inheritance: parent or none"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",greedy:!0,optional:!0}]},transform(n,e,t){const r=B.transform(ot(n.body),t);return new _8("div",{"data-layout-def":!0,"data-extends":e.extends},r)}}),{Tag:x8}=B,S8=He({attributes:{summary:{type:String,required:!1,description:"Clickable summary text shown when collapsed"},open:{type:Boolean,required:!1,description:"Expand the details section by default"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.summary||"Details",s=new x8("summary",{},[i]),o=r.wrap("div"),a=Ne({rune:"details",tag:"details",properties:{summary:s},refs:{body:o.tag("div")},children:[s,o.next()]});return e.open&&(a.attributes.open=!0),a}}),{Tag:co}=B,mg="data-drawer-title-auto",A8=["right","left","top","bottom"],C8=["sm","md","lg"];function T8(n){const e=n.findIndex(t=>t.type==="hr");return e<0?{body:n,footer:null}:{body:n.slice(0,e),footer:n.slice(e+1)}}const P8=He({attributes:{id:{type:String,required:!0,description:'Stable id for the drawer. Used in entity registration and as the `id="drawer-{value}"` on the rendered element so xref triggers can target it via fragment.'},title:{type:String,required:!1,description:"Panel heading text. Rendered in the drawer header (or as a heading in the no-JS in-flow rendering)."},headingLevel:{type:Number,required:!1,description:"Heading level (1-6) for the title. When omitted, the level is auto-detected from outline position (one deeper than the nearest preceding heading). Out-of-range values are clamped to the 1-6 range."},shortcut:{type:String,required:!1,description:'Keyboard shortcut that opens the drawer when behaviors are loaded (e.g. ".", "cmd+k"). Surfaces as `data-shortcut`; the progressive-enhancement layer wires the listener.'},side:{type:String,required:!1,matches:A8.slice(),description:'Edge the panel slides from when enhanced. Defaults to "right".'},size:{type:String,required:!1,matches:C8.slice(),description:'Panel size. "sm" / "md" (default) / "lg" — width for left/right sides, height for top/bottom.'}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=e.id,i=e.title,s=e.side??"right",o=e.size??"md",a=typeof e.headingLevel=="number"?Math.min(6,Math.max(1,Math.trunc(e.headingLevel))):void 0,l=i?a?new co(`h${a}`,{},[i]):new co("h3",{[mg]:"true"},[i]):void 0,c=new co("button",{type:"button","aria-label":"Close",hidden:!0},["×"]),u=[];l&&u.push(l),u.push(c);const f=new co("header",{},u),d=T8(ot(n.body)),h=new ze(B.transform(d.body,t)).wrap("div"),m=d.footer!==null?new ze(B.transform(d.footer,t)).wrap("footer"):null,p={side:new co("meta",{content:s}),size:new co("meta",{content:o})};e.shortcut&&(p.shortcut=new co("meta",{content:e.shortcut}));const O=Ne({rune:"drawer",tag:"section",id:`drawer-${r}`,properties:p,refs:{header:f,...l?{title:l}:{},close:c,body:h.tag("div"),...m?{footer:m.tag("footer")}:{}},children:[...Object.values(p),f,h.next(),...m?[m.next()]:[]]});return O.attributes["data-drawer-id"]=r,O}}),{Tag:ju}=B,E8=["small","medium","large","full"],$8=["left","center","right"],Q8=He({attributes:{size:{type:String,required:!1,matches:E8.slice(),description:"Display width of the figure"},align:{type:String,required:!1,matches:$8.slice(),description:"Horizontal alignment of the figure"},caption:{type:String,required:!1,description:"Caption text displayed below the figure"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=r.flatten().toArray().filter(f=>Dc(f)),s=r.tag("p").toArray().filter(f=>{const d=(f.children||[]).filter(h=>B.Tag.isTag(h));return!(d.length===1&&Dc(d[0]))}),o=e.caption||void 0,a=o?new ju("figcaption",{},[o]):s.length>0?new ju("figcaption",{},[s[0]]):void 0,l=e.size?new ju("meta",{content:e.size}):void 0,c=e.align?new ju("meta",{content:e.align}):void 0,u=[...i];return a&&u.push(a),l&&u.push(l),c&&u.push(c),Ne({rune:"figure",schemaOrgType:"ImageObject",tag:"figure",properties:{...l?{size:l}:{},...c?{align:c}:{}},refs:{...a?{caption:a}:{}},schema:{...i.length>0?{contentUrl:i[0]}:{},...a?{caption:a}:{}},children:u})}}),{Tag:uo}=B,L8=["grid","carousel","masonry"],M8=He({attributes:{layout:{type:String,required:!1,matches:L8.slice(),description:"Arrangement of images in the gallery"},columns:{type:Number,required:!1,description:"Number of columns in grid layout"},lightbox:{type:Boolean,required:!1,description:"Allow clicking images to view full-size"},caption:{type:String,required:!1,description:"Caption text displayed below the gallery"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.layout??"grid",s=e.columns??3,o=e.lightbox??!0,a=e.caption??"",c=r.flatten().toArray().filter(v=>Dc(v)).map(v=>{const b=v.attributes?.alt||v.attributes?.["aria-label"]||"",_=[v];return b&&_.push(new uo("figcaption",{},[b])),new uo("figure",{"data-name":"item"},_)}),u=new uo("meta",{content:i}),f=new uo("meta",{content:String(o)}),d=s!==3?new uo("meta",{content:String(s)}):void 0,h=a?new uo("figcaption",{},[a]):void 0,m=new uo("div",{"data-name":"items"},c),O=[...[u,f,d].filter(Boolean),m];return h&&O.push(h),Ne({rune:"gallery",schemaOrgType:"ImageGallery",tag:"figure",properties:{layout:u,lightbox:f,...d?{columns:d}:{},...h?{caption:h}:{}},children:O})}}),{Tag:Tp}=B,q8=He({attributes:{name:{type:String,required:!0}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new Tp("summary",{},[e.name??""]),i=new ze(B.transform(ot(n.body),t)).wrap("div"),s=i.tag("div");for(const o of s.nodes)Tp.isTag(o)&&(o.attributes.typeof="Answer",o.children=[new Tp("div",{property:"text"},o.children)]);return Ne({rune:"accordion-item",schemaOrgType:"Question",tag:"details",properties:{name:r},refs:{body:s},schema:{name:r,acceptedAnswer:s},children:[r,i.next()]})}}),D8=He({attributes:{multiple:{type:Boolean,required:!1,description:"Allow multiple panels to be open at once"}},contentModel:()=>({type:"sections",sectionHeading:"heading",emitTag:"accordion-item",emitAttributes:{name:"$heading"},fields:[{name:"header",match:"heading|paragraph",optional:!0,greedy:!0},{name:"items",match:"tag",optional:!0,greedy:!0}],sectionModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]}}),transform(n,e,t){const r=new ze(B.transform(ot(n.header),t)),i=[...ot(n.items),...ot(n.sections)],o=new ze(B.transform(i,t)).tag("details").typeof("AccordionItem"),a=o.wrap("div"),l=r.count()>0?[r.wrap("header").next(),a.next()]:[a.next()];return Ne({rune:"accordion",schemaOrgType:"FAQPage",tag:"section",property:"contentSection",properties:{item:o},refs:{...vl(r),items:a},schema:{mainEntity:o},children:l})}}),{Tag:$l}=B,R8=He({attributes:{depth:{type:Number,required:!1,default:3,description:"Maximum heading depth to include"},ordered:{type:Boolean,required:!1,default:!1,description:"Use numbered list instead of bullets"}},contentModel:{type:"sequence",fields:[]},transform(n,e,t){const r=t.variables?.headings||[],i=e.depth+1,o=r.filter(u=>u.level>=2&&u.level<=i).map(u=>new $l("li",{"data-level":u.level},[new $l("a",{href:`#${u.id}`},[u.text])])),a=new $l("ul",{},o),l=new $l("meta",{content:e.depth}),c=new $l("meta",{content:e.ordered});return Ne({rune:"table-of-contents",tag:"nav",properties:{depth:l,ordered:c},refs:{list:a},children:[l,c,a]})}}),{Tag:sa}=B,I8=["16:9","4:3","1:1","auto"];function N8(n){try{const e=new URL(n),t=e.hostname.replace("www.","");if(t==="youtube.com"||t==="youtu.be"){let r="";return t==="youtu.be"?r=e.pathname.slice(1):r=e.searchParams.get("v")||"",{provider:"youtube",embedUrl:r?`https://www.youtube-nocookie.com/embed/${r}`:n,type:"video"}}if(t==="vimeo.com")return{provider:"vimeo",embedUrl:`https://player.vimeo.com/video/${e.pathname.slice(1)}`,type:"video"};if(t==="twitter.com"||t==="x.com")return{provider:"twitter",embedUrl:n,type:"tweet"};if(t==="codepen.io")return{provider:"codepen",embedUrl:n.replace("/pen/","/embed/"),type:"codepen"};if(t==="open.spotify.com")return{provider:"spotify",embedUrl:n.replace("open.spotify.com/","open.spotify.com/embed/"),type:"spotify"}}catch{}return{provider:"generic",embedUrl:n,type:"generic"}}const B8=He({attributes:{url:{type:String,required:!0,description:"URL of the content to embed"},type:{type:String,required:!1,description:"Override auto-detected embed type"},aspect:{type:String,required:!1,matches:I8.slice(),description:"Aspect ratio of the embed frame"},title:{type:String,required:!1,description:"Accessible title for the embed iframe"}},contentModel:{type:"sequence",fields:[{name:"fallback",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=e.url??"",i=N8(r),s=e.aspect??"16:9",o=e.title||"Embedded content",[a,l]=s.split(":").map(Number),c=l&&a?l/a*100:56.25,u=new sa("meta",{content:r}),f=new sa("meta",{content:e.title??""}),d=new sa("meta",{content:i.embedUrl}),h=new sa("meta",{content:i.provider}),m=new ze(B.transform(ot(n.fallback),t)).wrap("div"),p=m.tag("div"),O=[u,f,d];let v;if(i.embedUrl){const b=new sa("iframe",{src:i.embedUrl,title:o,frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"",loading:"lazy"},[]);v=new sa("div",{style:`padding-bottom: ${c}%`},[b]),O.push(v)}return O.push(m.next()),Ne({rune:"embed",schemaOrgType:"VideoObject",tag:"figure",properties:{provider:h},refs:{...v?{wrapper:v}:{},fallback:p},schema:{name:f,contentUrl:u,embedUrl:d},children:O})}}),{Tag:gi}=B,jC="__breadcrumb-auto",j8=He({attributes:{separator:{type:String,required:!1,default:"/",description:"Character between breadcrumb items"},auto:{type:Boolean,required:!1,default:!1,description:"Automatically generate from page hierarchy"}},contentModel:n=>n.auto?{type:"sequence",fields:[]}:{type:"sequence",fields:[{name:"list",match:"list",optional:!0,greedy:!0}]},transform(n,e,t){const r=new gi("meta",{content:e.separator});if(e.auto){const l=new gi("meta",{"data-field":jC,content:"true"}),c=new gi("ol",{},[]);return Ne({rune:"breadcrumb",schemaOrgType:"BreadcrumbList",tag:"nav",properties:{separator:r},refs:{items:c},children:[r,l,c]})}const i=new ze(B.transform(ot(n.list),t)),s=[];let o=0;for(const l of i.toArray())if(gi.isTag(l)&&(l.name==="ul"||l.name==="ol")){for(const c of l.children)if(gi.isTag(c)&&c.name==="li"){o++;const u=new gi("meta",{content:o}),f=c.children.find(d=>gi.isTag(d)&&d.name==="a");if(f){const d=new gi("span",{hidden:!0},f.children),h=new gi("a",{href:f.attributes.href},f.children);s.push(Ne({rune:"breadcrumb-item",schemaOrgType:"ListItem",tag:"li",properties:{name:d,url:h},schema:{name:d,item:h,position:u},children:[d,h,u]}))}else{const d=c.children.filter(m=>typeof m=="string").join("").trim(),h=new gi("span",{},d?[d]:c.children);s.push(Ne({rune:"breadcrumb-item",schemaOrgType:"ListItem",tag:"li",properties:{name:h},schema:{name:h,position:u},children:[h,u]}))}}}const a=new gi("ol",{},s);return Ne({rune:"breadcrumb",schemaOrgType:"BreadcrumbList",tag:"nav",properties:{separator:r},refs:{items:a},schema:{itemListElement:s},children:[r,a]})}}),{Tag:Ii}=B,gg="__pagination-auto",z8=He({attributes:{auto:{type:Boolean,required:!1,default:!1,description:"Derive prev/next from sibling page order"},prev:{type:String,required:!1,description:"Explicit previous page (slug or URL)"},next:{type:String,required:!1,description:"Explicit next page (slug or URL)"},scope:{type:String,required:!1,matches:["siblings","section"],default:"siblings",description:"Auto-mode scope: direct siblings, or all pages in the current top-level section"},"prev-label":{type:String,required:!1,description:"Override label for the previous link"},"next-label":{type:String,required:!1,description:"Override label for the next link"}},contentModel:{type:"sequence",fields:[]},selfClosing:!0,transform(n,e,t){if(e.auto){const i=new Ii("meta",{"data-field":gg,content:"true"}),s=e.scope?new Ii("meta",{"data-field":"scope",content:String(e.scope)}):null,o=e["prev-label"]?new Ii("meta",{"data-field":"prev-label",content:String(e["prev-label"])}):null,a=e["next-label"]?new Ii("meta",{"data-field":"next-label",content:String(e["next-label"])}):null,l=[i,s,o,a].filter(Boolean);return Ne({rune:"pagination",tag:"nav",children:l})}const r=[];if(e.prev){const s=String(e.prev).startsWith("/")||/^[a-z]+:\/\//i.test(String(e.prev))?String(e.prev):`__slug:${e.prev}`,o=e["prev-label"]??String(e.prev);r.push(new Ii("a",{href:s,"data-direction":"prev","data-name":"prev"},[new Ii("span",{"data-name":"marker"},["←"]),new Ii("span",{"data-name":"label"},[o])]))}if(e.next){const s=String(e.next).startsWith("/")||/^[a-z]+:\/\//i.test(String(e.next))?String(e.next):`__slug:${e.next}`,o=e["next-label"]??String(e.next);r.push(new Ii("a",{href:s,"data-direction":"next","data-name":"next"},[new Ii("span",{"data-name":"label"},[o]),new Ii("span",{"data-name":"marker"},["→"])]))}return Ne({rune:"pagination",tag:"nav",children:r})}}),{Ast:Og,Tag:_n}=B,Z8=/^(.+)\s*:\s*([€$£¥]?\s*[\d].*)$/;function F8(n){const e=n.replace(/[€$£¥\s]/g,"").replace(/,/g,""),t=e.match(/^([\d.]+)\s*[-–]\s*([\d.]+)/);if(t)return(parseFloat(t[1])+parseFloat(t[2]))/2;const r=parseFloat(e);return isNaN(r)?0:r}const X8={USD:"$",EUR:"€",GBP:"£",JPY:"¥",CNY:"¥",AUD:"A$",CAD:"C$",CHF:"CHF ",SEK:"kr",NOK:"kr",DKK:"kr",INR:"₹",KRW:"₩",BRL:"R$",MXN:"MX$",ZAR:"R"};function Pp(n,e){const t=(n%1===0?String(n):n.toFixed(2)).split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e+t.join(".")}function V8(n){let e=0;const t=n.match(/(\d+)\s*day/i),r=n.match(/(\d+)\s*week/i),i=n.match(/(\d+)\s*month/i);if(t&&(e+=parseInt(t[1])),r&&(e+=parseInt(r[1])*7),i&&(e+=parseInt(i[1])*30),e===0){const s=parseInt(n);isNaN(s)||(e=s)}return e}function Y0(n,e){try{const t=JSON.parse(String(n.attributes["data-rune-fields"]??"{}"));if(t[e]!==void 0&&t[e]!==null)return String(t[e])}catch{}return""}const W8=/^(.+?)\s*\((?:estimate|est\.?)\)\s*$/i,Y8=/^~(.+?)~$/;function U8(n){const e=[];let t=!1;for(const o of n.walk())o.type==="text"&&o.attributes.content&&e.push(o.attributes.content),o.type==="s"&&(t=!0);const r=e.join(" ").trim(),i=r.match(W8);if(i)return{label:i[1].trim(),estimate:!0};const s=r.match(Y8);return s?{label:s[1].trim(),estimate:!0}:t?{label:r,estimate:!0}:{label:r,estimate:!1}}const G8=He({attributes:{description:{type:String,required:!1,description:"Line item description"},amount:{type:String,required:!1,description:"Line item amount"}},contentModel:{type:"sequence",fields:[]},transform(n,e){const t=new _n("span",{},[e.description??""]),r=new _n("span",{},[e.amount??""]);return Ne({rune:"budget-line-item",tag:"li",properties:{description:t,amount:r},children:[t,r]})}});function H8(n){const e=[];for(const t of n)if(t.type==="list")for(const r of t.children){const i=[];for(const a of r.walk())a.type==="text"&&a.attributes.content&&i.push(a.attributes.content);const s=i.join(" ").trim(),o=s.match(Z8);o?e.push(new Og.Node("tag",{description:o[1].trim(),amount:o[2].trim()},[],"budget-line-item")):e.push(new Og.Node("tag",{description:s,amount:""},[],"budget-line-item"))}else e.push(t);return e}function K8(n){let e=0;for(const t of n)t.type==="tag"&&t.tag==="budget-line-item"&&t.attributes.amount&&(e+=F8(t.attributes.amount));return e}const J8=He({attributes:{label:{type:String,required:!0},estimate:{type:Boolean,required:!1}},contentModel:{type:"custom",processChildren:H8,description:'Converts list items into budget-line-item tags with "Description: $Amount" pattern.'},transform(n,e,t){const r=ot(n.children),i=K8(r),s=new ze(B.transform(r,t)),o=new _n("meta",{content:e.label??""}),a=new _n("meta",{content:e.estimate?"estimate":"false"}),l=new _n("meta",{content:String(i)}),c=s.tag("li").typeof("BudgetLineItem"),u=new _n("ul",{},c.toArray());return Ne({rune:"budget-category",tag:"div",properties:{label:o,estimate:a,lineItem:c,subtotal:l},refs:{"line-items":u},children:[o,a,l,u]})}}),e9=["detailed","summary"];function t9(n){const e=n,t=e.reduce((l,c,u)=>(c.type==="heading"&&l.push({idx:u,level:c.attributes.level}),l),[]);let r=[],i=e;t.length>=2&&t[0].level<t[1].level&&(r=e.slice(0,t[1].idx),i=e.slice(t[1].idx));const s=qv()(i),o=s.length-1;if(!s[o]||s[o].type!=="list")return n;const a=s[o].children.map(l=>{const c=l.children[0],{label:u,estimate:f}=U8(c);return new Og.Node("tag",{label:u,estimate:f},l.children.slice(1),"budget-category")});return s.splice(o,1,...a),[...r,...s]}const n9=He({attributes:{currency:{type:String,required:!1,description:"Currency symbol or code (e.g. USD, EUR)"},duration:{type:String,required:!1,description:'Budget duration for per-day calculations (e.g. "5 days", "1 month")'},showPerDay:{type:Boolean,required:!1,description:"Show per-day cost breakdown"},variant:{type:String,required:!1,matches:e9.slice(),description:"Display style: detailed line items or summary"}},contentModel:{type:"custom",processChildren:t9,description:'Converts headings into budget-category tags with estimate parsing, where list items become budget-line-items with "Description: $Amount" pattern.'},transform(n,e,t){const r=ot(n.children),i=[],s=[];for(const Q of r)Q.type==="tag"?s.push(Q):(Q.type==="paragraph"||Q.type==="heading")&&i.push(Q);const o=new ze(B.transform(i,t)),a=new ze(B.transform(s,t)),l=vl(o),c=e.currency??"USD",u=e.duration??"",f=e.showPerDay??!0,d=e.variant??"detailed",h=X8[c.toUpperCase()]||c+" ",m=new _n("meta",{content:c}),p=new _n("meta",{content:u}),O=new _n("meta",{content:String(f)}),v=new _n("meta",{content:d}),b=a.tag("div").typeof("BudgetCategory"),_=b.toArray();let A=0;for(const Q of _){if(!B.Tag.isTag(Q))continue;const P=Y0(Q,"label"),q=parseFloat(Y0(Q,"subtotal"))||0;A+=q;const I=new _n("div",{class:"rf-budget-category__header"},[new _n("span",{class:"rf-budget-category__label"},[P]),new _n("span",{class:"rf-budget-category__subtotal"},[Pp(q,h)])]);Q.children=[I,...Q.children]}const w=new _n("div",{},_),y=u?V8(u):0,S=!!u&&f&&y>0,C=S?A/y:0,k=[new _n("div",{class:"rf-budget__total"},[new _n("span",{class:"rf-budget__total-label"},["Total"]),new _n("span",{class:"rf-budget__total-amount"},[Pp(A,h)])])];S&&k.push(new _n("div",{class:"rf-budget__per-day"},[new _n("span",{class:"rf-budget__per-day-label"},["Per day"]),new _n("span",{class:"rf-budget__per-day-amount"},[Pp(C,h)])]));const x=new _n("div",{class:"rf-budget__footer"},k),E=new _n("meta",{content:String(A)}),T=new _n("meta",{content:String(C)}),$=[m,p,O,v,...o.toArray(),w,x];return Ne({rune:"budget",schemaOrgType:"ItemList",tag:"section",property:"contentSection",properties:{currency:m,duration:p,showPerDay:O,variant:v,category:b,total:E,...S?{perDay:T}:{}},refs:{...l,categories:w},children:$})}}),{Tag:ss}=B,r9=["side-by-side","stacked"],i9=He({attributes:{layout:{type:String,required:!1,matches:r9.slice(),description:"Display panels side-by-side or stacked"},labels:{type:String,required:!1,description:"Comma-separated custom labels for each panel"},title:{type:String,required:!1,description:"Optional title displayed above the panels"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.layout??"side-by-side",s=e.labels??"",o=e.title??"",a=new ss("meta",{content:i}),l=[],c=s?s.split(",").map(m=>m.trim()):[];let u=0;for(const m of r.toArray()){let p;if(ss.isTag(m)&&m.name==="pre")p=m;else if(ss.isTag(m)&&m.name==="div"&&m.attributes.class==="rf-codeblock"){const O=m.children.find(v=>ss.isTag(v)&&v.name==="pre");O&&(p=O)}if(p&&ss.isTag(p)){const O=c[u]||p.attributes["data-language"]||`Panel ${u+1}`,v=new ss("span",{"data-label":!0},[O]);l.push(new ss("div",{"data-panel":!0},[v,m])),u++}}const f=new ss("div",{"data-panels":!0},l),d=o?[new ss("div",{"data-name":"header"},[o])]:[],h=Ne({rune:"compare",tag:"div",properties:{layout:a},refs:{panels:f},children:[a,...d,f]});return h.attributes["data-code-host"]=!0,h}}),{Tag:Ni}=B,s9=He({attributes:{sortable:{type:String,required:!1,description:'Column names to enable sorting, or "all"'},searchable:{type:Boolean,required:!1,description:"Show a search input to filter rows"},pageSize:{type:Number,required:!1,description:"Rows per page; 0 disables pagination"},defaultSort:{type:String,required:!1,description:"Column to sort by initially"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=new Ni("meta",{content:e.sortable??""}),s=new Ni("meta",{content:String(e.searchable??!1)}),o=new Ni("meta",{content:String(e.pageSize??0)}),a=new Ni("meta",{content:e.defaultSort??""});let l;const c=r.tag("table");if(c.count()>0)l=c.next();else{const f=r.toArray().find(h=>Ni.isTag(h)&&h.name==="div"&&h.attributes.class==="rf-table-wrapper"),d=f&&Ni.isTag(f)?f.children.find(h=>Ni.isTag(h)&&h.name==="table"):void 0;l=d&&Ni.isTag(d)?d:new Ni("table",{},[])}const u=new Ni("div",{},[l]);return Ne({rune:"data-table",schemaOrgType:"Dataset",tag:"div",properties:{sortable:i,searchable:s,pageSize:o,defaultSort:a},refs:{scroll:u,table:l},children:[i,s,o,a,u]})}}),{Tag:Pn}=B,o9=["unified","split","inline"];function a9(n,e){const t=n.split(`
|
|
296
296
|
`),r=e.split(`
|
|
297
|
-
`),i=t.length,s=r.length,o=Array.from({length:i+1},()=>new Array(s+1).fill(0));for(let u=1;u<=i;u++)for(let f=1;f<=s;f++)o[u][f]=t[u-1]===r[f-1]?o[u-1][f-1]+1:Math.max(o[u-1][f],o[u][f-1]);let a=i,l=s;const c=[];for(;a>0||l>0;)a>0&&l>0&&t[a-1]===r[l-1]?(c.push({type:"equal",text:t[a-1]}),a--,l--):l>0&&(a===0||o[a][l-1]>=o[a-1][l])?(c.push({type:"add",text:r[l-1]}),l--):(c.push({type:"remove",text:t[a-1]}),a--);return c.reverse(),c}function a9(n){const e=[],t=[];let r=1,i=1,s=0;for(;s<n.length;)if(n[s].type==="equal")e.push({hunk:n[s],num:r++}),t.push({hunk:n[s],num:i++}),s++;else{const o=[],a=[];for(;s<n.length&&n[s].type==="remove";)o.push(n[s]),s++;for(;s<n.length&&n[s].type==="add";)a.push(n[s]),s++;const l=Math.max(o.length,a.length);for(let c=0;c<l;c++)e.push(c<o.length?{hunk:o[c],num:r++}:null),t.push(c<a.length?{hunk:a[c],num:i++}:null)}return{before:e,after:t}}function l9(n){const e=[];let t=1,r=1;for(const i of n)i.type==="equal"?(e.push({hunk:i,beforeNum:t,afterNum:r}),t++,r++):i.type==="remove"?(e.push({hunk:i,beforeNum:t,afterNum:null}),t++):i.type==="add"&&(e.push({hunk:i,beforeNum:null,afterNum:r}),r++);return e}function c9(n,e,t=0,r=0){const s=l9(n).map(({hunk:o,beforeNum:a,afterNum:l})=>new Pn("span",{"data-name":"line","data-line-status":o.type},[new Pn("span",{"data-name":"gutter-num","data-side":"before"},[a!=null?String(a+t):""]),new Pn("span",{"data-name":"gutter-num","data-side":"after"},[l!=null?String(l+r):""]),new Pn("span",{"data-name":"line-content",...e?{"data-language":e}:{}},[o.text])]));return[new Pn("pre",{"data-name":"code","data-copy-selector":'[data-name="line-content"]'},[new Pn("div",{"data-name":"rows"},s)])]}function u9(n,e,t=0,r=0){const{before:i,after:s}=a9(n);function o(a,l,c){return a.map(u=>{const f=u?u.hunk.type:"empty";return new Pn("span",{"data-name":"line","data-line-status":f},[new Pn("span",{"data-name":"gutter-num","data-side":l},[u?String(u.num+c):""]),new Pn("span",{"data-name":"line-content",...u&&e?{"data-language":e}:{}},[u?u.hunk.text:""])])})}return[new Pn("div",{"data-name":"split-container"},[new Pn("div",{"data-name":"panel"},[new Pn("pre",{"data-name":"code","data-copy-selector":'[data-name="line-content"]'},[new Pn("div",{"data-name":"rows"},o(i,"before",t))])]),new Pn("div",{"data-name":"panel"},[new Pn("pre",{"data-name":"code","data-copy-selector":'[data-name="line-content"]'},[new Pn("div",{"data-name":"rows"},o(s,"after",r))])])])]}function U0(n){if(typeof n!="string"||n.length===0)return 0;const e=/^(\d+)/.exec(n.trim());if(!e)return 0;const t=Number(e[1]);return Number.isFinite(t)&&t>0?t-1:0}function f9(n,e,t){if(n)return[new Pn("div",{"data-name":"header"},[n])];if(e&&t)return e===t?[new Pn("div",{"data-name":"header"},[e])]:[new Pn("div",{"data-name":"header"},[`${e} → ${t}`])];const r=e||t;return r?[new Pn("div",{"data-name":"header"},[r])]:[]}const d9=He({attributes:{mode:{type:String,required:!1,matches:s9.slice(),description:"Diff display style: unified, split, or inline"},language:{type:String,required:!1,description:"Programming language for syntax highlighting"},title:{type:String,required:!1,description:"Optional title or filename displayed above the diff"}},contentModel:{type:"sequence",fields:[{name:"fences",match:"fence",greedy:!0}]},transform(n,e){const t=e.mode??"unified",r=e.language??"",i=e.title??"",s=new Pn("meta",{content:t}),o=new Pn("meta",{content:r}),a=ot(n.fences),l=a.length>0?(a[0].attributes.content||"").replace(/\n$/,""):"",c=a.length>1?(a[1].attributes.content||"").replace(/\n$/,""):"",u=r||a.length>0&&a[0].attributes.language||"",f=a.length>0&&typeof a[0].attributes.source=="string"?a[0].attributes.source:void 0,d=a.length>1&&typeof a[1].attributes.source=="string"?a[1].attributes.source:void 0,h=a.length>0?U0(a[0].attributes.lines):0,m=a.length>1?U0(a[1].attributes.lines):0,p=o9(l,c),O=t==="split"?u9(p,u,h,m):c9(p,u,h,m),v=f9(i,f,d),b=Ne({rune:"diff",tag:"div",properties:{mode:s,language:o},children:[s,o,...v,...O]});return b.attributes["data-code-host"]=!0,b}}),{Tag:oa}=B,h9=["bar","line","pie","area"];function p9(n){for(const e of n)if(B.Tag.isTag(e)){if(e.name==="table")return e;if(e.name==="div"){const t=e.children.find(r=>B.Tag.isTag(r)&&r.name==="table");if(t&&B.Tag.isTag(t))return t}}}const m9=He({attributes:{type:{type:String,required:!1,matches:h9.slice(),description:"Chart visualization type"},title:{type:String,required:!1,description:"Title displayed above the chart"},stacked:{type:Boolean,required:!1,description:"Stack data series instead of grouping"},"tick-count":{type:Number,required:!1,description:"Approximate number of Y-axis ticks (default 5). Ignored when tick-step is set."},"tick-step":{type:Number,required:!1,description:"Explicit unit-span between Y-axis ticks (e.g. 10, 0.5). Overrides tick-count."},"label-angle":{type:String,required:!1,description:'X-axis label rotation: "auto" (default) rotates -45° when slots are crowded, "0" forces horizontal, or any explicit degree (e.g. "-45", "-90").'}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=B.transform(ot(n.body),t),i=e.type??"bar",s=e.title??"",o=e.stacked??!1,a=e["tick-count"],l=e["tick-step"],c=e["label-angle"],u=p9(r),f=u?[u]:r;u&&(u.attributes["data-name"]="data",s&&(u.children=[new oa("caption",{},[s]),...u.children]));const d=new oa("meta",{content:i}),h=new oa("meta",{content:String(o)}),m=a!=null?new oa("meta",{content:String(a)}):void 0,p=l!=null?new oa("meta",{content:String(l)}):void 0,O=c!=null&&c!==""?new oa("meta",{content:String(c)}):void 0,v=Ne({rune:"chart",tag:"figure",properties:{type:d,stacked:h,...m?{"tick-count":m}:{},...p?{"tick-step":p}:{},...O?{"label-angle":O}:{}},children:f});return v.name="rf-chart",v}}),{Tag:aa}=B,g9=["mermaid","plantuml","ascii"],O9=He({attributes:{language:{type:String,required:!1,matches:g9.slice(),description:"Diagram language: mermaid, plantuml, or ascii"},title:{type:String,required:!1,description:"Title displayed above the diagram"}},contentModel:{type:"sequence",fields:[{name:"source",match:"fence"}]},transform(n,e){const t=e.language??"mermaid",r=e.title??"",s=ot(n.source)[0]?.attributes?.content||"",o=new aa("meta",{content:t}),a=[];let l;r&&(l=new aa("figcaption",{},[r]),a.push(l));let c;const u=[];s&&(c=new aa("pre",{},[new aa("code",{},[s])]),u.push(c));const f=new aa("div",{},u);a.push(f),s&&a.push(new aa("template",{"data-content":"source"},[s]));const d=Ne({rune:"diagram",tag:"figure",properties:{language:o},refs:{...l?{title:l}:{},container:f,...c?{source:c}:{}},children:a});return d.name="rf-diagram",d}}),{Tag:v9}=B,b9=["sidenote","footnote","tooltip"],y9=He({attributes:{variant:{type:String,required:!1,matches:b9.slice(),description:"Display style: sidenote, footnote, or tooltip"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new v9("meta",{content:e.variant??"sidenote"}),s=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"sidenote",tag:"aside",properties:{variant:r},refs:{body:s},children:[r,s.next()]})}}),{Ast:zu,Tag:G0}=B,w9=He({attributes:{speaker:{type:String,required:!1},align:{type:String,required:!1,matches:["left","right"]}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new G0("span",{},[e.speaker??""]),i=new G0("meta",{content:e.align??"left"}),s=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"conversation-message",tag:"div",properties:{speaker:r,align:i},refs:{body:s.tag("div")},children:[r,i,s.next()]})}});function _9(n,e){const t=e.speakers?String(e.speakers).split(",").map(s=>s.trim()):[],r=[];let i=0;for(const s of n)if(s.type==="blockquote"){let o="";const a=[...s.children],l=a.length>0&&a[0].type==="paragraph"?a[0]:null,c=l&&l.children[0]?.type==="inline"?l.children[0]:l;if(c){const f=c.children[0];f&&f.type==="strong"&&(o=Array.from(f.walk()).filter(h=>h.type==="text").map(h=>h.attributes.content).join("").replace(/:\s*$/,""))}if(!o&&t.length>0&&(o=t[i%t.length],c)){const f=new zu.Node("strong",{},[new zu.Node("text",{content:`${o}:`},[])]),d=new zu.Node("text",{content:" "},[]);c.children=[f,d,...c.children]}const u=i%2===0?"left":"right";r.push(new zu.Node("tag",{speaker:o,align:u},s.children,"conversation-message")),i++}else r.push(s);return r}const k9=He({attributes:{speakers:{type:String,required:!1,description:"Comma-separated speaker names for alternating messages"}},contentModel:{type:"custom",processChildren:(n,e)=>_9(n,e),description:"Converts blockquotes to conversation messages with alternating left/right alignment. Extracts speaker name from bold text in first paragraph, falls back to speakers list."},transform(n,e,t){const i=new ze(B.transform(ot(n.children),t)).tag("div").typeof("ConversationMessage"),s=i.wrap("div");return Ne({rune:"conversation",tag:"div",properties:{message:i},refs:{messages:s},children:[s.next()]})}}),{Tag:zC}=B,x9=["click","scroll","auto"],S9=He({attributes:{name:{type:String,required:!0}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new zC("span",{},[e.name??""]),i=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"reveal-step",tag:"div",properties:{name:r},refs:{body:i.tag("div")},children:[r,i.next()]})}}),A9=He({attributes:{mode:{type:String,required:!1,matches:x9.slice(),description:"Step progression: click, scroll, or auto"}},contentModel:()=>({type:"sections",sectionHeading:"heading",emitTag:"reveal-step",emitAttributes:{name:"$heading"},fields:[{name:"header",match:"heading|paragraph",optional:!0,greedy:!0},{name:"items",match:"tag",optional:!0,greedy:!0}],sectionModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]}}),transform(n,e,t){const r=new ze(B.transform(ot(n.header),t)),i=[...ot(n.items),...ot(n.sections)],s=new ze(B.transform(i,t)),o=new zC("meta",{content:e.mode??"click"}),a=s.tag("div").typeof("RevealStep"),l=a.wrap("div"),c=r.count()>0?[r.wrap("header").next(),o,l.next()]:[o,l.next()];return Ne({rune:"reveal",tag:"section",property:"contentSection",properties:{step:a},refs:{...vl(r),steps:l},children:c})}}),{Tag:C9}=B,T9=["start","center","end"],P9=He({attributes:{align:{type:String,required:!1,matches:T9.slice(),description:"Header alignment: start (default), center, or end"}},contentModel:{type:"sequence",fields:[{name:"eyebrow",match:"paragraph",optional:!0},{name:"headline",match:"heading",optional:!0},{name:"blurb",match:"paragraph",optional:!0},{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=[n.eyebrow,n.headline,n.blurb].filter(Boolean),i=new ze(B.transform(r,t)),s=new ze(B.transform(ot(n.body),t)).wrap("div"),o=e.align||"start",a=new C9("meta",{content:o}),l=i.count()>0?[i.wrap("header").next()]:[],c=[a,...l,s.next()];return Ne({rune:"section",tag:"section",property:"contentSection",properties:{align:a},refs:{...vl(i),body:s},children:c})}}),{Tag:Ql}=B,E9=["slider","toggle","fade","auto"],$9=["horizontal","vertical"],Q9=He({attributes:{variant:{type:String,required:!1,matches:E9.slice(),description:"Interaction mode: slider, toggle, fade, or auto"},orientation:{type:String,required:!1,matches:$9.slice(),description:"Divider axis for slider/auto variants (horizontal or vertical)"},position:{type:Number,required:!1,description:"Initial slider position as a percentage (0-100)"},duration:{type:Number,required:!1,description:"Animation duration in milliseconds (fade/auto variants)"},labels:{type:String,required:!1,description:"Comma-separated custom labels for the two panels"}},contentModel:{type:"delimited",delimiter:"hr",dynamicZones:!0,zoneModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]}},transform(n,e,t){const r=n.zones??[],i=e.labels?e.labels.split(",").map(d=>d.trim()):[],s=r.map((d,h)=>{const p=new ze(a8(B.transform(ot(d.body),t))).wrap("div"),O=i[h],v=O?new Ql("span",{},[O]):void 0;return Ne({rune:"juxtapose-panel",tag:"div",properties:{},refs:{...v?{name:v}:{},body:p.tag("div")},children:[...v?[v]:[],p.next()]})}),o=new ze(s).tag("div").typeof("JuxtaposePanel"),a=o.wrap("div"),l=new Ql("meta",{content:e.variant??"slider"}),c=new Ql("meta",{content:e.orientation??"vertical"}),u=new Ql("meta",{content:String(e.position??50)}),f=new Ql("meta",{content:String(e.duration??1e3)});return Ne({rune:"juxtapose",tag:"section",properties:{panel:o,variant:l,orientation:c,position:u,duration:f},refs:{panels:a},children:[l,c,u,f,a.next()]})}}),{Tag:L9}=B,M9=He({contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"annotate-note",tag:"aside",properties:{},refs:{body:r.tag("div")},children:[r.next()]})}}),q9=["margin","tooltip","inline"],D9=He({attributes:{variant:{type:String,required:!1,matches:q9.slice(),description:"Annotation display style: margin, tooltip, or inline"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=new L9("meta",{content:e.variant??"margin"}),s=r.tag("aside").typeof("AnnotateNote"),o=r.wrap("div");return Ne({rune:"annotate",tag:"div",properties:{note:s,variant:i},refs:{body:o.tag("div")},children:[i,o.next()]})}}),{Ast:fo,Tag:nn}=B,R9=["stacked","inline","compact"],I9=["GET","POST"],N9=[[["email","e-mail"],"email"],[["phone","telephone","mobile","cell"],"tel"],[["website","url","homepage","link"],"url"],[["date","birthday","dob"],"date"],[["number","amount","quantity","age","count"],"number"],[["password","pin","passcode"],"password"],[["message","comments","description","feedback","notes","bio","about"],"textarea"],[["file","upload","attachment","resume","document","cv"],"file"]];function B9(n){const e=n.toLowerCase();for(const[t,r]of N9)if(t.some(i=>e.includes(i)))return r;return"text"}function j9(n){const e=n.match(/^(.+?)\s*\(([^)]+)\)\s*$/);if(!e)return{name:n.trim(),optional:!1,placeholder:""};const t=e[1].trim(),r=e[2],i=/\boptional\b/i.test(r),s=r.match(/placeholder:\s*["']?([^"',]+)["']?/i),o=s?s[1].trim():"";return{name:t,optional:i,placeholder:o}}function ho(n){return Array.from(n.walk()).filter(e=>e.type==="text").map(e=>e.attributes.content).join("")}function z9(n){if(n.type!=="paragraph")return!1;const e=Array.from(n.walk());if(!e.some(s=>s.type==="strong"))return!1;const r=e.filter(s=>s.type==="text").map(s=>s.attributes.content).join(""),i=e.filter(s=>s.type==="strong").flatMap(s=>Array.from(s.walk()).filter(o=>o.type==="text")).map(s=>s.attributes.content).join("");return r.trim()===i.trim()&&r.trim().length>0}function Z9(n){const e=/\(multiple\)/i.test(n)||/select all/i.test(n),t=/\(radio\)/i.test(n),r=/\(optional\)/i.test(n);return{label:n.replace(/\s*\(multiple\)/gi,"").replace(/\s*\(radio\)/gi,"").replace(/\s*\(optional\)/gi,"").trim(),multiple:e,radio:t,optional:r}}const F9=He({attributes:{name:{type:String,required:!1},fieldType:{type:String,required:!1},required:{type:Boolean,required:!1},placeholder:{type:String,required:!1},options:{type:String,required:!1}},contentModel:{type:"sequence",fields:[]},transform(n,e){const t=e.name??"",r=e.fieldType??"text",i=e.required??!0,s=e.placeholder??"",o=e.options??"",a=`field-${t.toLowerCase().replace(/\s+/g,"-")}`,l=o?o.split(",").map(m=>m.trim()).filter(Boolean):[];if(r==="submit")return new nn("button",{type:"submit","data-name":"submit"},[t]);if(r==="separator")return new nn("hr",{"data-name":"separator"},[]);if(r==="help")return new nn("p",{"data-name":"help"},[t]);if(r==="description")return new nn("p",{"data-name":"text"},[t]);if(r==="group")return new nn("fieldset",{class:"rf-form-fieldset"},[new nn("legend",{},[t])]);if(r==="radio"||r==="checkbox"){const m=[t];i&&m.push(new nn("span",{"data-name":"required","aria-hidden":"true"},["*"]));const p=l.map((v,b)=>new nn("label",{class:"rf-form-choice"},[new nn("input",{type:r,name:a,value:v,...i&&r==="radio"&&b===0?{required:""}:{}},[]),new nn("span",{},[v])])),O=new nn("meta",{"data-field":"field-type",content:r});return new nn("fieldset",{"data-rune":"form-field",class:"rf-form-choice-group"},[O,new nn("legend",{},m),...p])}const c=[t];i&&c.push(new nn("span",{"data-name":"required","aria-hidden":"true"},["*"]));const u=new nn("label",{for:a},c);let f;r==="textarea"?f=new nn("textarea",{id:a,name:a,...s?{placeholder:s}:{},...i?{required:""}:{},rows:"4"},[]):r==="select"?f=new nn("select",{id:a,name:a,...i?{required:""}:{}},[new nn("option",{value:"",disabled:"",selected:""},["Select an option"]),...l.map(m=>new nn("option",{value:m},[m]))]):f=new nn("input",{type:r,id:a,name:a,...s?{placeholder:s}:{},...i?{required:""}:{}},[]);const d=new nn("div",{},[u,f]),h=new nn("meta",{content:r});return Ne({rune:"form-field",tag:"div",properties:{fieldType:h},refs:{body:d},children:[h,d]})}});function X9(n){const e=[];let t=null,r=-1;for(let s=n.length-1;s>=0;s--)if(z9(n[s])){r=s;break}const i=()=>{if(t){const s=ho(t);e.push(new fo.Node("tag",{name:s,fieldType:"help",required:!1,placeholder:"",options:""},[],"form-field")),t=null}};for(let s=0;s<n.length;s++){const o=n[s];if(o.type==="heading"){i();const a=ho(o);e.push(new fo.Node("tag",{name:a,fieldType:"group",required:!1,placeholder:"",options:""},[],"form-field"))}else if(o.type==="list"&&t){const a=ho(t),l=Z9(a),c=[];for(const f of o.children)f.type==="item"&&c.push(ho(f));let u;l.multiple?u="checkbox":l.radio||c.length<=4?u="radio":u="select",e.push(new fo.Node("tag",{name:l.label,fieldType:u,required:!l.optional,placeholder:"",options:c.join(",")},[],"form-field")),t=null}else if(o.type==="list"){i();for(const a of o.children)if(a.type==="item"){const l=ho(a),c=j9(l),u=B9(c.name);e.push(new fo.Node("tag",{name:c.name,fieldType:u,required:!c.optional,placeholder:c.placeholder,options:""},[],"form-field"))}}else if(o.type==="blockquote")i(),t=o;else if(s===r){i();const a=ho(o);e.push(new fo.Node("tag",{name:a,fieldType:"submit",required:!1,placeholder:"",options:""},[],"form-field"))}else if(o.type==="hr")i(),e.push(new fo.Node("tag",{name:"",fieldType:"separator",required:!1,placeholder:"",options:""},[],"form-field"));else if(o.type==="paragraph"){i();const a=ho(o);e.push(new fo.Node("tag",{name:a,fieldType:"description",required:!1,placeholder:"",options:""},[],"form-field"))}else i(),e.push(o)}return i(),e}const V9=He({attributes:{action:{type:String,required:!0,description:"URL the form submits to"},method:{type:String,required:!1,matches:I9.slice(),description:"HTTP method for form submission"},success:{type:String,required:!1,description:"Message shown after successful submission"},error:{type:String,required:!1,description:"Message shown when submission fails"},variant:{type:String,required:!1,matches:R9.slice(),description:"Form layout style"},name:{type:String,required:!1,description:"Form name for identification"},honeypot:{type:Boolean,required:!1,description:"Include a hidden field to prevent spam"}},contentModel:{type:"custom",processChildren:n=>X9(n),description:"Multi-pass form field parser with type inference and selection detection. Converts lists to text inputs, blockquote + list to selection fields, headings to fieldsets, bold paragraphs to submit buttons, and blockquotes to help text."},transform(n,e,t){const r=new ze(B.transform(ot(n.children),t)),i=new nn("meta",{content:e.action??""}),s=new nn("meta",{content:e.method??"POST"}),o=new nn("meta",{content:e.success??""}),a=new nn("meta",{content:e.error??""}),l=new nn("meta",{content:e.variant??"stacked"}),c=new nn("meta",{content:String(e.honeypot??!0)}),u=r.tag("div").typeof("FormField"),f=r.wrap("div");return Ne({rune:"form",tag:"form",properties:{action:i,method:s,success:o,error:a,variant:l,honeypot:c,field:u},refs:{body:f},children:[i,s,o,a,l,c,f.next()]})}}),W9={".html":"html",".css":"css",".js":"js",".svg":"svg",".glsl-vert":"glsl-vert",".glsl-frag":"glsl-frag"};function Y9(n,e){return n.endsWith("/")?n+e:n+"/"+e}function U9(n){if(n.endsWith(".glsl-vert"))return"glsl-vert";if(n.endsWith(".glsl-frag"))return"glsl-frag";const e=n.lastIndexOf(".");if(e===-1)return null;const t=n.slice(e);return W9[t]??null}function G9(n,e,t,r,i){const s=[],o=[];if(i&&!i(n))return{content:"",panels:[],errors:[`Sandbox src directory not found: "${e}"`],warnings:[]};const a=r(n);if(a.length===0)return{content:"",panels:[],errors:[],warnings:[`Sandbox src directory "${e}" contains no .html, .css, or .js files`]};const l=[];for(const k of a.sort()){const x=U9(k);if(!x)continue;const E=t(Y9(n,k));E!=null&&l.push({name:k,role:x,content:E})}if(l.length===0)return{content:"",panels:[],errors:[],warnings:[`Sandbox src directory "${e}" contains no .html, .css, or .js files`]};const c=new Map;for(const k of l){const x=c.get(k.role)??[];x.push(k),c.set(k.role,x)}const u=c.get("html")??[];let f;u.length>1?(f=u.find(k=>k.name==="index.html")??u[0],o.push(`Sandbox src "${e}" has multiple .html files — using ${f.name}`)):u.length===1?f=u[0]:o.push(`Sandbox src "${e}" has no .html file — body will be empty`);const d=c.get("css")??[],h=d.map(k=>k.content).join(`
|
|
297
|
+
`),i=t.length,s=r.length,o=Array.from({length:i+1},()=>new Array(s+1).fill(0));for(let u=1;u<=i;u++)for(let f=1;f<=s;f++)o[u][f]=t[u-1]===r[f-1]?o[u-1][f-1]+1:Math.max(o[u-1][f],o[u][f-1]);let a=i,l=s;const c=[];for(;a>0||l>0;)a>0&&l>0&&t[a-1]===r[l-1]?(c.push({type:"equal",text:t[a-1]}),a--,l--):l>0&&(a===0||o[a][l-1]>=o[a-1][l])?(c.push({type:"add",text:r[l-1]}),l--):(c.push({type:"remove",text:t[a-1]}),a--);return c.reverse(),c}function l9(n){const e=[],t=[];let r=1,i=1,s=0;for(;s<n.length;)if(n[s].type==="equal")e.push({hunk:n[s],num:r++}),t.push({hunk:n[s],num:i++}),s++;else{const o=[],a=[];for(;s<n.length&&n[s].type==="remove";)o.push(n[s]),s++;for(;s<n.length&&n[s].type==="add";)a.push(n[s]),s++;const l=Math.max(o.length,a.length);for(let c=0;c<l;c++)e.push(c<o.length?{hunk:o[c],num:r++}:null),t.push(c<a.length?{hunk:a[c],num:i++}:null)}return{before:e,after:t}}function c9(n){const e=[];let t=1,r=1;for(const i of n)i.type==="equal"?(e.push({hunk:i,beforeNum:t,afterNum:r}),t++,r++):i.type==="remove"?(e.push({hunk:i,beforeNum:t,afterNum:null}),t++):i.type==="add"&&(e.push({hunk:i,beforeNum:null,afterNum:r}),r++);return e}function u9(n,e,t=0,r=0){const s=c9(n).map(({hunk:o,beforeNum:a,afterNum:l})=>new Pn("span",{"data-name":"line","data-line-status":o.type},[new Pn("span",{"data-name":"gutter-num","data-side":"before"},[a!=null?String(a+t):""]),new Pn("span",{"data-name":"gutter-num","data-side":"after"},[l!=null?String(l+r):""]),new Pn("span",{"data-name":"line-content",...e?{"data-language":e}:{}},[o.text])]));return[new Pn("pre",{"data-name":"code","data-copy-selector":'[data-name="line-content"]'},[new Pn("div",{"data-name":"rows"},s)])]}function f9(n,e,t=0,r=0){const{before:i,after:s}=l9(n);function o(a,l,c){return a.map(u=>{const f=u?u.hunk.type:"empty";return new Pn("span",{"data-name":"line","data-line-status":f},[new Pn("span",{"data-name":"gutter-num","data-side":l},[u?String(u.num+c):""]),new Pn("span",{"data-name":"line-content",...u&&e?{"data-language":e}:{}},[u?u.hunk.text:""])])})}return[new Pn("div",{"data-name":"split-container"},[new Pn("div",{"data-name":"panel"},[new Pn("pre",{"data-name":"code","data-copy-selector":'[data-name="line-content"]'},[new Pn("div",{"data-name":"rows"},o(i,"before",t))])]),new Pn("div",{"data-name":"panel"},[new Pn("pre",{"data-name":"code","data-copy-selector":'[data-name="line-content"]'},[new Pn("div",{"data-name":"rows"},o(s,"after",r))])])])]}function U0(n){if(typeof n!="string"||n.length===0)return 0;const e=/^(\d+)/.exec(n.trim());if(!e)return 0;const t=Number(e[1]);return Number.isFinite(t)&&t>0?t-1:0}function d9(n,e,t){if(n)return[new Pn("div",{"data-name":"header"},[n])];if(e&&t)return e===t?[new Pn("div",{"data-name":"header"},[e])]:[new Pn("div",{"data-name":"header"},[`${e} → ${t}`])];const r=e||t;return r?[new Pn("div",{"data-name":"header"},[r])]:[]}const h9=He({attributes:{mode:{type:String,required:!1,matches:o9.slice(),description:"Diff display style: unified, split, or inline"},language:{type:String,required:!1,description:"Programming language for syntax highlighting"},title:{type:String,required:!1,description:"Optional title or filename displayed above the diff"}},contentModel:{type:"sequence",fields:[{name:"fences",match:"fence",greedy:!0}]},transform(n,e){const t=e.mode??"unified",r=e.language??"",i=e.title??"",s=new Pn("meta",{content:t}),o=new Pn("meta",{content:r}),a=ot(n.fences),l=a.length>0?(a[0].attributes.content||"").replace(/\n$/,""):"",c=a.length>1?(a[1].attributes.content||"").replace(/\n$/,""):"",u=r||a.length>0&&a[0].attributes.language||"",f=a.length>0&&typeof a[0].attributes.source=="string"?a[0].attributes.source:void 0,d=a.length>1&&typeof a[1].attributes.source=="string"?a[1].attributes.source:void 0,h=a.length>0?U0(a[0].attributes.lines):0,m=a.length>1?U0(a[1].attributes.lines):0,p=a9(l,c),O=t==="split"?f9(p,u,h,m):u9(p,u,h,m),v=d9(i,f,d),b=Ne({rune:"diff",tag:"div",properties:{mode:s,language:o},children:[s,o,...v,...O]});return b.attributes["data-code-host"]=!0,b}}),{Tag:oa}=B,p9=["bar","line","pie","area"];function m9(n){for(const e of n)if(B.Tag.isTag(e)){if(e.name==="table")return e;if(e.name==="div"){const t=e.children.find(r=>B.Tag.isTag(r)&&r.name==="table");if(t&&B.Tag.isTag(t))return t}}}const g9=He({attributes:{type:{type:String,required:!1,matches:p9.slice(),description:"Chart visualization type"},title:{type:String,required:!1,description:"Title displayed above the chart"},stacked:{type:Boolean,required:!1,description:"Stack data series instead of grouping"},"tick-count":{type:Number,required:!1,description:"Approximate number of Y-axis ticks (default 5). Ignored when tick-step is set."},"tick-step":{type:Number,required:!1,description:"Explicit unit-span between Y-axis ticks (e.g. 10, 0.5). Overrides tick-count."},"label-angle":{type:String,required:!1,description:'X-axis label rotation: "auto" (default) rotates -45° when slots are crowded, "0" forces horizontal, or any explicit degree (e.g. "-45", "-90").'}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=B.transform(ot(n.body),t),i=e.type??"bar",s=e.title??"",o=e.stacked??!1,a=e["tick-count"],l=e["tick-step"],c=e["label-angle"],u=m9(r),f=u?[u]:r;u&&(u.attributes["data-name"]="data",s&&(u.children=[new oa("caption",{},[s]),...u.children]));const d=new oa("meta",{content:i}),h=new oa("meta",{content:String(o)}),m=a!=null?new oa("meta",{content:String(a)}):void 0,p=l!=null?new oa("meta",{content:String(l)}):void 0,O=c!=null&&c!==""?new oa("meta",{content:String(c)}):void 0,v=Ne({rune:"chart",tag:"figure",properties:{type:d,stacked:h,...m?{"tick-count":m}:{},...p?{"tick-step":p}:{},...O?{"label-angle":O}:{}},children:f});return v.name="rf-chart",v}}),{Tag:aa}=B,O9=["mermaid","plantuml","ascii"],v9=He({attributes:{language:{type:String,required:!1,matches:O9.slice(),description:"Diagram language: mermaid, plantuml, or ascii"},title:{type:String,required:!1,description:"Title displayed above the diagram"}},contentModel:{type:"sequence",fields:[{name:"source",match:"fence"}]},transform(n,e){const t=e.language??"mermaid",r=e.title??"",s=ot(n.source)[0]?.attributes?.content||"",o=new aa("meta",{content:t}),a=[];let l;r&&(l=new aa("figcaption",{},[r]),a.push(l));let c;const u=[];s&&(c=new aa("pre",{},[new aa("code",{},[s])]),u.push(c));const f=new aa("div",{},u);a.push(f),s&&a.push(new aa("template",{"data-content":"source"},[s]));const d=Ne({rune:"diagram",tag:"figure",properties:{language:o},refs:{...l?{title:l}:{},container:f,...c?{source:c}:{}},children:a});return d.name="rf-diagram",d}}),{Tag:b9}=B,y9=["sidenote","footnote","tooltip"],w9=He({attributes:{variant:{type:String,required:!1,matches:y9.slice(),description:"Display style: sidenote, footnote, or tooltip"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new b9("meta",{content:e.variant??"sidenote"}),s=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"sidenote",tag:"aside",properties:{variant:r},refs:{body:s},children:[r,s.next()]})}}),{Ast:zu,Tag:G0}=B,_9=He({attributes:{speaker:{type:String,required:!1},align:{type:String,required:!1,matches:["left","right"]}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new G0("span",{},[e.speaker??""]),i=new G0("meta",{content:e.align??"left"}),s=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"conversation-message",tag:"div",properties:{speaker:r,align:i},refs:{body:s.tag("div")},children:[r,i,s.next()]})}});function k9(n,e){const t=e.speakers?String(e.speakers).split(",").map(s=>s.trim()):[],r=[];let i=0;for(const s of n)if(s.type==="blockquote"){let o="";const a=[...s.children],l=a.length>0&&a[0].type==="paragraph"?a[0]:null,c=l&&l.children[0]?.type==="inline"?l.children[0]:l;if(c){const f=c.children[0];f&&f.type==="strong"&&(o=Array.from(f.walk()).filter(h=>h.type==="text").map(h=>h.attributes.content).join("").replace(/:\s*$/,""))}if(!o&&t.length>0&&(o=t[i%t.length],c)){const f=new zu.Node("strong",{},[new zu.Node("text",{content:`${o}:`},[])]),d=new zu.Node("text",{content:" "},[]);c.children=[f,d,...c.children]}const u=i%2===0?"left":"right";r.push(new zu.Node("tag",{speaker:o,align:u},s.children,"conversation-message")),i++}else r.push(s);return r}const x9=He({attributes:{speakers:{type:String,required:!1,description:"Comma-separated speaker names for alternating messages"}},contentModel:{type:"custom",processChildren:(n,e)=>k9(n,e),description:"Converts blockquotes to conversation messages with alternating left/right alignment. Extracts speaker name from bold text in first paragraph, falls back to speakers list."},transform(n,e,t){const i=new ze(B.transform(ot(n.children),t)).tag("div").typeof("ConversationMessage"),s=i.wrap("div");return Ne({rune:"conversation",tag:"div",properties:{message:i},refs:{messages:s},children:[s.next()]})}}),{Tag:zC}=B,S9=["click","scroll","auto"],A9=He({attributes:{name:{type:String,required:!0}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new zC("span",{},[e.name??""]),i=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"reveal-step",tag:"div",properties:{name:r},refs:{body:i.tag("div")},children:[r,i.next()]})}}),C9=He({attributes:{mode:{type:String,required:!1,matches:S9.slice(),description:"Step progression: click, scroll, or auto"}},contentModel:()=>({type:"sections",sectionHeading:"heading",emitTag:"reveal-step",emitAttributes:{name:"$heading"},fields:[{name:"header",match:"heading|paragraph",optional:!0,greedy:!0},{name:"items",match:"tag",optional:!0,greedy:!0}],sectionModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]}}),transform(n,e,t){const r=new ze(B.transform(ot(n.header),t)),i=[...ot(n.items),...ot(n.sections)],s=new ze(B.transform(i,t)),o=new zC("meta",{content:e.mode??"click"}),a=s.tag("div").typeof("RevealStep"),l=a.wrap("div"),c=r.count()>0?[r.wrap("header").next(),o,l.next()]:[o,l.next()];return Ne({rune:"reveal",tag:"section",property:"contentSection",properties:{step:a},refs:{...vl(r),steps:l},children:c})}}),{Tag:T9}=B,P9=["start","center","end"],E9=He({attributes:{align:{type:String,required:!1,matches:P9.slice(),description:"Header alignment: start (default), center, or end"}},contentModel:{type:"sequence",fields:[{name:"eyebrow",match:"paragraph",optional:!0},{name:"headline",match:"heading",optional:!0},{name:"blurb",match:"paragraph",optional:!0},{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=[n.eyebrow,n.headline,n.blurb].filter(Boolean),i=new ze(B.transform(r,t)),s=new ze(B.transform(ot(n.body),t)).wrap("div"),o=e.align||"start",a=new T9("meta",{content:o}),l=i.count()>0?[i.wrap("header").next()]:[],c=[a,...l,s.next()];return Ne({rune:"section",tag:"section",property:"contentSection",properties:{align:a},refs:{...vl(i),body:s},children:c})}}),{Tag:Ql}=B,$9=["slider","toggle","fade","auto"],Q9=["horizontal","vertical"],L9=He({attributes:{variant:{type:String,required:!1,matches:$9.slice(),description:"Interaction mode: slider, toggle, fade, or auto"},orientation:{type:String,required:!1,matches:Q9.slice(),description:"Divider axis for slider/auto variants (horizontal or vertical)"},position:{type:Number,required:!1,description:"Initial slider position as a percentage (0-100)"},duration:{type:Number,required:!1,description:"Animation duration in milliseconds (fade/auto variants)"},labels:{type:String,required:!1,description:"Comma-separated custom labels for the two panels"}},contentModel:{type:"delimited",delimiter:"hr",dynamicZones:!0,zoneModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]}},transform(n,e,t){const r=n.zones??[],i=e.labels?e.labels.split(",").map(d=>d.trim()):[],s=r.map((d,h)=>{const p=new ze(l8(B.transform(ot(d.body),t))).wrap("div"),O=i[h],v=O?new Ql("span",{},[O]):void 0;return Ne({rune:"juxtapose-panel",tag:"div",properties:{},refs:{...v?{name:v}:{},body:p.tag("div")},children:[...v?[v]:[],p.next()]})}),o=new ze(s).tag("div").typeof("JuxtaposePanel"),a=o.wrap("div"),l=new Ql("meta",{content:e.variant??"slider"}),c=new Ql("meta",{content:e.orientation??"vertical"}),u=new Ql("meta",{content:String(e.position??50)}),f=new Ql("meta",{content:String(e.duration??1e3)});return Ne({rune:"juxtapose",tag:"section",properties:{panel:o,variant:l,orientation:c,position:u,duration:f},refs:{panels:a},children:[l,c,u,f,a.next()]})}}),{Tag:M9}=B,q9=He({contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)).wrap("div");return Ne({rune:"annotate-note",tag:"aside",properties:{},refs:{body:r.tag("div")},children:[r.next()]})}}),D9=["margin","tooltip","inline"],R9=He({attributes:{variant:{type:String,required:!1,matches:D9.slice(),description:"Annotation display style: margin, tooltip, or inline"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=new M9("meta",{content:e.variant??"margin"}),s=r.tag("aside").typeof("AnnotateNote"),o=r.wrap("div");return Ne({rune:"annotate",tag:"div",properties:{note:s,variant:i},refs:{body:o.tag("div")},children:[i,o.next()]})}}),{Ast:fo,Tag:nn}=B,I9=["stacked","inline","compact"],N9=["GET","POST"],B9=[[["email","e-mail"],"email"],[["phone","telephone","mobile","cell"],"tel"],[["website","url","homepage","link"],"url"],[["date","birthday","dob"],"date"],[["number","amount","quantity","age","count"],"number"],[["password","pin","passcode"],"password"],[["message","comments","description","feedback","notes","bio","about"],"textarea"],[["file","upload","attachment","resume","document","cv"],"file"]];function j9(n){const e=n.toLowerCase();for(const[t,r]of B9)if(t.some(i=>e.includes(i)))return r;return"text"}function z9(n){const e=n.match(/^(.+?)\s*\(([^)]+)\)\s*$/);if(!e)return{name:n.trim(),optional:!1,placeholder:""};const t=e[1].trim(),r=e[2],i=/\boptional\b/i.test(r),s=r.match(/placeholder:\s*["']?([^"',]+)["']?/i),o=s?s[1].trim():"";return{name:t,optional:i,placeholder:o}}function ho(n){return Array.from(n.walk()).filter(e=>e.type==="text").map(e=>e.attributes.content).join("")}function Z9(n){if(n.type!=="paragraph")return!1;const e=Array.from(n.walk());if(!e.some(s=>s.type==="strong"))return!1;const r=e.filter(s=>s.type==="text").map(s=>s.attributes.content).join(""),i=e.filter(s=>s.type==="strong").flatMap(s=>Array.from(s.walk()).filter(o=>o.type==="text")).map(s=>s.attributes.content).join("");return r.trim()===i.trim()&&r.trim().length>0}function F9(n){const e=/\(multiple\)/i.test(n)||/select all/i.test(n),t=/\(radio\)/i.test(n),r=/\(optional\)/i.test(n);return{label:n.replace(/\s*\(multiple\)/gi,"").replace(/\s*\(radio\)/gi,"").replace(/\s*\(optional\)/gi,"").trim(),multiple:e,radio:t,optional:r}}const X9=He({attributes:{name:{type:String,required:!1},fieldType:{type:String,required:!1},required:{type:Boolean,required:!1},placeholder:{type:String,required:!1},options:{type:String,required:!1}},contentModel:{type:"sequence",fields:[]},transform(n,e){const t=e.name??"",r=e.fieldType??"text",i=e.required??!0,s=e.placeholder??"",o=e.options??"",a=`field-${t.toLowerCase().replace(/\s+/g,"-")}`,l=o?o.split(",").map(m=>m.trim()).filter(Boolean):[];if(r==="submit")return new nn("button",{type:"submit","data-name":"submit"},[t]);if(r==="separator")return new nn("hr",{"data-name":"separator"},[]);if(r==="help")return new nn("p",{"data-name":"help"},[t]);if(r==="description")return new nn("p",{"data-name":"text"},[t]);if(r==="group")return new nn("fieldset",{class:"rf-form-fieldset"},[new nn("legend",{},[t])]);if(r==="radio"||r==="checkbox"){const m=[t];i&&m.push(new nn("span",{"data-name":"required","aria-hidden":"true"},["*"]));const p=l.map((v,b)=>new nn("label",{class:"rf-form-choice"},[new nn("input",{type:r,name:a,value:v,...i&&r==="radio"&&b===0?{required:""}:{}},[]),new nn("span",{},[v])])),O=new nn("meta",{"data-field":"field-type",content:r});return new nn("fieldset",{"data-rune":"form-field",class:"rf-form-choice-group"},[O,new nn("legend",{},m),...p])}const c=[t];i&&c.push(new nn("span",{"data-name":"required","aria-hidden":"true"},["*"]));const u=new nn("label",{for:a},c);let f;r==="textarea"?f=new nn("textarea",{id:a,name:a,...s?{placeholder:s}:{},...i?{required:""}:{},rows:"4"},[]):r==="select"?f=new nn("select",{id:a,name:a,...i?{required:""}:{}},[new nn("option",{value:"",disabled:"",selected:""},["Select an option"]),...l.map(m=>new nn("option",{value:m},[m]))]):f=new nn("input",{type:r,id:a,name:a,...s?{placeholder:s}:{},...i?{required:""}:{}},[]);const d=new nn("div",{},[u,f]),h=new nn("meta",{content:r});return Ne({rune:"form-field",tag:"div",properties:{fieldType:h},refs:{body:d},children:[h,d]})}});function V9(n){const e=[];let t=null,r=-1;for(let s=n.length-1;s>=0;s--)if(Z9(n[s])){r=s;break}const i=()=>{if(t){const s=ho(t);e.push(new fo.Node("tag",{name:s,fieldType:"help",required:!1,placeholder:"",options:""},[],"form-field")),t=null}};for(let s=0;s<n.length;s++){const o=n[s];if(o.type==="heading"){i();const a=ho(o);e.push(new fo.Node("tag",{name:a,fieldType:"group",required:!1,placeholder:"",options:""},[],"form-field"))}else if(o.type==="list"&&t){const a=ho(t),l=F9(a),c=[];for(const f of o.children)f.type==="item"&&c.push(ho(f));let u;l.multiple?u="checkbox":l.radio||c.length<=4?u="radio":u="select",e.push(new fo.Node("tag",{name:l.label,fieldType:u,required:!l.optional,placeholder:"",options:c.join(",")},[],"form-field")),t=null}else if(o.type==="list"){i();for(const a of o.children)if(a.type==="item"){const l=ho(a),c=z9(l),u=j9(c.name);e.push(new fo.Node("tag",{name:c.name,fieldType:u,required:!c.optional,placeholder:c.placeholder,options:""},[],"form-field"))}}else if(o.type==="blockquote")i(),t=o;else if(s===r){i();const a=ho(o);e.push(new fo.Node("tag",{name:a,fieldType:"submit",required:!1,placeholder:"",options:""},[],"form-field"))}else if(o.type==="hr")i(),e.push(new fo.Node("tag",{name:"",fieldType:"separator",required:!1,placeholder:"",options:""},[],"form-field"));else if(o.type==="paragraph"){i();const a=ho(o);e.push(new fo.Node("tag",{name:a,fieldType:"description",required:!1,placeholder:"",options:""},[],"form-field"))}else i(),e.push(o)}return i(),e}const W9=He({attributes:{action:{type:String,required:!0,description:"URL the form submits to"},method:{type:String,required:!1,matches:N9.slice(),description:"HTTP method for form submission"},success:{type:String,required:!1,description:"Message shown after successful submission"},error:{type:String,required:!1,description:"Message shown when submission fails"},variant:{type:String,required:!1,matches:I9.slice(),description:"Form layout style"},name:{type:String,required:!1,description:"Form name for identification"},honeypot:{type:Boolean,required:!1,description:"Include a hidden field to prevent spam"}},contentModel:{type:"custom",processChildren:n=>V9(n),description:"Multi-pass form field parser with type inference and selection detection. Converts lists to text inputs, blockquote + list to selection fields, headings to fieldsets, bold paragraphs to submit buttons, and blockquotes to help text."},transform(n,e,t){const r=new ze(B.transform(ot(n.children),t)),i=new nn("meta",{content:e.action??""}),s=new nn("meta",{content:e.method??"POST"}),o=new nn("meta",{content:e.success??""}),a=new nn("meta",{content:e.error??""}),l=new nn("meta",{content:e.variant??"stacked"}),c=new nn("meta",{content:String(e.honeypot??!0)}),u=r.tag("div").typeof("FormField"),f=r.wrap("div");return Ne({rune:"form",tag:"form",properties:{action:i,method:s,success:o,error:a,variant:l,honeypot:c,field:u},refs:{body:f},children:[i,s,o,a,l,c,f.next()]})}}),Y9={".html":"html",".css":"css",".js":"js",".svg":"svg",".glsl-vert":"glsl-vert",".glsl-frag":"glsl-frag"};function U9(n,e){return n.endsWith("/")?n+e:n+"/"+e}function G9(n){if(n.endsWith(".glsl-vert"))return"glsl-vert";if(n.endsWith(".glsl-frag"))return"glsl-frag";const e=n.lastIndexOf(".");if(e===-1)return null;const t=n.slice(e);return Y9[t]??null}function H9(n,e,t,r,i){const s=[],o=[];if(i&&!i(n))return{content:"",panels:[],errors:[`Sandbox src directory not found: "${e}"`],warnings:[]};const a=r(n);if(a.length===0)return{content:"",panels:[],errors:[],warnings:[`Sandbox src directory "${e}" contains no .html, .css, or .js files`]};const l=[];for(const k of a.sort()){const x=G9(k);if(!x)continue;const E=t(U9(n,k));E!=null&&l.push({name:k,role:x,content:E})}if(l.length===0)return{content:"",panels:[],errors:[],warnings:[`Sandbox src directory "${e}" contains no .html, .css, or .js files`]};const c=new Map;for(const k of l){const x=c.get(k.role)??[];x.push(k),c.set(k.role,x)}const u=c.get("html")??[];let f;u.length>1?(f=u.find(k=>k.name==="index.html")??u[0],o.push(`Sandbox src "${e}" has multiple .html files — using ${f.name}`)):u.length===1?f=u[0]:o.push(`Sandbox src "${e}" has no .html file — body will be empty`);const d=c.get("css")??[],h=d.map(k=>k.content).join(`
|
|
298
298
|
`),m=c.get("js")??[];let p=m.map(k=>k.content).join(`
|
|
299
299
|
`);const v=(c.get("svg")??[]).map(k=>k.content).join(`
|
|
300
300
|
`),b=(c.get("glsl-vert")??[])[0],_=(c.get("glsl-frag")??[])[0];let A="";b&&(A+=`const VERTEX_SHADER = \`${H0(b.content)}\`;
|
|
@@ -307,7 +307,7 @@ ${h}
|
|
|
307
307
|
</style>`),p&&y.push(`<script data-source="JavaScript">
|
|
308
308
|
${p}
|
|
309
309
|
<\/script>`);const S=y.join(`
|
|
310
|
-
`),C=[];if(f&&C.push({label:"HTML",language:"html",content:w,origin:`${e}/${f.name}`}),h){const k=d.map(x=>`${e}/${x.name}`).join(", ");C.push({label:"CSS",language:"css",content:h,origin:k})}if(p){const k=[];b&&k.push(`${e}/${b.name}`),_&&k.push(`${e}/${_.name}`),k.push(...m.map(x=>`${e}/${x.name}`)),C.push({label:"JavaScript",language:"javascript",content:p,origin:k.join(", ")})}return{content:S,panels:C,errors:s,warnings:o}}function
|
|
310
|
+
`),C=[];if(f&&C.push({label:"HTML",language:"html",content:w,origin:`${e}/${f.name}`}),h){const k=d.map(x=>`${e}/${x.name}`).join(", ");C.push({label:"CSS",language:"css",content:h,origin:k})}if(p){const k=[];b&&k.push(`${e}/${b.name}`),_&&k.push(`${e}/${_.name}`),k.push(...m.map(x=>`${e}/${x.name}`)),C.push({label:"JavaScript",language:"javascript",content:p,origin:k.join(", ")})}return{content:S,panels:C,errors:s,warnings:o}}function K9(n,e){const t=la(n,"div","HTML"),r=la(n,"style","CSS"),i=la(n,"script","JavaScript"),s=la(e,"div","HTML"),o=la(e,"style","CSS"),a=la(e,"script","JavaScript"),l=Ep(t,s),c=Ep(r,o),u=Ep(i,a),f=[];return l&&f.push(`<div data-source="HTML">
|
|
311
311
|
${l}
|
|
312
312
|
</div>`),c&&f.push(`<style data-source="CSS">
|
|
313
313
|
${c}
|
|
@@ -321,21 +321,21 @@ ${u}
|
|
|
321
321
|
`).map(p=>p.trim().length>0?" "+p:p).join(`
|
|
322
322
|
`);f=`<${i}${h}>${m}</${i}>`.trim()}e.push({label:o||u,language:c,content:f})}return e}function ew(n,e){const t=e.variables?.__source;if(typeof t=="string"&&n.lines?.length>=2){const r=t.split(`
|
|
323
323
|
`),i=n.lines[0]+1,s=n.lines[n.lines.length-1]-1;return r.slice(i,s).join(`
|
|
324
|
-
`).trim()}return""}const
|
|
325
|
-
`)}</pre></div>`,O=[]):(p=T.content,O=T.panels.map(Q=>({label:Q.label,language:Q.language,content:Q.content,origin:Q.origin})));const $=ew(r,t);$&&(p=
|
|
326
|
-
`)}:{},"data-security-mode":w.trust,"data-allow-js":w.allowJs?"true":"false",...w.sandboxOrigin?{"data-sandbox-origin":w.sandboxOrigin}:{},...h?{"data-activation":h,...m?{"data-poster":m}:{}}:{},...c?{"data-rf-query":c,...u?{"data-rf-fields":u}:{},...f?{"data-rf-shape":f}:{},...d!=null?{"data-rf-limit":String(d)}:{}}:{}}),x}}),J9={selfClosing:!0,attributes:{name:{type:String,required:!0,description:'Icon name, optionally prefixed with group (e.g., "rocket" or "hint/warning")'},size:{type:String,required:!1,description:"CSS size override for the icon"}},transform(n,e){const t=n.attributes.name,r=n.attributes.size;return gC(t,e,{size:r}).tag}},{Tag:tw}=B,eZ=["left","center","right"],tZ=["default","accent","editorial"],nZ=He({attributes:{align:{type:String,required:!1,matches:eZ.slice(),description:"Text alignment of the quote"},variant:{type:String,required:!1,matches:tZ.slice(),description:"Visual style of the quote block"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=new tw("meta",{content:e.align??"center"}),s=new tw("meta",{content:e.variant??"default"}),o=r.tag("blockquote"),l=[...o.count()>0?o.limit(1).toArray():r.tag("p").toArray(),i,s];return Ne({rune:"pull-quote",tag:"blockquote",properties:{align:i,variant:s},children:l})}}),{Tag:Fu}=B,rZ=["left","center","right","justify"],iZ=He({attributes:{dropcap:{type:Boolean,required:!1,description:"Style the first letter as a large drop cap"},columns:{type:Number,required:!1,description:"Number of text columns"},lead:{type:Boolean,required:!1,description:"Style the first paragraph as a lead"},align:{type:String,required:!1,matches:rZ.slice(),description:"Text alignment"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.dropcap??!1,s=e.columns??1,o=e.lead??!1,a=e.align??"left",l=i?new Fu("meta",{content:"dropcap"}):void 0,c=s>1?new Fu("meta",{content:String(s)}):void 0,u=o?new Fu("meta",{content:"lead"}):void 0,f=a!=="left"?new Fu("meta",{content:a}):void 0,d=r.wrap("div"),h=[];return l&&h.push(l),c&&h.push(c),u&&h.push(u),f&&h.push(f),h.push(d.next()),Ne({rune:"text-block",tag:"div",properties:{...l?{dropcap:l}:{},...c?{columns:c}:{},...u?{lead:u}:{},...f?{align:f}:{}},refs:{body:d.tag("div")},children:h})}}),{Tag:Ll}=B,sZ=["left","right"],oZ=["1:2","1:1","2:1"],aZ=He({attributes:{align:{type:String,required:!1,matches:sZ.slice(),description:"Side the media appears on"},ratio:{type:String,required:!1,matches:oZ.slice(),description:"Width ratio between media and text"},wrap:{type:Boolean,required:!1,description:"Wrap text around the media"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.align??"left",s=e.ratio??"1:1",o=e.wrap??!1,a=new Ll("meta",{content:i}),l=new Ll("meta",{content:s}),c=o?new Ll("meta",{content:"true"}):void 0,u=[],f=[];for(const p of r.toArray())B.Tag.isTag(p)&&p.name==="p"&&p.children.length===1&&B.Tag.isTag(p.children[0])&&p.children[0].name==="img"?u.push(p.children[0]):B.Tag.isTag(p)&&p.name==="img"?u.push(p):f.push(p);const d=new Ll("div",{},u),h=new Ll("div",{},f),m=[a,l];return c&&m.push(c),m.push(d,h),Ne({rune:"media-text",tag:"div",properties:{align:a,ratio:l,...c?{wrap:c}:{}},refs:{media:d,body:h},children:m})}}),{Tag:ca}=B,lZ=["background","surface","primary","secondary","accent","border"],cZ=/^\s*(\w+)\s*:\s*(.+)\s*$/;function nw(n){const e=[];for(const t of n.walk())t.type==="text"&&t.attributes.content&&e.push(t.attributes.content);return e.join(" ").trim()}function uZ(n){const e={},t={};let r="light";for(const i of n){if(i.type==="heading"){const s=nw(i).toLowerCase();s==="dark"?r="dark":s==="light"&&(r="light");continue}if(i.type==="list")for(const s of i.children){const a=nw(s).match(cZ);if(a){const l=a[1].toLowerCase(),c=a[2].trim();lZ.includes(l)&&(r==="dark"?t[l]=c:e[l]=c)}}}return{light:e,dark:t}}const fZ={attributes:{preset:{type:String,required:!1,description:"Named tint preset from the theme"},mode:{type:String,required:!1,matches:["auto","dark","light"],description:"Whether the tint adapts to auto, dark, or light mode"}},transform(n,e){const t=n.transformAttributes(e).preset,r=n.transformAttributes(e).mode,{light:i,dark:s}=uZ(n.children),o=[];t?o.push(new ca("meta",{"data-field":"tint",content:t})):(Object.keys(i).length>0||Object.keys(s).length>0)&&o.push(new ca("meta",{"data-field":"tint",content:"custom"})),r&&r!=="auto"&&o.push(new ca("meta",{"data-field":"tint-mode",content:r}));for(const[a,l]of Object.entries(i))o.push(new ca("meta",{"data-field":`tint-${a}`,content:l}));for(const[a,l]of Object.entries(s))o.push(new ca("meta",{"data-field":`tint-dark-${a}`,content:l}));return new ca("div",{"data-tint-source":!0},o)}},{Tag:rw}=B,dZ=["none","soft","hard","elevated"],hZ=["none","top","bottom","both","end","bottom-end","top-end"],pZ={soft:"sm",hard:"md",elevated:"lg"},iw=new Set;function Ml(n,e){iw.has(n)||(iw.add(n),console.warn(`[refrakt] showcase \`${n}\` is deprecated (SPEC-086) — use \`${e}\`. The alias will be removed in a future minor.`))}const mZ=He({attributes:{shadow:{type:String,required:!1,matches:dZ.slice(),description:"Shadow style around the showcase content"},bleed:{type:String,required:!1,matches:hZ.slice(),description:"Direction content extends beyond its container"},offset:{type:String,required:!1,description:"CSS offset from the container edge"},aspect:{type:String,required:!1,description:"Aspect ratio of the showcase area"},place:{type:String,required:!1,matches:["left","center","right","top","bottom","top left","top center","top right","bottom left","bottom center","bottom right"],description:"Position of content within the showcase area"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.shadow??"none",s=e.bleed??"none",o=e.offset??"",a=e.aspect??"",l=e.place??"",c={},u=[],f=(h,m)=>{const p=new rw("meta",{content:m});c[h]=p,u.push(p)};i&&i!=="none"&&(Ml("shadow","frame-shadow"),f("frame-shadow",pZ[i]??i)),s&&s!=="none"&&(Ml("bleed","frame-displace"),f("frame-displace",s)),o&&(Ml("offset","frame-offset"),f("frame-offset",o)),a&&(Ml("aspect","frame-aspect"),f("frame-aspect",a)),l&&(Ml("place","frame-place"),f("frame-place",l));const d=new rw("div",{},r.toArray());return u.push(d),Ne({rune:"showcase",tag:"div",properties:c,refs:{viewport:d},children:u})}}),{Tag:ir}=B,gZ=new Set(["video","audio","figure"]);function ZC(n){for(const e of n){if(!B.Tag.isTag(e))continue;const t=e.attributes?.["data-rune"];if(e.name==="rf-sandbox"||t||gZ.has(e.name))return e;const r=ZC(e.children);if(r)return r}}function OZ(n){return n.name==="rf-sandbox"?"sandbox":String(n.attributes?.["data-rune"]??n.name)}const vZ={attributes:{preset:{type:String,required:!1,description:"Named background preset from the theme"},src:{type:String,required:!1,description:"URL of the background image"},video:{type:String,required:!1,description:"URL of a background video"},overlay:{type:String,required:!1,description:"Flat wash over the background: none | dark | light | a token name (raw CSS is deprecated)"},"overlay-opacity":{type:String,required:!1,description:"Opacity of a token-coloured overlay wash (0 to 1)"},gradient:{type:String,required:!1,matches:["to-t","to-b","to-l","to-r","to-tr","to-br","to-bl","to-tl"],description:"Gradient direction (token-driven fill)"},from:{type:String,required:!1,description:"Gradient start colour — semantic token name"},to:{type:String,required:!1,description:"Gradient end colour — semantic token name"},via:{type:String,required:!1,description:"Optional middle gradient stop — semantic token name"},"gradient-type":{type:String,required:!1,matches:["linear","radial","conic"],description:"Gradient type: linear (default), radial, conic"},blur:{type:String,required:!1,matches:["none","sm","md","lg"],description:"Blur intensity applied to the background"},position:{type:String,required:!1,description:"CSS background-position value"},fit:{type:String,required:!1,matches:["cover","contain"],description:"How the background image fills its container"},opacity:{type:String,required:!1,description:"Opacity of the background layer (0 to 1)"},fixed:{type:Boolean,required:!1,description:"Fix the background so it stays in place while scrolling"}},transform(n,e){const t=n.transformAttributes(e),r=[];t.preset&&r.push(new ir("meta",{"data-field":"bg-preset",content:t.preset})),t.src&&r.push(new ir("meta",{"data-field":"bg-src",content:t.src})),t.video&&r.push(new ir("meta",{"data-field":"bg-video",content:t.video})),t.overlay&&t.overlay!=="none"&&r.push(new ir("meta",{"data-field":"bg-overlay",content:t.overlay})),t["overlay-opacity"]&&r.push(new ir("meta",{"data-field":"bg-overlay-opacity",content:t["overlay-opacity"]})),t.gradient&&r.push(new ir("meta",{"data-field":"bg-gradient",content:t.gradient})),t.from&&r.push(new ir("meta",{"data-field":"bg-from",content:t.from})),t.to&&r.push(new ir("meta",{"data-field":"bg-to",content:t.to})),t.via&&r.push(new ir("meta",{"data-field":"bg-via",content:t.via})),t["gradient-type"]&&r.push(new ir("meta",{"data-field":"bg-gradient-type",content:t["gradient-type"]})),t.blur&&t.blur!=="none"&&r.push(new ir("meta",{"data-field":"bg-blur",content:t.blur})),t.position&&t.position!=="center"&&r.push(new ir("meta",{"data-field":"bg-position",content:t.position})),t.fit&&t.fit!=="cover"&&r.push(new ir("meta",{"data-field":"bg-fit",content:t.fit})),t.opacity&&t.opacity!=="1"&&r.push(new ir("meta",{"data-field":"bg-opacity",content:t.opacity})),t.fixed&&r.push(new ir("meta",{"data-field":"bg-fixed",content:"true"}));const i=[];if(n.children?.length){const o=n.children.map(l=>B.transform(l,e)).flat().filter(Boolean),a=ZC(o);if(a){const l=OZ(a);l!=="sandbox"?console.warn(`[refrakt] bg backdrop guest must be presentational (a sandbox); "${l}" carries content chrome — place it in the media zone as a positioned guest, or use \`bg video="…"\` for a bare video backdrop.`):(a.attributes={...a.attributes,"data-bg-guest":"","data-guest-posture":"backdrop","data-height":"fill","data-activation":"eager"},i.push(a))}}return new ir("div",{"data-bg-source":!0},[...r,...i])}},{Tag:ua}=B,bZ=["date-desc","date-asc","title-asc","title-desc"],yZ=["list","grid","compact"],wZ=He({attributes:{folder:{type:String,required:!0,description:'Content folder path to list blog posts from (e.g. "/blog")'},sort:{type:String,required:!1,default:"date-desc",matches:bZ.slice(),description:"Sort order: date-desc, date-asc, title-asc, title-desc"},filter:{type:String,required:!1,default:"",description:'Filter expression to match against frontmatter fields (e.g. "tag:javascript" or "draft:false")'},limit:{type:Number,required:!1,description:"Maximum number of posts to display"},layout:{type:String,required:!1,default:"list",matches:yZ.slice(),description:"Display layout: list, grid, or compact"}},contentModel:{type:"sequence",fields:[{name:"headline",match:"heading",optional:!0},{name:"blurb",match:"paragraph",optional:!0}]},transform(n,e,t){const r=[n.headline,n.blurb].filter(Boolean),i=new ze(B.transform(r,t)),s=new ua("meta",{content:e.folder}),o=new ua("meta",{content:e.sort||"date-desc"}),a=new ua("meta",{content:e.filter||""}),l=new ua("meta",{content:e.limit!=null?String(e.limit):""}),c=new ua("meta",{content:e.layout||"list"}),u=new ua("div",{},[]),f=vl(i),d=i.count()>0?[i.wrap("header").next()]:[],h=[s,o,a,l,c,...d,u];return Ne({rune:"blog",schemaOrgType:"Blog",tag:"section",property:"contentSection",properties:{folder:s,sort:o,filter:a,limit:l,layout:c},refs:{...f,posts:u},children:h})}}),{Tag:_Z}=B,Rv="xref",kZ={selfClosing:!0,inline:!0,attributes:{primary:{type:String,required:!0,description:"Entity ID or name to resolve"},label:{type:String,required:!1,description:"Custom link text (defaults to entity title)"},type:{type:String,required:!1,description:"Entity type hint for disambiguation"},preview:{type:String,required:!1,matches:["drawer"],description:"Preview target. `\"drawer\"` hoists a drawer containing the entity's expanded content + a link to its resolved page URL in the chrome footer, leaving an inline link at the call site that opens it. Absent → today's behaviour (just the inline link). SPEC-078."}},transform(n,e){const t=n.attributes.primary,r=n.attributes.label,i=n.attributes.type,s=n.attributes.preview,o={"data-rune":Rv,"data-xref-id":t};return r&&(o["data-xref-label"]=r),i&&(o["data-xref-type"]=i),s&&(o["data-xref-preview"]=s),new _Z("span",o,[r||t])}},{Tag:xZ}=B,Iv="expand-pending",SZ={selfClosing:!0,attributes:{primary:{type:String,required:!0,description:"Entity ID or name to substitute inline. Same lookup chain as xref."},level:{type:Number,required:!1,description:"Optional heading-demotion opt-in. When set, embedded headings shift by `N - 1` and the embed joins the host outline instead of staying TOC-isolated."},type:{type:String,required:!1,description:"Entity type hint for disambiguation when the same ID/name lives in multiple registries."},canonical:{type:Boolean,required:!1,description:`When true, append a visible "View canonical" link pointing at the entity's canonical URL.`},label:{type:String,required:!1,description:"Custom label for the canonical link (only meaningful when `canonical=true`)."}},transform(n,e){const t=n.attributes.primary,r=n.attributes.level,i=n.attributes.type,s=n.attributes.canonical===!0,o=n.attributes.label,a={"data-rune":Iv,"data-expand-id":t};return typeof r=="number"&&(a["data-expand-level"]=String(r)),i&&(a["data-expand-type"]=i),s&&(a["data-expand-canonical"]="true"),o&&(a["data-expand-label"]=o),new xZ("div",a,[])}},{Ast:yG}=B,AZ="__deferred-body";function Nv(n){const e=n[AZ];return typeof e=="string"&&e.length>0?e:void 0}function Bv(n,e,t){const r=B.parse(n),i={...e??{},variables:{...e?.variables??{},...t}},s=B.transform(r,i);return B.Tag.isTag(s)&&s.name==="article"&&!s.attributes?.class&&!s.attributes?.["data-rune"]?s.children:s}const{Tag:sw}=B,FC="__collection-sentinel",CZ=He({attributes:{type:{type:String,required:!1,default:"",description:"Entity type(s), comma-separated."},filter:{type:String,required:!1,default:"",description:"field:value clauses (SPEC-070 grammar)."},sort:{type:String,required:!1,default:"",description:"Sort field (prefix - for descending)."},group:{type:String,required:!1,default:"",description:"Group-by field."},limit:{type:String,required:!1,default:"",description:"Max items."},show:{type:String,required:!1,default:"",description:"Alias for type (entity types to include)."},fields:{type:String,required:!1,default:"",description:"Comma-separated data fields to project."},layout:{type:String,required:!1,default:"list",description:"Arrangement: list (stacked) | grid (multi-column) | table (aligned columns). Item chrome comes from the item — the no-body built-in, or a rune like {% card %} in the body template."},"group-display":{type:String,required:!1,default:"headings",matches:["headings","accordion"],description:"How groups are presented when `group` is set: headings (default) or accordion (collapsible native <details> panels, styled like the accordion rune, with a per-group count)."},empty:{type:String,required:!1,default:"",description:"Fallback text shown when the query yields nothing (no-body form; body-template form uses a fallback zone). Absent → render nothing."}},deferBody:!0,contentModel:{type:"sequence",fields:[]},transform(n,e){const t=(o,a)=>new sw("meta",{"data-field":o,content:a}),r=Nv(e)??"",i=[t("collection-type",String(e.type??e.show??"")),t("collection-filter",String(e.filter??"")),t("collection-sort",String(e.sort??"")),t("collection-group",String(e.group??"")),t("collection-limit",String(e.limit??"")),t("collection-fields",String(e.fields??"")),t("collection-layout",String(e.layout??"list")),t("collection-group-display",String(e["group-display"]??"headings")),t("collection-empty",String(e.empty??"")),t(FC,"true")];r&&i.push(t("collection-body",r));const s=new sw("div",{"data-name":"items"},[]);return Ne({rune:"collection",tag:"section",properties:{},refs:{items:s},children:[...i,s]})}}),{Tag:ow}=B,XC="__relationships-sentinel",TZ=He({attributes:{of:{type:String,required:!1,default:"",description:"Entity to describe — an id (e.g. `of=$item.id`) or a bound entity."},kind:{type:String,required:!1,default:"",description:'Edge kinds to include, comma-separated (e.g. "blocks,blocked-by").'},type:{type:String,required:!1,default:"",description:"Restrict related entity types, comma-separated."},group:{type:String,required:!1,default:"kind",description:"Group-by: kind (default) | type | none."},"group-display":{type:String,required:!1,default:"headings",matches:["headings","accordion"],description:"How groups are presented: headings (default) or accordion (collapsible native <details> panels, styled like the accordion rune, with a per-group count)."},sort:{type:String,required:!1,default:"",description:"Sort related entities by a field (prefix - for descending)."},limit:{type:String,required:!1,default:"",description:"Max edges."},fields:{type:String,required:!1,default:"",description:"Comma-separated data fields to project in the no-body built-in."},layout:{type:String,required:!1,default:"list",description:"Arrangement: list (stacked) | grid (multi-column). Item chrome comes from the item — the no-body built-in, or a rune like {% card %} in the body template."},empty:{type:String,required:!1,default:"",description:"Fallback text shown when there are no edges (no-body form; body form uses a fallback zone). Absent → render nothing."}},deferBody:!0,contentModel:{type:"sequence",fields:[]},transform(n,e){const t=(l,c)=>new ow("meta",{"data-field":l,content:c}),r=Nv(e)??"",i=e.of,s=String(i&&typeof i=="object"?i.id??"":i??""),o=[t("relationships-of",s),t("relationships-kind",String(e.kind??"")),t("relationships-type",String(e.type??"")),t("relationships-group",String(e.group??"kind")),t("relationships-group-display",String(e["group-display"]??"headings")),t("relationships-sort",String(e.sort??"")),t("relationships-limit",String(e.limit??"")),t("relationships-fields",String(e.fields??"")),t("relationships-layout",String(e.layout??"list")),t("relationships-empty",String(e.empty??"")),t(XC,"true")];r&&o.push(t("relationships-body",r));const a=new ow("div",{"data-name":"items"},[]);return Ne({rune:"relationships",tag:"section",properties:{},refs:{items:a},children:[...o,a]})}}),{Tag:PZ}=B,VC="__aggregate-sentinel",EZ=He({attributes:{type:{type:String,required:!1,default:"",description:"Entity type(s), comma-separated."},filter:{type:String,required:!1,default:"",description:"field:value clauses defining the primary set being measured (SPEC-070 grammar)."},value:{type:String,required:!1,default:"",description:'Optional secondary field:value clause defining the achieved subset within `filter` (e.g. value="status:done"). When set, $item.value is the count matching both; $item.percent is the ratio. Without it, the rune is a pure count + breakdown — no progress-bar semantics.'},group:{type:String,required:!1,default:"",description:"Group-by field; omit to render the body once with totals."},sort:{type:String,required:!1,default:"",description:"Sort groups by `key`, `count`, `value`, or `percent` (prefix `-` for descending). Honors SPEC-072 domain-aware ordering when the group field has one."},limit:{type:String,required:!1,default:"",description:"Cap the number of groups (after sort)."},empty:{type:String,required:!1,default:"",description:"Fallback text shown when the query matches no entities (self-closing form; body form uses a fallback zone). Absent → render nothing."},layout:{type:String,required:!1,default:"",matches:["chart"],description:"Render mode. Default: inline integer (no body) or body-zoned template. `chart` draws the grouped counts as an SVG via the `chart` rune's pipeline instead of a body."},"chart-type":{type:String,required:!1,default:"bar",matches:["bar","line","area","pie"],description:'Chart visualization type when layout="chart" (default bar).'},"chart-title":{type:String,required:!1,default:"",description:'Title for the chart (rendered as the data table caption) when layout="chart".'}},deferBody:!0,contentModel:{type:"sequence",fields:[]},transform(n,e){const t=(a,l)=>new PZ("meta",{"data-field":a,content:l}),r=Nv(e)??"",i=r.length>0,s=String(e.layout??""),o=[t("aggregate-type",String(e.type??"")),t("aggregate-filter",String(e.filter??"")),t("aggregate-value",String(e.value??"")),t("aggregate-group",String(e.group??"")),t("aggregate-sort",String(e.sort??"")),t("aggregate-limit",String(e.limit??"")),t("aggregate-empty",String(e.empty??"")),t("aggregate-layout",s),t("aggregate-chart-type",String(e["chart-type"]??"bar")),t("aggregate-chart-title",String(e["chart-title"]??"")),t(VC,"true")];return r&&o.push(t("aggregate-body",r)),Ne({rune:"aggregate",tag:i||s==="chart"?"section":"span",properties:{},children:o})}}),{Tag:aw}=B,WC="__file-ref-sentinel",$Z=He({attributes:{path:{type:String,required:!0,description:"Project-root-relative file path. Same sandbox as snippet — absolute paths, traversal escapes, and out-of-root symlinks are rejected."},lines:{type:String,required:!1,description:'Line range. `"42-58"` (range), `"42"` (single line). Drives both the GitHub anchor (#L42-L58) and the drawer-body snippet slice when `preview="drawer"`.'},label:{type:String,required:!1,description:"Display text for the inline link. Defaults to the filename (e.g. `token-contract.ts`). Pass an explicit label when the file-ref refers to a symbol within the file rather than the file itself."},preview:{type:String,required:!1,matches:["drawer"],description:'Preview target. `"drawer"` hoists a drawer with the file\'s snippet + a GitHub footer link, leaving an inline link at the call site that opens it. Absent → no preview, just the inline link.'}},selfClosing:!0,contentModel:{type:"sequence",fields:[]},transform(n,e){const t=String(e.path??""),r=e.lines!==void 0?String(e.lines):"",i=e.label!==void 0?String(e.label):"",s=e.preview!==void 0?String(e.preview):"",o=QZ(t),a=(u,f)=>new aw("meta",{"data-field":u,content:f}),l=[a("file-ref-path",t),a("file-ref-lines",r),a("file-ref-label",i),a("file-ref-preview",s),a(WC,"true")],c=new aw("a",{},[i||o]);return Ne({rune:"file-ref",tag:"span",properties:{},refs:{link:c},children:[...l,c]})}});function QZ(n){if(!n)return"";const e=n.endsWith("/")?n.slice(0,-1):n,t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}const{Tag:Ci}=B,LZ=/^h([1-6])$/;function MZ(n,e){const t=n.attributes?.[e];return typeof t=="string"?t:void 0}function qZ(n,e,t){for(const r of n){const i=[],s=new Set;vg(r.renderable,o=>{const a=MZ(o,"data-drawer-id");if(!a){t.error("drawer rune is missing required `id` attribute",r.url);return}s.has(a)&&t.warn(`drawer id="${a}" is declared more than once on this page — last declaration wins`,r.url),s.add(a),i.push({id:a,title:DZ(o),side:Po(o,"side")??"right",size:Po(o,"size")??"md",shortcut:Po(o,"shortcut")})});for(const o of i)e.register({type:"drawer",id:o.id,scope:"page",sourceUrl:`${r.url}#drawer-${o.id}`,data:{title:o.title,side:o.side,size:o.size,shortcut:o.shortcut}})}}function vg(n,e){if(Array.isArray(n)){for(const r of n)vg(r,e);return}if(!Ci.isTag(n))return;const t=n;if(t.attributes?.["data-rune"]==="drawer"){e(t);return}if(t.children)for(const r of t.children)vg(r,e)}function DZ(n){const e=YC(n,"title");if(!e)return;const t=bg(e);return t.length>0?t:void 0}function YC(n,e){if(n.attributes?.["data-name"]===e)return n;for(const t of n.children??[])if(Ci.isTag(t)){const r=YC(t,e);if(r)return r}}function bg(n){return typeof n=="string"?n:Array.isArray(n)?n.map(bg).join(""):Ci.isTag(n)?(n.children??[]).map(bg).join(""):""}function RZ(n){const e={lastHeadingLevel:0,mutated:!1},t=yg(n,e);return e.mutated?t:n}function yg(n,e){if(typeof n=="string"||typeof n=="number"||n==null)return n;if(Array.isArray(n)){let a=!1;const l=n.map(c=>{const u=yg(c,e);return u!==c&&(a=!0),u});return a?l:n}if(!Ci.isTag(n))return n;const t=n,r=LZ.exec(t.name);if(t.attributes?.[mg]==="true"){const a=e.lastHeadingLevel===0?1:e.lastHeadingLevel,l=Math.min(6,Math.max(1,a+1));e.mutated=!0;const c={...t.attributes};return delete c[mg],new Ci(`h${l}`,c,t.children)}if(r&&(e.lastHeadingLevel=Number(r[1])),!t.children||t.children.length===0)return t;let s=!1;const o=t.children.map(a=>{const l=yg(a,e);return l!==a&&(s=!0),l});return s?new Ci(t.name,t.attributes,o):t}const jv="hoist-drawer",UC=new Map;function GC(n,e){UC.set(n,e)}function IZ(n){const e={},t=n.attributes;if(!t)return e;for(const[r,i]of Object.entries(t))r.startsWith("data-")&&typeof i=="string"&&(e[r.slice(5)]=i);return e}function NZ(n,e,t,r,i){const s=BZ(n),o=new Map,l={payloads:o,seenIds:new Set,authorIds:s,drawerDepth:0,pageUrl:e,ctx:i,mutated:!1},c=wg(n,l);if(o.size===0)return l.mutated?c:n;const u={pageUrl:e,registry:t,projectRoot:r,ctx:i},f=[];for(const d of o.values()){const h=d.source;if(!h){i.warn(`hoist drawer payload is missing required \`source\` attribute (target-id=${d["target-id"]??"?"})`,e);continue}const m=UC.get(h);if(!m){i.warn(`hoist drawer source "${h}" has no registered builder — skipping target-id=${d["target-id"]??"?"}`,e);continue}const p=m(d,u);p&&f.push(p)}if(f.length===0)return c;if(Array.isArray(c))return[...c,...f];if(Ci.isTag(c)){const d=c;return new Ci(d.name,d.attributes,[...d.children??[],...f])}return[c,...f]}function BZ(n){const e=new Set,t=r=>{if(Array.isArray(r)){for(const s of r)t(s);return}if(!Ci.isTag(r))return;const i=r;if(i.attributes?.["data-rune"]==="drawer"){const s=i.attributes?.["data-drawer-id"];typeof s=="string"&&e.add(s);return}for(const s of i.children??[])t(s)};return t(n),e}function wg(n,e){if(Array.isArray(n)){let o=!1;const a=[];for(const l of n){const c=wg(l,e);c!==l&&(o=!0),c!==ql&&a.push(c)}return o?(e.mutated=!0,a):n}if(!Ci.isTag(n))return n;const t=n;if(t.name==="meta"&&t.attributes?.["data-field"]===jv){const o=IZ(t),a=o["target-id"];return a?e.authorIds.has(a)?(e.ctx.info(`Hoist preview "${a}" (source=${o.source??"?"}) collides with an author-declared {% drawer id="${a}" %} on this page — author drawer wins, hoist defers.`,e.pageUrl),ql):(e.drawerDepth>0&&e.ctx.info(`Hoist preview "${a}" (source=${o.source??"?"}) appears inside another drawer's body — nested previews stack on modern browsers, consider not nesting.`,e.pageUrl),e.seenIds.has(a)||(e.payloads.set(a,o),e.seenIds.add(a)),ql):(e.ctx.warn("hoist drawer sentinel is missing required `data-target-id` attribute",e.pageUrl),ql)}const r=t.attributes?.["data-rune"]==="drawer";if(r&&e.drawerDepth++,!t.children||t.children.length===0)return r&&e.drawerDepth--,t;let i=!1;const s=[];for(const o of t.children){const a=wg(o,e);a!==o&&(i=!0),a!==ql&&s.push(a)}return r&&e.drawerDepth--,i?(e.mutated=!0,new Ci(t.name,t.attributes,s)):t}const ql=Symbol("hoist-strip");function jZ(n,e){const t=n.toLowerCase().replace(/[^a-z0-9.]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");if(!e)return t;const r=e.trim(),i=r.indexOf("-");if(i<0)return`${t}-L${r}`;const s=r.slice(0,i).trim(),o=r.slice(i+1).trim();return o?`${t}-L${s}-L${o}`:`${t}-L${s}`}function zZ(n){return n.split(void 0).join("/")}function HC(n,e){if(typeof n!="string"||n.length===0)throw new ar("snippet `path` attribute is required");(void 0)(n);const r=(void 0)((void 0)(e,n)),i=e.endsWith(void 0)?e:e+void 0;if(!r.startsWith(i)&&r!==e)throw new ar(`snippet path "${n}" escapes the project root after normalization`);try{const s=(void 0)(r);if(!s.startsWith(i)&&s!==e)throw new ar(`snippet path "${n}" resolves through a symlink that escapes the project root`)}catch(s){if(s.code!=="ENOENT")throw s}return r}function ZZ(n){if(n==null||n==="")return null;if(typeof n!="string")throw new ar(`snippet \`lines\` attribute must be a string, got ${typeof n}`);const e=n.trim();if(e.length===0)return null;if(/^\d+$/.test(e)){const a=Number(e);if(!Number.isFinite(a)||a<1)throw new ar(`snippet \`lines\` value "${n}" is not a positive integer`);return{start:a,end:a}}const t=/^(\d*)-(\d*)$/.exec(e);if(!t)throw new ar(`snippet \`lines\` value "${n}" is malformed; expected "N", "N-M", "N-", or "-M"`);const r=t[1],i=t[2],s=r.length>0?Number(r):void 0,o=i.length>0?Number(i):void 0;if(s!==void 0&&(!Number.isFinite(s)||s<1))throw new ar(`snippet \`lines\` start "${r}" is not a positive integer`);if(o!==void 0&&(!Number.isFinite(o)||o<1))throw new ar(`snippet \`lines\` end "${i}" is not a positive integer`);if(s!==void 0&&o!==void 0&&o<s)throw new ar(`snippet \`lines\` value "${n}" is inverted (end before start)`);return{start:s,end:o}}function FZ(n,e){if(e===null)return{sliced:n,warnings:[]};const t=n.split(`
|
|
324
|
+
`).trim()}return""}const J9=He({attributes:{src:{type:String,required:!1,description:"Directory containing external source files"},framework:{type:String,required:!1,description:"JavaScript framework for the sandbox"},dependencies:{type:String,required:!1,description:"Comma-separated npm packages to include"},label:{type:String,required:!1,description:"Label displayed above the sandbox"},height:{type:[Number,String],required:!1,description:'Height of the sandbox iframe: pixels, "fill" (host owns height), or auto'},context:{type:String,required:!1,description:"Shared context scope for multiple sandboxes"},activation:{type:String,required:!1,matches:["eager","visible","click"],description:"When to mount the iframe: eager (default) | visible | click"},poster:{type:String,required:!1,description:"Poster image URL shown until a non-eager sandbox activates"},data:{type:String,required:!1,description:'Registry query (SPEC-070 field-match, e.g. "type:page") bound into the iframe as window.RF_DATA'},"data-fields":{type:String,required:!1,description:"Comma-separated entity data fields to project into the payload"},"data-shape":{type:String,required:!1,description:"Payload shape: flat (default) | tree (nest by parentUrl) | graph (nodes + SPEC-072 edges)"},"data-limit":{type:Number,required:!1,description:"Max records in the payload (default 500)"}},contentModel:{type:"sequence",fields:[]},transform(n,e,t,r){const i=e.src??"",s=e.framework??"",o=e.dependencies??"",a=e.label??"",l=e.height,c=e.data??"",u=e["data-fields"]??"",f=e["data-shape"]??"",d=e["data-limit"],h=e.activation==="visible"||e.activation==="click"?e.activation:"",m=e.poster??"";let p="",O=[];const v=t.variables?.__sandboxReadFile,b=t.variables?.__sandboxListDir,_=t.variables?.__sandboxDirExists,A=t.variables?.__sandboxExamplesDir;if(i&&v&&b&&A){const E=A.endsWith("/")?A+i:A+"/"+i,T=H9(E,i,v,b,_);T.errors.length>0?(p=`<div data-source="HTML"><pre style="color:red;padding:1rem">${T.errors.join(`
|
|
325
|
+
`)}</pre></div>`,O=[]):(p=T.content,O=T.panels.map(Q=>({label:Q.label,language:Q.language,content:Q.content,origin:Q.origin})));const $=ew(r,t);$&&(p=K9(p,$),O=J0(p))}else p=ew(r,t),O=J0(p);const w=t.variables?.__securityPolicy??{trust:"trusted",allowJs:!0,sandboxOrigin:void 0},y=C6(p,w),S=y?new Zu("pre",{"data-language":"html"},[new Zu("code",{"data-language":"html"},[y])]):void 0,C=O.filter(E=>E.origin).map(E=>`${E.label} ${E.origin}`),k=[];S&&k.push(new Zu("template",{"data-content":"fallback"},[S])),k.push(new Zu("template",{"data-content":"source"},[y]));const x=Ne({rune:"sandbox",tag:"div",children:k});return x.name="rf-sandbox",Object.assign(x.attributes,{"data-source-content":y,...s?{"data-framework":s}:{},...o?{"data-dependencies":o}:{},...a?{"data-label":a}:{},"data-height":typeof l=="number"?String(l):l==="fill"?"fill":typeof l=="string"&&/^\d+$/.test(l)?l:"auto",...C.length>0?{"data-source-origins":C.join(`
|
|
326
|
+
`)}:{},"data-security-mode":w.trust,"data-allow-js":w.allowJs?"true":"false",...w.sandboxOrigin?{"data-sandbox-origin":w.sandboxOrigin}:{},...h?{"data-activation":h,...m?{"data-poster":m}:{}}:{},...c?{"data-rf-query":c,...u?{"data-rf-fields":u}:{},...f?{"data-rf-shape":f}:{},...d!=null?{"data-rf-limit":String(d)}:{}}:{}}),x}}),eZ={selfClosing:!0,attributes:{name:{type:String,required:!0,description:'Icon name, optionally prefixed with group (e.g., "rocket" or "hint/warning")'},size:{type:String,required:!1,description:"CSS size override for the icon"}},transform(n,e){const t=n.attributes.name,r=n.attributes.size;return gC(t,e,{size:r}).tag}},{Tag:tw}=B,tZ=["left","center","right"],nZ=["default","accent","editorial"],rZ=He({attributes:{align:{type:String,required:!1,matches:tZ.slice(),description:"Text alignment of the quote"},variant:{type:String,required:!1,matches:nZ.slice(),description:"Visual style of the quote block"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=new tw("meta",{content:e.align??"center"}),s=new tw("meta",{content:e.variant??"default"}),o=r.tag("blockquote"),l=[...o.count()>0?o.limit(1).toArray():r.tag("p").toArray(),i,s];return Ne({rune:"pull-quote",tag:"blockquote",properties:{align:i,variant:s},children:l})}}),{Tag:Fu}=B,iZ=["left","center","right","justify"],sZ=He({attributes:{dropcap:{type:Boolean,required:!1,description:"Style the first letter as a large drop cap"},columns:{type:Number,required:!1,description:"Number of text columns"},lead:{type:Boolean,required:!1,description:"Style the first paragraph as a lead"},align:{type:String,required:!1,matches:iZ.slice(),description:"Text alignment"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.dropcap??!1,s=e.columns??1,o=e.lead??!1,a=e.align??"left",l=i?new Fu("meta",{content:"dropcap"}):void 0,c=s>1?new Fu("meta",{content:String(s)}):void 0,u=o?new Fu("meta",{content:"lead"}):void 0,f=a!=="left"?new Fu("meta",{content:a}):void 0,d=r.wrap("div"),h=[];return l&&h.push(l),c&&h.push(c),u&&h.push(u),f&&h.push(f),h.push(d.next()),Ne({rune:"text-block",tag:"div",properties:{...l?{dropcap:l}:{},...c?{columns:c}:{},...u?{lead:u}:{},...f?{align:f}:{}},refs:{body:d.tag("div")},children:h})}}),{Tag:Ll}=B,oZ=["left","right"],aZ=["1:2","1:1","2:1"],lZ=He({attributes:{align:{type:String,required:!1,matches:oZ.slice(),description:"Side the media appears on"},ratio:{type:String,required:!1,matches:aZ.slice(),description:"Width ratio between media and text"},wrap:{type:Boolean,required:!1,description:"Wrap text around the media"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.align??"left",s=e.ratio??"1:1",o=e.wrap??!1,a=new Ll("meta",{content:i}),l=new Ll("meta",{content:s}),c=o?new Ll("meta",{content:"true"}):void 0,u=[],f=[];for(const p of r.toArray())B.Tag.isTag(p)&&p.name==="p"&&p.children.length===1&&B.Tag.isTag(p.children[0])&&p.children[0].name==="img"?u.push(p.children[0]):B.Tag.isTag(p)&&p.name==="img"?u.push(p):f.push(p);const d=new Ll("div",{},u),h=new Ll("div",{},f),m=[a,l];return c&&m.push(c),m.push(d,h),Ne({rune:"media-text",tag:"div",properties:{align:a,ratio:l,...c?{wrap:c}:{}},refs:{media:d,body:h},children:m})}}),{Tag:ca}=B,cZ=["background","surface","primary","secondary","accent","border"],uZ=/^\s*(\w+)\s*:\s*(.+)\s*$/;function nw(n){const e=[];for(const t of n.walk())t.type==="text"&&t.attributes.content&&e.push(t.attributes.content);return e.join(" ").trim()}function fZ(n){const e={},t={};let r="light";for(const i of n){if(i.type==="heading"){const s=nw(i).toLowerCase();s==="dark"?r="dark":s==="light"&&(r="light");continue}if(i.type==="list")for(const s of i.children){const a=nw(s).match(uZ);if(a){const l=a[1].toLowerCase(),c=a[2].trim();cZ.includes(l)&&(r==="dark"?t[l]=c:e[l]=c)}}}return{light:e,dark:t}}const dZ={attributes:{preset:{type:String,required:!1,description:"Named tint preset from the theme"},mode:{type:String,required:!1,matches:["auto","dark","light"],description:"Whether the tint adapts to auto, dark, or light mode"}},transform(n,e){const t=n.transformAttributes(e).preset,r=n.transformAttributes(e).mode,{light:i,dark:s}=fZ(n.children),o=[];t?o.push(new ca("meta",{"data-field":"tint",content:t})):(Object.keys(i).length>0||Object.keys(s).length>0)&&o.push(new ca("meta",{"data-field":"tint",content:"custom"})),r&&r!=="auto"&&o.push(new ca("meta",{"data-field":"tint-mode",content:r}));for(const[a,l]of Object.entries(i))o.push(new ca("meta",{"data-field":`tint-${a}`,content:l}));for(const[a,l]of Object.entries(s))o.push(new ca("meta",{"data-field":`tint-dark-${a}`,content:l}));return new ca("div",{"data-tint-source":!0},o)}},{Tag:rw}=B,hZ=["none","soft","hard","elevated"],pZ=["none","top","bottom","both","end","bottom-end","top-end"],mZ={soft:"sm",hard:"md",elevated:"lg"},iw=new Set;function Ml(n,e){iw.has(n)||(iw.add(n),console.warn(`[refrakt] showcase \`${n}\` is deprecated (SPEC-086) — use \`${e}\`. The alias will be removed in a future minor.`))}const gZ=He({attributes:{shadow:{type:String,required:!1,matches:hZ.slice(),description:"Shadow style around the showcase content"},bleed:{type:String,required:!1,matches:pZ.slice(),description:"Direction content extends beyond its container"},offset:{type:String,required:!1,description:"CSS offset from the container edge"},aspect:{type:String,required:!1,description:"Aspect ratio of the showcase area"},place:{type:String,required:!1,matches:["left","center","right","top","bottom","top left","top center","top right","bottom left","bottom center","bottom right"],description:"Position of content within the showcase area"}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=new ze(B.transform(ot(n.body),t)),i=e.shadow??"none",s=e.bleed??"none",o=e.offset??"",a=e.aspect??"",l=e.place??"",c={},u=[],f=(h,m)=>{const p=new rw("meta",{content:m});c[h]=p,u.push(p)};i&&i!=="none"&&(Ml("shadow","frame-shadow"),f("frame-shadow",mZ[i]??i)),s&&s!=="none"&&(Ml("bleed","frame-displace"),f("frame-displace",s)),o&&(Ml("offset","frame-offset"),f("frame-offset",o)),a&&(Ml("aspect","frame-aspect"),f("frame-aspect",a)),l&&(Ml("place","frame-place"),f("frame-place",l));const d=new rw("div",{},r.toArray());return u.push(d),Ne({rune:"showcase",tag:"div",properties:c,refs:{viewport:d},children:u})}}),{Tag:ir}=B,OZ=new Set(["video","audio","figure"]);function ZC(n){for(const e of n){if(!B.Tag.isTag(e))continue;const t=e.attributes?.["data-rune"];if(e.name==="rf-sandbox"||t||OZ.has(e.name))return e;const r=ZC(e.children);if(r)return r}}function vZ(n){return n.name==="rf-sandbox"?"sandbox":String(n.attributes?.["data-rune"]??n.name)}const bZ={attributes:{preset:{type:String,required:!1,description:"Named background preset from the theme"},src:{type:String,required:!1,description:"URL of the background image"},video:{type:String,required:!1,description:"URL of a background video"},overlay:{type:String,required:!1,description:"Flat wash over the background: none | dark | light | a token name (raw CSS is deprecated)"},"overlay-opacity":{type:String,required:!1,description:"Opacity of a token-coloured overlay wash (0 to 1)"},gradient:{type:String,required:!1,matches:["to-t","to-b","to-l","to-r","to-tr","to-br","to-bl","to-tl"],description:"Gradient direction (token-driven fill)"},from:{type:String,required:!1,description:"Gradient start colour — semantic token name"},to:{type:String,required:!1,description:"Gradient end colour — semantic token name"},via:{type:String,required:!1,description:"Optional middle gradient stop — semantic token name"},"gradient-type":{type:String,required:!1,matches:["linear","radial","conic"],description:"Gradient type: linear (default), radial, conic"},blur:{type:String,required:!1,matches:["none","sm","md","lg"],description:"Blur intensity applied to the background"},position:{type:String,required:!1,description:"CSS background-position value"},fit:{type:String,required:!1,matches:["cover","contain"],description:"How the background image fills its container"},opacity:{type:String,required:!1,description:"Opacity of the background layer (0 to 1)"},fixed:{type:Boolean,required:!1,description:"Fix the background so it stays in place while scrolling"}},transform(n,e){const t=n.transformAttributes(e),r=[];t.preset&&r.push(new ir("meta",{"data-field":"bg-preset",content:t.preset})),t.src&&r.push(new ir("meta",{"data-field":"bg-src",content:t.src})),t.video&&r.push(new ir("meta",{"data-field":"bg-video",content:t.video})),t.overlay&&t.overlay!=="none"&&r.push(new ir("meta",{"data-field":"bg-overlay",content:t.overlay})),t["overlay-opacity"]&&r.push(new ir("meta",{"data-field":"bg-overlay-opacity",content:t["overlay-opacity"]})),t.gradient&&r.push(new ir("meta",{"data-field":"bg-gradient",content:t.gradient})),t.from&&r.push(new ir("meta",{"data-field":"bg-from",content:t.from})),t.to&&r.push(new ir("meta",{"data-field":"bg-to",content:t.to})),t.via&&r.push(new ir("meta",{"data-field":"bg-via",content:t.via})),t["gradient-type"]&&r.push(new ir("meta",{"data-field":"bg-gradient-type",content:t["gradient-type"]})),t.blur&&t.blur!=="none"&&r.push(new ir("meta",{"data-field":"bg-blur",content:t.blur})),t.position&&t.position!=="center"&&r.push(new ir("meta",{"data-field":"bg-position",content:t.position})),t.fit&&t.fit!=="cover"&&r.push(new ir("meta",{"data-field":"bg-fit",content:t.fit})),t.opacity&&t.opacity!=="1"&&r.push(new ir("meta",{"data-field":"bg-opacity",content:t.opacity})),t.fixed&&r.push(new ir("meta",{"data-field":"bg-fixed",content:"true"}));const i=[];if(n.children?.length){const o=n.children.map(l=>B.transform(l,e)).flat().filter(Boolean),a=ZC(o);if(a){const l=vZ(a);l!=="sandbox"?console.warn(`[refrakt] bg backdrop guest must be presentational (a sandbox); "${l}" carries content chrome — place it in the media zone as a positioned guest, or use \`bg video="…"\` for a bare video backdrop.`):(a.attributes={...a.attributes,"data-bg-guest":"","data-guest-posture":"backdrop","data-height":"fill","data-activation":"eager"},i.push(a))}}return new ir("div",{"data-bg-source":!0},[...r,...i])}},{Tag:ua}=B,yZ=["date-desc","date-asc","title-asc","title-desc"],wZ=["list","grid","compact"],_Z=He({attributes:{folder:{type:String,required:!0,description:'Content folder path to list blog posts from (e.g. "/blog")'},sort:{type:String,required:!1,default:"date-desc",matches:yZ.slice(),description:"Sort order: date-desc, date-asc, title-asc, title-desc"},filter:{type:String,required:!1,default:"",description:'Filter expression to match against frontmatter fields (e.g. "tag:javascript" or "draft:false")'},limit:{type:Number,required:!1,description:"Maximum number of posts to display"},layout:{type:String,required:!1,default:"list",matches:wZ.slice(),description:"Display layout: list, grid, or compact"}},contentModel:{type:"sequence",fields:[{name:"headline",match:"heading",optional:!0},{name:"blurb",match:"paragraph",optional:!0}]},transform(n,e,t){const r=[n.headline,n.blurb].filter(Boolean),i=new ze(B.transform(r,t)),s=new ua("meta",{content:e.folder}),o=new ua("meta",{content:e.sort||"date-desc"}),a=new ua("meta",{content:e.filter||""}),l=new ua("meta",{content:e.limit!=null?String(e.limit):""}),c=new ua("meta",{content:e.layout||"list"}),u=new ua("div",{},[]),f=vl(i),d=i.count()>0?[i.wrap("header").next()]:[],h=[s,o,a,l,c,...d,u];return Ne({rune:"blog",schemaOrgType:"Blog",tag:"section",property:"contentSection",properties:{folder:s,sort:o,filter:a,limit:l,layout:c},refs:{...f,posts:u},children:h})}}),{Tag:kZ}=B,Rv="xref",xZ={selfClosing:!0,inline:!0,attributes:{primary:{type:String,required:!0,description:"Entity ID or name to resolve"},label:{type:String,required:!1,description:"Custom link text (defaults to entity title)"},type:{type:String,required:!1,description:"Entity type hint for disambiguation"},preview:{type:String,required:!1,matches:["drawer"],description:"Preview target. `\"drawer\"` hoists a drawer containing the entity's expanded content + a link to its resolved page URL in the chrome footer, leaving an inline link at the call site that opens it. Absent → today's behaviour (just the inline link). SPEC-078."}},transform(n,e){const t=n.attributes.primary,r=n.attributes.label,i=n.attributes.type,s=n.attributes.preview,o={"data-rune":Rv,"data-xref-id":t};return r&&(o["data-xref-label"]=r),i&&(o["data-xref-type"]=i),s&&(o["data-xref-preview"]=s),new kZ("span",o,[r||t])}},{Tag:SZ}=B,Iv="expand-pending",AZ={selfClosing:!0,attributes:{primary:{type:String,required:!0,description:"Entity ID or name to substitute inline. Same lookup chain as xref."},level:{type:Number,required:!1,description:"Optional heading-demotion opt-in. When set, embedded headings shift by `N - 1` and the embed joins the host outline instead of staying TOC-isolated."},type:{type:String,required:!1,description:"Entity type hint for disambiguation when the same ID/name lives in multiple registries."},canonical:{type:Boolean,required:!1,description:`When true, append a visible "View canonical" link pointing at the entity's canonical URL.`},label:{type:String,required:!1,description:"Custom label for the canonical link (only meaningful when `canonical=true`)."}},transform(n,e){const t=n.attributes.primary,r=n.attributes.level,i=n.attributes.type,s=n.attributes.canonical===!0,o=n.attributes.label,a={"data-rune":Iv,"data-expand-id":t};return typeof r=="number"&&(a["data-expand-level"]=String(r)),i&&(a["data-expand-type"]=i),s&&(a["data-expand-canonical"]="true"),o&&(a["data-expand-label"]=o),new SZ("div",a,[])}},{Ast:wG}=B,CZ="__deferred-body";function Nv(n){const e=n[CZ];return typeof e=="string"&&e.length>0?e:void 0}function Bv(n,e,t){const r=B.parse(n),i={...e??{},variables:{...e?.variables??{},...t}},s=B.transform(r,i);return B.Tag.isTag(s)&&s.name==="article"&&!s.attributes?.class&&!s.attributes?.["data-rune"]?s.children:s}const{Tag:sw}=B,FC="__collection-sentinel",TZ=He({attributes:{type:{type:String,required:!1,default:"",description:"Entity type(s), comma-separated."},filter:{type:String,required:!1,default:"",description:"field:value clauses (SPEC-070 grammar)."},sort:{type:String,required:!1,default:"",description:"Sort field (prefix - for descending)."},group:{type:String,required:!1,default:"",description:"Group-by field."},limit:{type:String,required:!1,default:"",description:"Max items."},show:{type:String,required:!1,default:"",description:"Alias for type (entity types to include)."},fields:{type:String,required:!1,default:"",description:"Comma-separated data fields to project."},layout:{type:String,required:!1,default:"list",description:"Arrangement: list (stacked) | grid (multi-column) | table (aligned columns). Item chrome comes from the item — the no-body built-in, or a rune like {% card %} in the body template."},"group-display":{type:String,required:!1,default:"headings",matches:["headings","accordion"],description:"How groups are presented when `group` is set: headings (default) or accordion (collapsible native <details> panels, styled like the accordion rune, with a per-group count)."},empty:{type:String,required:!1,default:"",description:"Fallback text shown when the query yields nothing (no-body form; body-template form uses a fallback zone). Absent → render nothing."}},deferBody:!0,contentModel:{type:"sequence",fields:[]},transform(n,e){const t=(o,a)=>new sw("meta",{"data-field":o,content:a}),r=Nv(e)??"",i=[t("collection-type",String(e.type??e.show??"")),t("collection-filter",String(e.filter??"")),t("collection-sort",String(e.sort??"")),t("collection-group",String(e.group??"")),t("collection-limit",String(e.limit??"")),t("collection-fields",String(e.fields??"")),t("collection-layout",String(e.layout??"list")),t("collection-group-display",String(e["group-display"]??"headings")),t("collection-empty",String(e.empty??"")),t(FC,"true")];r&&i.push(t("collection-body",r));const s=new sw("div",{"data-name":"items"},[]);return Ne({rune:"collection",tag:"section",properties:{},refs:{items:s},children:[...i,s]})}}),{Tag:ow}=B,XC="__relationships-sentinel",PZ=He({attributes:{of:{type:String,required:!1,default:"",description:"Entity to describe — an id (e.g. `of=$item.id`) or a bound entity."},kind:{type:String,required:!1,default:"",description:'Edge kinds to include, comma-separated (e.g. "blocks,blocked-by").'},type:{type:String,required:!1,default:"",description:"Restrict related entity types, comma-separated."},group:{type:String,required:!1,default:"kind",description:"Group-by: kind (default) | type | none."},"group-display":{type:String,required:!1,default:"headings",matches:["headings","accordion"],description:"How groups are presented: headings (default) or accordion (collapsible native <details> panels, styled like the accordion rune, with a per-group count)."},sort:{type:String,required:!1,default:"",description:"Sort related entities by a field (prefix - for descending)."},limit:{type:String,required:!1,default:"",description:"Max edges."},fields:{type:String,required:!1,default:"",description:"Comma-separated data fields to project in the no-body built-in."},layout:{type:String,required:!1,default:"list",description:"Arrangement: list (stacked) | grid (multi-column). Item chrome comes from the item — the no-body built-in, or a rune like {% card %} in the body template."},empty:{type:String,required:!1,default:"",description:"Fallback text shown when there are no edges (no-body form; body form uses a fallback zone). Absent → render nothing."}},deferBody:!0,contentModel:{type:"sequence",fields:[]},transform(n,e){const t=(l,c)=>new ow("meta",{"data-field":l,content:c}),r=Nv(e)??"",i=e.of,s=String(i&&typeof i=="object"?i.id??"":i??""),o=[t("relationships-of",s),t("relationships-kind",String(e.kind??"")),t("relationships-type",String(e.type??"")),t("relationships-group",String(e.group??"kind")),t("relationships-group-display",String(e["group-display"]??"headings")),t("relationships-sort",String(e.sort??"")),t("relationships-limit",String(e.limit??"")),t("relationships-fields",String(e.fields??"")),t("relationships-layout",String(e.layout??"list")),t("relationships-empty",String(e.empty??"")),t(XC,"true")];r&&o.push(t("relationships-body",r));const a=new ow("div",{"data-name":"items"},[]);return Ne({rune:"relationships",tag:"section",properties:{},refs:{items:a},children:[...o,a]})}}),{Tag:EZ}=B,VC="__aggregate-sentinel",$Z=He({attributes:{type:{type:String,required:!1,default:"",description:"Entity type(s), comma-separated."},filter:{type:String,required:!1,default:"",description:"field:value clauses defining the primary set being measured (SPEC-070 grammar)."},value:{type:String,required:!1,default:"",description:'Optional secondary field:value clause defining the achieved subset within `filter` (e.g. value="status:done"). When set, $item.value is the count matching both; $item.percent is the ratio. Without it, the rune is a pure count + breakdown — no progress-bar semantics.'},group:{type:String,required:!1,default:"",description:"Group-by field; omit to render the body once with totals."},sort:{type:String,required:!1,default:"",description:"Sort groups by `key`, `count`, `value`, or `percent` (prefix `-` for descending). Honors SPEC-072 domain-aware ordering when the group field has one."},limit:{type:String,required:!1,default:"",description:"Cap the number of groups (after sort)."},empty:{type:String,required:!1,default:"",description:"Fallback text shown when the query matches no entities (self-closing form; body form uses a fallback zone). Absent → render nothing."},layout:{type:String,required:!1,default:"",matches:["chart"],description:"Render mode. Default: inline integer (no body) or body-zoned template. `chart` draws the grouped counts as an SVG via the `chart` rune's pipeline instead of a body."},"chart-type":{type:String,required:!1,default:"bar",matches:["bar","line","area","pie"],description:'Chart visualization type when layout="chart" (default bar).'},"chart-title":{type:String,required:!1,default:"",description:'Title for the chart (rendered as the data table caption) when layout="chart".'}},deferBody:!0,contentModel:{type:"sequence",fields:[]},transform(n,e){const t=(a,l)=>new EZ("meta",{"data-field":a,content:l}),r=Nv(e)??"",i=r.length>0,s=String(e.layout??""),o=[t("aggregate-type",String(e.type??"")),t("aggregate-filter",String(e.filter??"")),t("aggregate-value",String(e.value??"")),t("aggregate-group",String(e.group??"")),t("aggregate-sort",String(e.sort??"")),t("aggregate-limit",String(e.limit??"")),t("aggregate-empty",String(e.empty??"")),t("aggregate-layout",s),t("aggregate-chart-type",String(e["chart-type"]??"bar")),t("aggregate-chart-title",String(e["chart-title"]??"")),t(VC,"true")];return r&&o.push(t("aggregate-body",r)),Ne({rune:"aggregate",tag:i||s==="chart"?"section":"span",properties:{},children:o})}}),{Tag:aw}=B,WC="__file-ref-sentinel",QZ=He({attributes:{path:{type:String,required:!0,description:"Project-root-relative file path. Same sandbox as snippet — absolute paths, traversal escapes, and out-of-root symlinks are rejected."},lines:{type:String,required:!1,description:'Line range. `"42-58"` (range), `"42"` (single line). Drives both the GitHub anchor (#L42-L58) and the drawer-body snippet slice when `preview="drawer"`.'},label:{type:String,required:!1,description:"Display text for the inline link. Defaults to the filename (e.g. `token-contract.ts`). Pass an explicit label when the file-ref refers to a symbol within the file rather than the file itself."},preview:{type:String,required:!1,matches:["drawer"],description:'Preview target. `"drawer"` hoists a drawer with the file\'s snippet + a GitHub footer link, leaving an inline link at the call site that opens it. Absent → no preview, just the inline link.'}},selfClosing:!0,contentModel:{type:"sequence",fields:[]},transform(n,e){const t=String(e.path??""),r=e.lines!==void 0?String(e.lines):"",i=e.label!==void 0?String(e.label):"",s=e.preview!==void 0?String(e.preview):"",o=LZ(t),a=(u,f)=>new aw("meta",{"data-field":u,content:f}),l=[a("file-ref-path",t),a("file-ref-lines",r),a("file-ref-label",i),a("file-ref-preview",s),a(WC,"true")],c=new aw("a",{},[i||o]);return Ne({rune:"file-ref",tag:"span",properties:{},refs:{link:c},children:[...l,c]})}});function LZ(n){if(!n)return"";const e=n.endsWith("/")?n.slice(0,-1):n,t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}const{Tag:Ci}=B,MZ=/^h([1-6])$/;function qZ(n,e){const t=n.attributes?.[e];return typeof t=="string"?t:void 0}function DZ(n,e,t){for(const r of n){const i=[],s=new Set;vg(r.renderable,o=>{const a=qZ(o,"data-drawer-id");if(!a){t.error("drawer rune is missing required `id` attribute",r.url);return}s.has(a)&&t.warn(`drawer id="${a}" is declared more than once on this page — last declaration wins`,r.url),s.add(a),i.push({id:a,title:RZ(o),side:Po(o,"side")??"right",size:Po(o,"size")??"md",shortcut:Po(o,"shortcut")})});for(const o of i)e.register({type:"drawer",id:o.id,scope:"page",sourceUrl:`${r.url}#drawer-${o.id}`,data:{title:o.title,side:o.side,size:o.size,shortcut:o.shortcut}})}}function vg(n,e){if(Array.isArray(n)){for(const r of n)vg(r,e);return}if(!Ci.isTag(n))return;const t=n;if(t.attributes?.["data-rune"]==="drawer"){e(t);return}if(t.children)for(const r of t.children)vg(r,e)}function RZ(n){const e=YC(n,"title");if(!e)return;const t=bg(e);return t.length>0?t:void 0}function YC(n,e){if(n.attributes?.["data-name"]===e)return n;for(const t of n.children??[])if(Ci.isTag(t)){const r=YC(t,e);if(r)return r}}function bg(n){return typeof n=="string"?n:Array.isArray(n)?n.map(bg).join(""):Ci.isTag(n)?(n.children??[]).map(bg).join(""):""}function IZ(n){const e={lastHeadingLevel:0,mutated:!1},t=yg(n,e);return e.mutated?t:n}function yg(n,e){if(typeof n=="string"||typeof n=="number"||n==null)return n;if(Array.isArray(n)){let a=!1;const l=n.map(c=>{const u=yg(c,e);return u!==c&&(a=!0),u});return a?l:n}if(!Ci.isTag(n))return n;const t=n,r=MZ.exec(t.name);if(t.attributes?.[mg]==="true"){const a=e.lastHeadingLevel===0?1:e.lastHeadingLevel,l=Math.min(6,Math.max(1,a+1));e.mutated=!0;const c={...t.attributes};return delete c[mg],new Ci(`h${l}`,c,t.children)}if(r&&(e.lastHeadingLevel=Number(r[1])),!t.children||t.children.length===0)return t;let s=!1;const o=t.children.map(a=>{const l=yg(a,e);return l!==a&&(s=!0),l});return s?new Ci(t.name,t.attributes,o):t}const jv="hoist-drawer",UC=new Map;function GC(n,e){UC.set(n,e)}function NZ(n){const e={},t=n.attributes;if(!t)return e;for(const[r,i]of Object.entries(t))r.startsWith("data-")&&typeof i=="string"&&(e[r.slice(5)]=i);return e}function BZ(n,e,t,r,i){const s=jZ(n),o=new Map,l={payloads:o,seenIds:new Set,authorIds:s,drawerDepth:0,pageUrl:e,ctx:i,mutated:!1},c=wg(n,l);if(o.size===0)return l.mutated?c:n;const u={pageUrl:e,registry:t,projectRoot:r,ctx:i},f=[];for(const d of o.values()){const h=d.source;if(!h){i.warn(`hoist drawer payload is missing required \`source\` attribute (target-id=${d["target-id"]??"?"})`,e);continue}const m=UC.get(h);if(!m){i.warn(`hoist drawer source "${h}" has no registered builder — skipping target-id=${d["target-id"]??"?"}`,e);continue}const p=m(d,u);p&&f.push(p)}if(f.length===0)return c;if(Array.isArray(c))return[...c,...f];if(Ci.isTag(c)){const d=c;return new Ci(d.name,d.attributes,[...d.children??[],...f])}return[c,...f]}function jZ(n){const e=new Set,t=r=>{if(Array.isArray(r)){for(const s of r)t(s);return}if(!Ci.isTag(r))return;const i=r;if(i.attributes?.["data-rune"]==="drawer"){const s=i.attributes?.["data-drawer-id"];typeof s=="string"&&e.add(s);return}for(const s of i.children??[])t(s)};return t(n),e}function wg(n,e){if(Array.isArray(n)){let o=!1;const a=[];for(const l of n){const c=wg(l,e);c!==l&&(o=!0),c!==ql&&a.push(c)}return o?(e.mutated=!0,a):n}if(!Ci.isTag(n))return n;const t=n;if(t.name==="meta"&&t.attributes?.["data-field"]===jv){const o=NZ(t),a=o["target-id"];return a?e.authorIds.has(a)?(e.ctx.info(`Hoist preview "${a}" (source=${o.source??"?"}) collides with an author-declared {% drawer id="${a}" %} on this page — author drawer wins, hoist defers.`,e.pageUrl),ql):(e.drawerDepth>0&&e.ctx.info(`Hoist preview "${a}" (source=${o.source??"?"}) appears inside another drawer's body — nested previews stack on modern browsers, consider not nesting.`,e.pageUrl),e.seenIds.has(a)||(e.payloads.set(a,o),e.seenIds.add(a)),ql):(e.ctx.warn("hoist drawer sentinel is missing required `data-target-id` attribute",e.pageUrl),ql)}const r=t.attributes?.["data-rune"]==="drawer";if(r&&e.drawerDepth++,!t.children||t.children.length===0)return r&&e.drawerDepth--,t;let i=!1;const s=[];for(const o of t.children){const a=wg(o,e);a!==o&&(i=!0),a!==ql&&s.push(a)}return r&&e.drawerDepth--,i?(e.mutated=!0,new Ci(t.name,t.attributes,s)):t}const ql=Symbol("hoist-strip");function zZ(n,e){const t=n.toLowerCase().replace(/[^a-z0-9.]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");if(!e)return t;const r=e.trim(),i=r.indexOf("-");if(i<0)return`${t}-L${r}`;const s=r.slice(0,i).trim(),o=r.slice(i+1).trim();return o?`${t}-L${s}-L${o}`:`${t}-L${s}`}function ZZ(n){return n.split(void 0).join("/")}function HC(n,e){if(typeof n!="string"||n.length===0)throw new ar("snippet `path` attribute is required");(void 0)(n);const r=(void 0)((void 0)(e,n)),i=e.endsWith(void 0)?e:e+void 0;if(!r.startsWith(i)&&r!==e)throw new ar(`snippet path "${n}" escapes the project root after normalization`);try{const s=(void 0)(r);if(!s.startsWith(i)&&s!==e)throw new ar(`snippet path "${n}" resolves through a symlink that escapes the project root`)}catch(s){if(s.code!=="ENOENT")throw s}return r}function FZ(n){if(n==null||n==="")return null;if(typeof n!="string")throw new ar(`snippet \`lines\` attribute must be a string, got ${typeof n}`);const e=n.trim();if(e.length===0)return null;if(/^\d+$/.test(e)){const a=Number(e);if(!Number.isFinite(a)||a<1)throw new ar(`snippet \`lines\` value "${n}" is not a positive integer`);return{start:a,end:a}}const t=/^(\d*)-(\d*)$/.exec(e);if(!t)throw new ar(`snippet \`lines\` value "${n}" is malformed; expected "N", "N-M", "N-", or "-M"`);const r=t[1],i=t[2],s=r.length>0?Number(r):void 0,o=i.length>0?Number(i):void 0;if(s!==void 0&&(!Number.isFinite(s)||s<1))throw new ar(`snippet \`lines\` start "${r}" is not a positive integer`);if(o!==void 0&&(!Number.isFinite(o)||o<1))throw new ar(`snippet \`lines\` end "${i}" is not a positive integer`);if(s!==void 0&&o!==void 0&&o<s)throw new ar(`snippet \`lines\` value "${n}" is inverted (end before start)`);return{start:s,end:o}}function XZ(n,e){if(e===null)return{sliced:n,warnings:[]};const t=n.split(`
|
|
327
327
|
`),r=t.length,i=e.start??1;let s=e.end??r;const o=[];if(i>r)throw new ar(`snippet \`lines\` start ${i} is past end of file (${r} lines)`);return s>r&&(o.push(`snippet \`lines\` end ${s} exceeds file length; clamped to ${r}`),s=r),{sliced:t.slice(i-1,s).join(`
|
|
328
328
|
`),warnings:o}}function KC(n){const e=HC(n.pathAttr,n.projectRoot);let t;try{t=(void 0)(e)}catch{const l=n.referencingPage?`
|
|
329
329
|
|
|
330
330
|
Referenced from: ${n.referencingPage}`:"";throw new ar(`snippet path "${n.pathAttr}" cannot be resolved.
|
|
331
331
|
|
|
332
332
|
Resolved to: ${e}
|
|
333
|
-
Reason: file not found${l}`)}if(!t.isFile())throw new ar(`snippet path "${n.pathAttr}" must be a file (got ${t.isDirectory()?"directory":"other"})`);const r=(void 0)(e,"utf-8"),i=ZZ(n.lines),{sliced:s,warnings:o}=FZ(r,i),a=zZ((void 0)(n.projectRoot,e));return{content:s,absolutePath:e,relativePath:a,warnings:o}}function XZ(n){if(!(void 0)(HC(n.relativePath,n.projectRoot)))throw new ar(`source file "${n.relativePath}" does not exist`)}class ar extends Error{constructor(e){super(e),this.name="SnippetSandboxError"}}const VZ=Object.freeze({".ts":"typescript",".tsx":"typescript",".js":"javascript",".jsx":"javascript",".mjs":"javascript",".cjs":"javascript",".svelte":"svelte",".vue":"vue",".md":"markdoc",".markdoc":"markdoc",".json":"json",".jsonc":"jsonc",".html":"html",".css":"css",".yml":"yaml",".yaml":"yaml",".toml":"toml",".sh":"bash",".bash":"bash"}),lw="text";function JC(n){if(typeof n!="string"||n.length===0)return lw;let e;const t=Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\")),r=t>=0?n.slice(t+1):n,i=r.lastIndexOf(".");return i===-1?e="."+r.toLowerCase():i===0?e=r.toLowerCase():e=r.slice(i).toLowerCase(),VZ[e]??lw}const{Tag:fr}=B;function zv(n){return fr.isTag(n)}function Xu(n,e){for(const t of n.children??[])if(zv(t)&&t.name==="meta"&&t.attributes["data-field"]===e)return String(t.attributes.content??"");return""}function WZ(n){return(n.children??[]).some(e=>zv(e)&&e.name==="meta"&&e.attributes["data-field"]===WC)}function YZ(n){return{path:Xu(n,"file-ref-path"),lines:Xu(n,"file-ref-lines"),label:Xu(n,"file-ref-label"),preview:Xu(n,"file-ref-preview")}}function eT(n){if(!n)return"";const e=n.endsWith("/")?n.slice(0,-1):n,t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function UZ(n,e,t,r,i){const s={value:!1},o=a=>{if(Array.isArray(a)){let f=!1;const d=a.map(h=>{const m=o(h);return m!==h&&(f=!0),m});return f?d:a}if(!zv(a))return a;const l=a;if(l.attributes?.["data-rune"]==="file-ref"&&WZ(l))return GZ(l,e,t,r,i,s);if(!l.children||l.children.length===0)return l;let c=!1;const u=l.children.map(f=>{const d=o(f);return d!==f&&(c=!0),d});return c?new fr(l.name,l.attributes,u):l};return o(n)}function GZ(n,e,t,r,i,s){const o=YZ(n),a=o.label||eT(o.path)||o.path,l=jZ(o.path,o.lines),c=o.preview==="drawer",u=b6(t,r,o.path,o.lines);!u&&!s.value&&(i.warn(`file-ref on this page has no GitHub URL — site config is missing \`repoUrl\` (path="${o.path}"). Configure \`SiteConfig.repoUrl\` to render canonical "View source" links.`,e),s.value=!0);const f={};c?(f.href=`#drawer-${l}`,f["aria-controls"]=`drawer-${l}`,f["aria-expanded"]="false",f["data-target-type"]="drawer"):u&&(f.href=u);const h=[new fr("a",f,[a])];if(c){const m=new fr("meta",{"data-field":jv,"data-source":"file-ref","data-target-id":l,"data-title":a,"data-path":o.path,"data-lines":o.lines,"data-github-url":u??""});h.push(m)}return new fr(n.name,n.attributes,h)}function HZ(n,e){const t=n.path,r=n.lines,i=n.title||eT(t),s=n["target-id"],o=n["github-url"];if(!t||!s)return e.ctx.warn("file-ref hoist payload missing required path or target-id",e.pageUrl),null;if(!e.projectRoot)return e.ctx.error(`file-ref hoist for "${t}" requires a project root in the pipeline; none was threaded through. Drawer body will be empty.`,e.pageUrl),null;let a="",l="text";try{const _=KC({pathAttr:t,projectRoot:e.projectRoot,lines:r||void 0,referencingPage:e.pageUrl});a=_.content,l=JC(_.relativePath);for(const A of _.warnings)e.ctx.warn(`file-ref ${t}: ${A}`,e.pageUrl)}catch(_){const A=_ instanceof ar?_.message:`file-ref ${t}: ${_ instanceof Error?_.message:String(_)}`;return e.ctx.error(A,e.pageUrl),null}const c=new fr("pre",{"data-language":l,"data-codeblock":"true"},[new fr("code",{"data-language":l,"data-codeblock":"true"},[a])]),u=new fr("figure",{class:"rf-snippet","data-rune":"snippet","data-source-path":t,...r?{"data-lines":r}:{}},[c]),f=new fr("div",{"data-name":"body",class:"rf-drawer__body"},[u]),d=new fr("h3",{"data-name":"title",class:"rf-drawer__title"},[i]),h=new fr("button",{type:"button","aria-label":"Close",hidden:!0,"data-name":"close",class:"rf-drawer__close"},["×"]),m=new fr("header",{"data-name":"header",class:"rf-drawer__header"},[d,h]),p=[];o&&p.push(new fr("a",{href:o,rel:"external noopener",target:"_blank"},["View source on GitHub →"]));const O=p.length>0?new fr("footer",{"data-name":"footer",class:"rf-drawer__footer"},p):null,v=[m,f];return O&&v.push(O),new fr("section",{id:`drawer-${s}`,class:"rf-drawer","data-rune":"drawer","data-drawer-id":s,"data-side":"right","data-size":"md"},v)}GC("file-ref",HZ);const{Tag:Jr}=B;function KZ(n){return Jr.isTag(n)}function JZ(n,e,t,r){const i=s=>{if(Array.isArray(s)){let c=!1;const u=[];for(const f of s){const d=i(f);d!==f&&(c=!0),Array.isArray(d)?u.push(...d):u.push(d)}return c?u:s}if(!KZ(s))return s;const o=s;if(o.attributes?.["data-rune"]===Rv&&o.attributes?.["data-xref-preview"]==="drawer")return e7(o,t,r,e);if(!o.children||o.children.length===0)return o;let a=!1;const l=[];for(const c of o.children){const u=i(c);u!==c&&(a=!0),Array.isArray(u)?l.push(...u):l.push(u)}return a?new Jr(o.name,o.attributes,l):o};return i(n)}function e7(n,e,t,r){const i=n.attributes,s=String(i["data-xref-id"]??""),o=i["data-xref-label"];if(!s)return t.warn(`xref preview placeholder on ${r} has no entity id`,r),[n];const a=e?tT(e,s):void 0,l=o||(a?cw(a):s),c=a?cw(a):s,u=s,f=new Jr("a",{class:"rf-xref",href:`#drawer-${u}`,"aria-controls":`drawer-${u}`,"aria-expanded":"false","data-target-type":"drawer","data-xref-id":s},[l]),d=new Jr("meta",{"data-field":jv,"data-source":"xref","data-target-id":u,"data-title":c,"data-entity-id":s});return[f,d]}function tT(n,e){const t=n.getTypes?.()??[];for(const r of t){const i=n.getById(r,e);if(i)return i}}function cw(n){const e=n.data;return String(e.title??e.name??n.id)}function t7(n,e){const t=n["entity-id"]||n["target-id"],r=n["target-id"],i=n.title||t;if(!t||!r)return e.ctx.warn("xref hoist payload missing required entity-id or target-id",e.pageUrl),null;const s=e.registry?tT(e.registry,t):void 0,o=new Jr("h3",{"data-name":"title",class:"rf-drawer__title"},[i]),a=new Jr("button",{type:"button","aria-label":"Close",hidden:!0,"data-name":"close",class:"rf-drawer__close"},["×"]),l=new Jr("header",{"data-name":"header",class:"rf-drawer__header"},[o,a]),u=[new Jr("div",{"data-rune":Iv,"data-expand-id":t},[])],f=new Jr("div",{"data-name":"body",class:"rf-drawer__body"},u),d=s?.sourceUrl??"",h=d?new Jr("footer",{"data-name":"footer",class:"rf-drawer__footer"},[new Jr("a",{href:d},["View full page →"])]):null,m=[l,f];return h&&m.push(h),new Jr("section",{id:`drawer-${r}`,class:"rf-drawer","data-rune":"drawer","data-drawer-id":r,"data-side":"right","data-size":"md"},m)}GC("xref",t7);const{Tag:Dl}=B,n7=["fraction","percent","none"],r7=["positive","caution","negative"];function _g(n){return typeof n=="string"?n:Array.isArray(n)?n.map(_g).join(""):B.Tag.isTag(n)?_g(n.children??[]):""}const i7=He({attributes:{value:{type:Number,required:!1,description:"Completed amount (paired with `max`)."},max:{type:Number,required:!1,description:"Total amount (paired with `value`)."},percent:{type:Number,required:!1,description:"Direct percentage 0–100, when there is no count."},display:{type:String,required:!1,matches:n7.slice(),description:"Readout: fraction (default with value/max), percent, or none."},sentiment:{type:String,required:!1,matches:r7.slice(),description:"Tone cue: positive / caution / negative. Absent → the neutral primary fill."}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=e.value!=null?Number(e.value):void 0,i=e.max!=null?Number(e.max):void 0,s=e.percent!=null?Number(e.percent):void 0,o=w=>Math.max(0,Math.min(100,w)),a=r!=null&&i!=null&&Number.isFinite(r)&&Number.isFinite(i)&&i>0,l=a?o(Math.round(r/i*100)):s!=null&&Number.isFinite(s)?o(s):0,c=e.display||(a?"fraction":"percent");let u="";c==="fraction"&&a?u=`${r}/${i}`:c==="percent"&&(u=`${l}%`);const d=new ze(B.transform(ot(n.body),t)).toArray(),h=_g(d).trim(),m=e.sentiment,p=m?new Dl("meta",{content:m}):void 0,O=new Dl("span",{},[]),v=new Dl("span",{},[O]),b={track:v,fill:O},_=p?[p]:[];if(d.length>0){const w=new Dl("span",{},d);b.label=w,_.push(w)}if(u){const w=new Dl("span",{},[u]);b.value=w,_.push(w)}_.push(v);const A=Ne({rune:"progress",tag:"div",properties:p?{sentiment:p}:{},refs:b,children:_});return A.attributes.role="progressbar",A.attributes["aria-valuemin"]="0",a?(A.attributes["aria-valuenow"]=String(r),A.attributes["aria-valuemax"]=String(i)):(A.attributes["aria-valuenow"]=String(l),A.attributes["aria-valuemax"]="100"),h&&(A.attributes["aria-label"]=h),A.attributes.style=`--rf-progress: ${l}%`,A}}),{Tag:po}=B,s7=He({base:r8,attributes:{href:{type:String,required:!1,default:"",description:"Optional link target; makes the whole card clickable."},"content-place":{type:String,required:!1,description:'Cover overlay anchor: "<block> <inline>" (e.g. "end start") or "auto"'},height:{type:String,required:!1,matches:["sm","md","lg","xl"],description:"Intrinsic card height (named scale) for cover / bg-only cards"},aspect:{type:String,required:!1,description:'Intrinsic card aspect ratio (e.g. "16/9", "3/4") for cover / bg-only cards'}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const{media:r,body:i,footer:s}=s8(ot(n.body)),{metas:o,children:a}=i8(e),l=e["content-place"],c=e.height,u=e.aspect,f=l?new po("meta",{content:l}):void 0,d=c?new po("meta",{content:c}):void 0,h=u?new po("meta",{content:u}):void 0,m=[...a];if(f&&m.push(f),d&&m.push(d),h&&m.push(h),r.length>0){const x=new ze(B.transform(r,t)),E=o8(x),T=E?[E]:x.toArray();m.push(new po("div",{"data-section":"media","data-name":"media"},T))}let p,O=i;i.length>=2&&i[0].type==="paragraph"&&i[1].type==="heading"&&(p=i[0],O=i.slice(1));let v;if(p){const E=new ze(B.transform([p],t)).toArray()[0];B.Tag.isTag(E)&&(v=E)}const _=new ze(B.transform(O,t)).toArray(),A=_.find(x=>B.Tag.isTag(x)&&/^h[1-6]$/.test(x.name)),w=new po("div",{"data-name":"body"},_);let y;if(s.length>0){const x=new ze(B.transform(s,t));y=new po("footer",{"data-name":"footer"},x.toArray())}v&&m.push(v),m.push(w),y&&m.push(y);let S;const C=String(e.href??"");C&&(S=new po("a",{"data-name":"link",href:C,"aria-hidden":"true",tabindex:"-1"},[]),m.push(S));const k={body:w};return A&&(k.title=A),v&&(k.eyebrow=v),y&&(k.footer=y),S&&(k.link=S),Ne({rune:"card",tag:"div",properties:{"media-position":o.mediaPosition,"content-place":f,height:d,aspect:h},refs:k,children:m})}}),{Tag:o7}=B,a7=["positive","negative","caution","neutral"],l7=["status","category","quantity","temporal","tag","id"],c7={inline:!0,attributes:{sentiment:{type:String,required:!1,matches:a7.slice(),description:"Sentiment dimension: positive, negative, caution, neutral. Default: neutral."},type:{type:String,required:!1,matches:l7.slice(),description:"Meta-type dimension: status, category, quantity, temporal, tag, id. Default: tag."}},transform(n,e){const t=n.attributes.sentiment??"neutral",r=n.attributes.type??"tag",i={class:"rf-badge","data-rune":"badge","data-meta-sentiment":t,"data-meta-type":r},s=n.transformChildren(e);return new o7("span",i,s)}},{Tag:$p}=B;function u7(n){const e=n.findIndex(t=>t.type==="hr");return e<0?{left:n,right:[]}:{left:n.slice(0,e),right:n.slice(e+1)}}const f7=He({attributes:{},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=u7(ot(n.body)),i=B.transform(r.left,t),s=B.transform(r.right,t),o=new $p("div",{},i),a=r.right.length>0?new $p("div",{"data-align":"end"},s):null,l=a?[o,a]:[o];return new $p("div",{"data-rune":"bar","data-zone-layout":"bar"},l)}}),{Ast:Vu,Tag:mo}=B;function d7(n){const e=n.children??[];if(e.length===0)return null;let t,r;const i=e[0];if(i?.type==="inline")t=i,r=e.slice(1);else if(i?.type==="paragraph")t=i.children?.[0],r=e.slice(1);else return null;if(!t||t.type!=="inline")return null;const s=t.children??[];if(s.length===0)return null;const o=s[0];if(!o||o.type!=="strong")return null;const a=o.children??[];let l="";for(const p of a)p.type==="text"&&typeof p.attributes?.content=="string"&&(l+=p.attributes.content);if(!l.endsWith(":"))return null;const c=l.slice(0,-1),u=[new Vu.Node("text",{content:c})],f=s.slice(1),d=(()=>{const p=f[0];if(p?.type==="text"&&typeof p.attributes?.content=="string"){const O=p.attributes.content.replace(/^\s+/,"");return O===""?f.slice(1):[new Vu.Node("text",{content:O}),...f.slice(1)]}return f})(),h=d.length>0?[new Vu.Node("inline",{},d)]:[],m=h.length>0?[new Vu.Node("paragraph",{},h)]:[];return{term:u,rest:h,restBlocks:[...m,...r]}}const h7=He({attributes:{},contentModel:{type:"sequence",fields:[{name:"list",match:"list",optional:!1}]},transform(n,e,t){const i=ot(n.list).find(a=>a.type==="list");if(!i)return new mo("dl",{"data-rune":"deflist","data-zone-layout":"definition-list"},[]);const s=(i.children??[]).filter(a=>a.type==="item"),o=[];for(const a of s){const l=d7(a);let c,u;if(l){const f=B.transform(l.term,t),d=B.transform(l.restBlocks,t);c=new mo("dt",{"data-meta-label":""},f),u=new mo("dd",{},uw(d))}else{const f=B.transform(a.children??[],t);c=new mo("dt",{"data-meta-label":""},[]),u=new mo("dd",{},uw(f)),p7(a)}o.push(new mo("div",{"data-name":"row"},[c,u]))}return new mo("dl",{"data-rune":"deflist","data-zone-layout":"definition-list"},o)}});function uw(n){if(n.length!==1)return n;const e=n[0];return!B.Tag.isTag(e)||e.name!=="p"?n:e.children}const fw=new Set;function p7(n){const e=n.location??null,t=e?`${e.start?.line??"?"}:${e.start?.character??"?"}`:"unknown";fw.has(t)||(fw.add(t),console.warn(`[refrakt] {% deflist %} item at line ${e?.start?.line??"?"} lacks a \`**Term:**\` prefix — rendered with empty <dt>. Prefix the item with bold term text ending in \`:\` to label it.`))}class m7{constructor(e){this.name=e.name,this.aliases=e.aliases??[],this.schema=e.schema,this.description=e.description??"",this.seoType=e.seoType,this.typeName=e.typeName,this.schemaOrgType=e.schemaOrgType,this.authoringHints=e.authoringHints,this.category=e.category,this.snippet=e.snippet}get names(){return[this.name,...this.aliases]}}function Ue(n){return new m7(n)}function g7(n){const e={};for(const t of Object.values(n))for(const r of t.names)e[r]=t.schema;return e}const{Ast:O7}=B;class wG extends O7.Node{constructor(e,t,r,i){super(e,t,r,i)}transform(e){return super.transform(e)}}const v7=new Set(["id","type","sourceFile","sourceUrl"]);function b7(n){const e=[];let t="",r=!1;for(const i of n){if(i==='"'){r=!r;continue}if(!r&&/\s/.test(i)){t&&(e.push(t),t="");continue}t+=i}return t&&e.push(t),e}function vd(n){const e=[],t=new Map;if(!n||!n.trim())return{clauses:[],warnings:e};for(const r of b7(n)){const i=r.indexOf(":");if(i===-1){e.push(`Ignored filter clause "${r}": expected field:value`);continue}const s=r.slice(0,i);if(!s){e.push(`Ignored filter clause "${r}": empty field name`);continue}const o=r.slice(i+1),a=t.get(s);a?a.push(o):t.set(s,[o])}return{clauses:[...t.entries()].map(([r,i])=>({field:r,values:i})),warnings:e}}function nT(n,e){return e==="url"?n.sourceUrl??n.data.url??"":v7.has(e)?n[e]:n.data[e]}function y7(n){const e=n.split("*").map(t=>t.replace(/[.+?^${}()|[\]\\]/g,"\\$&"));return new RegExp("^"+e.join(".*")+"$")}const w7=/^\/(.+)\/([gimsuy]*)$/,_7=/[\\^$.+?()[\]{}|]/;function k7(n,e){const t=e.match(w7);if(t&&(t[2].length>0||_7.test(t[1])))try{return new RegExp(t[1],t[2]).test(n)}catch{return n===e}return e.includes("*")?y7(e).test(n):n===e}function x7(n){if(Array.isArray(n))return n.map(t=>String(t??""));const e=String(n??"");return e.includes(",")?e.split(",").map(t=>t.trim()):[e]}function uh(n,e){for(const t of e.clauses){const r=x7(nT(n,t.field));if(!t.values.some(s=>r.some(o=>k7(o,s))))return!1}return!0}function Ra(n){return String(n??"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[-_]+/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}const{Tag:Is,Ast:S7}=B;function Zv(n){if(!n)return{template:""};const e=B.parse(`
|
|
334
|
-
`+n),t=[[]];for(const s of e.children)s.type==="hr"?t.push([]):t[t.length-1].push(s);if(t.length===1)return{template:n};const r=s=>s.length?B.format(new S7.Node("document",{},s)):"",i=t.map(r);return i.length===2?{preamble:i[0]||void 0,template:i[1]}:{preamble:i[0]||void 0,template:i[1],fallback:i[2]||void 0}}class A7{constructor(e,t={}){this.matches=e,this.overrides=t}order(e,t){return this.overrides[e]?.[t]??this.matches[e]?.[t]}rank(e,t,r){const i=this.order(e,t);return i?i.indexOf(r):-1}}function Fv(n){const e={},t=n?.tags??{};for(const[r,i]of Object.entries(t)){const s=i?.attributes;if(s)for(const[o,a]of Object.entries(s)){const l=a?.matches;Array.isArray(l)&&l.every(c=>typeof c=="string")&&((e[r]??={})[o]=l)}}return new A7(e,n?.orderings??{})}function rT(n){return n.sourceUrl||String(n.data.url??"")}function C7(n){const e=n.data;return String(e.title??e.name??n.id)}function Vr(n,e){const t=nT(n,e);return Array.isArray(t)?t.join(", "):String(t??"")}function iT(n,e){const t=rT(n),r=C7(n),i=`${e}__title`;return t?new Is("a",{class:i,href:t},[r]):new Is("span",{class:i},[r])}function T7(n){return n.id||String(n.data?.name??"")}function Xv(n,e){const t=n.data?.status,r=t?e?.sentiments?.[n.type]?.status?.[t]??"":"";return{id:n.id,identifier:T7(n),type:n.type,url:rT(n),data:n.data,sentiment:r,mixed:e?.mixed??!1,group:e?.group??"",groupCount:e?.groupCount??0}}function P7(n,e,t){if(!e)return n;let r=e.trim(),i=1;r.startsWith("-")?(i=-1,r=r.slice(1)):r.endsWith("-desc")?(i=-1,r=r.slice(0,-5)):r.endsWith("-asc")&&(r=r.slice(0,-4));const s=t&&n.some(o=>t.order(o.type,r));return[...n].sort((o,a)=>{if(s){const d=t.rank(o.type,r,Vr(o,r)),h=t.rank(a.type,r,Vr(a,r)),m=d>=0,p=h>=0;if(m&&p){if(d!==h)return(d-h)*i}else if(m!==p)return m?-1:1}const l=Vr(o,r),c=Vr(a,r),u=Number(l),f=Number(c);return l!==""&&c!==""&&Number.isFinite(u)&&Number.isFinite(f)?(u-f)*i:l.localeCompare(c)*i})}function sT(n,e){const t=new Map;for(const r of n){const i=e(r),s=t.get(i);s?s.push(r):t.set(i,[r])}return t}function kg(n,e,t){const r=sT(n,o=>Vr(o,e)||"(none)");if(!t||![...n].some(o=>t.order(o.type,e)))return r;const i=o=>{let a=1/0;for(const l of o){const c=t.rank(l.type,e,Vr(l,e));c>=0&&c<a&&(a=c)}return a},s=[...r.entries()].sort((o,a)=>i(o[1])-i(a[1]));return new Map(s)}function oT(n){const e=n.map(t=>new Is("details",{class:"rf-accordion-item","data-group":t.key},[new Is("summary",{class:"rf-accordion-item__header"},[new Is("span",{class:"rf-accordion-item__title"},[t.label]),new Is("span",{class:"rf-accordion-item__count"},[String(t.count)])]),new Is("div",{class:"rf-accordion-item__body"},t.nodes)]));return[new Is("div",{class:"rf-accordion"},e)]}function ps(n,e,t){const r=Bv(n,e,t);return Array.isArray(r)?r:[r]}const{Tag:Wt,Ast:E7}=B;function xg(n){return iT(n,"rf-collection")}function Vv(n){return Wt.isTag(n)}function Bi(n,e){for(const t of n.children??[])if(Vv(t)&&t.name==="meta"&&t.attributes["data-field"]===e)return String(t.attributes.content??"");return""}function $7(n){return(n.children??[]).some(e=>Vv(e)&&e.name==="meta"&&e.attributes["data-field"]===FC)}function Q7(n){const e=Bi(n,"collection-limit"),t=Number(e);return{types:Bi(n,"collection-type").split(",").map(r=>r.trim()).filter(Boolean),filter:Bi(n,"collection-filter"),sort:Bi(n,"collection-sort"),group:Bi(n,"collection-group"),groupDisplay:Bi(n,"collection-group-display")||"headings",limit:e&&Number.isFinite(t)&&t>0?Math.floor(t):void 0,fields:Bi(n,"collection-fields").split(",").map(r=>r.trim()).filter(Boolean),layout:Bi(n,"collection-layout")||"list",bodySource:Bi(n,"collection-body"),empty:Bi(n,"collection-empty")}}function L7(n,e){const t=e.fields.map(r=>new Wt("span",{class:"rf-collection__field","data-field":r},[Vr(n,r)]));return e.layout==="list"?new Wt("div",{class:"rf-collection__item","data-entity-id":n.id},[xg(n)]):new Wt("article",{class:"rf-collection__card","data-entity-id":n.id},[xg(n),...t])}function M7(n,e,t){const r=B.parse(n),i=[];let s=null;for(const o of r.children)if(o.type==="heading"){const a=B.format(o).replace(/^#+\s*/,"").trim();a.includes("$item")&&e.warn(`collection: $item in a table column heading ("${a}") is not per-row; use a static label`,t),s={label:a,cellNodes:[]},i.push({label:a,cellSource:""})}else s&&(s.cellNodes.push(o),i[i.length-1].cellSource=B.format(new E7.Node("document",{},s.cellNodes)));return i}function q7(n,e,t,r,i,s){const o=M7(e,r,i);if(!t)return r.error("collection — table column templates present but no embedConfig threaded through the pipeline",i),new Wt("table",{class:"rf-collection__table"},[]);const a=new Wt("thead",{},[new Wt("tr",{},o.map(c=>new Wt("th",{},[c.label])))]),l=n.map(c=>{const u=Xv(c,s),f=o.map(d=>{const h=Bv(d.cellSource,t,{item:u}),m=Array.isArray(h)?h:[h];return new Wt("td",{},m)});return new Wt("tr",{"data-entity-id":c.id},f)});return new Wt("table",{class:"rf-collection__table"},[a,new Wt("tbody",{},l)])}function D7(n,e){const t=[new Wt("th",{},["Title"]),...e.fields.map(s=>new Wt("th",{},[Ra(s)]))],r=new Wt("thead",{},[new Wt("tr",{},t)]),i=n.map(s=>{const o=[new Wt("td",{},[xg(s)]),...e.fields.map(a=>new Wt("td",{"data-field":a},[Vr(s,a)]))];return new Wt("tr",{"data-entity-id":s.id},o)});return new Wt("table",{class:"rf-collection__table"},[r,new Wt("tbody",{},i)])}function R7(n,e,t,r,i,s){return t?n.map(o=>{const a=Xv(o,s),l=Bv(e,t,{item:a}),c=Array.isArray(l)?l:[l];return new Wt("div",{class:"rf-collection__item","data-entity-id":o.id,"data-block":""},c)}):(r.error("collection — body template present but no embedConfig threaded through the pipeline",i),[])}function Wu(n,e,t,r){if(!e.group)return r(n);const i=kg(n,e.group,t);if(e.groupDisplay==="accordion")return oT([...i].map(([o,a])=>({key:o,label:o,count:a.length,nodes:r(a,{group:o,groupCount:a.length})})));const s=[];for(const[o,a]of i)s.push(new Wt("div",{class:"rf-collection__group","data-group":o},[new Wt("h3",{class:"rf-collection__group-title"},[o]),...r(a,{group:o,groupCount:a.length})]));return s}function I7(n,e,t,r,i,s){const o=Q7(n);let a=[];for(const b of o.types)a.push(...e.getAll(b));if(o.filter){const b=vd(o.filter);for(const _ of b.warnings)i.warn(`collection filter: ${_}`,s);a=a.filter(_=>uh(_,b))}a=P7(a,o.sort,r);const l=a.length;o.limit!==void 0&&a.length>o.limit&&(a=a.slice(0,o.limit));const c={count:l,shown:a.length},u=Zv(o.bodySource),f=u.template,d={...n.attributes,"data-type":o.types.join(","),"data-layout":o.layout},m={mixed:new Set(a.map(b=>b.type)).size>1&&o.group!=="type",sentiments:t?.sentiments};if(a.length===0){const b=[];return u.fallback&&t?b.push(new Wt("div",{"data-name":"empty",class:"rf-collection__empty"},ps(u.fallback,t,c))):o.empty&&b.push(new Wt("div",{"data-name":"empty",class:"rf-collection__empty"},[o.empty])),new Wt(n.name,d,b)}let p;o.layout==="table"&&f?p=Wu(a,o,r,(b,_)=>[q7(b,f,t,i,s,{...m,..._})]):f?p=Wu(a,o,r,(b,_)=>R7(b,f,t,i,s,{...m,..._})):o.layout==="table"?p=Wu(a,o,r,b=>[D7(b,o)]):p=Wu(a,o,r,b=>b.map(_=>L7(_,o)));const O=new Wt("div",{"data-name":"items",class:"rf-collection__items"},p),v=[];return u.preamble&&t&&v.push(new Wt("div",{"data-name":"preamble",class:"rf-collection__preamble"},ps(u.preamble,t,c))),new Wt(n.name,d,[...v,O])}function N7(n,e,t,r,i){const s=Fv(r),o=a=>{if(Array.isArray(a))return a.map(o);if(!Vv(a))return a;const l=a;return l.attributes?.["data-rune"]==="collection"&&$7(l)?I7(l,t,r,s,i,e):!l.children||l.children.length===0?l:new Wt(l.name,l.attributes,l.children.map(o))};return o(n)}const{Tag:xr}=B;function Wv(n){return xr.isTag(n)}function Oi(n,e){for(const t of n.children??[])if(Wv(t)&&t.name==="meta"&&t.attributes["data-field"]===e)return String(t.attributes.content??"");return""}function B7(n){return(n.children??[]).some(e=>Wv(e)&&e.name==="meta"&&e.attributes["data-field"]===XC)}function Qp(n){return n.split(",").map(e=>e.trim()).filter(Boolean)}function j7(n){const e=Oi(n,"relationships-limit"),t=Number(e);return{of:Oi(n,"relationships-of"),kinds:Qp(Oi(n,"relationships-kind")),types:Qp(Oi(n,"relationships-type")),group:Oi(n,"relationships-group")||"kind",groupDisplay:Oi(n,"relationships-group-display")||"headings",sort:Oi(n,"relationships-sort"),limit:e&&Number.isFinite(t)&&t>0?Math.floor(t):void 0,fields:Qp(Oi(n,"relationships-fields")),layout:Oi(n,"relationships-layout")||"list",bodySource:Oi(n,"relationships-body"),empty:Oi(n,"relationships-empty")}}function z7(n,e,t){if(!e)return n;let r=e.trim(),i=1;r.startsWith("-")?(i=-1,r=r.slice(1)):r.endsWith("-desc")?(i=-1,r=r.slice(0,-5)):r.endsWith("-asc")&&(r=r.slice(0,-4));const s=n.some(o=>t.order(o.target.type,r));return[...n].sort((o,a)=>{if(s){const u=t.rank(o.target.type,r,Vr(o.target,r)),f=t.rank(a.target.type,r,Vr(a.target,r)),d=u>=0,h=f>=0;if(d&&h){if(u!==f)return(u-f)*i}else if(d!==h)return d?-1:1}const l=Vr(o.target,r),c=Vr(a.target,r);return l.localeCompare(c)*i})}function dw(n){return iT(n,"rf-relationships")}function Z7(n,e){const t=e.fields.map(i=>new xr("span",{class:"rf-relationships__field","data-field":i},[Vr(n.target,i)])),r={"data-entity-id":n.target.id,"data-kind":n.kind};return e.layout==="grid"?new xr("article",{class:"rf-relationships__card",...r},[dw(n.target),...t]):new xr("div",{class:"rf-relationships__item",...r},[dw(n.target),...t])}function Lp(n,e,t,r){return n.map(i=>{if(t&&r){const s=ps(t,r,{item:Xv(i.target),kind:i.kind});return new xr("div",{class:"rf-relationships__item","data-entity-id":i.target.id,"data-kind":i.kind,"data-block":""},s)}return Z7(i,e)})}function F7(n,e,t,r,i,s){const o=j7(n);o.of||i.warn("relationships — no `of` entity given (pass of=$item.id on an entity page)",s);let a=o.of&&e.getRelated?e.getRelated(o.of,{kind:o.kinds.length?o.kinds:void 0,type:o.types.length?o.types:void 0}):[];a=z7(a,o.sort,r);const l=a.length;o.limit!==void 0&&a.length>o.limit&&(a=a.slice(0,o.limit));const c={count:l,shown:a.length},u=Zv(o.bodySource),f=u.template,d={...n.attributes,"data-of":o.of,"data-layout":o.layout};if(a.length===0){const O=[];return u.fallback&&t?O.push(new xr("div",{"data-name":"empty",class:"rf-relationships__empty"},ps(u.fallback,t,c))):o.empty&&O.push(new xr("div",{"data-name":"empty",class:"rf-relationships__empty"},[o.empty])),new xr(n.name,d,O)}let h;if(o.group==="none")h=Lp(a,o,f,t);else{const O=o.group==="type"?b=>b.target.type:b=>b.kind,v=sT(a,O);if(o.groupDisplay==="accordion")h=oT([...v].map(([b,_])=>({key:b,label:Ra(b),count:_.length,nodes:Lp(_,o,f,t)})));else{h=[];for(const[b,_]of v)h.push(new xr("div",{class:"rf-relationships__group","data-group":b},[new xr("h3",{class:"rf-relationships__group-title"},[Ra(b)]),...Lp(_,o,f,t)]))}}const m=new xr("div",{"data-name":"items",class:"rf-relationships__items"},h),p=[];return u.preamble&&t&&p.push(new xr("div",{"data-name":"preamble",class:"rf-relationships__preamble"},ps(u.preamble,t,c))),new xr(n.name,d,[...p,m])}function X7(n,e,t,r,i){const s=Fv(r),o=a=>{if(Array.isArray(a))return a.map(o);if(!Wv(a))return a;const l=a;return l.attributes?.["data-rune"]==="relationships"&&B7(l)?F7(l,t,r,s,i,e):!l.children||l.children.length===0?l:new xr(l.name,l.attributes,l.children.map(o))};return o(n)}const{Tag:kn}=B;function Yv(n){return kn.isTag(n)}function vi(n,e){for(const t of n.children??[])if(Yv(t)&&t.name==="meta"&&t.attributes["data-field"]===e)return String(t.attributes.content??"");return""}function V7(n){return(n.children??[]).some(e=>Yv(e)&&e.name==="meta"&&e.attributes["data-field"]===VC)}function W7(n){const e=vi(n,"aggregate-limit"),t=Number(e);return{types:vi(n,"aggregate-type").split(",").map(r=>r.trim()).filter(Boolean),filter:vi(n,"aggregate-filter"),value:vi(n,"aggregate-value"),group:vi(n,"aggregate-group"),sort:vi(n,"aggregate-sort"),limit:e&&Number.isFinite(t)&&t>0?Math.floor(t):void 0,bodySource:vi(n,"aggregate-body"),empty:vi(n,"aggregate-empty"),layout:vi(n,"aggregate-layout"),chartType:vi(n,"aggregate-chart-type")||"bar",chartTitle:vi(n,"aggregate-chart-title")}}function Y7(n,e,t,r){const i=f=>new kn("td",{},[f]),s=f=>new kn("th",{},[f]),o=[Ra(e.group||"group"),"Count"];t&&o.push("Value");const a=new kn("tr",{},o.map(s)),l=n.map(([f,d])=>{const h=aT(r,d,e.group,f),p=[h?new kn("td",{"data-meta-sentiment":h},[Ra(f)]):i(Ra(f)),i(String(d.length))];return t&&p.push(i(String(Eo(d,t)))),new kn("tr",{},p)}),c=[];e.chartTitle&&c.push(new kn("caption",{},[e.chartTitle])),c.push(new kn("thead",{},[a])),c.push(new kn("tbody",{},l));const u=new kn("table",{"data-name":"data"},c);return new kn("rf-chart",{"data-rune":"chart","data-rune-fields":JSON.stringify({type:e.chartType,stacked:"false"}),"data-type":e.chartType,"data-stacked":"false"},[u])}function bd(n,e){return e<=0?0:Math.round(n/e*100)}function Eo(n,e){return e?n.filter(t=>uh(t,e)).length:n.length}function aT(n,e,t,r){const i=e[0]?.type??"";return n?.[i]?.[t]?.[r]??""}function hw(n,e,t,r,i){if(!e)return n;let s=e.trim(),o=1;return s.startsWith("-")?(o=-1,s=s.slice(1)):s.endsWith("-desc")?(o=-1,s=s.slice(0,-5)):s.endsWith("-asc")&&(s=s.slice(0,-4)),s==="count"?[...n].sort(([,a],[,l])=>(a.length-l.length)*o):s==="value"?[...n].sort(([,a],[,l])=>(Eo(a,i)-Eo(l,i))*o):s==="percent"?[...n].sort(([,a],[,l])=>{const c=bd(Eo(a,i),a.length),u=bd(Eo(l,i),l.length);return(c-u)*o}):[...n].sort(([a,l],[c,u])=>{const f=l[0]?.type??"",d=u[0]?.type??"",h=r.rank(f,t,a),m=r.rank(d,t,c),p=h>=0,O=m>=0;if(p&&O){if(h!==m)return(h-m)*o}else if(p!==O)return p?-1:1;return a.localeCompare(c)*o})}function U7(n,e,t,r,i,s){const o=W7(n);let a=[];for(const A of o.types)a.push(...e.getAll(A));if(o.filter){const A=vd(o.filter);for(const w of A.warnings)i.warn(`aggregate filter: ${w}`,s);a=a.filter(w=>uh(w,A))}const l=o.value?vd(o.value):null;if(l)for(const A of l.warnings)i.warn(`aggregate value: ${A}`,s);const c=a.length,u=Eo(a,l),f=o.value?bd(u,c):100;if(o.layout==="chart"){if(c===0)return new kn("div",{"data-name":"empty",class:"rf-aggregate__empty"},o.empty?[o.empty]:[]);let A=[...kg(a,o.group,r).entries()];return A=hw(A,o.sort,o.group,r,l),o.limit!==void 0&&A.length>o.limit&&(A=A.slice(0,o.limit)),Y7(A,o,l,t?.sentiments)}if(!o.bodySource)return new kn(n.name,{...n.attributes,"data-aggregate":"count","data-count":String(c)},[String(c)]);const d=Zv(o.bodySource),h=d.template,m={...n.attributes,"data-aggregate":"breakdown"};if(c===0){const A=[];if(d.fallback&&t){const w={item:{key:"",count:0,value:0,percent:0,total:0,shown:0}};A.push(new kn("div",{"data-name":"empty",class:"rf-aggregate__empty"},ps(d.fallback,t,w)))}else o.empty&&A.push(new kn("div",{"data-name":"empty",class:"rf-aggregate__empty"},[o.empty]));return new kn(n.name,m,A)}const p=[];if(d.preamble&&t){const A={item:{count:c,value:u,percent:f,total:c}};p.push(new kn("div",{"data-name":"preamble",class:"rf-aggregate__preamble"},ps(d.preamble,t,A)))}if(!o.group){const A=[...p];if(h&&t){const w={item:{key:"",count:c,value:u,percent:f,total:c,shown:1}};A.push(new kn("div",{"data-name":"items",class:"rf-aggregate__items"},ps(h,t,w)))}return new kn(n.name,m,A)}let O=[...kg(a,o.group,r).entries()];O=hw(O,o.sort,o.group,r,l),o.limit!==void 0&&O.length>o.limit&&(O=O.slice(0,o.limit));const v=O.length,b=[];if(h&&t)for(const[A,w]of O){const y=w.length,S=Eo(w,l),C=o.value?bd(S,y):100,k={item:{key:A,count:y,value:S,percent:C,total:c,shown:v,sentiment:aT(t?.sentiments,w,o.group,A)}},x=ps(h,t,k);b.push(new kn("div",{class:"rf-aggregate__group","data-group":A,"data-block":""},x))}const _=new kn("div",{"data-name":"items",class:"rf-aggregate__items"},b);return new kn(n.name,m,[...p,_])}function G7(n,e,t,r,i){const s=Fv(r),o=a=>{if(Array.isArray(a))return a.map(o);if(!Yv(a))return a;const l=a;return l.attributes?.["data-rune"]==="aggregate"&&V7(l)?U7(l,t,r,s,i,e):!l.children||l.children.length===0?l:new kn(l.name,l.attributes,l.children.map(o))};return o(n)}const{Tag:Uv}=B,H7=500;function lT(n){return Uv.isTag(n)}function K7(n){const e=String(n.attributes["data-rf-query"]??"").trim();if(!e)return null;const t=Number(n.attributes["data-rf-limit"]);return{expr:e,fields:String(n.attributes["data-rf-fields"]??"").split(",").map(r=>r.trim()).filter(Boolean),shape:String(n.attributes["data-rf-shape"]??"flat")||"flat",limit:Number.isFinite(t)&&t>0?Math.floor(t):void 0}}function J7(n,e){const t=n.data,r=String(n.sourceUrl??t.url??"");let i;if(e.length>0){i={};for(const s of e)i[s]=t[s]}else i={...t};return{id:n.id,type:n.type,url:r,data:i}}function pw(n){return n.length>1&&n.endsWith("/")?n.slice(0,-1):n}function eF(n){const e=new Map;for(const r of n)e.set(pw(r.url),{...r,children:[]});const t=[];for(const r of e.values()){const i=pw(String(r.data.parentUrl??"")),s=i?e.get(i):void 0;s&&s!==r?s.children.push(r):t.push(r)}return t}function tF(n,e){if(!e.getRelated)return[];const t=new Set(n.map(i=>i.id)),r=[];for(const i of n)for(const s of e.getRelated(i.id))t.has(s.toId)&&r.push({from:s.fromId,to:s.toId,kind:s.kind});return r}function nF(n){return(n.children??[]).some(e=>lT(e)&&e.name==="template"&&e.attributes["data-content"]==="fallback")}function rF(n,e,t,r,i){const s=vd(e.expr);for(const h of s.warnings)r.warn(`sandbox data: ${h}`,i);const o=s.clauses.find(h=>h.field==="type"),a=o?o.values:[];if(a.length===0)return r.warn(`sandbox data="${e.expr}": no entity type — include a "type:<name>" clause`,i),n;let l=[];for(const h of a)l.push(...t.getAll(h));const c={clauses:s.clauses.filter(h=>h.field!=="type")};c.clauses.length>0&&(l=l.filter(h=>uh(h,c)));let u=l.map(h=>J7(h,e.fields));const f=e.limit??H7;u.length>f&&(r.warn(`data-bound sandbox query "${e.expr}" yielded ${u.length} records, over the ${f} cap — truncated`,i),u=u.slice(0,f)),nF(n)||r.warn("data-bound sandbox has no fallback — provide a no-WebGL fallback (e.g. a {% collection %} with the same query) for accessibility",i);const d=e.shape==="tree"?{shape:"tree",tree:eF(u)}:e.shape==="graph"?{shape:"graph",nodes:u,edges:tF(u,t)}:{shape:"flat",records:u};return new Uv(n.name,{...n.attributes,"data-rf-records":JSON.stringify(d)},n.children??[])}function Sg(n,e,t,r){if(Array.isArray(n))return n.map(o=>Sg(o,e,t,r));if(!lT(n))return n;const i=(n.children??[]).map(o=>Sg(o,e,t,r));let s=new Uv(n.name,n.attributes,i);if(s.name==="rf-sandbox"&&s.attributes["data-rf-query"]){const o=K7(s);o&&(s=rF(s,o,e,t,r))}return s}const{Tag:iF}=B;function Ag(n){return n==null||typeof n=="string"||typeof n=="number"?n:iF.isTag(n)?{$$mdtype:"Tag",name:n.name,attributes:n.attributes,children:n.children.map(Ag)}:n}function sF(n){return Array.isArray(n)?n.map(Ag):Ag(n)}const{Tag:yd}=B;function oF(n,e,t,r){const i=r?[r]:n.getTypes();for(const s of i){const o=n.getById(s,e,t);if(o)return o}}function aF(n,e,t){const r=e.toLowerCase(),i=t?[t]:n.getTypes(),s=[];for(const o of i)for(const a of n.getAll(o)){const l=a.data.name??"",c=a.data.title??"";(l.toLowerCase()===r||c.toLowerCase()===r)&&s.push(a)}return s}function mw(n){const e=n.data.url||n.sourceUrl;if(!e)return;const t=n.data.headingId;return t?`${e}#${t}`:e}function gw(n,e,t){if(e)return e;if(t){const r=t.data.title,i=t.data.name,s=t.data.text;return r||i||s||n}return n}const cT=/\{([a-zA-Z_$][a-zA-Z0-9_$]*)\}/g;function lF(n){return n.split("/").map(encodeURIComponent).join("/")}function cF(n,e,t){return n.replace(cT,(r,i)=>{const s=i==="id"?e:t[i]??"";return lF(s)})}function uF(n,e,t){return n.replace(cT,(r,i)=>i==="id"?e:t[i]??"")}function fF(n,e){for(const t of e){const r=t.match.exec(n);if(!r)continue;const i=r.groups??{};return{url:cF(t.template,n,i),label:uF(t.label,n,i),type:t.type}}}function dF(n,e){const t=n.indexOf("#");if(t<0)return n;const r=n.slice(0,t),i=n.slice(t),s=o=>o.endsWith("/")?o.slice(0,-1):o;return s(r)===s(e)?i:n}function hF(n,e,t,r){let i=oF(r.registry,n,r.pageUrl,t);if(!i){const c=aF(r.registry,n,t);if(c.length===1)i=c[0];else if(c.length>1){if(new Set(c.map(f=>mw(f)??f.sourceUrl??"")).size>1){const f=c.map(d=>`${d.type} "${d.data.title||d.data.name||d.id}" on ${d.sourceUrl??"(no URL)"}`).join(", ");r.ctx.warn(`xref "${n}" on ${r.pageUrl} — matches ${c.length} entities (${f}). Add type hint to disambiguate.`,r.pageUrl)}i=c[0]}}const s=i?mw(i):void 0;let o;if(i&&s)o={href:s,label:gw(n,e,i),type:i.type,source:"registry",targetType:i.type,entityId:i.id};else{const c=fF(n,r.patterns);c&&(o={href:c.url,label:gw(n,e,i)||c.label,type:i?.type??c.type,source:"pattern",targetType:i?.type,entityId:i?.id},!i&&!e&&(o.label=c.label))}if(!o)return r.ctx.warn(`xref "${n}" on ${r.pageUrl} — entity not found`,r.pageUrl),{tag:new yd("span",{class:"rf-xref rf-xref--unresolved","data-xref-id":n},[e||n])};o.href===r.pageUrl&&r.ctx.info(`xref "${n}" on ${r.pageUrl} — references itself`,r.pageUrl);const a=dF(o.href,r.pageUrl),l={class:`rf-xref rf-xref--${o.type}`,href:a,"data-xref-id":o.entityId??n,"data-xref-source":o.source};return o.targetType&&(l["data-target-type"]=o.targetType),{tag:new yd("a",l,[o.label])}}function pF(n,e,t,r,i){return Cg(n,{pageUrl:e,registry:t,patterns:r,ctx:i})}function Cg(n,e){if(!yd.isTag(n)){if(Array.isArray(n)){const i=n,s=i.map(o=>Cg(o,e));return s.every((o,a)=>o===i[a])?n:s}return n}const t=n;if(t.attributes?.["data-rune"]===Rv){const i=t.attributes["data-xref-id"],s=t.attributes["data-xref-label"],o=t.attributes["data-xref-type"];return i?hF(i,s,o,e).tag:new yd("span",{class:"rf-xref rf-xref--unresolved"},[s||"?"])}const r=(t.children??[]).map(i=>Cg(i,e));return r.every((i,s)=>i===t.children[s])?t:{...t,children:r}}const{Ast:uT,Tag:Tg}=B;function Yu(n,e){if(n==null)return"";if(typeof n=="string")return n;if(typeof n=="number"||typeof n=="boolean")return String(n);if(typeof n=="object"&&"$$mdtype"in n){const t=n;if(t.$$mdtype==="Variable"&&Array.isArray(t.path)){let r=e;for(const i of t.path){if(r==null)return"";r=r[i]}return r==null?"":String(r)}}return""}const mF=new Set(["code-group","diff"]);function gF(n,e,t){if(!t.projectRoot)return;let r=!1;return fT(n,e,t,t.projectRoot,i=>{i&&(r=!0)}),r?n:void 0}function fT(n,e,t,r,i){if(n.children)for(let s=0;s<n.children.length;s++){const o=n.children[s];if(o.type==="tag"&&o.tag==="snippet"){n.children[s]=OF(o,e,t,r),i(!0);continue}fT(o,e,t,r,i)}}function Mp(n,e){return new uT.Node("fence",{content:`snippet error: ${e}
|
|
335
|
-
`,language:"text",source:n||"(unresolved)","data-snippet-error":e})}function OF(n,e,t,r){const i=Yu(n.attributes.path,t.variables),s=n.attributes.lines!==void 0?Yu(n.attributes.lines,t.variables):void 0,o=n.attributes.lang!==void 0?Yu(n.attributes.lang,t.variables):void 0,a=n.attributes.linenumbers===!0,l=n.attributes.highlight!==void 0?Yu(n.attributes.highlight,t.variables):void 0;if(!i){const d="snippet `path` attribute is required (and an unresolvable variable reference resolves to empty)";return t.error(d,e.url),Mp("",d)}let c;try{c=KC({pathAttr:i,projectRoot:r,lines:s||void 0,referencingPage:e.relativePath})}catch(d){if(d instanceof ar)return t.error(d.message,e.url),Mp(i,d.message);const h=d.message??String(d);return t.error(`snippet "${i}" failed unexpectedly: ${h}`,e.url),Mp(i,h)}for(const d of c.warnings)t.warn(d,e.url);const u=o&&o.length>0?o:JC(c.relativePath),f={content:c.content,language:u,source:c.relativePath};return s&&(f.lines=s),a&&(f.linenumbers=!0),l&&l.length>0&&(f.highlight=l),new uT.Node("fence",f)}function vF(n,e,t){const r=Pg(n.renderable,!1);return r===n.renderable?n:{...n,renderable:r}}function Pg(n,e){if(Array.isArray(n)){let l=!1;const c=n.map(u=>{const f=Pg(u,e);return f!==u&&(l=!0),f});return l?c:n}if(!Tg.isTag(n))return n;const t=n,r=t.attributes?.["data-rune"],i=typeof r=="string"&&mF.has(r),s=e||i;if(t.name==="pre"&&t.attributes?.["data-source"]!==void 0&&!e)return bF(t);if(!t.children||t.children.length===0)return t;let o=!1;const a=t.children.map(l=>{const c=Pg(l,s);return c!==l&&(o=!0),c});return o?new Tg(t.name,t.attributes,a):t}function bF(n){const e=n.attributes,t=String(e["data-source"]??""),r=e["data-lines"]!==void 0?String(e["data-lines"]):void 0,i={class:"rf-snippet","data-rune":"snippet","data-source-path":t};return r&&(i["data-lines"]=r),new Tg("figure",i,[n])}const{Tag:Yo}=B,dT=/^h[1-6]$/,Eg="data-outline-scope";function yF(n){const e=new Set;return Lg(n,[],e),e.size>0&&Mg(n,e),n}function wF(n){const e=[];return $g(n,!1,e),e}function $g(n,e,t){if(Array.isArray(n)){for(const o of n)$g(o,e,t);return}if(!Yo.isTag(n))return;const r=n,i=r.attributes;if(dT.test(r.name)){if(e)return;const o=Number(r.name.slice(1)),a=typeof i?.id=="string"?i.id:"",l=Qg(r);a&&l&&t.push({level:o,text:l,id:a});return}const s=e||i&&typeof i[Eg]=="string";if(!(!r.children||r.children.length===0))for(const o of r.children)$g(o,!!s,t)}function Qg(n){return typeof n=="string"?n:typeof n=="number"?String(n):Array.isArray(n)?n.map(Qg).join(""):Yo.isTag(n)?(n.children??[]).map(Qg).join(""):""}function Lg(n,e,t){if(Array.isArray(n)){for(const a of n)Lg(a,e,t);return}if(!Yo.isTag(n))return;const r=n,i=r.attributes,s=i&&typeof i[Eg]=="string"?i[Eg]:void 0;if(dT.test(r.name)&&e.length>0){const a=e[e.length-1],l=typeof i?.id=="string"?i.id:void 0;l&&!l.startsWith(`${a}--`)&&(t.add(l),r.attributes.id=`${a}--${l}`);return}const o=s!==void 0?[...e,s]:e;if(!(!r.children||r.children.length===0))for(const a of r.children)Lg(a,o,t)}function Mg(n,e){if(Array.isArray(n)){for(const i of n)Mg(i,e);return}if(!Yo.isTag(n))return;const t=n;if(t.attributes?.["data-rune"]==="table-of-contents"){_F(t,e);return}if(t.children)for(const i of t.children)Mg(i,e)}function _F(n,e){for(const t of n.children??[])qg(t,e)}function qg(n,e){if(Array.isArray(n)){for(const r of n)qg(r,e);return}if(!Yo.isTag(n))return;const t=n;(t.name==="ul"||t.name==="ol")&&(t.children=(t.children??[]).filter(r=>{if(!Yo.isTag(r))return!0;const i=r;return i.name!=="li"?!0:!hT(i,e)}));for(const r of t.children??[])qg(r,e)}function hT(n,e){for(const t of n.children??[]){if(!Yo.isTag(t))continue;const r=t;if(r.name==="a"){const i=r.attributes?.href;if(typeof i=="string"&&i.startsWith("#")&&e.has(i.slice(1)))return!0}if(hT(r,e))return!0}return!1}const{Tag:Rc}=B,kF=new Map;function xF(n,e,t,r,i,s){return wd(n,{pageUrl:e,registry:t,patterns:r,embedConfig:i,ctx:s,parseCache:kF},[])}function wd(n,e,t){if(Array.isArray(n)){let a=!1;const l=n.map(c=>{const u=wd(c,e,t);return u!==c&&(a=!0),u});return a?l:n}if(!Rc.isTag(n))return n;const r=n;if(r.attributes?.["data-rune"]===Iv)return SF(r,e,t);if(!r.children||r.children.length===0)return r;let s=!1;const o=r.children.map(a=>{const l=wd(a,e,t);return l!==a&&(s=!0),l});return s?new Rc(r.name,r.attributes,o):r}function SF(n,e,t){const r=n.attributes,i=String(r["data-expand-id"]??""),s=r["data-expand-type"],o=r["data-expand-level"],a=r["data-expand-canonical"]==="true",l=r["data-expand-label"];if(!i)return e.ctx.error(`expand placeholder is missing \`primary\`/id attribute on ${e.pageUrl}`,e.pageUrl),Qs(i,"missing id attribute");const c=o!==void 0?Number(o):void 0,u=AF(e.registry,i,e.pageUrl,s);if(!u)return e.ctx.error(`expand "${i}" on ${e.pageUrl} — entity not found`,e.pageUrl),Qs(i,"entity not found");if(!u.embed&&!(u.sourceFile&&u.extract))return e.ctx.error(`expand "${i}" on ${e.pageUrl} — entity type "${u.type}" does not support embedding (no embed() or sourceFile/extract)`,e.pageUrl),Qs(i,`entity type "${u.type}" does not support embedding`);if(t.some(_=>_.type===u.type&&_.id===u.id)){const _=[...t,{type:u.type,id:u.id}].map(A=>`${A.id} (${A.type})`).join(" → ");return e.ctx.error(`expand cycle detected on ${e.pageUrl}. Cycle: ${_}`,e.pageUrl),Qs(i,"cycle detected")}let f;if(u.embed)f=u.embed();else{const _=e.embedConfig?.projectRoot;if(!_)return e.ctx.error(`expand "${i}" — no project root configured (embedConfig.projectRoot is unset)`,e.pageUrl),Qs(i,"no project root configured");let A;try{A=PF(u.sourceFile,_,e.parseCache)}catch(w){const y=(w instanceof ar,w.message);return e.ctx.error(`expand "${i}" — failed to read source file "${u.sourceFile}": ${y}`,e.pageUrl),Qs(i,y)}f=u.extract(A)}if(!f)return e.ctx.error(`expand "${i}" — extractor returned no content; the entity may be out-of-sync with the registry`,e.pageUrl),Qs(i,"extractor returned no content");let d=f;if(c!==void 0&&c!==1){const _=c-1,A=[];d=pT(f,_,A),A.length>0&&e.ctx.warn(`expand "${i}" at ${e.pageUrl} — heading demotion (level=${c}) would push ${A.length} heading(s) past H6. Clamped to H6: ${A.map(w=>`"${w}"`).join(", ")}`,e.pageUrl)}if(!e.embedConfig)return e.ctx.error(`expand "${i}" — no embedConfig threaded through the pipeline`,e.pageUrl),Qs(i,"no embed transform config");const h=[...t,{type:u.type,id:u.id}],m=B.transform(d,e.embedConfig),p=wd(m,e,h),O=CF(u,e.patterns),v={"data-rune":"expand","data-entity-id":u.id,"data-entity-type":u.type,"data-source":"registry"};c===void 0&&(v["data-outline-scope"]=u.id),O&&(v["data-canonical-href"]=O);const b=[];if(Array.isArray(p)?b.push(...p):b.push(p),a){const _=l||TF(u),A={class:O?"rf-expand__canonical-link":"rf-expand__canonical-link rf-xref--unresolved"};O&&(A.href=O),b.push(new Rc("a",A,[_]))}return new Rc("section",v,b)}function AF(n,e,t,r){const i=r?[r]:n.getTypes();for(const o of i){const a=n.getById(o,e,t);if(a)return a}const s=e.toLowerCase();for(const o of i)for(const a of n.getAll(o)){const l=a.data.name??"",c=a.data.title??"";if(l.toLowerCase()===s||c.toLowerCase()===s)return a}}function CF(n,e){const t=n.sourceUrl,i=n.data.url||t;if(i){const s=n.data.headingId;return s?`${i}#${s}`:i}for(const s of e){const o=s.match.exec(n.id);if(!o)continue;const a=o.groups??{},l=/\{([a-zA-Z_$][a-zA-Z0-9_$]*)\}/g;return s.template.replace(l,(c,u)=>(u==="id"?n.id:a[u]??"").split("/").map(encodeURIComponent).join("/"))}}function TF(n){const e=n.data.title,t=n.data.name;return e?`View ${n.type}: ${e}`:t?`View ${n.type}: ${t}`:`View ${n.type} ${n.id}`}function PF(n,e,t){const r=t.get(n);if(r)return r;const i=XZ({relativePath:n,projectRoot:e}),s=B.parse(i);return t.set(n,s),s}function pT(n,e,t){if(n.type==="heading"){const i=n.attributes.level+e;if(i>6){const s=EF(n);t.push(s),n.attributes.level=6}else n.attributes.level=i}for(const r of n.children??[])pT(r,e,t);return n}function EF(n){const e=[];for(const t of n.walk())t.type==="text"&&typeof t.attributes.content=="string"&&e.push(t.attributes.content);return e.join("")}function Qs(n,e){return new Rc("section",{"data-rune":"expand","data-entity-id":n,"data-expand-error":e},[`expand "${n}" — ${e}`])}const{Tag:Ze}=B,Rl={header:"preamble",eyebrow:"eyebrow",headline:"headline",blurb:"blurb",image:"image"},$F={runes:{Accordion:{block:"accordion",defaultDensity:"full",sections:{preamble:"preamble",headline:"title",blurb:"description"},autoLabel:Rl,editHints:{headline:"inline",eyebrow:"inline",blurb:"inline"}},AccordionItem:{block:"accordion-item",parent:"Accordion",requiresParent:"Accordion",rootAttributes:{"data-state":"closed"},autoLabel:{name:"header"},editHints:{header:"inline",body:"none"}},Details:{block:"details",defaultElevation:"flush",autoLabel:{summary:"summary"},editHints:{summary:"inline",body:"none"}},Grid:{block:"grid",defaultDensity:"full",childDensity:"compact",modifiers:{mode:{source:"meta",default:"columns"},collapse:{source:"meta",noBemClass:!0},aspect:{source:"meta",noBemClass:!0},stack:{source:"meta",noBemClass:!0},ratio:{source:"meta",noBemClass:!0},valign:{source:"meta",noBemClass:!0},gap:{source:"meta",noBemClass:!0},min:{source:"meta",noBemClass:!0}},styles:{ratio:{prop:"--grid-ratio",transform:Pz},valign:{prop:"--grid-valign",transform:A0},gap:{prop:"--grid-gap",transform:Tz},min:"--grid-min",aspect:"--grid-aspect"},editHints:{cell:"none"}},CodeGroup:{block:"codegroup",interactive:!0,defaultDensity:"compact",defaultElevation:"flat",modifiers:{title:{source:"meta",noBemClass:!0},overflow:{source:"meta",default:"scroll"}},metaFields:{title:{metaType:"code",condition:"title",renderWhenEmpty:!0}},blocks:{topbar:{fields:["title"],layout:"bar"}},layout:{root:["topbar"]},sections:{topbar:"header"},rootAttributes:{"data-code-host":"true"},editHints:{panel:"code"}},PageSection:{block:"page-section"},TableOfContents:{block:"toc",defaultElevation:"flush"},Snippet:{block:"snippet"},Expand:{block:"expand"},Badge:{block:"badge"},Bar:{block:"bar"},Deflist:{block:"deflist"},Collection:{block:"collection"},Relationships:{block:"relationships"},FileRef:{block:"file-ref"},Aggregate:{block:"aggregate"},Progress:{block:"progress",modifiers:{sentiment:{source:"meta"}}},Card:{block:"card",modifiers:{"media-position":{source:"meta",default:"top",noBemClass:!0},"media-ratio":{source:"meta",noBemClass:!0},valign:{source:"meta",noBemClass:!0},collapse:{source:"meta",noBemClass:!0},"content-place":{source:"meta",noBemClass:!0},height:{source:"meta",noBemClass:!0},aspect:{source:"meta",noBemClass:!0}},sections:{media:"media"},layout:{root:["media","content"],content:{tag:"div",children:["eyebrow","body","footer"]}},variants:{"media-position":{cover:{staticModifiers:["cover"],rootAttributes:{"data-cover-scope":"full"}}}},styles:{valign:{prop:"--split-valign",transform:A0},aspect:"aspect-ratio"}},Embed:{block:"embed",defaultDensity:"compact",defaultElevation:"flat",modifiers:{provider:{source:"meta",default:"generic",noBemClass:!0}},editHints:{fallback:"none"}},Breadcrumb:{block:"breadcrumb",defaultDensity:"minimal",defaultElevation:"flush",editHints:{items:"none"},modifiers:{separator:{source:"meta",default:"/",noBemClass:!0}},styles:{separator:{prop:"--separator",template:'"{}"'}}},BreadcrumbItem:{block:"breadcrumb-item",parent:"Breadcrumb",requiresParent:"Breadcrumb"},Blog:{block:"blog",defaultDensity:"full",sections:{preamble:"preamble",headline:"title",blurb:"description",content:"body"},contentWrapper:{tag:"div",ref:"content"},modifiers:{layout:{source:"meta",default:"list"},sort:{source:"meta",default:"date-desc",noBemClass:!0},filter:{source:"meta",noBemClass:!0},limit:{source:"meta",noBemClass:!0},folder:{source:"meta",noBemClass:!0}},autoLabel:Rl,editHints:{headline:"inline",blurb:"inline"}},Budget:{block:"budget",defaultDensity:"full",defaultElevation:"flat",sections:{preamble:"preamble",headline:"title",footer:"footer"},editHints:{headline:"inline"},modifiers:{currency:{source:"meta",default:"USD"},duration:{source:"meta"},showPerDay:{source:"meta",default:"true"},variant:{source:"meta",default:"detailed"}},metaFields:{duration:{metaType:"category",condition:"duration"},currency:{metaType:"category",condition:"currency"}},blocks:{meta:{fields:["duration",{field:"currency",align:"end"}],layout:"bar"}},layout:{root:["meta","preamble"],preamble:{tag:"header",children:["headline","blurb","image"]}}},BudgetCategory:{block:"budget-category",parent:"Budget",modifiers:{estimate:{source:"meta",default:"false"},label:{source:"meta",noBemClass:!0},subtotal:{source:"meta",noBemClass:!0}},editHints:{label:"none",subtotal:"none"}},BudgetLineItem:{block:"budget-line-item",parent:"Budget"},Hint:{block:"hint",defaultDensity:"compact",defaultElevation:"sunken",modifiers:{hintType:{source:"meta",default:"note"}},contextModifiers:{hero:"in-hero",feature:"in-feature"},sections:{header:"header"},metaFields:{hintType:{icon:{group:"hint"}}},blocks:{header:{fields:["hintType"],layout:"bar"}},layout:{root:["header"]}},Drawer:{block:"drawer",defaultDensity:"compact",modifiers:{side:{source:"meta",default:"right"},size:{source:"meta",default:"md"},shortcut:{source:"meta",noBemClass:!0}},sections:{header:"header",body:"body",footer:"footer"},editHints:{title:"inline",body:"none",close:"none",footer:"none"}},Figure:{block:"figure",defaultDensity:"compact",defaultElevation:"flat",frameTarget:"self",modifiers:{size:{source:"meta",default:"default"},align:{source:"meta",default:"center"}},sections:{caption:"description"},editHints:{caption:"inline"}},Gallery:{block:"gallery",defaultDensity:"full",defaultElevation:"flat",childDensity:"compact",modifiers:{layout:{source:"meta",default:"grid"},lightbox:{source:"meta",default:"true",noBemClass:!0},columns:{source:"meta",noBemClass:!0}},styles:{columns:"--gallery-columns"},editHints:{items:"none"}},Sidenote:{block:"sidenote",defaultDensity:"full",defaultElevation:"flush",modifiers:{variant:{source:"meta",default:"sidenote"}},sections:{body:"body"},editHints:{body:"inline"}},Compare:{block:"compare",defaultDensity:"full",modifiers:{layout:{source:"meta",default:"side-by-side"}},editHints:{panels:"none"}},Conversation:{block:"conversation",defaultDensity:"compact",defaultElevation:"flush",editHints:{messages:"none"}},ConversationMessage:{block:"conversation-message",parent:"Conversation",modifiers:{align:{source:"meta",default:"left"}},editHints:{body:"inline"}},Annotate:{block:"annotate",defaultDensity:"full",defaultElevation:"flush",modifiers:{variant:{source:"meta",default:"margin"}},sections:{body:"body"},editHints:{body:"none",notes:"none"}},AnnotateNote:{block:"annotate-note",parent:"Annotate",editHints:{body:"inline"}},Nav:{block:"nav",defaultDensity:"compact",defaultElevation:"flush",modifiers:{layout:{source:"attribute"}},postTransform(n){return{...n,name:"rf-nav"}}},NavGroup:{block:"nav-group",parent:"Nav"},Pagination:{block:"pagination",defaultDensity:"compact",modifiers:{scope:{source:"meta",default:"siblings",noBemClass:!0}}},NavItem:{block:"nav-item",parent:"Nav",postTransform(n){let e="";const t=n.children.filter(i=>sn(i)&&i.name==="span"&&i.attributes["data-field"]==="slug"?(e=i.children.filter(s=>typeof s=="string").join(""),!1):!0);if(e)return t.unshift(e),{...n,attributes:{...n.attributes,"data-slug":e},children:t};const r=t.map(i=>{if(sn(i)&&i.name==="a"){const s=i.attributes.class||"";return{...i,attributes:{...i.attributes,class:["rf-nav-item__link",s].filter(Boolean).join(" ")}}}return i});return{...n,children:r}}},Diff:{block:"diff",modifiers:{mode:{source:"meta",default:"unified"}},editHints:{line:"none","gutter-num":"none","gutter-prefix":"none","line-content":"none"}},Chart:{block:"chart",defaultDensity:"compact",defaultElevation:"sunken",modifiers:{type:{source:"meta",default:"bar",noBemClass:!0},stacked:{source:"meta",noBemClass:!0},"tick-count":{source:"meta",noBemClass:!0},"tick-step":{source:"meta",noBemClass:!0},"label-angle":{source:"meta",noBemClass:!0}},editHints:{data:"none"}},PullQuote:{block:"pullquote",defaultDensity:"compact",defaultElevation:"flush",modifiers:{align:{source:"meta",default:"center"},variant:{source:"meta",default:"default"}},sections:{body:"body"},editHints:{body:"inline"}},TextBlock:{block:"textblock",defaultDensity:"full",defaultElevation:"flush",modifiers:{dropcap:{source:"meta"},columns:{source:"meta"},lead:{source:"meta"},align:{source:"meta",default:"left"}},sections:{body:"body"},editHints:{body:"none"}},MediaText:{block:"mediatext",defaultDensity:"full",modifiers:{align:{source:"meta",default:"left"},ratio:{source:"meta",default:"1:1"},wrap:{source:"meta"}},sections:{body:"body",media:"media"},mediaSlots:{media:"cover"},editHints:{media:"image",body:"none"}},Showcase:{block:"showcase",defaultDensity:"compact",childDensity:"compact",sections:{viewport:"body"},frameTarget:"self",contextModifiers:{"bento-cell":"in-bento-cell"},editHints:{viewport:"none"}},TabGroup:{block:"tabs",interactive:!0,defaultDensity:"full",sections:{preamble:"preamble",headline:"title",blurb:"description"},autoLabel:Rl,editHints:{headline:"inline",eyebrow:"inline",blurb:"inline"}},Tab:{block:"tab",parent:"TabGroup",requiresParent:"TabGroup",rootAttributes:{"data-state":"inactive"},editHints:{name:"inline"}},TabPanel:{block:"tab-panel",parent:"TabGroup",requiresParent:"TabGroup",rootAttributes:{"data-state":"inactive"}},DataTable:{block:"datatable",interactive:!0,defaultDensity:"compact",defaultElevation:"sunken",sections:{table:"body"},modifiers:{searchable:{source:"meta",default:"false"},sortable:{source:"meta"},pageSize:{source:"meta",default:"0"},defaultSort:{source:"meta"}},editHints:{table:"none"}},Form:{block:"form",interactive:!0,defaultDensity:"full",defaultElevation:"flat",sections:{body:"body"},modifiers:{variant:{source:"meta",default:"stacked"},action:{source:"meta"},method:{source:"meta",default:"POST"},success:{source:"meta"},error:{source:"meta"},honeypot:{source:"meta",default:"true"}},editHints:{body:"none"}},FormField:{block:"form-field",parent:"Form",modifiers:{fieldType:{source:"meta"}}},Reveal:{block:"reveal",defaultDensity:"full",defaultElevation:"flat",modifiers:{mode:{source:"meta",default:"click"}},sections:{preamble:"preamble",headline:"title",blurb:"description"},autoLabel:Rl,editHints:{headline:"inline",eyebrow:"inline",blurb:"inline",steps:"none"}},RevealStep:{block:"reveal-step",parent:"Reveal",rootAttributes:{"data-state":"closed"},editHints:{body:"none"}},Section:{block:"section",modifiers:{align:{source:"meta",default:"start"}},sections:{preamble:"preamble",headline:"title",blurb:"description"},autoLabel:Rl,editHints:{headline:"inline",eyebrow:"inline",blurb:"inline",body:"none"}},Juxtapose:{block:"juxtapose",interactive:!0,defaultDensity:"compact",modifiers:{variant:{source:"meta",default:"slider"},orientation:{source:"meta",default:"vertical",noBemClass:!0},position:{source:"meta",default:"50",noBemClass:!0},duration:{source:"meta",default:"1000",noBemClass:!0}},styles:{position:"--jx-position",duration:"--jx-duration"},editHints:{panels:"none"}},JuxtaposePanel:{block:"juxtapose-panel",parent:"Juxtapose",requiresParent:"Juxtapose",rootAttributes:{"data-state":"inactive"},editHints:{body:"none"}},Diagram:{block:"diagram",defaultDensity:"compact",defaultElevation:"sunken",editHints:{source:"code"},modifiers:{language:{source:"meta",default:"mermaid",noBemClass:!0}}},Tint:{block:"tint",parent:"*"},Bg:{block:"bg",parent:"*"},Region:{block:"region",parent:"Layout"},Sandbox:{block:"sandbox",interactive:!0,defaultDensity:"compact",editHints:{source:"code"}}}},QF=$F;function LF(n){const e=new Map;for(const r of n)e.set(r.url,{url:r.url,title:r.title,children:[]});const t={url:"/",title:"Root",children:[]};for(const r of n){const i=e.get(r.url);r.url==="/"?(t.title=r.title,t.children=i.children,e.set("/",t)):(e.get(r.parentUrl)??t).children.push(i)}return t}function MF(n){const e=new Map;for(const r of n)r.url!=="/"&&e.set(r.url,r.parentUrl);const t=new Map;for(const r of n){const i=[];let s=e.get(r.url);for(;s!==void 0;)i.unshift(s),s=e.get(s);t.set(r.url,i)}return t}function qF(n){if(n==="/"||!n.includes("/"))return"/";const e=n.endsWith("/")?n.slice(0,-1):n,t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t+1)}function Dg(n,e,t,r,i){if(!Ze.isTag(n)){if(Array.isArray(n)){const a=n.map(l=>Dg(l,e,t,r,i));return a.every((l,c)=>l===n[c])?n:a}return n}const s=n;if(s.attributes?.["data-rune"]==="breadcrumb"&&s.children?.some(l=>Ze.isTag(l)&&l.attributes?.["data-field"]===jC))return DF(s,e,t,r,i);const o=(s.children??[]).map(a=>Dg(a,e,t,r,i));return o.every((a,l)=>a===s.children[l])?s:{...s,children:o}}function DF(n,e,t,r,i){const s=t.get(e);if(s===void 0)return i.warn(`Breadcrumb auto: page URL "${e}" not found in page registry`,e),n;const a=n.children?.find(m=>Ze.isTag(m)&&m.name==="meta"&&!m.attributes?.["data-field"])?.attributes?.content??"/",l=[];for(const m of s){const p=r.get(m);if(!p)continue;const O=new Ze("span",{hidden:!0},[p.title]),v=new Ze("a",{href:m},[p.title]);l.push(Ne({rune:"breadcrumb-item",schemaOrgType:"ListItem",tag:"li",properties:{name:O,url:v},children:[O,v]}))}const u=r.get(e)?.title??e,f=new Ze("span",{},[u]);l.push(Ne({rune:"breadcrumb-item",schemaOrgType:"ListItem",tag:"li",properties:{name:f},children:[f]}));const d=new Ze("meta",{content:a}),h=new Ze("ol",{},l);return Ne({rune:"breadcrumb",schemaOrgType:"BreadcrumbList",tag:"nav",properties:{separator:d},refs:{items:h},children:[d,h]})}function Rg(n,e,t,r){if(!Ze.isTag(n)){if(Array.isArray(n)){const o=n.map(a=>Rg(a,e,t,r));return o.every((a,l)=>a===n[l])?n:o}return n}const i=n;if(i.attributes?.["data-rune"]==="nav"&&i.children?.some(a=>Ze.isTag(a)&&a.attributes?.["data-field"]===NC))return RF(e,t,r,i);const s=(i.children??[]).map(o=>Rg(o,e,t,r));return s.every((o,a)=>o===i.children[a])?i:{...i,children:s}}function RF(n,e,t,r){const i=Array.from(e.values()).filter(c=>c.parentUrl===n&&c.url!==n);i.length===0&&t.warn(`Nav auto: page '${n}' has no registered child pages`,n);const s=i.map(c=>{const u=new Ze("span",{"data-field":"slug"},[c.title]),f=new Ze("a",{href:c.url},[u]);return Ne({rune:"nav-item",tag:"li",properties:{slug:u},children:[f]})}),o=new Ze("ul",{},s),a=Ne({rune:"nav",tag:"nav",properties:{group:[],item:s},children:[o]}),l=["layout","data-layout","data-auto","data-source-path","data-collapsible","data-default-open"];for(const c of l){const u=r?.attributes?.[c];u!==void 0&&(a.attributes[c]=u)}return a}function oc(n){let e=n.trim();return e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e.endsWith("/index")&&(e=e.slice(0,-6)||"/"),e.toLowerCase()}function IF(n){const e=n.split("/").filter(Boolean);return e.pop(),e.length===0?"/":"/"+e.join("/")+"/"}function NF(n,e){if(n===e)return 0;if(n.length===0)return e.length;if(e.length===0)return n.length;const t=new Array(e.length+1),r=new Array(e.length+1);for(let i=0;i<=e.length;i++)t[i]=i;for(let i=1;i<=n.length;i++){r[0]=i;for(let s=1;s<=e.length;s++){const o=n[i-1]===e[s-1]?0:1;r[s]=Math.min(r[s-1]+1,t[s]+1,t[s-1]+o)}for(let s=0;s<=e.length;s++)t[s]=r[s]}return t[e.length]}function BF(n,e,t){const r=e.endsWith("/")?e:e+"/",i=n.toLowerCase(),s=[],o=[],a=(r+n).replace(/\/+/g,"/").toLowerCase();for(const c of t.values()){const u=c.url,f=u.toLowerCase(),h=(u.split("/").filter(Boolean).pop()??"").toLowerCase();if(h===i&&f!==a){s.push(u);continue}if(f.startsWith(r.toLowerCase())){const m=NF(i,h);m>0&&m<=2&&o.push({url:u,distance:m})}}return s.sort(),o.sort((c,u)=>c.distance-u.distance||c.url.localeCompare(u.url)),[...s,...o.map(c=>c.url)].slice(0,3)}function jF(n,e,t){if(n.startsWith("/"))return{ok:!0,url:n};const r=e.endsWith("/")?e:e+"/",i=(r+n).replace(/\/+/g,"/"),s=oc(i);for(const a of t.values())if(oc(a.url)===s)return{ok:!0,url:a.url};const o=BF(n.includes("/")?n.split("/").pop():n,r,t);return{ok:!1,reason:"not-found",attemptedUrl:i,suggestions:o}}function Ow(n,e){let t=0;for(;t<n.length&&t<e.length&&n[t]===e[t];)t++;return t}function Ic(n,e,t){const r=Array.from(e.values()).filter(i=>i.url.endsWith("/"+n)||i.url==="/"+n);return r.length===0?null:r.length===1?r[0].url:r.slice().sort((i,s)=>Ow(s.url,t)-Ow(i.url,t))[0].url}function Nc(n){const e=n.attributes?.["data-slug"];if(e)return String(e);const t=r=>{if(!Ze.isTag(r)){if(Array.isArray(r))for(const s of r){const o=t(s);if(o)return o}return null}const i=r;if(i.name==="span"&&i.attributes?.["data-field"]==="slug"){const s=[];for(const o of i.children??[])typeof o=="string"&&s.push(o);return s.join("").trim()||null}for(const s of i.children??[]){const o=t(s);if(o)return o}return null};return t(n)}function zF(n,e,t){const r=[],i=s=>{if(!Ze.isTag(s)){Array.isArray(s)&&s.forEach(i);return}const o=s;if(o.attributes?.["data-rune"]==="nav-item"){const a=Bc(o);if(a)r.push(a);else{const l=Nc(o);if(l){const c=Ic(l,e,t);c&&r.push(c)}}}(o.children??[]).forEach(i)};return(n.children??[]).forEach(i),r}function ZF(n){const e=t=>{if(typeof t=="string")return t;if(!Ze.isTag(t)){if(Array.isArray(t))for(const i of t){const s=e(i);if(s)return s}return null}const r=t;if(r.attributes?.["data-field"]==="title"){const i=[];for(const s of r.children??[])typeof s=="string"&&i.push(s);if(i.length>0)return i.join("").trim()}for(const i of r.children??[]){const s=e(i);if(s)return s}return null};return e(n)??""}function FF(n,e){for(const t of e){if(!t)continue;if(n===t)return!0;const r=t.endsWith("/")?t:t+"/";if(n.startsWith(r))return!0}return!1}function yf(n,e,t){if(!Ze.isTag(n)){if(Array.isArray(n)){const s=n.map(o=>yf(o,e,t));return s.every((o,a)=>o===n[a])?n:s}return n}const r=n;if(r.attributes?.["data-rune"]==="nav"&&r.attributes?.["data-collapsible"]==="true"){const s=String(r.attributes?.["data-default-open"]??""),o=s?s.split(",").map(u=>u.trim()).filter(Boolean):[],a=[],l=u=>{if(!Ze.isTag(u))return;const f=u;f.attributes?.["data-rune"]==="nav-group"&&a.push(f),(f.children??[]).forEach(l)};(r.children??[]).forEach(l);for(const u of a){if(u.attributes?.["data-collapsed"]!==BC)continue;const f=ZF(u),d=f&&o.includes(f),h=zF(u,t,e),m=FF(e,h);u.attributes["data-collapsed"]=d||m?"false":"true"}const c=(r.children??[]).map(u=>yf(u,e,t));return c.every((u,f)=>u===r.children[f])?r:{...r,children:c}}const i=(r.children??[]).map(s=>yf(s,e,t));return i.every((s,o)=>s===r.children[o])?r:{...r,children:i}}function vw(n,e,t){const r=e?.title??t??"",i=e?.description,s=e?.icon,o=e?.url??t??"",a=[];s&&a.push(new Ze("rf-icon",{name:s,"data-name":"icon",class:"rf-nav-item__icon"},[])),a.push(new Ze("span",{"data-name":"title",class:"rf-nav-item__title"},[r])),i&&a.push(new Ze("span",{"data-name":"description",class:"rf-nav-item__description"},[i]));const l=o?new Ze("a",{href:o,class:"rf-nav-item__link"},a):new Ze("span",{class:"rf-nav-item__link"},a);return{...n,children:[l]}}function Bc(n){const e=t=>{if(!Ze.isTag(t)){if(Array.isArray(t))for(const i of t){const s=e(i);if(s)return s}return null}const r=t;if(r.name==="a"&&r.attributes?.href)return String(r.attributes.href);for(const i of r.children??[]){const s=e(i);if(s)return s}return null};return e(n)}function XF(n,e,t){const r=Bc(n);if(r){const s=/^[a-z]+:\/\//i.test(r);return{url:r,isExternal:s}}const i=Nc(n);if(i){const s=Ic(i,e,t);return s?{url:s,isExternal:!1}:null}return null}function VF(n,e){const t=(n.children??[]).map(r=>{if(!Ze.isTag(r))return r;const i=r;if(i.name!=="a")return r;const s=(i.children??[]).some(l=>Ze.isTag(l)&&l.attributes?.["data-name"]==="icon"),o=(i.children??[]).some(l=>Ze.isTag(l)&&l.attributes?.["data-name"]==="description"),a=[...i.children??[]];return e.icon&&!s&&a.unshift(new Ze("rf-icon",{name:e.icon,"data-name":"icon",class:"rf-nav-item__icon"},[])),e.description&&!o&&a.push(new Ze("span",{"data-name":"description",class:"rf-nav-item__description"},[e.description])),{...i,children:a}});return{...n,children:t}}function Ig(n,e,t){if(!Ze.isTag(n)){if(Array.isArray(n)){const s=n.map(o=>Ig(o,e,t));return s.every((o,a)=>o===n[a])?n:s}return n}const r=n;if(r.attributes?.["data-rune"]==="nav"){const o=(r.attributes?.["data-layout"]??r.attributes?.layout)==="cards",a=r.attributes?.["data-auto"]==="true";if(o||a){const l=u=>{if(!Ze.isTag(u))return Array.isArray(u)?u.map(l):u;const f=u;if(f.attributes?.["data-rune"]==="nav-item"){const h=XF(f,t,e);if(!h)return f;if(o){if(h.isExternal)return vw(f,null,h.url);const O=t.get(h.url),v=O?{url:O.url,title:O.title,description:O.description,icon:O.icon}:null;return vw(f,v,h.url)}if(h.isExternal)return f;const m=t.get(h.url);if(!m)return f;const p={url:m.url,title:m.title,description:m.description,icon:m.icon};return VF(f,p)}const d=(f.children??[]).map(l);return d.every((h,m)=>h===f.children[m])?f:{...f,children:d}},c=(r.children??[]).map(l);return{...r,children:c}}}const i=(r.children??[]).map(s=>Ig(s,e,t));return i.every((s,o)=>s===r.children[o])?r:{...r,children:i}}function WF(n){return/^[a-z]+:\/\//i.test(n)||n.startsWith("mailto:")||n.startsWith("//")}function YF(n,e,t,r){const i=e?` in ${e}`:"",s=`Nav item \`${n}\`${i} cannot be resolved (no page at \`${t}\`).`;if(r.length===0)return s;const o=["","Did you mean one of:",...r.map(a=>` - ${a}`),"","Use a multi-segment slug (e.g. `section/page`) or an explicit `[Label](/path)` link."];return s+`
|
|
333
|
+
Reason: file not found${l}`)}if(!t.isFile())throw new ar(`snippet path "${n.pathAttr}" must be a file (got ${t.isDirectory()?"directory":"other"})`);const r=(void 0)(e,"utf-8"),i=FZ(n.lines),{sliced:s,warnings:o}=XZ(r,i),a=ZZ((void 0)(n.projectRoot,e));return{content:s,absolutePath:e,relativePath:a,warnings:o}}function VZ(n){if(!(void 0)(HC(n.relativePath,n.projectRoot)))throw new ar(`source file "${n.relativePath}" does not exist`)}class ar extends Error{constructor(e){super(e),this.name="SnippetSandboxError"}}const WZ=Object.freeze({".ts":"typescript",".tsx":"typescript",".js":"javascript",".jsx":"javascript",".mjs":"javascript",".cjs":"javascript",".svelte":"svelte",".vue":"vue",".md":"markdoc",".markdoc":"markdoc",".json":"json",".jsonc":"jsonc",".html":"html",".css":"css",".yml":"yaml",".yaml":"yaml",".toml":"toml",".sh":"bash",".bash":"bash"}),lw="text";function JC(n){if(typeof n!="string"||n.length===0)return lw;let e;const t=Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\")),r=t>=0?n.slice(t+1):n,i=r.lastIndexOf(".");return i===-1?e="."+r.toLowerCase():i===0?e=r.toLowerCase():e=r.slice(i).toLowerCase(),WZ[e]??lw}const{Tag:fr}=B;function zv(n){return fr.isTag(n)}function Xu(n,e){for(const t of n.children??[])if(zv(t)&&t.name==="meta"&&t.attributes["data-field"]===e)return String(t.attributes.content??"");return""}function YZ(n){return(n.children??[]).some(e=>zv(e)&&e.name==="meta"&&e.attributes["data-field"]===WC)}function UZ(n){return{path:Xu(n,"file-ref-path"),lines:Xu(n,"file-ref-lines"),label:Xu(n,"file-ref-label"),preview:Xu(n,"file-ref-preview")}}function eT(n){if(!n)return"";const e=n.endsWith("/")?n.slice(0,-1):n,t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function GZ(n,e,t,r,i){const s={value:!1},o=a=>{if(Array.isArray(a)){let f=!1;const d=a.map(h=>{const m=o(h);return m!==h&&(f=!0),m});return f?d:a}if(!zv(a))return a;const l=a;if(l.attributes?.["data-rune"]==="file-ref"&&YZ(l))return HZ(l,e,t,r,i,s);if(!l.children||l.children.length===0)return l;let c=!1;const u=l.children.map(f=>{const d=o(f);return d!==f&&(c=!0),d});return c?new fr(l.name,l.attributes,u):l};return o(n)}function HZ(n,e,t,r,i,s){const o=UZ(n),a=o.label||eT(o.path)||o.path,l=zZ(o.path,o.lines),c=o.preview==="drawer",u=y6(t,r,o.path,o.lines);!u&&!s.value&&(i.warn(`file-ref on this page has no GitHub URL — site config is missing \`repoUrl\` (path="${o.path}"). Configure \`SiteConfig.repoUrl\` to render canonical "View source" links.`,e),s.value=!0);const f={};c?(f.href=`#drawer-${l}`,f["aria-controls"]=`drawer-${l}`,f["aria-expanded"]="false",f["data-target-type"]="drawer"):u&&(f.href=u);const h=[new fr("a",f,[a])];if(c){const m=new fr("meta",{"data-field":jv,"data-source":"file-ref","data-target-id":l,"data-title":a,"data-path":o.path,"data-lines":o.lines,"data-github-url":u??""});h.push(m)}return new fr(n.name,n.attributes,h)}function KZ(n,e){const t=n.path,r=n.lines,i=n.title||eT(t),s=n["target-id"],o=n["github-url"];if(!t||!s)return e.ctx.warn("file-ref hoist payload missing required path or target-id",e.pageUrl),null;if(!e.projectRoot)return e.ctx.error(`file-ref hoist for "${t}" requires a project root in the pipeline; none was threaded through. Drawer body will be empty.`,e.pageUrl),null;let a="",l="text";try{const _=KC({pathAttr:t,projectRoot:e.projectRoot,lines:r||void 0,referencingPage:e.pageUrl});a=_.content,l=JC(_.relativePath);for(const A of _.warnings)e.ctx.warn(`file-ref ${t}: ${A}`,e.pageUrl)}catch(_){const A=_ instanceof ar?_.message:`file-ref ${t}: ${_ instanceof Error?_.message:String(_)}`;return e.ctx.error(A,e.pageUrl),null}const c=new fr("pre",{"data-language":l,"data-codeblock":"true"},[new fr("code",{"data-language":l,"data-codeblock":"true"},[a])]),u=new fr("figure",{class:"rf-snippet","data-rune":"snippet","data-source-path":t,...r?{"data-lines":r}:{}},[c]),f=new fr("div",{"data-name":"body",class:"rf-drawer__body"},[u]),d=new fr("h3",{"data-name":"title",class:"rf-drawer__title"},[i]),h=new fr("button",{type:"button","aria-label":"Close",hidden:!0,"data-name":"close",class:"rf-drawer__close"},["×"]),m=new fr("header",{"data-name":"header",class:"rf-drawer__header"},[d,h]),p=[];o&&p.push(new fr("a",{href:o,rel:"external noopener",target:"_blank"},["View source on GitHub →"]));const O=p.length>0?new fr("footer",{"data-name":"footer",class:"rf-drawer__footer"},p):null,v=[m,f];return O&&v.push(O),new fr("section",{id:`drawer-${s}`,class:"rf-drawer","data-rune":"drawer","data-drawer-id":s,"data-side":"right","data-size":"md"},v)}GC("file-ref",KZ);const{Tag:Jr}=B;function JZ(n){return Jr.isTag(n)}function e7(n,e,t,r){const i=s=>{if(Array.isArray(s)){let c=!1;const u=[];for(const f of s){const d=i(f);d!==f&&(c=!0),Array.isArray(d)?u.push(...d):u.push(d)}return c?u:s}if(!JZ(s))return s;const o=s;if(o.attributes?.["data-rune"]===Rv&&o.attributes?.["data-xref-preview"]==="drawer")return t7(o,t,r,e);if(!o.children||o.children.length===0)return o;let a=!1;const l=[];for(const c of o.children){const u=i(c);u!==c&&(a=!0),Array.isArray(u)?l.push(...u):l.push(u)}return a?new Jr(o.name,o.attributes,l):o};return i(n)}function t7(n,e,t,r){const i=n.attributes,s=String(i["data-xref-id"]??""),o=i["data-xref-label"];if(!s)return t.warn(`xref preview placeholder on ${r} has no entity id`,r),[n];const a=e?tT(e,s):void 0,l=o||(a?cw(a):s),c=a?cw(a):s,u=s,f=new Jr("a",{class:"rf-xref",href:`#drawer-${u}`,"aria-controls":`drawer-${u}`,"aria-expanded":"false","data-target-type":"drawer","data-xref-id":s},[l]),d=new Jr("meta",{"data-field":jv,"data-source":"xref","data-target-id":u,"data-title":c,"data-entity-id":s});return[f,d]}function tT(n,e){const t=n.getTypes?.()??[];for(const r of t){const i=n.getById(r,e);if(i)return i}}function cw(n){const e=n.data;return String(e.title??e.name??n.id)}function n7(n,e){const t=n["entity-id"]||n["target-id"],r=n["target-id"],i=n.title||t;if(!t||!r)return e.ctx.warn("xref hoist payload missing required entity-id or target-id",e.pageUrl),null;const s=e.registry?tT(e.registry,t):void 0,o=new Jr("h3",{"data-name":"title",class:"rf-drawer__title"},[i]),a=new Jr("button",{type:"button","aria-label":"Close",hidden:!0,"data-name":"close",class:"rf-drawer__close"},["×"]),l=new Jr("header",{"data-name":"header",class:"rf-drawer__header"},[o,a]),u=[new Jr("div",{"data-rune":Iv,"data-expand-id":t},[])],f=new Jr("div",{"data-name":"body",class:"rf-drawer__body"},u),d=s?.sourceUrl??"",h=d?new Jr("footer",{"data-name":"footer",class:"rf-drawer__footer"},[new Jr("a",{href:d},["View full page →"])]):null,m=[l,f];return h&&m.push(h),new Jr("section",{id:`drawer-${r}`,class:"rf-drawer","data-rune":"drawer","data-drawer-id":r,"data-side":"right","data-size":"md"},m)}GC("xref",n7);const{Tag:Dl}=B,r7=["fraction","percent","none"],i7=["positive","caution","negative"];function _g(n){return typeof n=="string"?n:Array.isArray(n)?n.map(_g).join(""):B.Tag.isTag(n)?_g(n.children??[]):""}const s7=He({attributes:{value:{type:Number,required:!1,description:"Completed amount (paired with `max`)."},max:{type:Number,required:!1,description:"Total amount (paired with `value`)."},percent:{type:Number,required:!1,description:"Direct percentage 0–100, when there is no count."},display:{type:String,required:!1,matches:r7.slice(),description:"Readout: fraction (default with value/max), percent, or none."},sentiment:{type:String,required:!1,matches:i7.slice(),description:"Tone cue: positive / caution / negative. Absent → the neutral primary fill."}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=e.value!=null?Number(e.value):void 0,i=e.max!=null?Number(e.max):void 0,s=e.percent!=null?Number(e.percent):void 0,o=w=>Math.max(0,Math.min(100,w)),a=r!=null&&i!=null&&Number.isFinite(r)&&Number.isFinite(i)&&i>0,l=a?o(Math.round(r/i*100)):s!=null&&Number.isFinite(s)?o(s):0,c=e.display||(a?"fraction":"percent");let u="";c==="fraction"&&a?u=`${r}/${i}`:c==="percent"&&(u=`${l}%`);const d=new ze(B.transform(ot(n.body),t)).toArray(),h=_g(d).trim(),m=e.sentiment,p=m?new Dl("meta",{content:m}):void 0,O=new Dl("span",{},[]),v=new Dl("span",{},[O]),b={track:v,fill:O},_=p?[p]:[];if(d.length>0){const w=new Dl("span",{},d);b.label=w,_.push(w)}if(u){const w=new Dl("span",{},[u]);b.value=w,_.push(w)}_.push(v);const A=Ne({rune:"progress",tag:"div",properties:p?{sentiment:p}:{},refs:b,children:_});return A.attributes.role="progressbar",A.attributes["aria-valuemin"]="0",a?(A.attributes["aria-valuenow"]=String(r),A.attributes["aria-valuemax"]=String(i)):(A.attributes["aria-valuenow"]=String(l),A.attributes["aria-valuemax"]="100"),h&&(A.attributes["aria-label"]=h),A.attributes.style=`--rf-progress: ${l}%`,A}}),{Tag:po}=B,o7=He({base:i8,attributes:{href:{type:String,required:!1,default:"",description:"Optional link target; makes the whole card clickable."},"content-place":{type:String,required:!1,description:'Cover overlay anchor: "<block> <inline>" (e.g. "end start") or "auto"'},height:{type:String,required:!1,matches:["sm","md","lg","xl"],description:"Intrinsic card height (named scale) for cover / bg-only cards"},aspect:{type:String,required:!1,description:'Intrinsic card aspect ratio (e.g. "16/9", "3/4") for cover / bg-only cards'}},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const{media:r,body:i,footer:s}=o8(ot(n.body)),{metas:o,children:a}=s8(e),l=e["content-place"],c=e.height,u=e.aspect,f=l?new po("meta",{content:l}):void 0,d=c?new po("meta",{content:c}):void 0,h=u?new po("meta",{content:u}):void 0,m=[...a];if(f&&m.push(f),d&&m.push(d),h&&m.push(h),r.length>0){const x=new ze(B.transform(r,t)),E=a8(x),T=E?[E]:x.toArray();m.push(new po("div",{"data-section":"media","data-name":"media"},T))}let p,O=i;i.length>=2&&i[0].type==="paragraph"&&i[1].type==="heading"&&(p=i[0],O=i.slice(1));let v;if(p){const E=new ze(B.transform([p],t)).toArray()[0];B.Tag.isTag(E)&&(v=E)}const _=new ze(B.transform(O,t)).toArray(),A=_.find(x=>B.Tag.isTag(x)&&/^h[1-6]$/.test(x.name)),w=new po("div",{"data-name":"body"},_);let y;if(s.length>0){const x=new ze(B.transform(s,t));y=new po("footer",{"data-name":"footer"},x.toArray())}v&&m.push(v),m.push(w),y&&m.push(y);let S;const C=String(e.href??"");C&&(S=new po("a",{"data-name":"link",href:C,"aria-hidden":"true",tabindex:"-1"},[]),m.push(S));const k={body:w};return A&&(k.title=A),v&&(k.eyebrow=v),y&&(k.footer=y),S&&(k.link=S),Ne({rune:"card",tag:"div",properties:{"media-position":o.mediaPosition,"content-place":f,height:d,aspect:h},refs:k,children:m})}}),{Tag:a7}=B,l7=["positive","negative","caution","neutral"],c7=["status","category","quantity","temporal","tag","id"],u7={inline:!0,attributes:{sentiment:{type:String,required:!1,matches:l7.slice(),description:"Sentiment dimension: positive, negative, caution, neutral. Default: neutral."},type:{type:String,required:!1,matches:c7.slice(),description:"Meta-type dimension: status, category, quantity, temporal, tag, id. Default: tag."}},transform(n,e){const t=n.attributes.sentiment??"neutral",r=n.attributes.type??"tag",i={class:"rf-badge","data-rune":"badge","data-meta-sentiment":t,"data-meta-type":r},s=n.transformChildren(e);return new a7("span",i,s)}},{Tag:$p}=B;function f7(n){const e=n.findIndex(t=>t.type==="hr");return e<0?{left:n,right:[]}:{left:n.slice(0,e),right:n.slice(e+1)}}const d7=He({attributes:{},contentModel:{type:"sequence",fields:[{name:"body",match:"any",optional:!0,greedy:!0}]},transform(n,e,t){const r=f7(ot(n.body)),i=B.transform(r.left,t),s=B.transform(r.right,t),o=new $p("div",{},i),a=r.right.length>0?new $p("div",{"data-align":"end"},s):null,l=a?[o,a]:[o];return new $p("div",{"data-rune":"bar","data-zone-layout":"bar"},l)}}),{Ast:Vu,Tag:mo}=B;function h7(n){const e=n.children??[];if(e.length===0)return null;let t,r;const i=e[0];if(i?.type==="inline")t=i,r=e.slice(1);else if(i?.type==="paragraph")t=i.children?.[0],r=e.slice(1);else return null;if(!t||t.type!=="inline")return null;const s=t.children??[];if(s.length===0)return null;const o=s[0];if(!o||o.type!=="strong")return null;const a=o.children??[];let l="";for(const p of a)p.type==="text"&&typeof p.attributes?.content=="string"&&(l+=p.attributes.content);if(!l.endsWith(":"))return null;const c=l.slice(0,-1),u=[new Vu.Node("text",{content:c})],f=s.slice(1),d=(()=>{const p=f[0];if(p?.type==="text"&&typeof p.attributes?.content=="string"){const O=p.attributes.content.replace(/^\s+/,"");return O===""?f.slice(1):[new Vu.Node("text",{content:O}),...f.slice(1)]}return f})(),h=d.length>0?[new Vu.Node("inline",{},d)]:[],m=h.length>0?[new Vu.Node("paragraph",{},h)]:[];return{term:u,rest:h,restBlocks:[...m,...r]}}const p7=He({attributes:{},contentModel:{type:"sequence",fields:[{name:"list",match:"list",optional:!1}]},transform(n,e,t){const i=ot(n.list).find(a=>a.type==="list");if(!i)return new mo("dl",{"data-rune":"deflist","data-zone-layout":"definition-list"},[]);const s=(i.children??[]).filter(a=>a.type==="item"),o=[];for(const a of s){const l=h7(a);let c,u;if(l){const f=B.transform(l.term,t),d=B.transform(l.restBlocks,t);c=new mo("dt",{"data-meta-label":""},f),u=new mo("dd",{},uw(d))}else{const f=B.transform(a.children??[],t);c=new mo("dt",{"data-meta-label":""},[]),u=new mo("dd",{},uw(f)),m7(a)}o.push(new mo("div",{"data-name":"row"},[c,u]))}return new mo("dl",{"data-rune":"deflist","data-zone-layout":"definition-list"},o)}});function uw(n){if(n.length!==1)return n;const e=n[0];return!B.Tag.isTag(e)||e.name!=="p"?n:e.children}const fw=new Set;function m7(n){const e=n.location??null,t=e?`${e.start?.line??"?"}:${e.start?.character??"?"}`:"unknown";fw.has(t)||(fw.add(t),console.warn(`[refrakt] {% deflist %} item at line ${e?.start?.line??"?"} lacks a \`**Term:**\` prefix — rendered with empty <dt>. Prefix the item with bold term text ending in \`:\` to label it.`))}class g7{constructor(e){this.name=e.name,this.aliases=e.aliases??[],this.schema=e.schema,this.description=e.description??"",this.seoType=e.seoType,this.typeName=e.typeName,this.schemaOrgType=e.schemaOrgType,this.authoringHints=e.authoringHints,this.category=e.category,this.snippet=e.snippet}get names(){return[this.name,...this.aliases]}}function Ue(n){return new g7(n)}function O7(n){const e={};for(const t of Object.values(n))for(const r of t.names)e[r]=t.schema;return e}const{Ast:v7}=B;class _G extends v7.Node{constructor(e,t,r,i){super(e,t,r,i)}transform(e){return super.transform(e)}}const b7=new Set(["id","type","sourceFile","sourceUrl"]);function y7(n){const e=[];let t="",r=!1;for(const i of n){if(i==='"'){r=!r;continue}if(!r&&/\s/.test(i)){t&&(e.push(t),t="");continue}t+=i}return t&&e.push(t),e}function vd(n){const e=[],t=new Map;if(!n||!n.trim())return{clauses:[],warnings:e};for(const r of y7(n)){const i=r.indexOf(":");if(i===-1){e.push(`Ignored filter clause "${r}": expected field:value`);continue}const s=r.slice(0,i);if(!s){e.push(`Ignored filter clause "${r}": empty field name`);continue}const o=r.slice(i+1),a=t.get(s);a?a.push(o):t.set(s,[o])}return{clauses:[...t.entries()].map(([r,i])=>({field:r,values:i})),warnings:e}}function nT(n,e){return e==="url"?n.sourceUrl??n.data.url??"":b7.has(e)?n[e]:n.data[e]}function w7(n){const e=n.split("*").map(t=>t.replace(/[.+?^${}()|[\]\\]/g,"\\$&"));return new RegExp("^"+e.join(".*")+"$")}const _7=/^\/(.+)\/([gimsuy]*)$/,k7=/[\\^$.+?()[\]{}|]/;function x7(n,e){const t=e.match(_7);if(t&&(t[2].length>0||k7.test(t[1])))try{return new RegExp(t[1],t[2]).test(n)}catch{return n===e}return e.includes("*")?w7(e).test(n):n===e}function S7(n){if(Array.isArray(n))return n.map(t=>String(t??""));const e=String(n??"");return e.includes(",")?e.split(",").map(t=>t.trim()):[e]}function uh(n,e){for(const t of e.clauses){const r=S7(nT(n,t.field));if(!t.values.some(s=>r.some(o=>x7(o,s))))return!1}return!0}function Ra(n){return String(n??"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[-_]+/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}const{Tag:Is,Ast:A7}=B;function Zv(n){if(!n)return{template:""};const e=B.parse(`
|
|
334
|
+
`+n),t=[[]];for(const s of e.children)s.type==="hr"?t.push([]):t[t.length-1].push(s);if(t.length===1)return{template:n};const r=s=>s.length?B.format(new A7.Node("document",{},s)):"",i=t.map(r);return i.length===2?{preamble:i[0]||void 0,template:i[1]}:{preamble:i[0]||void 0,template:i[1],fallback:i[2]||void 0}}class C7{constructor(e,t={}){this.matches=e,this.overrides=t}order(e,t){return this.overrides[e]?.[t]??this.matches[e]?.[t]}rank(e,t,r){const i=this.order(e,t);return i?i.indexOf(r):-1}}function Fv(n){const e={},t=n?.tags??{};for(const[r,i]of Object.entries(t)){const s=i?.attributes;if(s)for(const[o,a]of Object.entries(s)){const l=a?.matches;Array.isArray(l)&&l.every(c=>typeof c=="string")&&((e[r]??={})[o]=l)}}return new C7(e,n?.orderings??{})}function rT(n){return n.sourceUrl||String(n.data.url??"")}function T7(n){const e=n.data;return String(e.title??e.name??n.id)}function Vr(n,e){const t=nT(n,e);return Array.isArray(t)?t.join(", "):String(t??"")}function iT(n,e){const t=rT(n),r=T7(n),i=`${e}__title`;return t?new Is("a",{class:i,href:t},[r]):new Is("span",{class:i},[r])}function P7(n){return n.id||String(n.data?.name??"")}function Xv(n,e){const t=n.data?.status,r=t?e?.sentiments?.[n.type]?.status?.[t]??"":"";return{id:n.id,identifier:P7(n),type:n.type,url:rT(n),data:n.data,sentiment:r,mixed:e?.mixed??!1,group:e?.group??"",groupCount:e?.groupCount??0}}function E7(n,e,t){if(!e)return n;let r=e.trim(),i=1;r.startsWith("-")?(i=-1,r=r.slice(1)):r.endsWith("-desc")?(i=-1,r=r.slice(0,-5)):r.endsWith("-asc")&&(r=r.slice(0,-4));const s=t&&n.some(o=>t.order(o.type,r));return[...n].sort((o,a)=>{if(s){const d=t.rank(o.type,r,Vr(o,r)),h=t.rank(a.type,r,Vr(a,r)),m=d>=0,p=h>=0;if(m&&p){if(d!==h)return(d-h)*i}else if(m!==p)return m?-1:1}const l=Vr(o,r),c=Vr(a,r),u=Number(l),f=Number(c);return l!==""&&c!==""&&Number.isFinite(u)&&Number.isFinite(f)?(u-f)*i:l.localeCompare(c)*i})}function sT(n,e){const t=new Map;for(const r of n){const i=e(r),s=t.get(i);s?s.push(r):t.set(i,[r])}return t}function kg(n,e,t){const r=sT(n,o=>Vr(o,e)||"(none)");if(!t||![...n].some(o=>t.order(o.type,e)))return r;const i=o=>{let a=1/0;for(const l of o){const c=t.rank(l.type,e,Vr(l,e));c>=0&&c<a&&(a=c)}return a},s=[...r.entries()].sort((o,a)=>i(o[1])-i(a[1]));return new Map(s)}function oT(n){const e=n.map(t=>new Is("details",{class:"rf-accordion-item","data-group":t.key},[new Is("summary",{class:"rf-accordion-item__header"},[new Is("span",{class:"rf-accordion-item__title"},[t.label]),new Is("span",{class:"rf-accordion-item__count"},[String(t.count)])]),new Is("div",{class:"rf-accordion-item__body"},t.nodes)]));return[new Is("div",{class:"rf-accordion"},e)]}function ps(n,e,t){const r=Bv(n,e,t);return Array.isArray(r)?r:[r]}const{Tag:Wt,Ast:$7}=B;function xg(n){return iT(n,"rf-collection")}function Vv(n){return Wt.isTag(n)}function Bi(n,e){for(const t of n.children??[])if(Vv(t)&&t.name==="meta"&&t.attributes["data-field"]===e)return String(t.attributes.content??"");return""}function Q7(n){return(n.children??[]).some(e=>Vv(e)&&e.name==="meta"&&e.attributes["data-field"]===FC)}function L7(n){const e=Bi(n,"collection-limit"),t=Number(e);return{types:Bi(n,"collection-type").split(",").map(r=>r.trim()).filter(Boolean),filter:Bi(n,"collection-filter"),sort:Bi(n,"collection-sort"),group:Bi(n,"collection-group"),groupDisplay:Bi(n,"collection-group-display")||"headings",limit:e&&Number.isFinite(t)&&t>0?Math.floor(t):void 0,fields:Bi(n,"collection-fields").split(",").map(r=>r.trim()).filter(Boolean),layout:Bi(n,"collection-layout")||"list",bodySource:Bi(n,"collection-body"),empty:Bi(n,"collection-empty")}}function M7(n,e){const t=e.fields.map(r=>new Wt("span",{class:"rf-collection__field","data-field":r},[Vr(n,r)]));return e.layout==="list"?new Wt("div",{class:"rf-collection__item","data-entity-id":n.id},[xg(n)]):new Wt("article",{class:"rf-collection__card","data-entity-id":n.id},[xg(n),...t])}function q7(n,e,t){const r=B.parse(n),i=[];let s=null;for(const o of r.children)if(o.type==="heading"){const a=B.format(o).replace(/^#+\s*/,"").trim();a.includes("$item")&&e.warn(`collection: $item in a table column heading ("${a}") is not per-row; use a static label`,t),s={label:a,cellNodes:[]},i.push({label:a,cellSource:""})}else s&&(s.cellNodes.push(o),i[i.length-1].cellSource=B.format(new $7.Node("document",{},s.cellNodes)));return i}function D7(n,e,t,r,i,s){const o=q7(e,r,i);if(!t)return r.error("collection — table column templates present but no embedConfig threaded through the pipeline",i),new Wt("table",{class:"rf-collection__table"},[]);const a=new Wt("thead",{},[new Wt("tr",{},o.map(c=>new Wt("th",{},[c.label])))]),l=n.map(c=>{const u=Xv(c,s),f=o.map(d=>{const h=Bv(d.cellSource,t,{item:u}),m=Array.isArray(h)?h:[h];return new Wt("td",{},m)});return new Wt("tr",{"data-entity-id":c.id},f)});return new Wt("table",{class:"rf-collection__table"},[a,new Wt("tbody",{},l)])}function R7(n,e){const t=[new Wt("th",{},["Title"]),...e.fields.map(s=>new Wt("th",{},[Ra(s)]))],r=new Wt("thead",{},[new Wt("tr",{},t)]),i=n.map(s=>{const o=[new Wt("td",{},[xg(s)]),...e.fields.map(a=>new Wt("td",{"data-field":a},[Vr(s,a)]))];return new Wt("tr",{"data-entity-id":s.id},o)});return new Wt("table",{class:"rf-collection__table"},[r,new Wt("tbody",{},i)])}function I7(n,e,t,r,i,s){return t?n.map(o=>{const a=Xv(o,s),l=Bv(e,t,{item:a}),c=Array.isArray(l)?l:[l];return new Wt("div",{class:"rf-collection__item","data-entity-id":o.id,"data-block":""},c)}):(r.error("collection — body template present but no embedConfig threaded through the pipeline",i),[])}function Wu(n,e,t,r){if(!e.group)return r(n);const i=kg(n,e.group,t);if(e.groupDisplay==="accordion")return oT([...i].map(([o,a])=>({key:o,label:o,count:a.length,nodes:r(a,{group:o,groupCount:a.length})})));const s=[];for(const[o,a]of i)s.push(new Wt("div",{class:"rf-collection__group","data-group":o},[new Wt("h3",{class:"rf-collection__group-title"},[o]),...r(a,{group:o,groupCount:a.length})]));return s}function N7(n,e,t,r,i,s){const o=L7(n);let a=[];for(const b of o.types)a.push(...e.getAll(b));if(o.filter){const b=vd(o.filter);for(const _ of b.warnings)i.warn(`collection filter: ${_}`,s);a=a.filter(_=>uh(_,b))}a=E7(a,o.sort,r);const l=a.length;o.limit!==void 0&&a.length>o.limit&&(a=a.slice(0,o.limit));const c={count:l,shown:a.length},u=Zv(o.bodySource),f=u.template,d={...n.attributes,"data-type":o.types.join(","),"data-layout":o.layout},m={mixed:new Set(a.map(b=>b.type)).size>1&&o.group!=="type",sentiments:t?.sentiments};if(a.length===0){const b=[];return u.fallback&&t?b.push(new Wt("div",{"data-name":"empty",class:"rf-collection__empty"},ps(u.fallback,t,c))):o.empty&&b.push(new Wt("div",{"data-name":"empty",class:"rf-collection__empty"},[o.empty])),new Wt(n.name,d,b)}let p;o.layout==="table"&&f?p=Wu(a,o,r,(b,_)=>[D7(b,f,t,i,s,{...m,..._})]):f?p=Wu(a,o,r,(b,_)=>I7(b,f,t,i,s,{...m,..._})):o.layout==="table"?p=Wu(a,o,r,b=>[R7(b,o)]):p=Wu(a,o,r,b=>b.map(_=>M7(_,o)));const O=new Wt("div",{"data-name":"items",class:"rf-collection__items"},p),v=[];return u.preamble&&t&&v.push(new Wt("div",{"data-name":"preamble",class:"rf-collection__preamble"},ps(u.preamble,t,c))),new Wt(n.name,d,[...v,O])}function B7(n,e,t,r,i){const s=Fv(r),o=a=>{if(Array.isArray(a))return a.map(o);if(!Vv(a))return a;const l=a;return l.attributes?.["data-rune"]==="collection"&&Q7(l)?N7(l,t,r,s,i,e):!l.children||l.children.length===0?l:new Wt(l.name,l.attributes,l.children.map(o))};return o(n)}const{Tag:xr}=B;function Wv(n){return xr.isTag(n)}function Oi(n,e){for(const t of n.children??[])if(Wv(t)&&t.name==="meta"&&t.attributes["data-field"]===e)return String(t.attributes.content??"");return""}function j7(n){return(n.children??[]).some(e=>Wv(e)&&e.name==="meta"&&e.attributes["data-field"]===XC)}function Qp(n){return n.split(",").map(e=>e.trim()).filter(Boolean)}function z7(n){const e=Oi(n,"relationships-limit"),t=Number(e);return{of:Oi(n,"relationships-of"),kinds:Qp(Oi(n,"relationships-kind")),types:Qp(Oi(n,"relationships-type")),group:Oi(n,"relationships-group")||"kind",groupDisplay:Oi(n,"relationships-group-display")||"headings",sort:Oi(n,"relationships-sort"),limit:e&&Number.isFinite(t)&&t>0?Math.floor(t):void 0,fields:Qp(Oi(n,"relationships-fields")),layout:Oi(n,"relationships-layout")||"list",bodySource:Oi(n,"relationships-body"),empty:Oi(n,"relationships-empty")}}function Z7(n,e,t){if(!e)return n;let r=e.trim(),i=1;r.startsWith("-")?(i=-1,r=r.slice(1)):r.endsWith("-desc")?(i=-1,r=r.slice(0,-5)):r.endsWith("-asc")&&(r=r.slice(0,-4));const s=n.some(o=>t.order(o.target.type,r));return[...n].sort((o,a)=>{if(s){const u=t.rank(o.target.type,r,Vr(o.target,r)),f=t.rank(a.target.type,r,Vr(a.target,r)),d=u>=0,h=f>=0;if(d&&h){if(u!==f)return(u-f)*i}else if(d!==h)return d?-1:1}const l=Vr(o.target,r),c=Vr(a.target,r);return l.localeCompare(c)*i})}function dw(n){return iT(n,"rf-relationships")}function F7(n,e){const t=e.fields.map(i=>new xr("span",{class:"rf-relationships__field","data-field":i},[Vr(n.target,i)])),r={"data-entity-id":n.target.id,"data-kind":n.kind};return e.layout==="grid"?new xr("article",{class:"rf-relationships__card",...r},[dw(n.target),...t]):new xr("div",{class:"rf-relationships__item",...r},[dw(n.target),...t])}function Lp(n,e,t,r){return n.map(i=>{if(t&&r){const s=ps(t,r,{item:Xv(i.target),kind:i.kind});return new xr("div",{class:"rf-relationships__item","data-entity-id":i.target.id,"data-kind":i.kind,"data-block":""},s)}return F7(i,e)})}function X7(n,e,t,r,i,s){const o=z7(n);o.of||i.warn("relationships — no `of` entity given (pass of=$item.id on an entity page)",s);let a=o.of&&e.getRelated?e.getRelated(o.of,{kind:o.kinds.length?o.kinds:void 0,type:o.types.length?o.types:void 0}):[];a=Z7(a,o.sort,r);const l=a.length;o.limit!==void 0&&a.length>o.limit&&(a=a.slice(0,o.limit));const c={count:l,shown:a.length},u=Zv(o.bodySource),f=u.template,d={...n.attributes,"data-of":o.of,"data-layout":o.layout};if(a.length===0){const O=[];return u.fallback&&t?O.push(new xr("div",{"data-name":"empty",class:"rf-relationships__empty"},ps(u.fallback,t,c))):o.empty&&O.push(new xr("div",{"data-name":"empty",class:"rf-relationships__empty"},[o.empty])),new xr(n.name,d,O)}let h;if(o.group==="none")h=Lp(a,o,f,t);else{const O=o.group==="type"?b=>b.target.type:b=>b.kind,v=sT(a,O);if(o.groupDisplay==="accordion")h=oT([...v].map(([b,_])=>({key:b,label:Ra(b),count:_.length,nodes:Lp(_,o,f,t)})));else{h=[];for(const[b,_]of v)h.push(new xr("div",{class:"rf-relationships__group","data-group":b},[new xr("h3",{class:"rf-relationships__group-title"},[Ra(b)]),...Lp(_,o,f,t)]))}}const m=new xr("div",{"data-name":"items",class:"rf-relationships__items"},h),p=[];return u.preamble&&t&&p.push(new xr("div",{"data-name":"preamble",class:"rf-relationships__preamble"},ps(u.preamble,t,c))),new xr(n.name,d,[...p,m])}function V7(n,e,t,r,i){const s=Fv(r),o=a=>{if(Array.isArray(a))return a.map(o);if(!Wv(a))return a;const l=a;return l.attributes?.["data-rune"]==="relationships"&&j7(l)?X7(l,t,r,s,i,e):!l.children||l.children.length===0?l:new xr(l.name,l.attributes,l.children.map(o))};return o(n)}const{Tag:kn}=B;function Yv(n){return kn.isTag(n)}function vi(n,e){for(const t of n.children??[])if(Yv(t)&&t.name==="meta"&&t.attributes["data-field"]===e)return String(t.attributes.content??"");return""}function W7(n){return(n.children??[]).some(e=>Yv(e)&&e.name==="meta"&&e.attributes["data-field"]===VC)}function Y7(n){const e=vi(n,"aggregate-limit"),t=Number(e);return{types:vi(n,"aggregate-type").split(",").map(r=>r.trim()).filter(Boolean),filter:vi(n,"aggregate-filter"),value:vi(n,"aggregate-value"),group:vi(n,"aggregate-group"),sort:vi(n,"aggregate-sort"),limit:e&&Number.isFinite(t)&&t>0?Math.floor(t):void 0,bodySource:vi(n,"aggregate-body"),empty:vi(n,"aggregate-empty"),layout:vi(n,"aggregate-layout"),chartType:vi(n,"aggregate-chart-type")||"bar",chartTitle:vi(n,"aggregate-chart-title")}}function U7(n,e,t,r){const i=f=>new kn("td",{},[f]),s=f=>new kn("th",{},[f]),o=[Ra(e.group||"group"),"Count"];t&&o.push("Value");const a=new kn("tr",{},o.map(s)),l=n.map(([f,d])=>{const h=aT(r,d,e.group,f),p=[h?new kn("td",{"data-meta-sentiment":h},[Ra(f)]):i(Ra(f)),i(String(d.length))];return t&&p.push(i(String(Eo(d,t)))),new kn("tr",{},p)}),c=[];e.chartTitle&&c.push(new kn("caption",{},[e.chartTitle])),c.push(new kn("thead",{},[a])),c.push(new kn("tbody",{},l));const u=new kn("table",{"data-name":"data"},c);return new kn("rf-chart",{"data-rune":"chart","data-rune-fields":JSON.stringify({type:e.chartType,stacked:"false"}),"data-type":e.chartType,"data-stacked":"false"},[u])}function bd(n,e){return e<=0?0:Math.round(n/e*100)}function Eo(n,e){return e?n.filter(t=>uh(t,e)).length:n.length}function aT(n,e,t,r){const i=e[0]?.type??"";return n?.[i]?.[t]?.[r]??""}function hw(n,e,t,r,i){if(!e)return n;let s=e.trim(),o=1;return s.startsWith("-")?(o=-1,s=s.slice(1)):s.endsWith("-desc")?(o=-1,s=s.slice(0,-5)):s.endsWith("-asc")&&(s=s.slice(0,-4)),s==="count"?[...n].sort(([,a],[,l])=>(a.length-l.length)*o):s==="value"?[...n].sort(([,a],[,l])=>(Eo(a,i)-Eo(l,i))*o):s==="percent"?[...n].sort(([,a],[,l])=>{const c=bd(Eo(a,i),a.length),u=bd(Eo(l,i),l.length);return(c-u)*o}):[...n].sort(([a,l],[c,u])=>{const f=l[0]?.type??"",d=u[0]?.type??"",h=r.rank(f,t,a),m=r.rank(d,t,c),p=h>=0,O=m>=0;if(p&&O){if(h!==m)return(h-m)*o}else if(p!==O)return p?-1:1;return a.localeCompare(c)*o})}function G7(n,e,t,r,i,s){const o=Y7(n);let a=[];for(const A of o.types)a.push(...e.getAll(A));if(o.filter){const A=vd(o.filter);for(const w of A.warnings)i.warn(`aggregate filter: ${w}`,s);a=a.filter(w=>uh(w,A))}const l=o.value?vd(o.value):null;if(l)for(const A of l.warnings)i.warn(`aggregate value: ${A}`,s);const c=a.length,u=Eo(a,l),f=o.value?bd(u,c):100;if(o.layout==="chart"){if(c===0)return new kn("div",{"data-name":"empty",class:"rf-aggregate__empty"},o.empty?[o.empty]:[]);let A=[...kg(a,o.group,r).entries()];return A=hw(A,o.sort,o.group,r,l),o.limit!==void 0&&A.length>o.limit&&(A=A.slice(0,o.limit)),U7(A,o,l,t?.sentiments)}if(!o.bodySource)return new kn(n.name,{...n.attributes,"data-aggregate":"count","data-count":String(c)},[String(c)]);const d=Zv(o.bodySource),h=d.template,m={...n.attributes,"data-aggregate":"breakdown"};if(c===0){const A=[];if(d.fallback&&t){const w={item:{key:"",count:0,value:0,percent:0,total:0,shown:0}};A.push(new kn("div",{"data-name":"empty",class:"rf-aggregate__empty"},ps(d.fallback,t,w)))}else o.empty&&A.push(new kn("div",{"data-name":"empty",class:"rf-aggregate__empty"},[o.empty]));return new kn(n.name,m,A)}const p=[];if(d.preamble&&t){const A={item:{count:c,value:u,percent:f,total:c}};p.push(new kn("div",{"data-name":"preamble",class:"rf-aggregate__preamble"},ps(d.preamble,t,A)))}if(!o.group){const A=[...p];if(h&&t){const w={item:{key:"",count:c,value:u,percent:f,total:c,shown:1}};A.push(new kn("div",{"data-name":"items",class:"rf-aggregate__items"},ps(h,t,w)))}return new kn(n.name,m,A)}let O=[...kg(a,o.group,r).entries()];O=hw(O,o.sort,o.group,r,l),o.limit!==void 0&&O.length>o.limit&&(O=O.slice(0,o.limit));const v=O.length,b=[];if(h&&t)for(const[A,w]of O){const y=w.length,S=Eo(w,l),C=o.value?bd(S,y):100,k={item:{key:A,count:y,value:S,percent:C,total:c,shown:v,sentiment:aT(t?.sentiments,w,o.group,A)}},x=ps(h,t,k);b.push(new kn("div",{class:"rf-aggregate__group","data-group":A,"data-block":""},x))}const _=new kn("div",{"data-name":"items",class:"rf-aggregate__items"},b);return new kn(n.name,m,[...p,_])}function H7(n,e,t,r,i){const s=Fv(r),o=a=>{if(Array.isArray(a))return a.map(o);if(!Yv(a))return a;const l=a;return l.attributes?.["data-rune"]==="aggregate"&&W7(l)?G7(l,t,r,s,i,e):!l.children||l.children.length===0?l:new kn(l.name,l.attributes,l.children.map(o))};return o(n)}const{Tag:Uv}=B,K7=500;function lT(n){return Uv.isTag(n)}function J7(n){const e=String(n.attributes["data-rf-query"]??"").trim();if(!e)return null;const t=Number(n.attributes["data-rf-limit"]);return{expr:e,fields:String(n.attributes["data-rf-fields"]??"").split(",").map(r=>r.trim()).filter(Boolean),shape:String(n.attributes["data-rf-shape"]??"flat")||"flat",limit:Number.isFinite(t)&&t>0?Math.floor(t):void 0}}function eF(n,e){const t=n.data,r=String(n.sourceUrl??t.url??"");let i;if(e.length>0){i={};for(const s of e)i[s]=t[s]}else i={...t};return{id:n.id,type:n.type,url:r,data:i}}function pw(n){return n.length>1&&n.endsWith("/")?n.slice(0,-1):n}function tF(n){const e=new Map;for(const r of n)e.set(pw(r.url),{...r,children:[]});const t=[];for(const r of e.values()){const i=pw(String(r.data.parentUrl??"")),s=i?e.get(i):void 0;s&&s!==r?s.children.push(r):t.push(r)}return t}function nF(n,e){if(!e.getRelated)return[];const t=new Set(n.map(i=>i.id)),r=[];for(const i of n)for(const s of e.getRelated(i.id))t.has(s.toId)&&r.push({from:s.fromId,to:s.toId,kind:s.kind});return r}function rF(n){return(n.children??[]).some(e=>lT(e)&&e.name==="template"&&e.attributes["data-content"]==="fallback")}function iF(n,e,t,r,i){const s=vd(e.expr);for(const h of s.warnings)r.warn(`sandbox data: ${h}`,i);const o=s.clauses.find(h=>h.field==="type"),a=o?o.values:[];if(a.length===0)return r.warn(`sandbox data="${e.expr}": no entity type — include a "type:<name>" clause`,i),n;let l=[];for(const h of a)l.push(...t.getAll(h));const c={clauses:s.clauses.filter(h=>h.field!=="type")};c.clauses.length>0&&(l=l.filter(h=>uh(h,c)));let u=l.map(h=>eF(h,e.fields));const f=e.limit??K7;u.length>f&&(r.warn(`data-bound sandbox query "${e.expr}" yielded ${u.length} records, over the ${f} cap — truncated`,i),u=u.slice(0,f)),rF(n)||r.warn("data-bound sandbox has no fallback — provide a no-WebGL fallback (e.g. a {% collection %} with the same query) for accessibility",i);const d=e.shape==="tree"?{shape:"tree",tree:tF(u)}:e.shape==="graph"?{shape:"graph",nodes:u,edges:nF(u,t)}:{shape:"flat",records:u};return new Uv(n.name,{...n.attributes,"data-rf-records":JSON.stringify(d)},n.children??[])}function Sg(n,e,t,r){if(Array.isArray(n))return n.map(o=>Sg(o,e,t,r));if(!lT(n))return n;const i=(n.children??[]).map(o=>Sg(o,e,t,r));let s=new Uv(n.name,n.attributes,i);if(s.name==="rf-sandbox"&&s.attributes["data-rf-query"]){const o=J7(s);o&&(s=iF(s,o,e,t,r))}return s}const{Tag:sF}=B;function Ag(n){return n==null||typeof n=="string"||typeof n=="number"?n:sF.isTag(n)?{$$mdtype:"Tag",name:n.name,attributes:n.attributes,children:n.children.map(Ag)}:n}function oF(n){return Array.isArray(n)?n.map(Ag):Ag(n)}const{Tag:yd}=B;function aF(n,e,t,r){const i=r?[r]:n.getTypes();for(const s of i){const o=n.getById(s,e,t);if(o)return o}}function lF(n,e,t){const r=e.toLowerCase(),i=t?[t]:n.getTypes(),s=[];for(const o of i)for(const a of n.getAll(o)){const l=a.data.name??"",c=a.data.title??"";(l.toLowerCase()===r||c.toLowerCase()===r)&&s.push(a)}return s}function mw(n){const e=n.data.url||n.sourceUrl;if(!e)return;const t=n.data.headingId;return t?`${e}#${t}`:e}function gw(n,e,t){if(e)return e;if(t){const r=t.data.title,i=t.data.name,s=t.data.text;return r||i||s||n}return n}const cT=/\{([a-zA-Z_$][a-zA-Z0-9_$]*)\}/g;function cF(n){return n.split("/").map(encodeURIComponent).join("/")}function uF(n,e,t){return n.replace(cT,(r,i)=>{const s=i==="id"?e:t[i]??"";return cF(s)})}function fF(n,e,t){return n.replace(cT,(r,i)=>i==="id"?e:t[i]??"")}function dF(n,e){for(const t of e){const r=t.match.exec(n);if(!r)continue;const i=r.groups??{};return{url:uF(t.template,n,i),label:fF(t.label,n,i),type:t.type}}}function hF(n,e){const t=n.indexOf("#");if(t<0)return n;const r=n.slice(0,t),i=n.slice(t),s=o=>o.endsWith("/")?o.slice(0,-1):o;return s(r)===s(e)?i:n}function pF(n,e,t,r){let i=aF(r.registry,n,r.pageUrl,t);if(!i){const c=lF(r.registry,n,t);if(c.length===1)i=c[0];else if(c.length>1){if(new Set(c.map(f=>mw(f)??f.sourceUrl??"")).size>1){const f=c.map(d=>`${d.type} "${d.data.title||d.data.name||d.id}" on ${d.sourceUrl??"(no URL)"}`).join(", ");r.ctx.warn(`xref "${n}" on ${r.pageUrl} — matches ${c.length} entities (${f}). Add type hint to disambiguate.`,r.pageUrl)}i=c[0]}}const s=i?mw(i):void 0;let o;if(i&&s)o={href:s,label:gw(n,e,i),type:i.type,source:"registry",targetType:i.type,entityId:i.id};else{const c=dF(n,r.patterns);c&&(o={href:c.url,label:gw(n,e,i)||c.label,type:i?.type??c.type,source:"pattern",targetType:i?.type,entityId:i?.id},!i&&!e&&(o.label=c.label))}if(!o)return r.ctx.warn(`xref "${n}" on ${r.pageUrl} — entity not found`,r.pageUrl),{tag:new yd("span",{class:"rf-xref rf-xref--unresolved","data-xref-id":n},[e||n])};o.href===r.pageUrl&&r.ctx.info(`xref "${n}" on ${r.pageUrl} — references itself`,r.pageUrl);const a=hF(o.href,r.pageUrl),l={class:`rf-xref rf-xref--${o.type}`,href:a,"data-xref-id":o.entityId??n,"data-xref-source":o.source};return o.targetType&&(l["data-target-type"]=o.targetType),{tag:new yd("a",l,[o.label])}}function mF(n,e,t,r,i){return Cg(n,{pageUrl:e,registry:t,patterns:r,ctx:i})}function Cg(n,e){if(!yd.isTag(n)){if(Array.isArray(n)){const i=n,s=i.map(o=>Cg(o,e));return s.every((o,a)=>o===i[a])?n:s}return n}const t=n;if(t.attributes?.["data-rune"]===Rv){const i=t.attributes["data-xref-id"],s=t.attributes["data-xref-label"],o=t.attributes["data-xref-type"];return i?pF(i,s,o,e).tag:new yd("span",{class:"rf-xref rf-xref--unresolved"},[s||"?"])}const r=(t.children??[]).map(i=>Cg(i,e));return r.every((i,s)=>i===t.children[s])?t:{...t,children:r}}const{Ast:uT,Tag:Tg}=B;function Yu(n,e){if(n==null)return"";if(typeof n=="string")return n;if(typeof n=="number"||typeof n=="boolean")return String(n);if(typeof n=="object"&&"$$mdtype"in n){const t=n;if(t.$$mdtype==="Variable"&&Array.isArray(t.path)){let r=e;for(const i of t.path){if(r==null)return"";r=r[i]}return r==null?"":String(r)}}return""}const gF=new Set(["code-group","diff"]);function OF(n,e,t){if(!t.projectRoot)return;let r=!1;return fT(n,e,t,t.projectRoot,i=>{i&&(r=!0)}),r?n:void 0}function fT(n,e,t,r,i){if(n.children)for(let s=0;s<n.children.length;s++){const o=n.children[s];if(o.type==="tag"&&o.tag==="snippet"){n.children[s]=vF(o,e,t,r),i(!0);continue}fT(o,e,t,r,i)}}function Mp(n,e){return new uT.Node("fence",{content:`snippet error: ${e}
|
|
335
|
+
`,language:"text",source:n||"(unresolved)","data-snippet-error":e})}function vF(n,e,t,r){const i=Yu(n.attributes.path,t.variables),s=n.attributes.lines!==void 0?Yu(n.attributes.lines,t.variables):void 0,o=n.attributes.lang!==void 0?Yu(n.attributes.lang,t.variables):void 0,a=n.attributes.linenumbers===!0,l=n.attributes.highlight!==void 0?Yu(n.attributes.highlight,t.variables):void 0;if(!i){const d="snippet `path` attribute is required (and an unresolvable variable reference resolves to empty)";return t.error(d,e.url),Mp("",d)}let c;try{c=KC({pathAttr:i,projectRoot:r,lines:s||void 0,referencingPage:e.relativePath})}catch(d){if(d instanceof ar)return t.error(d.message,e.url),Mp(i,d.message);const h=d.message??String(d);return t.error(`snippet "${i}" failed unexpectedly: ${h}`,e.url),Mp(i,h)}for(const d of c.warnings)t.warn(d,e.url);const u=o&&o.length>0?o:JC(c.relativePath),f={content:c.content,language:u,source:c.relativePath};return s&&(f.lines=s),a&&(f.linenumbers=!0),l&&l.length>0&&(f.highlight=l),new uT.Node("fence",f)}function bF(n,e,t){const r=Pg(n.renderable,!1);return r===n.renderable?n:{...n,renderable:r}}function Pg(n,e){if(Array.isArray(n)){let l=!1;const c=n.map(u=>{const f=Pg(u,e);return f!==u&&(l=!0),f});return l?c:n}if(!Tg.isTag(n))return n;const t=n,r=t.attributes?.["data-rune"],i=typeof r=="string"&&gF.has(r),s=e||i;if(t.name==="pre"&&t.attributes?.["data-source"]!==void 0&&!e)return yF(t);if(!t.children||t.children.length===0)return t;let o=!1;const a=t.children.map(l=>{const c=Pg(l,s);return c!==l&&(o=!0),c});return o?new Tg(t.name,t.attributes,a):t}function yF(n){const e=n.attributes,t=String(e["data-source"]??""),r=e["data-lines"]!==void 0?String(e["data-lines"]):void 0,i={class:"rf-snippet","data-rune":"snippet","data-source-path":t};return r&&(i["data-lines"]=r),new Tg("figure",i,[n])}const{Tag:Yo}=B,dT=/^h[1-6]$/,Eg="data-outline-scope";function wF(n){const e=new Set;return Lg(n,[],e),e.size>0&&Mg(n,e),n}function _F(n){const e=[];return $g(n,!1,e),e}function $g(n,e,t){if(Array.isArray(n)){for(const o of n)$g(o,e,t);return}if(!Yo.isTag(n))return;const r=n,i=r.attributes;if(dT.test(r.name)){if(e)return;const o=Number(r.name.slice(1)),a=typeof i?.id=="string"?i.id:"",l=Qg(r);a&&l&&t.push({level:o,text:l,id:a});return}const s=e||i&&typeof i[Eg]=="string";if(!(!r.children||r.children.length===0))for(const o of r.children)$g(o,!!s,t)}function Qg(n){return typeof n=="string"?n:typeof n=="number"?String(n):Array.isArray(n)?n.map(Qg).join(""):Yo.isTag(n)?(n.children??[]).map(Qg).join(""):""}function Lg(n,e,t){if(Array.isArray(n)){for(const a of n)Lg(a,e,t);return}if(!Yo.isTag(n))return;const r=n,i=r.attributes,s=i&&typeof i[Eg]=="string"?i[Eg]:void 0;if(dT.test(r.name)&&e.length>0){const a=e[e.length-1],l=typeof i?.id=="string"?i.id:void 0;l&&!l.startsWith(`${a}--`)&&(t.add(l),r.attributes.id=`${a}--${l}`);return}const o=s!==void 0?[...e,s]:e;if(!(!r.children||r.children.length===0))for(const a of r.children)Lg(a,o,t)}function Mg(n,e){if(Array.isArray(n)){for(const i of n)Mg(i,e);return}if(!Yo.isTag(n))return;const t=n;if(t.attributes?.["data-rune"]==="table-of-contents"){kF(t,e);return}if(t.children)for(const i of t.children)Mg(i,e)}function kF(n,e){for(const t of n.children??[])qg(t,e)}function qg(n,e){if(Array.isArray(n)){for(const r of n)qg(r,e);return}if(!Yo.isTag(n))return;const t=n;(t.name==="ul"||t.name==="ol")&&(t.children=(t.children??[]).filter(r=>{if(!Yo.isTag(r))return!0;const i=r;return i.name!=="li"?!0:!hT(i,e)}));for(const r of t.children??[])qg(r,e)}function hT(n,e){for(const t of n.children??[]){if(!Yo.isTag(t))continue;const r=t;if(r.name==="a"){const i=r.attributes?.href;if(typeof i=="string"&&i.startsWith("#")&&e.has(i.slice(1)))return!0}if(hT(r,e))return!0}return!1}const{Tag:Rc}=B,xF=new Map;function SF(n,e,t,r,i,s){return wd(n,{pageUrl:e,registry:t,patterns:r,embedConfig:i,ctx:s,parseCache:xF},[])}function wd(n,e,t){if(Array.isArray(n)){let a=!1;const l=n.map(c=>{const u=wd(c,e,t);return u!==c&&(a=!0),u});return a?l:n}if(!Rc.isTag(n))return n;const r=n;if(r.attributes?.["data-rune"]===Iv)return AF(r,e,t);if(!r.children||r.children.length===0)return r;let s=!1;const o=r.children.map(a=>{const l=wd(a,e,t);return l!==a&&(s=!0),l});return s?new Rc(r.name,r.attributes,o):r}function AF(n,e,t){const r=n.attributes,i=String(r["data-expand-id"]??""),s=r["data-expand-type"],o=r["data-expand-level"],a=r["data-expand-canonical"]==="true",l=r["data-expand-label"];if(!i)return e.ctx.error(`expand placeholder is missing \`primary\`/id attribute on ${e.pageUrl}`,e.pageUrl),Qs(i,"missing id attribute");const c=o!==void 0?Number(o):void 0,u=CF(e.registry,i,e.pageUrl,s);if(!u)return e.ctx.error(`expand "${i}" on ${e.pageUrl} — entity not found`,e.pageUrl),Qs(i,"entity not found");if(!u.embed&&!(u.sourceFile&&u.extract))return e.ctx.error(`expand "${i}" on ${e.pageUrl} — entity type "${u.type}" does not support embedding (no embed() or sourceFile/extract)`,e.pageUrl),Qs(i,`entity type "${u.type}" does not support embedding`);if(t.some(_=>_.type===u.type&&_.id===u.id)){const _=[...t,{type:u.type,id:u.id}].map(A=>`${A.id} (${A.type})`).join(" → ");return e.ctx.error(`expand cycle detected on ${e.pageUrl}. Cycle: ${_}`,e.pageUrl),Qs(i,"cycle detected")}let f;if(u.embed)f=u.embed();else{const _=e.embedConfig?.projectRoot;if(!_)return e.ctx.error(`expand "${i}" — no project root configured (embedConfig.projectRoot is unset)`,e.pageUrl),Qs(i,"no project root configured");let A;try{A=EF(u.sourceFile,_,e.parseCache)}catch(w){const y=(w instanceof ar,w.message);return e.ctx.error(`expand "${i}" — failed to read source file "${u.sourceFile}": ${y}`,e.pageUrl),Qs(i,y)}f=u.extract(A)}if(!f)return e.ctx.error(`expand "${i}" — extractor returned no content; the entity may be out-of-sync with the registry`,e.pageUrl),Qs(i,"extractor returned no content");let d=f;if(c!==void 0&&c!==1){const _=c-1,A=[];d=pT(f,_,A),A.length>0&&e.ctx.warn(`expand "${i}" at ${e.pageUrl} — heading demotion (level=${c}) would push ${A.length} heading(s) past H6. Clamped to H6: ${A.map(w=>`"${w}"`).join(", ")}`,e.pageUrl)}if(!e.embedConfig)return e.ctx.error(`expand "${i}" — no embedConfig threaded through the pipeline`,e.pageUrl),Qs(i,"no embed transform config");const h=[...t,{type:u.type,id:u.id}],m=B.transform(d,e.embedConfig),p=wd(m,e,h),O=TF(u,e.patterns),v={"data-rune":"expand","data-entity-id":u.id,"data-entity-type":u.type,"data-source":"registry"};c===void 0&&(v["data-outline-scope"]=u.id),O&&(v["data-canonical-href"]=O);const b=[];if(Array.isArray(p)?b.push(...p):b.push(p),a){const _=l||PF(u),A={class:O?"rf-expand__canonical-link":"rf-expand__canonical-link rf-xref--unresolved"};O&&(A.href=O),b.push(new Rc("a",A,[_]))}return new Rc("section",v,b)}function CF(n,e,t,r){const i=r?[r]:n.getTypes();for(const o of i){const a=n.getById(o,e,t);if(a)return a}const s=e.toLowerCase();for(const o of i)for(const a of n.getAll(o)){const l=a.data.name??"",c=a.data.title??"";if(l.toLowerCase()===s||c.toLowerCase()===s)return a}}function TF(n,e){const t=n.sourceUrl,i=n.data.url||t;if(i){const s=n.data.headingId;return s?`${i}#${s}`:i}for(const s of e){const o=s.match.exec(n.id);if(!o)continue;const a=o.groups??{},l=/\{([a-zA-Z_$][a-zA-Z0-9_$]*)\}/g;return s.template.replace(l,(c,u)=>(u==="id"?n.id:a[u]??"").split("/").map(encodeURIComponent).join("/"))}}function PF(n){const e=n.data.title,t=n.data.name;return e?`View ${n.type}: ${e}`:t?`View ${n.type}: ${t}`:`View ${n.type} ${n.id}`}function EF(n,e,t){const r=t.get(n);if(r)return r;const i=VZ({relativePath:n,projectRoot:e}),s=B.parse(i);return t.set(n,s),s}function pT(n,e,t){if(n.type==="heading"){const i=n.attributes.level+e;if(i>6){const s=$F(n);t.push(s),n.attributes.level=6}else n.attributes.level=i}for(const r of n.children??[])pT(r,e,t);return n}function $F(n){const e=[];for(const t of n.walk())t.type==="text"&&typeof t.attributes.content=="string"&&e.push(t.attributes.content);return e.join("")}function Qs(n,e){return new Rc("section",{"data-rune":"expand","data-entity-id":n,"data-expand-error":e},[`expand "${n}" — ${e}`])}const{Tag:Ze}=B,Rl={header:"preamble",eyebrow:"eyebrow",headline:"headline",blurb:"blurb",image:"image"},QF={runes:{Accordion:{block:"accordion",defaultDensity:"full",sections:{preamble:"preamble",headline:"title",blurb:"description"},autoLabel:Rl,editHints:{headline:"inline",eyebrow:"inline",blurb:"inline"}},AccordionItem:{block:"accordion-item",parent:"Accordion",requiresParent:"Accordion",rootAttributes:{"data-state":"closed"},autoLabel:{name:"header"},editHints:{header:"inline",body:"none"}},Details:{block:"details",defaultElevation:"flush",autoLabel:{summary:"summary"},editHints:{summary:"inline",body:"none"}},Grid:{block:"grid",defaultDensity:"full",childDensity:"compact",modifiers:{mode:{source:"meta",default:"columns"},collapse:{source:"meta",noBemClass:!0},aspect:{source:"meta",noBemClass:!0},stack:{source:"meta",noBemClass:!0},ratio:{source:"meta",noBemClass:!0},valign:{source:"meta",noBemClass:!0},gap:{source:"meta",noBemClass:!0},min:{source:"meta",noBemClass:!0}},styles:{ratio:{prop:"--grid-ratio",transform:Pz},valign:{prop:"--grid-valign",transform:A0},gap:{prop:"--grid-gap",transform:Tz},min:"--grid-min",aspect:"--grid-aspect"},editHints:{cell:"none"}},CodeGroup:{block:"codegroup",interactive:!0,defaultDensity:"compact",defaultElevation:"flat",modifiers:{title:{source:"meta",noBemClass:!0},overflow:{source:"meta",default:"scroll"}},metaFields:{title:{metaType:"code",condition:"title",renderWhenEmpty:!0}},blocks:{topbar:{fields:["title"],layout:"bar"}},layout:{root:["topbar"]},sections:{topbar:"header"},rootAttributes:{"data-code-host":"true"},editHints:{panel:"code"}},PageSection:{block:"page-section"},TableOfContents:{block:"toc",defaultElevation:"flush"},Snippet:{block:"snippet"},Expand:{block:"expand"},Badge:{block:"badge"},Bar:{block:"bar"},Deflist:{block:"deflist"},Collection:{block:"collection"},Relationships:{block:"relationships"},FileRef:{block:"file-ref"},Aggregate:{block:"aggregate"},Progress:{block:"progress",modifiers:{sentiment:{source:"meta"}}},Card:{block:"card",modifiers:{"media-position":{source:"meta",default:"top",noBemClass:!0},"media-ratio":{source:"meta",noBemClass:!0},valign:{source:"meta",noBemClass:!0},collapse:{source:"meta",noBemClass:!0},"content-place":{source:"meta",noBemClass:!0},height:{source:"meta",noBemClass:!0},aspect:{source:"meta",noBemClass:!0}},sections:{media:"media"},layout:{root:["media","content"],content:{tag:"div",children:["eyebrow","body","footer"]}},variants:{"media-position":{cover:{staticModifiers:["cover"],rootAttributes:{"data-cover-scope":"full"}}}},styles:{valign:{prop:"--split-valign",transform:A0},aspect:"aspect-ratio"}},Embed:{block:"embed",defaultDensity:"compact",defaultElevation:"flat",modifiers:{provider:{source:"meta",default:"generic",noBemClass:!0}},editHints:{fallback:"none"}},Breadcrumb:{block:"breadcrumb",defaultDensity:"minimal",defaultElevation:"flush",editHints:{items:"none"},modifiers:{separator:{source:"meta",default:"/",noBemClass:!0}},styles:{separator:{prop:"--separator",template:'"{}"'}}},BreadcrumbItem:{block:"breadcrumb-item",parent:"Breadcrumb",requiresParent:"Breadcrumb"},Blog:{block:"blog",defaultDensity:"full",sections:{preamble:"preamble",headline:"title",blurb:"description",content:"body"},contentWrapper:{tag:"div",ref:"content"},modifiers:{layout:{source:"meta",default:"list"},sort:{source:"meta",default:"date-desc",noBemClass:!0},filter:{source:"meta",noBemClass:!0},limit:{source:"meta",noBemClass:!0},folder:{source:"meta",noBemClass:!0}},autoLabel:Rl,editHints:{headline:"inline",blurb:"inline"}},Budget:{block:"budget",defaultDensity:"full",defaultElevation:"flat",sections:{preamble:"preamble",headline:"title",footer:"footer"},editHints:{headline:"inline"},modifiers:{currency:{source:"meta",default:"USD"},duration:{source:"meta"},showPerDay:{source:"meta",default:"true"},variant:{source:"meta",default:"detailed"}},metaFields:{duration:{metaType:"category",condition:"duration"},currency:{metaType:"category",condition:"currency"}},blocks:{meta:{fields:["duration",{field:"currency",align:"end"}],layout:"bar"}},layout:{root:["meta","preamble"],preamble:{tag:"header",children:["headline","blurb","image"]}}},BudgetCategory:{block:"budget-category",parent:"Budget",modifiers:{estimate:{source:"meta",default:"false"},label:{source:"meta",noBemClass:!0},subtotal:{source:"meta",noBemClass:!0}},editHints:{label:"none",subtotal:"none"}},BudgetLineItem:{block:"budget-line-item",parent:"Budget"},Hint:{block:"hint",defaultDensity:"compact",defaultElevation:"sunken",modifiers:{hintType:{source:"meta",default:"note"}},contextModifiers:{hero:"in-hero",feature:"in-feature"},sections:{header:"header"},metaFields:{hintType:{icon:{group:"hint"}}},blocks:{header:{fields:["hintType"],layout:"bar"}},layout:{root:["header"]}},Drawer:{block:"drawer",defaultDensity:"compact",modifiers:{side:{source:"meta",default:"right"},size:{source:"meta",default:"md"},shortcut:{source:"meta",noBemClass:!0}},sections:{header:"header",body:"body",footer:"footer"},editHints:{title:"inline",body:"none",close:"none",footer:"none"}},Figure:{block:"figure",defaultDensity:"compact",defaultElevation:"flat",frameTarget:"self",modifiers:{size:{source:"meta",default:"default"},align:{source:"meta",default:"center"}},sections:{caption:"description"},editHints:{caption:"inline"}},Gallery:{block:"gallery",defaultDensity:"full",defaultElevation:"flat",childDensity:"compact",modifiers:{layout:{source:"meta",default:"grid"},lightbox:{source:"meta",default:"true",noBemClass:!0},columns:{source:"meta",noBemClass:!0}},styles:{columns:"--gallery-columns"},editHints:{items:"none"}},Sidenote:{block:"sidenote",defaultDensity:"full",defaultElevation:"flush",modifiers:{variant:{source:"meta",default:"sidenote"}},sections:{body:"body"},editHints:{body:"inline"}},Compare:{block:"compare",defaultDensity:"full",modifiers:{layout:{source:"meta",default:"side-by-side"}},editHints:{panels:"none"}},Conversation:{block:"conversation",defaultDensity:"compact",defaultElevation:"flush",editHints:{messages:"none"}},ConversationMessage:{block:"conversation-message",parent:"Conversation",modifiers:{align:{source:"meta",default:"left"}},editHints:{body:"inline"}},Annotate:{block:"annotate",defaultDensity:"full",defaultElevation:"flush",modifiers:{variant:{source:"meta",default:"margin"}},sections:{body:"body"},editHints:{body:"none",notes:"none"}},AnnotateNote:{block:"annotate-note",parent:"Annotate",editHints:{body:"inline"}},Nav:{block:"nav",defaultDensity:"compact",defaultElevation:"flush",modifiers:{layout:{source:"attribute"}},postTransform(n){return{...n,name:"rf-nav"}}},NavGroup:{block:"nav-group",parent:"Nav"},Pagination:{block:"pagination",defaultDensity:"compact",modifiers:{scope:{source:"meta",default:"siblings",noBemClass:!0}}},NavItem:{block:"nav-item",parent:"Nav",postTransform(n){let e="";const t=n.children.filter(i=>sn(i)&&i.name==="span"&&i.attributes["data-field"]==="slug"?(e=i.children.filter(s=>typeof s=="string").join(""),!1):!0);if(e)return t.unshift(e),{...n,attributes:{...n.attributes,"data-slug":e},children:t};const r=t.map(i=>{if(sn(i)&&i.name==="a"){const s=i.attributes.class||"";return{...i,attributes:{...i.attributes,class:["rf-nav-item__link",s].filter(Boolean).join(" ")}}}return i});return{...n,children:r}}},Diff:{block:"diff",modifiers:{mode:{source:"meta",default:"unified"}},editHints:{line:"none","gutter-num":"none","gutter-prefix":"none","line-content":"none"}},Chart:{block:"chart",defaultDensity:"compact",defaultElevation:"sunken",modifiers:{type:{source:"meta",default:"bar",noBemClass:!0},stacked:{source:"meta",noBemClass:!0},"tick-count":{source:"meta",noBemClass:!0},"tick-step":{source:"meta",noBemClass:!0},"label-angle":{source:"meta",noBemClass:!0}},editHints:{data:"none"}},PullQuote:{block:"pullquote",defaultDensity:"compact",defaultElevation:"flush",modifiers:{align:{source:"meta",default:"center"},variant:{source:"meta",default:"default"}},sections:{body:"body"},editHints:{body:"inline"}},TextBlock:{block:"textblock",defaultDensity:"full",defaultElevation:"flush",modifiers:{dropcap:{source:"meta"},columns:{source:"meta"},lead:{source:"meta"},align:{source:"meta",default:"left"}},sections:{body:"body"},editHints:{body:"none"}},MediaText:{block:"mediatext",defaultDensity:"full",modifiers:{align:{source:"meta",default:"left"},ratio:{source:"meta",default:"1:1"},wrap:{source:"meta"}},sections:{body:"body",media:"media"},mediaSlots:{media:"cover"},editHints:{media:"image",body:"none"}},Showcase:{block:"showcase",defaultDensity:"compact",childDensity:"compact",sections:{viewport:"body"},frameTarget:"self",contextModifiers:{"bento-cell":"in-bento-cell"},editHints:{viewport:"none"}},TabGroup:{block:"tabs",interactive:!0,defaultDensity:"full",sections:{preamble:"preamble",headline:"title",blurb:"description"},autoLabel:Rl,editHints:{headline:"inline",eyebrow:"inline",blurb:"inline"}},Tab:{block:"tab",parent:"TabGroup",requiresParent:"TabGroup",rootAttributes:{"data-state":"inactive"},editHints:{name:"inline"}},TabPanel:{block:"tab-panel",parent:"TabGroup",requiresParent:"TabGroup",rootAttributes:{"data-state":"inactive"}},DataTable:{block:"datatable",interactive:!0,defaultDensity:"compact",defaultElevation:"sunken",sections:{table:"body"},modifiers:{searchable:{source:"meta",default:"false"},sortable:{source:"meta"},pageSize:{source:"meta",default:"0"},defaultSort:{source:"meta"}},editHints:{table:"none"}},Form:{block:"form",interactive:!0,defaultDensity:"full",defaultElevation:"flat",sections:{body:"body"},modifiers:{variant:{source:"meta",default:"stacked"},action:{source:"meta"},method:{source:"meta",default:"POST"},success:{source:"meta"},error:{source:"meta"},honeypot:{source:"meta",default:"true"}},editHints:{body:"none"}},FormField:{block:"form-field",parent:"Form",modifiers:{fieldType:{source:"meta"}}},Reveal:{block:"reveal",defaultDensity:"full",defaultElevation:"flat",modifiers:{mode:{source:"meta",default:"click"}},sections:{preamble:"preamble",headline:"title",blurb:"description"},autoLabel:Rl,editHints:{headline:"inline",eyebrow:"inline",blurb:"inline",steps:"none"}},RevealStep:{block:"reveal-step",parent:"Reveal",rootAttributes:{"data-state":"closed"},editHints:{body:"none"}},Section:{block:"section",modifiers:{align:{source:"meta",default:"start"}},sections:{preamble:"preamble",headline:"title",blurb:"description"},autoLabel:Rl,editHints:{headline:"inline",eyebrow:"inline",blurb:"inline",body:"none"}},Juxtapose:{block:"juxtapose",interactive:!0,defaultDensity:"compact",modifiers:{variant:{source:"meta",default:"slider"},orientation:{source:"meta",default:"vertical",noBemClass:!0},position:{source:"meta",default:"50",noBemClass:!0},duration:{source:"meta",default:"1000",noBemClass:!0}},styles:{position:"--jx-position",duration:"--jx-duration"},editHints:{panels:"none"}},JuxtaposePanel:{block:"juxtapose-panel",parent:"Juxtapose",requiresParent:"Juxtapose",rootAttributes:{"data-state":"inactive"},editHints:{body:"none"}},Diagram:{block:"diagram",defaultDensity:"compact",defaultElevation:"sunken",editHints:{source:"code"},modifiers:{language:{source:"meta",default:"mermaid",noBemClass:!0}}},Tint:{block:"tint",parent:"*"},Bg:{block:"bg",parent:"*"},Region:{block:"region",parent:"Layout"},Sandbox:{block:"sandbox",interactive:!0,defaultDensity:"compact",editHints:{source:"code"}}}},LF=QF;function MF(n){const e=new Map;for(const r of n)e.set(r.url,{url:r.url,title:r.title,children:[]});const t={url:"/",title:"Root",children:[]};for(const r of n){const i=e.get(r.url);r.url==="/"?(t.title=r.title,t.children=i.children,e.set("/",t)):(e.get(r.parentUrl)??t).children.push(i)}return t}function qF(n){const e=new Map;for(const r of n)r.url!=="/"&&e.set(r.url,r.parentUrl);const t=new Map;for(const r of n){const i=[];let s=e.get(r.url);for(;s!==void 0;)i.unshift(s),s=e.get(s);t.set(r.url,i)}return t}function DF(n){if(n==="/"||!n.includes("/"))return"/";const e=n.endsWith("/")?n.slice(0,-1):n,t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t+1)}function Dg(n,e,t,r,i){if(!Ze.isTag(n)){if(Array.isArray(n)){const a=n.map(l=>Dg(l,e,t,r,i));return a.every((l,c)=>l===n[c])?n:a}return n}const s=n;if(s.attributes?.["data-rune"]==="breadcrumb"&&s.children?.some(l=>Ze.isTag(l)&&l.attributes?.["data-field"]===jC))return RF(s,e,t,r,i);const o=(s.children??[]).map(a=>Dg(a,e,t,r,i));return o.every((a,l)=>a===s.children[l])?s:{...s,children:o}}function RF(n,e,t,r,i){const s=t.get(e);if(s===void 0)return i.warn(`Breadcrumb auto: page URL "${e}" not found in page registry`,e),n;const a=n.children?.find(m=>Ze.isTag(m)&&m.name==="meta"&&!m.attributes?.["data-field"])?.attributes?.content??"/",l=[];for(const m of s){const p=r.get(m);if(!p)continue;const O=new Ze("span",{hidden:!0},[p.title]),v=new Ze("a",{href:m},[p.title]);l.push(Ne({rune:"breadcrumb-item",schemaOrgType:"ListItem",tag:"li",properties:{name:O,url:v},children:[O,v]}))}const u=r.get(e)?.title??e,f=new Ze("span",{},[u]);l.push(Ne({rune:"breadcrumb-item",schemaOrgType:"ListItem",tag:"li",properties:{name:f},children:[f]}));const d=new Ze("meta",{content:a}),h=new Ze("ol",{},l);return Ne({rune:"breadcrumb",schemaOrgType:"BreadcrumbList",tag:"nav",properties:{separator:d},refs:{items:h},children:[d,h]})}function Rg(n,e,t,r){if(!Ze.isTag(n)){if(Array.isArray(n)){const o=n.map(a=>Rg(a,e,t,r));return o.every((a,l)=>a===n[l])?n:o}return n}const i=n;if(i.attributes?.["data-rune"]==="nav"&&i.children?.some(a=>Ze.isTag(a)&&a.attributes?.["data-field"]===NC))return IF(e,t,r,i);const s=(i.children??[]).map(o=>Rg(o,e,t,r));return s.every((o,a)=>o===i.children[a])?i:{...i,children:s}}function IF(n,e,t,r){const i=Array.from(e.values()).filter(c=>c.parentUrl===n&&c.url!==n);i.length===0&&t.warn(`Nav auto: page '${n}' has no registered child pages`,n);const s=i.map(c=>{const u=new Ze("span",{"data-field":"slug"},[c.title]),f=new Ze("a",{href:c.url},[u]);return Ne({rune:"nav-item",tag:"li",properties:{slug:u},children:[f]})}),o=new Ze("ul",{},s),a=Ne({rune:"nav",tag:"nav",properties:{group:[],item:s},children:[o]}),l=["layout","data-layout","data-auto","data-source-path","data-collapsible","data-default-open"];for(const c of l){const u=r?.attributes?.[c];u!==void 0&&(a.attributes[c]=u)}return a}function oc(n){let e=n.trim();return e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e.endsWith("/index")&&(e=e.slice(0,-6)||"/"),e.toLowerCase()}function NF(n){const e=n.split("/").filter(Boolean);return e.pop(),e.length===0?"/":"/"+e.join("/")+"/"}function BF(n,e){if(n===e)return 0;if(n.length===0)return e.length;if(e.length===0)return n.length;const t=new Array(e.length+1),r=new Array(e.length+1);for(let i=0;i<=e.length;i++)t[i]=i;for(let i=1;i<=n.length;i++){r[0]=i;for(let s=1;s<=e.length;s++){const o=n[i-1]===e[s-1]?0:1;r[s]=Math.min(r[s-1]+1,t[s]+1,t[s-1]+o)}for(let s=0;s<=e.length;s++)t[s]=r[s]}return t[e.length]}function jF(n,e,t){const r=e.endsWith("/")?e:e+"/",i=n.toLowerCase(),s=[],o=[],a=(r+n).replace(/\/+/g,"/").toLowerCase();for(const c of t.values()){const u=c.url,f=u.toLowerCase(),h=(u.split("/").filter(Boolean).pop()??"").toLowerCase();if(h===i&&f!==a){s.push(u);continue}if(f.startsWith(r.toLowerCase())){const m=BF(i,h);m>0&&m<=2&&o.push({url:u,distance:m})}}return s.sort(),o.sort((c,u)=>c.distance-u.distance||c.url.localeCompare(u.url)),[...s,...o.map(c=>c.url)].slice(0,3)}function zF(n,e,t){if(n.startsWith("/"))return{ok:!0,url:n};const r=e.endsWith("/")?e:e+"/",i=(r+n).replace(/\/+/g,"/"),s=oc(i);for(const a of t.values())if(oc(a.url)===s)return{ok:!0,url:a.url};const o=jF(n.includes("/")?n.split("/").pop():n,r,t);return{ok:!1,reason:"not-found",attemptedUrl:i,suggestions:o}}function Ow(n,e){let t=0;for(;t<n.length&&t<e.length&&n[t]===e[t];)t++;return t}function Ic(n,e,t){const r=Array.from(e.values()).filter(i=>i.url.endsWith("/"+n)||i.url==="/"+n);return r.length===0?null:r.length===1?r[0].url:r.slice().sort((i,s)=>Ow(s.url,t)-Ow(i.url,t))[0].url}function Nc(n){const e=n.attributes?.["data-slug"];if(e)return String(e);const t=r=>{if(!Ze.isTag(r)){if(Array.isArray(r))for(const s of r){const o=t(s);if(o)return o}return null}const i=r;if(i.name==="span"&&i.attributes?.["data-field"]==="slug"){const s=[];for(const o of i.children??[])typeof o=="string"&&s.push(o);return s.join("").trim()||null}for(const s of i.children??[]){const o=t(s);if(o)return o}return null};return t(n)}function ZF(n,e,t){const r=[],i=s=>{if(!Ze.isTag(s)){Array.isArray(s)&&s.forEach(i);return}const o=s;if(o.attributes?.["data-rune"]==="nav-item"){const a=Bc(o);if(a)r.push(a);else{const l=Nc(o);if(l){const c=Ic(l,e,t);c&&r.push(c)}}}(o.children??[]).forEach(i)};return(n.children??[]).forEach(i),r}function FF(n){const e=t=>{if(typeof t=="string")return t;if(!Ze.isTag(t)){if(Array.isArray(t))for(const i of t){const s=e(i);if(s)return s}return null}const r=t;if(r.attributes?.["data-field"]==="title"){const i=[];for(const s of r.children??[])typeof s=="string"&&i.push(s);if(i.length>0)return i.join("").trim()}for(const i of r.children??[]){const s=e(i);if(s)return s}return null};return e(n)??""}function XF(n,e){for(const t of e){if(!t)continue;if(n===t)return!0;const r=t.endsWith("/")?t:t+"/";if(n.startsWith(r))return!0}return!1}function yf(n,e,t){if(!Ze.isTag(n)){if(Array.isArray(n)){const s=n.map(o=>yf(o,e,t));return s.every((o,a)=>o===n[a])?n:s}return n}const r=n;if(r.attributes?.["data-rune"]==="nav"&&r.attributes?.["data-collapsible"]==="true"){const s=String(r.attributes?.["data-default-open"]??""),o=s?s.split(",").map(u=>u.trim()).filter(Boolean):[],a=[],l=u=>{if(!Ze.isTag(u))return;const f=u;f.attributes?.["data-rune"]==="nav-group"&&a.push(f),(f.children??[]).forEach(l)};(r.children??[]).forEach(l);for(const u of a){if(u.attributes?.["data-collapsed"]!==BC)continue;const f=FF(u),d=f&&o.includes(f),h=ZF(u,t,e),m=XF(e,h);u.attributes["data-collapsed"]=d||m?"false":"true"}const c=(r.children??[]).map(u=>yf(u,e,t));return c.every((u,f)=>u===r.children[f])?r:{...r,children:c}}const i=(r.children??[]).map(s=>yf(s,e,t));return i.every((s,o)=>s===r.children[o])?r:{...r,children:i}}function vw(n,e,t){const r=e?.title??t??"",i=e?.description,s=e?.icon,o=e?.url??t??"",a=[];s&&a.push(new Ze("rf-icon",{name:s,"data-name":"icon",class:"rf-nav-item__icon"},[])),a.push(new Ze("span",{"data-name":"title",class:"rf-nav-item__title"},[r])),i&&a.push(new Ze("span",{"data-name":"description",class:"rf-nav-item__description"},[i]));const l=o?new Ze("a",{href:o,class:"rf-nav-item__link"},a):new Ze("span",{class:"rf-nav-item__link"},a);return{...n,children:[l]}}function Bc(n){const e=t=>{if(!Ze.isTag(t)){if(Array.isArray(t))for(const i of t){const s=e(i);if(s)return s}return null}const r=t;if(r.name==="a"&&r.attributes?.href)return String(r.attributes.href);for(const i of r.children??[]){const s=e(i);if(s)return s}return null};return e(n)}function VF(n,e,t){const r=Bc(n);if(r){const s=/^[a-z]+:\/\//i.test(r);return{url:r,isExternal:s}}const i=Nc(n);if(i){const s=Ic(i,e,t);return s?{url:s,isExternal:!1}:null}return null}function WF(n,e){const t=(n.children??[]).map(r=>{if(!Ze.isTag(r))return r;const i=r;if(i.name!=="a")return r;const s=(i.children??[]).some(l=>Ze.isTag(l)&&l.attributes?.["data-name"]==="icon"),o=(i.children??[]).some(l=>Ze.isTag(l)&&l.attributes?.["data-name"]==="description"),a=[...i.children??[]];return e.icon&&!s&&a.unshift(new Ze("rf-icon",{name:e.icon,"data-name":"icon",class:"rf-nav-item__icon"},[])),e.description&&!o&&a.push(new Ze("span",{"data-name":"description",class:"rf-nav-item__description"},[e.description])),{...i,children:a}});return{...n,children:t}}function Ig(n,e,t){if(!Ze.isTag(n)){if(Array.isArray(n)){const s=n.map(o=>Ig(o,e,t));return s.every((o,a)=>o===n[a])?n:s}return n}const r=n;if(r.attributes?.["data-rune"]==="nav"){const o=(r.attributes?.["data-layout"]??r.attributes?.layout)==="cards",a=r.attributes?.["data-auto"]==="true";if(o||a){const l=u=>{if(!Ze.isTag(u))return Array.isArray(u)?u.map(l):u;const f=u;if(f.attributes?.["data-rune"]==="nav-item"){const h=VF(f,t,e);if(!h)return f;if(o){if(h.isExternal)return vw(f,null,h.url);const O=t.get(h.url),v=O?{url:O.url,title:O.title,description:O.description,icon:O.icon}:null;return vw(f,v,h.url)}if(h.isExternal)return f;const m=t.get(h.url);if(!m)return f;const p={url:m.url,title:m.title,description:m.description,icon:m.icon};return WF(f,p)}const d=(f.children??[]).map(l);return d.every((h,m)=>h===f.children[m])?f:{...f,children:d}},c=(r.children??[]).map(l);return{...r,children:c}}}const i=(r.children??[]).map(s=>Ig(s,e,t));return i.every((s,o)=>s===r.children[o])?r:{...r,children:i}}function YF(n){return/^[a-z]+:\/\//i.test(n)||n.startsWith("mailto:")||n.startsWith("//")}function UF(n,e,t,r){const i=e?` in ${e}`:"",s=`Nav item \`${n}\`${i} cannot be resolved (no page at \`${t}\`).`;if(r.length===0)return s;const o=["","Did you mean one of:",...r.map(a=>` - ${a}`),"","Use a multi-segment slug (e.g. `section/page`) or an explicit `[Label](/path)` link."];return s+`
|
|
336
336
|
`+o.join(`
|
|
337
|
-
`)}function UF(n,e,t,r){const i=n.attributes?.["data-source-path"],s=IF(i??""),o=a=>{if(!Ze.isTag(a)){if(Array.isArray(a)){const u=a.map(o);return u.every((f,d)=>f===a[d])?a:u}return a}const l=a;if(l.attributes?.["data-rune"]==="nav-item"){if(Bc(l))return l;const f=Nc(l);if(!f)return l;const d=jF(f,s,e);if(!d.ok)return t.error(YF(f,i,d.attemptedUrl,d.suggestions),r),l;const m=e.get(d.url)?.title??f,p=new Ze("a",{href:d.url},[m]),O=(l.children??[]).filter(v=>{if(typeof v=="string")return!1;if(Ze.isTag(v)){const b=v;if(b.name==="span"&&b.attributes?.["data-field"]==="slug")return!1}return!0});return{...l,children:[p,...O]}}const c=(l.children??[]).map(o);return c.every((u,f)=>u===l.children[f])?l:{...l,children:c}};return o(n)}function Ng(n,e,t,r){if(!Ze.isTag(n)){if(Array.isArray(n)){const o=n.map(a=>Ng(a,e,t,r));return o.every((a,l)=>a===n[l])?n:o}return n}const i=n;if(i.attributes?.["data-rune"]==="nav")return UF(i,e,t,r);const s=(i.children??[]).map(o=>Ng(o,e,t,r));return s.every((o,a)=>o===i.children[a])?i:{...i,children:s}}function GF(n,e){const t=oc(e),r=s=>{const o=[],a=f=>{if(!Ze.isTag(f)){Array.isArray(f)&&f.forEach(a);return}const d=f;if(d.name==="a"&&typeof d.attributes?.href=="string"){const h=String(d.attributes.href);WF(h)||o.push({tag:d,href:h})}(d.children??[]).forEach(a)};(s.children??[]).forEach(a);let l=null;for(const{tag:f,href:d}of o)if(oc(d)===t){l=f;break}let c=null,u=0;for(const{tag:f,href:d}of o){if(f===l)continue;const h=oc(d);if(h==="/"&&t==="/")continue;h!==t&&(t.startsWith(h+"/")||h==="/"&&t.startsWith("/"))&&h.length>u&&(c=f,u=h.length)}return l&&(l.attributes["aria-current"]="page"),c&&(c.attributes["data-active"]="ancestor"),s},i=s=>{if(!Ze.isTag(s))return Array.isArray(s)&&s.forEach(i),s;const o=s;return o.attributes?.["data-rune"]==="nav"?(r(o),o):((o.children??[]).forEach(i),o)};return i(n),n}function HF(n,e,t){const r=[],i=s=>{if(!Ze.isTag(s)){Array.isArray(s)&&s.forEach(i);return}const o=s;if(o.attributes?.["data-rune"]==="nav"){const a=o.attributes?.layout??o.attributes?.["data-layout"];if(a&&a!=="vertical"){(o.children??[]).forEach(i);return}const l=[],c=u=>{if(!Ze.isTag(u)){Array.isArray(u)&&u.forEach(c);return}const f=u;f.attributes?.["data-rune"]==="nav-group"&&l.push(f),(f.children??[]).forEach(c)};if((o.children??[]).forEach(c),l.length===0){const u=[],f=d=>{if(!Ze.isTag(d)){Array.isArray(d)&&d.forEach(f);return}const h=d;if(h.attributes?.["data-rune"]==="nav-item"){const m=Bc(h);if(m)/^[a-z]+:\/\//i.test(m)||u.push(m);else{const p=Nc(h);if(p){const O=Ic(p,e,t);O&&u.push(O)}}}(h.children??[]).forEach(f)};(o.children??[]).forEach(f),u.length>0&&r.push(u)}else for(const u of l){const f=[],d=h=>{if(!Ze.isTag(h)){Array.isArray(h)&&h.forEach(d);return}const m=h;if(m.attributes?.["data-rune"]==="nav-item"){const p=Bc(m);if(p)/^[a-z]+:\/\//i.test(p)||f.push(p);else{const O=Nc(m);if(O){const v=Ic(O,e,t);v&&f.push(v)}}}(m.children??[]).forEach(d)};(u.children??[]).forEach(d),f.length>0&&r.push(f)}}(o.children??[]).forEach(i)};return i(n),r}function KF(n,e,t){const r=e.get(n);if(!r)return[];const i=Array.from(e.values());let s;if(t==="section"){let o=n,a=r;for(;a&&a.parentUrl&&a.parentUrl!=="/";){const c=e.get(a.parentUrl);if(!c)break;o=c.url,a=c}const l=o.endsWith("/")?o:o+"/";s=i.filter(c=>c.url===o||c.url.startsWith(l))}else s=i.filter(o=>o.parentUrl===r.parentUrl);return s.sort((o,a)=>{const l=o.order??Number.POSITIVE_INFINITY,c=a.order??Number.POSITIVE_INFINITY;return l!==c?l-c:o.url.localeCompare(a.url)}),s.map(o=>({url:o.url,title:o.title}))}function JF(n,e,t){const r=n.indexOf(e);if(r===-1)return{prev:null,next:null};const i=r>0?n[r-1]:null,s=r<n.length-1?n[r+1]:null,o=a=>{if(!a)return null;const l=t.get(a);return l?{url:l.url,title:l.title}:{url:a,title:a}};return{prev:o(i),next:o(s)}}function bw(n,e,t){const r=e==="prev"?"←":"→",i=t??n.title,s=e==="prev"?[new Ze("span",{"data-name":"marker"},[r]),new Ze("span",{"data-name":"label"},[i])]:[new Ze("span",{"data-name":"label"},[i]),new Ze("span",{"data-name":"marker"},[r])];return new Ze("a",{href:n.url,"data-direction":e,"data-name":e},s)}function Bg(n,e,t,r){if(!Ze.isTag(n)){if(Array.isArray(n)){const o=n.map(a=>Bg(a,e,t,r));return o.every((a,l)=>a===n[l])?n:o}return n}const i=n;if(i.attributes?.["data-rune"]==="pagination"){if((i.children??[]).some(l=>Ze.isTag(l)&&l.attributes?.["data-field"]===gg)){const l=(i.children??[]).find(S=>Ze.isTag(S)&&S.attributes?.["data-field"]==="scope"),u=String(l?l.attributes?.content??"":i.attributes?.["data-scope"]??"")==="section"?"section":"siblings",f=(i.children??[]).find(S=>Ze.isTag(S)&&S.attributes?.["data-field"]==="prev-label"),d=(i.children??[]).find(S=>Ze.isTag(S)&&S.attributes?.["data-field"]==="next-label"),h=f?String(f.attributes.content??""):void 0,m=d?String(d.attributes.content??""):void 0;if(Array.from(t.values()).some(S=>S.parentUrl===e&&S.url!==e))return{...i,children:[]};let O=null;const v=HF(r,t,e);for(const S of v)if(S.includes(e)){O=S;break}let b=null,_=null;if(O)({prev:b,next:_}=JF(O,e,t));else{const S=KF(e,t,u),C=S.findIndex(k=>k.url===e);C!==-1&&(b=C>0?S[C-1]:null,_=C<S.length-1?S[C+1]:null)}const A=[];b&&A.push(bw(b,"prev",h)),_&&A.push(bw(_,"next",m));const w=new Set([gg,"prev-label","next-label","scope"]),y=(i.children??[]).filter(S=>{if(!Ze.isTag(S)||S.name!=="meta")return!0;const C=S.attributes?.["data-field"];return!w.has(C)});return{...i,children:[...y,...A]}}const a=(i.children??[]).map(l=>{if(!Ze.isTag(l))return l;if(l.name==="a"&&typeof l.attributes?.href=="string"&&l.attributes.href.startsWith("__slug:")){const c=l.attributes.href.slice(7),u=Ic(c,t,e);if(u){const d=t.get(u)?.title??c,h=(l.children??[]).map(m=>Ze.isTag(m)&&m.attributes?.["data-name"]==="label"&&(m.children??[]).filter(O=>typeof O=="string").join("")===c?{...m,children:[d]}:m);return{...l,attributes:{...l.attributes,href:u},children:h}}}return l});return{...i,children:a}}const s=(i.children??[]).map(o=>Bg(o,e,t,r));return s.every((o,a)=>o===i.children[a])?i:{...i,children:s}}function jg(n,e){if(Ze.isTag(n)){const t=e(n);if(t!==n)return t;const r=n.children.map(s=>jg(s,e));return r.some((s,o)=>s!==n.children[o])?new Ze(n.name,n.attributes,r):n}return Array.isArray(n)?n.map(t=>jg(t,e)):n}function eX(n){let e=n.trim();return e.startsWith("/")||(e="/"+e),e.endsWith("/")||(e+="/"),e}function tX(n,e){return n.startsWith(e)?n.slice(e.length).replace(/\/$/,"").split("/").filter(Boolean).length===1:!1}function nX(n){return!n||!n.trim()?[]:n.split(",").map(e=>{const t=e.indexOf(":");return t===-1?{field:e.trim(),value:""}:{field:e.slice(0,t).trim(),value:e.slice(t+1).trim()}})}function rX(n,e){for(const{field:t,value:r}of e){const i=n.frontmatter[t];if(r===""){if(i==null)return!1}else if(Array.isArray(i)){if(!i.some(s=>String(s).toLowerCase()===r.toLowerCase()))return!1}else if(String(i??"").toLowerCase()!==r.toLowerCase())return!1}return!0}function iX(n,e){const t=[...n];switch(e){case"date-asc":t.sort((r,i)=>(r.date||"").localeCompare(i.date||""));break;case"title-asc":t.sort((r,i)=>r.title.localeCompare(i.title));break;case"title-desc":t.sort((r,i)=>i.title.localeCompare(r.title));break;default:t.sort((r,i)=>(i.date||"").localeCompare(r.date||""));break}return t}function sX(n){const t=[new Ze("h3",{},[new Ze("a",{href:n.url},[n.title])])];return n.date&&t.push(new Ze("time",{datetime:n.date},[n.date])),n.description&&t.push(new Ze("p",{},[n.description])),new Ze("article",{"data-name":"post"},t)}function oX(n,e,t,r){let i=!1;const s=jg(n,o=>{if(o.attributes["data-rune"]!=="blog")return o;const a=Po(o,"folder")??"",l=Po(o,"sort")||"date-desc",c=Po(o,"filter")??"",u=Po(o,"limit")??"",f=u?parseInt(u,10):void 0;if(!a)return t.warn("Blog rune missing folder attribute",r),o;const d=eX(a),h=nX(c);let m=e.filter(_=>!(_.draft||!tX(_.url,d)||h.length>0&&!rX(_,h)));m=iX(m,l),f&&f>0&&(m=m.slice(0,f));const p=o.children.find(_=>Ze.isTag(_)&&_.attributes["data-name"]==="posts");if(!Ze.isTag(p))return o;const O=m.map(sX);i=!0;const v=new Ze(p.name,p.attributes,O),b=o.children.map(_=>_===p?v:_);return new Ze(o.name,o.attributes,b)});return i?s:n}const aX=new Set(["layout","tint","tint-mode","tint-lock","slug","redirect","type","id"]);function lX(n={}){const e=n.xrefPatterns??[],t=n.embedConfig,r=n.repoUrl,i=n.repoBranch;return{preprocess:gF,register(s,o,a){for(const l of s){const c=qF(l.url),u=o.getById("page",l.url);u&&u.sourceUrl!==l.url&&a.warn(`Page '${l.url}' already registered from '${u.sourceUrl}'`,l.url);const f={};for(const[d,h]of Object.entries(l.frontmatter))aX.has(d)||(f[d]=h);o.register({type:"page",id:l.url,sourceUrl:l.url,data:{...f,title:l.title,url:l.url,parentUrl:c,draft:l.frontmatter.draft??!1,description:l.frontmatter.description,date:l.frontmatter.date,order:l.frontmatter.order,icon:l.frontmatter.icon}});for(const d of l.headings){const h=`${l.url}#${d.id}`,m=o.getById("heading",h);m&&m.sourceUrl!==l.url&&a.warn(`Heading '${h}' already registered from '${m.sourceUrl}'`,l.url),o.register({type:"heading",id:h,sourceUrl:l.url,data:{level:d.level,text:d.text,headingId:d.id,url:l.url}})}}qZ(s,o,a)},aggregate(s,o){const a=s.getAll("page"),l=a.map(m=>({url:m.data.url,title:m.data.title,parentUrl:m.data.parentUrl,description:m.data.description,icon:m.data.icon,order:m.data.order})),c=LF(l),u=MF(l),f=new Map(l.map(m=>[m.url,m])),d=new Map;for(const m of s.getAll("heading"))d.set(m.id,m.data);const h=a.map(m=>({title:m.data.title||"",url:m.data.url||m.id,date:m.data.date||"",description:m.data.description||"",draft:m.data.draft||!1,frontmatter:m.data}));return{pageTree:c,breadcrumbPaths:u,pagesByUrl:f,headingIndex:d,allPosts:h,registry:s,xrefPatterns:e,embedConfig:t,repoUrl:r,repoBranch:i}},postProcess(s,o,a){const l=o.__core__;if(!l)return s;let c=Dg(s.renderable,s.url,l.breadcrumbPaths,l.pagesByUrl,a);c=Rg(c,s.url,l.pagesByUrl,a),c=Ng(c,l.pagesByUrl,a,s.url),c=yf(c,s.url,l.pagesByUrl),c=Ig(c,s.url,l.pagesByUrl),c=Bg(c,s.url,l.pagesByUrl,c),c=GF(c,s.url),c=oX(c,l.allPosts,a,s.url),c=RZ(c),c=UZ(c,s.url,l.repoUrl,l.repoBranch,a),c=JZ(c,s.url,l.registry,a),c=NZ(c,s.url,l.registry,l.embedConfig?.projectRoot,a),c=xF(c,s.url,l.registry,l.xrefPatterns??[],l.embedConfig,a),c=N7(c,s.url,l.registry,l.embedConfig,a),c=X7(c,s.url,l.registry,l.embedConfig,a),c=G7(c,s.url,l.registry,l.embedConfig,a),c=Sg(c,l.registry,a,s.url),c=pF(c,s.url,l.registry,l.xrefPatterns??[],a);const u=vF(c===s.renderable?s:{...s,renderable:c});yF(u.renderable);const f=wF(u.renderable);return f.length>0||u.headings.length>0?{...u,headings:f}:u}}}lX();const cX={nav:Ue({name:"nav",schema:O8,description:"Navigation structure with page slug references and optional grouping",typeName:"Nav",category:"Site",snippet:["{% nav %}","## ${1:Section}","","- ${2:page-slug}","- ${3:another-page}","{% /nav %}"]}),region:Ue({name:"region",schema:y8,description:"Named content block within a layout definition",snippet:['{% region name="${1:header}" %}',"$0","{% /region %}"]}),layout:Ue({name:"layout",schema:_8,description:"Layout definition containing named regions",category:"Site",snippet:["{% layout %}",'{% region name="${1:header}" %}',"$0","{% /region %}","{% /layout %}"]}),codegroup:Ue({name:"codegroup",schema:K6,description:"Tabbed code block with language tabs",typeName:"CodeGroup",category:"Code & Data",snippet:["{% codegroup %}","```${1:js}","$0","```","","```${2:ts}","","```","{% /codegroup %}"]}),error:Ue({name:"error",schema:I6,description:"Error reporting table",typeName:"Error",category:"Semantic"}),grid:Ue({name:"grid",aliases:["columns"],schema:V6,description:"Grid layout container with configurable columns and rows",typeName:"Grid",category:"Layout",snippet:["{% grid columns=${1:2} %}","${2:First column content}","","---","","${3:Second column content}","{% /grid %}"]}),hint:Ue({name:"hint",aliases:["callout","alert"],schema:n8,description:"Callout/admonition block with type variants (note, warning, caution, check)",typeName:"Hint",category:"Content",snippet:['{% hint type="${1|note,warning,caution,check|}" %}',"$0","{% /hint %}"]}),tab:Ue({name:"tab",schema:c8,description:"Individual tab within a tab group",typeName:"Tab"}),tabs:Ue({name:"tabs",schema:f8,description:"Tabbed interface with tab panels",typeName:"TabGroup",category:"Layout",snippet:["{% tabs %}","## ${1:Tab One}","","${2:Content for tab one.}","","## ${3:Tab Two}","","${4:Content for tab two.}","{% /tabs %}"]}),details:Ue({name:"details",schema:x8,description:"Collapsible disclosure block for supplementary content",typeName:"Details",category:"Content",snippet:['{% details summary="${1:Click to expand}" %}',"$0","{% /details %}"]}),drawer:Ue({name:"drawer",schema:T8,description:"Modal side panel addressed by id. Triggered by xrefs anywhere on the page; falls back to in-flow rendering without JS.",typeName:"Drawer",category:"Layout",snippet:['{% drawer id="${1:auth-explainer}" title="${2:Auth system}" %}',"$0","{% /drawer %}"]}),figure:Ue({name:"figure",schema:$8,description:"Enhanced image with caption, attribution, and sizing",seoType:"ImageObject",typeName:"Figure",schemaOrgType:"ImageObject",category:"Content",snippet:['{% figure size="${1|medium,small,large,full|}" %}',"","","${4:Caption text}","{% /figure %}"]}),gallery:Ue({name:"gallery",schema:L8,description:"Multi-image container with grid, carousel, or masonry layout and optional lightbox",seoType:"ImageGallery",typeName:"Gallery",schemaOrgType:"ImageGallery",category:"Content",snippet:['{% gallery layout="${1|grid,carousel,masonry|}" %}',"","","","{% /gallery %}"]}),accordion:Ue({name:"accordion",aliases:["faq"],schema:q8,description:"Collapsible accordion sections where headings become toggleable headers",seoType:"FAQPage",typeName:"Accordion",schemaOrgType:"FAQPage",category:"Layout",snippet:["{% accordion %}","## ${1:First Question}","","${2:Answer to the first question.}","","## ${3:Second Question}","","${4:Answer to the second question.}","{% /accordion %}"]}),"accordion-item":Ue({name:"accordion-item",schema:M8,description:"Individual accordion section",typeName:"AccordionItem",schemaOrgType:"Question"}),toc:Ue({name:"toc",aliases:["table-of-contents"],schema:D8,description:"Auto-generated table of contents from document headings",typeName:"TableOfContents",category:"Site",snippet:["{% toc /%}"]}),embed:Ue({name:"embed",schema:N8,description:"Embedded content from external services (YouTube, Twitter, CodePen, Spotify)",seoType:"VideoObject",typeName:"Embed",schemaOrgType:"VideoObject",category:"Content",snippet:['{% embed url="${1:https://}" /%}']}),breadcrumb:Ue({name:"breadcrumb",schema:B8,description:"Navigation breadcrumb trail showing page hierarchy",seoType:"BreadcrumbList",typeName:"Breadcrumb",schemaOrgType:"BreadcrumbList",category:"Site",snippet:["{% breadcrumb /%}"]}),pagination:Ue({name:"pagination",schema:j8,description:"Sequential prev/next links for ordered docs and tutorials",typeName:"Pagination",category:"Site",snippet:["{% pagination auto /%}"]}),budget:Ue({name:"budget",schema:t9,description:"Structured cost breakdown with categories, line items, and auto-calculated totals",seoType:"ItemList",typeName:"Budget",schemaOrgType:"ItemList",category:"Semantic",snippet:["{% budget %}","## ${1:Category}","","- ${2:Item description}: \\$${3:100}","- ${4:Another item}: \\$${5:200}","{% /budget %}"]}),"budget-category":Ue({name:"budget-category",schema:K8,description:"Cost category within a budget containing line items",typeName:"BudgetCategory"}),"budget-line-item":Ue({name:"budget-line-item",schema:U8,description:"Individual budget line item with description and amount",typeName:"BudgetLineItem"}),compare:Ue({name:"compare",schema:r9,description:"Side-by-side code comparison with labeled panels",typeName:"Compare",category:"Code & Data",snippet:["{% compare %}","```${1:js}","${2:// Before}","```","","```${3:js}","${4:// After}","```","{% /compare %}"]}),datatable:Ue({name:"datatable",aliases:["data-table"],schema:i9,description:"Interactive data table with sorting, filtering, and pagination from a Markdown table",seoType:"Dataset",typeName:"DataTable",schemaOrgType:"Dataset",category:"Code & Data",snippet:["{% datatable %}","| ${1:Column A} | ${2:Column B} | ${3:Column C} |","|---|---|---|","| ${4:Data} | ${5:Data} | ${6:Data} |","{% /datatable %}"]}),diff:Ue({name:"diff",schema:d9,description:"Side-by-side or unified diff view between two code blocks",typeName:"Diff",category:"Code & Data",snippet:["{% diff %}","```${1:js}","${2:// Before}","```","","```${3:js}","${4:// After}","```","{% /diff %}"]}),snippet:Ue({name:"snippet",schema:J6,description:"Embed a project file as a syntax-highlighted code block. Composes inside codegroup, diff, and any future fence-consuming rune via pre-resolve (SPEC-062).",typeName:"Snippet",category:"Code & Data",snippet:['{% snippet path="${1:src/lib/foo.ts}" /%}']}),chart:Ue({name:"chart",schema:m9,description:"Chart visualization from a Markdown table. First column becomes axis labels, header row becomes series names.",typeName:"Chart",category:"Code & Data",snippet:['{% chart type="${1|bar,line,pie,area|}" %}',"| ${2:Label} | ${3:Series A} | ${4:Series B} |","|---|---|---|","| ${5:Item 1} | ${6:10} | ${7:20} |","| ${8:Item 2} | ${9:30} | ${10:15} |","{% /chart %}"]}),diagram:Ue({name:"diagram",schema:O9,description:"Diagram rendering from Mermaid, PlantUML, or ASCII art code blocks",typeName:"Diagram",category:"Code & Data",snippet:['{% diagram language="${1|mermaid,plantuml,ascii|}" %}',"```${1:mermaid}","$0","```","{% /diagram %}"]}),sidenote:Ue({name:"sidenote",aliases:["footnote","marginnote"],schema:y9,description:"Margin note or footnote displayed alongside the main content",typeName:"Sidenote",category:"Content",snippet:["{% sidenote %}","$0","{% /sidenote %}"]}),conversation:Ue({name:"conversation",aliases:["dialogue","chat"],schema:k9,description:"Chat/dialogue display where blockquotes become alternating speaker messages",typeName:"Conversation",category:"Semantic",snippet:["{% conversation %}","> **${1:Alice}**: ${2:Hello!}","","> **${3:Bob}**: ${4:Hi there!}","{% /conversation %}"]}),"conversation-message":Ue({name:"conversation-message",schema:w9,description:"Individual message within a conversation",typeName:"ConversationMessage"}),reveal:Ue({name:"reveal",schema:A9,description:"Progressive disclosure where headings become reveal steps shown one at a time",typeName:"Reveal",category:"Layout",snippet:["{% reveal %}","## ${1:Step One}","","${2:Content revealed first.}","","## ${3:Step Two}","","${4:Content revealed next.}","{% /reveal %}"]}),"reveal-step":Ue({name:"reveal-step",schema:S9,description:"Individual step within a reveal sequence",typeName:"RevealStep"}),section:Ue({name:"section",schema:P9,description:"A generic page section: an eyebrow/headline/blurb header above arbitrary body content",typeName:"Section",category:"Layout",snippet:["{% section %}","Eyebrow","","## ${1:Section title}","","${2:A short supporting blurb.}","","${3:Body content — a bento, cards, anything.}","{% /section %}"]}),juxtapose:Ue({name:"juxtapose",schema:Q9,description:"Side-by-side comparison with interactive reveal (slider, toggle, fade, or auto)",typeName:"Juxtapose",category:"Layout"}),annotate:Ue({name:"annotate",schema:D9,description:"Content with margin annotations. Nested note tags appear as margin notes alongside the main text.",typeName:"Annotate",category:"Layout",snippet:["{% annotate %}","${1:Main content here.}","","{% note %}","${2:Margin note content.}","{% /note %}","","${3:More main content.}","{% /annotate %}"]}),note:Ue({name:"note",schema:M9,description:"Annotation note within an annotate block",typeName:"AnnotateNote"}),form:Ue({name:"form",aliases:["contact-form"],schema:V9,description:"Accessible HTML form from Markdown. Lists become input fields with smart type inference, blockquotes followed by lists become select/radio/checkbox groups.",typeName:"Form",category:"Content",snippet:['{% form action="${1:/api/contact}" %}',"- Name","- Email","- Message","","**${2:Submit}**","{% /form %}"]}),"form-field":Ue({name:"form-field",schema:F9,description:"Individual form field with inferred type",typeName:"FormField"}),sandbox:Ue({name:"sandbox",schema:K9,description:"Isolated HTML/CSS/JS rendering in an iframe with optional framework loading",typeName:"Sandbox",category:"Code & Data",snippet:['{% sandbox framework="${1|,tailwind,bootstrap,bulma,pico|}" %}',"$0","{% /sandbox %}"]}),pullquote:Ue({name:"pullquote",aliases:["pull-quote"],schema:nZ,description:"Decorative pull quote for magazine-style emphasis with float and block modes",typeName:"PullQuote",category:"Content",snippet:['{% pullquote variant="${1|default,accent,editorial|}" %}',"> ${2:Quote text to emphasize.}","{% /pullquote %}"]}),textblock:Ue({name:"textblock",aliases:["text-block","prose"],schema:iZ,description:"Text formatting block with drop caps, multi-column layout, lead paragraphs, and alignment control",typeName:"TextBlock",category:"Content",snippet:["{% textblock dropcap %}","${1:Formatted text content with drop cap styling.}","{% /textblock %}"]}),mediatext:Ue({name:"mediatext",aliases:["media-text"],schema:aZ,description:"Image and text side by side with configurable ratio and optional text wrapping",typeName:"MediaText",category:"Layout",snippet:['{% mediatext align="${1|left,right|}" ratio="${2|1:1,1:2,2:1|}" %}',"","","${5:Text content displayed alongside the image.}","{% /mediatext %}"]}),icon:Ue({name:"icon",schema:J9,description:"Inline icon resolved by name from the theme icon registry. Self-closing.",category:"Content",snippet:['{% icon name="${1:icon-name}" /%}']}),tint:Ue({name:"tint",schema:fZ,description:"Section-level colour override via CSS custom properties. Declared as first child of a block rune.",typeName:"Tint",snippet:["{% tint %}","- background: ${1:#1a1a2e}","- primary: ${2:#e94560}","- accent: ${3:#0f3460}","{% /tint %}"]}),showcase:Ue({name:"showcase",schema:mZ,description:"Media presentation wrapper with shadow, bleed displacement, and aspect ratio enforcement",typeName:"Showcase",category:"Layout",snippet:['{% showcase shadow="${1|none,soft,hard,elevated|}" %}',"$0","{% /showcase %}"]}),bg:Ue({name:"bg",schema:vZ,description:"Background image/video directive — modifies parent section backdrop",typeName:"Bg",snippet:['{% bg src="${1:/path/to/image.jpg}" overlay="${2:rgba(0,0,0,0.5)}" /%}']}),blog:Ue({name:"blog",schema:wZ,description:"Blog post listing with filtering, sorting, and multiple layouts. Displays pages from a content folder as a navigable blog index.",seoType:"Blog",typeName:"Blog",schemaOrgType:"Blog",category:"Semantic"}),xref:Ue({name:"xref",aliases:["ref"],schema:kZ,description:"Inline cross-reference that resolves an entity by ID or name from the registry. Self-closing."}),expand:Ue({name:"expand",schema:SZ,description:"Substitute a registered entity's source content inline. Reads the entity's sourceFile via the plan plugin (or any plugin that registers extractable entities) and inlines it. Symmetric with `xref`: same lookup chain, different output (content rather than a link).",typeName:"Expand",category:"Content",snippet:['{% expand "${1:SPEC-001}" /%}']}),badge:Ue({name:"badge",schema:c7,description:"Inline pill that flags a piece of content (status, category, recency, tag). Visual variant from the universal metadata-system dimensions (sentiment, rank, type).",typeName:"Badge",category:"Content",snippet:['{% badge sentiment="${1|positive,negative,caution,neutral|}" %}',"${2:Label}","{% /badge %}"]}),bar:Ue({name:"bar",schema:f7,description:'Block-level wrapper that renders the SPEC-080 `bar` layout primitive (a horizontal flex row) over author-written content. Body splits on a top-level `---` into a left group and a right group; the right group is pushed to the end via `data-align="end"`. Position-agnostic.',typeName:"Bar",category:"Content",snippet:["{% bar %}","${1:Left side}","---","${2:Right side}","{% /bar %}"]}),deflist:Ue({name:"deflist",aliases:["definitions","terms"],schema:h7,description:"Block-level wrapper that renders the SPEC-079 definition-list layout primitive over a markdown list. Each `- **Term:** value` item becomes a <dt>/<dd> pair. Inline runes compose naturally inside <dd>.",typeName:"Deflist",category:"Content",snippet:["{% deflist %}","- **${1:Term}:** ${2:Value}","- **${3:Term}:** ${4:Value}","{% /deflist %}"]}),collection:Ue({name:"collection",schema:CZ,description:"Render a list, grid, or table of registry entities — the plural counterpart to ref/expand. Queries the registry by type with a field:value filter, sort, group, and limit; projects fields into a built-in layout or a per-item body template ($item bound).",typeName:"Collection",category:"Content",snippet:['{% collection type="${1:work}" filter="${2:status:ready}" sort="${3:priority}" /%}']}),relationships:Ue({name:"relationships",schema:TZ,description:"Render an entity's relationship edges, grouped by kind — the plural-graph counterpart to ref/expand. Reads the registry relationship graph for `of` (an id, e.g. of=$item.id); each item is a related entity with its edge $kind bound. Generic over kind, so it serves any domain (plan, storytelling, …).",typeName:"Relationships",category:"Content",snippet:['{% relationships of="${1:WORK-1}" /%}']}),aggregate:Ue({name:"aggregate",schema:EZ,description:'Project numbers — counts (and per-group breakdowns) over the registry — beside collection (items) and relationships (edges). Two modes: a no-body inline integer (`{% aggregate type="work" filter="status:done" /%}`) or a body-zoned form whose preamble / template / fallback zones bind `$item` to a totals / per-group / zeros projection. Use the optional `value` sub-filter (e.g. `value="status:done"`) to drive a progress-bar ratio without a second query.',typeName:"Aggregate",category:"Content",snippet:['{% aggregate type="${1:work}" filter="${2:status:done}" /%}']}),"file-ref":Ue({name:"file-ref",schema:$Z,description:'Path-based inline reference to a project file — third member of the Registry family beside `xref` (id → link) and `expand` (id → inlined content). Resolves to a deep-link `<a>` pointing at `{repoUrl}/blob/{repoBranch}/{path}#L{start}-L{end}` on GitHub. With `preview="drawer"`, hoists a drawer containing the file\'s snippet and a "View source on GitHub →" footer link, leaving an inline link at the call site that opens it.',typeName:"FileRef",category:"Content",snippet:['{% file-ref path="${1:packages/types/src/token-contract.ts}" lines="${2:42-58}" label="${3:ThemeTokensConfig}" /%}']}),progress:Ue({name:"progress",schema:i7,description:"A generic completion bar. Renders a ratio from supplied numbers — value+max (or percent) — with an optional body label; computes nothing itself. Feed it an aggregate (e.g. value=$item.data.progressDone max=$item.data.progressTotal).",typeName:"Progress",category:"Content",snippet:['{% progress value="${1:3}" max="${2:10}" /%}']}),card:Ue({name:"card",schema:s7,description:"A generic, self-contained content card. The body splits on `---` into [media] / body / [footer]: the media zone holds any content (image, codegroup, sandbox, …) and lays out beside the body on wide screens / as a full-bleed header on mobile; the footer is a muted meta row. Optional `href` makes the whole card a link. Knows nothing about the registry — usable standalone or inside a collection body template.",typeName:"Card",category:"Content",snippet:['{% card href="${1:/posts/slug/}" %}',"### ${2:Title}","${3:A short summary.}","{% /card %}"]})},yw={...g7(cX),link:_C,...B.tags},uX={heading:nz,paragraph:rz,fence:iz,list:sz,item:oz,em:az,strong:lz,text:cz,link:_C,hardbreak:uz,image:fz,table:dz,thead:B.nodes.thead,tbody:B.nodes.tbody,th:B.nodes.th,tr:B.nodes.tr,error:B.nodes.error},fX=new Set(["nav","nav-group","nav-item"]);function dX(n,e,t){const r={...n.runes};for(const[i,s]of Object.entries(QF.runes)){if(!r[i])continue;const o={};s.postTransform&&(o.postTransform=s.postTransform),s.styles&&(o.styles=s.styles),Object.keys(o).length&&(r[i]={...r[i],...o})}if(e)for(const[i,s]of Object.entries(e))r[i]&&(r[i]={...r[i],postTransform:s});if(t)for(const[i,s]of Object.entries(t))r[i]&&(r[i]={...r[i],styles:s});return{...n,runes:r}}function mT(n,e,t,r,i,s,o){const a=B.parse(n),l=dX(e,i,o),c=r?{...yw,...r}:yw,u=B.transform(a,{tags:c,nodes:uX,variables:{__source:n,__icons:l.icons}});let f=sF(u);s&&(f=zg(f,s));const d=gT(f);let m=Nz(l)(f);return t&&(m=t(m)),{html:v6(m),isComponent:d}}function gT(n){return n==null||typeof n=="string"||typeof n=="number"?!1:Array.isArray(n)?n.some(gT):"attributes"in n&&n.attributes?.["data-rune"]?fX.has(n.attributes["data-rune"]):!1}function zg(n,e){if(n==null||typeof n=="string"||typeof n=="number")return n;if(Array.isArray(n))return n.map(r=>zg(r,e));const t=n;if(t.attributes?.["data-rune"]==="sandbox"){const i=e.design?.contexts??{},o=t.children?.find(l=>l?.attributes?.["data-field"]==="context")?.attributes?.content??"default",a=i[o];if(a){const l={$$mdtype:"Tag",name:"meta",attributes:{"data-field":"design-tokens",content:JSON.stringify(a)},children:[]};return{...t,children:[...t.children??[],l]}}}if(t.children?.length){const r=t.children.map(i=>zg(i,e));return{...t,children:r}}return t}function hX(n){return n.hasAttribute("x-data")||n.hasAttribute("data-controller")}let pX=0;function no(n){return`${n}-${++pX}`}const mX="http://www.w3.org/2000/svg",ww='<rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>',gX='<polyline points="20 6 9 17 4 12"/>';function qp(n){const e=document.createElementNS(mX,"svg");return e.setAttribute("width","16"),e.setAttribute("height","16"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("fill","none"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.innerHTML=n,e}function OX(n){const e=n.getAttribute("data-copy-selector");if(e){const t=n.querySelectorAll(e);return Array.from(t).map(r=>r.textContent??"").join(`
|
|
338
|
-
`)}return n.textContent??""}function vX(n){const e=n.querySelectorAll("pre"),t=[];for(const r of e){const i=r.parentElement;if(i?.classList.contains("rf-codeblock")&&i.querySelector(":scope > .rf-codeblock__copy"))continue;const s=document.createElement("button");s.className="rf-codeblock__copy",s.type="button",s.setAttribute("aria-label","Copy code"),s.appendChild(qp(ww));let o;const a=()=>{const c=OX(r);navigator.clipboard.writeText(c).then(()=>{s.innerHTML="",s.appendChild(qp(gX)),s.setAttribute("aria-label","Copied"),s.classList.add("rf-codeblock__copy--copied"),o&&clearTimeout(o),o=setTimeout(()=>{s.innerHTML="",s.appendChild(qp(ww)),s.setAttribute("aria-label","Copy code"),s.classList.remove("rf-codeblock__copy--copied")},2e3)})};s.addEventListener("click",a);const l=r.parentElement?.classList.contains("rf-codeblock")?r.parentElement:null;if(l)l.appendChild(s),t.push(()=>{s.removeEventListener("click",a),o&&clearTimeout(o),s.remove()});else{const c=document.createElement("div");c.className="rf-codeblock",r.parentNode?.insertBefore(c,r),c.appendChild(r),c.appendChild(s),t.push(()=>{s.removeEventListener("click",a),o&&clearTimeout(o),c.parentNode?.insertBefore(r,c),c.remove()})}}return()=>t.forEach(r=>r())}function _w(n){const e=Array.from(n.querySelectorAll("details"));if(e.length===0)return()=>{};const t=n.hasAttribute("data-multiple"),r=[];for(const o of e){const a=o.querySelector("summary");if(!a)continue;const l=no("rf-accordion-panel"),c=no("rf-accordion-trigger");a.id=c,a.setAttribute("aria-expanded",String(o.open)),o.setAttribute("data-state",o.open?"open":"closed"),a.setAttribute("data-state",o.open?"active":"inactive");const u=Array.from(o.children).find(d=>d instanceof HTMLElement&&d.tagName!=="SUMMARY");u&&(u.id=l,u.setAttribute("role","region"),u.setAttribute("aria-labelledby",c),a.setAttribute("aria-controls",l));const f=()=>{if(a.setAttribute("aria-expanded",String(o.open)),o.setAttribute("data-state",o.open?"open":"closed"),a.setAttribute("data-state",o.open?"active":"inactive"),!t&&o.open){for(const d of e)if(d!==o&&d.open){d.open=!1;const h=d.querySelector("summary");h?.setAttribute("aria-expanded","false"),d.setAttribute("data-state","closed"),h?.setAttribute("data-state","inactive")}}};o.addEventListener("toggle",f),r.push(()=>o.removeEventListener("toggle",f))}const i=e.map(o=>o.querySelector("summary")).filter(o=>o!==null),s=o=>{const a=o.target,l=i.indexOf(a);if(l===-1)return;let c=null;switch(o.key){case"ArrowDown":c=(l+1)%i.length;break;case"ArrowUp":c=(l-1+i.length)%i.length;break;case"Home":c=0;break;case"End":c=i.length-1;break;default:return}c!==null&&(o.preventDefault(),i[c].focus())};return n.addEventListener("keydown",s),r.push(()=>n.removeEventListener("keydown",s)),()=>r.forEach(o=>o())}const il=new Map,kw=new WeakSet;function bX(n){let e=il.get(n);return e||(e=new Map,il.set(n,e)),e}function yX(n){const e=n.split("+").map(i=>i.trim().toLowerCase()).filter(Boolean);if(e.length===0)return null;const t=e[e.length-1];if(!t)return null;const r=new Set(e.slice(0,-1));return{key:t,cmd:r.has("cmd")||r.has("meta"),ctrl:r.has("ctrl")||r.has("control"),alt:r.has("alt")||r.has("option"),shift:r.has("shift")}}function wX(n,e){if(e.key.toLowerCase()!==n.key)return!1;const t=e.metaKey||e.ctrlKey,r=n.cmd||n.ctrl;return!(r&&!t||!r&&t||n.alt!==e.altKey||n.shift!==e.shiftKey)}function _X(n){const e=n.activeElement;if(!e)return!1;const t=e.tagName;return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||e.isContentEditable)}function kX(n){const e=n.ownerDocument;if(!e||!e.defaultView)return()=>{};const t=e.defaultView,r=n instanceof t.HTMLDialogElement?n:xX(n);if(!r)return()=>{};const i=r.id;if(!i)return()=>{};const s=r.querySelector(".rf-drawer__close");s&&(s.hidden=!1);const o=r.getAttribute("data-shortcut")??void 0,a=o?yX(o)??void 0:void 0,l=bX(e);if(l.has(i))return()=>{};if(a)for(const O of l.values())O.shortcut&&Sw(O.shortcut)===Sw(a)&&console.warn(`[refrakt drawer] shortcut "${o}" is registered by drawers "${O.id}" and "${i}"; the later one wins.`);l.set(i,{dialog:r,id:i,shortcut:a});const c=[],u=`#${i}`,f=O=>{O.preventDefault(),Zg(r)},d=[];if(e.querySelectorAll('a[data-target-type="drawer"]').forEach(O=>{const v=O.getAttribute("href")??"";(v===u||v.endsWith(u))&&(O.addEventListener("click",f),d.push(O))}),c.push(()=>{for(const O of d)O.removeEventListener("click",f)}),s){const O=()=>wf(r);s.addEventListener("click",O),c.push(()=>s.removeEventListener("click",O))}const h=O=>{O.target===r&&wf(r)};r.addEventListener("click",h),c.push(()=>r.removeEventListener("click",h));const m=O=>{O.preventDefault(),wf(r)};r.addEventListener("cancel",m),c.push(()=>r.removeEventListener("cancel",m));const p=()=>{r.setAttribute("data-state","closed"),t.location.hash===u&&t.history.replaceState(null,"",t.location.pathname+t.location.search),xw(e)};return r.addEventListener("close",p),c.push(()=>r.removeEventListener("close",p)),t.location.hash===u&&t.queueMicrotask(()=>{r.open||Zg(r)}),kw.has(e)||(kw.add(e),CX(e)),()=>{for(const O of c)O();l.delete(i),xw(e)}}function xX(n){const e=n.ownerDocument;if(!e)return null;const t=e.createElement("dialog");for(const r of Array.from(n.attributes))t.setAttribute(r.name,r.value);for(;n.firstChild;)t.appendChild(n.firstChild);return n.parentNode&&n.parentNode.replaceChild(t,n),t.setAttribute("data-state","closed"),t}function Zg(n){const e=n.ownerDocument;if(!e||!e.defaultView)return;const t=e.defaultView,r=il.get(e);if(r)for(const i of r.values())i.dialog!==n&&i.dialog.open&&i.dialog.close();if(!n.open)try{n.showModal()}catch{n.setAttribute("open","")}if(n.setAttribute("data-state","open"),AX(e),n.id){const i=`#${n.id}`;t.location.hash!==i&&t.history.replaceState(null,"",t.location.pathname+t.location.search+i)}}const SX=280;function wf(n){if(!n.open||n.getAttribute("data-state")==="closing")return;n.setAttribute("data-state","closing");let e=!1;const t=()=>{if(!e){e=!0,n.removeEventListener("animationend",r),i!==void 0&&clearTimeout(i);try{n.close()}catch{n.removeAttribute("open")}}},r=s=>{s.target===n&&(s.animationName&&!s.animationName.startsWith("rf-drawer-slide-out")||t())};n.addEventListener("animationend",r);const i=setTimeout(t,SX)}function AX(n){n.documentElement.classList.add("rf-drawer-open")}function xw(n){const e=il.get(n);if(!e){n.documentElement.classList.remove("rf-drawer-open");return}for(const t of e.values())if(t.dialog.open)return;n.documentElement.classList.remove("rf-drawer-open")}function Sw(n){const e=[];return(n.cmd||n.ctrl)&&e.push("mod"),n.alt&&e.push("alt"),n.shift&&e.push("shift"),e.push(n.key),e.join("+")}function CX(n){const e=n.defaultView;if(!e)return;const t=i=>{if(_X(n))return;const s=il.get(n);if(!s)return;let o;for(const a of s.values())a.shortcut&&wX(a.shortcut,i)&&(o=a);o&&(i.preventDefault(),Zg(o.dialog))};n.addEventListener("keydown",t);const r=()=>{const i=il.get(n);if(i)for(const s of i.values())s.dialog.open&&e.location.hash!==`#${s.id}`&&wf(s.dialog)};e.addEventListener("popstate",r)}function Aw(n){const e=n.querySelector('[data-name="tabs"]'),t=n.querySelector('[data-name="panels"]');if(!e||!t)return()=>{};const r=Array.from(e.children).filter(d=>d instanceof HTMLElement&&d.tagName==="BUTTON"),i=Array.from(t.children).filter(d=>d instanceof HTMLElement);if(r.length===0||i.length===0)return()=>{};const s=r.map(()=>no("rf-tab")),o=i.map(()=>no("rf-tabpanel"));for(let d=0;d<r.length;d++)r[d].id=s[d],o[d]&&r[d].setAttribute("aria-controls",o[d]);for(let d=0;d<i.length;d++)o[d]&&(i[d].id=o[d]),s[d]&&i[d].setAttribute("aria-labelledby",s[d]);const a=r[0].className.split(" ")[0]||"";let l=0;function c(d){l=d;for(let h=0;h<r.length;h++){const m=h===l;r[h].setAttribute("aria-selected",String(m)),r[h].setAttribute("data-state",m?"active":"inactive"),a&&r[h].classList.toggle(`${a}--active`,m)}for(let h=0;h<i.length;h++){const m=h===l;i[h].hidden=!m,i[h].setAttribute("data-state",m?"active":"inactive")}}c(0);const u=[];for(let d=0;d<r.length;d++){const h=()=>c(d);r[d].addEventListener("click",h),u.push(()=>r[d].removeEventListener("click",h))}const f=d=>{const h=d.target,m=r.indexOf(h);if(m===-1)return;let p=null;switch(d.key){case"ArrowRight":p=(m+1)%r.length;break;case"ArrowLeft":p=(m-1+r.length)%r.length;break;case"Home":p=0;break;case"End":p=r.length-1;break;default:return}p!==null&&(d.preventDefault(),r[p].focus(),c(p))};return e.addEventListener("keydown",f),u.push(()=>e.removeEventListener("keydown",f)),()=>{u.forEach(d=>d());for(const d of r)d.removeAttribute("id"),d.removeAttribute("aria-controls"),d.removeAttribute("aria-selected"),d.removeAttribute("data-state"),a&&d.classList.remove(`${a}--active`);for(const d of i)d.hidden=!1,d.removeAttribute("id"),d.removeAttribute("aria-labelledby"),d.removeAttribute("data-state")}}function TX(n){const e=n.querySelector('[data-name="steps"]')||n,t=Array.from(e.querySelectorAll('[data-rune="reveal-step"]'));if(t.length===0)return()=>{};let r=1;const i=document.createElement("button");i.className="rf-reveal__next",i.textContent="Continue";const s=document.createElement("button");s.className="rf-reveal__reset",s.textContent="Start over";function o(){for(let c=0;c<t.length;c++){const u=c<r;t[c].classList.toggle("rf-reveal-step--visible",u),t[c].classList.toggle("rf-reveal-step--hidden",!u),t[c].setAttribute("data-state",u?"open":"closed")}r<t.length?(i.parentNode||n.appendChild(i),s.remove()):t.length>1?(i.remove(),s.parentNode||n.appendChild(s)):(i.remove(),s.remove())}const a=()=>{r<t.length&&(r++,o())},l=()=>{r=1,o()};return i.addEventListener("click",a),s.addEventListener("click",l),o(),()=>{i.removeEventListener("click",a),s.removeEventListener("click",l),i.remove(),s.remove();for(const c of t)c.classList.remove("rf-reveal-step--visible","rf-reveal-step--hidden"),c.removeAttribute("data-state")}}function PX(n){const e=n.querySelector("table");if(!e)return()=>{};const t=e.closest(".rf-datatable__scroll")??e,r=n.getAttribute("data-searchable")==="true",s=(n.getAttribute("data-sortable")||"").split(",").map(k=>k.trim()).filter(Boolean),o=parseInt(n.getAttribute("data-page-size")||"0",10),a=n.getAttribute("data-default-sort")||"",l=Array.from(e.querySelectorAll("th")),c=l.map(k=>k.textContent?.trim()||""),u=e.querySelectorAll("tbody tr"),f=Array.from(u.length>0?u:e.querySelectorAll("tr:not(:first-child)")).map(k=>({el:k,cells:Array.from(k.querySelectorAll("td")).map(x=>x.textContent?.trim()||"")})),d=f.map(k=>k.el);let h="",m=a,p="asc",O=0;const v=[];let b=null,_=null;if(r){b=document.createElement("div"),b.className="rf-datatable__toolbar",_=document.createElement("input"),_.type="search",_.placeholder="Filter rows...",_.className="rf-datatable__input",b.appendChild(_),t.before(b);const k=()=>{h=_.value,O=0,C()};_.addEventListener("input",k),v.push(()=>_.removeEventListener("input",k))}for(const k of l){const x=k.textContent?.trim()||"";if(!s.includes(x))continue;k.style.cursor="pointer",k.style.userSelect="none";const E=()=>{m===x?p=p==="asc"?"desc":"asc":(m=x,p="asc"),O=0,C()};k.addEventListener("click",E),v.push(()=>{k.removeEventListener("click",E),k.style.cursor="",k.style.userSelect=""})}let A=null,w=null,y=null,S=null;if(o>0){A=document.createElement("div"),A.className="rf-datatable__pagination",w=document.createElement("button"),w.className="rf-datatable__page-btn",w.innerHTML="← Prev",S=document.createElement("span"),S.className="rf-datatable__page-info",y=document.createElement("button"),y.className="rf-datatable__page-btn",y.innerHTML="Next →",A.appendChild(w),A.appendChild(S),A.appendChild(y),t.after(A);const k=()=>{O>0&&(O--,C())},x=()=>{O++,C()};w.addEventListener("click",k),y.addEventListener("click",x),v.push(()=>{w.removeEventListener("click",k),y.removeEventListener("click",x)})}function C(){let k=[...f];if(h){const Q=h.toLowerCase();k=k.filter(P=>P.cells.some(q=>q.toLowerCase().includes(Q)))}if(m){const Q=c.indexOf(m);Q>=0&&k.sort((P,q)=>{const I=P.cells[Q].localeCompare(q.cells[Q],void 0,{numeric:!0});return p==="asc"?I:-I})}const x=k.length,E=o>0?Math.ceil(x/o):1;O>=E&&(O=Math.max(0,E-1));const T=o>0?k.slice(O*o,(O+1)*o):k,$=e.querySelector("tbody")||e;for(const Q of f)Q.el.style.display="none";for(const Q of T)Q.el.style.display="",$.appendChild(Q.el);for(const Q of l){const P=Q.textContent?.replace(/[▲▼]/g,"").trim()||"",q=Q.querySelector(".rf-datatable__sort-indicator");if(s.includes(P))if(m===P)if(q)q.textContent=p==="asc"?" ▲":" ▼";else{const I=document.createElement("span");I.className="rf-datatable__sort-indicator",I.textContent=p==="asc"?" ▲":" ▼",Q.appendChild(I)}else q?.remove()}A&&w&&y&&S&&(w.disabled=O===0,y.disabled=O>=E-1,S.textContent=`${O+1} / ${E}`,E<=1?A.hidden=!0:A.hidden=!1)}return C(),()=>{v.forEach(x=>x()),b?.remove(),A?.remove();for(const x of l)x.querySelector(".rf-datatable__sort-indicator")?.remove();const k=e.querySelector("tbody")||e;for(const x of d)x.style.display="",k.appendChild(x)}}function EX(n){const e=n.tagName==="FORM"?n:n.querySelector("form");if(!e)return()=>{};const t=n.getAttribute("data-action")||e.getAttribute("action")||"",r=n.getAttribute("data-method")||e.getAttribute("method")||"POST",i=n.getAttribute("data-success")||"Form submitted successfully.",s=n.getAttribute("data-error")||"Something went wrong. Please try again.",o=n.getAttribute("data-honeypot")!=="false";let a=null;if(o){a=document.createElement("div"),a.className="rf-form__hp",a.setAttribute("aria-hidden","true"),a.style.display="none";const f=document.createElement("input");f.type="text",f.name="_gotcha",f.setAttribute("autocomplete","off"),f.tabIndex=-1,a.appendChild(f),e.prepend(a)}const l=document.createElement("div");l.className="rf-form__status",l.hidden=!0,e.appendChild(l);function c(f,d){l.hidden=!1,l.className=`rf-form__status rf-form__status--${f}`,l.setAttribute("role",f==="submitting"?"status":"alert"),l.setAttribute("data-state",f),l.textContent=d}const u=async f=>{if(f.preventDefault(),!!t){c("submitting","Submitting...");try{const d=new FormData(e);(await fetch(t,{method:r,body:d,headers:{Accept:"application/json"}})).ok?(c("success",i),e.reset()):c("error",s)}catch{c("error",s)}}};return e.addEventListener("submit",u),()=>{e.removeEventListener("submit",u),a?.remove(),l.remove()}}const $X="http://www.w3.org/2000/svg";function Uu(n){const e=document.createElementNS($X,"svg");return e.setAttribute("width","14"),e.setAttribute("height","14"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("fill","none"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.innerHTML=n,e}const cs={eye:'<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/>',code:'<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',mobile:'<rect x="5" y="2" width="14" height="20" rx="2" ry="2"/><line x1="12" y1="18" x2="12.01" y2="18"/>',tablet:'<rect x="4" y="2" width="16" height="20" rx="2" ry="2"/><line x1="12" y1="18" x2="12.01" y2="18"/>',desktop:'<rect x="2" y="3" width="20" height="14" rx="2" ry="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/>',sun:'<circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>',moon:'<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>'},QX={mobile:cs.mobile,tablet:cs.tablet,desktop:cs.desktop},fa={mobile:{width:375,label:"375px"},tablet:{width:768,label:"768px"},desktop:{width:null,label:"Full"}};function LX(n){const e=n.getAttribute("data-theme")||"auto",r=(n.getAttribute("data-responsive")||"").split(",").map(P=>P.trim()).filter(P=>P in fa),i=r.length>0,s=n.querySelector('[data-name="source"]'),o=n.querySelector('[data-name="html-source"]'),a=n.querySelector('[data-name="themed-source"]'),l=Array.from(n.children).filter(P=>P!==s&&P!==o&&P!==a&&!P.matches?.("meta[data-field]")),c=s!==null||o!==null;let u="preview",f=e,d=i?r[r.length-1]:null;const h=[],m=document.createElement("div");m.className="rf-preview__toolbar";const p=document.createElement("span");p.className="rf-preview__title",m.appendChild(p);const O=document.createElement("div");O.className="rf-preview__controls",m.appendChild(O);let v=null,b=null;if(c){const P=document.createElement("div");P.className="rf-preview__view-toggle",v=document.createElement("button"),v.className="rf-preview__toggle-btn rf-preview__toggle-btn--active",v.setAttribute("aria-label","Preview"),v.setAttribute("title","Preview"),v.appendChild(Uu(cs.eye)),b=document.createElement("button"),b.className="rf-preview__toggle-btn",b.setAttribute("aria-label","View source"),b.setAttribute("title","View source"),b.appendChild(Uu(cs.code)),P.appendChild(v),P.appendChild(b),O.appendChild(P);const q=()=>{u="preview",Q()},I=()=>{u="code",Q()};v.addEventListener("click",q),b.addEventListener("click",I),h.push(()=>{v.removeEventListener("click",q),b.removeEventListener("click",I)})}const _=new Map;if(i){const P=document.createElement("div");P.className="rf-preview__viewport-toggle";for(const q of r){const I=document.createElement("button");I.className="rf-preview__toggle-btn",I.setAttribute("aria-label",`${fa[q].label} viewport`),I.setAttribute("title",fa[q].label),I.appendChild(Uu(QX[q]||cs.desktop));const W=()=>{d=q,Q()};I.addEventListener("click",W),h.push(()=>I.removeEventListener("click",W)),P.appendChild(I),_.set(q,I)}O.appendChild(P)}const A=document.createElement("div");A.className="rf-preview__toggle";const w=[{mode:"auto",label:"Auto",title:"System preference",icon:cs.desktop},{mode:"light",label:"Light",title:"Light mode",icon:cs.sun},{mode:"dark",label:"Dark",title:"Dark mode",icon:cs.moon}],y=new Map;for(const P of w){const q=document.createElement("button");q.className="rf-preview__toggle-btn",q.setAttribute("aria-label",`${P.label} theme`),q.setAttribute("title",P.title),q.appendChild(Uu(P.icon));const I=()=>{f=P.mode,Q()};q.addEventListener("click",I),h.push(()=>q.removeEventListener("click",I)),A.appendChild(q),y.set(P.mode,q)}O.appendChild(A);const S=document.createElement("div");S.className="rf-preview__canvas";let C=null,k=null;if(i){C=document.createElement("div"),C.className="rf-preview__viewport-frame",k=document.createElement("span"),k.className="rf-preview__viewport-label",k.hidden=!0,C.appendChild(k);for(const P of l)C.appendChild(P);S.appendChild(C)}else for(const P of l)S.appendChild(P);const x=[];let E=null,T=null,$="";if(c){if(E=document.createElement("div"),E.className="rf-preview__source",s){const P=document.createElement("div");P.appendChild(s),x.push({key:"markdoc",label:"Markdoc",panel:P})}if(o){const P=document.createElement("div");P.appendChild(o),x.push({key:"rune",label:"Rune",panel:P})}if(a){const P=document.createElement("div");P.appendChild(a),x.push({key:"html",label:"HTML",panel:P})}if($=x[0]?.key??"",x.length>1){const P=document.createElement("div");P.className="rf-preview__source-tabs",T=new Map;for(const q of x){const I=document.createElement("button");I.className="rf-preview__source-tab",q.key===$&&I.classList.add("rf-preview__source-tab--active"),I.textContent=q.label;const W=()=>{$=q.key,Q()};I.addEventListener("click",W),h.push(()=>I.removeEventListener("click",W)),P.appendChild(I),T.set(q.key,I)}E.appendChild(P)}for(const P of x)P.panel.hidden=P.key!==$,E.appendChild(P.panel)}n.appendChild(m),E&&n.appendChild(E),n.appendChild(S);function Q(){if(v&&b&&(v.classList.toggle("rf-preview__toggle-btn--active",u==="preview"),b.classList.toggle("rf-preview__toggle-btn--active",u==="code")),E&&(E.hidden=u!=="code"),S.hidden=u==="code"&&c,T)for(const[q,I]of T)I.classList.toggle("rf-preview__source-tab--active",$===q);for(const q of x)q.panel.hidden=q.key!==$;for(const[q,I]of _)I.classList.toggle("rf-preview__toggle-btn--active",d===q);if(C){const q=d&&fa[d]?fa[d].width:null;C.classList.toggle("rf-preview__viewport-frame--constrained",!!q),C.style.maxWidth=q?`${q}px`:"",k&&(q&&d?(k.textContent=fa[d].label,k.hidden=!1):k.hidden=!0)}for(const[q,I]of y)I.classList.toggle("rf-preview__toggle-btn--active",f===q);const P=f==="auto"?void 0:f;P?S.setAttribute("data-color-scheme",P):S.removeAttribute("data-color-scheme");for(const q of S.querySelectorAll("rf-sandbox"))typeof q.setTheme=="function"&&q.setTheme(P||"auto")}return Q(),()=>{h.forEach(P=>P()),s&&n.appendChild(s),o&&n.appendChild(o),a&&n.appendChild(a);for(const P of Array.from(C?.children??S.children))P!==k&&n.appendChild(P);m.remove(),S.remove(),E?.remove()}}function MX(n){if(!n.parentElement?.matches('[data-section="media"]'))return()=>{};if(n.getAttribute("data-fit")==="none")return()=>{};const e=n.querySelector(".rf-mockup__frame");if(!e)return()=>{};const t=()=>{const i=parseFloat(getComputedStyle(e).getPropertyValue("--mockup-device-width")),s=getComputedStyle(n),o=(parseFloat(s.paddingLeft)||0)+(parseFloat(s.paddingRight)||0),a=n.clientWidth-o,l=i>0&&a>0?a/i:1;e.style.setProperty("--mockup-fit-scale",String(l))};t();const r=new ResizeObserver(t);return r.observe(n),()=>{r.disconnect(),e.style.removeProperty("--mockup-fit-scale")}}function qX(n){const e=n.querySelectorAll("[data-scrollspy]"),t=[];for(const r of e){const i=r.querySelectorAll('a[href^="#"]');if(i.length===0)continue;const s=new Map,o=[];for(const c of i){const u=c.getAttribute("href").slice(1),f=document.getElementById(u);if(!f)continue;const d=c.closest("li");d&&(s.set(f,d),o.push(f))}if(o.length===0)continue;let a=null;const l=new IntersectionObserver(c=>{for(const u of c)if(u.isIntersecting){const f=s.get(u.target);f&&f!==a&&(a?.removeAttribute("data-active"),f.setAttribute("data-active",""),a=f);break}},{rootMargin:"0px 0px -80% 0px"});for(const c of o)l.observe(c);t.push(()=>{l.disconnect(),a?.removeAttribute("data-active")})}return()=>t.forEach(r=>r())}const DX='[data-reveal]:not([data-reveal="none"])';function RX(n){const e=Array.from(n.querySelectorAll(DX));if(e.length===0)return()=>{};if((n instanceof Document?n.documentElement:n.ownerDocument?.documentElement??n).setAttribute("data-animate",""),typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches||typeof IntersectionObserver>"u"){for(const s of e)s.setAttribute("data-in-view","");return()=>{}}const i=new IntersectionObserver((s,o)=>{for(const a of s)a.isIntersecting&&(a.target.setAttribute("data-in-view",""),o.unobserve(a.target))},{rootMargin:"0px 0px -10% 0px"});for(const s of e)i.observe(s);return()=>i.disconnect()}function IX(n){const e=n.querySelectorAll("[data-version-switcher]"),t=[];for(const r of e){const i=r.querySelector("select");if(!i)continue;const s=()=>{const o=i.value;o&&o!==window.location.pathname&&(window.location.href=o)};i.addEventListener("change",s),t.push(()=>i.removeEventListener("change",s))}return()=>t.forEach(r=>r())}function NX(n){const e=[];if(n.getAttribute("data-layout")==="carousel"){const t=BX(n);t&&e.push(t)}if(n.getAttribute("data-lightbox")==="true"){const t=jX(n);t&&e.push(t)}return()=>e.forEach(t=>t())}function BX(n){const e=n.querySelector('[data-name="items"]');if(!e)return;const t=Array.from(e.querySelectorAll('[data-name="item"]'));if(t.length===0)return;const r=document.createElement("button");r.className="rf-gallery__nav rf-gallery__nav--prev",r.setAttribute("aria-label","Previous"),r.textContent="‹";const i=document.createElement("button");i.className="rf-gallery__nav rf-gallery__nav--next",i.setAttribute("aria-label","Next"),i.textContent="›",n.appendChild(r),n.appendChild(i);function s(c){const u=t[0];if(!u||!e)return;const f=u.offsetWidth+parseFloat(getComputedStyle(e).gap||"0");e.scrollBy({left:c*f,behavior:"smooth"})}const o=()=>s(-1),a=()=>s(1);r.addEventListener("click",o),i.addEventListener("click",a);const l=c=>{c.key==="ArrowLeft"&&(c.preventDefault(),s(-1)),c.key==="ArrowRight"&&(c.preventDefault(),s(1))};return n.setAttribute("tabindex","0"),n.addEventListener("keydown",l),()=>{r.removeEventListener("click",o),i.removeEventListener("click",a),n.removeEventListener("keydown",l),r.remove(),i.remove(),n.removeAttribute("tabindex")}}function jX(n){const e=Array.from(n.querySelectorAll('[data-name="item"]'));if(e.length===0)return;let t=null,r=0;function i(d){return d.querySelector("img")?.getAttribute("src")||""}function s(d){return d.querySelector("img")?.getAttribute("alt")||""}function o(d){r=d,e[r]?.setAttribute("data-state","selected"),t=document.createElement("div"),t.className="rf-gallery__lightbox",t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.setAttribute("aria-label","Image lightbox");const h=document.createElement("img");h.src=i(e[r]),h.alt=s(e[r]);const m=document.createElement("button");m.className="rf-gallery__lightbox-close",m.setAttribute("aria-label","Close lightbox"),m.textContent="×";const p=document.createElement("button");p.className="rf-gallery__lightbox-nav rf-gallery__lightbox-nav--prev",p.setAttribute("aria-label","Previous image"),p.textContent="‹";const O=document.createElement("button");O.className="rf-gallery__lightbox-nav rf-gallery__lightbox-nav--next",O.setAttribute("aria-label","Next image"),O.textContent="›",t.appendChild(h),t.appendChild(m),e.length>1&&(t.appendChild(p),t.appendChild(O)),m.addEventListener("click",l),p.addEventListener("click",()=>a(-1)),O.addEventListener("click",()=>a(1)),t.addEventListener("click",v=>{v.target===t&&l()}),document.body.appendChild(t),document.addEventListener("keydown",c),m.focus()}function a(d){if(!t)return;e[r]?.removeAttribute("data-state"),r=(r+d+e.length)%e.length,e[r]?.setAttribute("data-state","selected");const h=t.querySelector("img");h&&(h.src=i(e[r]),h.alt=s(e[r]))}function l(){t&&(e[r]?.removeAttribute("data-state"),document.removeEventListener("keydown",c),t.remove(),t=null,e[r]?.focus())}function c(d){d.key==="Escape"&&(d.preventDefault(),l()),d.key==="ArrowLeft"&&(d.preventDefault(),a(-1)),d.key==="ArrowRight"&&(d.preventDefault(),a(1))}const u=[];e.forEach((d,h)=>{const m=()=>o(h);d.addEventListener("click",m),d.setAttribute("tabindex","0"),d.setAttribute("role","button"),d.setAttribute("aria-label",s(d)||`View image ${h+1}`),u.push([d,m])});const f=d=>{if(d.key==="Enter"||d.key===" "){d.preventDefault();const h=d.currentTarget,m=e.indexOf(h);m>=0&&o(m)}};return e.forEach(d=>d.addEventListener("keydown",f)),()=>{l();for(const[d,h]of u)d.removeEventListener("click",h),d.removeAttribute("tabindex"),d.removeAttribute("role"),d.removeAttribute("aria-label");e.forEach(d=>d.removeEventListener("keydown",f))}}function zX(n){switch(n.getAttribute("data-variant")||"slider"){case"toggle":return XX(n);case"fade":return VX(n);case"auto":return WX(n);default:return FX(n)}}function fh(n){const e=n.querySelector('[data-name="panels"]')||n;return Array.from(e.querySelectorAll(':scope > [data-rune="juxtapose-panel"]'))}function ZX(n){return n.querySelector('[data-name="name"]')?.textContent?.trim()||""}function FX(n){const e=fh(n);if(e.length<2)return()=>{};const r=(n.getAttribute("data-orientation")||"vertical")==="horizontal",i=n.querySelector('[data-name="panels"]');if(!i)return()=>{};i.style.position="relative",i.style.overflow="hidden",e[0].style.position="absolute",e[0].style.inset="0",e[0].style.zIndex="2",e[0].style.willChange="clip-path",e[1].style.position="relative",e[1].style.zIndex="1";for(const O of e)for(const v of O.querySelectorAll('iframe[loading="lazy"]'))v.loading="eager";const s=document.createElement("div");s.className="rf-juxtapose__divider",s.setAttribute("role","slider"),s.setAttribute("aria-label","Comparison slider"),s.setAttribute("aria-valuemin","0"),s.setAttribute("aria-valuemax","100"),s.setAttribute("tabindex","0");const o=document.createElement("div");o.className="rf-juxtapose__divider-handle",s.appendChild(o),i.appendChild(s);function a(O){const v=Math.max(0,Math.min(100,O));n.style.setProperty("--jx-position",String(v)),s.setAttribute("aria-valuenow",String(Math.round(v))),r?(e[0].style.clipPath=`inset(0 0 ${100-v}% 0)`,s.style.top=`${v}%`,s.style.left=""):(e[0].style.clipPath=`inset(0 ${100-v}% 0 0)`,s.style.left=`${v}%`,s.style.top="")}const l=parseFloat(n.style.getPropertyValue("--jx-position"))||50;a(l);let c=!1;function u(O){const v=i.getBoundingClientRect();return r?(O.clientY-v.top)/v.height*100:(O.clientX-v.left)/v.width*100}const f=O=>{c=!0,s.setPointerCapture(O.pointerId),a(u(O)),O.preventDefault()},d=O=>{c&&a(u(O))},h=O=>{c&&(c=!1,s.releasePointerCapture(O.pointerId))},m=O=>{O.target===s||s.contains(O.target)||(c=!0,s.setPointerCapture(O.pointerId),a(u(O)))};s.addEventListener("pointerdown",f),s.addEventListener("pointermove",d),s.addEventListener("pointerup",h),i.addEventListener("pointerdown",m),i.addEventListener("pointermove",d),i.addEventListener("pointerup",h);const p=O=>{const v=parseFloat(n.style.getPropertyValue("--jx-position"))||50,b=O.shiftKey?10:2,_=r?["ArrowUp"]:["ArrowLeft"],A=r?["ArrowDown"]:["ArrowRight"];_.includes(O.key)?(a(v-b),O.preventDefault()):A.includes(O.key)?(a(v+b),O.preventDefault()):O.key==="Home"?(a(0),O.preventDefault()):O.key==="End"&&(a(100),O.preventDefault())};return s.addEventListener("keydown",p),()=>{s.removeEventListener("pointerdown",f),s.removeEventListener("pointermove",d),s.removeEventListener("pointerup",h),i.removeEventListener("pointerdown",m),i.removeEventListener("pointermove",d),i.removeEventListener("pointerup",h),s.removeEventListener("keydown",p),s.remove(),i.style.position="",i.style.overflow="";for(const O of e)O.style.position="",O.style.inset="",O.style.zIndex="",O.style.clipPath="",O.style.willChange=""}}function XX(n){const e=fh(n);if(e.length<2)return()=>{};let t=0;const r=document.createElement("div");r.className="rf-juxtapose__toggle-bar",r.setAttribute("role","radiogroup"),r.setAttribute("aria-label","Comparison toggle");const i=e.map((l,c)=>{const u=document.createElement("button");return u.className="rf-juxtapose__toggle-btn",u.setAttribute("role","radio"),u.textContent=ZX(l)||`Panel ${c+1}`,r.appendChild(u),u}),s=n.querySelector('[data-name="panels"]');s?s.parentNode.insertBefore(r,s):n.insertBefore(r,n.firstChild);function o(){e.forEach((l,c)=>{const u=c===t;l.hidden=!u,l.setAttribute("data-state",u?"active":"inactive")}),i.forEach((l,c)=>{const u=c===t;l.setAttribute("aria-checked",String(u)),l.setAttribute("data-state",u?"active":"inactive"),l.classList.toggle("rf-juxtapose__toggle-btn--active",u)})}const a=l=>{const c=l.target.closest(".rf-juxtapose__toggle-btn");if(!c)return;const u=i.indexOf(c);u>=0&&(t=u,o())};return r.addEventListener("click",a),o(),()=>{r.removeEventListener("click",a),r.remove();for(const l of e)l.hidden=!1,l.removeAttribute("data-state")}}function VX(n){const e=fh(n);if(e.length<2)return()=>{};const t=n.querySelector('[data-name="panels"]');if(!t)return()=>{};const r=parseInt(n.style.getPropertyValue("--jx-duration")||"1000",10);t.style.position="relative",e[0].style.position="relative",e[0].style.zIndex="1",e[1].style.position="absolute",e[1].style.inset="0",e[1].style.zIndex="2",e[1].style.opacity="0",e[1].style.transition=`opacity ${r}ms ease`;for(const l of e)for(const c of l.querySelectorAll('iframe[loading="lazy"]'))c.loading="eager";let i=!1;const s=()=>{i||(e[1].style.opacity="1")},o=()=>{i||(e[1].style.opacity="0")},a=()=>{i=!i,e[1].style.opacity=i?"1":"0"};return t.addEventListener("mouseenter",s),t.addEventListener("mouseleave",o),t.addEventListener("click",a),t.setAttribute("aria-live","polite"),()=>{t.removeEventListener("mouseenter",s),t.removeEventListener("mouseleave",o),t.removeEventListener("click",a),t.removeAttribute("aria-live"),t.style.position="";for(const l of e)l.style.position="",l.style.inset="",l.style.zIndex="",l.style.opacity="",l.style.transition=""}}function WX(n){const e=fh(n);if(e.length<2)return()=>{};const r=(n.getAttribute("data-orientation")||"vertical")==="horizontal",i=n.querySelector('[data-name="panels"]');if(!i)return()=>{};const s=parseFloat(n.style.getPropertyValue("--jx-position"))||50,o=parseInt(n.style.getPropertyValue("--jx-duration")||"1000",10);i.style.position="relative",i.style.overflow="hidden",e[0].style.position="absolute",e[0].style.inset="0",e[0].style.zIndex="2",e[0].style.willChange="clip-path",e[1].style.position="relative",e[1].style.zIndex="1";for(const d of e)for(const h of d.querySelectorAll('iframe[loading="lazy"]'))h.loading="eager";function a(d){n.style.setProperty("--jx-position",String(d)),r?e[0].style.clipPath=`inset(0 0 ${100-d}% 0)`:e[0].style.clipPath=`inset(0 ${100-d}% 0 0)`}a(0);let l=null,c=!1;function u(){if(c)return;c=!0;const d=performance.now(),h=0;function m(p){const O=p-d,v=Math.min(O/o,1),b=1-Math.pow(1-v,3);a(h+(s-h)*b),v<1&&(l=requestAnimationFrame(m))}l=requestAnimationFrame(m)}const f=new IntersectionObserver(d=>{for(const h of d)h.isIntersecting&&u()},{threshold:.3});return f.observe(n),()=>{f.disconnect(),l!==null&&cancelAnimationFrame(l),i.style.position="",i.style.overflow="";for(const d of e)d.style.position="",d.style.inset="",d.style.zIndex="",d.style.clipPath="",d.style.willChange=""}}function YX(n){if(n.getAttribute("data-collapsible")!=="true")return()=>{};const e=Array.from(n.querySelectorAll('[data-rune="nav-group"]'));if(e.length===0)return()=>{};const t=[];for(const r of e){const i=r.querySelector('[data-field="title"], h1, h2, h3, h4, h5, h6');if(!i)continue;const s=r.querySelector(':scope > [data-name="panel"], :scope > ul, :scope > ol');if(!s)continue;const o=i.id||no("rf-nav-trigger"),a=s.id||no("rf-nav-panel");i.id=o,s.id=a,(r.getAttribute("data-collapsed")??"true")!=="false"&&r.setAttribute("data-collapsed","true"),i.setAttribute("role","button"),i.setAttribute("tabindex","0"),i.setAttribute("aria-controls",a),i.setAttribute("aria-expanded",r.getAttribute("data-collapsed")==="false"?"true":"false"),s.setAttribute("aria-labelledby",o);const c=()=>{const d=r.getAttribute("data-collapsed")==="false",h=s.getBoundingClientRect().height,m=d?0:s.scrollHeight;s.style.height=h+"px",s.offsetHeight,r.setAttribute("data-collapsed",d?"true":"false"),i.setAttribute("aria-expanded",d?"false":"true"),s.style.height=m+"px";const p=()=>{s.style.height="",s.removeEventListener("transitionend",O),clearTimeout(v)},O=b=>{b.target!==s||b.propertyName!=="height"||p()};s.addEventListener("transitionend",O);const v=setTimeout(p,260)},u=d=>{d.preventDefault(),c()},f=d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),c())};i.addEventListener("click",u),i.addEventListener("keydown",f),t.push(()=>{i.removeEventListener("click",u),i.removeEventListener("keydown",f)})}return()=>t.forEach(r=>r())}function UX(n){if(n.getAttribute("data-layout")!=="menubar")return()=>{};const e=[],t=Array.from(n.querySelectorAll('[data-rune="nav-group"]')),r=new Map,i=new Map;for(const f of t){const d=f.querySelector('[data-field="title"], h1, h2, h3, h4, h5, h6'),h=f.querySelector(":scope > ul, :scope > ol");if(!d||!h)continue;const m=d.id||no("rf-nav-trigger"),p=h.id||no("rf-nav-panel");d.id=m,h.id=p,d.setAttribute("role","button"),d.setAttribute("tabindex","0"),d.setAttribute("aria-haspopup","true"),d.setAttribute("aria-expanded","false"),d.setAttribute("aria-controls",p),h.setAttribute("role","menu"),h.setAttribute("aria-labelledby",m),f.setAttribute("data-open","false"),r.set(f,d),i.set(f,h)}const s=f=>{for(const[d,h]of r)d!==f&&(d.setAttribute("data-open","false"),h.setAttribute("aria-expanded","false"))},o=f=>{const d=r.get(f);d&&(s(f),f.setAttribute("data-open","true"),d.setAttribute("aria-expanded","true"))},a=f=>{f.getAttribute("data-open")==="true"?s():o(f)};for(const[f,d]of r){const h=i.get(f),m=v=>{v.preventDefault(),a(f)},p=v=>{switch(v.key){case"Enter":case" ":v.preventDefault(),a(f);break;case"ArrowDown":{v.preventDefault(),o(f),h.querySelector("a, button, [tabindex]")?.focus();break}case"ArrowRight":case"ArrowLeft":{v.preventDefault();const b=Array.from(r.keys()),_=b.indexOf(f);if(_===-1)break;const A=v.key==="ArrowRight"?b[(_+1)%b.length]:b[(_-1+b.length)%b.length];r.get(A)?.focus(),f.getAttribute("data-open")==="true"&&o(A);break}case"Escape":s(),d.focus();break}};d.addEventListener("click",m),d.addEventListener("keydown",p),e.push(()=>{d.removeEventListener("click",m),d.removeEventListener("keydown",p)});const O=v=>{const b=Array.from(h.querySelectorAll("a, button")),_=document.activeElement,A=_?b.indexOf(_):-1;switch(v.key){case"ArrowDown":v.preventDefault(),b[Math.min(A+1,b.length-1)]?.focus();break;case"ArrowUp":v.preventDefault(),A<=0?d.focus():b[A-1]?.focus();break;case"Escape":v.preventDefault(),s(),d.focus();break}};h.addEventListener("keydown",O),e.push(()=>h.removeEventListener("keydown",O))}const l=f=>{n.contains(f.target)||s()},c=f=>{const d=f.relatedTarget;(!d||!n.contains(d))&&s()};document.addEventListener("click",l),n.addEventListener("focusout",c),e.push(()=>document.removeEventListener("click",l)),e.push(()=>n.removeEventListener("focusout",c));const u=n.querySelector(':scope > [data-name="trigger"]');if(u){const f=d=>{d.preventDefault();const h=n.getAttribute("data-open")==="true";n.setAttribute("data-open",h?"false":"true"),u.setAttribute("aria-expanded",h?"false":"true")};u.addEventListener("click",f),e.push(()=>u.removeEventListener("click",f))}return()=>e.forEach(f=>f())}const Gv=typeof HTMLElement<"u"?HTMLElement:class{};function OT(n,e){const t=n.querySelector(`[data-content="${e}"]`);return t?t instanceof HTMLTemplateElement?t.content.textContent||t.textContent||"":t.textContent||"":""}function GX(){const n=document.documentElement.dataset.theme;return n==="dark"?!0:n==="light"?!1:matchMedia("(prefers-color-scheme: dark)").matches}class HX extends Gv{themeObserver;mediaQuery;mediaListener;source="";container=null;language="mermaid";connectedCallback(){requestAnimationFrame(()=>this.tryRender())}disconnectedCallback(){this.themeObserver?.disconnect(),this.mediaQuery&&this.mediaListener&&this.mediaQuery.removeEventListener("change",this.mediaListener)}tryRender(e=0){if(this.language=this.dataset.language||"mermaid",this.source=OT(this,"source"),this.container=this.querySelector(".rf-diagram__container"),!!this.container){if(!this.source){e<3&&requestAnimationFrame(()=>this.tryRender(e+1));return}this.language==="mermaid"?(this.renderMermaid(),this.watchThemeChanges()):this.language==="ascii"&&(this.container.textContent=this.source,this.container.style.fontFamily="var(--rf-font-mono)",this.container.style.whiteSpace="pre")}}watchThemeChanges(){this.themeObserver?.disconnect(),this.themeObserver=new MutationObserver(()=>this.renderMermaid()),this.themeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme","data-color-scheme"],subtree:!0}),this.mediaQuery||(this.mediaQuery=matchMedia("(prefers-color-scheme: dark)"),this.mediaListener=()=>{document.documentElement.dataset.theme||this.renderMermaid()},this.mediaQuery.addEventListener("change",this.mediaListener))}async renderMermaid(){if(!(!this.container||!this.source))try{const t=(await import("https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs")).default,r=getComputedStyle(this.container),i=GX();t.initialize({startOnLoad:!1,theme:i?"dark":"base",themeVariables:{darkMode:i,primaryColor:r.getPropertyValue("--rf-color-surface").trim()||"#fbfaf7",primaryTextColor:r.getPropertyValue("--rf-color-text").trim()||"#1c1a17",primaryBorderColor:r.getPropertyValue("--rf-color-border").trim()||"#e2e0dd",secondaryColor:r.getPropertyValue("--rf-color-surface-hover").trim()||"#ecebe8",secondaryTextColor:r.getPropertyValue("--rf-color-text").trim()||"#1c1a17",secondaryBorderColor:r.getPropertyValue("--rf-color-border").trim()||"#e2e0dd",tertiaryColor:r.getPropertyValue("--rf-color-info-bg").trim()||"#e8edf4",tertiaryTextColor:r.getPropertyValue("--rf-color-text").trim()||"#1c1a17",tertiaryBorderColor:r.getPropertyValue("--rf-color-info-border").trim()||"#c5d2e0",lineColor:r.getPropertyValue("--rf-color-muted").trim()||"#6b6661",textColor:r.getPropertyValue("--rf-color-text").trim()||"#1c1a17",mainBkg:r.getPropertyValue("--rf-color-surface").trim()||"#fbfaf7",nodeBorder:r.getPropertyValue("--rf-color-border").trim()||"#e2e0dd",clusterBkg:r.getPropertyValue("--rf-color-surface").trim()||"#fbfaf7",clusterBorder:r.getPropertyValue("--rf-color-border").trim()||"#e2e0dd",edgeLabelBackground:r.getPropertyValue("--rf-color-surface").trim()||"#fbfaf7",fontSize:"14px",fontFamily:r.getPropertyValue("--rf-font-sans").trim()||"system-ui, sans-serif"}});const s="mermaid-"+Math.random().toString(36).slice(2),{svg:o}=await t.render(s,this.source);this.container.innerHTML=o,this.dataset.rendered=""}catch{}}}const Gu={openstreetmap:{street:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",terrain:"https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png",dark:"https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png",minimal:"https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png"},mapbox:{street:"streets-v12",satellite:"satellite-streets-v12",terrain:"outdoors-v12",dark:"dark-v11",minimal:"light-v11"}},Cw={openstreetmap:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',mapbox:'© <a href="https://www.mapbox.com/">Mapbox</a>'},Dp=new Map;async function Rp(n){if(Dp.has(n))return Dp.get(n);try{const e=`https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(n)}&format=json&limit=1`,r=await(await fetch(e,{headers:{"User-Agent":"refrakt-md-map-rune/1.0"}})).json();if(r.length>0){const i=[parseFloat(r[0].lat),parseFloat(r[0].lon)];return Dp.set(n,i),i}}catch{}return null}class KX extends Gv{mapInstance=null;initializing=!1;connectedCallback(){const e=this.extractPins();e.length>0&&this.initLeaflet(e)}disconnectedCallback(){this.mapInstance&&(this.mapInstance.remove(),this.mapInstance=null)}extractPins(){const e=[],t=this.querySelector("ol");if(!t)return e;for(const r of t.querySelectorAll('li[data-rune="map-pin"]')){const i=s=>r.querySelector(`[data-name="${s}"]`)?.textContent||"";e.push({name:i("name"),description:i("description"),lat:parseFloat(r.dataset.lat||"")||0,lng:parseFloat(r.dataset.lng||"")||0,address:r.dataset.address||"",url:r.dataset.url||"",group:r.dataset.group||""})}return e}async initLeaflet(e){if(!(this.initializing||this.mapInstance)){this.initializing=!0;try{const t=this.getRootNode(),r=t instanceof ShadowRoot?t:document.head;if(!t.querySelector('link[href*="leaflet@1.9.4"]')){const C=document.createElement("link");C.rel="stylesheet",C.href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css",r.appendChild(C)}const s=await import("https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js"),o=this.dataset.center||"",a=this.dataset.zoom||"",l=this.dataset.style||"street",c=this.dataset.provider||"openstreetmap",u=this.dataset.interactive!=="false",f=this.dataset.route==="true",d=this.dataset.cluster==="true",h=this.dataset.apiKey||"",p=(await Promise.all(e.map(async C=>{if(C.lat&&C.lng)return{...C};if(C.address){const k=await Rp(C.address);if(k)return{...C,lat:k[0],lng:k[1]}}if(C.name){const k=await Rp(C.name);if(k)return{...C,lat:k[0],lng:k[1]}}return null}))).filter(C=>C!==null&&C.lat!==0&&C.lng!==0);if(p.length===0)return;let O=this.querySelector(".rf-map__container");O||(O=document.createElement("div"),O.className="rf-map__container",this.prepend(O));const v=O.querySelector(".rf-map__fallback");v&&v.remove();let b;if(o){const C=o.match(/(-?\d+\.?\d*)\s*,\s*(-?\d+\.?\d*)/);C?b=[parseFloat(C[1]),parseFloat(C[2])]:b=await Rp(o)||[p[0].lat,p[0].lng]}else{const C=p.map(x=>x.lat),k=p.map(x=>x.lng);b=[(Math.min(...C)+Math.max(...C))/2,(Math.min(...k)+Math.max(...k))/2]}const _=a?parseInt(a):13,A=s.map(O,{zoomControl:u,dragging:u,scrollWheelZoom:u,doubleClickZoom:u,touchZoom:u}).setView(b,_);if(c==="mapbox"){const C=Gu.mapbox[l]||Gu.mapbox.street;s.tileLayer(`https://api.mapbox.com/styles/v1/mapbox/${C}/tiles/256/{z}/{x}/{y}@2x?access_token=${h}`,{attribution:Cw.mapbox,tileSize:512,zoomOffset:-1}).addTo(A)}else{const C=Gu.openstreetmap[l]||Gu.openstreetmap.street;s.tileLayer(C,{attribution:Cw.openstreetmap}).addTo(A)}const w=new Map;for(const C of p){const k=C.group||"";w.has(k)||w.set(k,[]),w.get(k).push(C)}const y=[],S={};for(const[C,k]of w){const x=k.map(E=>{const T=s.marker([E.lat,E.lng]);let $="";return E.name&&($+=`<strong>${E.name}</strong>`),E.description&&($+=`<br><em>${E.description}</em>`),E.address&&($+=`<br><small>${E.address}</small>`),E.url&&($+=`<br><a href="${E.url}" target="_blank" rel="noopener">More info</a>`),$&&T.bindPopup($),T});if(C){const E=s.layerGroup(x).addTo(A);S[C]=E}else x.forEach(E=>E.addTo(A));y.push(...x)}if(Object.keys(S).length>0&&s.control.layers(null,S).addTo(A),f&&p.length>1){const C=p.map(k=>[k.lat,k.lng]);s.polyline(C,{color:"var(--rf-color-primary, #3b82f6)",weight:3,opacity:.7,dashArray:"8, 8"}).addTo(A)}if(d&&y.length>0)try{const C="https://unpkg.com/leaflet.markercluster@1.5.3/dist/leaflet.markercluster-src.js",k="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.css",x="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.Default.css";for(const T of[k,x])if(!t.querySelector(`link[href="${T}"]`)){const $=document.createElement("link");$.rel="stylesheet",$.href=T,r.appendChild($)}await new Promise((T,$)=>{const Q=document.createElement("script");Q.src=C,Q.onload=()=>T(),Q.onerror=$,document.head.appendChild(Q)});const E=s.markerClusterGroup();y.forEach(T=>{T.remove(),E.addLayer(T)}),A.addLayer(E)}catch{}if(!o&&!a&&p.length>1){const C=s.latLngBounds(p.map(k=>[k.lat,k.lng]));A.fitBounds(C,{padding:[30,30]})}this.mapInstance=A}catch(t){console.warn("Map rune: Leaflet failed to load",t)}finally{this.initializing=!1}}}}class wi{static pages=[];static currentUrl="";static designTokens=null;static theme="auto";static themeListeners=[];static onThemeChange(e){return wi.themeListeners.push(e),()=>{wi.themeListeners=wi.themeListeners.filter(t=>t!==e)}}static setTheme(e){wi.theme=e;for(const t of wi.themeListeners)t(e)}}const Hu={tailwind:['<script src="https://cdn.tailwindcss.com"><\/script>','<script>tailwind.config = { darkMode: "class" }<\/script>'],bootstrap:['<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5/dist/css/bootstrap.min.css">'],bulma:['<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1/css/bulma.min.css">'],pico:['<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css">']},Tw={heading:"sans-serif",body:"sans-serif",mono:"monospace",display:"sans-serif",caption:"sans-serif"};class JX extends Gv{iframe=null;messageHandler=null;themeCleanup=null;ancestorObserver=null;_activation="eager";_poster="";_activated=!1;_io=null;_backdrop=!1;_onScreen=!1;_visHandler=null;_content="";_framework="";_dependencies="";_label="Sandbox";_heightAttr="auto";_tokens=null;_localScheme=null;_rfData="";_untrusted=!1;_allowJs=!0;_sandboxOrigin="";connectedCallback(){this._content=this.dataset.sourceContent||OT(this,"source"),this._rfData=this.dataset.rfRecords||"",this._framework=this.dataset.framework||"",this._dependencies=this.dataset.dependencies||"",this._label=this.dataset.label||"Sandbox",this._heightAttr=this.dataset.height||"auto",this._untrusted=this.dataset.securityMode==="untrusted",this._allowJs=this.dataset.allowJs!=="false",this._sandboxOrigin=this.dataset.sandboxOrigin||"";const e=this.dataset.activation;this._activation=e==="visible"||e==="click"?e:"eager",this._poster=this.dataset.poster||"",this._localScheme=this.getAttribute("data-color-scheme");const t=this.dataset.designTokens;if(this._tokens=t?JSON.parse(t):wi.designTokens,this._backdrop=this.dataset.guestPosture==="backdrop",this._backdrop){this.initBackdrop();return}if(this._activation!=="eager"){this.renderPoster();return}this.activate()}effectiveTheme(){const e=this._localScheme?null:this.closest("[data-color-scheme]")?.getAttribute("data-color-scheme");return this._localScheme||e||wi.theme}activate(){if(!this._activated&&(this._activated=!0,this._io&&!this._backdrop&&(this._io.disconnect(),this._io=null),this.buildIframe(this.effectiveTheme()),!this._localScheme)){this.themeCleanup=wi.onThemeChange(t=>{this.closest("[data-color-scheme]")||this.setTheme(t)}),this.ancestorObserver=new MutationObserver(()=>{const r=this.closest("[data-color-scheme]")?.getAttribute("data-color-scheme");this.setTheme(r||wi.theme)});let e=this.parentElement;for(;e;)this.ancestorObserver.observe(e,{attributes:!0,attributeFilter:["data-color-scheme"]}),e=e.parentElement}}renderPoster(){const e=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches,t=document.createElement("div");if(t.className="rf-sandbox__poster",this._heightAttr==="fill"?t.style.height="100%":this._heightAttr!=="auto"&&(t.style.height=`${parseInt(this._heightAttr,10)}px`),this._poster){const i=document.createElement("img");i.className="rf-sandbox__poster-image",i.src=this._poster,i.alt="",i.loading="lazy",t.appendChild(i)}const r=document.createElement("button");r.type="button",r.className="rf-sandbox__activate",r.textContent=`Run ${this._label}`,r.setAttribute("aria-label",`Run ${this._label} sandbox`),r.addEventListener("click",()=>this.activate(),{once:!0}),t.appendChild(r),this.replaceChildren(t),this._activation==="visible"&&!e&&typeof IntersectionObserver<"u"&&(this._io=new IntersectionObserver(i=>{i.some(s=>s.isIntersecting)&&this.activate()},{rootMargin:"200px"}),this._io.observe(this))}initBackdrop(){if(!(typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches)){if(this._visHandler=()=>{document.hidden?this.suspend():this._onScreen&&this.activate()},document.addEventListener("visibilitychange",this._visHandler),typeof IntersectionObserver>"u"){this._onScreen=!0,this.activate();return}this._io=new IntersectionObserver(t=>{this._onScreen=t.some(r=>r.isIntersecting),this._onScreen&&!document.hidden?this.activate():this.suspend()},{rootMargin:"200px"}),this._io.observe(this)}}suspend(){this._activated&&(this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.themeCleanup&&(this.themeCleanup(),this.themeCleanup=null),this.ancestorObserver&&(this.ancestorObserver.disconnect(),this.ancestorObserver=null),this.iframe?.remove(),this.iframe=null,this._activated=!1)}disconnectedCallback(){this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.themeCleanup&&(this.themeCleanup(),this.themeCleanup=null),this.ancestorObserver&&(this.ancestorObserver.disconnect(),this.ancestorObserver=null),this._io&&(this._io.disconnect(),this._io=null),this._visHandler&&(document.removeEventListener("visibilitychange",this._visHandler),this._visHandler=null),this.iframe=null}buildIframe(e){const t=this.iframe?.style.height;this.iframe=document.createElement("iframe");const r=this._untrusted?"allow-scripts":"allow-scripts allow-same-origin";if(this.iframe.setAttribute("sandbox",r),this._untrusted&&this._sandboxOrigin){const o=new URLSearchParams({framework:this._framework,dependencies:this._dependencies,theme:e||"auto",height:this._heightAttr});this.iframe.src=`${this._sandboxOrigin.replace(/\/$/,"")}/render?${o.toString()}`;const a=l=>{l.data?.type==="rf-sandbox-ready"&&l.source===this.iframe?.contentWindow&&(this.iframe.contentWindow.postMessage({type:"rf-sandbox-content",content:this._content,tokens:this._tokens},this._sandboxOrigin),window.removeEventListener("message",a))};window.addEventListener("message",a)}else this.iframe.srcdoc=this.buildSrcdoc(this._content,this._framework,this._dependencies,this._tokens,e,this._rfData);this.iframe.title=this._label,this.iframe.setAttribute("frameborder","0"),this.iframe.loading="lazy";const i=this._heightAttr==="fill"?"100%":t||(this._heightAttr!=="auto"?parseInt(this._heightAttr)+"px":"150px");this.iframe.style.cssText=`width: 100%; border: none; height: ${i};`;const s=this._untrusted?this.buildUntrustedBanner():null;this.messageHandler&&window.removeEventListener("message",this.messageHandler),this._heightAttr==="auto"&&(this.messageHandler=o=>{o.data?.type==="rf-sandbox-resize"&&o.source===this.iframe?.contentWindow&&(this.iframe.style.height=o.data.height+"px")},window.addEventListener("message",this.messageHandler)),s?this.replaceChildren(s,this.iframe):this.replaceChildren(this.iframe)}buildUntrustedBanner(){const e=document.createElement("div");return e.className="rf-sandbox__untrusted-banner",e.setAttribute("role","note"),e.setAttribute("aria-label","Sandboxed user content"),e.textContent="Sandboxed user content — do not enter sensitive information.",e}setTheme(e){this._localScheme||this._activated&&this.buildIframe(e)}buildSrcdoc(e,t,r,i,s,o){const a=this.buildDependencyTags(t,r,i),l=o?`<script type="application/json" id="rf-data">${o.replace(/<\//g,"<\\/")}<\/script>
|
|
337
|
+
`)}function GF(n,e,t,r){const i=n.attributes?.["data-source-path"],s=NF(i??""),o=a=>{if(!Ze.isTag(a)){if(Array.isArray(a)){const u=a.map(o);return u.every((f,d)=>f===a[d])?a:u}return a}const l=a;if(l.attributes?.["data-rune"]==="nav-item"){if(Bc(l))return l;const f=Nc(l);if(!f)return l;const d=zF(f,s,e);if(!d.ok)return t.error(UF(f,i,d.attemptedUrl,d.suggestions),r),l;const m=e.get(d.url)?.title??f,p=new Ze("a",{href:d.url},[m]),O=(l.children??[]).filter(v=>{if(typeof v=="string")return!1;if(Ze.isTag(v)){const b=v;if(b.name==="span"&&b.attributes?.["data-field"]==="slug")return!1}return!0});return{...l,children:[p,...O]}}const c=(l.children??[]).map(o);return c.every((u,f)=>u===l.children[f])?l:{...l,children:c}};return o(n)}function Ng(n,e,t,r){if(!Ze.isTag(n)){if(Array.isArray(n)){const o=n.map(a=>Ng(a,e,t,r));return o.every((a,l)=>a===n[l])?n:o}return n}const i=n;if(i.attributes?.["data-rune"]==="nav")return GF(i,e,t,r);const s=(i.children??[]).map(o=>Ng(o,e,t,r));return s.every((o,a)=>o===i.children[a])?i:{...i,children:s}}function HF(n,e){const t=oc(e),r=s=>{const o=[],a=f=>{if(!Ze.isTag(f)){Array.isArray(f)&&f.forEach(a);return}const d=f;if(d.name==="a"&&typeof d.attributes?.href=="string"){const h=String(d.attributes.href);YF(h)||o.push({tag:d,href:h})}(d.children??[]).forEach(a)};(s.children??[]).forEach(a);let l=null;for(const{tag:f,href:d}of o)if(oc(d)===t){l=f;break}let c=null,u=0;for(const{tag:f,href:d}of o){if(f===l)continue;const h=oc(d);if(h==="/"&&t==="/")continue;h!==t&&(t.startsWith(h+"/")||h==="/"&&t.startsWith("/"))&&h.length>u&&(c=f,u=h.length)}return l&&(l.attributes["aria-current"]="page"),c&&(c.attributes["data-active"]="ancestor"),s},i=s=>{if(!Ze.isTag(s))return Array.isArray(s)&&s.forEach(i),s;const o=s;return o.attributes?.["data-rune"]==="nav"?(r(o),o):((o.children??[]).forEach(i),o)};return i(n),n}function KF(n,e,t){const r=[],i=s=>{if(!Ze.isTag(s)){Array.isArray(s)&&s.forEach(i);return}const o=s;if(o.attributes?.["data-rune"]==="nav"){const a=o.attributes?.layout??o.attributes?.["data-layout"];if(a&&a!=="vertical"){(o.children??[]).forEach(i);return}const l=[],c=u=>{if(!Ze.isTag(u)){Array.isArray(u)&&u.forEach(c);return}const f=u;f.attributes?.["data-rune"]==="nav-group"&&l.push(f),(f.children??[]).forEach(c)};if((o.children??[]).forEach(c),l.length===0){const u=[],f=d=>{if(!Ze.isTag(d)){Array.isArray(d)&&d.forEach(f);return}const h=d;if(h.attributes?.["data-rune"]==="nav-item"){const m=Bc(h);if(m)/^[a-z]+:\/\//i.test(m)||u.push(m);else{const p=Nc(h);if(p){const O=Ic(p,e,t);O&&u.push(O)}}}(h.children??[]).forEach(f)};(o.children??[]).forEach(f),u.length>0&&r.push(u)}else for(const u of l){const f=[],d=h=>{if(!Ze.isTag(h)){Array.isArray(h)&&h.forEach(d);return}const m=h;if(m.attributes?.["data-rune"]==="nav-item"){const p=Bc(m);if(p)/^[a-z]+:\/\//i.test(p)||f.push(p);else{const O=Nc(m);if(O){const v=Ic(O,e,t);v&&f.push(v)}}}(m.children??[]).forEach(d)};(u.children??[]).forEach(d),f.length>0&&r.push(f)}}(o.children??[]).forEach(i)};return i(n),r}function JF(n,e,t){const r=e.get(n);if(!r)return[];const i=Array.from(e.values());let s;if(t==="section"){let o=n,a=r;for(;a&&a.parentUrl&&a.parentUrl!=="/";){const c=e.get(a.parentUrl);if(!c)break;o=c.url,a=c}const l=o.endsWith("/")?o:o+"/";s=i.filter(c=>c.url===o||c.url.startsWith(l))}else s=i.filter(o=>o.parentUrl===r.parentUrl);return s.sort((o,a)=>{const l=o.order??Number.POSITIVE_INFINITY,c=a.order??Number.POSITIVE_INFINITY;return l!==c?l-c:o.url.localeCompare(a.url)}),s.map(o=>({url:o.url,title:o.title}))}function eX(n,e,t){const r=n.indexOf(e);if(r===-1)return{prev:null,next:null};const i=r>0?n[r-1]:null,s=r<n.length-1?n[r+1]:null,o=a=>{if(!a)return null;const l=t.get(a);return l?{url:l.url,title:l.title}:{url:a,title:a}};return{prev:o(i),next:o(s)}}function bw(n,e,t){const r=e==="prev"?"←":"→",i=t??n.title,s=e==="prev"?[new Ze("span",{"data-name":"marker"},[r]),new Ze("span",{"data-name":"label"},[i])]:[new Ze("span",{"data-name":"label"},[i]),new Ze("span",{"data-name":"marker"},[r])];return new Ze("a",{href:n.url,"data-direction":e,"data-name":e},s)}function Bg(n,e,t,r){if(!Ze.isTag(n)){if(Array.isArray(n)){const o=n.map(a=>Bg(a,e,t,r));return o.every((a,l)=>a===n[l])?n:o}return n}const i=n;if(i.attributes?.["data-rune"]==="pagination"){if((i.children??[]).some(l=>Ze.isTag(l)&&l.attributes?.["data-field"]===gg)){const l=(i.children??[]).find(S=>Ze.isTag(S)&&S.attributes?.["data-field"]==="scope"),u=String(l?l.attributes?.content??"":i.attributes?.["data-scope"]??"")==="section"?"section":"siblings",f=(i.children??[]).find(S=>Ze.isTag(S)&&S.attributes?.["data-field"]==="prev-label"),d=(i.children??[]).find(S=>Ze.isTag(S)&&S.attributes?.["data-field"]==="next-label"),h=f?String(f.attributes.content??""):void 0,m=d?String(d.attributes.content??""):void 0;if(Array.from(t.values()).some(S=>S.parentUrl===e&&S.url!==e))return{...i,children:[]};let O=null;const v=KF(r,t,e);for(const S of v)if(S.includes(e)){O=S;break}let b=null,_=null;if(O)({prev:b,next:_}=eX(O,e,t));else{const S=JF(e,t,u),C=S.findIndex(k=>k.url===e);C!==-1&&(b=C>0?S[C-1]:null,_=C<S.length-1?S[C+1]:null)}const A=[];b&&A.push(bw(b,"prev",h)),_&&A.push(bw(_,"next",m));const w=new Set([gg,"prev-label","next-label","scope"]),y=(i.children??[]).filter(S=>{if(!Ze.isTag(S)||S.name!=="meta")return!0;const C=S.attributes?.["data-field"];return!w.has(C)});return{...i,children:[...y,...A]}}const a=(i.children??[]).map(l=>{if(!Ze.isTag(l))return l;if(l.name==="a"&&typeof l.attributes?.href=="string"&&l.attributes.href.startsWith("__slug:")){const c=l.attributes.href.slice(7),u=Ic(c,t,e);if(u){const d=t.get(u)?.title??c,h=(l.children??[]).map(m=>Ze.isTag(m)&&m.attributes?.["data-name"]==="label"&&(m.children??[]).filter(O=>typeof O=="string").join("")===c?{...m,children:[d]}:m);return{...l,attributes:{...l.attributes,href:u},children:h}}}return l});return{...i,children:a}}const s=(i.children??[]).map(o=>Bg(o,e,t,r));return s.every((o,a)=>o===i.children[a])?i:{...i,children:s}}function jg(n,e){if(Ze.isTag(n)){const t=e(n);if(t!==n)return t;const r=n.children.map(s=>jg(s,e));return r.some((s,o)=>s!==n.children[o])?new Ze(n.name,n.attributes,r):n}return Array.isArray(n)?n.map(t=>jg(t,e)):n}function tX(n){let e=n.trim();return e.startsWith("/")||(e="/"+e),e.endsWith("/")||(e+="/"),e}function nX(n,e){return n.startsWith(e)?n.slice(e.length).replace(/\/$/,"").split("/").filter(Boolean).length===1:!1}function rX(n){return!n||!n.trim()?[]:n.split(",").map(e=>{const t=e.indexOf(":");return t===-1?{field:e.trim(),value:""}:{field:e.slice(0,t).trim(),value:e.slice(t+1).trim()}})}function iX(n,e){for(const{field:t,value:r}of e){const i=n.frontmatter[t];if(r===""){if(i==null)return!1}else if(Array.isArray(i)){if(!i.some(s=>String(s).toLowerCase()===r.toLowerCase()))return!1}else if(String(i??"").toLowerCase()!==r.toLowerCase())return!1}return!0}function sX(n,e){const t=[...n];switch(e){case"date-asc":t.sort((r,i)=>(r.date||"").localeCompare(i.date||""));break;case"title-asc":t.sort((r,i)=>r.title.localeCompare(i.title));break;case"title-desc":t.sort((r,i)=>i.title.localeCompare(r.title));break;default:t.sort((r,i)=>(i.date||"").localeCompare(r.date||""));break}return t}function oX(n){const t=[new Ze("h3",{},[new Ze("a",{href:n.url},[n.title])])];return n.date&&t.push(new Ze("time",{datetime:n.date},[n.date])),n.description&&t.push(new Ze("p",{},[n.description])),new Ze("article",{"data-name":"post"},t)}function aX(n,e,t,r){let i=!1;const s=jg(n,o=>{if(o.attributes["data-rune"]!=="blog")return o;const a=Po(o,"folder")??"",l=Po(o,"sort")||"date-desc",c=Po(o,"filter")??"",u=Po(o,"limit")??"",f=u?parseInt(u,10):void 0;if(!a)return t.warn("Blog rune missing folder attribute",r),o;const d=tX(a),h=rX(c);let m=e.filter(_=>!(_.draft||!nX(_.url,d)||h.length>0&&!iX(_,h)));m=sX(m,l),f&&f>0&&(m=m.slice(0,f));const p=o.children.find(_=>Ze.isTag(_)&&_.attributes["data-name"]==="posts");if(!Ze.isTag(p))return o;const O=m.map(oX);i=!0;const v=new Ze(p.name,p.attributes,O),b=o.children.map(_=>_===p?v:_);return new Ze(o.name,o.attributes,b)});return i?s:n}const lX=new Set(["layout","tint","tint-mode","tint-lock","slug","redirect","type","id"]);function cX(n={}){const e=n.xrefPatterns??[],t=n.embedConfig,r=n.repoUrl,i=n.repoBranch;return{preprocess:OF,register(s,o,a){for(const l of s){const c=DF(l.url),u=o.getById("page",l.url);u&&u.sourceUrl!==l.url&&a.warn(`Page '${l.url}' already registered from '${u.sourceUrl}'`,l.url);const f={};for(const[d,h]of Object.entries(l.frontmatter))lX.has(d)||(f[d]=h);o.register({type:"page",id:l.url,sourceUrl:l.url,data:{...f,title:l.title,url:l.url,parentUrl:c,draft:l.frontmatter.draft??!1,description:l.frontmatter.description,date:l.frontmatter.date,order:l.frontmatter.order,icon:l.frontmatter.icon}});for(const d of l.headings){const h=`${l.url}#${d.id}`,m=o.getById("heading",h);m&&m.sourceUrl!==l.url&&a.warn(`Heading '${h}' already registered from '${m.sourceUrl}'`,l.url),o.register({type:"heading",id:h,sourceUrl:l.url,data:{level:d.level,text:d.text,headingId:d.id,url:l.url}})}}DZ(s,o,a)},aggregate(s,o){const a=s.getAll("page"),l=a.map(m=>({url:m.data.url,title:m.data.title,parentUrl:m.data.parentUrl,description:m.data.description,icon:m.data.icon,order:m.data.order})),c=MF(l),u=qF(l),f=new Map(l.map(m=>[m.url,m])),d=new Map;for(const m of s.getAll("heading"))d.set(m.id,m.data);const h=a.map(m=>({title:m.data.title||"",url:m.data.url||m.id,date:m.data.date||"",description:m.data.description||"",draft:m.data.draft||!1,frontmatter:m.data}));return{pageTree:c,breadcrumbPaths:u,pagesByUrl:f,headingIndex:d,allPosts:h,registry:s,xrefPatterns:e,embedConfig:t,repoUrl:r,repoBranch:i}},postProcess(s,o,a){const l=o.__core__;if(!l)return s;let c=Dg(s.renderable,s.url,l.breadcrumbPaths,l.pagesByUrl,a);c=Rg(c,s.url,l.pagesByUrl,a),c=Ng(c,l.pagesByUrl,a,s.url),c=yf(c,s.url,l.pagesByUrl),c=Ig(c,s.url,l.pagesByUrl),c=Bg(c,s.url,l.pagesByUrl,c),c=HF(c,s.url),c=aX(c,l.allPosts,a,s.url),c=IZ(c),c=GZ(c,s.url,l.repoUrl,l.repoBranch,a),c=e7(c,s.url,l.registry,a),c=BZ(c,s.url,l.registry,l.embedConfig?.projectRoot,a),c=SF(c,s.url,l.registry,l.xrefPatterns??[],l.embedConfig,a),c=B7(c,s.url,l.registry,l.embedConfig,a),c=V7(c,s.url,l.registry,l.embedConfig,a),c=H7(c,s.url,l.registry,l.embedConfig,a),c=Sg(c,l.registry,a,s.url),c=mF(c,s.url,l.registry,l.xrefPatterns??[],a);const u=bF(c===s.renderable?s:{...s,renderable:c});wF(u.renderable);const f=_F(u.renderable);return f.length>0||u.headings.length>0?{...u,headings:f}:u}}}cX();const uX={nav:Ue({name:"nav",schema:v8,description:"Navigation structure with page slug references and optional grouping",typeName:"Nav",category:"Site",snippet:["{% nav %}","## ${1:Section}","","- ${2:page-slug}","- ${3:another-page}","{% /nav %}"]}),region:Ue({name:"region",schema:w8,description:"Named content block within a layout definition",snippet:['{% region name="${1:header}" %}',"$0","{% /region %}"]}),layout:Ue({name:"layout",schema:k8,description:"Layout definition containing named regions",category:"Site",snippet:["{% layout %}",'{% region name="${1:header}" %}',"$0","{% /region %}","{% /layout %}"]}),codegroup:Ue({name:"codegroup",schema:J6,description:"Tabbed code block with language tabs",typeName:"CodeGroup",category:"Code & Data",snippet:["{% codegroup %}","```${1:js}","$0","```","","```${2:ts}","","```","{% /codegroup %}"]}),error:Ue({name:"error",schema:N6,description:"Error reporting table",typeName:"Error",category:"Semantic"}),grid:Ue({name:"grid",aliases:["columns"],schema:W6,description:"Grid layout container with configurable columns and rows",typeName:"Grid",category:"Layout",snippet:["{% grid columns=${1:2} %}","${2:First column content}","","---","","${3:Second column content}","{% /grid %}"]}),hint:Ue({name:"hint",aliases:["callout","alert"],schema:r8,description:"Callout/admonition block with type variants (note, warning, caution, check)",typeName:"Hint",category:"Content",snippet:['{% hint type="${1|note,warning,caution,check|}" %}',"$0","{% /hint %}"]}),tab:Ue({name:"tab",schema:u8,description:"Individual tab within a tab group",typeName:"Tab"}),tabs:Ue({name:"tabs",schema:d8,description:"Tabbed interface with tab panels",typeName:"TabGroup",category:"Layout",snippet:["{% tabs %}","## ${1:Tab One}","","${2:Content for tab one.}","","## ${3:Tab Two}","","${4:Content for tab two.}","{% /tabs %}"]}),details:Ue({name:"details",schema:S8,description:"Collapsible disclosure block for supplementary content",typeName:"Details",category:"Content",snippet:['{% details summary="${1:Click to expand}" %}',"$0","{% /details %}"]}),drawer:Ue({name:"drawer",schema:P8,description:"Modal side panel addressed by id. Triggered by xrefs anywhere on the page; falls back to in-flow rendering without JS.",typeName:"Drawer",category:"Layout",snippet:['{% drawer id="${1:auth-explainer}" title="${2:Auth system}" %}',"$0","{% /drawer %}"]}),figure:Ue({name:"figure",schema:Q8,description:"Enhanced image with caption, attribution, and sizing",seoType:"ImageObject",typeName:"Figure",schemaOrgType:"ImageObject",category:"Content",snippet:['{% figure size="${1|medium,small,large,full|}" %}',"","","${4:Caption text}","{% /figure %}"]}),gallery:Ue({name:"gallery",schema:M8,description:"Multi-image container with grid, carousel, or masonry layout and optional lightbox",seoType:"ImageGallery",typeName:"Gallery",schemaOrgType:"ImageGallery",category:"Content",snippet:['{% gallery layout="${1|grid,carousel,masonry|}" %}',"","","","{% /gallery %}"]}),accordion:Ue({name:"accordion",aliases:["faq"],schema:D8,description:"Collapsible accordion sections where headings become toggleable headers",seoType:"FAQPage",typeName:"Accordion",schemaOrgType:"FAQPage",category:"Layout",snippet:["{% accordion %}","## ${1:First Question}","","${2:Answer to the first question.}","","## ${3:Second Question}","","${4:Answer to the second question.}","{% /accordion %}"]}),"accordion-item":Ue({name:"accordion-item",schema:q8,description:"Individual accordion section",typeName:"AccordionItem",schemaOrgType:"Question"}),toc:Ue({name:"toc",aliases:["table-of-contents"],schema:R8,description:"Auto-generated table of contents from document headings",typeName:"TableOfContents",category:"Site",snippet:["{% toc /%}"]}),embed:Ue({name:"embed",schema:B8,description:"Embedded content from external services (YouTube, Twitter, CodePen, Spotify)",seoType:"VideoObject",typeName:"Embed",schemaOrgType:"VideoObject",category:"Content",snippet:['{% embed url="${1:https://}" /%}']}),breadcrumb:Ue({name:"breadcrumb",schema:j8,description:"Navigation breadcrumb trail showing page hierarchy",seoType:"BreadcrumbList",typeName:"Breadcrumb",schemaOrgType:"BreadcrumbList",category:"Site",snippet:["{% breadcrumb /%}"]}),pagination:Ue({name:"pagination",schema:z8,description:"Sequential prev/next links for ordered docs and tutorials",typeName:"Pagination",category:"Site",snippet:["{% pagination auto /%}"]}),budget:Ue({name:"budget",schema:n9,description:"Structured cost breakdown with categories, line items, and auto-calculated totals",seoType:"ItemList",typeName:"Budget",schemaOrgType:"ItemList",category:"Semantic",snippet:["{% budget %}","## ${1:Category}","","- ${2:Item description}: \\$${3:100}","- ${4:Another item}: \\$${5:200}","{% /budget %}"]}),"budget-category":Ue({name:"budget-category",schema:J8,description:"Cost category within a budget containing line items",typeName:"BudgetCategory"}),"budget-line-item":Ue({name:"budget-line-item",schema:G8,description:"Individual budget line item with description and amount",typeName:"BudgetLineItem"}),compare:Ue({name:"compare",schema:i9,description:"Side-by-side code comparison with labeled panels",typeName:"Compare",category:"Code & Data",snippet:["{% compare %}","```${1:js}","${2:// Before}","```","","```${3:js}","${4:// After}","```","{% /compare %}"]}),datatable:Ue({name:"datatable",aliases:["data-table"],schema:s9,description:"Interactive data table with sorting, filtering, and pagination from a Markdown table",seoType:"Dataset",typeName:"DataTable",schemaOrgType:"Dataset",category:"Code & Data",snippet:["{% datatable %}","| ${1:Column A} | ${2:Column B} | ${3:Column C} |","|---|---|---|","| ${4:Data} | ${5:Data} | ${6:Data} |","{% /datatable %}"]}),diff:Ue({name:"diff",schema:h9,description:"Side-by-side or unified diff view between two code blocks",typeName:"Diff",category:"Code & Data",snippet:["{% diff %}","```${1:js}","${2:// Before}","```","","```${3:js}","${4:// After}","```","{% /diff %}"]}),snippet:Ue({name:"snippet",schema:e8,description:"Embed a project file as a syntax-highlighted code block. Composes inside codegroup, diff, and any future fence-consuming rune via pre-resolve (SPEC-062).",typeName:"Snippet",category:"Code & Data",snippet:['{% snippet path="${1:src/lib/foo.ts}" /%}']}),chart:Ue({name:"chart",schema:g9,description:"Chart visualization from a Markdown table. First column becomes axis labels, header row becomes series names.",typeName:"Chart",category:"Code & Data",snippet:['{% chart type="${1|bar,line,pie,area|}" %}',"| ${2:Label} | ${3:Series A} | ${4:Series B} |","|---|---|---|","| ${5:Item 1} | ${6:10} | ${7:20} |","| ${8:Item 2} | ${9:30} | ${10:15} |","{% /chart %}"]}),diagram:Ue({name:"diagram",schema:v9,description:"Diagram rendering from Mermaid, PlantUML, or ASCII art code blocks",typeName:"Diagram",category:"Code & Data",snippet:['{% diagram language="${1|mermaid,plantuml,ascii|}" %}',"```${1:mermaid}","$0","```","{% /diagram %}"]}),sidenote:Ue({name:"sidenote",aliases:["footnote","marginnote"],schema:w9,description:"Margin note or footnote displayed alongside the main content",typeName:"Sidenote",category:"Content",snippet:["{% sidenote %}","$0","{% /sidenote %}"]}),conversation:Ue({name:"conversation",aliases:["dialogue","chat"],schema:x9,description:"Chat/dialogue display where blockquotes become alternating speaker messages",typeName:"Conversation",category:"Semantic",snippet:["{% conversation %}","> **${1:Alice}**: ${2:Hello!}","","> **${3:Bob}**: ${4:Hi there!}","{% /conversation %}"]}),"conversation-message":Ue({name:"conversation-message",schema:_9,description:"Individual message within a conversation",typeName:"ConversationMessage"}),reveal:Ue({name:"reveal",schema:C9,description:"Progressive disclosure where headings become reveal steps shown one at a time",typeName:"Reveal",category:"Layout",snippet:["{% reveal %}","## ${1:Step One}","","${2:Content revealed first.}","","## ${3:Step Two}","","${4:Content revealed next.}","{% /reveal %}"]}),"reveal-step":Ue({name:"reveal-step",schema:A9,description:"Individual step within a reveal sequence",typeName:"RevealStep"}),section:Ue({name:"section",schema:E9,description:"A generic page section: an eyebrow/headline/blurb header above arbitrary body content",typeName:"Section",category:"Layout",snippet:["{% section %}","Eyebrow","","## ${1:Section title}","","${2:A short supporting blurb.}","","${3:Body content — a bento, cards, anything.}","{% /section %}"]}),juxtapose:Ue({name:"juxtapose",schema:L9,description:"Side-by-side comparison with interactive reveal (slider, toggle, fade, or auto)",typeName:"Juxtapose",category:"Layout"}),annotate:Ue({name:"annotate",schema:R9,description:"Content with margin annotations. Nested note tags appear as margin notes alongside the main text.",typeName:"Annotate",category:"Layout",snippet:["{% annotate %}","${1:Main content here.}","","{% note %}","${2:Margin note content.}","{% /note %}","","${3:More main content.}","{% /annotate %}"]}),note:Ue({name:"note",schema:q9,description:"Annotation note within an annotate block",typeName:"AnnotateNote"}),form:Ue({name:"form",aliases:["contact-form"],schema:W9,description:"Accessible HTML form from Markdown. Lists become input fields with smart type inference, blockquotes followed by lists become select/radio/checkbox groups.",typeName:"Form",category:"Content",snippet:['{% form action="${1:/api/contact}" %}',"- Name","- Email","- Message","","**${2:Submit}**","{% /form %}"]}),"form-field":Ue({name:"form-field",schema:X9,description:"Individual form field with inferred type",typeName:"FormField"}),sandbox:Ue({name:"sandbox",schema:J9,description:"Isolated HTML/CSS/JS rendering in an iframe with optional framework loading",typeName:"Sandbox",category:"Code & Data",snippet:['{% sandbox framework="${1|,tailwind,bootstrap,bulma,pico|}" %}',"$0","{% /sandbox %}"]}),pullquote:Ue({name:"pullquote",aliases:["pull-quote"],schema:rZ,description:"Decorative pull quote for magazine-style emphasis with float and block modes",typeName:"PullQuote",category:"Content",snippet:['{% pullquote variant="${1|default,accent,editorial|}" %}',"> ${2:Quote text to emphasize.}","{% /pullquote %}"]}),textblock:Ue({name:"textblock",aliases:["text-block","prose"],schema:sZ,description:"Text formatting block with drop caps, multi-column layout, lead paragraphs, and alignment control",typeName:"TextBlock",category:"Content",snippet:["{% textblock dropcap %}","${1:Formatted text content with drop cap styling.}","{% /textblock %}"]}),mediatext:Ue({name:"mediatext",aliases:["media-text"],schema:lZ,description:"Image and text side by side with configurable ratio and optional text wrapping",typeName:"MediaText",category:"Layout",snippet:['{% mediatext align="${1|left,right|}" ratio="${2|1:1,1:2,2:1|}" %}',"","","${5:Text content displayed alongside the image.}","{% /mediatext %}"]}),icon:Ue({name:"icon",schema:eZ,description:"Inline icon resolved by name from the theme icon registry. Self-closing.",category:"Content",snippet:['{% icon name="${1:icon-name}" /%}']}),tint:Ue({name:"tint",schema:dZ,description:"Section-level colour override via CSS custom properties. Declared as first child of a block rune.",typeName:"Tint",snippet:["{% tint %}","- background: ${1:#1a1a2e}","- primary: ${2:#e94560}","- accent: ${3:#0f3460}","{% /tint %}"]}),showcase:Ue({name:"showcase",schema:gZ,description:"Media presentation wrapper with shadow, bleed displacement, and aspect ratio enforcement",typeName:"Showcase",category:"Layout",snippet:['{% showcase shadow="${1|none,soft,hard,elevated|}" %}',"$0","{% /showcase %}"]}),bg:Ue({name:"bg",schema:bZ,description:"Background image/video directive — modifies parent section backdrop",typeName:"Bg",snippet:['{% bg src="${1:/path/to/image.jpg}" overlay="${2:rgba(0,0,0,0.5)}" /%}']}),blog:Ue({name:"blog",schema:_Z,description:"Blog post listing with filtering, sorting, and multiple layouts. Displays pages from a content folder as a navigable blog index.",seoType:"Blog",typeName:"Blog",schemaOrgType:"Blog",category:"Semantic"}),xref:Ue({name:"xref",aliases:["ref"],schema:xZ,description:"Inline cross-reference that resolves an entity by ID or name from the registry. Self-closing."}),expand:Ue({name:"expand",schema:AZ,description:"Substitute a registered entity's source content inline. Reads the entity's sourceFile via the plan plugin (or any plugin that registers extractable entities) and inlines it. Symmetric with `xref`: same lookup chain, different output (content rather than a link).",typeName:"Expand",category:"Content",snippet:['{% expand "${1:SPEC-001}" /%}']}),badge:Ue({name:"badge",schema:u7,description:"Inline pill that flags a piece of content (status, category, recency, tag). Visual variant from the universal metadata-system dimensions (sentiment, rank, type).",typeName:"Badge",category:"Content",snippet:['{% badge sentiment="${1|positive,negative,caution,neutral|}" %}',"${2:Label}","{% /badge %}"]}),bar:Ue({name:"bar",schema:d7,description:'Block-level wrapper that renders the SPEC-080 `bar` layout primitive (a horizontal flex row) over author-written content. Body splits on a top-level `---` into a left group and a right group; the right group is pushed to the end via `data-align="end"`. Position-agnostic.',typeName:"Bar",category:"Content",snippet:["{% bar %}","${1:Left side}","---","${2:Right side}","{% /bar %}"]}),deflist:Ue({name:"deflist",aliases:["definitions","terms"],schema:p7,description:"Block-level wrapper that renders the SPEC-079 definition-list layout primitive over a markdown list. Each `- **Term:** value` item becomes a <dt>/<dd> pair. Inline runes compose naturally inside <dd>.",typeName:"Deflist",category:"Content",snippet:["{% deflist %}","- **${1:Term}:** ${2:Value}","- **${3:Term}:** ${4:Value}","{% /deflist %}"]}),collection:Ue({name:"collection",schema:TZ,description:"Render a list, grid, or table of registry entities — the plural counterpart to ref/expand. Queries the registry by type with a field:value filter, sort, group, and limit; projects fields into a built-in layout or a per-item body template ($item bound).",typeName:"Collection",category:"Content",snippet:['{% collection type="${1:work}" filter="${2:status:ready}" sort="${3:priority}" /%}']}),relationships:Ue({name:"relationships",schema:PZ,description:"Render an entity's relationship edges, grouped by kind — the plural-graph counterpart to ref/expand. Reads the registry relationship graph for `of` (an id, e.g. of=$item.id); each item is a related entity with its edge $kind bound. Generic over kind, so it serves any domain (plan, storytelling, …).",typeName:"Relationships",category:"Content",snippet:['{% relationships of="${1:WORK-1}" /%}']}),aggregate:Ue({name:"aggregate",schema:$Z,description:'Project numbers — counts (and per-group breakdowns) over the registry — beside collection (items) and relationships (edges). Two modes: a no-body inline integer (`{% aggregate type="work" filter="status:done" /%}`) or a body-zoned form whose preamble / template / fallback zones bind `$item` to a totals / per-group / zeros projection. Use the optional `value` sub-filter (e.g. `value="status:done"`) to drive a progress-bar ratio without a second query.',typeName:"Aggregate",category:"Content",snippet:['{% aggregate type="${1:work}" filter="${2:status:done}" /%}']}),"file-ref":Ue({name:"file-ref",schema:QZ,description:'Path-based inline reference to a project file — third member of the Registry family beside `xref` (id → link) and `expand` (id → inlined content). Resolves to a deep-link `<a>` pointing at `{repoUrl}/blob/{repoBranch}/{path}#L{start}-L{end}` on GitHub. With `preview="drawer"`, hoists a drawer containing the file\'s snippet and a "View source on GitHub →" footer link, leaving an inline link at the call site that opens it.',typeName:"FileRef",category:"Content",snippet:['{% file-ref path="${1:packages/types/src/token-contract.ts}" lines="${2:42-58}" label="${3:ThemeTokensConfig}" /%}']}),progress:Ue({name:"progress",schema:s7,description:"A generic completion bar. Renders a ratio from supplied numbers — value+max (or percent) — with an optional body label; computes nothing itself. Feed it an aggregate (e.g. value=$item.data.progressDone max=$item.data.progressTotal).",typeName:"Progress",category:"Content",snippet:['{% progress value="${1:3}" max="${2:10}" /%}']}),card:Ue({name:"card",schema:o7,description:"A generic, self-contained content card. The body splits on `---` into [media] / body / [footer]: the media zone holds any content (image, codegroup, sandbox, …) and lays out beside the body on wide screens / as a full-bleed header on mobile; the footer is a muted meta row. Optional `href` makes the whole card a link. Knows nothing about the registry — usable standalone or inside a collection body template.",typeName:"Card",category:"Content",snippet:['{% card href="${1:/posts/slug/}" %}',"### ${2:Title}","${3:A short summary.}","{% /card %}"]})},yw={...O7(uX),link:_C,...B.tags},fX={heading:nz,paragraph:rz,fence:iz,list:sz,item:oz,em:az,strong:lz,text:cz,link:_C,hardbreak:uz,image:fz,table:dz,thead:B.nodes.thead,tbody:B.nodes.tbody,th:B.nodes.th,tr:B.nodes.tr,error:B.nodes.error},dX=new Set(["nav","nav-group","nav-item"]);function hX(n,e,t){const r={...n.runes};for(const[i,s]of Object.entries(LF.runes)){if(!r[i])continue;const o={};s.postTransform&&(o.postTransform=s.postTransform),s.styles&&(o.styles=s.styles),Object.keys(o).length&&(r[i]={...r[i],...o})}if(e)for(const[i,s]of Object.entries(e))r[i]&&(r[i]={...r[i],postTransform:s});if(t)for(const[i,s]of Object.entries(t))r[i]&&(r[i]={...r[i],styles:s});return{...n,runes:r}}function mT(n,e,t,r,i,s,o){const a=B.parse(n),l=hX(e,i,o),c=r?{...yw,...r}:yw,u=B.transform(a,{tags:c,nodes:fX,variables:{__source:n,__icons:l.icons}});let f=oF(u);s&&(f=zg(f,s));const d=gT(f);let m=Nz(l)(f);return t&&(m=t(m)),{html:b6(m),isComponent:d}}function gT(n){return n==null||typeof n=="string"||typeof n=="number"?!1:Array.isArray(n)?n.some(gT):"attributes"in n&&n.attributes?.["data-rune"]?dX.has(n.attributes["data-rune"]):!1}function zg(n,e){if(n==null||typeof n=="string"||typeof n=="number")return n;if(Array.isArray(n))return n.map(r=>zg(r,e));const t=n;if(t.attributes?.["data-rune"]==="sandbox"){const i=e.design?.contexts??{},o=t.children?.find(l=>l?.attributes?.["data-field"]==="context")?.attributes?.content??"default",a=i[o];if(a){const l={$$mdtype:"Tag",name:"meta",attributes:{"data-field":"design-tokens",content:JSON.stringify(a)},children:[]};return{...t,children:[...t.children??[],l]}}}if(t.children?.length){const r=t.children.map(i=>zg(i,e));return{...t,children:r}}return t}function pX(n){return n.hasAttribute("x-data")||n.hasAttribute("data-controller")}let mX=0;function no(n){return`${n}-${++mX}`}const gX="http://www.w3.org/2000/svg",ww='<rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>',OX='<polyline points="20 6 9 17 4 12"/>';function qp(n){const e=document.createElementNS(gX,"svg");return e.setAttribute("width","16"),e.setAttribute("height","16"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("fill","none"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.innerHTML=n,e}function vX(n){const e=n.getAttribute("data-copy-selector");if(e){const t=n.querySelectorAll(e);return Array.from(t).map(r=>r.textContent??"").join(`
|
|
338
|
+
`)}return n.textContent??""}function bX(n){const e=n.querySelectorAll("pre"),t=[];for(const r of e){const i=r.parentElement;if(i?.classList.contains("rf-codeblock")&&i.querySelector(":scope > .rf-codeblock__copy"))continue;const s=document.createElement("button");s.className="rf-codeblock__copy",s.type="button",s.setAttribute("aria-label","Copy code"),s.appendChild(qp(ww));let o;const a=()=>{const c=vX(r);navigator.clipboard.writeText(c).then(()=>{s.innerHTML="",s.appendChild(qp(OX)),s.setAttribute("aria-label","Copied"),s.classList.add("rf-codeblock__copy--copied"),o&&clearTimeout(o),o=setTimeout(()=>{s.innerHTML="",s.appendChild(qp(ww)),s.setAttribute("aria-label","Copy code"),s.classList.remove("rf-codeblock__copy--copied")},2e3)})};s.addEventListener("click",a);const l=r.parentElement?.classList.contains("rf-codeblock")?r.parentElement:null;if(l)l.appendChild(s),t.push(()=>{s.removeEventListener("click",a),o&&clearTimeout(o),s.remove()});else{const c=document.createElement("div");c.className="rf-codeblock",r.parentNode?.insertBefore(c,r),c.appendChild(r),c.appendChild(s),t.push(()=>{s.removeEventListener("click",a),o&&clearTimeout(o),c.parentNode?.insertBefore(r,c),c.remove()})}}return()=>t.forEach(r=>r())}function _w(n){const e=Array.from(n.querySelectorAll("details"));if(e.length===0)return()=>{};const t=n.hasAttribute("data-multiple"),r=[];for(const o of e){const a=o.querySelector("summary");if(!a)continue;const l=no("rf-accordion-panel"),c=no("rf-accordion-trigger");a.id=c,a.setAttribute("aria-expanded",String(o.open)),o.setAttribute("data-state",o.open?"open":"closed"),a.setAttribute("data-state",o.open?"active":"inactive");const u=Array.from(o.children).find(d=>d instanceof HTMLElement&&d.tagName!=="SUMMARY");u&&(u.id=l,u.setAttribute("role","region"),u.setAttribute("aria-labelledby",c),a.setAttribute("aria-controls",l));const f=()=>{if(a.setAttribute("aria-expanded",String(o.open)),o.setAttribute("data-state",o.open?"open":"closed"),a.setAttribute("data-state",o.open?"active":"inactive"),!t&&o.open){for(const d of e)if(d!==o&&d.open){d.open=!1;const h=d.querySelector("summary");h?.setAttribute("aria-expanded","false"),d.setAttribute("data-state","closed"),h?.setAttribute("data-state","inactive")}}};o.addEventListener("toggle",f),r.push(()=>o.removeEventListener("toggle",f))}const i=e.map(o=>o.querySelector("summary")).filter(o=>o!==null),s=o=>{const a=o.target,l=i.indexOf(a);if(l===-1)return;let c=null;switch(o.key){case"ArrowDown":c=(l+1)%i.length;break;case"ArrowUp":c=(l-1+i.length)%i.length;break;case"Home":c=0;break;case"End":c=i.length-1;break;default:return}c!==null&&(o.preventDefault(),i[c].focus())};return n.addEventListener("keydown",s),r.push(()=>n.removeEventListener("keydown",s)),()=>r.forEach(o=>o())}const il=new Map,kw=new WeakSet;function yX(n){let e=il.get(n);return e||(e=new Map,il.set(n,e)),e}function wX(n){const e=n.split("+").map(i=>i.trim().toLowerCase()).filter(Boolean);if(e.length===0)return null;const t=e[e.length-1];if(!t)return null;const r=new Set(e.slice(0,-1));return{key:t,cmd:r.has("cmd")||r.has("meta"),ctrl:r.has("ctrl")||r.has("control"),alt:r.has("alt")||r.has("option"),shift:r.has("shift")}}function _X(n,e){if(e.key.toLowerCase()!==n.key)return!1;const t=e.metaKey||e.ctrlKey,r=n.cmd||n.ctrl;return!(r&&!t||!r&&t||n.alt!==e.altKey||n.shift!==e.shiftKey)}function kX(n){const e=n.activeElement;if(!e)return!1;const t=e.tagName;return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||e.isContentEditable)}function xX(n){const e=n.ownerDocument;if(!e||!e.defaultView)return()=>{};const t=e.defaultView,r=n instanceof t.HTMLDialogElement?n:SX(n);if(!r)return()=>{};const i=r.id;if(!i)return()=>{};const s=r.querySelector(".rf-drawer__close");s&&(s.hidden=!1);const o=r.getAttribute("data-shortcut")??void 0,a=o?wX(o)??void 0:void 0,l=yX(e);if(l.has(i))return()=>{};if(a)for(const O of l.values())O.shortcut&&Sw(O.shortcut)===Sw(a)&&console.warn(`[refrakt drawer] shortcut "${o}" is registered by drawers "${O.id}" and "${i}"; the later one wins.`);l.set(i,{dialog:r,id:i,shortcut:a});const c=[],u=`#${i}`,f=O=>{O.preventDefault(),Zg(r)},d=[];if(e.querySelectorAll('a[data-target-type="drawer"]').forEach(O=>{const v=O.getAttribute("href")??"";(v===u||v.endsWith(u))&&(O.addEventListener("click",f),d.push(O))}),c.push(()=>{for(const O of d)O.removeEventListener("click",f)}),s){const O=()=>wf(r);s.addEventListener("click",O),c.push(()=>s.removeEventListener("click",O))}const h=O=>{O.target===r&&wf(r)};r.addEventListener("click",h),c.push(()=>r.removeEventListener("click",h));const m=O=>{O.preventDefault(),wf(r)};r.addEventListener("cancel",m),c.push(()=>r.removeEventListener("cancel",m));const p=()=>{r.setAttribute("data-state","closed"),t.location.hash===u&&t.history.replaceState(null,"",t.location.pathname+t.location.search),xw(e)};return r.addEventListener("close",p),c.push(()=>r.removeEventListener("close",p)),t.location.hash===u&&t.queueMicrotask(()=>{r.open||Zg(r)}),kw.has(e)||(kw.add(e),TX(e)),()=>{for(const O of c)O();l.delete(i),xw(e)}}function SX(n){const e=n.ownerDocument;if(!e)return null;const t=e.createElement("dialog");for(const r of Array.from(n.attributes))t.setAttribute(r.name,r.value);for(;n.firstChild;)t.appendChild(n.firstChild);return n.parentNode&&n.parentNode.replaceChild(t,n),t.setAttribute("data-state","closed"),t}function Zg(n){const e=n.ownerDocument;if(!e||!e.defaultView)return;const t=e.defaultView,r=il.get(e);if(r)for(const i of r.values())i.dialog!==n&&i.dialog.open&&i.dialog.close();if(!n.open)try{n.showModal()}catch{n.setAttribute("open","")}if(n.setAttribute("data-state","open"),CX(e),n.id){const i=`#${n.id}`;t.location.hash!==i&&t.history.replaceState(null,"",t.location.pathname+t.location.search+i)}}const AX=280;function wf(n){if(!n.open||n.getAttribute("data-state")==="closing")return;n.setAttribute("data-state","closing");let e=!1;const t=()=>{if(!e){e=!0,n.removeEventListener("animationend",r),i!==void 0&&clearTimeout(i);try{n.close()}catch{n.removeAttribute("open")}}},r=s=>{s.target===n&&(s.animationName&&!s.animationName.startsWith("rf-drawer-slide-out")||t())};n.addEventListener("animationend",r);const i=setTimeout(t,AX)}function CX(n){n.documentElement.classList.add("rf-drawer-open")}function xw(n){const e=il.get(n);if(!e){n.documentElement.classList.remove("rf-drawer-open");return}for(const t of e.values())if(t.dialog.open)return;n.documentElement.classList.remove("rf-drawer-open")}function Sw(n){const e=[];return(n.cmd||n.ctrl)&&e.push("mod"),n.alt&&e.push("alt"),n.shift&&e.push("shift"),e.push(n.key),e.join("+")}function TX(n){const e=n.defaultView;if(!e)return;const t=i=>{if(kX(n))return;const s=il.get(n);if(!s)return;let o;for(const a of s.values())a.shortcut&&_X(a.shortcut,i)&&(o=a);o&&(i.preventDefault(),Zg(o.dialog))};n.addEventListener("keydown",t);const r=()=>{const i=il.get(n);if(i)for(const s of i.values())s.dialog.open&&e.location.hash!==`#${s.id}`&&wf(s.dialog)};e.addEventListener("popstate",r)}function Aw(n){const e=n.querySelector('[data-name="tabs"]'),t=n.querySelector('[data-name="panels"]');if(!e||!t)return()=>{};const r=Array.from(e.children).filter(d=>d instanceof HTMLElement&&d.tagName==="BUTTON"),i=Array.from(t.children).filter(d=>d instanceof HTMLElement);if(r.length===0||i.length===0)return()=>{};const s=r.map(()=>no("rf-tab")),o=i.map(()=>no("rf-tabpanel"));for(let d=0;d<r.length;d++)r[d].id=s[d],o[d]&&r[d].setAttribute("aria-controls",o[d]);for(let d=0;d<i.length;d++)o[d]&&(i[d].id=o[d]),s[d]&&i[d].setAttribute("aria-labelledby",s[d]);const a=r[0].className.split(" ")[0]||"";let l=0;function c(d){l=d;for(let h=0;h<r.length;h++){const m=h===l;r[h].setAttribute("aria-selected",String(m)),r[h].setAttribute("data-state",m?"active":"inactive"),a&&r[h].classList.toggle(`${a}--active`,m)}for(let h=0;h<i.length;h++){const m=h===l;i[h].hidden=!m,i[h].setAttribute("data-state",m?"active":"inactive")}}c(0);const u=[];for(let d=0;d<r.length;d++){const h=()=>c(d);r[d].addEventListener("click",h),u.push(()=>r[d].removeEventListener("click",h))}const f=d=>{const h=d.target,m=r.indexOf(h);if(m===-1)return;let p=null;switch(d.key){case"ArrowRight":p=(m+1)%r.length;break;case"ArrowLeft":p=(m-1+r.length)%r.length;break;case"Home":p=0;break;case"End":p=r.length-1;break;default:return}p!==null&&(d.preventDefault(),r[p].focus(),c(p))};return e.addEventListener("keydown",f),u.push(()=>e.removeEventListener("keydown",f)),()=>{u.forEach(d=>d());for(const d of r)d.removeAttribute("id"),d.removeAttribute("aria-controls"),d.removeAttribute("aria-selected"),d.removeAttribute("data-state"),a&&d.classList.remove(`${a}--active`);for(const d of i)d.hidden=!1,d.removeAttribute("id"),d.removeAttribute("aria-labelledby"),d.removeAttribute("data-state")}}function PX(n){const e=n.querySelector('[data-name="steps"]')||n,t=Array.from(e.querySelectorAll('[data-rune="reveal-step"]'));if(t.length===0)return()=>{};let r=1;const i=document.createElement("button");i.className="rf-reveal__next",i.textContent="Continue";const s=document.createElement("button");s.className="rf-reveal__reset",s.textContent="Start over";function o(){for(let c=0;c<t.length;c++){const u=c<r;t[c].classList.toggle("rf-reveal-step--visible",u),t[c].classList.toggle("rf-reveal-step--hidden",!u),t[c].setAttribute("data-state",u?"open":"closed")}r<t.length?(i.parentNode||n.appendChild(i),s.remove()):t.length>1?(i.remove(),s.parentNode||n.appendChild(s)):(i.remove(),s.remove())}const a=()=>{r<t.length&&(r++,o())},l=()=>{r=1,o()};return i.addEventListener("click",a),s.addEventListener("click",l),o(),()=>{i.removeEventListener("click",a),s.removeEventListener("click",l),i.remove(),s.remove();for(const c of t)c.classList.remove("rf-reveal-step--visible","rf-reveal-step--hidden"),c.removeAttribute("data-state")}}function EX(n){const e=n.querySelector("table");if(!e)return()=>{};const t=e.closest(".rf-datatable__scroll")??e,r=n.getAttribute("data-searchable")==="true",s=(n.getAttribute("data-sortable")||"").split(",").map(k=>k.trim()).filter(Boolean),o=parseInt(n.getAttribute("data-page-size")||"0",10),a=n.getAttribute("data-default-sort")||"",l=Array.from(e.querySelectorAll("th")),c=l.map(k=>k.textContent?.trim()||""),u=e.querySelectorAll("tbody tr"),f=Array.from(u.length>0?u:e.querySelectorAll("tr:not(:first-child)")).map(k=>({el:k,cells:Array.from(k.querySelectorAll("td")).map(x=>x.textContent?.trim()||"")})),d=f.map(k=>k.el);let h="",m=a,p="asc",O=0;const v=[];let b=null,_=null;if(r){b=document.createElement("div"),b.className="rf-datatable__toolbar",_=document.createElement("input"),_.type="search",_.placeholder="Filter rows...",_.className="rf-datatable__input",b.appendChild(_),t.before(b);const k=()=>{h=_.value,O=0,C()};_.addEventListener("input",k),v.push(()=>_.removeEventListener("input",k))}for(const k of l){const x=k.textContent?.trim()||"";if(!s.includes(x))continue;k.style.cursor="pointer",k.style.userSelect="none";const E=()=>{m===x?p=p==="asc"?"desc":"asc":(m=x,p="asc"),O=0,C()};k.addEventListener("click",E),v.push(()=>{k.removeEventListener("click",E),k.style.cursor="",k.style.userSelect=""})}let A=null,w=null,y=null,S=null;if(o>0){A=document.createElement("div"),A.className="rf-datatable__pagination",w=document.createElement("button"),w.className="rf-datatable__page-btn",w.innerHTML="← Prev",S=document.createElement("span"),S.className="rf-datatable__page-info",y=document.createElement("button"),y.className="rf-datatable__page-btn",y.innerHTML="Next →",A.appendChild(w),A.appendChild(S),A.appendChild(y),t.after(A);const k=()=>{O>0&&(O--,C())},x=()=>{O++,C()};w.addEventListener("click",k),y.addEventListener("click",x),v.push(()=>{w.removeEventListener("click",k),y.removeEventListener("click",x)})}function C(){let k=[...f];if(h){const Q=h.toLowerCase();k=k.filter(P=>P.cells.some(q=>q.toLowerCase().includes(Q)))}if(m){const Q=c.indexOf(m);Q>=0&&k.sort((P,q)=>{const I=P.cells[Q].localeCompare(q.cells[Q],void 0,{numeric:!0});return p==="asc"?I:-I})}const x=k.length,E=o>0?Math.ceil(x/o):1;O>=E&&(O=Math.max(0,E-1));const T=o>0?k.slice(O*o,(O+1)*o):k,$=e.querySelector("tbody")||e;for(const Q of f)Q.el.style.display="none";for(const Q of T)Q.el.style.display="",$.appendChild(Q.el);for(const Q of l){const P=Q.textContent?.replace(/[▲▼]/g,"").trim()||"",q=Q.querySelector(".rf-datatable__sort-indicator");if(s.includes(P))if(m===P)if(q)q.textContent=p==="asc"?" ▲":" ▼";else{const I=document.createElement("span");I.className="rf-datatable__sort-indicator",I.textContent=p==="asc"?" ▲":" ▼",Q.appendChild(I)}else q?.remove()}A&&w&&y&&S&&(w.disabled=O===0,y.disabled=O>=E-1,S.textContent=`${O+1} / ${E}`,E<=1?A.hidden=!0:A.hidden=!1)}return C(),()=>{v.forEach(x=>x()),b?.remove(),A?.remove();for(const x of l)x.querySelector(".rf-datatable__sort-indicator")?.remove();const k=e.querySelector("tbody")||e;for(const x of d)x.style.display="",k.appendChild(x)}}function $X(n){const e=n.tagName==="FORM"?n:n.querySelector("form");if(!e)return()=>{};const t=n.getAttribute("data-action")||e.getAttribute("action")||"",r=n.getAttribute("data-method")||e.getAttribute("method")||"POST",i=n.getAttribute("data-success")||"Form submitted successfully.",s=n.getAttribute("data-error")||"Something went wrong. Please try again.",o=n.getAttribute("data-honeypot")!=="false";let a=null;if(o){a=document.createElement("div"),a.className="rf-form__hp",a.setAttribute("aria-hidden","true"),a.style.display="none";const f=document.createElement("input");f.type="text",f.name="_gotcha",f.setAttribute("autocomplete","off"),f.tabIndex=-1,a.appendChild(f),e.prepend(a)}const l=document.createElement("div");l.className="rf-form__status",l.hidden=!0,e.appendChild(l);function c(f,d){l.hidden=!1,l.className=`rf-form__status rf-form__status--${f}`,l.setAttribute("role",f==="submitting"?"status":"alert"),l.setAttribute("data-state",f),l.textContent=d}const u=async f=>{if(f.preventDefault(),!!t){c("submitting","Submitting...");try{const d=new FormData(e);(await fetch(t,{method:r,body:d,headers:{Accept:"application/json"}})).ok?(c("success",i),e.reset()):c("error",s)}catch{c("error",s)}}};return e.addEventListener("submit",u),()=>{e.removeEventListener("submit",u),a?.remove(),l.remove()}}const QX="http://www.w3.org/2000/svg";function Uu(n){const e=document.createElementNS(QX,"svg");return e.setAttribute("width","14"),e.setAttribute("height","14"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("fill","none"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.innerHTML=n,e}const cs={eye:'<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/>',code:'<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',mobile:'<rect x="5" y="2" width="14" height="20" rx="2" ry="2"/><line x1="12" y1="18" x2="12.01" y2="18"/>',tablet:'<rect x="4" y="2" width="16" height="20" rx="2" ry="2"/><line x1="12" y1="18" x2="12.01" y2="18"/>',desktop:'<rect x="2" y="3" width="20" height="14" rx="2" ry="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/>',sun:'<circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>',moon:'<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>'},LX={mobile:cs.mobile,tablet:cs.tablet,desktop:cs.desktop},fa={mobile:{width:375,label:"375px"},tablet:{width:768,label:"768px"},desktop:{width:null,label:"Full"}};function MX(n){const e=n.getAttribute("data-theme")||"auto",r=(n.getAttribute("data-responsive")||"").split(",").map(P=>P.trim()).filter(P=>P in fa),i=r.length>0,s=n.querySelector('[data-name="source"]'),o=n.querySelector('[data-name="html-source"]'),a=n.querySelector('[data-name="themed-source"]'),l=Array.from(n.children).filter(P=>P!==s&&P!==o&&P!==a&&!P.matches?.("meta[data-field]")),c=s!==null||o!==null;let u="preview",f=e,d=i?r[r.length-1]:null;const h=[],m=document.createElement("div");m.className="rf-preview__toolbar";const p=document.createElement("span");p.className="rf-preview__title",m.appendChild(p);const O=document.createElement("div");O.className="rf-preview__controls",m.appendChild(O);let v=null,b=null;if(c){const P=document.createElement("div");P.className="rf-preview__view-toggle",v=document.createElement("button"),v.className="rf-preview__toggle-btn rf-preview__toggle-btn--active",v.setAttribute("aria-label","Preview"),v.setAttribute("title","Preview"),v.appendChild(Uu(cs.eye)),b=document.createElement("button"),b.className="rf-preview__toggle-btn",b.setAttribute("aria-label","View source"),b.setAttribute("title","View source"),b.appendChild(Uu(cs.code)),P.appendChild(v),P.appendChild(b),O.appendChild(P);const q=()=>{u="preview",Q()},I=()=>{u="code",Q()};v.addEventListener("click",q),b.addEventListener("click",I),h.push(()=>{v.removeEventListener("click",q),b.removeEventListener("click",I)})}const _=new Map;if(i){const P=document.createElement("div");P.className="rf-preview__viewport-toggle";for(const q of r){const I=document.createElement("button");I.className="rf-preview__toggle-btn",I.setAttribute("aria-label",`${fa[q].label} viewport`),I.setAttribute("title",fa[q].label),I.appendChild(Uu(LX[q]||cs.desktop));const W=()=>{d=q,Q()};I.addEventListener("click",W),h.push(()=>I.removeEventListener("click",W)),P.appendChild(I),_.set(q,I)}O.appendChild(P)}const A=document.createElement("div");A.className="rf-preview__toggle";const w=[{mode:"auto",label:"Auto",title:"System preference",icon:cs.desktop},{mode:"light",label:"Light",title:"Light mode",icon:cs.sun},{mode:"dark",label:"Dark",title:"Dark mode",icon:cs.moon}],y=new Map;for(const P of w){const q=document.createElement("button");q.className="rf-preview__toggle-btn",q.setAttribute("aria-label",`${P.label} theme`),q.setAttribute("title",P.title),q.appendChild(Uu(P.icon));const I=()=>{f=P.mode,Q()};q.addEventListener("click",I),h.push(()=>q.removeEventListener("click",I)),A.appendChild(q),y.set(P.mode,q)}O.appendChild(A);const S=document.createElement("div");S.className="rf-preview__canvas";let C=null,k=null;if(i){C=document.createElement("div"),C.className="rf-preview__viewport-frame",k=document.createElement("span"),k.className="rf-preview__viewport-label",k.hidden=!0,C.appendChild(k);for(const P of l)C.appendChild(P);S.appendChild(C)}else for(const P of l)S.appendChild(P);const x=[];let E=null,T=null,$="";if(c){if(E=document.createElement("div"),E.className="rf-preview__source",s){const P=document.createElement("div");P.appendChild(s),x.push({key:"markdoc",label:"Markdoc",panel:P})}if(o){const P=document.createElement("div");P.appendChild(o),x.push({key:"rune",label:"Rune",panel:P})}if(a){const P=document.createElement("div");P.appendChild(a),x.push({key:"html",label:"HTML",panel:P})}if($=x[0]?.key??"",x.length>1){const P=document.createElement("div");P.className="rf-preview__source-tabs",T=new Map;for(const q of x){const I=document.createElement("button");I.className="rf-preview__source-tab",q.key===$&&I.classList.add("rf-preview__source-tab--active"),I.textContent=q.label;const W=()=>{$=q.key,Q()};I.addEventListener("click",W),h.push(()=>I.removeEventListener("click",W)),P.appendChild(I),T.set(q.key,I)}E.appendChild(P)}for(const P of x)P.panel.hidden=P.key!==$,E.appendChild(P.panel)}n.appendChild(m),E&&n.appendChild(E),n.appendChild(S);function Q(){if(v&&b&&(v.classList.toggle("rf-preview__toggle-btn--active",u==="preview"),b.classList.toggle("rf-preview__toggle-btn--active",u==="code")),E&&(E.hidden=u!=="code"),S.hidden=u==="code"&&c,T)for(const[q,I]of T)I.classList.toggle("rf-preview__source-tab--active",$===q);for(const q of x)q.panel.hidden=q.key!==$;for(const[q,I]of _)I.classList.toggle("rf-preview__toggle-btn--active",d===q);if(C){const q=d&&fa[d]?fa[d].width:null;C.classList.toggle("rf-preview__viewport-frame--constrained",!!q),C.style.maxWidth=q?`${q}px`:"",k&&(q&&d?(k.textContent=fa[d].label,k.hidden=!1):k.hidden=!0)}for(const[q,I]of y)I.classList.toggle("rf-preview__toggle-btn--active",f===q);const P=f==="auto"?void 0:f;P?S.setAttribute("data-color-scheme",P):S.removeAttribute("data-color-scheme");for(const q of S.querySelectorAll("rf-sandbox"))typeof q.setTheme=="function"&&q.setTheme(P||"auto")}return Q(),()=>{h.forEach(P=>P()),s&&n.appendChild(s),o&&n.appendChild(o),a&&n.appendChild(a);for(const P of Array.from(C?.children??S.children))P!==k&&n.appendChild(P);m.remove(),S.remove(),E?.remove()}}function qX(n){if(!n.parentElement?.matches('[data-section="media"]'))return()=>{};if(n.getAttribute("data-fit")==="none")return()=>{};const e=n.querySelector(".rf-mockup__frame");if(!e)return()=>{};const t=()=>{const i=parseFloat(getComputedStyle(e).getPropertyValue("--mockup-device-width")),s=getComputedStyle(n),o=(parseFloat(s.paddingLeft)||0)+(parseFloat(s.paddingRight)||0),a=n.clientWidth-o,l=i>0&&a>0?a/i:1;e.style.setProperty("--mockup-fit-scale",String(l))};t();const r=new ResizeObserver(t);return r.observe(n),()=>{r.disconnect(),e.style.removeProperty("--mockup-fit-scale")}}function DX(n){const e=n.querySelectorAll("[data-scrollspy]"),t=[];for(const r of e){const i=r.querySelectorAll('a[href^="#"]');if(i.length===0)continue;const s=new Map,o=[];for(const c of i){const u=c.getAttribute("href").slice(1),f=document.getElementById(u);if(!f)continue;const d=c.closest("li");d&&(s.set(f,d),o.push(f))}if(o.length===0)continue;let a=null;const l=new IntersectionObserver(c=>{for(const u of c)if(u.isIntersecting){const f=s.get(u.target);f&&f!==a&&(a?.removeAttribute("data-active"),f.setAttribute("data-active",""),a=f);break}},{rootMargin:"0px 0px -80% 0px"});for(const c of o)l.observe(c);t.push(()=>{l.disconnect(),a?.removeAttribute("data-active")})}return()=>t.forEach(r=>r())}const RX='[data-reveal]:not([data-reveal="none"])';function IX(n){const e=Array.from(n.querySelectorAll(RX));if(e.length===0)return()=>{};if((n instanceof Document?n.documentElement:n.ownerDocument?.documentElement??n).setAttribute("data-animate",""),typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches||typeof IntersectionObserver>"u"){for(const s of e)s.setAttribute("data-in-view","");return()=>{}}const i=new IntersectionObserver((s,o)=>{for(const a of s)a.isIntersecting&&(a.target.setAttribute("data-in-view",""),o.unobserve(a.target))},{rootMargin:"0px 0px -10% 0px"});for(const s of e)i.observe(s);return()=>i.disconnect()}function NX(n){const e=n.querySelectorAll("[data-version-switcher]"),t=[];for(const r of e){const i=r.querySelector("select");if(!i)continue;const s=()=>{const o=i.value;o&&o!==window.location.pathname&&(window.location.href=o)};i.addEventListener("change",s),t.push(()=>i.removeEventListener("change",s))}return()=>t.forEach(r=>r())}function BX(n){const e=[];if(n.getAttribute("data-layout")==="carousel"){const t=jX(n);t&&e.push(t)}if(n.getAttribute("data-lightbox")==="true"){const t=zX(n);t&&e.push(t)}return()=>e.forEach(t=>t())}function jX(n){const e=n.querySelector('[data-name="items"]');if(!e)return;const t=Array.from(e.querySelectorAll('[data-name="item"]'));if(t.length===0)return;const r=document.createElement("button");r.className="rf-gallery__nav rf-gallery__nav--prev",r.setAttribute("aria-label","Previous"),r.textContent="‹";const i=document.createElement("button");i.className="rf-gallery__nav rf-gallery__nav--next",i.setAttribute("aria-label","Next"),i.textContent="›",n.appendChild(r),n.appendChild(i);function s(c){const u=t[0];if(!u||!e)return;const f=u.offsetWidth+parseFloat(getComputedStyle(e).gap||"0");e.scrollBy({left:c*f,behavior:"smooth"})}const o=()=>s(-1),a=()=>s(1);r.addEventListener("click",o),i.addEventListener("click",a);const l=c=>{c.key==="ArrowLeft"&&(c.preventDefault(),s(-1)),c.key==="ArrowRight"&&(c.preventDefault(),s(1))};return n.setAttribute("tabindex","0"),n.addEventListener("keydown",l),()=>{r.removeEventListener("click",o),i.removeEventListener("click",a),n.removeEventListener("keydown",l),r.remove(),i.remove(),n.removeAttribute("tabindex")}}function zX(n){const e=Array.from(n.querySelectorAll('[data-name="item"]'));if(e.length===0)return;let t=null,r=0;function i(d){return d.querySelector("img")?.getAttribute("src")||""}function s(d){return d.querySelector("img")?.getAttribute("alt")||""}function o(d){r=d,e[r]?.setAttribute("data-state","selected"),t=document.createElement("div"),t.className="rf-gallery__lightbox",t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.setAttribute("aria-label","Image lightbox");const h=document.createElement("img");h.src=i(e[r]),h.alt=s(e[r]);const m=document.createElement("button");m.className="rf-gallery__lightbox-close",m.setAttribute("aria-label","Close lightbox"),m.textContent="×";const p=document.createElement("button");p.className="rf-gallery__lightbox-nav rf-gallery__lightbox-nav--prev",p.setAttribute("aria-label","Previous image"),p.textContent="‹";const O=document.createElement("button");O.className="rf-gallery__lightbox-nav rf-gallery__lightbox-nav--next",O.setAttribute("aria-label","Next image"),O.textContent="›",t.appendChild(h),t.appendChild(m),e.length>1&&(t.appendChild(p),t.appendChild(O)),m.addEventListener("click",l),p.addEventListener("click",()=>a(-1)),O.addEventListener("click",()=>a(1)),t.addEventListener("click",v=>{v.target===t&&l()}),document.body.appendChild(t),document.addEventListener("keydown",c),m.focus()}function a(d){if(!t)return;e[r]?.removeAttribute("data-state"),r=(r+d+e.length)%e.length,e[r]?.setAttribute("data-state","selected");const h=t.querySelector("img");h&&(h.src=i(e[r]),h.alt=s(e[r]))}function l(){t&&(e[r]?.removeAttribute("data-state"),document.removeEventListener("keydown",c),t.remove(),t=null,e[r]?.focus())}function c(d){d.key==="Escape"&&(d.preventDefault(),l()),d.key==="ArrowLeft"&&(d.preventDefault(),a(-1)),d.key==="ArrowRight"&&(d.preventDefault(),a(1))}const u=[];e.forEach((d,h)=>{const m=()=>o(h);d.addEventListener("click",m),d.setAttribute("tabindex","0"),d.setAttribute("role","button"),d.setAttribute("aria-label",s(d)||`View image ${h+1}`),u.push([d,m])});const f=d=>{if(d.key==="Enter"||d.key===" "){d.preventDefault();const h=d.currentTarget,m=e.indexOf(h);m>=0&&o(m)}};return e.forEach(d=>d.addEventListener("keydown",f)),()=>{l();for(const[d,h]of u)d.removeEventListener("click",h),d.removeAttribute("tabindex"),d.removeAttribute("role"),d.removeAttribute("aria-label");e.forEach(d=>d.removeEventListener("keydown",f))}}function ZX(n){switch(n.getAttribute("data-variant")||"slider"){case"toggle":return VX(n);case"fade":return WX(n);case"auto":return YX(n);default:return XX(n)}}function fh(n){const e=n.querySelector('[data-name="panels"]')||n;return Array.from(e.querySelectorAll(':scope > [data-rune="juxtapose-panel"]'))}function FX(n){return n.querySelector('[data-name="name"]')?.textContent?.trim()||""}function XX(n){const e=fh(n);if(e.length<2)return()=>{};const r=(n.getAttribute("data-orientation")||"vertical")==="horizontal",i=n.querySelector('[data-name="panels"]');if(!i)return()=>{};i.style.position="relative",i.style.overflow="hidden",e[0].style.position="absolute",e[0].style.inset="0",e[0].style.zIndex="2",e[0].style.willChange="clip-path",e[1].style.position="relative",e[1].style.zIndex="1";for(const O of e)for(const v of O.querySelectorAll('iframe[loading="lazy"]'))v.loading="eager";const s=document.createElement("div");s.className="rf-juxtapose__divider",s.setAttribute("role","slider"),s.setAttribute("aria-label","Comparison slider"),s.setAttribute("aria-valuemin","0"),s.setAttribute("aria-valuemax","100"),s.setAttribute("tabindex","0");const o=document.createElement("div");o.className="rf-juxtapose__divider-handle",s.appendChild(o),i.appendChild(s);function a(O){const v=Math.max(0,Math.min(100,O));n.style.setProperty("--jx-position",String(v)),s.setAttribute("aria-valuenow",String(Math.round(v))),r?(e[0].style.clipPath=`inset(0 0 ${100-v}% 0)`,s.style.top=`${v}%`,s.style.left=""):(e[0].style.clipPath=`inset(0 ${100-v}% 0 0)`,s.style.left=`${v}%`,s.style.top="")}const l=parseFloat(n.style.getPropertyValue("--jx-position"))||50;a(l);let c=!1;function u(O){const v=i.getBoundingClientRect();return r?(O.clientY-v.top)/v.height*100:(O.clientX-v.left)/v.width*100}const f=O=>{c=!0,s.setPointerCapture(O.pointerId),a(u(O)),O.preventDefault()},d=O=>{c&&a(u(O))},h=O=>{c&&(c=!1,s.releasePointerCapture(O.pointerId))},m=O=>{O.target===s||s.contains(O.target)||(c=!0,s.setPointerCapture(O.pointerId),a(u(O)))};s.addEventListener("pointerdown",f),s.addEventListener("pointermove",d),s.addEventListener("pointerup",h),i.addEventListener("pointerdown",m),i.addEventListener("pointermove",d),i.addEventListener("pointerup",h);const p=O=>{const v=parseFloat(n.style.getPropertyValue("--jx-position"))||50,b=O.shiftKey?10:2,_=r?["ArrowUp"]:["ArrowLeft"],A=r?["ArrowDown"]:["ArrowRight"];_.includes(O.key)?(a(v-b),O.preventDefault()):A.includes(O.key)?(a(v+b),O.preventDefault()):O.key==="Home"?(a(0),O.preventDefault()):O.key==="End"&&(a(100),O.preventDefault())};return s.addEventListener("keydown",p),()=>{s.removeEventListener("pointerdown",f),s.removeEventListener("pointermove",d),s.removeEventListener("pointerup",h),i.removeEventListener("pointerdown",m),i.removeEventListener("pointermove",d),i.removeEventListener("pointerup",h),s.removeEventListener("keydown",p),s.remove(),i.style.position="",i.style.overflow="";for(const O of e)O.style.position="",O.style.inset="",O.style.zIndex="",O.style.clipPath="",O.style.willChange=""}}function VX(n){const e=fh(n);if(e.length<2)return()=>{};let t=0;const r=document.createElement("div");r.className="rf-juxtapose__toggle-bar",r.setAttribute("role","radiogroup"),r.setAttribute("aria-label","Comparison toggle");const i=e.map((l,c)=>{const u=document.createElement("button");return u.className="rf-juxtapose__toggle-btn",u.setAttribute("role","radio"),u.textContent=FX(l)||`Panel ${c+1}`,r.appendChild(u),u}),s=n.querySelector('[data-name="panels"]');s?s.parentNode.insertBefore(r,s):n.insertBefore(r,n.firstChild);function o(){e.forEach((l,c)=>{const u=c===t;l.hidden=!u,l.setAttribute("data-state",u?"active":"inactive")}),i.forEach((l,c)=>{const u=c===t;l.setAttribute("aria-checked",String(u)),l.setAttribute("data-state",u?"active":"inactive"),l.classList.toggle("rf-juxtapose__toggle-btn--active",u)})}const a=l=>{const c=l.target.closest(".rf-juxtapose__toggle-btn");if(!c)return;const u=i.indexOf(c);u>=0&&(t=u,o())};return r.addEventListener("click",a),o(),()=>{r.removeEventListener("click",a),r.remove();for(const l of e)l.hidden=!1,l.removeAttribute("data-state")}}function WX(n){const e=fh(n);if(e.length<2)return()=>{};const t=n.querySelector('[data-name="panels"]');if(!t)return()=>{};const r=parseInt(n.style.getPropertyValue("--jx-duration")||"1000",10);t.style.position="relative",e[0].style.position="relative",e[0].style.zIndex="1",e[1].style.position="absolute",e[1].style.inset="0",e[1].style.zIndex="2",e[1].style.opacity="0",e[1].style.transition=`opacity ${r}ms ease`;for(const l of e)for(const c of l.querySelectorAll('iframe[loading="lazy"]'))c.loading="eager";let i=!1;const s=()=>{i||(e[1].style.opacity="1")},o=()=>{i||(e[1].style.opacity="0")},a=()=>{i=!i,e[1].style.opacity=i?"1":"0"};return t.addEventListener("mouseenter",s),t.addEventListener("mouseleave",o),t.addEventListener("click",a),t.setAttribute("aria-live","polite"),()=>{t.removeEventListener("mouseenter",s),t.removeEventListener("mouseleave",o),t.removeEventListener("click",a),t.removeAttribute("aria-live"),t.style.position="";for(const l of e)l.style.position="",l.style.inset="",l.style.zIndex="",l.style.opacity="",l.style.transition=""}}function YX(n){const e=fh(n);if(e.length<2)return()=>{};const r=(n.getAttribute("data-orientation")||"vertical")==="horizontal",i=n.querySelector('[data-name="panels"]');if(!i)return()=>{};const s=parseFloat(n.style.getPropertyValue("--jx-position"))||50,o=parseInt(n.style.getPropertyValue("--jx-duration")||"1000",10);i.style.position="relative",i.style.overflow="hidden",e[0].style.position="absolute",e[0].style.inset="0",e[0].style.zIndex="2",e[0].style.willChange="clip-path",e[1].style.position="relative",e[1].style.zIndex="1";for(const d of e)for(const h of d.querySelectorAll('iframe[loading="lazy"]'))h.loading="eager";function a(d){n.style.setProperty("--jx-position",String(d)),r?e[0].style.clipPath=`inset(0 0 ${100-d}% 0)`:e[0].style.clipPath=`inset(0 ${100-d}% 0 0)`}a(0);let l=null,c=!1;function u(){if(c)return;c=!0;const d=performance.now(),h=0;function m(p){const O=p-d,v=Math.min(O/o,1),b=1-Math.pow(1-v,3);a(h+(s-h)*b),v<1&&(l=requestAnimationFrame(m))}l=requestAnimationFrame(m)}const f=new IntersectionObserver(d=>{for(const h of d)h.isIntersecting&&u()},{threshold:.3});return f.observe(n),()=>{f.disconnect(),l!==null&&cancelAnimationFrame(l),i.style.position="",i.style.overflow="";for(const d of e)d.style.position="",d.style.inset="",d.style.zIndex="",d.style.clipPath="",d.style.willChange=""}}function UX(n){if(n.getAttribute("data-collapsible")!=="true")return()=>{};const e=Array.from(n.querySelectorAll('[data-rune="nav-group"]'));if(e.length===0)return()=>{};const t=[];for(const r of e){const i=r.querySelector('[data-field="title"], h1, h2, h3, h4, h5, h6');if(!i)continue;const s=r.querySelector(':scope > [data-name="panel"], :scope > ul, :scope > ol');if(!s)continue;const o=i.id||no("rf-nav-trigger"),a=s.id||no("rf-nav-panel");i.id=o,s.id=a,(r.getAttribute("data-collapsed")??"true")!=="false"&&r.setAttribute("data-collapsed","true"),i.setAttribute("role","button"),i.setAttribute("tabindex","0"),i.setAttribute("aria-controls",a),i.setAttribute("aria-expanded",r.getAttribute("data-collapsed")==="false"?"true":"false"),s.setAttribute("aria-labelledby",o);const c=()=>{const d=r.getAttribute("data-collapsed")==="false",h=s.getBoundingClientRect().height,m=d?0:s.scrollHeight;s.style.height=h+"px",s.offsetHeight,r.setAttribute("data-collapsed",d?"true":"false"),i.setAttribute("aria-expanded",d?"false":"true"),s.style.height=m+"px";const p=()=>{s.style.height="",s.removeEventListener("transitionend",O),clearTimeout(v)},O=b=>{b.target!==s||b.propertyName!=="height"||p()};s.addEventListener("transitionend",O);const v=setTimeout(p,260)},u=d=>{d.preventDefault(),c()},f=d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),c())};i.addEventListener("click",u),i.addEventListener("keydown",f),t.push(()=>{i.removeEventListener("click",u),i.removeEventListener("keydown",f)})}return()=>t.forEach(r=>r())}function GX(n){if(n.getAttribute("data-layout")!=="menubar")return()=>{};const e=[],t=Array.from(n.querySelectorAll('[data-rune="nav-group"]')),r=new Map,i=new Map;for(const f of t){const d=f.querySelector('[data-field="title"], h1, h2, h3, h4, h5, h6'),h=f.querySelector(":scope > ul, :scope > ol");if(!d||!h)continue;const m=d.id||no("rf-nav-trigger"),p=h.id||no("rf-nav-panel");d.id=m,h.id=p,d.setAttribute("role","button"),d.setAttribute("tabindex","0"),d.setAttribute("aria-haspopup","true"),d.setAttribute("aria-expanded","false"),d.setAttribute("aria-controls",p),h.setAttribute("role","menu"),h.setAttribute("aria-labelledby",m),f.setAttribute("data-open","false"),r.set(f,d),i.set(f,h)}const s=f=>{for(const[d,h]of r)d!==f&&(d.setAttribute("data-open","false"),h.setAttribute("aria-expanded","false"))},o=f=>{const d=r.get(f);d&&(s(f),f.setAttribute("data-open","true"),d.setAttribute("aria-expanded","true"))},a=f=>{f.getAttribute("data-open")==="true"?s():o(f)};for(const[f,d]of r){const h=i.get(f),m=v=>{v.preventDefault(),a(f)},p=v=>{switch(v.key){case"Enter":case" ":v.preventDefault(),a(f);break;case"ArrowDown":{v.preventDefault(),o(f),h.querySelector("a, button, [tabindex]")?.focus();break}case"ArrowRight":case"ArrowLeft":{v.preventDefault();const b=Array.from(r.keys()),_=b.indexOf(f);if(_===-1)break;const A=v.key==="ArrowRight"?b[(_+1)%b.length]:b[(_-1+b.length)%b.length];r.get(A)?.focus(),f.getAttribute("data-open")==="true"&&o(A);break}case"Escape":s(),d.focus();break}};d.addEventListener("click",m),d.addEventListener("keydown",p),e.push(()=>{d.removeEventListener("click",m),d.removeEventListener("keydown",p)});const O=v=>{const b=Array.from(h.querySelectorAll("a, button")),_=document.activeElement,A=_?b.indexOf(_):-1;switch(v.key){case"ArrowDown":v.preventDefault(),b[Math.min(A+1,b.length-1)]?.focus();break;case"ArrowUp":v.preventDefault(),A<=0?d.focus():b[A-1]?.focus();break;case"Escape":v.preventDefault(),s(),d.focus();break}};h.addEventListener("keydown",O),e.push(()=>h.removeEventListener("keydown",O))}const l=f=>{n.contains(f.target)||s()},c=f=>{const d=f.relatedTarget;(!d||!n.contains(d))&&s()};document.addEventListener("click",l),n.addEventListener("focusout",c),e.push(()=>document.removeEventListener("click",l)),e.push(()=>n.removeEventListener("focusout",c));const u=n.querySelector(':scope > [data-name="trigger"]');if(u){const f=d=>{d.preventDefault();const h=n.getAttribute("data-open")==="true";n.setAttribute("data-open",h?"false":"true"),u.setAttribute("aria-expanded",h?"false":"true")};u.addEventListener("click",f),e.push(()=>u.removeEventListener("click",f))}return()=>e.forEach(f=>f())}const Gv=typeof HTMLElement<"u"?HTMLElement:class{};function OT(n,e){const t=n.querySelector(`[data-content="${e}"]`);return t?t instanceof HTMLTemplateElement?t.content.textContent||t.textContent||"":t.textContent||"":""}function HX(){const n=document.documentElement.dataset.theme;return n==="dark"?!0:n==="light"?!1:matchMedia("(prefers-color-scheme: dark)").matches}class KX extends Gv{themeObserver;mediaQuery;mediaListener;source="";container=null;language="mermaid";connectedCallback(){requestAnimationFrame(()=>this.tryRender())}disconnectedCallback(){this.themeObserver?.disconnect(),this.mediaQuery&&this.mediaListener&&this.mediaQuery.removeEventListener("change",this.mediaListener)}tryRender(e=0){if(this.language=this.dataset.language||"mermaid",this.source=OT(this,"source"),this.container=this.querySelector(".rf-diagram__container"),!!this.container){if(!this.source){e<3&&requestAnimationFrame(()=>this.tryRender(e+1));return}this.language==="mermaid"?(this.renderMermaid(),this.watchThemeChanges()):this.language==="ascii"&&(this.container.textContent=this.source,this.container.style.fontFamily="var(--rf-font-mono)",this.container.style.whiteSpace="pre")}}watchThemeChanges(){this.themeObserver?.disconnect(),this.themeObserver=new MutationObserver(()=>this.renderMermaid()),this.themeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme","data-color-scheme"],subtree:!0}),this.mediaQuery||(this.mediaQuery=matchMedia("(prefers-color-scheme: dark)"),this.mediaListener=()=>{document.documentElement.dataset.theme||this.renderMermaid()},this.mediaQuery.addEventListener("change",this.mediaListener))}async renderMermaid(){if(!(!this.container||!this.source))try{const t=(await import("https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs")).default,r=getComputedStyle(this.container),i=HX();t.initialize({startOnLoad:!1,theme:i?"dark":"base",themeVariables:{darkMode:i,primaryColor:r.getPropertyValue("--rf-color-surface").trim()||"#fbfaf7",primaryTextColor:r.getPropertyValue("--rf-color-text").trim()||"#1c1a17",primaryBorderColor:r.getPropertyValue("--rf-color-border").trim()||"#e2e0dd",secondaryColor:r.getPropertyValue("--rf-color-surface-hover").trim()||"#ecebe8",secondaryTextColor:r.getPropertyValue("--rf-color-text").trim()||"#1c1a17",secondaryBorderColor:r.getPropertyValue("--rf-color-border").trim()||"#e2e0dd",tertiaryColor:r.getPropertyValue("--rf-color-info-bg").trim()||"#e8edf4",tertiaryTextColor:r.getPropertyValue("--rf-color-text").trim()||"#1c1a17",tertiaryBorderColor:r.getPropertyValue("--rf-color-info-border").trim()||"#c5d2e0",lineColor:r.getPropertyValue("--rf-color-muted").trim()||"#6b6661",textColor:r.getPropertyValue("--rf-color-text").trim()||"#1c1a17",mainBkg:r.getPropertyValue("--rf-color-surface").trim()||"#fbfaf7",nodeBorder:r.getPropertyValue("--rf-color-border").trim()||"#e2e0dd",clusterBkg:r.getPropertyValue("--rf-color-surface").trim()||"#fbfaf7",clusterBorder:r.getPropertyValue("--rf-color-border").trim()||"#e2e0dd",edgeLabelBackground:r.getPropertyValue("--rf-color-surface").trim()||"#fbfaf7",fontSize:"14px",fontFamily:r.getPropertyValue("--rf-font-sans").trim()||"system-ui, sans-serif"}});const s="mermaid-"+Math.random().toString(36).slice(2),{svg:o}=await t.render(s,this.source);this.container.innerHTML=o,this.dataset.rendered=""}catch{}}}const Gu={openstreetmap:{street:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",terrain:"https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png",dark:"https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png",minimal:"https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png"},mapbox:{street:"streets-v12",satellite:"satellite-streets-v12",terrain:"outdoors-v12",dark:"dark-v11",minimal:"light-v11"}},Cw={openstreetmap:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',mapbox:'© <a href="https://www.mapbox.com/">Mapbox</a>'},Dp=new Map;async function Rp(n){if(Dp.has(n))return Dp.get(n);try{const e=`https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(n)}&format=json&limit=1`,r=await(await fetch(e,{headers:{"User-Agent":"refrakt-md-map-rune/1.0"}})).json();if(r.length>0){const i=[parseFloat(r[0].lat),parseFloat(r[0].lon)];return Dp.set(n,i),i}}catch{}return null}class JX extends Gv{mapInstance=null;initializing=!1;connectedCallback(){const e=this.extractPins();e.length>0&&this.initLeaflet(e)}disconnectedCallback(){this.mapInstance&&(this.mapInstance.remove(),this.mapInstance=null)}extractPins(){const e=[],t=this.querySelector("ol");if(!t)return e;for(const r of t.querySelectorAll('li[data-rune="map-pin"]')){const i=s=>r.querySelector(`[data-name="${s}"]`)?.textContent||"";e.push({name:i("name"),description:i("description"),lat:parseFloat(r.dataset.lat||"")||0,lng:parseFloat(r.dataset.lng||"")||0,address:r.dataset.address||"",url:r.dataset.url||"",group:r.dataset.group||""})}return e}async initLeaflet(e){if(!(this.initializing||this.mapInstance)){this.initializing=!0;try{const t=this.getRootNode(),r=t instanceof ShadowRoot?t:document.head;if(!t.querySelector('link[href*="leaflet@1.9.4"]')){const C=document.createElement("link");C.rel="stylesheet",C.href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css",r.appendChild(C)}const s=await import("https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js"),o=this.dataset.center||"",a=this.dataset.zoom||"",l=this.dataset.style||"street",c=this.dataset.provider||"openstreetmap",u=this.dataset.interactive!=="false",f=this.dataset.route==="true",d=this.dataset.cluster==="true",h=this.dataset.apiKey||"",p=(await Promise.all(e.map(async C=>{if(C.lat&&C.lng)return{...C};if(C.address){const k=await Rp(C.address);if(k)return{...C,lat:k[0],lng:k[1]}}if(C.name){const k=await Rp(C.name);if(k)return{...C,lat:k[0],lng:k[1]}}return null}))).filter(C=>C!==null&&C.lat!==0&&C.lng!==0);if(p.length===0)return;let O=this.querySelector(".rf-map__container");O||(O=document.createElement("div"),O.className="rf-map__container",this.prepend(O));const v=O.querySelector(".rf-map__fallback");v&&v.remove();let b;if(o){const C=o.match(/(-?\d+\.?\d*)\s*,\s*(-?\d+\.?\d*)/);C?b=[parseFloat(C[1]),parseFloat(C[2])]:b=await Rp(o)||[p[0].lat,p[0].lng]}else{const C=p.map(x=>x.lat),k=p.map(x=>x.lng);b=[(Math.min(...C)+Math.max(...C))/2,(Math.min(...k)+Math.max(...k))/2]}const _=a?parseInt(a):13,A=s.map(O,{zoomControl:u,dragging:u,scrollWheelZoom:u,doubleClickZoom:u,touchZoom:u}).setView(b,_);if(c==="mapbox"){const C=Gu.mapbox[l]||Gu.mapbox.street;s.tileLayer(`https://api.mapbox.com/styles/v1/mapbox/${C}/tiles/256/{z}/{x}/{y}@2x?access_token=${h}`,{attribution:Cw.mapbox,tileSize:512,zoomOffset:-1}).addTo(A)}else{const C=Gu.openstreetmap[l]||Gu.openstreetmap.street;s.tileLayer(C,{attribution:Cw.openstreetmap}).addTo(A)}const w=new Map;for(const C of p){const k=C.group||"";w.has(k)||w.set(k,[]),w.get(k).push(C)}const y=[],S={};for(const[C,k]of w){const x=k.map(E=>{const T=s.marker([E.lat,E.lng]);let $="";return E.name&&($+=`<strong>${E.name}</strong>`),E.description&&($+=`<br><em>${E.description}</em>`),E.address&&($+=`<br><small>${E.address}</small>`),E.url&&($+=`<br><a href="${E.url}" target="_blank" rel="noopener">More info</a>`),$&&T.bindPopup($),T});if(C){const E=s.layerGroup(x).addTo(A);S[C]=E}else x.forEach(E=>E.addTo(A));y.push(...x)}if(Object.keys(S).length>0&&s.control.layers(null,S).addTo(A),f&&p.length>1){const C=p.map(k=>[k.lat,k.lng]);s.polyline(C,{color:"var(--rf-color-primary, #3b82f6)",weight:3,opacity:.7,dashArray:"8, 8"}).addTo(A)}if(d&&y.length>0)try{const C="https://unpkg.com/leaflet.markercluster@1.5.3/dist/leaflet.markercluster-src.js",k="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.css",x="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.Default.css";for(const T of[k,x])if(!t.querySelector(`link[href="${T}"]`)){const $=document.createElement("link");$.rel="stylesheet",$.href=T,r.appendChild($)}await new Promise((T,$)=>{const Q=document.createElement("script");Q.src=C,Q.onload=()=>T(),Q.onerror=$,document.head.appendChild(Q)});const E=s.markerClusterGroup();y.forEach(T=>{T.remove(),E.addLayer(T)}),A.addLayer(E)}catch{}if(!o&&!a&&p.length>1){const C=s.latLngBounds(p.map(k=>[k.lat,k.lng]));A.fitBounds(C,{padding:[30,30]})}this.mapInstance=A}catch(t){console.warn("Map rune: Leaflet failed to load",t)}finally{this.initializing=!1}}}}class wi{static pages=[];static currentUrl="";static designTokens=null;static theme="auto";static themeListeners=[];static onThemeChange(e){return wi.themeListeners.push(e),()=>{wi.themeListeners=wi.themeListeners.filter(t=>t!==e)}}static setTheme(e){wi.theme=e;for(const t of wi.themeListeners)t(e)}}const Hu={tailwind:['<script src="https://cdn.tailwindcss.com"><\/script>','<script>tailwind.config = { darkMode: "class" }<\/script>'],bootstrap:['<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5/dist/css/bootstrap.min.css">'],bulma:['<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1/css/bulma.min.css">'],pico:['<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css">']},Tw={heading:"sans-serif",body:"sans-serif",mono:"monospace",display:"sans-serif",caption:"sans-serif"};class eV extends Gv{iframe=null;messageHandler=null;themeCleanup=null;ancestorObserver=null;_activation="eager";_poster="";_activated=!1;_io=null;_backdrop=!1;_onScreen=!1;_visHandler=null;_content="";_framework="";_dependencies="";_label="Sandbox";_heightAttr="auto";_tokens=null;_localScheme=null;_rfData="";_untrusted=!1;_allowJs=!0;_sandboxOrigin="";connectedCallback(){this._content=this.dataset.sourceContent||OT(this,"source"),this._rfData=this.dataset.rfRecords||"",this._framework=this.dataset.framework||"",this._dependencies=this.dataset.dependencies||"",this._label=this.dataset.label||"Sandbox",this._heightAttr=this.dataset.height||"auto",this._untrusted=this.dataset.securityMode==="untrusted",this._allowJs=this.dataset.allowJs!=="false",this._sandboxOrigin=this.dataset.sandboxOrigin||"";const e=this.dataset.activation;this._activation=e==="visible"||e==="click"?e:"eager",this._poster=this.dataset.poster||"",this._localScheme=this.getAttribute("data-color-scheme");const t=this.dataset.designTokens;if(this._tokens=t?JSON.parse(t):wi.designTokens,this._backdrop=this.dataset.guestPosture==="backdrop",this._backdrop){this.initBackdrop();return}if(this._activation!=="eager"){this.renderPoster();return}this.activate()}effectiveTheme(){const e=this._localScheme?null:this.closest("[data-color-scheme]")?.getAttribute("data-color-scheme");return this._localScheme||e||wi.theme}activate(){if(!this._activated&&(this._activated=!0,this._io&&!this._backdrop&&(this._io.disconnect(),this._io=null),this.buildIframe(this.effectiveTheme()),!this._localScheme)){this.themeCleanup=wi.onThemeChange(t=>{this.closest("[data-color-scheme]")||this.setTheme(t)}),this.ancestorObserver=new MutationObserver(()=>{const r=this.closest("[data-color-scheme]")?.getAttribute("data-color-scheme");this.setTheme(r||wi.theme)});let e=this.parentElement;for(;e;)this.ancestorObserver.observe(e,{attributes:!0,attributeFilter:["data-color-scheme"]}),e=e.parentElement}}renderPoster(){const e=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches,t=document.createElement("div");if(t.className="rf-sandbox__poster",this._heightAttr==="fill"?t.style.height="100%":this._heightAttr!=="auto"&&(t.style.height=`${parseInt(this._heightAttr,10)}px`),this._poster){const i=document.createElement("img");i.className="rf-sandbox__poster-image",i.src=this._poster,i.alt="",i.loading="lazy",t.appendChild(i)}const r=document.createElement("button");r.type="button",r.className="rf-sandbox__activate",r.textContent=`Run ${this._label}`,r.setAttribute("aria-label",`Run ${this._label} sandbox`),r.addEventListener("click",()=>this.activate(),{once:!0}),t.appendChild(r),this.replaceChildren(t),this._activation==="visible"&&!e&&typeof IntersectionObserver<"u"&&(this._io=new IntersectionObserver(i=>{i.some(s=>s.isIntersecting)&&this.activate()},{rootMargin:"200px"}),this._io.observe(this))}initBackdrop(){if(!(typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches)){if(this._visHandler=()=>{document.hidden?this.suspend():this._onScreen&&this.activate()},document.addEventListener("visibilitychange",this._visHandler),typeof IntersectionObserver>"u"){this._onScreen=!0,this.activate();return}this._io=new IntersectionObserver(t=>{this._onScreen=t.some(r=>r.isIntersecting),this._onScreen&&!document.hidden?this.activate():this.suspend()},{rootMargin:"200px"}),this._io.observe(this)}}suspend(){this._activated&&(this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.themeCleanup&&(this.themeCleanup(),this.themeCleanup=null),this.ancestorObserver&&(this.ancestorObserver.disconnect(),this.ancestorObserver=null),this.iframe?.remove(),this.iframe=null,this._activated=!1)}disconnectedCallback(){this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.themeCleanup&&(this.themeCleanup(),this.themeCleanup=null),this.ancestorObserver&&(this.ancestorObserver.disconnect(),this.ancestorObserver=null),this._io&&(this._io.disconnect(),this._io=null),this._visHandler&&(document.removeEventListener("visibilitychange",this._visHandler),this._visHandler=null),this.iframe=null}buildIframe(e){const t=this.iframe?.style.height;this.iframe=document.createElement("iframe");const r=this._untrusted?"allow-scripts":"allow-scripts allow-same-origin";if(this.iframe.setAttribute("sandbox",r),this._untrusted&&this._sandboxOrigin){const o=new URLSearchParams({framework:this._framework,dependencies:this._dependencies,theme:e||"auto",height:this._heightAttr});this.iframe.src=`${this._sandboxOrigin.replace(/\/$/,"")}/render?${o.toString()}`;const a=l=>{l.data?.type==="rf-sandbox-ready"&&l.source===this.iframe?.contentWindow&&(this.iframe.contentWindow.postMessage({type:"rf-sandbox-content",content:this._content,tokens:this._tokens},this._sandboxOrigin),window.removeEventListener("message",a))};window.addEventListener("message",a)}else this.iframe.srcdoc=this.buildSrcdoc(this._content,this._framework,this._dependencies,this._tokens,e,this._rfData);this.iframe.title=this._label,this.iframe.setAttribute("frameborder","0"),this.iframe.loading="lazy";const i=this._heightAttr==="fill"?"100%":t||(this._heightAttr!=="auto"?parseInt(this._heightAttr)+"px":"150px");this.iframe.style.cssText=`width: 100%; border: none; height: ${i};`;const s=this._untrusted?this.buildUntrustedBanner():null;this.messageHandler&&window.removeEventListener("message",this.messageHandler),this._heightAttr==="auto"&&(this.messageHandler=o=>{o.data?.type==="rf-sandbox-resize"&&o.source===this.iframe?.contentWindow&&(this.iframe.style.height=o.data.height+"px")},window.addEventListener("message",this.messageHandler)),s?this.replaceChildren(s,this.iframe):this.replaceChildren(this.iframe)}buildUntrustedBanner(){const e=document.createElement("div");return e.className="rf-sandbox__untrusted-banner",e.setAttribute("role","note"),e.setAttribute("aria-label","Sandboxed user content"),e.textContent="Sandboxed user content — do not enter sensitive information.",e}setTheme(e){this._localScheme||this._activated&&this.buildIframe(e)}buildSrcdoc(e,t,r,i,s,o){const a=this.buildDependencyTags(t,r,i),l=o?`<script type="application/json" id="rf-data">${o.replace(/<\//g,"<\\/")}<\/script>
|
|
339
339
|
<script>window.RF_DATA = Object.freeze(JSON.parse(document.getElementById('rf-data').textContent));<\/script>`:"";s=s||wi.theme;const c=s==="dark"?' class="dark" data-theme="dark" style="color-scheme:dark"':s==="light"?' data-theme="light" style="color-scheme:light"':"",u=s==="dark"?' class="dark"':"",f=s==="dark"||s==="light"?` data-theme="${s}"`:"",d=e.replace(/\s*data-source(?:="[^"]*")?/g,""),h=this.buildCspMetaTag();return`<!DOCTYPE html>
|
|
340
340
|
<html${c}>
|
|
341
341
|
<head>${h?`
|
|
@@ -417,7 +417,7 @@ ${r.join(`
|
|
|
417
417
|
${i.join(`
|
|
418
418
|
`)}
|
|
419
419
|
</style>`)}return t.join(`
|
|
420
|
-
`)}buildTailwindTokenConfig(e){const t={};if(e.fonts){t.fontFamily={};for(const r of e.fonts){const i=Tw[r.role]||"sans-serif";t.fontFamily[r.role]=[`'${r.family}'`,i]}}if(e.colors){t.colors={};for(const r of e.colors){const i=r.name.toLowerCase().replace(/\s+/g,"-");t.colors[i]=r.value}}if(e.radii){t.borderRadius={};for(const r of e.radii){const i=r.name.toLowerCase().replace(/\s+/g,"-");t.borderRadius[i]=r.value}}return Object.keys(t).length===0?"":`<script>tailwind.config = { darkMode: "class", theme: { extend: ${JSON.stringify(t)} } }<\/script>`}}function
|
|
420
|
+
`)}buildTailwindTokenConfig(e){const t={};if(e.fonts){t.fontFamily={};for(const r of e.fonts){const i=Tw[r.role]||"sans-serif";t.fontFamily[r.role]=[`'${r.family}'`,i]}}if(e.colors){t.colors={};for(const r of e.colors){const i=r.name.toLowerCase().replace(/\s+/g,"-");t.colors[i]=r.value}}if(e.radii){t.borderRadius={};for(const r of e.radii){const i=r.name.toLowerCase().replace(/\s+/g,"-");t.borderRadius[i]=r.value}}return Object.keys(t).length===0?"":`<script>tailwind.config = { darkMode: "class", theme: { extend: ${JSON.stringify(t)} } }<\/script>`}}function tV(n){const e=[],t=UX(n);t&&e.push(t);const r=GX(n);return r&&e.push(r),()=>e.forEach(i=>i?.())}const nV={accordion:_w,"accordion-item":_w,"tab-group":Aw,"code-group":Aw,reveal:PX,"data-table":EX,form:$X,preview:MX,mockup:qX,gallery:BX,juxtapose:ZX,nav:tV,drawer:xX};function vT(n=document,e){const t=[];n.querySelectorAll("[data-rune]").forEach(a=>{const l=a.getAttribute("data-rune");if(pX(a)||a.closest('[data-guest-posture="presentational"]'))return;const c=nV[l];if(c){const u=c(a);u&&t.push(u)}});const r=bX(n);t.push(r);const i=DX(n);t.push(i);const s=IX(n);t.push(s);const o=NX(n);return t.push(o),()=>t.forEach(a=>a())}var rV=V('<span class="block-card__drag svelte-15i1bgj" title="Drag to reorder"><svg width="8" height="14" viewBox="0 0 8 14" fill="currentColor"><circle cx="2" cy="2" r="1.2"></circle><circle cx="6" cy="2" r="1.2"></circle><circle cx="2" cy="7" r="1.2"></circle><circle cx="6" cy="7" r="1.2"></circle><circle cx="2" cy="12" r="1.2"></circle><circle cx="6" cy="12" r="1.2"></circle></svg></span>'),iV=V('<div class="block-card__inline-preview svelte-15i1bgj"></div>'),sV=V('<div class="block-card svelte-15i1bgj"><!> <!></div>');function oV(n,e){Ot(e,!0);let t=Et(e,"highlightCss",3,""),r=Et(e,"highlightTransform",3,null),i=Et(e,"communityTags",3,null),s=Et(e,"communityPostTransforms",3,null),o=Et(e,"communityStyles",3,null),a=Et(e,"aggregated",19,()=>({})),l=Et(e,"dragHandle",3,!0),c=Et(e,"readOnly",3,!1),u=J(void 0),f=null,d,h=null;function m(S){return S.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").toLowerCase()}function p(S){const C=new Map;for(const[k,x]of Object.entries(S.runes))C.set(m(k),x);return C}function O(S,C,k){let x=S,E=null,T=null;for(;x&&x!==C;)x.hasAttribute("data-name")&&!E&&(E=x),x.hasAttribute("data-rune")&&!T&&(T=x),x=x.parentElement;if(E){const $=E.getAttribute("data-name");let Q=E.parentElement,P;for(;Q&&Q!==C;){const I=Q.getAttribute("data-rune");if(I){P=k.get(I);break}Q=Q.parentElement}const q=P?.editHints?.[$];if(q&&q!=="none")return{type:"section",el:E,dataName:$,editType:q}}return T?{type:"rune",el:T}:null}function v(S,C){let k=null,x=null;const E=75,T=document.createElement("div");T.className="rf-edit-tooltip",S.appendChild(T);function $(P,q){T.textContent=P,T.style.left=`${q.clientX+12}px`,T.style.top=`${q.clientY+12}px`,T.classList.add("rf-tooltip-visible")}function Q(){T.classList.remove("rf-tooltip-visible")}S.addEventListener("mouseover",P=>{const q=O(P.target,S,C),I=q?.el??null;if(x!==null&&(clearTimeout(x),x=null),I!==k)if(I&&k&&k.contains(I))k.classList.remove("rf-editable-hover"),k=I,k.classList.add("rf-editable-hover");else if(k&&I&&I.contains(k)){const W=k;x=setTimeout(()=>{k===W&&(W.classList.remove("rf-editable-hover"),k=I,k.classList.add("rf-editable-hover")),x=null},E);return}else k?.classList.remove("rf-editable-hover"),k=I,k?.classList.add("rf-editable-hover");if(q){const W=q.type==="section"?q.dataName:q.el.getAttribute("data-rune")??"";$(W,P)}else Q()}),S.addEventListener("mousemove",P=>{T.classList.contains("rf-tooltip-visible")&&(T.style.left=`${P.clientX+12}px`,T.style.top=`${P.clientY+12}px`)}),S.addEventListener("mouseout",P=>{const q=P.relatedTarget;if(k&&(!q||!k.contains(q))){x!==null&&clearTimeout(x);const I=k;x=setTimeout(()=>{I.classList.remove("rf-editable-hover"),k===I&&(k=null),x=null},E),Q()}}),S.addEventListener("click",P=>{Q();const q=O(P.target,S,C);if(q)if(P.preventDefault(),P.stopPropagation(),q.type==="section"){const{el:I,dataName:W,editType:U}=q,K=I.getBoundingClientRect(),ae=U==="link"?I.querySelector("a"):null,re=U==="image"?I.querySelector("img"):null,H=U==="code"?I.querySelector("code"):null,ie=U==="icon"?I.hasAttribute("data-icon")?I:I.querySelector("[data-icon]"):null;e.onsectionclick?.({dataName:W,text:(H??I).textContent?.trim()??"",rect:K,editType:U,href:ae?.getAttribute("href")??re?.getAttribute("src")??void 0,iconName:ie?.getAttribute("data-icon")??void 0})}else{const I=P,W=Array.from(S.querySelectorAll("[data-rune]"));let U;W.length>1&&q.el!==W[0]&&(U=W.indexOf(q.el)-1),e.onruneclick?.({x:I.clientX,y:I.clientY,nestedRuneIndex:U})}})}yn(()=>{if(!g(u)||!e.themeConfig)return;f||(f=g(u).attachShadow({mode:"open"}));const S=e.block.source,C=e.themeConfig,k=e.themeCss,x=t()||"",E=r();return clearTimeout(d),d=setTimeout(()=>{if(f){h&&(h(),h=null);try{const{html:T,isComponent:$}=mT(S,C,E,i()??void 0,s()??void 0,a(),o()??void 0);if($)f.innerHTML=`<style>
|
|
421
421
|
:host { display: block; padding: 0.75rem 1.5rem; }
|
|
422
422
|
.placeholder { display: flex; align-items: center; gap: 0.5rem; color: #888; font-family: system-ui, sans-serif; font-size: 13px; }
|
|
423
423
|
.placeholder svg { opacity: 0.5; }
|
|
@@ -505,7 +505,7 @@ ${x}
|
|
|
505
505
|
opacity: 1;
|
|
506
506
|
}
|
|
507
507
|
</style>
|
|
508
|
-
<div class="rf-preview-wrapper">${T}</div>`;const P=f.querySelector(".rf-preview-wrapper");P&&(h=vT(P),P.addEventListener("click",q=>{q.target.closest("a")&&q.preventDefault()},!0),!c()&&(e.onsectionclick||e.onruneclick)&&e.block.type==="rune"&&v(P,p(C)))}}catch{f&&(f.innerHTML="<style>:host { display: block; padding: 0.75rem 1.5rem; color: #999; font-family: system-ui; font-size: 12px; }</style><em>Preview unavailable</em>")}}},50),()=>{clearTimeout(d),h&&(h(),h=null)}});var b=
|
|
508
|
+
<div class="rf-preview-wrapper">${T}</div>`;const P=f.querySelector(".rf-preview-wrapper");P&&(h=vT(P),P.addEventListener("click",q=>{q.target.closest("a")&&q.preventDefault()},!0),!c()&&(e.onsectionclick||e.onruneclick)&&e.block.type==="rune"&&v(P,p(C)))}}catch{f&&(f.innerHTML="<style>:host { display: block; padding: 0.75rem 1.5rem; color: #999; font-family: system-ui; font-size: 12px; }</style><em>Preview unavailable</em>")}}},50),()=>{clearTimeout(d),h&&(h(),h=null)}});var b=sV(),_=D(b);{var A=S=>{var C=rV();z(S,C)};ue(_,S=>{l()&&S(A)})}var w=R(_,2);{var y=S=>{var C=iV();gn(C,k=>M(u,k),()=>g(u)),z(S,C)};ue(w,S=>{e.themeConfig&&S(y)})}fe(()=>$t(b,"draggable",l()?"true":"false")),ct("dragstart",b,function(...S){e.ondragstart?.apply(this,S)}),ct("dragover",b,function(...S){e.ondragover?.apply(this,S)}),ct("drop",b,function(...S){e.ondrop?.apply(this,S)}),z(n,b),vt()}var aV=V('<span class="prose-card__drag svelte-1oewfd6" title="Drag to reorder"><svg width="8" height="14" viewBox="0 0 8 14" fill="currentColor"><circle cx="2" cy="2" r="1.2"></circle><circle cx="6" cy="2" r="1.2"></circle><circle cx="2" cy="7" r="1.2"></circle><circle cx="6" cy="7" r="1.2"></circle><circle cx="2" cy="12" r="1.2"></circle><circle cx="6" cy="12" r="1.2"></circle></svg></span>'),lV=V('<div class="prose-card__preview svelte-1oewfd6"></div>'),cV=V('<div class="prose-card svelte-1oewfd6"><!> <!></div>');function uV(n,e){Ot(e,!0);let t=Et(e,"highlightCss",3,""),r=Et(e,"highlightTransform",3,null),i=Et(e,"communityTags",3,null),s=Et(e,"communityPostTransforms",3,null),o=Et(e,"communityStyles",3,null),a=Et(e,"aggregated",19,()=>({})),l=Et(e,"dragHandle",3,!0),c=Et(e,"readOnly",3,!1),u=J(void 0),f=null,d,h=null;const m=new Set(["H1","H2","H3","H4","H5","H6","P","PRE","UL","OL","BLOCKQUOTE","HR","TABLE"]);function p(k){return k.startsWith("H")&&k.length===2?`h${k[1]}`:{P:"paragraph",PRE:"code",UL:"list",OL:"list",BLOCKQUOTE:"quote",HR:"divider",TABLE:"table"}[k]??k.toLowerCase()}function O(k,x){let E=k;for(;E&&E!==x;){if(m.has(E.tagName))return E;E=E.parentElement}return null}function v(k){const x=(k.textContent??"").trim(),E=k.tagName;for(let T=0;T<e.block.children.length;T++){const $=e.block.children[T];if(E.startsWith("H")&&E.length===2&&$.type==="heading"){const Q=Si($.text??"").trim();if(x===Q)return T}else if(E==="P"&&$.type==="paragraph"){const Q=Si($.source).trim();if(x===Q)return T}else if(E==="PRE"&&$.type==="fence"){const P=(k.querySelector("code")??k).textContent?.trim()??"",q=($.code??"").trim();if(P===q)return T}else if((E==="UL"||E==="OL")&&$.type==="list"){const Q=$.source.replace(/^[-*+\d.]+\s*/gm,"").trim();if(x.includes(Q.slice(0,30))||Q.includes(x.slice(0,30)))return T}else if(E==="BLOCKQUOTE"&&$.type==="quote"){const Q=$.source.replace(/^>\s*/gm,"").trim();if(x===Q)return T}else if(E==="HR"&&$.type==="hr")return T}return-1}function b(k){let x=null,E=null;const T=75,$=document.createElement("div");$.className="rf-edit-tooltip",k.appendChild($);function Q(q,I){$.textContent=q,$.style.left=`${I.clientX+12}px`,$.style.top=`${I.clientY+12}px`,$.classList.add("rf-tooltip-visible")}function P(){$.classList.remove("rf-tooltip-visible")}k.addEventListener("mouseover",q=>{const I=O(q.target,k);E!==null&&(clearTimeout(E),E=null),I===x||(x?.classList.remove("rf-editable-hover"),x=I,x?.classList.add("rf-editable-hover")),I?(k.classList.remove("rf-block-hover"),Q(p(I.tagName),q)):e.onblockclick?(k.classList.add("rf-block-hover"),Q("prose",q)):P()}),k.addEventListener("mousemove",q=>{$.classList.contains("rf-tooltip-visible")&&($.style.left=`${q.clientX+12}px`,$.style.top=`${q.clientY+12}px`)}),k.addEventListener("mouseout",q=>{const I=q.relatedTarget;if(k.classList.remove("rf-block-hover"),x&&(!I||!x.contains(I))){E!==null&&clearTimeout(E);const W=x;E=setTimeout(()=>{W.classList.remove("rf-editable-hover"),x===W&&(x=null),E=null},T),P()}}),k.addEventListener("click",q=>{P();const I=O(q.target,k);if(!I){e.onblockclick?.({x:q.clientX,y:q.clientY});return}q.preventDefault(),q.stopPropagation();const W=v(I);if(W===-1)return;const U=e.block.children[W],K=I.getBoundingClientRect();I.tagName;const ae={elementType:U.type,text:(I.textContent??"").trim(),rect:K,childIndex:W};U.type==="heading"?ae.headingLevel=U.level:U.type==="fence"&&(ae.fenceLanguage=U.language??"",ae.fenceCode=U.code??""),e.onsectionclick?.(ae)})}const _=`
|
|
509
509
|
/* Wrapper: inset border on dead-space hover */
|
|
510
510
|
.rf-preview-wrapper {
|
|
511
511
|
transition: box-shadow 150ms ease;
|
|
@@ -572,9 +572,9 @@ ${T}
|
|
|
572
572
|
.rf-preview-wrapper > article > * { grid-column: content; }
|
|
573
573
|
${!c()&&e.onsectionclick?_:""}
|
|
574
574
|
</style>
|
|
575
|
-
<div class="rf-preview-wrapper">${Q}</div>`;const q=f.querySelector(".rf-preview-wrapper");q&&(h=vT(q),q.addEventListener("click",I=>{I.target.closest("a")&&I.preventDefault()},!0),!c()&&e.onsectionclick&&b(q))}catch{f&&(f.innerHTML="<style>:host { display: block; padding: 0.75rem 1.5rem; color: #999; font-family: system-ui; font-size: 12px; }</style><em>Preview unavailable</em>")}}},50),()=>{clearTimeout(d),h&&(h(),h=null)}});var A=lV(),w=D(A);{var y=k=>{var x=oV();z(k,x)};ue(w,k=>{l()&&k(y)})}var S=R(w,2);{var C=k=>{var x=aV();gn(x,E=>M(u,E),()=>g(u)),z(k,x)};ue(S,k=>{e.themeConfig&&k(C)})}fe(()=>$t(A,"draggable",l()?"true":"false")),ct("dragstart",A,function(...k){e.ondragstart?.apply(this,k)}),ct("dragover",A,function(...k){e.ondragover?.apply(this,k)}),ct("drop",A,function(...k){e.ondrop?.apply(this,k)}),z(n,A),vt()}function Fg(n,e){if(e==="any")return!0;if(e.includes("|"))return e.split("|").some(t=>Fg(n,t));if(e.startsWith("heading:")){const t=parseInt(e.slice(8),10);return n.type==="heading"&&n.headingLevel===t}if(e==="list:ordered")return n.type==="list"&&n.listOrdered===!0;if(e==="list:unordered")return n.type==="list"&&n.listOrdered!==!0;if(e.startsWith("tag:")){const t=e.slice(4);return n.type==="rune"&&n.runeName===t}return e==="blockquote"?n.type==="quote":n.type===e}function Ip(n,e){const t=[];let r=0;for(const i of e){const s={name:i.name,match:i.match,optional:i.optional??!1,greedy:i.greedy??!1,filled:!1,nodes:[],description:i.description,template:i.template,emitTag:i.emitTag};if(i.greedy){for(;r<n.length&&Fg(n[r],i.match);)s.nodes.push(n[r]),r++;s.filled=s.nodes.length>0}else r<n.length&&Fg(n[r],i.match)&&(s.nodes.push(n[r]),s.filled=!0,r++);t.push(s)}return t}function uV(n,e){switch(e.type){case"sequence":return{type:"sequence",fields:Ip(n,e.fields)};case"delimited":{const t=[],r=[[]];for(const i of n)i.type==="hr"?r.push([]):r[r.length-1].push(i);if(e.zones)for(let i=0;i<e.zones.length;i++){const s=e.zones[i],o=r[i]??[];t.push({name:s.name,fields:Ip(o,s.fields)})}else if(e.dynamicZones&&e.zoneModel)for(let i=0;i<r.length;i++)t.push({name:`zone-${i+1}`,fields:Ip(r[i],e.zoneModel.fields)});return{type:"delimited",delimiter:e.delimiter,zones:t}}case"sections":return{type:"sections",description:`Sections split by ${e.sectionHeading}${e.emitTag?`, each emits ${e.emitTag}`:""}`};case"custom":return{type:"custom",description:e.description}}}var fV=V('<span class="rune-attrs__required svelte-ong743">*</span>'),dV=V('<span class="rune-attrs__info svelte-ong743"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="7"></circle><line x1="8" y1="7" x2="8" y2="11"></line><circle cx="8" cy="4.5" r="0.5" fill="currentColor" stroke="none"></circle></svg></span>'),hV=V('<button type="button"> </button>'),pV=As('<svg class="rune-attrs__check svelte-ong743" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8l3.5 3.5L13 5"></path></svg>'),mV=As('<svg class="rune-attrs__check svelte-ong743" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8l3.5 3.5L13 5"></path></svg>'),gV=V('<button type="button"><span class="rune-attrs__option-label svelte-ong743"> </span> <!></button>'),OV=V('<div class="rune-attrs__dropdown svelte-ong743"><button type="button"><span class="rune-attrs__option-label rune-attrs__option-label--default svelte-ong743">default</span> <!></button> <!></div>'),vV=V('<div class="rune-attrs__enum svelte-ong743"><button type="button"> </button> <!></div>'),bV=V('<input class="rune-attrs__inline-input svelte-ong743"/>'),yV=V('<button type="button"> </button>'),wV=V('<div class="rune-attrs__row svelte-ong743"><span class="rune-attrs__label svelte-ong743"> <!> <!></span> <!></div>'),_V=V('<span class="rune-attrs__empty svelte-ong743">No attributes</span>'),kV=V('<div class="rune-attrs svelte-ong743"><!> <!></div>');function Pw(n,e){Ot(e,!0);const t=new Set(["ratio","align","gap","collapse"]);function r(y,S){const C={...e.attributes};S===""||S===void 0?delete C[y]:C[y]=S,e.onchange(C)}function i(y){return y.replace(/-/g," ").replace(/\b\w/g,S=>S.toUpperCase())}function s(y){if(!t.has(y)||!("layout"in e.runeInfo.attributes))return!1;const S=e.attributes.layout??"";return S!=="split"&&S!=="split-reverse"}let o=me(()=>Object.entries(e.runeInfo.attributes).filter(([y])=>!s(y)).sort(([,y],[,S])=>y.required===S.required?0:y.required?-1:1)),a=J(null),l;function c(y){M(a,g(a)===y?null:y,!0)}function u(y,S){r(y,S),M(a,null)}function f(y){g(a)&&l&&!l.contains(y.target)&&M(a,null)}function d(y){y.key==="Escape"&&g(a)&&(M(a,null),y.stopPropagation())}let h=J(null),m=J("");function p(y,S){M(h,y,!0),M(m,S,!0)}function O(y){r(y,g(m)),M(h,null)}function v(y,S){y.key==="Enter"?O(S):y.key==="Escape"&&(M(h,null),y.stopPropagation())}var b=kV();ct("mousedown",No,f),ct("keydown",No,d);var _=D(b);Lt(_,17,()=>g(o),([y,S])=>y,(y,S)=>{var C=me(()=>jc(g(S),2));let k=()=>g(C)[0],x=()=>g(C)[1];const E=me(()=>e.attributes[k()]??"");var T=wV(),$=D(T),Q=D($),P=R(Q);{var q=ie=>{var se=fV();z(ie,se)};ue(P,ie=>{x().required&&ie(q)})}var I=R(P,2);{var W=ie=>{var se=dV();fe(()=>$t(se,"data-tooltip",x().description)),z(ie,se)};ue(I,ie=>{x().description&&ie(W)})}var U=R($,2);{var K=ie=>{var se=hV();let j;se.__click=()=>r(k(),g(E)==="true"?"":"true");var ne=D(se);fe(()=>{j=We(se,1,"rune-attrs__value svelte-ong743",null,j,{active:g(E)==="true"}),Le(ne,g(E)==="true"?"Yes":"No")}),z(ie,se)},ae=ie=>{var se=vV(),j=D(se);let ne;j.__click=()=>c(k());var Te=D(j),Qe=R(j,2);{var De=ge=>{var Ee=OV(),Ke=D(Ee);let tt;Ke.__click=()=>u(k(),"");var Ve=R(D(Ke),2);{var Ge=At=>{var Jt=pV();z(At,Jt)};ue(Ve,At=>{g(E)||At(Ge)})}var Re=R(Ke,2);Lt(Re,17,()=>x().values,en,(At,Jt)=>{var En=gV();let ft;En.__click=()=>u(k(),g(Jt));var on=D(En),an=D(on),Vn=R(on,2);{var Ae=$n=>{var Mt=mV();z($n,Mt)};ue(Vn,$n=>{g(E)===g(Jt)&&$n(Ae)})}fe(()=>{ft=We(En,1,"rune-attrs__option svelte-ong743",null,ft,{selected:g(E)===g(Jt)}),Le(an,g(Jt))}),z(At,En)}),fe(()=>tt=We(Ke,1,"rune-attrs__option svelte-ong743",null,tt,{selected:!g(E)})),z(ge,Ee)};ue(Qe,ge=>{g(a)===k()&&ge(De)})}fe(()=>{ne=We(j,1,"rune-attrs__value svelte-ong743",null,ne,{active:!!g(E),open:g(a)===k()}),Le(Te,g(E)||"default")}),z(ie,se)},re=ie=>{var se=bV();se.__keydown=j=>v(j,k()),ys(se),fe(()=>$t(se,"type",x().type==="Number"?"number":"text")),ct("blur",se,()=>O(k())),Nn(se,()=>g(m),j=>M(m,j)),z(ie,se)},H=ie=>{var se=yV();let j;se.__click=()=>p(k(),g(E));var ne=D(se);fe(()=>{j=We(se,1,"rune-attrs__value svelte-ong743",null,j,{active:!!g(E)}),Le(ne,g(E)||(x().required?"required":"default"))}),z(ie,se)};ue(U,ie=>{x().type==="Boolean"?ie(K):x().values&&x().values.length>0?ie(ae,1):g(h)===k()?ie(re,2):ie(H,!1)})}fe(ie=>Le(Q,`${ie??""} `),[()=>i(k())]),z(y,T)});var A=R(_,2);{var w=y=>{var S=_V();z(y,S)};ue(A,y=>{g(o).length===0&&y(w)})}gn(b,y=>l=y,()=>l),z(n,b),vt()}Kt(["click","keydown"]);var xV=V('<div class="tree-node svelte-16z33d"><button type="button"><span class="tree-node__indicator svelte-16z33d">▾</span> <span class="tree-node__rune-dot svelte-16z33d"></span> <span class="tree-node__label tree-node__label--rune svelte-16z33d"> </span></button></div>'),SV=V('<button type="button"><span class="tree-node__indicator svelte-16z33d"> </span> <span class="tree-node__rune-dot svelte-16z33d"></span> <span class="tree-node__label tree-node__label--rune svelte-16z33d"> </span></button>'),AV=V('<button type="button"><svg class="tree-node__icon svelte-16z33d" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <span class="tree-node__label tree-node__label--content svelte-16z33d"> </span></button>'),CV=V('<div class="tree-node svelte-16z33d"><!></div> <!>',1),TV=V("<!> <!>",1);function bT(n,e){Ot(e,!0);let t=Et(e,"isRootActive",3,!1),r=Et(e,"depth",3,0),i=Et(e,"pathPrefix",19,()=>[]);function s(d){return d.length!==e.activePath.length?!1:d.every((h,m)=>h===e.activePath[m])}function o(d){return d.length>e.activePath.length?!1:d.every((h,m)=>h===e.activePath[m])}const a={heading:"M3 3v10M13 3v10M3 8h10",paragraph:"M2 4h12M2 8h12M2 12h8",fence:"M5 4L2 8l3 4M11 4l3 4-3 4",list:"M4 4h10M4 8h10M4 12h10M2 4h0M2 8h0M2 12h0",quote:"M4 4h8M4 7h6M1 3v8",hr:"M2 8h12",image:"M2 2h12v12H2zM5 5l-3 7h12l-4-5-2 2.5"};var l=TV(),c=st(l);{var u=d=>{var h=xV(),m=D(h);let p;m.__click=function(...b){e.onrootclick?.apply(this,b)};var O=R(D(m),4),v=D(O);fe(()=>{p=We(m,1,"tree-node__btn tree-node__btn--rune svelte-16z33d",null,p,{active:t()}),Le(v,e.rootLabel)}),z(d,h)};ue(c,d=>{e.rootLabel&&e.onrootclick&&d(u)})}var f=R(c,2);Lt(f,17,()=>e.nodes,en,(d,h,m)=>{const p=me(()=>[...i(),m]),O=me(()=>g(h).type==="rune"),v=me(()=>s(g(p))),b=me(()=>o(g(p))&&!g(v)),_=me(()=>g(O)&&!g(h).selfClosing&&g(h).children&&g(h).children.length>0);var A=CV(),w=st(A),y=D(w);{var S=E=>{var T=SV();let $;T.__click=()=>e.onselect(g(p));var Q=D(T),P=D(Q),q=R(Q,4),I=D(q);fe(()=>{$=We(T,1,"tree-node__btn tree-node__btn--rune svelte-16z33d",null,$,{active:g(v),ancestor:g(b)}),Le(P,g(_)?"▾":"▸"),Le(I,g(h).label)}),z(E,T)},C=E=>{var T=AV();let $;T.__click=()=>e.onselect(g(p));var Q=D(T),P=D(Q),q=R(Q,2),I=D(q);fe(()=>{$=We(T,1,"tree-node__btn tree-node__btn--content svelte-16z33d",null,$,{active:g(v)}),$t(P,"d",a[g(h).type]??"M2 4h12M2 8h12M2 12h8"),Le(I,g(h).label)}),z(E,T)};ue(y,E=>{g(O)?E(S):E(C,!1)})}var k=R(w,2);{var x=E=>{var T=mn(),$=st(T);{let Q=me(()=>r()+1);bT($,{get nodes(){return g(h).children},get activePath(){return e.activePath},get onselect(){return e.onselect},get depth(){return g(Q)},get pathPrefix(){return g(p)}})}z(E,T)};ue(k,E=>{g(_)&&g(h).children&&E(x)})}fe(()=>$r(w,`padding-left: ${(r()+(e.rootLabel?1:0))*16}px`)),z(d,A)}),z(n,l),vt()}Kt(["click"]);var PV=V('<button type="button" class="cm-tree__preview-line cm-tree__preview-line--rune svelte-1d9gzqq"><span class="cm-tree__rune-dot svelte-1d9gzqq"></span> </button>'),EV=V('<button type="button" class="cm-tree__preview-line cm-tree__preview-line--clickable svelte-1d9gzqq"> </button>'),$V=V('<div draggable="true"><span class="cm-tree__preview-grip svelte-1d9gzqq" title="Drag to reorder"><svg width="6" height="10" viewBox="0 0 6 10" fill="none"><circle cx="1.5" cy="1.5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="1.5" r="1" fill="currentColor"></circle><circle cx="1.5" cy="5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="5" r="1" fill="currentColor"></circle><circle cx="1.5" cy="8.5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="8.5" r="1" fill="currentColor"></circle></svg></span> <button type="button" class="cm-tree__preview-text cm-tree__preview-text--clickable svelte-1d9gzqq"> </button> <button type="button" class="cm-tree__preview-remove svelte-1d9gzqq" title="Remove item"><svg width="10" height="10" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"></line><line x1="12" y1="4" x2="4" y2="12"></line></svg></button></div>'),QV=V('<div draggable="true"><span class="cm-tree__preview-grip svelte-1d9gzqq" title="Drag to reorder"><svg width="6" height="10" viewBox="0 0 6 10" fill="none"><circle cx="1.5" cy="1.5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="1.5" r="1" fill="currentColor"></circle><circle cx="1.5" cy="5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="5" r="1" fill="currentColor"></circle><circle cx="1.5" cy="8.5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="8.5" r="1" fill="currentColor"></circle></svg></span> <button type="button" class="cm-tree__preview-text cm-tree__preview-text--clickable svelte-1d9gzqq"> </button> <button type="button" class="cm-tree__preview-remove svelte-1d9gzqq" title="Remove item"><svg width="10" height="10" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"></line><line x1="12" y1="4" x2="4" y2="12"></line></svg></button></div>'),LV=V('<span class="cm-tree__required-badge svelte-1d9gzqq">required</span>'),MV=V('<button type="button" class="cm-tree__action cm-tree__action--add svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="8" y1="3" x2="8" y2="13"></line><line x1="3" y1="8" x2="13" y2="8"></line></svg></button>'),qV=V('<!> <button type="button" class="cm-tree__action cm-tree__action--remove svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 3 14 13 14 13 6"></polyline><line x1="1" y1="4" x2="15" y2="4"></line><line x1="6" y1="8" x2="6" y2="12"></line><line x1="10" y1="8" x2="10" y2="12"></line></svg></button>',1),DV=V('<button type="button" class="cm-tree__action cm-tree__action--add svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="8" y1="3" x2="8" y2="13"></line><line x1="3" y1="8" x2="13" y2="8"></line></svg></button>'),RV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),IV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),NV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),BV=V('<button type="button"><svg class="cm-tree__field-icon svelte-1d9gzqq" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <span class="cm-tree__field-name svelte-1d9gzqq"> </span> <!> <span class="cm-tree__field-spacer svelte-1d9gzqq"></span> <!></button> <!>',1),jV=V('<div class="cm-tree__fields svelte-1d9gzqq"></div>'),zV=V('<div class="cm-tree__delimiter svelte-1d9gzqq"><span class="cm-tree__delimiter-line svelte-1d9gzqq"></span></div>'),ZV=V('<span class="cm-tree__required-badge svelte-1d9gzqq">required</span>'),FV=V('<button type="button" class="cm-tree__action cm-tree__action--add svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="8" y1="3" x2="8" y2="13"></line><line x1="3" y1="8" x2="13" y2="8"></line></svg></button>'),XV=V('<!> <button type="button" class="cm-tree__action cm-tree__action--remove svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 3 14 13 14 13 6"></polyline><line x1="1" y1="4" x2="15" y2="4"></line><line x1="6" y1="8" x2="6" y2="12"></line><line x1="10" y1="8" x2="10" y2="12"></line></svg></button>',1),VV=V('<button type="button" class="cm-tree__action cm-tree__action--add svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="8" y1="3" x2="8" y2="13"></line><line x1="3" y1="8" x2="13" y2="8"></line></svg></button>'),WV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),YV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),UV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),GV=V('<button type="button"><svg class="cm-tree__field-icon svelte-1d9gzqq" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <span class="cm-tree__field-name svelte-1d9gzqq"> </span> <!> <span class="cm-tree__field-spacer svelte-1d9gzqq"></span> <!></button> <!>',1),HV=V('<!> <div class="cm-tree__zone svelte-1d9gzqq"><div class="cm-tree__zone-label svelte-1d9gzqq"> </div> <div class="cm-tree__fields svelte-1d9gzqq"></div></div>',1),KV=V('<div class="cm-tree__description svelte-1d9gzqq"> </div>'),JV=V('<div class="cm-tree svelte-1d9gzqq"><div class="cm-tree__root svelte-1d9gzqq"><span class="cm-tree__rune-dot svelte-1d9gzqq"></span> <span class="cm-tree__root-label svelte-1d9gzqq"> </span></div> <!></div>');function eW(n,e){Ot(e,!0);const t=(T,$=ns,Q=ns,P=ns)=>{var q=mn(),I=st(q);Lt(I,17,$,en,(W,U)=>{var K=mn(),ae=st(K);{var re=ie=>{var se=PV();se.__click=()=>e.onnavigaterune(Q(),g(U).nodeIndex,P());var j=R(D(se));fe(()=>Le(j,` ${g(U).text??""}`)),z(ie,se)},H=ie=>{var se=EV();se.__click=ne=>e.oneditfield(Q(),ne.currentTarget.getBoundingClientRect(),P(),g(U).nodeIndex);var j=D(se);fe(()=>Le(j,g(U).text)),z(ie,se)};ue(ae,ie=>{g(U).type==="rune"&&g(U).nodeIndex!==void 0?ie(re):ie(H,!1)})}z(W,K)}),z(T,q)},r=(T,$=ns,Q=ns,P=ns)=>{var q=mn(),I=st(q);Lt(I,17,$,en,(W,U)=>{var K=$V();let ae;var re=R(D(K),2);re.__click=se=>{se.stopPropagation(),e.oneditlistitem(Q(),g(U).index,se.currentTarget.getBoundingClientRect(),P())};var H=D(re),ie=R(re,2);ie.__click=()=>e.onremovelistitem(Q(),g(U).index,P()),fe(()=>{ae=We(K,1,"cm-tree__preview-item svelte-1d9gzqq",null,ae,{"cm-tree__preview-item--drag-over":g(o)===Q()&&g(a)===P()&&g(c)===g(U).index&&g(l)!==g(U).index,"cm-tree__preview-item--dragging":g(o)===Q()&&g(a)===P()&&g(l)===g(U).index}),Le(H,g(U).text)}),ct("dragstart",K,se=>u(se,Q(),g(U).index,P())),ct("dragover",K,se=>f(se,g(U).index)),ct("drop",K,se=>d(se,g(U).index)),ct("dragend",K,h),z(W,K)}),z(T,q)},i=(T,$=ns,Q=ns,P=ns)=>{var q=mn(),I=st(q);Lt(I,17,$,en,(W,U)=>{var K=QV();let ae;var re=R(D(K),2);re.__click=se=>{se.stopPropagation(),e.oneditfield(Q(),se.currentTarget.getBoundingClientRect(),P(),g(U).index)};var H=D(re),ie=R(re,2);ie.__click=()=>e.onremovelistitem(Q(),g(U).index,P()),fe(()=>{ae=We(K,1,"cm-tree__preview-item svelte-1d9gzqq",null,ae,{"cm-tree__preview-item--drag-over":g(o)===Q()&&g(a)===P()&&g(c)===g(U).index&&g(l)!==g(U).index,"cm-tree__preview-item--dragging":g(o)===Q()&&g(a)===P()&&g(l)===g(U).index}),Le(H,g(U).text)}),ct("dragstart",K,se=>u(se,Q(),g(U).index,P())),ct("dragover",K,se=>f(se,g(U).index)),ct("drop",K,se=>d(se,g(U).index)),ct("dragend",K,h),z(W,K)}),z(T,q)};let s=Et(e,"selectedField",3,null),o=J(null),a=J(void 0),l=J(null),c=J(null);function u(T,$,Q,P){M(o,$,!0),M(a,P,!0),M(l,Q,!0),M(c,Q,!0),T.dataTransfer&&(T.dataTransfer.effectAllowed="move",T.dataTransfer.setData("text/plain",String(Q)))}function f(T,$){g(l)!==null&&(T.preventDefault(),T.dataTransfer&&(T.dataTransfer.dropEffect="move"),M(c,$,!0))}function d(T,$){T.preventDefault(),g(l)!==null&&g(l)!==$&&g(o)!==null&&e.onreorderlistitem(g(o),g(l),$,g(a)),M(o,null),M(a,void 0),M(l,null),M(c,null)}function h(){M(o,null),M(a,void 0),M(l,null),M(c,null)}function m(T){return T==="list"||T.startsWith("list:")}function p(T){return T.greedy&&T.filled&&T.match!=="any"}function O(T){return T.nodes.map(($,Q)=>{let P;if($.type==="fence")P=$.fenceLanguage?`[${$.fenceLanguage}]`:"[code]";else if($.type==="heading"&&$.headingText)P=$.headingText;else if($.type==="rune"&&$.runeName)P=$.runeName;else if($.type==="image")P="[image]";else{const q=$.source.replace(/\n/g," ").trim();P=q.length>50?q.slice(0,47)+"...":q}return{text:P.length>50?P.slice(0,47)+"...":P,index:Q}})}function v(T){switch(T.includes("|")?T.split("|")[0]:T){case"heading":case"heading:1":case"heading:2":case"heading:3":case"heading:4":case"heading:5":case"heading:6":return"M3 3v10M13 3v10M3 8h10";case"paragraph":return"M2 4h12M2 8h12M2 12h8";case"fence":return"M5 4L2 8l3 4M11 4l3 4-3 4";case"list":case"list:ordered":case"list:unordered":return"M4 4h10M4 8h10M4 12h10M2 4h0M2 8h0M2 12h0";case"blockquote":case"quote":return"M4 4h8M4 7h6M1 3v8";case"image":return"M2 2h12v12H2zM5 5l-3 7h12l-4-5-2 2.5";case"any":return"M2 8h12M8 2v12";default:return"M2 4h12M2 8h12M2 12h8"}}function b(T){const $=[];for(const Q of T){if(Q.type!=="list")continue;const P=rh(Q.source);for(let q=0;q<P.length;q++){const W=P[q].split(`
|
|
575
|
+
<div class="rf-preview-wrapper">${Q}</div>`;const q=f.querySelector(".rf-preview-wrapper");q&&(h=vT(q),q.addEventListener("click",I=>{I.target.closest("a")&&I.preventDefault()},!0),!c()&&e.onsectionclick&&b(q))}catch{f&&(f.innerHTML="<style>:host { display: block; padding: 0.75rem 1.5rem; color: #999; font-family: system-ui; font-size: 12px; }</style><em>Preview unavailable</em>")}}},50),()=>{clearTimeout(d),h&&(h(),h=null)}});var A=cV(),w=D(A);{var y=k=>{var x=aV();z(k,x)};ue(w,k=>{l()&&k(y)})}var S=R(w,2);{var C=k=>{var x=lV();gn(x,E=>M(u,E),()=>g(u)),z(k,x)};ue(S,k=>{e.themeConfig&&k(C)})}fe(()=>$t(A,"draggable",l()?"true":"false")),ct("dragstart",A,function(...k){e.ondragstart?.apply(this,k)}),ct("dragover",A,function(...k){e.ondragover?.apply(this,k)}),ct("drop",A,function(...k){e.ondrop?.apply(this,k)}),z(n,A),vt()}function Fg(n,e){if(e==="any")return!0;if(e.includes("|"))return e.split("|").some(t=>Fg(n,t));if(e.startsWith("heading:")){const t=parseInt(e.slice(8),10);return n.type==="heading"&&n.headingLevel===t}if(e==="list:ordered")return n.type==="list"&&n.listOrdered===!0;if(e==="list:unordered")return n.type==="list"&&n.listOrdered!==!0;if(e.startsWith("tag:")){const t=e.slice(4);return n.type==="rune"&&n.runeName===t}return e==="blockquote"?n.type==="quote":n.type===e}function Ip(n,e){const t=[];let r=0;for(const i of e){const s={name:i.name,match:i.match,optional:i.optional??!1,greedy:i.greedy??!1,filled:!1,nodes:[],description:i.description,template:i.template,emitTag:i.emitTag};if(i.greedy){for(;r<n.length&&Fg(n[r],i.match);)s.nodes.push(n[r]),r++;s.filled=s.nodes.length>0}else r<n.length&&Fg(n[r],i.match)&&(s.nodes.push(n[r]),s.filled=!0,r++);t.push(s)}return t}function fV(n,e){switch(e.type){case"sequence":return{type:"sequence",fields:Ip(n,e.fields)};case"delimited":{const t=[],r=[[]];for(const i of n)i.type==="hr"?r.push([]):r[r.length-1].push(i);if(e.zones)for(let i=0;i<e.zones.length;i++){const s=e.zones[i],o=r[i]??[];t.push({name:s.name,fields:Ip(o,s.fields)})}else if(e.dynamicZones&&e.zoneModel)for(let i=0;i<r.length;i++)t.push({name:`zone-${i+1}`,fields:Ip(r[i],e.zoneModel.fields)});return{type:"delimited",delimiter:e.delimiter,zones:t}}case"sections":return{type:"sections",description:`Sections split by ${e.sectionHeading}${e.emitTag?`, each emits ${e.emitTag}`:""}`};case"custom":return{type:"custom",description:e.description}}}var dV=V('<span class="rune-attrs__required svelte-ong743">*</span>'),hV=V('<span class="rune-attrs__info svelte-ong743"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="7"></circle><line x1="8" y1="7" x2="8" y2="11"></line><circle cx="8" cy="4.5" r="0.5" fill="currentColor" stroke="none"></circle></svg></span>'),pV=V('<button type="button"> </button>'),mV=As('<svg class="rune-attrs__check svelte-ong743" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8l3.5 3.5L13 5"></path></svg>'),gV=As('<svg class="rune-attrs__check svelte-ong743" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8l3.5 3.5L13 5"></path></svg>'),OV=V('<button type="button"><span class="rune-attrs__option-label svelte-ong743"> </span> <!></button>'),vV=V('<div class="rune-attrs__dropdown svelte-ong743"><button type="button"><span class="rune-attrs__option-label rune-attrs__option-label--default svelte-ong743">default</span> <!></button> <!></div>'),bV=V('<div class="rune-attrs__enum svelte-ong743"><button type="button"> </button> <!></div>'),yV=V('<input class="rune-attrs__inline-input svelte-ong743"/>'),wV=V('<button type="button"> </button>'),_V=V('<div class="rune-attrs__row svelte-ong743"><span class="rune-attrs__label svelte-ong743"> <!> <!></span> <!></div>'),kV=V('<span class="rune-attrs__empty svelte-ong743">No attributes</span>'),xV=V('<div class="rune-attrs svelte-ong743"><!> <!></div>');function Pw(n,e){Ot(e,!0);const t=new Set(["ratio","align","gap","collapse"]);function r(y,S){const C={...e.attributes};S===""||S===void 0?delete C[y]:C[y]=S,e.onchange(C)}function i(y){return y.replace(/-/g," ").replace(/\b\w/g,S=>S.toUpperCase())}function s(y){if(!t.has(y)||!("layout"in e.runeInfo.attributes))return!1;const S=e.attributes.layout??"";return S!=="split"&&S!=="split-reverse"}let o=me(()=>Object.entries(e.runeInfo.attributes).filter(([y])=>!s(y)).sort(([,y],[,S])=>y.required===S.required?0:y.required?-1:1)),a=J(null),l;function c(y){M(a,g(a)===y?null:y,!0)}function u(y,S){r(y,S),M(a,null)}function f(y){g(a)&&l&&!l.contains(y.target)&&M(a,null)}function d(y){y.key==="Escape"&&g(a)&&(M(a,null),y.stopPropagation())}let h=J(null),m=J("");function p(y,S){M(h,y,!0),M(m,S,!0)}function O(y){r(y,g(m)),M(h,null)}function v(y,S){y.key==="Enter"?O(S):y.key==="Escape"&&(M(h,null),y.stopPropagation())}var b=xV();ct("mousedown",No,f),ct("keydown",No,d);var _=D(b);Lt(_,17,()=>g(o),([y,S])=>y,(y,S)=>{var C=me(()=>jc(g(S),2));let k=()=>g(C)[0],x=()=>g(C)[1];const E=me(()=>e.attributes[k()]??"");var T=_V(),$=D(T),Q=D($),P=R(Q);{var q=ie=>{var se=dV();z(ie,se)};ue(P,ie=>{x().required&&ie(q)})}var I=R(P,2);{var W=ie=>{var se=hV();fe(()=>$t(se,"data-tooltip",x().description)),z(ie,se)};ue(I,ie=>{x().description&&ie(W)})}var U=R($,2);{var K=ie=>{var se=pV();let j;se.__click=()=>r(k(),g(E)==="true"?"":"true");var ne=D(se);fe(()=>{j=We(se,1,"rune-attrs__value svelte-ong743",null,j,{active:g(E)==="true"}),Le(ne,g(E)==="true"?"Yes":"No")}),z(ie,se)},ae=ie=>{var se=bV(),j=D(se);let ne;j.__click=()=>c(k());var Te=D(j),Qe=R(j,2);{var De=ge=>{var Ee=vV(),Ke=D(Ee);let tt;Ke.__click=()=>u(k(),"");var Ve=R(D(Ke),2);{var Ge=At=>{var Jt=mV();z(At,Jt)};ue(Ve,At=>{g(E)||At(Ge)})}var Re=R(Ke,2);Lt(Re,17,()=>x().values,en,(At,Jt)=>{var En=OV();let ft;En.__click=()=>u(k(),g(Jt));var on=D(En),an=D(on),Vn=R(on,2);{var Ae=$n=>{var Mt=gV();z($n,Mt)};ue(Vn,$n=>{g(E)===g(Jt)&&$n(Ae)})}fe(()=>{ft=We(En,1,"rune-attrs__option svelte-ong743",null,ft,{selected:g(E)===g(Jt)}),Le(an,g(Jt))}),z(At,En)}),fe(()=>tt=We(Ke,1,"rune-attrs__option svelte-ong743",null,tt,{selected:!g(E)})),z(ge,Ee)};ue(Qe,ge=>{g(a)===k()&&ge(De)})}fe(()=>{ne=We(j,1,"rune-attrs__value svelte-ong743",null,ne,{active:!!g(E),open:g(a)===k()}),Le(Te,g(E)||"default")}),z(ie,se)},re=ie=>{var se=yV();se.__keydown=j=>v(j,k()),ys(se),fe(()=>$t(se,"type",x().type==="Number"?"number":"text")),ct("blur",se,()=>O(k())),Nn(se,()=>g(m),j=>M(m,j)),z(ie,se)},H=ie=>{var se=wV();let j;se.__click=()=>p(k(),g(E));var ne=D(se);fe(()=>{j=We(se,1,"rune-attrs__value svelte-ong743",null,j,{active:!!g(E)}),Le(ne,g(E)||(x().required?"required":"default"))}),z(ie,se)};ue(U,ie=>{x().type==="Boolean"?ie(K):x().values&&x().values.length>0?ie(ae,1):g(h)===k()?ie(re,2):ie(H,!1)})}fe(ie=>Le(Q,`${ie??""} `),[()=>i(k())]),z(y,T)});var A=R(_,2);{var w=y=>{var S=kV();z(y,S)};ue(A,y=>{g(o).length===0&&y(w)})}gn(b,y=>l=y,()=>l),z(n,b),vt()}Kt(["click","keydown"]);var SV=V('<div class="tree-node svelte-16z33d"><button type="button"><span class="tree-node__indicator svelte-16z33d">▾</span> <span class="tree-node__rune-dot svelte-16z33d"></span> <span class="tree-node__label tree-node__label--rune svelte-16z33d"> </span></button></div>'),AV=V('<button type="button"><span class="tree-node__indicator svelte-16z33d"> </span> <span class="tree-node__rune-dot svelte-16z33d"></span> <span class="tree-node__label tree-node__label--rune svelte-16z33d"> </span></button>'),CV=V('<button type="button"><svg class="tree-node__icon svelte-16z33d" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <span class="tree-node__label tree-node__label--content svelte-16z33d"> </span></button>'),TV=V('<div class="tree-node svelte-16z33d"><!></div> <!>',1),PV=V("<!> <!>",1);function bT(n,e){Ot(e,!0);let t=Et(e,"isRootActive",3,!1),r=Et(e,"depth",3,0),i=Et(e,"pathPrefix",19,()=>[]);function s(d){return d.length!==e.activePath.length?!1:d.every((h,m)=>h===e.activePath[m])}function o(d){return d.length>e.activePath.length?!1:d.every((h,m)=>h===e.activePath[m])}const a={heading:"M3 3v10M13 3v10M3 8h10",paragraph:"M2 4h12M2 8h12M2 12h8",fence:"M5 4L2 8l3 4M11 4l3 4-3 4",list:"M4 4h10M4 8h10M4 12h10M2 4h0M2 8h0M2 12h0",quote:"M4 4h8M4 7h6M1 3v8",hr:"M2 8h12",image:"M2 2h12v12H2zM5 5l-3 7h12l-4-5-2 2.5"};var l=PV(),c=st(l);{var u=d=>{var h=SV(),m=D(h);let p;m.__click=function(...b){e.onrootclick?.apply(this,b)};var O=R(D(m),4),v=D(O);fe(()=>{p=We(m,1,"tree-node__btn tree-node__btn--rune svelte-16z33d",null,p,{active:t()}),Le(v,e.rootLabel)}),z(d,h)};ue(c,d=>{e.rootLabel&&e.onrootclick&&d(u)})}var f=R(c,2);Lt(f,17,()=>e.nodes,en,(d,h,m)=>{const p=me(()=>[...i(),m]),O=me(()=>g(h).type==="rune"),v=me(()=>s(g(p))),b=me(()=>o(g(p))&&!g(v)),_=me(()=>g(O)&&!g(h).selfClosing&&g(h).children&&g(h).children.length>0);var A=TV(),w=st(A),y=D(w);{var S=E=>{var T=AV();let $;T.__click=()=>e.onselect(g(p));var Q=D(T),P=D(Q),q=R(Q,4),I=D(q);fe(()=>{$=We(T,1,"tree-node__btn tree-node__btn--rune svelte-16z33d",null,$,{active:g(v),ancestor:g(b)}),Le(P,g(_)?"▾":"▸"),Le(I,g(h).label)}),z(E,T)},C=E=>{var T=CV();let $;T.__click=()=>e.onselect(g(p));var Q=D(T),P=D(Q),q=R(Q,2),I=D(q);fe(()=>{$=We(T,1,"tree-node__btn tree-node__btn--content svelte-16z33d",null,$,{active:g(v)}),$t(P,"d",a[g(h).type]??"M2 4h12M2 8h12M2 12h8"),Le(I,g(h).label)}),z(E,T)};ue(y,E=>{g(O)?E(S):E(C,!1)})}var k=R(w,2);{var x=E=>{var T=mn(),$=st(T);{let Q=me(()=>r()+1);bT($,{get nodes(){return g(h).children},get activePath(){return e.activePath},get onselect(){return e.onselect},get depth(){return g(Q)},get pathPrefix(){return g(p)}})}z(E,T)};ue(k,E=>{g(_)&&g(h).children&&E(x)})}fe(()=>$r(w,`padding-left: ${(r()+(e.rootLabel?1:0))*16}px`)),z(d,A)}),z(n,l),vt()}Kt(["click"]);var EV=V('<button type="button" class="cm-tree__preview-line cm-tree__preview-line--rune svelte-1d9gzqq"><span class="cm-tree__rune-dot svelte-1d9gzqq"></span> </button>'),$V=V('<button type="button" class="cm-tree__preview-line cm-tree__preview-line--clickable svelte-1d9gzqq"> </button>'),QV=V('<div draggable="true"><span class="cm-tree__preview-grip svelte-1d9gzqq" title="Drag to reorder"><svg width="6" height="10" viewBox="0 0 6 10" fill="none"><circle cx="1.5" cy="1.5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="1.5" r="1" fill="currentColor"></circle><circle cx="1.5" cy="5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="5" r="1" fill="currentColor"></circle><circle cx="1.5" cy="8.5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="8.5" r="1" fill="currentColor"></circle></svg></span> <button type="button" class="cm-tree__preview-text cm-tree__preview-text--clickable svelte-1d9gzqq"> </button> <button type="button" class="cm-tree__preview-remove svelte-1d9gzqq" title="Remove item"><svg width="10" height="10" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"></line><line x1="12" y1="4" x2="4" y2="12"></line></svg></button></div>'),LV=V('<div draggable="true"><span class="cm-tree__preview-grip svelte-1d9gzqq" title="Drag to reorder"><svg width="6" height="10" viewBox="0 0 6 10" fill="none"><circle cx="1.5" cy="1.5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="1.5" r="1" fill="currentColor"></circle><circle cx="1.5" cy="5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="5" r="1" fill="currentColor"></circle><circle cx="1.5" cy="8.5" r="1" fill="currentColor"></circle><circle cx="4.5" cy="8.5" r="1" fill="currentColor"></circle></svg></span> <button type="button" class="cm-tree__preview-text cm-tree__preview-text--clickable svelte-1d9gzqq"> </button> <button type="button" class="cm-tree__preview-remove svelte-1d9gzqq" title="Remove item"><svg width="10" height="10" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"></line><line x1="12" y1="4" x2="4" y2="12"></line></svg></button></div>'),MV=V('<span class="cm-tree__required-badge svelte-1d9gzqq">required</span>'),qV=V('<button type="button" class="cm-tree__action cm-tree__action--add svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="8" y1="3" x2="8" y2="13"></line><line x1="3" y1="8" x2="13" y2="8"></line></svg></button>'),DV=V('<!> <button type="button" class="cm-tree__action cm-tree__action--remove svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 3 14 13 14 13 6"></polyline><line x1="1" y1="4" x2="15" y2="4"></line><line x1="6" y1="8" x2="6" y2="12"></line><line x1="10" y1="8" x2="10" y2="12"></line></svg></button>',1),RV=V('<button type="button" class="cm-tree__action cm-tree__action--add svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="8" y1="3" x2="8" y2="13"></line><line x1="3" y1="8" x2="13" y2="8"></line></svg></button>'),IV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),NV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),BV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),jV=V('<button type="button"><svg class="cm-tree__field-icon svelte-1d9gzqq" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <span class="cm-tree__field-name svelte-1d9gzqq"> </span> <!> <span class="cm-tree__field-spacer svelte-1d9gzqq"></span> <!></button> <!>',1),zV=V('<div class="cm-tree__fields svelte-1d9gzqq"></div>'),ZV=V('<div class="cm-tree__delimiter svelte-1d9gzqq"><span class="cm-tree__delimiter-line svelte-1d9gzqq"></span></div>'),FV=V('<span class="cm-tree__required-badge svelte-1d9gzqq">required</span>'),XV=V('<button type="button" class="cm-tree__action cm-tree__action--add svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="8" y1="3" x2="8" y2="13"></line><line x1="3" y1="8" x2="13" y2="8"></line></svg></button>'),VV=V('<!> <button type="button" class="cm-tree__action cm-tree__action--remove svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 3 14 13 14 13 6"></polyline><line x1="1" y1="4" x2="15" y2="4"></line><line x1="6" y1="8" x2="6" y2="12"></line><line x1="10" y1="8" x2="10" y2="12"></line></svg></button>',1),WV=V('<button type="button" class="cm-tree__action cm-tree__action--add svelte-1d9gzqq"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="8" y1="3" x2="8" y2="13"></line><line x1="3" y1="8" x2="13" y2="8"></line></svg></button>'),YV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),UV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),GV=V('<div class="cm-tree__previews svelte-1d9gzqq"><!></div>'),HV=V('<button type="button"><svg class="cm-tree__field-icon svelte-1d9gzqq" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <span class="cm-tree__field-name svelte-1d9gzqq"> </span> <!> <span class="cm-tree__field-spacer svelte-1d9gzqq"></span> <!></button> <!>',1),KV=V('<!> <div class="cm-tree__zone svelte-1d9gzqq"><div class="cm-tree__zone-label svelte-1d9gzqq"> </div> <div class="cm-tree__fields svelte-1d9gzqq"></div></div>',1),JV=V('<div class="cm-tree__description svelte-1d9gzqq"> </div>'),eW=V('<div class="cm-tree svelte-1d9gzqq"><div class="cm-tree__root svelte-1d9gzqq"><span class="cm-tree__rune-dot svelte-1d9gzqq"></span> <span class="cm-tree__root-label svelte-1d9gzqq"> </span></div> <!></div>');function tW(n,e){Ot(e,!0);const t=(T,$=ns,Q=ns,P=ns)=>{var q=mn(),I=st(q);Lt(I,17,$,en,(W,U)=>{var K=mn(),ae=st(K);{var re=ie=>{var se=EV();se.__click=()=>e.onnavigaterune(Q(),g(U).nodeIndex,P());var j=R(D(se));fe(()=>Le(j,` ${g(U).text??""}`)),z(ie,se)},H=ie=>{var se=$V();se.__click=ne=>e.oneditfield(Q(),ne.currentTarget.getBoundingClientRect(),P(),g(U).nodeIndex);var j=D(se);fe(()=>Le(j,g(U).text)),z(ie,se)};ue(ae,ie=>{g(U).type==="rune"&&g(U).nodeIndex!==void 0?ie(re):ie(H,!1)})}z(W,K)}),z(T,q)},r=(T,$=ns,Q=ns,P=ns)=>{var q=mn(),I=st(q);Lt(I,17,$,en,(W,U)=>{var K=QV();let ae;var re=R(D(K),2);re.__click=se=>{se.stopPropagation(),e.oneditlistitem(Q(),g(U).index,se.currentTarget.getBoundingClientRect(),P())};var H=D(re),ie=R(re,2);ie.__click=()=>e.onremovelistitem(Q(),g(U).index,P()),fe(()=>{ae=We(K,1,"cm-tree__preview-item svelte-1d9gzqq",null,ae,{"cm-tree__preview-item--drag-over":g(o)===Q()&&g(a)===P()&&g(c)===g(U).index&&g(l)!==g(U).index,"cm-tree__preview-item--dragging":g(o)===Q()&&g(a)===P()&&g(l)===g(U).index}),Le(H,g(U).text)}),ct("dragstart",K,se=>u(se,Q(),g(U).index,P())),ct("dragover",K,se=>f(se,g(U).index)),ct("drop",K,se=>d(se,g(U).index)),ct("dragend",K,h),z(W,K)}),z(T,q)},i=(T,$=ns,Q=ns,P=ns)=>{var q=mn(),I=st(q);Lt(I,17,$,en,(W,U)=>{var K=LV();let ae;var re=R(D(K),2);re.__click=se=>{se.stopPropagation(),e.oneditfield(Q(),se.currentTarget.getBoundingClientRect(),P(),g(U).index)};var H=D(re),ie=R(re,2);ie.__click=()=>e.onremovelistitem(Q(),g(U).index,P()),fe(()=>{ae=We(K,1,"cm-tree__preview-item svelte-1d9gzqq",null,ae,{"cm-tree__preview-item--drag-over":g(o)===Q()&&g(a)===P()&&g(c)===g(U).index&&g(l)!==g(U).index,"cm-tree__preview-item--dragging":g(o)===Q()&&g(a)===P()&&g(l)===g(U).index}),Le(H,g(U).text)}),ct("dragstart",K,se=>u(se,Q(),g(U).index,P())),ct("dragover",K,se=>f(se,g(U).index)),ct("drop",K,se=>d(se,g(U).index)),ct("dragend",K,h),z(W,K)}),z(T,q)};let s=Et(e,"selectedField",3,null),o=J(null),a=J(void 0),l=J(null),c=J(null);function u(T,$,Q,P){M(o,$,!0),M(a,P,!0),M(l,Q,!0),M(c,Q,!0),T.dataTransfer&&(T.dataTransfer.effectAllowed="move",T.dataTransfer.setData("text/plain",String(Q)))}function f(T,$){g(l)!==null&&(T.preventDefault(),T.dataTransfer&&(T.dataTransfer.dropEffect="move"),M(c,$,!0))}function d(T,$){T.preventDefault(),g(l)!==null&&g(l)!==$&&g(o)!==null&&e.onreorderlistitem(g(o),g(l),$,g(a)),M(o,null),M(a,void 0),M(l,null),M(c,null)}function h(){M(o,null),M(a,void 0),M(l,null),M(c,null)}function m(T){return T==="list"||T.startsWith("list:")}function p(T){return T.greedy&&T.filled&&T.match!=="any"}function O(T){return T.nodes.map(($,Q)=>{let P;if($.type==="fence")P=$.fenceLanguage?`[${$.fenceLanguage}]`:"[code]";else if($.type==="heading"&&$.headingText)P=$.headingText;else if($.type==="rune"&&$.runeName)P=$.runeName;else if($.type==="image")P="[image]";else{const q=$.source.replace(/\n/g," ").trim();P=q.length>50?q.slice(0,47)+"...":q}return{text:P.length>50?P.slice(0,47)+"...":P,index:Q}})}function v(T){switch(T.includes("|")?T.split("|")[0]:T){case"heading":case"heading:1":case"heading:2":case"heading:3":case"heading:4":case"heading:5":case"heading:6":return"M3 3v10M13 3v10M3 8h10";case"paragraph":return"M2 4h12M2 8h12M2 12h8";case"fence":return"M5 4L2 8l3 4M11 4l3 4-3 4";case"list":case"list:ordered":case"list:unordered":return"M4 4h10M4 8h10M4 12h10M2 4h0M2 8h0M2 12h0";case"blockquote":case"quote":return"M4 4h8M4 7h6M1 3v8";case"image":return"M2 2h12v12H2zM5 5l-3 7h12l-4-5-2 2.5";case"any":return"M2 8h12M8 2v12";default:return"M2 4h12M2 8h12M2 12h8"}}function b(T){const $=[];for(const Q of T){if(Q.type!=="list")continue;const P=rh(Q.source);for(let q=0;q<P.length;q++){const W=P[q].split(`
|
|
576
576
|
`)[0].replace(/^[-*+]\s+|^\d+\.\s+/,"").trim();W&&$.push({text:W.length>50?W.slice(0,47)+"...":W,index:q})}}return $}function _(T){const $=[];for(let Q=0;Q<T.length;Q++){const P=T[Q];if(P.type==="heading"&&P.headingText)$.push({text:P.headingText,type:"text",nodeIndex:Q});else if(P.type==="paragraph"){const q=P.source.replace(/\n/g," ").trim();$.push({text:q.length>60?q.slice(0,57)+"...":q,type:"text",nodeIndex:Q})}else if(P.type==="rune"&&P.runeName)$.push({text:P.runeName,type:"rune",nodeIndex:Q});else if(P.type==="fence"){const q=P.fenceLanguage?`[${P.fenceLanguage}]`:"[code]";$.push({text:q,type:"text",nodeIndex:Q})}else if(P.type==="list"){const q=P.source.split(`
|
|
577
|
-
`).filter(I=>I.match(/^[-*\d.]\s/)).map(I=>I.replace(/^[-*\d.]+\s+/,"").trim()).filter(Boolean);for(const I of q.slice(0,3))$.push({text:I.length>50?I.slice(0,47)+"...":I,type:"text"});q.length>3&&$.push({text:`... +${q.length-3} more`,type:"text"})}else if(P.type==="image")$.push({text:"[image]",type:"text",nodeIndex:Q});else{const q=P.source.replace(/\n/g," ").trim();q&&$.push({text:q.length>50?q.slice(0,47)+"...":q,type:"text",nodeIndex:Q})}}return $}var A=JV(),w=D(A),y=R(D(w),2),S=D(y),C=R(w,2);{var k=T=>{var $=jV();Lt($,21,()=>e.structure.fields,en,(Q,P)=>{const q=me(()=>_(g(P).nodes)),I=me(()=>m(g(P).match)?b(g(P).nodes):[]),W=me(()=>p(g(P))?O(g(P)):[]);var U=BV(),K=st(U);let ae;K.__click=()=>e.onfieldselect(g(P).name);var re=D(K),H=D(re),ie=R(re,2),se=D(ie),j=R(ie,2);{var ne=Ge=>{var Re=LV();z(Ge,Re)};ue(j,Ge=>{!g(P).optional&&!g(P).filled&&Ge(ne)})}var Te=R(j,4);{var Qe=Ge=>{var Re=qV(),At=st(Re);{var Jt=on=>{var an=MV();an.__click=Vn=>{Vn.stopPropagation(),e.onappenditem(g(P).name)},fe(()=>$t(an,"title",`Add item to ${g(P).name??""}`)),z(on,an)},En=me(()=>m(g(P).match)||p(g(P)));ue(At,on=>{g(En)&&on(Jt)})}var ft=R(At,2);ft.__click=on=>{on.stopPropagation(),e.onremovefield(g(P).name)},fe(()=>$t(ft,"title",`Remove ${g(P).name??""}`)),z(Ge,Re)},De=Ge=>{var Re=DV();Re.__click=At=>{At.stopPropagation(),e.onaddfield(g(P).name)},fe(()=>$t(Re,"title",`Add ${g(P).name??""}`)),z(Ge,Re)};ue(Te,Ge=>{g(P).filled?Ge(Qe):Ge(De,!1)})}var ge=R(K,2);{var Ee=Ge=>{var Re=RV(),At=D(Re);r(At,()=>g(I),()=>g(P).name),z(Ge,Re)},Ke=me(()=>g(P).filled&&m(g(P).match)&&g(I).length>0),tt=Ge=>{var Re=IV(),At=D(Re);i(At,()=>g(W),()=>g(P).name),z(Ge,Re)},Ve=Ge=>{var Re=NV(),At=D(Re);t(At,()=>g(q),()=>g(P).name),z(Ge,Re)};ue(ge,Ge=>{g(Ke)?Ge(Ee):g(P).filled&&g(W).length>0?Ge(tt,1):g(P).filled&&g(q).length>0&&Ge(Ve,2)})}fe(Ge=>{ae=We(K,1,"cm-tree__field svelte-1d9gzqq",null,ae,{"cm-tree__field--filled":g(P).filled,"cm-tree__field--empty":!g(P).filled,"cm-tree__field--required":!g(P).optional&&!g(P).filled,"cm-tree__field--selected":s()===g(P).name}),$t(H,"d",Ge),Le(se,g(P).name)},[()=>v(g(P).match)]),z(Q,U)}),z(T,$)},x=T=>{var $=mn(),Q=st($);Lt(Q,17,()=>e.structure.zones,en,(P,q,I)=>{var W=HV(),U=st(W);{var K=se=>{var j=zV();z(se,j)};ue(U,se=>{I>0&&se(K)})}var ae=R(U,2),re=D(ae),H=D(re),ie=R(re,2);Lt(ie,21,()=>g(q).fields,en,(se,j)=>{const ne=me(()=>_(g(j).nodes)),Te=me(()=>m(g(j).match)?b(g(j).nodes):[]),Qe=me(()=>p(g(j))?O(g(j)):[]);var De=GV(),ge=st(De);let Ee;ge.__click=()=>e.onfieldselect(g(j).name,g(q).name);var Ke=D(ge),tt=D(Ke),Ve=R(Ke,2),Ge=D(Ve),Re=R(Ve,2);{var At=Mt=>{var bt=ZV();z(Mt,bt)};ue(Re,Mt=>{!g(j).optional&&!g(j).filled&&Mt(At)})}var Jt=R(Re,4);{var En=Mt=>{var bt=XV(),un=st(bt);{var le=Ce=>{var Se=FV();Se.__click=yt=>{yt.stopPropagation(),e.onappenditem(g(j).name,g(q).name)},fe(()=>$t(Se,"title",`Add item to ${g(j).name??""}`)),z(Ce,Se)},ve=me(()=>m(g(j).match)||p(g(j)));ue(un,Ce=>{g(ve)&&Ce(le)})}var ye=R(un,2);ye.__click=Ce=>{Ce.stopPropagation(),e.onremovefield(g(j).name,g(q).name)},fe(()=>$t(ye,"title",`Remove ${g(j).name??""}`)),z(Mt,bt)},ft=Mt=>{var bt=VV();bt.__click=un=>{un.stopPropagation(),e.onaddfield(g(j).name,g(q).name)},fe(()=>$t(bt,"title",`Add ${g(j).name??""}`)),z(Mt,bt)};ue(Jt,Mt=>{g(j).filled?Mt(En):Mt(ft,!1)})}var on=R(ge,2);{var an=Mt=>{var bt=WV(),un=D(bt);r(un,()=>g(Te),()=>g(j).name,()=>g(q).name),z(Mt,bt)},Vn=me(()=>g(j).filled&&m(g(j).match)&&g(Te).length>0),Ae=Mt=>{var bt=YV(),un=D(bt);i(un,()=>g(Qe),()=>g(j).name,()=>g(q).name),z(Mt,bt)},$n=Mt=>{var bt=UV(),un=D(bt);t(un,()=>g(ne),()=>g(j).name,()=>g(q).name),z(Mt,bt)};ue(on,Mt=>{g(Vn)?Mt(an):g(j).filled&&g(Qe).length>0?Mt(Ae,1):g(j).filled&&g(ne).length>0&&Mt($n,2)})}fe(Mt=>{Ee=We(ge,1,"cm-tree__field svelte-1d9gzqq",null,Ee,{"cm-tree__field--filled":g(j).filled,"cm-tree__field--empty":!g(j).filled,"cm-tree__field--required":!g(j).optional&&!g(j).filled,"cm-tree__field--selected":s()===`${g(q).name}.${g(j).name}`}),$t(tt,"d",Mt),Le(Ge,g(j).name)},[()=>v(g(j).match)]),z(se,De)}),fe(()=>Le(H,g(q).name)),z(P,W)}),z(T,$)},E=T=>{var $=KV(),Q=D($);fe(()=>Le(Q,e.structure.description)),z(T,$)};ue(C,T=>{e.structure.type==="sequence"?T(k):e.structure.type==="delimited"?T(x,1):(e.structure.type==="sections"||e.structure.type==="custom")&&T(E,2)})}fe(()=>Le(S,e.rootLabel)),z(n,A),vt()}Kt(["click"]);function he(n){return new Ha(NO.define(n))}function Ls(n){return oe(()=>import("./index-BvEu7II1.js"),[]).then(e=>e.sql({dialect:e[n]}))}const yT=[ee.of({name:"C",extensions:["c","h","ino"],load(){return oe(()=>import("./index-WVl6IBDi.js"),[]).then(n=>n.cpp())}}),ee.of({name:"C++",alias:["cpp"],extensions:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],load(){return oe(()=>import("./index-WVl6IBDi.js"),[]).then(n=>n.cpp())}}),ee.of({name:"CQL",alias:["cassandra"],extensions:["cql"],load(){return Ls("Cassandra")}}),ee.of({name:"CSS",extensions:["css"],load(){return oe(()=>Promise.resolve().then(()=>T3),void 0).then(n=>n.css())}}),ee.of({name:"Go",extensions:["go"],load(){return oe(()=>import("./index-r_mflh-I.js"),[]).then(n=>n.go())}}),ee.of({name:"HTML",alias:["xhtml"],extensions:["html","htm","handlebars","hbs"],load(){return oe(()=>Promise.resolve().then(()=>yI),void 0).then(n=>n.html())}}),ee.of({name:"Java",extensions:["java"],load(){return oe(()=>import("./index-DaOsQc7e.js"),[]).then(n=>n.java())}}),ee.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return oe(()=>Promise.resolve().then(()=>Lu),void 0).then(n=>n.javascript())}}),ee.of({name:"Jinja",extensions:["j2","jinja","jinja2"],load(){return oe(()=>import("./index-DmPG9jP3.js"),[]).then(n=>n.jinja())}}),ee.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return oe(()=>import("./index-BP7gTPna.js"),[]).then(n=>n.json())}}),ee.of({name:"JSX",extensions:["jsx"],load(){return oe(()=>Promise.resolve().then(()=>Lu),void 0).then(n=>n.javascript({jsx:!0}))}}),ee.of({name:"LESS",extensions:["less"],load(){return oe(()=>import("./index-DtHuAIO7.js"),[]).then(n=>n.less())}}),ee.of({name:"Liquid",extensions:["liquid"],load(){return oe(()=>import("./index-DK--pZ9a.js"),[]).then(n=>n.liquid())}}),ee.of({name:"MariaDB SQL",load(){return Ls("MariaSQL")}}),ee.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return oe(()=>Promise.resolve().then(()=>$I),void 0).then(n=>n.markdown())}}),ee.of({name:"MS SQL",load(){return Ls("MSSQL")}}),ee.of({name:"MySQL",load(){return Ls("MySQL")}}),ee.of({name:"PHP",extensions:["php","php3","php4","php5","php7","phtml"],load(){return oe(()=>import("./index-QxqaOwbg.js"),[]).then(n=>n.php())}}),ee.of({name:"PLSQL",extensions:["pls"],load(){return Ls("PLSQL")}}),ee.of({name:"PostgreSQL",load(){return Ls("PostgreSQL")}}),ee.of({name:"Python",extensions:["BUILD","bzl","py","pyw"],filename:/^(BUCK|BUILD)$/,load(){return oe(()=>import("./index-CKFt-7G8.js"),[]).then(n=>n.python())}}),ee.of({name:"Rust",extensions:["rs"],load(){return oe(()=>import("./index-mzd1hmL9.js"),[]).then(n=>n.rust())}}),ee.of({name:"Sass",extensions:["sass"],load(){return oe(()=>import("./index-C42lr9ZS.js"),[]).then(n=>n.sass({indented:!0}))}}),ee.of({name:"SCSS",extensions:["scss"],load(){return oe(()=>import("./index-C42lr9ZS.js"),[]).then(n=>n.sass())}}),ee.of({name:"SQL",extensions:["sql"],load(){return Ls("StandardSQL")}}),ee.of({name:"SQLite",load(){return Ls("SQLite")}}),ee.of({name:"TSX",extensions:["tsx"],load(){return oe(()=>Promise.resolve().then(()=>Lu),void 0).then(n=>n.javascript({jsx:!0,typescript:!0}))}}),ee.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return oe(()=>Promise.resolve().then(()=>Lu),void 0).then(n=>n.javascript({typescript:!0}))}}),ee.of({name:"WebAssembly",extensions:["wat","wast"],load(){return oe(()=>import("./index-pGWO1_MG.js"),[]).then(n=>n.wast())}}),ee.of({name:"XML",alias:["rss","wsdl","xsd"],extensions:["xml","xsl","xsd","svg"],load(){return oe(()=>import("./index-JsHwtusR.js"),[]).then(n=>n.xml())}}),ee.of({name:"YAML",alias:["yml"],extensions:["yaml","yml"],load(){return oe(()=>import("./index-Df0mI0b8.js"),[]).then(n=>n.yaml())}}),ee.of({name:"APL",extensions:["dyalog","apl"],load(){return oe(()=>import("./apl-B4CMkyY2.js"),[]).then(n=>he(n.apl))}}),ee.of({name:"PGP",alias:["asciiarmor"],extensions:["asc","pgp","sig"],load(){return oe(()=>import("./asciiarmor-Df11BRmG.js"),[]).then(n=>he(n.asciiArmor))}}),ee.of({name:"ASN.1",extensions:["asn","asn1"],load(){return oe(()=>import("./asn1-EdZsLKOL.js"),[]).then(n=>he(n.asn1({})))}}),ee.of({name:"Asterisk",filename:/^extensions\.conf$/i,load(){return oe(()=>import("./asterisk-B-8jnY81.js"),[]).then(n=>he(n.asterisk))}}),ee.of({name:"Brainfuck",extensions:["b","bf"],load(){return oe(()=>import("./brainfuck-C4LP7Hcl.js"),[]).then(n=>he(n.brainfuck))}}),ee.of({name:"Cobol",extensions:["cob","cpy"],load(){return oe(()=>import("./cobol-CWcv1MsR.js"),[]).then(n=>he(n.cobol))}}),ee.of({name:"C#",alias:["csharp","cs"],extensions:["cs"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.csharp))}}),ee.of({name:"Clojure",extensions:["clj","cljc","cljx"],load(){return oe(()=>import("./clojure-BMjYHr_A.js"),[]).then(n=>he(n.clojure))}}),ee.of({name:"ClojureScript",extensions:["cljs"],load(){return oe(()=>import("./clojure-BMjYHr_A.js"),[]).then(n=>he(n.clojure))}}),ee.of({name:"Closure Stylesheets (GSS)",extensions:["gss"],load(){return oe(()=>import("./css-BnMrqG3P.js"),[]).then(n=>he(n.gss))}}),ee.of({name:"CMake",extensions:["cmake","cmake.in"],filename:/^CMakeLists\.txt$/,load(){return oe(()=>import("./cmake-BQqOBYOt.js"),[]).then(n=>he(n.cmake))}}),ee.of({name:"CoffeeScript",alias:["coffee","coffee-script"],extensions:["coffee"],load(){return oe(()=>import("./coffeescript-S37ZYGWr.js"),[]).then(n=>he(n.coffeeScript))}}),ee.of({name:"Common Lisp",alias:["lisp"],extensions:["cl","lisp","el"],load(){return oe(()=>import("./commonlisp-DBKNyK5s.js"),[]).then(n=>he(n.commonLisp))}}),ee.of({name:"Cypher",extensions:["cyp","cypher"],load(){return oe(()=>import("./cypher-C_CwsFkJ.js"),[]).then(n=>he(n.cypher))}}),ee.of({name:"Cython",extensions:["pyx","pxd","pxi"],load(){return oe(()=>import("./python-BuPzkPfP.js"),[]).then(n=>he(n.cython))}}),ee.of({name:"Crystal",extensions:["cr"],load(){return oe(()=>import("./crystal-SjHAIU92.js"),[]).then(n=>he(n.crystal))}}),ee.of({name:"D",extensions:["d"],load(){return oe(()=>import("./d-pRatUO7H.js"),[]).then(n=>he(n.d))}}),ee.of({name:"Dart",extensions:["dart"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.dart))}}),ee.of({name:"diff",extensions:["diff","patch"],load(){return oe(()=>import("./diff-DbItnlRl.js"),[]).then(n=>he(n.diff))}}),ee.of({name:"Dockerfile",filename:/^Dockerfile$/,load(){return oe(()=>import("./dockerfile-BKs6k2Af.js"),__vite__mapDeps([0,1])).then(n=>he(n.dockerFile))}}),ee.of({name:"DTD",extensions:["dtd"],load(){return oe(()=>import("./dtd-DF_7sFjM.js"),[]).then(n=>he(n.dtd))}}),ee.of({name:"Dylan",extensions:["dylan","dyl","intr"],load(){return oe(()=>import("./dylan-DwRh75JA.js"),[]).then(n=>he(n.dylan))}}),ee.of({name:"EBNF",load(){return oe(()=>import("./ebnf-CDyGwa7X.js"),[]).then(n=>he(n.ebnf))}}),ee.of({name:"ECL",extensions:["ecl"],load(){return oe(()=>import("./ecl-Cabwm37j.js"),[]).then(n=>he(n.ecl))}}),ee.of({name:"edn",extensions:["edn"],load(){return oe(()=>import("./clojure-BMjYHr_A.js"),[]).then(n=>he(n.clojure))}}),ee.of({name:"Eiffel",extensions:["e"],load(){return oe(()=>import("./eiffel-CnydiIhH.js"),[]).then(n=>he(n.eiffel))}}),ee.of({name:"Elm",extensions:["elm"],load(){return oe(()=>import("./elm-vLlmbW-K.js"),[]).then(n=>he(n.elm))}}),ee.of({name:"Erlang",extensions:["erl"],load(){return oe(()=>import("./erlang-BNw1qcRV.js"),[]).then(n=>he(n.erlang))}}),ee.of({name:"Esper",load(){return oe(()=>import("./sql-D0XecflT.js"),[]).then(n=>he(n.esper))}}),ee.of({name:"Factor",extensions:["factor"],load(){return oe(()=>import("./factor-kuTfRLto.js"),__vite__mapDeps([2,1])).then(n=>he(n.factor))}}),ee.of({name:"FCL",load(){return oe(()=>import("./fcl-Kvtd6kyn.js"),[]).then(n=>he(n.fcl))}}),ee.of({name:"Forth",extensions:["forth","fth","4th"],load(){return oe(()=>import("./forth-Ffai-XNe.js"),[]).then(n=>he(n.forth))}}),ee.of({name:"Fortran",extensions:["f","for","f77","f90","f95"],load(){return oe(()=>import("./fortran-DYz_wnZ1.js"),[]).then(n=>he(n.fortran))}}),ee.of({name:"F#",alias:["fsharp"],extensions:["fs"],load(){return oe(()=>import("./mllike-CXdrOF99.js"),[]).then(n=>he(n.fSharp))}}),ee.of({name:"Gas",extensions:["s"],load(){return oe(()=>import("./gas-Bneqetm1.js"),[]).then(n=>he(n.gas))}}),ee.of({name:"Gherkin",extensions:["feature"],load(){return oe(()=>import("./gherkin-heZmZLOM.js"),[]).then(n=>he(n.gherkin))}}),ee.of({name:"Groovy",extensions:["groovy","gradle"],filename:/^Jenkinsfile$/,load(){return oe(()=>import("./groovy-D9Dt4D0W.js"),[]).then(n=>he(n.groovy))}}),ee.of({name:"Haskell",extensions:["hs"],load(){return oe(()=>import("./haskell-Cw1EW3IL.js"),[]).then(n=>he(n.haskell))}}),ee.of({name:"Haxe",extensions:["hx"],load(){return oe(()=>import("./haxe-H-WmDvRZ.js"),[]).then(n=>he(n.haxe))}}),ee.of({name:"HXML",extensions:["hxml"],load(){return oe(()=>import("./haxe-H-WmDvRZ.js"),[]).then(n=>he(n.hxml))}}),ee.of({name:"HTTP",load(){return oe(()=>import("./http-DBlCnlav.js"),[]).then(n=>he(n.http))}}),ee.of({name:"IDL",extensions:["pro"],load(){return oe(()=>import("./idl-BEugSyMb.js"),[]).then(n=>he(n.idl))}}),ee.of({name:"JSON-LD",alias:["jsonld"],extensions:["jsonld"],load(){return oe(()=>import("./javascript-iXu5QeM3.js"),[]).then(n=>he(n.jsonld))}}),ee.of({name:"Julia",extensions:["jl"],load(){return oe(()=>import("./julia-DuME0IfC.js"),[]).then(n=>he(n.julia))}}),ee.of({name:"Kotlin",extensions:["kt","kts"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.kotlin))}}),ee.of({name:"LiveScript",alias:["ls"],extensions:["ls"],load(){return oe(()=>import("./livescript-BwQOo05w.js"),[]).then(n=>he(n.liveScript))}}),ee.of({name:"Lua",extensions:["lua"],load(){return oe(()=>import("./lua-BgMRiT3U.js"),[]).then(n=>he(n.lua))}}),ee.of({name:"mIRC",extensions:["mrc"],load(){return oe(()=>import("./mirc-CjQqDB4T.js"),[]).then(n=>he(n.mirc))}}),ee.of({name:"Mathematica",extensions:["m","nb","wl","wls"],load(){return oe(()=>import("./mathematica-DTrFuWx2.js"),[]).then(n=>he(n.mathematica))}}),ee.of({name:"Modelica",extensions:["mo"],load(){return oe(()=>import("./modelica-Dc1JOy9r.js"),[]).then(n=>he(n.modelica))}}),ee.of({name:"MUMPS",extensions:["mps"],load(){return oe(()=>import("./mumps-BT43cFF4.js"),[]).then(n=>he(n.mumps))}}),ee.of({name:"Mbox",extensions:["mbox"],load(){return oe(()=>import("./mbox-CNhZ1qSd.js"),[]).then(n=>he(n.mbox))}}),ee.of({name:"Nginx",filename:/nginx.*\.conf$/i,load(){return oe(()=>import("./nginx-DdIZxoE0.js"),[]).then(n=>he(n.nginx))}}),ee.of({name:"NSIS",extensions:["nsh","nsi"],load(){return oe(()=>import("./nsis-LdVXkNf5.js"),__vite__mapDeps([3,1])).then(n=>he(n.nsis))}}),ee.of({name:"NTriples",extensions:["nt","nq"],load(){return oe(()=>import("./ntriples-BfvgReVJ.js"),[]).then(n=>he(n.ntriples))}}),ee.of({name:"Objective-C",alias:["objective-c","objc"],extensions:["m"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.objectiveC))}}),ee.of({name:"Objective-C++",alias:["objective-c++","objc++"],extensions:["mm"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.objectiveCpp))}}),ee.of({name:"OCaml",extensions:["ml","mli","mll","mly"],load(){return oe(()=>import("./mllike-CXdrOF99.js"),[]).then(n=>he(n.oCaml))}}),ee.of({name:"Octave",extensions:["m"],load(){return oe(()=>import("./octave-Ck1zUtKM.js"),[]).then(n=>he(n.octave))}}),ee.of({name:"Oz",extensions:["oz"],load(){return oe(()=>import("./oz-BzwKVEFT.js"),[]).then(n=>he(n.oz))}}),ee.of({name:"Pascal",extensions:["p","pas"],load(){return oe(()=>import("./pascal--L3eBynH.js"),[]).then(n=>he(n.pascal))}}),ee.of({name:"Perl",extensions:["pl","pm"],load(){return oe(()=>import("./perl-CdXCOZ3F.js"),[]).then(n=>he(n.perl))}}),ee.of({name:"Pig",extensions:["pig"],load(){return oe(()=>import("./pig-CevX1Tat.js"),[]).then(n=>he(n.pig))}}),ee.of({name:"PowerShell",extensions:["ps1","psd1","psm1"],load(){return oe(()=>import("./powershell-CFHJl5sT.js"),[]).then(n=>he(n.powerShell))}}),ee.of({name:"Properties files",alias:["ini","properties"],extensions:["properties","ini","in"],load(){return oe(()=>import("./properties-C78fOPTZ.js"),[]).then(n=>he(n.properties))}}),ee.of({name:"ProtoBuf",extensions:["proto"],load(){return oe(()=>import("./protobuf-ChK-085T.js"),[]).then(n=>he(n.protobuf))}}),ee.of({name:"Pug",alias:["jade"],extensions:["pug","jade"],load(){return oe(()=>import("./pug-DeIclll2.js"),__vite__mapDeps([4,5])).then(n=>he(n.pug))}}),ee.of({name:"Puppet",extensions:["pp"],load(){return oe(()=>import("./puppet-DMA9R1ak.js"),[]).then(n=>he(n.puppet))}}),ee.of({name:"Q",extensions:["q"],load(){return oe(()=>import("./q-pXgVlZs6.js"),[]).then(n=>he(n.q))}}),ee.of({name:"R",alias:["rscript"],extensions:["r","R"],load(){return oe(()=>import("./r-B6wPVr8A.js"),[]).then(n=>he(n.r))}}),ee.of({name:"RPM Changes",load(){return oe(()=>import("./rpm-CTu-6PCP.js"),[]).then(n=>he(n.rpmChanges))}}),ee.of({name:"RPM Spec",extensions:["spec"],load(){return oe(()=>import("./rpm-CTu-6PCP.js"),[]).then(n=>he(n.rpmSpec))}}),ee.of({name:"Ruby",alias:["jruby","macruby","rake","rb","rbx"],extensions:["rb"],filename:/^(Gemfile|Rakefile)$/,load(){return oe(()=>import("./ruby-B2Rjki9n.js"),[]).then(n=>he(n.ruby))}}),ee.of({name:"SAS",extensions:["sas"],load(){return oe(()=>import("./sas-B4kiWyti.js"),[]).then(n=>he(n.sas))}}),ee.of({name:"Scala",extensions:["scala"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.scala))}}),ee.of({name:"Scheme",extensions:["scm","ss"],load(){return oe(()=>import("./scheme-C41bIUwD.js"),[]).then(n=>he(n.scheme))}}),ee.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return oe(()=>import("./shell-CjFT_Tl9.js"),[]).then(n=>he(n.shell))}}),ee.of({name:"Sieve",extensions:["siv","sieve"],load(){return oe(()=>import("./sieve-C3Gn_uJK.js"),[]).then(n=>he(n.sieve))}}),ee.of({name:"Smalltalk",extensions:["st"],load(){return oe(()=>import("./smalltalk-CnHTOXQT.js"),[]).then(n=>he(n.smalltalk))}}),ee.of({name:"Solr",load(){return oe(()=>import("./solr-DehyRSwq.js"),[]).then(n=>he(n.solr))}}),ee.of({name:"SML",extensions:["sml","sig","fun","smackspec"],load(){return oe(()=>import("./mllike-CXdrOF99.js"),[]).then(n=>he(n.sml))}}),ee.of({name:"SPARQL",alias:["sparul"],extensions:["rq","sparql"],load(){return oe(()=>import("./sparql-DkYu6x3z.js"),[]).then(n=>he(n.sparql))}}),ee.of({name:"Spreadsheet",alias:["excel","formula"],load(){return oe(()=>import("./spreadsheet-BCZA_wO0.js"),[]).then(n=>he(n.spreadsheet))}}),ee.of({name:"Squirrel",extensions:["nut"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.squirrel))}}),ee.of({name:"Stylus",extensions:["styl"],load(){return oe(()=>import("./stylus-B533Al4x.js"),[]).then(n=>he(n.stylus))}}),ee.of({name:"Swift",extensions:["swift"],load(){return oe(()=>import("./swift-BzpIVaGY.js"),[]).then(n=>he(n.swift))}}),ee.of({name:"sTeX",load(){return oe(()=>import("./stex-C3f8Ysf7.js"),[]).then(n=>he(n.stex))}}),ee.of({name:"LaTeX",alias:["tex"],extensions:["text","ltx","tex"],load(){return oe(()=>import("./stex-C3f8Ysf7.js"),[]).then(n=>he(n.stex))}}),ee.of({name:"SystemVerilog",extensions:["v","sv","svh"],load(){return oe(()=>import("./verilog-C6RDOZhf.js"),[]).then(n=>he(n.verilog))}}),ee.of({name:"Tcl",extensions:["tcl"],load(){return oe(()=>import("./tcl-DVfN8rqt.js"),[]).then(n=>he(n.tcl))}}),ee.of({name:"Textile",extensions:["textile"],load(){return oe(()=>import("./textile-CnDTJFAw.js"),[]).then(n=>he(n.textile))}}),ee.of({name:"TiddlyWiki",load(){return oe(()=>import("./tiddlywiki-DO-Gjzrf.js"),[]).then(n=>he(n.tiddlyWiki))}}),ee.of({name:"Tiki wiki",load(){return oe(()=>import("./tiki-DGYXhP31.js"),[]).then(n=>he(n.tiki))}}),ee.of({name:"TOML",extensions:["toml"],load(){return oe(()=>import("./toml-Bm5Em-hy.js"),[]).then(n=>he(n.toml))}}),ee.of({name:"Troff",extensions:["1","2","3","4","5","6","7","8","9"],load(){return oe(()=>import("./troff-wAsdV37c.js"),[]).then(n=>he(n.troff))}}),ee.of({name:"TTCN",extensions:["ttcn","ttcn3","ttcnpp"],load(){return oe(()=>import("./ttcn-CfJYG6tj.js"),[]).then(n=>he(n.ttcn))}}),ee.of({name:"TTCN_CFG",extensions:["cfg"],load(){return oe(()=>import("./ttcn-cfg-B9xdYoR4.js"),[]).then(n=>he(n.ttcnCfg))}}),ee.of({name:"Turtle",extensions:["ttl"],load(){return oe(()=>import("./turtle-B1tBg_DP.js"),[]).then(n=>he(n.turtle))}}),ee.of({name:"Web IDL",extensions:["webidl"],load(){return oe(()=>import("./webidl-ZXfAyPTL.js"),[]).then(n=>he(n.webIDL))}}),ee.of({name:"VB.NET",extensions:["vb"],load(){return oe(()=>import("./vb-CmGdzxic.js"),[]).then(n=>he(n.vb))}}),ee.of({name:"VBScript",extensions:["vbs"],load(){return oe(()=>import("./vbscript-BuJXcnF6.js"),[]).then(n=>he(n.vbScript))}}),ee.of({name:"Velocity",extensions:["vtl"],load(){return oe(()=>import("./velocity-D8B20fx6.js"),[]).then(n=>he(n.velocity))}}),ee.of({name:"Verilog",extensions:["v"],load(){return oe(()=>import("./verilog-C6RDOZhf.js"),[]).then(n=>he(n.verilog))}}),ee.of({name:"VHDL",extensions:["vhd","vhdl"],load(){return oe(()=>import("./vhdl-lSbBsy5d.js"),[]).then(n=>he(n.vhdl))}}),ee.of({name:"XQuery",extensions:["xy","xquery","xq","xqm","xqy"],load(){return oe(()=>import("./xquery-DzFWVndE.js"),[]).then(n=>he(n.xQuery))}}),ee.of({name:"Yacas",extensions:["ys"],load(){return oe(()=>import("./yacas-BJ4BC0dw.js"),[]).then(n=>he(n.yacas))}}),ee.of({name:"Z80",extensions:["z80"],load(){return oe(()=>import("./z80-Hz9HOZM7.js"),[]).then(n=>he(n.z80))}}),ee.of({name:"MscGen",extensions:["mscgen","mscin","msc"],load(){return oe(()=>import("./mscgen-BA5vi2Kp.js"),[]).then(n=>he(n.mscgen))}}),ee.of({name:"Xù",extensions:["xu"],load(){return oe(()=>import("./mscgen-BA5vi2Kp.js"),[]).then(n=>he(n.xu))}}),ee.of({name:"MsGenny",extensions:["msgenny"],load(){return oe(()=>import("./mscgen-BA5vi2Kp.js"),[]).then(n=>he(n.msgenny))}}),ee.of({name:"Vue",extensions:["vue"],load(){return oe(()=>import("./index-B_eSbOtN.js"),[]).then(n=>n.vue())}}),ee.of({name:"Angular Template",load(){return oe(()=>import("./index-CxHpm9y_.js"),[]).then(n=>n.angular())}})];var tW=V('<div class="inline-editor svelte-1ewoogg"></div>');function vo(n,e){Ot(e,!0);let t,r=J(void 0),i="";const s=new vs,o=new vs,a=new vs,l=Me.theme({"&":{color:"#1a1a2e",fontSize:"13px",height:"auto"},".cm-scroller":{overflow:"visible",fontFamily:"'SF Mono', 'Fira Code', ui-monospace, monospace",lineHeight:"1.6"},".cm-content":{padding:"0.75rem",caretColor:"#1e293b",minHeight:"3rem"},".cm-cursor":{borderLeftColor:"#1e293b"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"rgba(14, 165, 233, 0.2)"},".cm-selectionBackground":{backgroundColor:"rgba(14, 165, 233, 0.12)"},"&.cm-focused":{outline:"none"},".cm-activeLine":{backgroundColor:"transparent"},".cm-tooltip.cm-tooltip-autocomplete":{border:"1px solid #e2e8f0",borderRadius:"6px",boxShadow:"0 8px 24px rgba(0, 0, 0, 0.12)",backgroundColor:"#ffffff",overflow:"hidden"},".cm-tooltip.cm-tooltip-autocomplete ul":{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"12px",maxHeight:"280px"},".cm-tooltip.cm-tooltip-autocomplete ul li":{padding:"4px 8px",borderBottom:"1px solid #f1f5f9"},".cm-tooltip.cm-tooltip-autocomplete ul li[aria-selected]":{backgroundColor:"#f0f9ff",color:"#0369a1"},".cm-tooltip.cm-completionInfo":{border:"1px solid #e2e8f0",borderRadius:"6px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.08)",backgroundColor:"#ffffff",padding:"6px 10px",fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"12px",color:"#475569",maxWidth:"300px"},".cm-completionDetail":{color:"#94a3b8",fontStyle:"normal",marginLeft:"0.5em"},".cm-markdoc-tag":{backgroundColor:"rgba(217, 119, 6, 0.06)",borderRadius:"2px"},".cm-markdoc-bracket":{color:"#94a3b8"},".cm-markdoc-name":{color:"#d97706",fontWeight:"600"}},{dark:!1});yn(()=>{if(!t)return;const u=!!Er(()=>e.language)?.trim(),f=Rt.create({doc:Er(()=>e.content),extensions:[s.of(nl()),o.of(u?[]:$c()),a.of(u?[]:Zm({override:[eg(e.runes),tg(e.runes,e.aggregated)],icons:!1})),FO(),l,yc(LA),yc(sx),SA(),Ko.of([...WO,...XO,...QA,{key:"Mod-/",run:h=>(nc(h),!0)}]),Me.updateListener.of(h=>{h.docChanged&&(i=h.state.doc.toString(),e.onchange(i))}),Me.lineWrapping]}),d=new Me({state:f,parent:t});return M(r,d,!0),()=>{M(r,void 0),d.destroy()}}),yn(()=>{const u=g(r);if(!u)return;const f=e.language?.trim();if(!f){u.dispatch({effects:[s.reconfigure(nl()),o.reconfigure($c()),a.reconfigure(Zm({override:[eg(e.runes),tg(e.runes,e.aggregated)],icons:!1}))]});return}u.dispatch({effects:[o.reconfigure([]),a.reconfigure([])]});const d=ee.matchLanguageName(yT,f,!0);d&&d.load().then(h=>{g(r)===u&&u.dispatch({effects:s.reconfigure(h)})})}),yn(()=>{const u=e.content,f=g(r);if(!f)return;const d=f.state.doc.toString();if(u!==d){if(i&&d===i){i="";return}i="",f.dispatch({changes:{from:0,to:f.state.doc.length,insert:u}})}});var c=tW();gn(c,u=>t=u,()=>t),z(n,c),vt()}var nW=V('<span class="edit-panel__category svelte-1t8cclf"> </span>'),rW=As('<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="2"></circle><path d="M6.7 1.6h2.6l.4 1.8.8.4 1.7-.7 1.8 1.8-.7 1.7.4.8 1.8.4v2.6l-1.8.4-.4.8.7 1.7-1.8 1.8-1.7-.7-.8.4-.4 1.8H6.7l-.4-1.8-.8-.4-1.7.7-1.8-1.8.7-1.7-.4-.8-1.8-.4V6.7l1.8-.4.4-.8-.7-1.7 1.8-1.8 1.7.7.8-.4z"></path></svg> Settings',1),iW=As('<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h4M2 7h4M6 11h4M6 15h4M4 3v8M8 11v4"></path></svg> Structure',1),sW=As('<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 4h12M2 8h12M2 12h8"></path></svg> Content',1),oW=V('<button type="button"><!></button>'),aW=V('<div class="edit-panel__tabs svelte-1t8cclf"></div>'),lW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Level</span> <select class="edit-panel__select svelte-1t8cclf"><option>H1</option><option>H2</option><option>H3</option><option>H4</option><option>H5</option><option>H6</option></select></label> <label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Text</span> <input class="edit-panel__input svelte-1t8cclf" type="text"/></label></div>'),cW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Language</span> <input class="edit-panel__input svelte-1t8cclf" type="text" placeholder="e.g. js, python, html"/></label></div>'),uW=V('<div class="edit-panel__empty-tab svelte-1t8cclf"><span class="edit-panel__empty-tab-text svelte-1t8cclf">No settings for this element</span></div>'),fW=V('<label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf"> </span> <input class="edit-panel__input svelte-1t8cclf" type="text"/></label>'),dW=V('<div class="edit-panel__unknown svelte-1t8cclf"><span class="edit-panel__unknown-label svelte-1t8cclf"> </span> <!></div>'),hW=V('<div class="edit-panel__tab-panel svelte-1t8cclf"><!></div>'),pW=V('<div class="edit-panel__tab-panel svelte-1t8cclf"><!></div>'),mW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),gW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),OW=V('<div class="edit-panel__empty-tab svelte-1t8cclf"><span class="edit-panel__empty-tab-text svelte-1t8cclf">Edit heading text in Settings</span></div>'),vW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Source</span> <textarea class="edit-panel__textarea svelte-1t8cclf"></textarea></label></div>'),bW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),yW=V('<div class="edit-panel__empty-tab svelte-1t8cclf"><span class="edit-panel__empty-tab-text svelte-1t8cclf">This rune has no inner content</span></div>'),wW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),_W=V('<div class="edit-panel__tab-panel svelte-1t8cclf"><!></div>'),kW=V("<!> <!> <!>",1),xW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Level</span> <select class="edit-panel__select svelte-1t8cclf"><option>H1</option><option>H2</option><option>H3</option><option>H4</option><option>H5</option><option>H6</option></select></label> <label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Text</span> <input class="edit-panel__input svelte-1t8cclf" type="text"/></label></div>'),SW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Language</span> <input class="edit-panel__input svelte-1t8cclf" type="text" placeholder="e.g. js, python, html"/></label></div> <div class="edit-panel__content-editor svelte-1t8cclf"><!></div>',1),AW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),CW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Source</span> <textarea class="edit-panel__textarea svelte-1t8cclf"></textarea></label></div>'),TW=V('<div class="edit-panel__body svelte-1t8cclf"><!></div>'),PW=V('<div class="edit-panel svelte-1t8cclf"><div class="edit-panel__top svelte-1t8cclf"><div class="edit-panel__header svelte-1t8cclf"><span class="edit-panel__type svelte-1t8cclf"> </span> <!> <div class="edit-panel__spacer svelte-1t8cclf"></div> <button class="edit-panel__btn edit-panel__btn--danger svelte-1t8cclf" title="Remove block"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 3 14 13 14 13 6"></polyline><line x1="1" y1="4" x2="15" y2="4"></line><line x1="6" y1="2" x2="10" y2="2"></line><line x1="6" y1="8" x2="6" y2="12"></line><line x1="10" y1="8" x2="10" y2="12"></line></svg></button> <button class="edit-panel__btn svelte-1t8cclf" title="Close panel">×</button></div> <!></div> <!></div>');function EW(n,e){Ot(e,!0);let t=Et(e,"aggregated",19,()=>({})),r=Et(e,"initialRuneIndex",3,null),i=me(()=>kv(e.block)),s=me(()=>e.block.type==="rune"?e.runeMap.get(e.block.runeName)??null:null),o=me(()=>g(s)?.category??null),a=J(rn([])),l=me(()=>{if(e.block.type!=="rune")return[];const le=e.block;return le.selfClosing||!le.innerContent.trim()?[]:wv(le.innerContent)}),c=me(()=>g(l).some(le=>le.type==="rune")),u=me(()=>g(v)?.type==="rune"&&g(b)?g(b):g(s)),f=me(()=>g(v)?.type==="rune"&&g(v).children?g(v).children:g(l)),d=me(()=>g(u)?.contentModel!=null),h=me(()=>g(u)?.contentModel?uV(g(f),g(u).contentModel):null),m=J(null);function p(le,ve){let ye=0;function Ce(Se,yt){for(let dt=0;dt<Se.length;dt++)if(Se[dt].type==="rune"){if(ye===ve)return[...yt,dt];ye++;const Je=Ce(Se[dt].children??[],[...yt,dt]);if(Je)return Je}return null}return Ce(le,[])}yn(()=>{if(r()!=null&&g(l).length>0){const le=p(g(l),r());le&&M(a,le,!0)}});function O(le,ve){if(ve.length===0)return null;const[ye,...Ce]=ve,Se=le[ye];return Se?Ce.length===0?Se:O(Se.children??[],Ce):null}let v=me(()=>O(g(l),g(a))),b=me(()=>g(v)?.runeName?e.runeMap.get(g(v).runeName)??null:null),_=me(()=>g(v)!=null&&g(v).type!=="rune"),A=me(()=>g(v)?g(v).type==="rune"?g(v).runeName??g(i):g(v).type:g(i)),w=J("settings"),y=me(()=>{if(e.block.type!=="rune")return[];const le=e.block,ve=["settings"];return(g(d)||!g(v)&&g(c))&&ve.push("structure"),le.selfClosing||ve.push("content"),ve});yn(()=>{g(w)==="structure"&&!g(y).includes("structure")&&M(w,"settings")});function S(le){M(a,le,!0);const ve=O(g(l),le);ve&&ve.type!=="rune"&&M(w,"content")}function C(){M(a,[],!0)}function k(le,ve){M(m,ve?`${ve}.${le}`:le,!0)}function x(le){const ve=e.block;if(g(v)?.type==="rune"&&g(v).innerContent!==void 0){const ye=le(g(v).innerContent);if(ye===g(v).innerContent)return;const Ce=mf(g(v).attributes??{}),Se=ye.trim(),yt=Se?`{% ${g(v).runeName}${Ce} %}
|
|
577
|
+
`).filter(I=>I.match(/^[-*\d.]\s/)).map(I=>I.replace(/^[-*\d.]+\s+/,"").trim()).filter(Boolean);for(const I of q.slice(0,3))$.push({text:I.length>50?I.slice(0,47)+"...":I,type:"text"});q.length>3&&$.push({text:`... +${q.length-3} more`,type:"text"})}else if(P.type==="image")$.push({text:"[image]",type:"text",nodeIndex:Q});else{const q=P.source.replace(/\n/g," ").trim();q&&$.push({text:q.length>50?q.slice(0,47)+"...":q,type:"text",nodeIndex:Q})}}return $}var A=eW(),w=D(A),y=R(D(w),2),S=D(y),C=R(w,2);{var k=T=>{var $=zV();Lt($,21,()=>e.structure.fields,en,(Q,P)=>{const q=me(()=>_(g(P).nodes)),I=me(()=>m(g(P).match)?b(g(P).nodes):[]),W=me(()=>p(g(P))?O(g(P)):[]);var U=jV(),K=st(U);let ae;K.__click=()=>e.onfieldselect(g(P).name);var re=D(K),H=D(re),ie=R(re,2),se=D(ie),j=R(ie,2);{var ne=Ge=>{var Re=MV();z(Ge,Re)};ue(j,Ge=>{!g(P).optional&&!g(P).filled&&Ge(ne)})}var Te=R(j,4);{var Qe=Ge=>{var Re=DV(),At=st(Re);{var Jt=on=>{var an=qV();an.__click=Vn=>{Vn.stopPropagation(),e.onappenditem(g(P).name)},fe(()=>$t(an,"title",`Add item to ${g(P).name??""}`)),z(on,an)},En=me(()=>m(g(P).match)||p(g(P)));ue(At,on=>{g(En)&&on(Jt)})}var ft=R(At,2);ft.__click=on=>{on.stopPropagation(),e.onremovefield(g(P).name)},fe(()=>$t(ft,"title",`Remove ${g(P).name??""}`)),z(Ge,Re)},De=Ge=>{var Re=RV();Re.__click=At=>{At.stopPropagation(),e.onaddfield(g(P).name)},fe(()=>$t(Re,"title",`Add ${g(P).name??""}`)),z(Ge,Re)};ue(Te,Ge=>{g(P).filled?Ge(Qe):Ge(De,!1)})}var ge=R(K,2);{var Ee=Ge=>{var Re=IV(),At=D(Re);r(At,()=>g(I),()=>g(P).name),z(Ge,Re)},Ke=me(()=>g(P).filled&&m(g(P).match)&&g(I).length>0),tt=Ge=>{var Re=NV(),At=D(Re);i(At,()=>g(W),()=>g(P).name),z(Ge,Re)},Ve=Ge=>{var Re=BV(),At=D(Re);t(At,()=>g(q),()=>g(P).name),z(Ge,Re)};ue(ge,Ge=>{g(Ke)?Ge(Ee):g(P).filled&&g(W).length>0?Ge(tt,1):g(P).filled&&g(q).length>0&&Ge(Ve,2)})}fe(Ge=>{ae=We(K,1,"cm-tree__field svelte-1d9gzqq",null,ae,{"cm-tree__field--filled":g(P).filled,"cm-tree__field--empty":!g(P).filled,"cm-tree__field--required":!g(P).optional&&!g(P).filled,"cm-tree__field--selected":s()===g(P).name}),$t(H,"d",Ge),Le(se,g(P).name)},[()=>v(g(P).match)]),z(Q,U)}),z(T,$)},x=T=>{var $=mn(),Q=st($);Lt(Q,17,()=>e.structure.zones,en,(P,q,I)=>{var W=KV(),U=st(W);{var K=se=>{var j=ZV();z(se,j)};ue(U,se=>{I>0&&se(K)})}var ae=R(U,2),re=D(ae),H=D(re),ie=R(re,2);Lt(ie,21,()=>g(q).fields,en,(se,j)=>{const ne=me(()=>_(g(j).nodes)),Te=me(()=>m(g(j).match)?b(g(j).nodes):[]),Qe=me(()=>p(g(j))?O(g(j)):[]);var De=HV(),ge=st(De);let Ee;ge.__click=()=>e.onfieldselect(g(j).name,g(q).name);var Ke=D(ge),tt=D(Ke),Ve=R(Ke,2),Ge=D(Ve),Re=R(Ve,2);{var At=Mt=>{var bt=FV();z(Mt,bt)};ue(Re,Mt=>{!g(j).optional&&!g(j).filled&&Mt(At)})}var Jt=R(Re,4);{var En=Mt=>{var bt=VV(),un=st(bt);{var le=Ce=>{var Se=XV();Se.__click=yt=>{yt.stopPropagation(),e.onappenditem(g(j).name,g(q).name)},fe(()=>$t(Se,"title",`Add item to ${g(j).name??""}`)),z(Ce,Se)},ve=me(()=>m(g(j).match)||p(g(j)));ue(un,Ce=>{g(ve)&&Ce(le)})}var ye=R(un,2);ye.__click=Ce=>{Ce.stopPropagation(),e.onremovefield(g(j).name,g(q).name)},fe(()=>$t(ye,"title",`Remove ${g(j).name??""}`)),z(Mt,bt)},ft=Mt=>{var bt=WV();bt.__click=un=>{un.stopPropagation(),e.onaddfield(g(j).name,g(q).name)},fe(()=>$t(bt,"title",`Add ${g(j).name??""}`)),z(Mt,bt)};ue(Jt,Mt=>{g(j).filled?Mt(En):Mt(ft,!1)})}var on=R(ge,2);{var an=Mt=>{var bt=YV(),un=D(bt);r(un,()=>g(Te),()=>g(j).name,()=>g(q).name),z(Mt,bt)},Vn=me(()=>g(j).filled&&m(g(j).match)&&g(Te).length>0),Ae=Mt=>{var bt=UV(),un=D(bt);i(un,()=>g(Qe),()=>g(j).name,()=>g(q).name),z(Mt,bt)},$n=Mt=>{var bt=GV(),un=D(bt);t(un,()=>g(ne),()=>g(j).name,()=>g(q).name),z(Mt,bt)};ue(on,Mt=>{g(Vn)?Mt(an):g(j).filled&&g(Qe).length>0?Mt(Ae,1):g(j).filled&&g(ne).length>0&&Mt($n,2)})}fe(Mt=>{Ee=We(ge,1,"cm-tree__field svelte-1d9gzqq",null,Ee,{"cm-tree__field--filled":g(j).filled,"cm-tree__field--empty":!g(j).filled,"cm-tree__field--required":!g(j).optional&&!g(j).filled,"cm-tree__field--selected":s()===`${g(q).name}.${g(j).name}`}),$t(tt,"d",Mt),Le(Ge,g(j).name)},[()=>v(g(j).match)]),z(se,De)}),fe(()=>Le(H,g(q).name)),z(P,W)}),z(T,$)},E=T=>{var $=JV(),Q=D($);fe(()=>Le(Q,e.structure.description)),z(T,$)};ue(C,T=>{e.structure.type==="sequence"?T(k):e.structure.type==="delimited"?T(x,1):(e.structure.type==="sections"||e.structure.type==="custom")&&T(E,2)})}fe(()=>Le(S,e.rootLabel)),z(n,A),vt()}Kt(["click"]);function he(n){return new Ha(NO.define(n))}function Ls(n){return oe(()=>import("./index-DPbICrvu.js"),[]).then(e=>e.sql({dialect:e[n]}))}const yT=[ee.of({name:"C",extensions:["c","h","ino"],load(){return oe(()=>import("./index-CzETIFyu.js"),[]).then(n=>n.cpp())}}),ee.of({name:"C++",alias:["cpp"],extensions:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],load(){return oe(()=>import("./index-CzETIFyu.js"),[]).then(n=>n.cpp())}}),ee.of({name:"CQL",alias:["cassandra"],extensions:["cql"],load(){return Ls("Cassandra")}}),ee.of({name:"CSS",extensions:["css"],load(){return oe(()=>Promise.resolve().then(()=>T3),void 0).then(n=>n.css())}}),ee.of({name:"Go",extensions:["go"],load(){return oe(()=>import("./index-oKprDk_m.js"),[]).then(n=>n.go())}}),ee.of({name:"HTML",alias:["xhtml"],extensions:["html","htm","handlebars","hbs"],load(){return oe(()=>Promise.resolve().then(()=>yI),void 0).then(n=>n.html())}}),ee.of({name:"Java",extensions:["java"],load(){return oe(()=>import("./index-CVOQ-0cu.js"),[]).then(n=>n.java())}}),ee.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return oe(()=>Promise.resolve().then(()=>Lu),void 0).then(n=>n.javascript())}}),ee.of({name:"Jinja",extensions:["j2","jinja","jinja2"],load(){return oe(()=>import("./index-g_euyIj0.js"),[]).then(n=>n.jinja())}}),ee.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return oe(()=>import("./index-Bb2vEsbg.js"),[]).then(n=>n.json())}}),ee.of({name:"JSX",extensions:["jsx"],load(){return oe(()=>Promise.resolve().then(()=>Lu),void 0).then(n=>n.javascript({jsx:!0}))}}),ee.of({name:"LESS",extensions:["less"],load(){return oe(()=>import("./index-_oIpbz1G.js"),[]).then(n=>n.less())}}),ee.of({name:"Liquid",extensions:["liquid"],load(){return oe(()=>import("./index-DKgoUhbe.js"),[]).then(n=>n.liquid())}}),ee.of({name:"MariaDB SQL",load(){return Ls("MariaSQL")}}),ee.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return oe(()=>Promise.resolve().then(()=>$I),void 0).then(n=>n.markdown())}}),ee.of({name:"MS SQL",load(){return Ls("MSSQL")}}),ee.of({name:"MySQL",load(){return Ls("MySQL")}}),ee.of({name:"PHP",extensions:["php","php3","php4","php5","php7","phtml"],load(){return oe(()=>import("./index-CMQZAOlO.js"),[]).then(n=>n.php())}}),ee.of({name:"PLSQL",extensions:["pls"],load(){return Ls("PLSQL")}}),ee.of({name:"PostgreSQL",load(){return Ls("PostgreSQL")}}),ee.of({name:"Python",extensions:["BUILD","bzl","py","pyw"],filename:/^(BUCK|BUILD)$/,load(){return oe(()=>import("./index-CsC8wJF5.js"),[]).then(n=>n.python())}}),ee.of({name:"Rust",extensions:["rs"],load(){return oe(()=>import("./index-Dovjrqlh.js"),[]).then(n=>n.rust())}}),ee.of({name:"Sass",extensions:["sass"],load(){return oe(()=>import("./index-DBw9y-mH.js"),[]).then(n=>n.sass({indented:!0}))}}),ee.of({name:"SCSS",extensions:["scss"],load(){return oe(()=>import("./index-DBw9y-mH.js"),[]).then(n=>n.sass())}}),ee.of({name:"SQL",extensions:["sql"],load(){return Ls("StandardSQL")}}),ee.of({name:"SQLite",load(){return Ls("SQLite")}}),ee.of({name:"TSX",extensions:["tsx"],load(){return oe(()=>Promise.resolve().then(()=>Lu),void 0).then(n=>n.javascript({jsx:!0,typescript:!0}))}}),ee.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return oe(()=>Promise.resolve().then(()=>Lu),void 0).then(n=>n.javascript({typescript:!0}))}}),ee.of({name:"WebAssembly",extensions:["wat","wast"],load(){return oe(()=>import("./index-D-_FVMDm.js"),[]).then(n=>n.wast())}}),ee.of({name:"XML",alias:["rss","wsdl","xsd"],extensions:["xml","xsl","xsd","svg"],load(){return oe(()=>import("./index-DwCdfvgS.js"),[]).then(n=>n.xml())}}),ee.of({name:"YAML",alias:["yml"],extensions:["yaml","yml"],load(){return oe(()=>import("./index-dXT3EwNf.js"),[]).then(n=>n.yaml())}}),ee.of({name:"APL",extensions:["dyalog","apl"],load(){return oe(()=>import("./apl-B4CMkyY2.js"),[]).then(n=>he(n.apl))}}),ee.of({name:"PGP",alias:["asciiarmor"],extensions:["asc","pgp","sig"],load(){return oe(()=>import("./asciiarmor-Df11BRmG.js"),[]).then(n=>he(n.asciiArmor))}}),ee.of({name:"ASN.1",extensions:["asn","asn1"],load(){return oe(()=>import("./asn1-EdZsLKOL.js"),[]).then(n=>he(n.asn1({})))}}),ee.of({name:"Asterisk",filename:/^extensions\.conf$/i,load(){return oe(()=>import("./asterisk-B-8jnY81.js"),[]).then(n=>he(n.asterisk))}}),ee.of({name:"Brainfuck",extensions:["b","bf"],load(){return oe(()=>import("./brainfuck-C4LP7Hcl.js"),[]).then(n=>he(n.brainfuck))}}),ee.of({name:"Cobol",extensions:["cob","cpy"],load(){return oe(()=>import("./cobol-CWcv1MsR.js"),[]).then(n=>he(n.cobol))}}),ee.of({name:"C#",alias:["csharp","cs"],extensions:["cs"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.csharp))}}),ee.of({name:"Clojure",extensions:["clj","cljc","cljx"],load(){return oe(()=>import("./clojure-BMjYHr_A.js"),[]).then(n=>he(n.clojure))}}),ee.of({name:"ClojureScript",extensions:["cljs"],load(){return oe(()=>import("./clojure-BMjYHr_A.js"),[]).then(n=>he(n.clojure))}}),ee.of({name:"Closure Stylesheets (GSS)",extensions:["gss"],load(){return oe(()=>import("./css-BnMrqG3P.js"),[]).then(n=>he(n.gss))}}),ee.of({name:"CMake",extensions:["cmake","cmake.in"],filename:/^CMakeLists\.txt$/,load(){return oe(()=>import("./cmake-BQqOBYOt.js"),[]).then(n=>he(n.cmake))}}),ee.of({name:"CoffeeScript",alias:["coffee","coffee-script"],extensions:["coffee"],load(){return oe(()=>import("./coffeescript-S37ZYGWr.js"),[]).then(n=>he(n.coffeeScript))}}),ee.of({name:"Common Lisp",alias:["lisp"],extensions:["cl","lisp","el"],load(){return oe(()=>import("./commonlisp-DBKNyK5s.js"),[]).then(n=>he(n.commonLisp))}}),ee.of({name:"Cypher",extensions:["cyp","cypher"],load(){return oe(()=>import("./cypher-C_CwsFkJ.js"),[]).then(n=>he(n.cypher))}}),ee.of({name:"Cython",extensions:["pyx","pxd","pxi"],load(){return oe(()=>import("./python-BuPzkPfP.js"),[]).then(n=>he(n.cython))}}),ee.of({name:"Crystal",extensions:["cr"],load(){return oe(()=>import("./crystal-SjHAIU92.js"),[]).then(n=>he(n.crystal))}}),ee.of({name:"D",extensions:["d"],load(){return oe(()=>import("./d-pRatUO7H.js"),[]).then(n=>he(n.d))}}),ee.of({name:"Dart",extensions:["dart"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.dart))}}),ee.of({name:"diff",extensions:["diff","patch"],load(){return oe(()=>import("./diff-DbItnlRl.js"),[]).then(n=>he(n.diff))}}),ee.of({name:"Dockerfile",filename:/^Dockerfile$/,load(){return oe(()=>import("./dockerfile-BKs6k2Af.js"),__vite__mapDeps([0,1])).then(n=>he(n.dockerFile))}}),ee.of({name:"DTD",extensions:["dtd"],load(){return oe(()=>import("./dtd-DF_7sFjM.js"),[]).then(n=>he(n.dtd))}}),ee.of({name:"Dylan",extensions:["dylan","dyl","intr"],load(){return oe(()=>import("./dylan-DwRh75JA.js"),[]).then(n=>he(n.dylan))}}),ee.of({name:"EBNF",load(){return oe(()=>import("./ebnf-CDyGwa7X.js"),[]).then(n=>he(n.ebnf))}}),ee.of({name:"ECL",extensions:["ecl"],load(){return oe(()=>import("./ecl-Cabwm37j.js"),[]).then(n=>he(n.ecl))}}),ee.of({name:"edn",extensions:["edn"],load(){return oe(()=>import("./clojure-BMjYHr_A.js"),[]).then(n=>he(n.clojure))}}),ee.of({name:"Eiffel",extensions:["e"],load(){return oe(()=>import("./eiffel-CnydiIhH.js"),[]).then(n=>he(n.eiffel))}}),ee.of({name:"Elm",extensions:["elm"],load(){return oe(()=>import("./elm-vLlmbW-K.js"),[]).then(n=>he(n.elm))}}),ee.of({name:"Erlang",extensions:["erl"],load(){return oe(()=>import("./erlang-BNw1qcRV.js"),[]).then(n=>he(n.erlang))}}),ee.of({name:"Esper",load(){return oe(()=>import("./sql-D0XecflT.js"),[]).then(n=>he(n.esper))}}),ee.of({name:"Factor",extensions:["factor"],load(){return oe(()=>import("./factor-kuTfRLto.js"),__vite__mapDeps([2,1])).then(n=>he(n.factor))}}),ee.of({name:"FCL",load(){return oe(()=>import("./fcl-Kvtd6kyn.js"),[]).then(n=>he(n.fcl))}}),ee.of({name:"Forth",extensions:["forth","fth","4th"],load(){return oe(()=>import("./forth-Ffai-XNe.js"),[]).then(n=>he(n.forth))}}),ee.of({name:"Fortran",extensions:["f","for","f77","f90","f95"],load(){return oe(()=>import("./fortran-DYz_wnZ1.js"),[]).then(n=>he(n.fortran))}}),ee.of({name:"F#",alias:["fsharp"],extensions:["fs"],load(){return oe(()=>import("./mllike-CXdrOF99.js"),[]).then(n=>he(n.fSharp))}}),ee.of({name:"Gas",extensions:["s"],load(){return oe(()=>import("./gas-Bneqetm1.js"),[]).then(n=>he(n.gas))}}),ee.of({name:"Gherkin",extensions:["feature"],load(){return oe(()=>import("./gherkin-heZmZLOM.js"),[]).then(n=>he(n.gherkin))}}),ee.of({name:"Groovy",extensions:["groovy","gradle"],filename:/^Jenkinsfile$/,load(){return oe(()=>import("./groovy-D9Dt4D0W.js"),[]).then(n=>he(n.groovy))}}),ee.of({name:"Haskell",extensions:["hs"],load(){return oe(()=>import("./haskell-Cw1EW3IL.js"),[]).then(n=>he(n.haskell))}}),ee.of({name:"Haxe",extensions:["hx"],load(){return oe(()=>import("./haxe-H-WmDvRZ.js"),[]).then(n=>he(n.haxe))}}),ee.of({name:"HXML",extensions:["hxml"],load(){return oe(()=>import("./haxe-H-WmDvRZ.js"),[]).then(n=>he(n.hxml))}}),ee.of({name:"HTTP",load(){return oe(()=>import("./http-DBlCnlav.js"),[]).then(n=>he(n.http))}}),ee.of({name:"IDL",extensions:["pro"],load(){return oe(()=>import("./idl-BEugSyMb.js"),[]).then(n=>he(n.idl))}}),ee.of({name:"JSON-LD",alias:["jsonld"],extensions:["jsonld"],load(){return oe(()=>import("./javascript-iXu5QeM3.js"),[]).then(n=>he(n.jsonld))}}),ee.of({name:"Julia",extensions:["jl"],load(){return oe(()=>import("./julia-DuME0IfC.js"),[]).then(n=>he(n.julia))}}),ee.of({name:"Kotlin",extensions:["kt","kts"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.kotlin))}}),ee.of({name:"LiveScript",alias:["ls"],extensions:["ls"],load(){return oe(()=>import("./livescript-BwQOo05w.js"),[]).then(n=>he(n.liveScript))}}),ee.of({name:"Lua",extensions:["lua"],load(){return oe(()=>import("./lua-BgMRiT3U.js"),[]).then(n=>he(n.lua))}}),ee.of({name:"mIRC",extensions:["mrc"],load(){return oe(()=>import("./mirc-CjQqDB4T.js"),[]).then(n=>he(n.mirc))}}),ee.of({name:"Mathematica",extensions:["m","nb","wl","wls"],load(){return oe(()=>import("./mathematica-DTrFuWx2.js"),[]).then(n=>he(n.mathematica))}}),ee.of({name:"Modelica",extensions:["mo"],load(){return oe(()=>import("./modelica-Dc1JOy9r.js"),[]).then(n=>he(n.modelica))}}),ee.of({name:"MUMPS",extensions:["mps"],load(){return oe(()=>import("./mumps-BT43cFF4.js"),[]).then(n=>he(n.mumps))}}),ee.of({name:"Mbox",extensions:["mbox"],load(){return oe(()=>import("./mbox-CNhZ1qSd.js"),[]).then(n=>he(n.mbox))}}),ee.of({name:"Nginx",filename:/nginx.*\.conf$/i,load(){return oe(()=>import("./nginx-DdIZxoE0.js"),[]).then(n=>he(n.nginx))}}),ee.of({name:"NSIS",extensions:["nsh","nsi"],load(){return oe(()=>import("./nsis-LdVXkNf5.js"),__vite__mapDeps([3,1])).then(n=>he(n.nsis))}}),ee.of({name:"NTriples",extensions:["nt","nq"],load(){return oe(()=>import("./ntriples-BfvgReVJ.js"),[]).then(n=>he(n.ntriples))}}),ee.of({name:"Objective-C",alias:["objective-c","objc"],extensions:["m"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.objectiveC))}}),ee.of({name:"Objective-C++",alias:["objective-c++","objc++"],extensions:["mm"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.objectiveCpp))}}),ee.of({name:"OCaml",extensions:["ml","mli","mll","mly"],load(){return oe(()=>import("./mllike-CXdrOF99.js"),[]).then(n=>he(n.oCaml))}}),ee.of({name:"Octave",extensions:["m"],load(){return oe(()=>import("./octave-Ck1zUtKM.js"),[]).then(n=>he(n.octave))}}),ee.of({name:"Oz",extensions:["oz"],load(){return oe(()=>import("./oz-BzwKVEFT.js"),[]).then(n=>he(n.oz))}}),ee.of({name:"Pascal",extensions:["p","pas"],load(){return oe(()=>import("./pascal--L3eBynH.js"),[]).then(n=>he(n.pascal))}}),ee.of({name:"Perl",extensions:["pl","pm"],load(){return oe(()=>import("./perl-CdXCOZ3F.js"),[]).then(n=>he(n.perl))}}),ee.of({name:"Pig",extensions:["pig"],load(){return oe(()=>import("./pig-CevX1Tat.js"),[]).then(n=>he(n.pig))}}),ee.of({name:"PowerShell",extensions:["ps1","psd1","psm1"],load(){return oe(()=>import("./powershell-CFHJl5sT.js"),[]).then(n=>he(n.powerShell))}}),ee.of({name:"Properties files",alias:["ini","properties"],extensions:["properties","ini","in"],load(){return oe(()=>import("./properties-C78fOPTZ.js"),[]).then(n=>he(n.properties))}}),ee.of({name:"ProtoBuf",extensions:["proto"],load(){return oe(()=>import("./protobuf-ChK-085T.js"),[]).then(n=>he(n.protobuf))}}),ee.of({name:"Pug",alias:["jade"],extensions:["pug","jade"],load(){return oe(()=>import("./pug-DeIclll2.js"),__vite__mapDeps([4,5])).then(n=>he(n.pug))}}),ee.of({name:"Puppet",extensions:["pp"],load(){return oe(()=>import("./puppet-DMA9R1ak.js"),[]).then(n=>he(n.puppet))}}),ee.of({name:"Q",extensions:["q"],load(){return oe(()=>import("./q-pXgVlZs6.js"),[]).then(n=>he(n.q))}}),ee.of({name:"R",alias:["rscript"],extensions:["r","R"],load(){return oe(()=>import("./r-B6wPVr8A.js"),[]).then(n=>he(n.r))}}),ee.of({name:"RPM Changes",load(){return oe(()=>import("./rpm-CTu-6PCP.js"),[]).then(n=>he(n.rpmChanges))}}),ee.of({name:"RPM Spec",extensions:["spec"],load(){return oe(()=>import("./rpm-CTu-6PCP.js"),[]).then(n=>he(n.rpmSpec))}}),ee.of({name:"Ruby",alias:["jruby","macruby","rake","rb","rbx"],extensions:["rb"],filename:/^(Gemfile|Rakefile)$/,load(){return oe(()=>import("./ruby-B2Rjki9n.js"),[]).then(n=>he(n.ruby))}}),ee.of({name:"SAS",extensions:["sas"],load(){return oe(()=>import("./sas-B4kiWyti.js"),[]).then(n=>he(n.sas))}}),ee.of({name:"Scala",extensions:["scala"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.scala))}}),ee.of({name:"Scheme",extensions:["scm","ss"],load(){return oe(()=>import("./scheme-C41bIUwD.js"),[]).then(n=>he(n.scheme))}}),ee.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return oe(()=>import("./shell-CjFT_Tl9.js"),[]).then(n=>he(n.shell))}}),ee.of({name:"Sieve",extensions:["siv","sieve"],load(){return oe(()=>import("./sieve-C3Gn_uJK.js"),[]).then(n=>he(n.sieve))}}),ee.of({name:"Smalltalk",extensions:["st"],load(){return oe(()=>import("./smalltalk-CnHTOXQT.js"),[]).then(n=>he(n.smalltalk))}}),ee.of({name:"Solr",load(){return oe(()=>import("./solr-DehyRSwq.js"),[]).then(n=>he(n.solr))}}),ee.of({name:"SML",extensions:["sml","sig","fun","smackspec"],load(){return oe(()=>import("./mllike-CXdrOF99.js"),[]).then(n=>he(n.sml))}}),ee.of({name:"SPARQL",alias:["sparul"],extensions:["rq","sparql"],load(){return oe(()=>import("./sparql-DkYu6x3z.js"),[]).then(n=>he(n.sparql))}}),ee.of({name:"Spreadsheet",alias:["excel","formula"],load(){return oe(()=>import("./spreadsheet-BCZA_wO0.js"),[]).then(n=>he(n.spreadsheet))}}),ee.of({name:"Squirrel",extensions:["nut"],load(){return oe(()=>import("./clike-B9uivgTg.js"),[]).then(n=>he(n.squirrel))}}),ee.of({name:"Stylus",extensions:["styl"],load(){return oe(()=>import("./stylus-B533Al4x.js"),[]).then(n=>he(n.stylus))}}),ee.of({name:"Swift",extensions:["swift"],load(){return oe(()=>import("./swift-BzpIVaGY.js"),[]).then(n=>he(n.swift))}}),ee.of({name:"sTeX",load(){return oe(()=>import("./stex-C3f8Ysf7.js"),[]).then(n=>he(n.stex))}}),ee.of({name:"LaTeX",alias:["tex"],extensions:["text","ltx","tex"],load(){return oe(()=>import("./stex-C3f8Ysf7.js"),[]).then(n=>he(n.stex))}}),ee.of({name:"SystemVerilog",extensions:["v","sv","svh"],load(){return oe(()=>import("./verilog-C6RDOZhf.js"),[]).then(n=>he(n.verilog))}}),ee.of({name:"Tcl",extensions:["tcl"],load(){return oe(()=>import("./tcl-DVfN8rqt.js"),[]).then(n=>he(n.tcl))}}),ee.of({name:"Textile",extensions:["textile"],load(){return oe(()=>import("./textile-CnDTJFAw.js"),[]).then(n=>he(n.textile))}}),ee.of({name:"TiddlyWiki",load(){return oe(()=>import("./tiddlywiki-DO-Gjzrf.js"),[]).then(n=>he(n.tiddlyWiki))}}),ee.of({name:"Tiki wiki",load(){return oe(()=>import("./tiki-DGYXhP31.js"),[]).then(n=>he(n.tiki))}}),ee.of({name:"TOML",extensions:["toml"],load(){return oe(()=>import("./toml-Bm5Em-hy.js"),[]).then(n=>he(n.toml))}}),ee.of({name:"Troff",extensions:["1","2","3","4","5","6","7","8","9"],load(){return oe(()=>import("./troff-wAsdV37c.js"),[]).then(n=>he(n.troff))}}),ee.of({name:"TTCN",extensions:["ttcn","ttcn3","ttcnpp"],load(){return oe(()=>import("./ttcn-CfJYG6tj.js"),[]).then(n=>he(n.ttcn))}}),ee.of({name:"TTCN_CFG",extensions:["cfg"],load(){return oe(()=>import("./ttcn-cfg-B9xdYoR4.js"),[]).then(n=>he(n.ttcnCfg))}}),ee.of({name:"Turtle",extensions:["ttl"],load(){return oe(()=>import("./turtle-B1tBg_DP.js"),[]).then(n=>he(n.turtle))}}),ee.of({name:"Web IDL",extensions:["webidl"],load(){return oe(()=>import("./webidl-ZXfAyPTL.js"),[]).then(n=>he(n.webIDL))}}),ee.of({name:"VB.NET",extensions:["vb"],load(){return oe(()=>import("./vb-CmGdzxic.js"),[]).then(n=>he(n.vb))}}),ee.of({name:"VBScript",extensions:["vbs"],load(){return oe(()=>import("./vbscript-BuJXcnF6.js"),[]).then(n=>he(n.vbScript))}}),ee.of({name:"Velocity",extensions:["vtl"],load(){return oe(()=>import("./velocity-D8B20fx6.js"),[]).then(n=>he(n.velocity))}}),ee.of({name:"Verilog",extensions:["v"],load(){return oe(()=>import("./verilog-C6RDOZhf.js"),[]).then(n=>he(n.verilog))}}),ee.of({name:"VHDL",extensions:["vhd","vhdl"],load(){return oe(()=>import("./vhdl-lSbBsy5d.js"),[]).then(n=>he(n.vhdl))}}),ee.of({name:"XQuery",extensions:["xy","xquery","xq","xqm","xqy"],load(){return oe(()=>import("./xquery-DzFWVndE.js"),[]).then(n=>he(n.xQuery))}}),ee.of({name:"Yacas",extensions:["ys"],load(){return oe(()=>import("./yacas-BJ4BC0dw.js"),[]).then(n=>he(n.yacas))}}),ee.of({name:"Z80",extensions:["z80"],load(){return oe(()=>import("./z80-Hz9HOZM7.js"),[]).then(n=>he(n.z80))}}),ee.of({name:"MscGen",extensions:["mscgen","mscin","msc"],load(){return oe(()=>import("./mscgen-BA5vi2Kp.js"),[]).then(n=>he(n.mscgen))}}),ee.of({name:"Xù",extensions:["xu"],load(){return oe(()=>import("./mscgen-BA5vi2Kp.js"),[]).then(n=>he(n.xu))}}),ee.of({name:"MsGenny",extensions:["msgenny"],load(){return oe(()=>import("./mscgen-BA5vi2Kp.js"),[]).then(n=>he(n.msgenny))}}),ee.of({name:"Vue",extensions:["vue"],load(){return oe(()=>import("./index-D7qsmgxj.js"),[]).then(n=>n.vue())}}),ee.of({name:"Angular Template",load(){return oe(()=>import("./index-B8fTAmhP.js"),[]).then(n=>n.angular())}})];var nW=V('<div class="inline-editor svelte-1ewoogg"></div>');function vo(n,e){Ot(e,!0);let t,r=J(void 0),i="";const s=new vs,o=new vs,a=new vs,l=Me.theme({"&":{color:"#1a1a2e",fontSize:"13px",height:"auto"},".cm-scroller":{overflow:"visible",fontFamily:"'SF Mono', 'Fira Code', ui-monospace, monospace",lineHeight:"1.6"},".cm-content":{padding:"0.75rem",caretColor:"#1e293b",minHeight:"3rem"},".cm-cursor":{borderLeftColor:"#1e293b"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"rgba(14, 165, 233, 0.2)"},".cm-selectionBackground":{backgroundColor:"rgba(14, 165, 233, 0.12)"},"&.cm-focused":{outline:"none"},".cm-activeLine":{backgroundColor:"transparent"},".cm-tooltip.cm-tooltip-autocomplete":{border:"1px solid #e2e8f0",borderRadius:"6px",boxShadow:"0 8px 24px rgba(0, 0, 0, 0.12)",backgroundColor:"#ffffff",overflow:"hidden"},".cm-tooltip.cm-tooltip-autocomplete ul":{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"12px",maxHeight:"280px"},".cm-tooltip.cm-tooltip-autocomplete ul li":{padding:"4px 8px",borderBottom:"1px solid #f1f5f9"},".cm-tooltip.cm-tooltip-autocomplete ul li[aria-selected]":{backgroundColor:"#f0f9ff",color:"#0369a1"},".cm-tooltip.cm-completionInfo":{border:"1px solid #e2e8f0",borderRadius:"6px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.08)",backgroundColor:"#ffffff",padding:"6px 10px",fontFamily:"system-ui, -apple-system, sans-serif",fontSize:"12px",color:"#475569",maxWidth:"300px"},".cm-completionDetail":{color:"#94a3b8",fontStyle:"normal",marginLeft:"0.5em"},".cm-markdoc-tag":{backgroundColor:"rgba(217, 119, 6, 0.06)",borderRadius:"2px"},".cm-markdoc-bracket":{color:"#94a3b8"},".cm-markdoc-name":{color:"#d97706",fontWeight:"600"}},{dark:!1});yn(()=>{if(!t)return;const u=!!Er(()=>e.language)?.trim(),f=Rt.create({doc:Er(()=>e.content),extensions:[s.of(nl()),o.of(u?[]:$c()),a.of(u?[]:Zm({override:[eg(e.runes),tg(e.runes,e.aggregated)],icons:!1})),FO(),l,yc(LA),yc(sx),SA(),Ko.of([...WO,...XO,...QA,{key:"Mod-/",run:h=>(nc(h),!0)}]),Me.updateListener.of(h=>{h.docChanged&&(i=h.state.doc.toString(),e.onchange(i))}),Me.lineWrapping]}),d=new Me({state:f,parent:t});return M(r,d,!0),()=>{M(r,void 0),d.destroy()}}),yn(()=>{const u=g(r);if(!u)return;const f=e.language?.trim();if(!f){u.dispatch({effects:[s.reconfigure(nl()),o.reconfigure($c()),a.reconfigure(Zm({override:[eg(e.runes),tg(e.runes,e.aggregated)],icons:!1}))]});return}u.dispatch({effects:[o.reconfigure([]),a.reconfigure([])]});const d=ee.matchLanguageName(yT,f,!0);d&&d.load().then(h=>{g(r)===u&&u.dispatch({effects:s.reconfigure(h)})})}),yn(()=>{const u=e.content,f=g(r);if(!f)return;const d=f.state.doc.toString();if(u!==d){if(i&&d===i){i="";return}i="",f.dispatch({changes:{from:0,to:f.state.doc.length,insert:u}})}});var c=nW();gn(c,u=>t=u,()=>t),z(n,c),vt()}var rW=V('<span class="edit-panel__category svelte-1t8cclf"> </span>'),iW=As('<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="2"></circle><path d="M6.7 1.6h2.6l.4 1.8.8.4 1.7-.7 1.8 1.8-.7 1.7.4.8 1.8.4v2.6l-1.8.4-.4.8.7 1.7-1.8 1.8-1.7-.7-.8.4-.4 1.8H6.7l-.4-1.8-.8-.4-1.7.7-1.8-1.8.7-1.7-.4-.8-1.8-.4V6.7l1.8-.4.4-.8-.7-1.7 1.8-1.8 1.7.7.8-.4z"></path></svg> Settings',1),sW=As('<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h4M2 7h4M6 11h4M6 15h4M4 3v8M8 11v4"></path></svg> Structure',1),oW=As('<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 4h12M2 8h12M2 12h8"></path></svg> Content',1),aW=V('<button type="button"><!></button>'),lW=V('<div class="edit-panel__tabs svelte-1t8cclf"></div>'),cW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Level</span> <select class="edit-panel__select svelte-1t8cclf"><option>H1</option><option>H2</option><option>H3</option><option>H4</option><option>H5</option><option>H6</option></select></label> <label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Text</span> <input class="edit-panel__input svelte-1t8cclf" type="text"/></label></div>'),uW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Language</span> <input class="edit-panel__input svelte-1t8cclf" type="text" placeholder="e.g. js, python, html"/></label></div>'),fW=V('<div class="edit-panel__empty-tab svelte-1t8cclf"><span class="edit-panel__empty-tab-text svelte-1t8cclf">No settings for this element</span></div>'),dW=V('<label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf"> </span> <input class="edit-panel__input svelte-1t8cclf" type="text"/></label>'),hW=V('<div class="edit-panel__unknown svelte-1t8cclf"><span class="edit-panel__unknown-label svelte-1t8cclf"> </span> <!></div>'),pW=V('<div class="edit-panel__tab-panel svelte-1t8cclf"><!></div>'),mW=V('<div class="edit-panel__tab-panel svelte-1t8cclf"><!></div>'),gW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),OW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),vW=V('<div class="edit-panel__empty-tab svelte-1t8cclf"><span class="edit-panel__empty-tab-text svelte-1t8cclf">Edit heading text in Settings</span></div>'),bW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Source</span> <textarea class="edit-panel__textarea svelte-1t8cclf"></textarea></label></div>'),yW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),wW=V('<div class="edit-panel__empty-tab svelte-1t8cclf"><span class="edit-panel__empty-tab-text svelte-1t8cclf">This rune has no inner content</span></div>'),_W=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),kW=V('<div class="edit-panel__tab-panel svelte-1t8cclf"><!></div>'),xW=V("<!> <!> <!>",1),SW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Level</span> <select class="edit-panel__select svelte-1t8cclf"><option>H1</option><option>H2</option><option>H3</option><option>H4</option><option>H5</option><option>H6</option></select></label> <label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Text</span> <input class="edit-panel__input svelte-1t8cclf" type="text"/></label></div>'),AW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Language</span> <input class="edit-panel__input svelte-1t8cclf" type="text" placeholder="e.g. js, python, html"/></label></div> <div class="edit-panel__content-editor svelte-1t8cclf"><!></div>',1),CW=V('<div class="edit-panel__content-editor svelte-1t8cclf"><!></div>'),TW=V('<div class="edit-panel__field-group svelte-1t8cclf"><label class="edit-panel__field svelte-1t8cclf"><span class="edit-panel__field-label svelte-1t8cclf">Source</span> <textarea class="edit-panel__textarea svelte-1t8cclf"></textarea></label></div>'),PW=V('<div class="edit-panel__body svelte-1t8cclf"><!></div>'),EW=V('<div class="edit-panel svelte-1t8cclf"><div class="edit-panel__top svelte-1t8cclf"><div class="edit-panel__header svelte-1t8cclf"><span class="edit-panel__type svelte-1t8cclf"> </span> <!> <div class="edit-panel__spacer svelte-1t8cclf"></div> <button class="edit-panel__btn edit-panel__btn--danger svelte-1t8cclf" title="Remove block"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 3 14 13 14 13 6"></polyline><line x1="1" y1="4" x2="15" y2="4"></line><line x1="6" y1="2" x2="10" y2="2"></line><line x1="6" y1="8" x2="6" y2="12"></line><line x1="10" y1="8" x2="10" y2="12"></line></svg></button> <button class="edit-panel__btn svelte-1t8cclf" title="Close panel">×</button></div> <!></div> <!></div>');function $W(n,e){Ot(e,!0);let t=Et(e,"aggregated",19,()=>({})),r=Et(e,"initialRuneIndex",3,null),i=me(()=>kv(e.block)),s=me(()=>e.block.type==="rune"?e.runeMap.get(e.block.runeName)??null:null),o=me(()=>g(s)?.category??null),a=J(rn([])),l=me(()=>{if(e.block.type!=="rune")return[];const le=e.block;return le.selfClosing||!le.innerContent.trim()?[]:wv(le.innerContent)}),c=me(()=>g(l).some(le=>le.type==="rune")),u=me(()=>g(v)?.type==="rune"&&g(b)?g(b):g(s)),f=me(()=>g(v)?.type==="rune"&&g(v).children?g(v).children:g(l)),d=me(()=>g(u)?.contentModel!=null),h=me(()=>g(u)?.contentModel?fV(g(f),g(u).contentModel):null),m=J(null);function p(le,ve){let ye=0;function Ce(Se,yt){for(let dt=0;dt<Se.length;dt++)if(Se[dt].type==="rune"){if(ye===ve)return[...yt,dt];ye++;const Je=Ce(Se[dt].children??[],[...yt,dt]);if(Je)return Je}return null}return Ce(le,[])}yn(()=>{if(r()!=null&&g(l).length>0){const le=p(g(l),r());le&&M(a,le,!0)}});function O(le,ve){if(ve.length===0)return null;const[ye,...Ce]=ve,Se=le[ye];return Se?Ce.length===0?Se:O(Se.children??[],Ce):null}let v=me(()=>O(g(l),g(a))),b=me(()=>g(v)?.runeName?e.runeMap.get(g(v).runeName)??null:null),_=me(()=>g(v)!=null&&g(v).type!=="rune"),A=me(()=>g(v)?g(v).type==="rune"?g(v).runeName??g(i):g(v).type:g(i)),w=J("settings"),y=me(()=>{if(e.block.type!=="rune")return[];const le=e.block,ve=["settings"];return(g(d)||!g(v)&&g(c))&&ve.push("structure"),le.selfClosing||ve.push("content"),ve});yn(()=>{g(w)==="structure"&&!g(y).includes("structure")&&M(w,"settings")});function S(le){M(a,le,!0);const ve=O(g(l),le);ve&&ve.type!=="rune"&&M(w,"content")}function C(){M(a,[],!0)}function k(le,ve){M(m,ve?`${ve}.${le}`:le,!0)}function x(le){const ve=e.block;if(g(v)?.type==="rune"&&g(v).innerContent!==void 0){const ye=le(g(v).innerContent);if(ye===g(v).innerContent)return;const Ce=mf(g(v).attributes??{}),Se=ye.trim(),yt=Se?`{% ${g(v).runeName}${Ce} %}
|
|
578
578
|
${Se}
|
|
579
579
|
{% /${g(v).runeName} %}`:`{% ${g(v).runeName}${Ce} %}
|
|
580
580
|
|
|
@@ -591,13 +591,13 @@ ${Ce}
|
|
|
591
591
|
${ve}
|
|
592
592
|
\`\`\``)}function tt(le){if(!g(v))return;const ve=g(v).fenceLanguage??"";De(`\`\`\`${ve}
|
|
593
593
|
${le}
|
|
594
|
-
\`\`\``)}function Ve(le){De(le)}var Ge=
|
|
595
|
-
`).length)]),z(Z,we)};ue(qn,Z=>{g(v).type==="fence"?Z(jn):g(v).type==="paragraph"?Z(Oe,1):g(v).type==="heading"?Z(xe,2):Z($e,!1)})}z(_t,Ft)},Zt=_t=>{var Ft=mn(),qn=st(Ft);{var jn=xe=>{var $e=
|
|
596
|
-
`).length)]),z(Je,Ct)};ue(ye,Je=>{e.block.type==="heading"?Je(Ce):e.block.type==="fence"?Je(Se,1):e.block.type==="paragraph"?Je(yt,2):Je(dt,!1)})}z(le,ve)};ue(Mt,le=>{e.block.type==="rune"?le(bt):le(un,!1)})}fe(()=>Le(En,g(A))),z(n,Ge),vt()}Kt(["click","change","input"]);var
|
|
594
|
+
\`\`\``)}function Ve(le){De(le)}var Ge=EW(),Re=D(Ge),At=D(Re),Jt=D(At),En=D(Jt),ft=R(Jt,2);{var on=le=>{var ve=rW(),ye=D(ve);fe(()=>Le(ye,g(o))),z(le,ve)};ue(ft,le=>{!g(_)&&g(o)&&le(on)})}var an=R(ft,4);an.__click=function(...le){e.onremove?.apply(this,le)};var Vn=R(an,2);Vn.__click=function(...le){e.onclose?.apply(this,le)};var Ae=R(At,2);{var $n=le=>{var ve=lW();Lt(ve,21,()=>g(y),en,(ye,Ce)=>{var Se=aW();let yt;Se.__click=()=>M(w,g(Ce),!0);var dt=D(Se);{var Je=at=>{var Tt=iW();z(at,Tt)},Ct=at=>{var Tt=sW();z(at,Tt)},wt=at=>{var Tt=oW();z(at,Tt)};ue(dt,at=>{g(Ce)==="settings"?at(Je):g(Ce)==="structure"?at(Ct,1):g(Ce)==="content"&&at(wt,2)})}fe(()=>yt=We(Se,1,"edit-panel__tab svelte-1t8cclf",null,yt,{active:g(w)===g(Ce)})),z(ye,Se)}),z(le,ve)};ue(Ae,le=>{e.block.type==="rune"&&g(y).length>1&&le($n)})}var Mt=R(Re,2);{var bt=le=>{const ve=me(()=>e.block);var ye=xW(),Ce=st(ye);{var Se=wt=>{var at=pW(),Tt=D(at);{var Tn=_t=>{var Ft=mn(),qn=st(Ft);{var jn=$e=>{var Z=cW(),we=D(Z),xt=R(D(we),2);xt.__change=vr=>ge(Number(vr.target.value));var qt=D(xt);qt.value=qt.__value="1";var je=R(qt);je.value=je.__value="2";var zn=R(je);zn.value=zn.__value="3";var rr=R(zn);rr.value=rr.__value="4";var pt=R(rr);pt.value=pt.__value="5";var On=R(pt);On.value=On.__value="6";var hn;Sf(xt);var Gr=R(we,2),Mr=R(D(Gr),2);Mr.__input=vr=>Ee(vr.target.value),fe(vr=>{hn!==(hn=vr)&&(xt.value=(xt.__value=vr)??"",lc(xt,vr)),dn(Mr,g(v).headingText??"")},[()=>String(g(v).headingLevel??1)]),z($e,Z)},Oe=$e=>{var Z=uW(),we=D(Z),xt=R(D(we),2);xt.__input=qt=>Ke(qt.target.value),fe(()=>dn(xt,g(v).fenceLanguage??"")),z($e,Z)},xe=$e=>{var Z=fW();z($e,Z)};ue(qn,$e=>{g(v).type==="heading"?$e(jn):g(v).type==="fence"?$e(Oe,1):$e(xe,!1)})}z(_t,Ft)},Zt=_t=>{{let Ft=me(()=>g(v).attributes??{});Pw(_t,{get runeInfo(){return g(b)},get attributes(){return g(Ft)},onchange:se})}},tn=_t=>{var Ft=mn(),qn=st(Ft);{var jn=xe=>{Pw(xe,{get runeInfo(){return g(s)},get attributes(){return g(ve).attributes},onchange:H})},Oe=xe=>{var $e=hW(),Z=D($e),we=D(Z),xt=R(Z,2);Lt(xt,17,()=>Object.entries(g(ve).attributes),en,(qt,je)=>{var zn=me(()=>jc(g(je),2));let rr=()=>g(zn)[0],pt=()=>g(zn)[1];var On=dW(),hn=D(On),Gr=D(hn),Mr=R(hn,2);Mr.__input=vr=>{const G={...g(ve).attributes,[rr()]:vr.target.value};H(G)},fe(()=>{Le(Gr,rr()),dn(Mr,pt())}),z(qt,On)}),fe(()=>Le(we,`Unknown rune: ${g(ve).runeName??""}`)),z(xe,$e)};ue(qn,xe=>{g(s)?xe(jn):xe(Oe,!1)})}z(_t,Ft)};ue(Tt,_t=>{g(_)&&g(v)?_t(Tn):g(v)&&g(b)?_t(Zt,1):g(v)||_t(tn,2)})}z(wt,at)};ue(Ce,wt=>{g(w)==="settings"&&wt(Se)})}var yt=R(Ce,2);{var dt=wt=>{var at=mW(),Tt=D(at);{var Tn=tn=>{{let _t=me(()=>g(v)?.runeName??g(ve).runeName);tW(tn,{get structure(){return g(h)},get rootLabel(){return g(_t)},onaddfield:E,onremovefield:T,onappenditem:P,onremovelistitem:q,onreorderlistitem:I,oneditfield:W,oneditlistitem:U,onnavigaterune:K,onfieldselect:k,get selectedField(){return g(m)}})}},Zt=tn=>{{let _t=me(()=>g(a).length===0);bT(tn,{get nodes(){return g(l)},get activePath(){return g(a)},onselect:S,get rootLabel(){return g(ve).runeName},onrootclick:C,get isRootActive(){return g(_t)}})}};ue(Tt,tn=>{g(d)&&g(h)?tn(Tn):!g(v)&&g(c)&&tn(Zt,1)})}z(wt,at)};ue(yt,wt=>{g(w)==="structure"&&wt(dt)})}var Je=R(yt,2);{var Ct=wt=>{var at=kW(),Tt=D(at);{var Tn=_t=>{var Ft=mn(),qn=st(Ft);{var jn=Z=>{var we=gW(),xt=D(we);{let qt=me(()=>g(v).fenceCode??"");vo(xt,{get content(){return g(qt)},onchange:tt,get language(){return g(v).fenceLanguage},get runes(){return e.runes},aggregated:()=>t()})}z(Z,we)},Oe=Z=>{var we=OW(),xt=D(we);vo(xt,{get content(){return g(v).source},onchange:Ve,get runes(){return e.runes},aggregated:()=>t()}),z(Z,we)},xe=Z=>{var we=vW();z(Z,we)},$e=Z=>{var we=bW(),xt=D(we),qt=R(D(xt),2);qt.__input=je=>Ve(je.target.value),fe(je=>{dn(qt,g(v).source),$t(qt,"rows",je)},[()=>Math.max(4,g(v).source.split(`
|
|
595
|
+
`).length)]),z(Z,we)};ue(qn,Z=>{g(v).type==="fence"?Z(jn):g(v).type==="paragraph"?Z(Oe,1):g(v).type==="heading"?Z(xe,2):Z($e,!1)})}z(_t,Ft)},Zt=_t=>{var Ft=mn(),qn=st(Ft);{var jn=xe=>{var $e=yW(),Z=D($e);vo(Z,{get content(){return g(v).innerContent},onchange:j,get runes(){return e.runes},aggregated:()=>t()}),z(xe,$e)},Oe=xe=>{var $e=wW();z(xe,$e)};ue(qn,xe=>{!g(v).selfClosing&&g(v).innerContent!==void 0?xe(jn):xe(Oe,!1)})}z(_t,Ft)},tn=_t=>{var Ft=_W(),qn=D(Ft);vo(qn,{get content(){return g(ve).innerContent},onchange:ie,get runes(){return e.runes},aggregated:()=>t()}),z(_t,Ft)};ue(Tt,_t=>{g(_)&&g(v)?_t(Tn):g(v)&&g(b)?_t(Zt,1):g(v)||_t(tn,2)})}z(wt,at)};ue(Je,wt=>{g(w)==="content"&&!g(ve).selfClosing&&wt(Ct)})}z(le,ye)},un=le=>{var ve=PW(),ye=D(ve);{var Ce=Je=>{const Ct=me(()=>e.block);var wt=SW(),at=D(wt),Tt=R(D(at),2);Tt.__change=$e=>re(Number($e.target.value));var Tn=D(Tt);Tn.value=Tn.__value="1";var Zt=R(Tn);Zt.value=Zt.__value="2";var tn=R(Zt);tn.value=tn.__value="3";var _t=R(tn);_t.value=_t.__value="4";var Ft=R(_t);Ft.value=Ft.__value="5";var qn=R(Ft);qn.value=qn.__value="6";var jn;Sf(Tt);var Oe=R(at,2),xe=R(D(Oe),2);xe.__input=$e=>ae($e.target.value),fe($e=>{jn!==(jn=$e)&&(Tt.value=(Tt.__value=$e)??"",lc(Tt,$e)),dn(xe,g(Ct).text)},[()=>String(g(Ct).level)]),z(Je,wt)},Se=Je=>{const Ct=me(()=>e.block);var wt=AW(),at=st(wt),Tt=D(at),Tn=R(D(Tt),2);Tn.__input=_t=>Te(_t.target.value);var Zt=R(at,2),tn=D(Zt);vo(tn,{get content(){return g(Ct).code},onchange:ne,get language(){return g(Ct).language},get runes(){return e.runes},aggregated:()=>t()}),fe(()=>dn(Tn,g(Ct).language)),z(Je,wt)},yt=Je=>{var Ct=CW(),wt=D(Ct);vo(wt,{get content(){return e.block.source},onchange:Qe,get runes(){return e.runes},aggregated:()=>t()}),z(Je,Ct)},dt=Je=>{var Ct=TW(),wt=D(Ct),at=R(D(wt),2);at.__input=Tt=>Qe(Tt.target.value),fe(Tt=>{dn(at,e.block.source),$t(at,"rows",Tt)},[()=>Math.max(4,e.block.source.split(`
|
|
596
|
+
`).length)]),z(Je,Ct)};ue(ye,Je=>{e.block.type==="heading"?Je(Ce):e.block.type==="fence"?Je(Se,1):e.block.type==="paragraph"?Je(yt,2):Je(dt,!1)})}z(le,ve)};ue(Mt,le=>{e.block.type==="rune"?le(bt):le(un,!1)})}fe(()=>Le(En,g(A))),z(n,Ge),vt()}Kt(["click","change","input"]);var QW=V('<div draggable="true"><span class="structure-item__drag svelte-1lv3l5p" title="Drag to reorder"><svg width="8" height="12" viewBox="0 0 8 12" fill="currentColor"><circle cx="2" cy="2" r="1"></circle><circle cx="6" cy="2" r="1"></circle><circle cx="2" cy="6" r="1"></circle><circle cx="6" cy="6" r="1"></circle><circle cx="2" cy="10" r="1"></circle><circle cx="6" cy="10" r="1"></circle></svg></span> <span class="structure-item__icon svelte-1lv3l5p"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><!></svg></span> <span class="structure-item__info svelte-1lv3l5p"><span class="structure-item__type svelte-1lv3l5p"> </span> <span class="structure-item__preview svelte-1lv3l5p"> </span></span> <button class="structure-item__remove svelte-1lv3l5p" title="Remove"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="4" x2="12" y2="12"></line><line x1="12" y1="4" x2="4" y2="12"></line></svg></button></div>'),LW=V('<div class="edit-panel__tab-panel svelte-1lv3l5p"><div class="structure-list svelte-1lv3l5p"></div></div>'),MW=V('<div class="edit-panel__tab-panel svelte-1lv3l5p"><div class="edit-panel__content-editor svelte-1lv3l5p"><!></div></div>'),qW=V('<div class="edit-panel svelte-1lv3l5p"><div class="edit-panel__top svelte-1lv3l5p"><div class="edit-panel__header svelte-1lv3l5p"><span class="edit-panel__type svelte-1lv3l5p">prose</span> <span class="edit-panel__count svelte-1lv3l5p"> </span> <div class="edit-panel__spacer svelte-1lv3l5p"></div> <button class="edit-panel__btn edit-panel__btn--danger svelte-1lv3l5p" title="Remove block"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 3 14 13 14 13 6"></polyline><line x1="1" y1="4" x2="15" y2="4"></line><line x1="6" y1="2" x2="10" y2="2"></line><line x1="6" y1="8" x2="6" y2="12"></line><line x1="10" y1="8" x2="10" y2="12"></line></svg></button> <button class="edit-panel__btn svelte-1lv3l5p" title="Close panel">×</button></div> <div class="edit-panel__tabs svelte-1lv3l5p"><button type="button"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h4M2 7h4M6 11h4M6 15h4M4 3v8M8 11v4"></path></svg> Structure</button> <button type="button"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 4h12M2 8h12M2 12h8"></path></svg> Content</button></div></div> <!> <!></div>');function DW(n,e){Ot(e,!0);let t=Et(e,"aggregated",19,()=>({})),r=J("structure");function i(P){switch(P.type){case"heading":return P.text;case"paragraph":return P.source.length>60?P.source.slice(0,60)+"...":P.source;case"fence":{const q=P,I=q.language?`${q.language}: `:"",W=q.code.split(`
|
|
597
597
|
`)[0]??"";return I+(W.length>50?W.slice(0,50)+"...":W)}case"list":return P.source.split(`
|
|
598
598
|
`)[0]??"";case"quote":return P.source.replace(/^>\s*/gm,"").split(`
|
|
599
599
|
`)[0]??"";case"hr":return"---";case"image":return P.source;default:return P.source.split(`
|
|
600
|
-
`)[0]??""}}function s(P){switch(P.type){case"heading":return'<path d="M3 3v10M13 3v10M3 8h10" />';case"paragraph":return'<path d="M2 4h12M2 8h12M2 12h8" />';case"fence":return'<polyline points="4 6 1 9 4 12" /><polyline points="12 6 15 9 12 12" />';case"list":return'<circle cx="3" cy="4" r="1" fill="currentColor" /><line x1="6" y1="4" x2="14" y2="4" /><circle cx="3" cy="8" r="1" fill="currentColor" /><line x1="6" y1="8" x2="14" y2="8" /><circle cx="3" cy="12" r="1" fill="currentColor" /><line x1="6" y1="12" x2="14" y2="12" />';case"quote":return'<path d="M3 5h10M5 5v8M5 9h6" />';case"hr":return'<line x1="2" y1="8" x2="14" y2="8" />';case"image":return'<rect x="2" y="2" width="12" height="12" rx="1" /><circle cx="5.5" cy="5.5" r="1.5" /><path d="M14 10l-3-3-5 5" />';default:return'<path d="M2 4h12M2 8h12M2 12h8" />'}}let o=J(null),a=J(null);function l(P,q){M(o,q,!0),P.dataTransfer&&(P.dataTransfer.effectAllowed="move",P.dataTransfer.setData("text/plain",String(q)))}function c(P,q){P.preventDefault(),P.dataTransfer&&(P.dataTransfer.dropEffect="move"),M(a,q,!0)}function u(P,q){P.preventDefault(),g(o)!==null&&g(o)!==q&&d(g(o),q),M(o,null),M(a,null)}function f(){M(o,null),M(a,null)}function d(P,q){const I=[...e.block.children],[W]=I.splice(P,1);I.splice(q,0,W);const U=ng(I);e.onupdate({...e.block,children:I,source:U})}function h(P){const q=e.block.children.filter((W,U)=>U!==P);if(q.length===0){e.onremove();return}const I=ng(q);e.onupdate({...e.block,children:q,source:I})}function m(P){if(!P.trim()){e.onremove();return}const q=DA(P);e.onupdate({...e.block,children:q,source:P})}var p=MW(),O=D(p),v=D(O),b=R(D(v),2),_=D(b),A=R(b,4);A.__click=function(...P){e.onremove?.apply(this,P)};var w=R(A,2);w.__click=function(...P){e.onclose?.apply(this,P)};var y=R(v,2),S=D(y);let C;S.__click=()=>M(r,"structure");var k=R(S,2);let x;k.__click=()=>M(r,"content");var E=R(O,2);{var T=P=>{var q=QW(),I=D(q);Lt(I,23,()=>e.block.children,W=>W.id,(W,U,K)=>{var ae=$W();let re;var H=R(D(ae),2),ie=D(H),se=D(ie);k_(se,()=>s(g(U)),!0);var j=R(H,2),ne=D(j),Te=D(ne),Qe=R(ne,2),De=D(Qe),ge=R(j,2);ge.__click=()=>h(g(K)),fe((Ee,Ke)=>{re=We(ae,1,"structure-item svelte-1lv3l5p",null,re,{"drag-source":g(o)===g(K),"drag-over":g(a)===g(K)&&g(o)!==g(K)}),Le(Te,Ee),Le(De,Ke)},[()=>kv(g(U)),()=>i(g(U))]),ct("dragstart",ae,Ee=>l(Ee,g(K))),ct("dragover",ae,Ee=>c(Ee,g(K))),ct("drop",ae,Ee=>u(Ee,g(K))),ct("dragend",ae,f),z(W,ae)}),z(P,q)};ue(E,P=>{g(r)==="structure"&&P(T)})}var $=R(E,2);{var Q=P=>{var q=LW(),I=D(q),W=D(I);vo(W,{get content(){return e.block.source},onchange:m,get runes(){return e.runes},aggregated:()=>t()}),z(P,q)};ue($,P=>{g(r)==="content"&&P(Q)})}fe(()=>{Le(_,`${e.block.children.length??""} block${e.block.children.length!==1?"s":""}`),C=We(S,1,"edit-panel__tab svelte-1lv3l5p",null,C,{active:g(r)==="structure"}),x=We(k,1,"edit-panel__tab svelte-1lv3l5p",null,x,{active:g(r)==="content"})}),z(n,p),vt()}Kt(["click"]);var DW=V('<div class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w"> </span> <div class="edit-panel__custom-row svelte-1wxsk8w"><input class="edit-panel__input svelte-1wxsk8w" type="text"/> <button class="edit-panel__remove-btn svelte-1wxsk8w">×</button></div></div>'),RW=V('<div class="edit-panel__custom-section svelte-1wxsk8w"><span class="edit-panel__section-label svelte-1wxsk8w">Custom fields</span> <!></div>'),IW=V('<div class="edit-panel svelte-1wxsk8w"><div class="edit-panel__header svelte-1wxsk8w"><span class="edit-panel__type svelte-1wxsk8w">Frontmatter</span> <div class="edit-panel__spacer svelte-1wxsk8w"></div> <button class="edit-panel__btn svelte-1wxsk8w" title="Close panel">×</button></div> <div class="edit-panel__body svelte-1wxsk8w"><div class="edit-panel__field-group svelte-1wxsk8w"><label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Title</span> <input class="edit-panel__input svelte-1wxsk8w" type="text"/></label> <label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Description</span> <textarea class="edit-panel__textarea svelte-1wxsk8w"></textarea></label> <label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Slug</span> <input class="edit-panel__input svelte-1wxsk8w" type="text" placeholder="auto-derived from filename"/></label> <div class="edit-panel__row svelte-1wxsk8w"><label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Author</span> <input class="edit-panel__input svelte-1wxsk8w" type="text"/></label> <label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Date</span> <input class="edit-panel__input svelte-1wxsk8w" type="date"/></label></div> <div class="edit-panel__row svelte-1wxsk8w"><label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Order</span> <input class="edit-panel__input svelte-1wxsk8w" type="number"/></label> <div class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Draft</span> <div role="switch" tabindex="0"><div class="fm-toggle__track svelte-1wxsk8w"><div class="fm-toggle__thumb svelte-1wxsk8w"></div></div> <span class="fm-toggle__label svelte-1wxsk8w"> </span></div></div></div> <div class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Tags</span> <!></div> <!> <div class="edit-panel__add-field svelte-1wxsk8w"><input class="edit-panel__input svelte-1wxsk8w" type="text" placeholder="Field name"/> <button class="edit-panel__add-btn svelte-1wxsk8w">+ Add field</button></div></div></div></div>');function NW(n,e){Ot(e,!0);const t=new Set(["title","description","tags","draft","order","date","author","slug"]);let r=J(""),i=me(()=>Object.entries(F.frontmatter).filter(([H])=>!t.has(H)));function s(H,ie){F.updateFrontmatterField(H,ie)}function o(){const H=g(r).trim();!H||H in F.frontmatter||(F.updateFrontmatterField(H,""),M(r,""))}function a(H){F.updateFrontmatterField(H,void 0)}var l=IW(),c=D(l),u=R(D(c),4);u.__click=function(...H){e.onclose?.apply(this,H)};var f=R(c,2),d=D(f),h=D(d),m=R(D(h),2);m.__input=H=>s("title",H.target.value);var p=R(h,2),O=R(D(p),2);O.__input=H=>s("description",H.target.value),$t(O,"rows",2);var v=R(p,2),b=R(D(v),2);b.__input=H=>s("slug",H.target.value);var _=R(v,2),A=D(_),w=R(D(A),2);w.__input=H=>s("author",H.target.value);var y=R(A,2),S=R(D(y),2);S.__input=H=>s("date",H.target.value);var C=R(_,2),k=D(C),x=R(D(k),2);x.__input=H=>{const ie=H.target.value;s("order",ie===""?void 0:Number(ie))};var E=R(k,2),T=R(D(E),2);let $;T.__click=()=>s("draft",F.frontmatter.draft===!0?void 0:!0),T.__keydown=H=>{(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),s("draft",F.frontmatter.draft===!0?void 0:!0))};var Q=R(D(T),2),P=D(Q),q=R(C,2),I=R(D(q),2);{let H=me(()=>F.frontmatter.tags??[]);kk(I,{get tags(){return g(H)},onchange:ie=>s("tags",ie)})}var W=R(q,2);{var U=H=>{var ie=RW(),se=R(D(ie),2);Lt(se,17,()=>g(i),en,(j,ne)=>{var Te=me(()=>jc(g(ne),2));let Qe=()=>g(Te)[0],De=()=>g(Te)[1];var ge=DW(),Ee=D(ge),Ke=D(Ee),tt=R(Ee,2),Ve=D(tt);Ve.__input=Re=>s(Qe(),Re.target.value);var Ge=R(Ve,2);Ge.__click=()=>a(Qe()),fe(Re=>{Le(Ke,Qe()),dn(Ve,Re),$t(Ge,"aria-label",`Remove ${Qe()??""}`)},[()=>String(De()??"")]),z(j,ge)}),z(H,ie)};ue(W,H=>{g(i).length>0&&H(U)})}var K=R(W,2),ae=D(K);ae.__keydown=H=>{H.key==="Enter"&&(H.preventDefault(),o())};var re=R(ae,2);re.__click=o,fe(H=>{dn(m,F.frontmatter.title??""),dn(O,F.frontmatter.description??""),dn(b,F.frontmatter.slug??""),dn(w,F.frontmatter.author??""),dn(S,F.frontmatter.date??""),dn(x,F.frontmatter.order??""),$=We(T,1,"fm-toggle svelte-1wxsk8w",null,$,{active:F.frontmatter.draft===!0}),$t(T,"aria-checked",F.frontmatter.draft===!0),Le(P,F.frontmatter.draft===!0?"Draft":"Published"),re.disabled=H},[()=>!g(r).trim()]),Nn(ae,()=>g(r),H=>M(r,H)),z(n,l),vt()}Kt(["click","input","keydown"]);var BW=V('<button type="button"> </button>'),jW=V('<div class="insert-dialog__tabs svelte-gvk8wi"></div>'),zW=V('<div class="insert-dialog__empty svelte-gvk8wi"> </div>'),ZW=V('<span class="insert-dialog__rune-desc svelte-gvk8wi"> </span>'),FW=V('<button class="insert-dialog__btn insert-dialog__btn--rune svelte-gvk8wi"><span class="insert-dialog__rune-dot svelte-gvk8wi"></span> <span class="insert-dialog__rune-info svelte-gvk8wi"><span class="insert-dialog__rune-name svelte-gvk8wi"> </span> <!></span></button>'),XW=V('<div class="insert-dialog__grid svelte-gvk8wi"></div>'),VW=V('<button class="insert-dialog__btn svelte-gvk8wi"><svg class="insert-dialog__btn-icon svelte-gvk8wi" width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <span class="insert-dialog__btn-info svelte-gvk8wi"><span class="insert-dialog__btn-name svelte-gvk8wi"> </span> <span class="insert-dialog__btn-desc svelte-gvk8wi"> </span></span></button>'),WW=V('<span class="insert-dialog__rune-desc svelte-gvk8wi"> </span>'),YW=V('<button class="insert-dialog__btn insert-dialog__btn--rune svelte-gvk8wi"><span class="insert-dialog__rune-dot svelte-gvk8wi"></span> <span class="insert-dialog__rune-info svelte-gvk8wi"><span class="insert-dialog__rune-name svelte-gvk8wi"> </span> <!></span></button>'),UW=V('<div class="insert-dialog__grid svelte-gvk8wi"><!> <!></div>'),GW=V('<dialog class="insert-dialog svelte-gvk8wi"><div class="insert-dialog__inner svelte-gvk8wi"><div class="insert-dialog__header svelte-gvk8wi"><h2 class="insert-dialog__title svelte-gvk8wi">Insert Block</h2> <div class="insert-dialog__search-wrap svelte-gvk8wi"><svg class="insert-dialog__search-icon svelte-gvk8wi" width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="7" cy="7" r="4.5"></circle><path d="M10.5 10.5L14 14"></path></svg> <input class="insert-dialog__search svelte-gvk8wi" type="text" placeholder="Search blocks..."/></div> <button class="insert-dialog__close svelte-gvk8wi"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button></div> <!> <div class="insert-dialog__body svelte-gvk8wi"><!></div></div></dialog>');function HW(n,e){Ot(e,!0);const t=["Content","Section","Layout","Code & Data","Semantic","Design","Site"];let r=J("Content"),i=J(""),s,o,a=me(()=>{const k=new Set(e.runesByCategory.keys()),x=t.filter(E=>k.has(E));for(const E of k)x.includes(E)||x.push(E);return x}),l=me(()=>{if(!g(i).trim())return null;const k=g(i).toLowerCase();return e.runes.filter(x=>x.name.toLowerCase().includes(k)||x.description&&x.description.toLowerCase().includes(k))});const c=[{type:"heading",name:"Heading",description:"Section heading",icon:"M3 3v10M13 3v10M3 8h10"},{type:"paragraph",name:"Paragraph",description:"Body text",icon:"M2 4h12M2 8h12M2 12h8"},{type:"fence",name:"Code Block",description:"Fenced code",icon:"M5 4L2 8l3 4M11 4l3 4-3 4"},{type:"hr",name:"Divider",description:"Horizontal rule",icon:"M2 8h12"}];yn(()=>{s?.showModal(),o?.focus()});function u(k){k.target===s&&e.onclose()}function f(k){e.oninsert(k)}function d(k){e.oninsert("rune",k)}var h=GW();h.__click=u,h.__keydown=k=>{k.key==="Escape"&&(k.preventDefault(),e.onclose())};var m=D(h),p=D(m),O=R(D(p),2),v=R(D(O),2);gn(v,k=>o=k,()=>o);var b=R(O,2);b.__click=function(...k){e.onclose?.apply(this,k)};var _=R(p,2);{var A=k=>{var x=jW();Lt(x,21,()=>g(a),en,(E,T)=>{var $=BW();let Q;$.__click=()=>M(r,g(T),!0);var P=D($);fe(()=>{Q=We($,1,"insert-dialog__tab svelte-gvk8wi",null,Q,{active:g(r)===g(T)}),Le(P,g(T))}),z(E,$)}),z(k,x)};ue(_,k=>{g(l)||k(A)})}var w=R(_,2),y=D(w);{var S=k=>{var x=mn(),E=st(x);{var T=Q=>{var P=zW(),q=D(P);fe(()=>Le(q,`No blocks match "${g(i)??""}"`)),z(Q,P)},$=Q=>{var P=XW();Lt(P,21,()=>g(l),en,(q,I)=>{var W=FW();W.__click=()=>d(g(I).name);var U=R(D(W),2),K=D(U),ae=D(K),re=R(K,2);{var H=ie=>{var se=ZW(),j=D(se);fe(()=>Le(j,g(I).description)),z(ie,se)};ue(re,ie=>{g(I).description&&ie(H)})}fe(()=>Le(ae,g(I).name)),z(q,W)}),z(Q,P)};ue(E,Q=>{g(l).length===0?Q(T):Q($,!1)})}z(k,x)},C=k=>{var x=UW(),E=D(x);{var T=Q=>{var P=mn(),q=st(P);Lt(q,17,()=>c,en,(I,W)=>{var U=VW();U.__click=()=>f(g(W).type);var K=D(U),ae=D(K),re=R(K,2),H=D(re),ie=D(H),se=R(H,2),j=D(se);fe(()=>{$t(ae,"d",g(W).icon),Le(ie,g(W).name),Le(j,g(W).description)}),z(I,U)}),z(Q,P)};ue(E,Q=>{g(r)==="Content"&&Q(T)})}var $=R(E,2);Lt($,17,()=>e.runesByCategory.get(g(r))??[],en,(Q,P)=>{var q=YW();q.__click=()=>d(g(P).name);var I=R(D(q),2),W=D(I),U=D(W),K=R(W,2);{var ae=re=>{var H=WW(),ie=D(H);fe(()=>Le(ie,g(P).description)),z(re,H)};ue(K,re=>{g(P).description&&re(ae)})}fe(()=>Le(U,g(P).name)),z(Q,q)}),z(k,x)};ue(y,k=>{g(l)?k(S):k(C,!1)})}gn(h,k=>s=k,()=>s),ct("close",h,function(...k){e.onclose?.apply(this,k)}),Nn(v,()=>g(i),k=>M(i,k)),z(n,h),vt()}Kt(["click","keydown"]);var KW=V('<div class="inline-edit-popover__link-editor svelte-1c50n5q"><div class="inline-edit-popover__link-row svelte-1c50n5q"><label class="inline-edit-popover__link-label svelte-1c50n5q">Text</label> <input class="inline-edit-popover__link-input svelte-1c50n5q" type="text"/></div> <div class="inline-edit-popover__link-row svelte-1c50n5q"><label class="inline-edit-popover__link-label svelte-1c50n5q">URL</label> <input class="inline-edit-popover__link-input svelte-1c50n5q" type="text" placeholder="https://..."/></div> <div class="inline-edit-popover__link-actions svelte-1c50n5q"><button class="inline-edit-popover__link-btn inline-edit-popover__link-btn--apply svelte-1c50n5q">Apply</button> <button class="inline-edit-popover__link-btn inline-edit-popover__link-btn--remove svelte-1c50n5q">Remove link</button></div></div>'),JW=V('<div><div class="inline-edit-popover__header svelte-1c50n5q"><span class="inline-edit-popover__label svelte-1c50n5q"> </span> <button class="inline-edit-popover__close svelte-1c50n5q" aria-label="Close">×</button></div> <div class="inline-edit-popover__toolbar svelte-1c50n5q"><button title="Bold (Ctrl+B)"><strong>B</strong></button> <button title="Italic (Ctrl+I)"><em>I</em></button> <button title="Inline code"></></button> <button class="inline-edit-popover__tool-btn svelte-1c50n5q" title="Link (Ctrl+K)"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6.5 9.5a3 3 0 0 0 4.2.3l2-2a3 3 0 0 0-4.2-4.3l-1.1 1.1"></path><path d="M9.5 6.5a3 3 0 0 0-4.2-.3l-2 2a3 3 0 0 0 4.2 4.3l1.1-1.1"></path></svg></button></div> <div class="inline-edit-popover__editable svelte-1c50n5q" contenteditable="true"></div> <!></div>');function Ew(n,e){Ot(e,!0);let t,r,i=J(0),s=J(0),o=J(!0),a=J(null),l=J(void 0),c;ro(()=>{r.innerHTML=cj(e.inlineSource);const j=t.getBoundingClientRect(),ne=j.width,Te=j.height,Qe=8;let De=e.anchorRect.left+e.anchorRect.width/2-ne/2;De<Qe&&(De=Qe),De+ne>window.innerWidth-Qe&&(De=window.innerWidth-ne-Qe),M(i,De,!0);const ge=e.anchorRect.top-Te-Qe;ge>=Qe?(M(s,ge),M(o,!0)):(M(s,e.anchorRect.bottom+Qe),M(o,!1)),r.focus();const Ee=window.getSelection();if(Ee&&r.childNodes.length>0){const Ve=document.createRange();Ve.selectNodeContents(r),Ve.collapse(!1),Ee.removeAllRanges(),Ee.addRange(Ve)}function Ke(Ve){t&&!t.contains(Ve.target)&&e.onclose()}function tt(Ve){Ve.key==="Escape"&&(g(a)?M(a,null):e.onclose())}return requestAnimationFrame(()=>{document.addEventListener("mousedown",Ke)}),document.addEventListener("keydown",tt),()=>{document.removeEventListener("mousedown",Ke),document.removeEventListener("keydown",tt),clearTimeout(c)}});function u(){clearTimeout(c),c=setTimeout(()=>{a0(r);const j=fj(r);e.onchange(j)},100)}function f(j){if(j.key==="Enter"){j.preventDefault();return}(j.metaKey||j.ctrlKey)&&(j.key==="b"?(j.preventDefault(),m("bold")):j.key==="i"?(j.preventDefault(),m("italic")):j.key==="k"&&(j.preventDefault(),p()))}function d(j){j.preventDefault();const ne=j.clipboardData?.getData("text/plain")??"";document.execCommand("insertText",!1,ne)}function h(j){const Te=j.target.closest("a");Te&&r.contains(Te)&&(j.preventDefault(),O(Te))}function m(j){r.focus();const ne=window.getSelection();if(!(!ne||ne.rangeCount===0)){if(j==="code"){const Te=ne.getRangeAt(0);if(Te.collapsed)return;const Qe=C(Te.commonAncestorContainer,"CODE",r);if(Qe){const De=document.createTextNode(Qe.textContent??"");Qe.replaceWith(De);const ge=document.createRange();ge.selectNode(De),ne.removeAllRanges(),ne.addRange(ge)}else{const De=document.createElement("code");De.textContent=Te.toString(),Te.deleteContents(),Te.insertNode(De);const ge=document.createRange();ge.selectNodeContents(De),ne.removeAllRanges(),ne.addRange(ge)}}else{const Te=j==="bold"?"bold":"italic";document.execCommand(Te,!1)}a0(r),u()}}function p(){const j=window.getSelection();if(!j||j.rangeCount===0)return;const ne=j.getRangeAt(0),Te=C(ne.commonAncestorContainer,"A",r);if(Te){O(Te);return}if(ne.collapsed)return;const Qe=ne.toString(),De=document.createElement("a");De.href="",De.textContent=Qe,ne.deleteContents(),ne.insertNode(De),O(De)}function O(j){M(a,{anchorEl:j,href:j.getAttribute("href")??"",text:j.textContent??"",rect:j.getBoundingClientRect()},!0),requestAnimationFrame(()=>{g(l)?.focus(),g(l)?.select()})}function v(){g(a)&&(g(a).anchorEl.href=g(a).href,g(a).anchorEl.textContent=g(a).text,M(a,null),r.focus(),u())}function b(){if(!g(a))return;const j=document.createTextNode(g(a).anchorEl.textContent??"");g(a).anchorEl.replaceWith(j),M(a,null),r.focus(),u()}function _(j){j.key==="Enter"&&(j.preventDefault(),v())}let A=J(!1),w=J(!1),y=J(!1);function S(){M(A,document.queryCommandState("bold"),!0),M(w,document.queryCommandState("italic"),!0);const j=window.getSelection();j&&j.rangeCount>0?M(y,!!C(j.getRangeAt(0).commonAncestorContainer,"CODE",r)):M(y,!1)}function C(j,ne,Te){let Qe=j;for(;Qe&&Qe!==Te;){if(Qe.nodeType===globalThis.Node.ELEMENT_NODE&&Qe.tagName===ne)return Qe;Qe=Qe.parentNode}return null}var k=JW();let x;var E=D(k),T=D(E),$=D(T),Q=R(T,2);Q.__click=function(...j){e.onclose?.apply(this,j)};var P=R(E,2),q=D(P);let I;q.__click=()=>m("bold");var W=R(q,2);let U;W.__click=()=>m("italic");var K=R(W,2);let ae;K.__click=()=>m("code");var re=R(K,2);re.__click=p;var H=R(P,2);H.__input=u,H.__keydown=f,H.__keyup=S,H.__mouseup=S,H.__click=h,gn(H,j=>r=j,()=>r);var ie=R(H,2);{var se=j=>{var ne=KW(),Te=D(ne),Qe=R(D(Te),2);Qe.__keydown=_;var De=R(Te,2),ge=R(D(De),2);ge.__keydown=_,gn(ge,Ve=>M(l,Ve),()=>g(l));var Ee=R(De,2),Ke=D(Ee);Ke.__click=v;var tt=R(Ke,2);tt.__click=b,Nn(Qe,()=>g(a).text,Ve=>g(a).text=Ve),Nn(ge,()=>g(a).href,Ve=>g(a).href=Ve),z(j,ne)};ue(ie,j=>{g(a)&&j(se)})}gn(k,j=>t=j,()=>t),fe(()=>{x=We(k,1,"inline-edit-popover svelte-1c50n5q",null,x,{above:g(o),below:!g(o)}),$r(k,`left: ${g(i)??""}px; top: ${g(s)??""}px`),Le($,e.dataName),I=We(q,1,"inline-edit-popover__tool-btn svelte-1c50n5q",null,I,{active:g(A)}),U=We(W,1,"inline-edit-popover__tool-btn svelte-1c50n5q",null,U,{active:g(w)}),ae=We(K,1,"inline-edit-popover__tool-btn inline-edit-popover__tool-btn--code svelte-1c50n5q",null,ae,{active:g(y)})}),ct("paste",H,d),z(n,k),vt()}Kt(["click","input","keydown","keyup","mouseup"]);var eY=V('<div><div class="action-edit-popover__header svelte-15w9shn"><span class="action-edit-popover__label svelte-15w9shn">action</span> <button class="action-edit-popover__close svelte-15w9shn" aria-label="Close">×</button></div> <div class="action-edit-popover__row svelte-15w9shn"><label class="action-edit-popover__field-label svelte-15w9shn">Text</label> <input class="action-edit-popover__input svelte-15w9shn" type="text"/></div> <div class="action-edit-popover__row svelte-15w9shn"><label class="action-edit-popover__field-label svelte-15w9shn">URL</label> <input class="action-edit-popover__input svelte-15w9shn" type="text" placeholder="https://..."/></div> <div class="action-edit-popover__actions svelte-15w9shn"><button class="action-edit-popover__btn action-edit-popover__btn--apply svelte-15w9shn">Apply</button> <button class="action-edit-popover__btn action-edit-popover__btn--remove svelte-15w9shn">Remove</button></div></div>');function tY(n,e){Ot(e,!0);let t,r,i=J(0),s=J(0),o=J(!0),a=J(rn(e.text)),l=J(rn(e.href));ro(()=>{const y=t.getBoundingClientRect(),S=y.width,C=y.height,k=8;let x=e.anchorRect.left+e.anchorRect.width/2-S/2;x<k&&(x=k),x+S>window.innerWidth-k&&(x=window.innerWidth-S-k),M(i,x,!0);const E=e.anchorRect.top-C-k;E>=k?(M(s,E),M(o,!0)):(M(s,e.anchorRect.bottom+k),M(o,!1)),r?.focus(),r?.select();function T(Q){t&&!t.contains(Q.target)&&c()}function $(Q){Q.key==="Escape"&&e.onclose()}return requestAnimationFrame(()=>{document.addEventListener("mousedown",T)}),document.addEventListener("keydown",$),()=>{document.removeEventListener("mousedown",T),document.removeEventListener("keydown",$)}});function c(){(g(a)!==e.text||g(l)!==e.href)&&e.onchange(g(a),g(l)),e.onclose()}function u(y){y.key==="Enter"&&(y.preventDefault(),c())}var f=eY();let d;var h=D(f),m=R(D(h),2);m.__click=function(...y){e.onclose?.apply(this,y)};var p=R(h,2),O=R(D(p),2);O.__keydown=u,gn(O,y=>r=y,()=>r);var v=R(p,2),b=R(D(v),2);b.__keydown=u;var _=R(v,2),A=D(_);A.__click=c;var w=R(A,2);w.__click=function(...y){e.onremove?.apply(this,y)},gn(f,y=>t=y,()=>t),fe(()=>{d=We(f,1,"action-edit-popover svelte-15w9shn",null,d,{above:g(o),below:!g(o)}),$r(f,`left: ${g(i)??""}px; top: ${g(s)??""}px`)}),Nn(O,()=>g(a),y=>M(a,y)),Nn(b,()=>g(l),y=>M(l,y)),z(n,f),vt()}Kt(["click","keydown"]);var nY=V("<option> </option>"),rY=V('<div><div class="code-edit-popover__header svelte-rmoejq"><span class="code-edit-popover__label svelte-rmoejq">code</span> <button class="code-edit-popover__close svelte-rmoejq" aria-label="Close">×</button></div> <div class="code-edit-popover__toolbar svelte-rmoejq"><select class="code-edit-popover__lang-select svelte-rmoejq"><option>No language</option><!></select></div> <div class="code-edit-popover__editor svelte-rmoejq"></div> <div class="code-edit-popover__actions svelte-rmoejq"><button class="code-edit-popover__btn code-edit-popover__btn--apply svelte-rmoejq">Apply</button> <button class="code-edit-popover__btn code-edit-popover__btn--remove svelte-rmoejq">Remove</button></div></div>');function iY(n,e){Ot(e,!0);const t=["bash","sh","shell","javascript","typescript","python","html","css","json","yaml","markdown","markdoc","go","rust","java","c","cpp","ruby","php","sql","swift","kotlin","dart","lua","r","perl","scala","haskell","elixir","toml","xml","graphql","dockerfile","diff","plaintext"];let r,i,s=J(void 0),o=J(0),a=J(0),l=J(!0),c=J(rn(e.code)),u=J(rn(e.language));const f=new vs,d=new vs,h=pl.define([{tag:N.keyword,color:"#8839ef"},{tag:[N.atom,N.bool],color:"#fe640b"},{tag:N.number,color:"#fe640b"},{tag:[N.string,N.special(N.string)],color:"#40a02b"},{tag:[N.regexp,N.escape],color:"#ea76cb"},{tag:N.definition(N.variableName),color:"#1e66f5"},{tag:N.local(N.variableName),color:"#1e66f5"},{tag:N.variableName,color:"#4c4f69"},{tag:N.definition(N.propertyName),color:"#1e66f5"},{tag:N.propertyName,color:"#1e66f5"},{tag:[N.typeName,N.className,N.namespace],color:"#df8e1d"},{tag:[N.macroName,N.labelName],color:"#d20f39"},{tag:N.function(N.variableName),color:"#1e66f5"},{tag:N.operator,color:"#04a5e5"},{tag:N.punctuation,color:"#7c7f93"},{tag:N.comment,color:"#9ca0b0",fontStyle:"italic"},{tag:N.lineComment,color:"#9ca0b0",fontStyle:"italic"},{tag:N.blockComment,color:"#9ca0b0",fontStyle:"italic"},{tag:N.meta,color:"#7c7f93"},{tag:N.link,color:"#1e66f5",textDecoration:"underline"},{tag:N.url,color:"#1e66f5"},{tag:N.invalid,color:"#d20f39"}]),m=Me.theme({"&":{fontSize:"13px",height:"auto",backgroundColor:"var(--ed-surface-1, #f8fafc)",border:"1px solid var(--ed-border-default, #e2e8f0)",borderRadius:"var(--ed-radius-sm, 4px)"},"&.cm-focused":{outline:"none",borderColor:"var(--ed-accent, #3b82f6)",boxShadow:"0 0 0 2px var(--ed-accent-ring, rgba(59, 130, 246, 0.2))"},".cm-scroller":{overflow:"auto",maxHeight:"12rem",fontFamily:"var(--ed-font-mono, 'SF Mono', 'Fira Code', monospace)",lineHeight:"1.5"},".cm-content":{padding:"var(--ed-space-2, 0.5rem)",caretColor:"#1e293b",minHeight:"3rem"},".cm-cursor":{borderLeftColor:"#1e293b"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"rgba(14, 165, 233, 0.2)"},".cm-selectionBackground":{backgroundColor:"rgba(14, 165, 233, 0.12)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-markdoc-tag":{backgroundColor:"rgba(217, 119, 6, 0.06)",borderRadius:"2px"},".cm-markdoc-bracket":{color:"#94a3b8"},".cm-markdoc-name":{color:"#d97706",fontWeight:"600"}},{dark:!1}),p=me(()=>t.includes(g(u))||!g(u)?t:[g(u),...t]);function O(){if(!r)return;const I=r.getBoundingClientRect(),W=I.width,U=I.height,K=8;let ae=e.anchorRect.left+e.anchorRect.width/2-W/2;ae<K&&(ae=K),ae+W>window.innerWidth-K&&(ae=window.innerWidth-W-K),M(o,ae,!0);const re=e.anchorRect.top-U-K;re>=K?(M(a,re),M(l,!0)):(M(a,e.anchorRect.bottom+K),M(l,!1))}ro(()=>{O();function I(U){r&&!r.contains(U.target)&&b()}function W(U){U.key==="Escape"&&e.onclose()}return requestAnimationFrame(()=>{document.addEventListener("mousedown",I)}),document.addEventListener("keydown",W),()=>{document.removeEventListener("mousedown",I),document.removeEventListener("keydown",W)}}),yn(()=>{if(!i)return;const I=Rt.create({doc:Er(()=>g(c)),extensions:[f.of(nl()),d.of(Er(()=>g(u))==="markdoc"?$c():[]),FO(),m,yc(h),yc(sx,{fallback:!0}),Ko.of([...WO,...XO,Xq,{key:"Mod-Enter",run:()=>(b(),!0)},{key:"Escape",run:()=>(e.onclose(),!0)}]),Me.updateListener.of(U=>{U.docChanged&&M(c,U.state.doc.toString(),!0)}),Me.lineWrapping]}),W=new Me({state:I,parent:i});return M(s,W,!0),W.focus(),v(W,Er(()=>g(u))),requestAnimationFrame(()=>O()),()=>{M(s,void 0),W.destroy()}});function v(I,W){const U=W?.trim();if(!U)return;if(U==="markdoc"){I.dispatch({effects:[f.reconfigure(nl()),d.reconfigure($c())]});return}I.dispatch({effects:d.reconfigure([])});const K=ee.matchLanguageName(yT,U,!0);K&&K.load().then(ae=>{I.dispatch({effects:f.reconfigure(ae)})}).catch(console.error)}function b(){g(c)!==e.code&&e.onchange(g(c)),e.onclose()}function _(I){const W=I.target;M(u,W.value,!0),e.onlanguagechange(g(u)),g(s)&&v(g(s),g(u))}var A=rY();let w;var y=D(A),S=R(D(y),2);S.__click=function(...I){e.onclose?.apply(this,I)};var C=R(y,2),k=D(C);k.__change=_;var x=D(k);x.value=x.__value="";var E=R(x);Lt(E,17,()=>g(p),en,(I,W)=>{var U=nY(),K=D(U),ae={};fe(()=>{Le(K,g(W)),ae!==(ae=g(W))&&(U.value=(U.__value=g(W))??"")}),z(I,U)});var T;Sf(k);var $=R(C,2);gn($,I=>i=I,()=>i);var Q=R($,2),P=D(Q);P.__click=b;var q=R(P,2);q.__click=function(...I){e.onremove?.apply(this,I)},gn(A,I=>r=I,()=>r),fe(()=>{w=We(A,1,"code-edit-popover svelte-rmoejq",null,w,{above:g(l),below:!g(l)}),$r(A,`left: ${g(o)??""}px; top: ${g(a)??""}px`),T!==(T=g(u))&&(k.value=(k.__value=g(u))??"",lc(k,g(u)))}),z(n,A),vt()}Kt(["click","change"]);const Xn="";async function $w(){const n=await fetch(`${Xn}/api/tree`);if(!n.ok)throw new Error(`Failed to load tree: ${n.status}`);return n.json()}async function Np(n){const e=await fetch(`${Xn}/api/files/${encodeURIComponent(n)}`);if(!e.ok)throw new Error(`Failed to load file: ${e.status}`);return e.json()}async function sY(n,e){const t=await fetch(`${Xn}/api/files/${encodeURIComponent(n)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e})});if(!t.ok)throw new Error(`Failed to save file: ${t.status}`)}async function oY(n,e){const t=await fetch(`${Xn}/api/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n,content:e})});if(!t.ok)throw new Error(`Preview failed: ${t.status}`);return t.text()}async function aY(n,e){const t=await fetch(`${Xn}/api/preview-data`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n,content:e})});if(!t.ok)throw new Error(`Preview data failed: ${t.status}`);return t.json()}async function lY(){const n=await fetch(`${Xn}/api/config`);if(!n.ok)throw new Error(`Config failed: ${n.status}`);return n.json()}async function cY(){const n=await fetch(`${Xn}/api/route-rules`);if(!n.ok)throw new Error(`Failed to load route rules: ${n.status}`);return(await n.json()).routeRules}async function uY(n){const e=await fetch(`${Xn}/api/route-rules`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({routeRules:n})});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to update route rules: ${e.status}`)}}async function fY(n){const e=await fetch(`${Xn}/api/pages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to create page: ${e.status}`)}return e.json()}async function Qw(n){const e=await fetch(`${Xn}/api/directories`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to create directory: ${e.status}`)}return e.json()}async function dY(n,e){const t=await fetch(`${Xn}/api/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldPath:n,newName:e})});if(!t.ok){const r=await t.json().catch(()=>({}));throw new Error(r.error??`Failed to rename: ${t.status}`)}return t.json()}async function hY(n){const e=await fetch(`${Xn}/api/duplicate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to duplicate: ${e.status}`)}return e.json()}async function pY(n){const e=await fetch(`${Xn}/api/files/${encodeURIComponent(n)}`,{method:"DELETE"});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to delete: ${e.status}`)}}async function mY(n){const e=await fetch(`${Xn}/api/toggle-draft`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to toggle draft: ${e.status}`)}return e.json()}async function gY(){const n=await fetch(`${Xn}/api/assets`);if(!n.ok)throw new Error(`Failed to load assets: ${n.status}`);return(await n.json()).images}async function OY(n){const e=new FormData;e.append("file",n);const t=await fetch(`${Xn}/api/assets/upload`,{method:"POST",body:e});if(!t.ok){const r=await t.json().catch(()=>({}));throw new Error(r.error??`Upload failed: ${t.status}`)}return t.json()}async function vY(){const n=await fetch(`${Xn}/api/runes`);if(!n.ok)throw new Error(`Failed to load runes: ${n.status}`);return(await n.json()).runes}async function bY(){const n=await fetch(`${Xn}/api/aggregated`);return n.ok?n.json():{}}function yY(n){const e=new EventSource(`${Xn}/api/events`);return e.addEventListener("file-changed",t=>n("file-changed",JSON.parse(t.data))),e.addEventListener("file-created",t=>n("file-created",JSON.parse(t.data))),e.addEventListener("file-deleted",t=>n("file-deleted",JSON.parse(t.data))),()=>e.close()}var wY=V('<div class="image-edit-modal__empty svelte-1yd8alm">Loading images...</div>'),_Y=V('<div class="image-edit-modal__empty svelte-1yd8alm">No images found. Upload one to get started.</div>'),kY=V('<div class="image-edit-modal__empty svelte-1yd8alm"> </div>'),xY=V('<button><img loading="lazy" class="svelte-1yd8alm"/></button>'),SY=V('<div class="image-edit-modal__grid svelte-1yd8alm"></div>'),AY=V('<div class="image-edit-backdrop svelte-1yd8alm" role="dialog" aria-modal="true" aria-label="Select image"><div><div class="image-edit-modal__header svelte-1yd8alm"><span class="image-edit-modal__label svelte-1yd8alm">image</span> <button class="image-edit-modal__close svelte-1yd8alm" aria-label="Close">×</button></div> <div class="image-edit-modal__search svelte-1yd8alm"><input class="image-edit-modal__search-input svelte-1yd8alm" type="text" placeholder="Search images..."/></div> <div class="image-edit-modal__grid-area svelte-1yd8alm"><!></div> <div class="image-edit-modal__upload-bar svelte-1yd8alm"><button class="image-edit-modal__upload-btn svelte-1yd8alm"> </button> <span class="image-edit-modal__upload-hint svelte-1yd8alm">or drag & drop</span> <input type="file" accept="image/*" style="display: none"/></div> <div class="image-edit-modal__footer svelte-1yd8alm"><div class="image-edit-modal__row svelte-1yd8alm"><label class="image-edit-modal__field-label svelte-1yd8alm" for="image-alt">Alt</label> <input id="image-alt" class="image-edit-modal__input svelte-1yd8alm" type="text" placeholder="Describe this image..."/></div> <div class="image-edit-modal__actions svelte-1yd8alm"><button class="image-edit-modal__btn image-edit-modal__btn--apply svelte-1yd8alm">Apply</button> <button class="image-edit-modal__btn image-edit-modal__btn--remove svelte-1yd8alm">Remove</button></div></div></div></div>');function CY(n,e){Ot(e,!0);let t,r,i,s=J(rn([])),o=J(!0),a=J(!1),l=J(""),c=J(rn(e.currentSrc)),u=J(rn(e.currentAlt)),f=J(!1);const d=me(()=>g(l)?g(s).filter(ge=>ge.name.toLowerCase().includes(g(l).toLowerCase())):g(s));ro(()=>{h();function ge(Ee){Ee.key==="Escape"&&e.onclose()}return document.addEventListener("keydown",ge),()=>document.removeEventListener("keydown",ge)});async function h(){M(o,!0);try{M(s,await gY(),!0)}catch{M(s,[],!0)}M(o,!1)}function m(ge){ge.target===ge.currentTarget&&e.onclose()}function p(ge){if(M(c,ge.path,!0),!g(u)){const Ee=ge.name.replace(/\.[^.]+$/,"").replace(/[-_]/g," ");M(u,Ee,!0)}}function O(){g(c)&&e.onchange(g(c),g(u))}function v(){r?.click()}async function b(ge){const Ee=ge.target,Ke=Ee.files?.[0];Ke&&(await _(Ke),Ee.value="")}async function _(ge){if(ge.type.startsWith("image/")){M(a,!0);try{const Ee=await OY(ge);if(await h(),M(c,Ee.path,!0),!g(u)){const Ke=Ee.name.replace(/\.[^.]+$/,"").replace(/[-_]/g," ");M(u,Ke,!0)}}catch(Ee){console.error("Upload failed:",Ee)}M(a,!1)}}function A(ge){ge.preventDefault(),M(f,!0)}function w(){M(f,!1)}async function y(ge){ge.preventDefault(),M(f,!1);const Ee=ge.dataTransfer?.files[0];Ee&&await _(Ee)}function S(ge){ge.key==="Enter"&&(ge.preventDefault(),O())}var C=AY();C.__click=m,C.__keydown=()=>{};var k=D(C);let x;var E=D(k),T=R(D(E),2);T.__click=function(...ge){e.onclose?.apply(this,ge)};var $=R(E,2),Q=D($),P=R($,2),q=D(P);{var I=ge=>{var Ee=wY();z(ge,Ee)},W=ge=>{var Ee=_Y();z(ge,Ee)},U=ge=>{var Ee=kY(),Ke=D(Ee);fe(()=>Le(Ke,`No images match "${g(l)??""}"`)),z(ge,Ee)},K=ge=>{var Ee=SY();Lt(Ee,21,()=>g(d),Ke=>Ke.path,(Ke,tt)=>{var Ve=xY();let Ge;Ve.__click=()=>p(g(tt));var Re=D(Ve);fe(()=>{Ge=We(Ve,1,"image-edit-modal__thumb svelte-1yd8alm",null,Ge,{selected:g(c)===g(tt).path}),$t(Ve,"title",g(tt).name),$t(Re,"src",g(tt).path),$t(Re,"alt",g(tt).name)}),z(Ke,Ve)}),z(ge,Ee)};ue(q,ge=>{g(o)?ge(I):g(d).length===0&&!g(l)?ge(W,1):g(d).length===0?ge(U,2):ge(K,!1)})}var ae=R(P,2),re=D(ae);re.__click=v;var H=D(re),ie=R(re,4);ie.__change=b,gn(ie,ge=>r=ge,()=>r);var se=R(ae,2),j=D(se),ne=R(D(j),2);ne.__keydown=S,gn(ne,ge=>i=ge,()=>i);var Te=R(j,2),Qe=D(Te);Qe.__click=O;var De=R(Qe,2);De.__click=function(...ge){e.onremove?.apply(this,ge)},gn(k,ge=>t=ge,()=>t),fe(()=>{x=We(k,1,"image-edit-modal svelte-1yd8alm",null,x,{"drag-over":g(f)}),re.disabled=g(a),Le(H,g(a)?"Uploading...":"Upload image"),Qe.disabled=!g(c)}),ct("dragover",k,A),ct("dragleave",k,w),ct("drop",k,y),Nn(Q,()=>g(l),ge=>M(l,ge)),Nn(ne,()=>g(u),ge=>M(u,ge)),z(n,C),vt()}Kt(["click","keydown","change"]);var TY=V('<div class="icon-picker-modal__empty svelte-1rc2pkk">No icons available.</div>'),PY=V('<div class="icon-picker-modal__empty svelte-1rc2pkk"> </div>'),EY=V('<button><span class="icon-picker-modal__icon-svg svelte-1rc2pkk"><!></span> <span class="icon-picker-modal__icon-name svelte-1rc2pkk"> </span></button>'),$Y=V('<div class="icon-picker-modal__group svelte-1rc2pkk"><div class="icon-picker-modal__group-label svelte-1rc2pkk"> </div> <div class="icon-picker-modal__grid svelte-1rc2pkk"></div></div>'),QY=V('<div class="icon-picker-backdrop svelte-1rc2pkk" role="dialog" aria-modal="true" aria-label="Select icon"><div class="icon-picker-modal svelte-1rc2pkk"><div class="icon-picker-modal__header svelte-1rc2pkk"><span class="icon-picker-modal__label svelte-1rc2pkk">icon</span> <button class="icon-picker-modal__close svelte-1rc2pkk" aria-label="Close">×</button></div> <div class="icon-picker-modal__search svelte-1rc2pkk"><input class="icon-picker-modal__search-input svelte-1rc2pkk" type="text" placeholder="Search icons..."/></div> <div class="icon-picker-modal__grid-area svelte-1rc2pkk"><!></div> <div class="icon-picker-modal__footer svelte-1rc2pkk"><button class="icon-picker-modal__btn icon-picker-modal__btn--apply svelte-1rc2pkk">Apply</button> <button class="icon-picker-modal__btn icon-picker-modal__btn--cancel svelte-1rc2pkk">Cancel</button></div></div></div>');function LY(n,e){Ot(e,!0);let t,r=J(rn(e.currentIcon)),i=J("");const s=me(()=>{const k=[];for(const[x,E]of Object.entries(e.icons))for(const[T,$]of Object.entries(E)){const Q=x==="global"?T:`${x}/${T}`;k.push({name:T,qualifiedName:Q,group:x,svg:$})}return k}),o=me(()=>g(i)?g(s).filter(k=>k.name.toLowerCase().includes(g(i).toLowerCase())||k.qualifiedName.toLowerCase().includes(g(i).toLowerCase())):g(s)),a=me(()=>{const k=new Map;for(const x of g(o)){const E=k.get(x.group)??[];E.push(x),k.set(x.group,E)}return k});ro(()=>{t?.focus();function k(x){x.key==="Escape"&&e.onclose()}return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)});function l(k){k.target===k.currentTarget&&e.onclose()}function c(k){M(r,k.qualifiedName,!0)}function u(){g(r)&&e.onchange(g(r))}var f=QY();f.__click=l,f.__keydown=()=>{};var d=D(f),h=D(d),m=R(D(h),2);m.__click=function(...k){e.onclose?.apply(this,k)};var p=R(h,2),O=D(p);gn(O,k=>t=k,()=>t);var v=R(p,2),b=D(v);{var _=k=>{var x=TY();z(k,x)},A=k=>{var x=PY(),E=D(x);fe(()=>Le(E,`No icons match "${g(i)??""}"`)),z(k,x)},w=k=>{var x=mn(),E=st(x);Lt(E,17,()=>[...g(a)],([T,$])=>T,(T,$)=>{var Q=me(()=>jc(g($),2));let P=()=>g(Q)[0],q=()=>g(Q)[1];var I=$Y(),W=D(I),U=D(W),K=R(W,2);Lt(K,21,q,ae=>ae.qualifiedName,(ae,re)=>{var H=EY();let ie;H.__click=()=>c(g(re));var se=D(H),j=D(se);k_(j,()=>g(re).svg);var ne=R(se,2),Te=D(ne);fe(()=>{ie=We(H,1,"icon-picker-modal__icon svelte-1rc2pkk",null,ie,{selected:g(r)===g(re).qualifiedName}),$t(H,"title",g(re).qualifiedName),Le(Te,g(re).name)}),z(ae,H)}),fe(()=>Le(U,P())),z(T,I)}),z(k,x)};ue(b,k=>{g(s).length===0?k(_):g(o).length===0?k(A,1):k(w,!1)})}var y=R(v,2),S=D(y);S.__click=u;var C=R(S,2);C.__click=function(...k){e.onclose?.apply(this,k)},fe(()=>S.disabled=!g(r)),Nn(O,()=>g(i),k=>M(i,k)),z(n,f),vt()}Kt(["click","keydown"]);var MY=V('<div class="block-editor__empty svelte-10brcoc"><svg class="block-editor__empty-icon svelte-10brcoc" width="40" height="40" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="8" width="36" height="32" rx="3"></rect><line x1="14" y1="18" x2="34" y2="18"></line><line x1="14" y1="24" x2="28" y2="24"></line><line x1="14" y1="30" x2="22" y2="30"></line></svg> <span class="block-editor__empty-text svelte-10brcoc">No content blocks yet</span> <span class="block-editor__empty-hint svelte-10brcoc">Use the + button to add your first block</span></div>'),qY=V('<span class="block-editor__fm-desc svelte-10brcoc"> </span>'),DY=V('<div class="block-editor__fm-header svelte-10brcoc"><div class="block-editor__fm-info svelte-10brcoc"><span class="block-editor__fm-title svelte-10brcoc"> </span> <!></div> <button title="Edit frontmatter"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11.5 1.5l3 3L5 14H2v-3L11.5 1.5z"></path></svg> Edit</button></div>'),RY=V('<button class="block-editor__insert-marker block-editor__insert-marker--top svelte-10brcoc" title="Insert block above"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><line x1="5" y1="2" x2="5" y2="8"></line><line x1="2" y1="5" x2="8" y2="5"></line></svg></button> <button class="block-editor__insert-marker block-editor__insert-marker--bottom svelte-10brcoc" title="Insert block below"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><line x1="5" y1="2" x2="5" y2="8"></line><line x1="2" y1="5" x2="8" y2="5"></line></svg></button>',1),IY=V('<button class="block-editor__hover-label svelte-10brcoc"> </button>'),NY=V('<div><div class="block-editor__block-cell svelte-10brcoc"><!></div> <!> <!></div>'),BY=V('<div class="block-editor__popover-backdrop svelte-10brcoc"></div> <div class="block-editor__popover svelte-10brcoc"><!></div>',1),jY=V('<div class="block-editor svelte-10brcoc"><!> <div class="block-editor__stage svelte-10brcoc"><div class="block-editor__scroll svelte-10brcoc"><div class="block-editor__list-wrap svelte-10brcoc"><!> <!></div></div></div> <!> <!> <!> <!> <!> <!> <!> <!></div>');function zY(n,e){Ot(e,!0);let t=Et(e,"highlightCss",3,""),r=Et(e,"highlightTransform",3,null),i=Et(e,"showInsertMenu",3,!0),s=Et(e,"frontmatter",19,()=>({})),o=Et(e,"readOnly",3,!1),a=Et(e,"communityTags",3,null),l=Et(e,"communityPostTransforms",3,null),c=Et(e,"communityStyles",3,null),u=Et(e,"aggregated",19,()=>({})),f=J(rn([])),d=me(()=>AN(e.runes)),h="";function m(G,te){if(G.length===0)return;const de=new Set(G.map(nt=>nt.id)),_e=new Set(te.map(nt=>nt.id)),qe=G.filter(nt=>!_e.has(nt.id)),rt=te.filter(nt=>!de.has(nt.id));if(qe.length===0||rt.length===0)return;const et=[...qe];for(const nt of rt){let lt=-1,jt=1/0;for(let ht=0;ht<et.length;ht++){const Dn=et[ht],vn=Dn.type===nt.type?0:1e3,mt=Math.abs(Dn.startLine-nt.startLine)+vn;mt<jt&&(jt=mt,lt=ht)}lt>=0&&(nt.id=et[lt].id,et.splice(lt,1))}}yn(()=>{const G=e.bodyContent;if(G!==h){const te=DA(G);m(g(f),te),M(f,te,!0),h=G,M(x,null),M(S,!1),M(T,null),M(Re,null),M(A,null)}});function p(){const G=ng(g(f));h=G,e.onchange(G)}let O=me(()=>U1(g(f)));function v(G){const te=g(O)[G];if(!te)return[0,0];if(te.type==="prose"){const _e=te.children[0],qe=te.children[te.children.length-1],rt=g(f).indexOf(_e),et=g(f).indexOf(qe);return[rt,et]}const de=g(f).indexOf(te);return[de,de]}function b(G,te){const[de,_e]=v(G),qe=g(f).slice(de,_e+1);m(qe,te.children),M(f,[...g(f).slice(0,de),...te.children,...g(f).slice(_e+1)],!0),p()}function _(G,te){const de=g(O)[G];if(!de||de.type!=="prose")return;const _e=de.children[te.childIndex];if(!_e)return;const[qe]=v(G),rt=qe+te.childIndex;if(_e.type==="fence"){const ht=_e,Dn=ht.code,vn=ht.language,mt=_e.source.split(`
|
|
600
|
+
`)[0]??""}}function s(P){switch(P.type){case"heading":return'<path d="M3 3v10M13 3v10M3 8h10" />';case"paragraph":return'<path d="M2 4h12M2 8h12M2 12h8" />';case"fence":return'<polyline points="4 6 1 9 4 12" /><polyline points="12 6 15 9 12 12" />';case"list":return'<circle cx="3" cy="4" r="1" fill="currentColor" /><line x1="6" y1="4" x2="14" y2="4" /><circle cx="3" cy="8" r="1" fill="currentColor" /><line x1="6" y1="8" x2="14" y2="8" /><circle cx="3" cy="12" r="1" fill="currentColor" /><line x1="6" y1="12" x2="14" y2="12" />';case"quote":return'<path d="M3 5h10M5 5v8M5 9h6" />';case"hr":return'<line x1="2" y1="8" x2="14" y2="8" />';case"image":return'<rect x="2" y="2" width="12" height="12" rx="1" /><circle cx="5.5" cy="5.5" r="1.5" /><path d="M14 10l-3-3-5 5" />';default:return'<path d="M2 4h12M2 8h12M2 12h8" />'}}let o=J(null),a=J(null);function l(P,q){M(o,q,!0),P.dataTransfer&&(P.dataTransfer.effectAllowed="move",P.dataTransfer.setData("text/plain",String(q)))}function c(P,q){P.preventDefault(),P.dataTransfer&&(P.dataTransfer.dropEffect="move"),M(a,q,!0)}function u(P,q){P.preventDefault(),g(o)!==null&&g(o)!==q&&d(g(o),q),M(o,null),M(a,null)}function f(){M(o,null),M(a,null)}function d(P,q){const I=[...e.block.children],[W]=I.splice(P,1);I.splice(q,0,W);const U=ng(I);e.onupdate({...e.block,children:I,source:U})}function h(P){const q=e.block.children.filter((W,U)=>U!==P);if(q.length===0){e.onremove();return}const I=ng(q);e.onupdate({...e.block,children:q,source:I})}function m(P){if(!P.trim()){e.onremove();return}const q=DA(P);e.onupdate({...e.block,children:q,source:P})}var p=qW(),O=D(p),v=D(O),b=R(D(v),2),_=D(b),A=R(b,4);A.__click=function(...P){e.onremove?.apply(this,P)};var w=R(A,2);w.__click=function(...P){e.onclose?.apply(this,P)};var y=R(v,2),S=D(y);let C;S.__click=()=>M(r,"structure");var k=R(S,2);let x;k.__click=()=>M(r,"content");var E=R(O,2);{var T=P=>{var q=LW(),I=D(q);Lt(I,23,()=>e.block.children,W=>W.id,(W,U,K)=>{var ae=QW();let re;var H=R(D(ae),2),ie=D(H),se=D(ie);k_(se,()=>s(g(U)),!0);var j=R(H,2),ne=D(j),Te=D(ne),Qe=R(ne,2),De=D(Qe),ge=R(j,2);ge.__click=()=>h(g(K)),fe((Ee,Ke)=>{re=We(ae,1,"structure-item svelte-1lv3l5p",null,re,{"drag-source":g(o)===g(K),"drag-over":g(a)===g(K)&&g(o)!==g(K)}),Le(Te,Ee),Le(De,Ke)},[()=>kv(g(U)),()=>i(g(U))]),ct("dragstart",ae,Ee=>l(Ee,g(K))),ct("dragover",ae,Ee=>c(Ee,g(K))),ct("drop",ae,Ee=>u(Ee,g(K))),ct("dragend",ae,f),z(W,ae)}),z(P,q)};ue(E,P=>{g(r)==="structure"&&P(T)})}var $=R(E,2);{var Q=P=>{var q=MW(),I=D(q),W=D(I);vo(W,{get content(){return e.block.source},onchange:m,get runes(){return e.runes},aggregated:()=>t()}),z(P,q)};ue($,P=>{g(r)==="content"&&P(Q)})}fe(()=>{Le(_,`${e.block.children.length??""} block${e.block.children.length!==1?"s":""}`),C=We(S,1,"edit-panel__tab svelte-1lv3l5p",null,C,{active:g(r)==="structure"}),x=We(k,1,"edit-panel__tab svelte-1lv3l5p",null,x,{active:g(r)==="content"})}),z(n,p),vt()}Kt(["click"]);var RW=V('<div class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w"> </span> <div class="edit-panel__custom-row svelte-1wxsk8w"><input class="edit-panel__input svelte-1wxsk8w" type="text"/> <button class="edit-panel__remove-btn svelte-1wxsk8w">×</button></div></div>'),IW=V('<div class="edit-panel__custom-section svelte-1wxsk8w"><span class="edit-panel__section-label svelte-1wxsk8w">Custom fields</span> <!></div>'),NW=V('<div class="edit-panel svelte-1wxsk8w"><div class="edit-panel__header svelte-1wxsk8w"><span class="edit-panel__type svelte-1wxsk8w">Frontmatter</span> <div class="edit-panel__spacer svelte-1wxsk8w"></div> <button class="edit-panel__btn svelte-1wxsk8w" title="Close panel">×</button></div> <div class="edit-panel__body svelte-1wxsk8w"><div class="edit-panel__field-group svelte-1wxsk8w"><label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Title</span> <input class="edit-panel__input svelte-1wxsk8w" type="text"/></label> <label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Description</span> <textarea class="edit-panel__textarea svelte-1wxsk8w"></textarea></label> <label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Slug</span> <input class="edit-panel__input svelte-1wxsk8w" type="text" placeholder="auto-derived from filename"/></label> <div class="edit-panel__row svelte-1wxsk8w"><label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Author</span> <input class="edit-panel__input svelte-1wxsk8w" type="text"/></label> <label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Date</span> <input class="edit-panel__input svelte-1wxsk8w" type="date"/></label></div> <div class="edit-panel__row svelte-1wxsk8w"><label class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Order</span> <input class="edit-panel__input svelte-1wxsk8w" type="number"/></label> <div class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Draft</span> <div role="switch" tabindex="0"><div class="fm-toggle__track svelte-1wxsk8w"><div class="fm-toggle__thumb svelte-1wxsk8w"></div></div> <span class="fm-toggle__label svelte-1wxsk8w"> </span></div></div></div> <div class="edit-panel__field svelte-1wxsk8w"><span class="edit-panel__field-label svelte-1wxsk8w">Tags</span> <!></div> <!> <div class="edit-panel__add-field svelte-1wxsk8w"><input class="edit-panel__input svelte-1wxsk8w" type="text" placeholder="Field name"/> <button class="edit-panel__add-btn svelte-1wxsk8w">+ Add field</button></div></div></div></div>');function BW(n,e){Ot(e,!0);const t=new Set(["title","description","tags","draft","order","date","author","slug"]);let r=J(""),i=me(()=>Object.entries(F.frontmatter).filter(([H])=>!t.has(H)));function s(H,ie){F.updateFrontmatterField(H,ie)}function o(){const H=g(r).trim();!H||H in F.frontmatter||(F.updateFrontmatterField(H,""),M(r,""))}function a(H){F.updateFrontmatterField(H,void 0)}var l=NW(),c=D(l),u=R(D(c),4);u.__click=function(...H){e.onclose?.apply(this,H)};var f=R(c,2),d=D(f),h=D(d),m=R(D(h),2);m.__input=H=>s("title",H.target.value);var p=R(h,2),O=R(D(p),2);O.__input=H=>s("description",H.target.value),$t(O,"rows",2);var v=R(p,2),b=R(D(v),2);b.__input=H=>s("slug",H.target.value);var _=R(v,2),A=D(_),w=R(D(A),2);w.__input=H=>s("author",H.target.value);var y=R(A,2),S=R(D(y),2);S.__input=H=>s("date",H.target.value);var C=R(_,2),k=D(C),x=R(D(k),2);x.__input=H=>{const ie=H.target.value;s("order",ie===""?void 0:Number(ie))};var E=R(k,2),T=R(D(E),2);let $;T.__click=()=>s("draft",F.frontmatter.draft===!0?void 0:!0),T.__keydown=H=>{(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),s("draft",F.frontmatter.draft===!0?void 0:!0))};var Q=R(D(T),2),P=D(Q),q=R(C,2),I=R(D(q),2);{let H=me(()=>F.frontmatter.tags??[]);kk(I,{get tags(){return g(H)},onchange:ie=>s("tags",ie)})}var W=R(q,2);{var U=H=>{var ie=IW(),se=R(D(ie),2);Lt(se,17,()=>g(i),en,(j,ne)=>{var Te=me(()=>jc(g(ne),2));let Qe=()=>g(Te)[0],De=()=>g(Te)[1];var ge=RW(),Ee=D(ge),Ke=D(Ee),tt=R(Ee,2),Ve=D(tt);Ve.__input=Re=>s(Qe(),Re.target.value);var Ge=R(Ve,2);Ge.__click=()=>a(Qe()),fe(Re=>{Le(Ke,Qe()),dn(Ve,Re),$t(Ge,"aria-label",`Remove ${Qe()??""}`)},[()=>String(De()??"")]),z(j,ge)}),z(H,ie)};ue(W,H=>{g(i).length>0&&H(U)})}var K=R(W,2),ae=D(K);ae.__keydown=H=>{H.key==="Enter"&&(H.preventDefault(),o())};var re=R(ae,2);re.__click=o,fe(H=>{dn(m,F.frontmatter.title??""),dn(O,F.frontmatter.description??""),dn(b,F.frontmatter.slug??""),dn(w,F.frontmatter.author??""),dn(S,F.frontmatter.date??""),dn(x,F.frontmatter.order??""),$=We(T,1,"fm-toggle svelte-1wxsk8w",null,$,{active:F.frontmatter.draft===!0}),$t(T,"aria-checked",F.frontmatter.draft===!0),Le(P,F.frontmatter.draft===!0?"Draft":"Published"),re.disabled=H},[()=>!g(r).trim()]),Nn(ae,()=>g(r),H=>M(r,H)),z(n,l),vt()}Kt(["click","input","keydown"]);var jW=V('<button type="button"> </button>'),zW=V('<div class="insert-dialog__tabs svelte-gvk8wi"></div>'),ZW=V('<div class="insert-dialog__empty svelte-gvk8wi"> </div>'),FW=V('<span class="insert-dialog__rune-desc svelte-gvk8wi"> </span>'),XW=V('<button class="insert-dialog__btn insert-dialog__btn--rune svelte-gvk8wi"><span class="insert-dialog__rune-dot svelte-gvk8wi"></span> <span class="insert-dialog__rune-info svelte-gvk8wi"><span class="insert-dialog__rune-name svelte-gvk8wi"> </span> <!></span></button>'),VW=V('<div class="insert-dialog__grid svelte-gvk8wi"></div>'),WW=V('<button class="insert-dialog__btn svelte-gvk8wi"><svg class="insert-dialog__btn-icon svelte-gvk8wi" width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <span class="insert-dialog__btn-info svelte-gvk8wi"><span class="insert-dialog__btn-name svelte-gvk8wi"> </span> <span class="insert-dialog__btn-desc svelte-gvk8wi"> </span></span></button>'),YW=V('<span class="insert-dialog__rune-desc svelte-gvk8wi"> </span>'),UW=V('<button class="insert-dialog__btn insert-dialog__btn--rune svelte-gvk8wi"><span class="insert-dialog__rune-dot svelte-gvk8wi"></span> <span class="insert-dialog__rune-info svelte-gvk8wi"><span class="insert-dialog__rune-name svelte-gvk8wi"> </span> <!></span></button>'),GW=V('<div class="insert-dialog__grid svelte-gvk8wi"><!> <!></div>'),HW=V('<dialog class="insert-dialog svelte-gvk8wi"><div class="insert-dialog__inner svelte-gvk8wi"><div class="insert-dialog__header svelte-gvk8wi"><h2 class="insert-dialog__title svelte-gvk8wi">Insert Block</h2> <div class="insert-dialog__search-wrap svelte-gvk8wi"><svg class="insert-dialog__search-icon svelte-gvk8wi" width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="7" cy="7" r="4.5"></circle><path d="M10.5 10.5L14 14"></path></svg> <input class="insert-dialog__search svelte-gvk8wi" type="text" placeholder="Search blocks..."/></div> <button class="insert-dialog__close svelte-gvk8wi"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button></div> <!> <div class="insert-dialog__body svelte-gvk8wi"><!></div></div></dialog>');function KW(n,e){Ot(e,!0);const t=["Content","Section","Layout","Code & Data","Semantic","Design","Site"];let r=J("Content"),i=J(""),s,o,a=me(()=>{const k=new Set(e.runesByCategory.keys()),x=t.filter(E=>k.has(E));for(const E of k)x.includes(E)||x.push(E);return x}),l=me(()=>{if(!g(i).trim())return null;const k=g(i).toLowerCase();return e.runes.filter(x=>x.name.toLowerCase().includes(k)||x.description&&x.description.toLowerCase().includes(k))});const c=[{type:"heading",name:"Heading",description:"Section heading",icon:"M3 3v10M13 3v10M3 8h10"},{type:"paragraph",name:"Paragraph",description:"Body text",icon:"M2 4h12M2 8h12M2 12h8"},{type:"fence",name:"Code Block",description:"Fenced code",icon:"M5 4L2 8l3 4M11 4l3 4-3 4"},{type:"hr",name:"Divider",description:"Horizontal rule",icon:"M2 8h12"}];yn(()=>{s?.showModal(),o?.focus()});function u(k){k.target===s&&e.onclose()}function f(k){e.oninsert(k)}function d(k){e.oninsert("rune",k)}var h=HW();h.__click=u,h.__keydown=k=>{k.key==="Escape"&&(k.preventDefault(),e.onclose())};var m=D(h),p=D(m),O=R(D(p),2),v=R(D(O),2);gn(v,k=>o=k,()=>o);var b=R(O,2);b.__click=function(...k){e.onclose?.apply(this,k)};var _=R(p,2);{var A=k=>{var x=zW();Lt(x,21,()=>g(a),en,(E,T)=>{var $=jW();let Q;$.__click=()=>M(r,g(T),!0);var P=D($);fe(()=>{Q=We($,1,"insert-dialog__tab svelte-gvk8wi",null,Q,{active:g(r)===g(T)}),Le(P,g(T))}),z(E,$)}),z(k,x)};ue(_,k=>{g(l)||k(A)})}var w=R(_,2),y=D(w);{var S=k=>{var x=mn(),E=st(x);{var T=Q=>{var P=ZW(),q=D(P);fe(()=>Le(q,`No blocks match "${g(i)??""}"`)),z(Q,P)},$=Q=>{var P=VW();Lt(P,21,()=>g(l),en,(q,I)=>{var W=XW();W.__click=()=>d(g(I).name);var U=R(D(W),2),K=D(U),ae=D(K),re=R(K,2);{var H=ie=>{var se=FW(),j=D(se);fe(()=>Le(j,g(I).description)),z(ie,se)};ue(re,ie=>{g(I).description&&ie(H)})}fe(()=>Le(ae,g(I).name)),z(q,W)}),z(Q,P)};ue(E,Q=>{g(l).length===0?Q(T):Q($,!1)})}z(k,x)},C=k=>{var x=GW(),E=D(x);{var T=Q=>{var P=mn(),q=st(P);Lt(q,17,()=>c,en,(I,W)=>{var U=WW();U.__click=()=>f(g(W).type);var K=D(U),ae=D(K),re=R(K,2),H=D(re),ie=D(H),se=R(H,2),j=D(se);fe(()=>{$t(ae,"d",g(W).icon),Le(ie,g(W).name),Le(j,g(W).description)}),z(I,U)}),z(Q,P)};ue(E,Q=>{g(r)==="Content"&&Q(T)})}var $=R(E,2);Lt($,17,()=>e.runesByCategory.get(g(r))??[],en,(Q,P)=>{var q=UW();q.__click=()=>d(g(P).name);var I=R(D(q),2),W=D(I),U=D(W),K=R(W,2);{var ae=re=>{var H=YW(),ie=D(H);fe(()=>Le(ie,g(P).description)),z(re,H)};ue(K,re=>{g(P).description&&re(ae)})}fe(()=>Le(U,g(P).name)),z(Q,q)}),z(k,x)};ue(y,k=>{g(l)?k(S):k(C,!1)})}gn(h,k=>s=k,()=>s),ct("close",h,function(...k){e.onclose?.apply(this,k)}),Nn(v,()=>g(i),k=>M(i,k)),z(n,h),vt()}Kt(["click","keydown"]);var JW=V('<div class="inline-edit-popover__link-editor svelte-1c50n5q"><div class="inline-edit-popover__link-row svelte-1c50n5q"><label class="inline-edit-popover__link-label svelte-1c50n5q">Text</label> <input class="inline-edit-popover__link-input svelte-1c50n5q" type="text"/></div> <div class="inline-edit-popover__link-row svelte-1c50n5q"><label class="inline-edit-popover__link-label svelte-1c50n5q">URL</label> <input class="inline-edit-popover__link-input svelte-1c50n5q" type="text" placeholder="https://..."/></div> <div class="inline-edit-popover__link-actions svelte-1c50n5q"><button class="inline-edit-popover__link-btn inline-edit-popover__link-btn--apply svelte-1c50n5q">Apply</button> <button class="inline-edit-popover__link-btn inline-edit-popover__link-btn--remove svelte-1c50n5q">Remove link</button></div></div>'),eY=V('<div><div class="inline-edit-popover__header svelte-1c50n5q"><span class="inline-edit-popover__label svelte-1c50n5q"> </span> <button class="inline-edit-popover__close svelte-1c50n5q" aria-label="Close">×</button></div> <div class="inline-edit-popover__toolbar svelte-1c50n5q"><button title="Bold (Ctrl+B)"><strong>B</strong></button> <button title="Italic (Ctrl+I)"><em>I</em></button> <button title="Inline code"></></button> <button class="inline-edit-popover__tool-btn svelte-1c50n5q" title="Link (Ctrl+K)"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6.5 9.5a3 3 0 0 0 4.2.3l2-2a3 3 0 0 0-4.2-4.3l-1.1 1.1"></path><path d="M9.5 6.5a3 3 0 0 0-4.2-.3l-2 2a3 3 0 0 0 4.2 4.3l1.1-1.1"></path></svg></button></div> <div class="inline-edit-popover__editable svelte-1c50n5q" contenteditable="true"></div> <!></div>');function Ew(n,e){Ot(e,!0);let t,r,i=J(0),s=J(0),o=J(!0),a=J(null),l=J(void 0),c;ro(()=>{r.innerHTML=cj(e.inlineSource);const j=t.getBoundingClientRect(),ne=j.width,Te=j.height,Qe=8;let De=e.anchorRect.left+e.anchorRect.width/2-ne/2;De<Qe&&(De=Qe),De+ne>window.innerWidth-Qe&&(De=window.innerWidth-ne-Qe),M(i,De,!0);const ge=e.anchorRect.top-Te-Qe;ge>=Qe?(M(s,ge),M(o,!0)):(M(s,e.anchorRect.bottom+Qe),M(o,!1)),r.focus();const Ee=window.getSelection();if(Ee&&r.childNodes.length>0){const Ve=document.createRange();Ve.selectNodeContents(r),Ve.collapse(!1),Ee.removeAllRanges(),Ee.addRange(Ve)}function Ke(Ve){t&&!t.contains(Ve.target)&&e.onclose()}function tt(Ve){Ve.key==="Escape"&&(g(a)?M(a,null):e.onclose())}return requestAnimationFrame(()=>{document.addEventListener("mousedown",Ke)}),document.addEventListener("keydown",tt),()=>{document.removeEventListener("mousedown",Ke),document.removeEventListener("keydown",tt),clearTimeout(c)}});function u(){clearTimeout(c),c=setTimeout(()=>{a0(r);const j=fj(r);e.onchange(j)},100)}function f(j){if(j.key==="Enter"){j.preventDefault();return}(j.metaKey||j.ctrlKey)&&(j.key==="b"?(j.preventDefault(),m("bold")):j.key==="i"?(j.preventDefault(),m("italic")):j.key==="k"&&(j.preventDefault(),p()))}function d(j){j.preventDefault();const ne=j.clipboardData?.getData("text/plain")??"";document.execCommand("insertText",!1,ne)}function h(j){const Te=j.target.closest("a");Te&&r.contains(Te)&&(j.preventDefault(),O(Te))}function m(j){r.focus();const ne=window.getSelection();if(!(!ne||ne.rangeCount===0)){if(j==="code"){const Te=ne.getRangeAt(0);if(Te.collapsed)return;const Qe=C(Te.commonAncestorContainer,"CODE",r);if(Qe){const De=document.createTextNode(Qe.textContent??"");Qe.replaceWith(De);const ge=document.createRange();ge.selectNode(De),ne.removeAllRanges(),ne.addRange(ge)}else{const De=document.createElement("code");De.textContent=Te.toString(),Te.deleteContents(),Te.insertNode(De);const ge=document.createRange();ge.selectNodeContents(De),ne.removeAllRanges(),ne.addRange(ge)}}else{const Te=j==="bold"?"bold":"italic";document.execCommand(Te,!1)}a0(r),u()}}function p(){const j=window.getSelection();if(!j||j.rangeCount===0)return;const ne=j.getRangeAt(0),Te=C(ne.commonAncestorContainer,"A",r);if(Te){O(Te);return}if(ne.collapsed)return;const Qe=ne.toString(),De=document.createElement("a");De.href="",De.textContent=Qe,ne.deleteContents(),ne.insertNode(De),O(De)}function O(j){M(a,{anchorEl:j,href:j.getAttribute("href")??"",text:j.textContent??"",rect:j.getBoundingClientRect()},!0),requestAnimationFrame(()=>{g(l)?.focus(),g(l)?.select()})}function v(){g(a)&&(g(a).anchorEl.href=g(a).href,g(a).anchorEl.textContent=g(a).text,M(a,null),r.focus(),u())}function b(){if(!g(a))return;const j=document.createTextNode(g(a).anchorEl.textContent??"");g(a).anchorEl.replaceWith(j),M(a,null),r.focus(),u()}function _(j){j.key==="Enter"&&(j.preventDefault(),v())}let A=J(!1),w=J(!1),y=J(!1);function S(){M(A,document.queryCommandState("bold"),!0),M(w,document.queryCommandState("italic"),!0);const j=window.getSelection();j&&j.rangeCount>0?M(y,!!C(j.getRangeAt(0).commonAncestorContainer,"CODE",r)):M(y,!1)}function C(j,ne,Te){let Qe=j;for(;Qe&&Qe!==Te;){if(Qe.nodeType===globalThis.Node.ELEMENT_NODE&&Qe.tagName===ne)return Qe;Qe=Qe.parentNode}return null}var k=eY();let x;var E=D(k),T=D(E),$=D(T),Q=R(T,2);Q.__click=function(...j){e.onclose?.apply(this,j)};var P=R(E,2),q=D(P);let I;q.__click=()=>m("bold");var W=R(q,2);let U;W.__click=()=>m("italic");var K=R(W,2);let ae;K.__click=()=>m("code");var re=R(K,2);re.__click=p;var H=R(P,2);H.__input=u,H.__keydown=f,H.__keyup=S,H.__mouseup=S,H.__click=h,gn(H,j=>r=j,()=>r);var ie=R(H,2);{var se=j=>{var ne=JW(),Te=D(ne),Qe=R(D(Te),2);Qe.__keydown=_;var De=R(Te,2),ge=R(D(De),2);ge.__keydown=_,gn(ge,Ve=>M(l,Ve),()=>g(l));var Ee=R(De,2),Ke=D(Ee);Ke.__click=v;var tt=R(Ke,2);tt.__click=b,Nn(Qe,()=>g(a).text,Ve=>g(a).text=Ve),Nn(ge,()=>g(a).href,Ve=>g(a).href=Ve),z(j,ne)};ue(ie,j=>{g(a)&&j(se)})}gn(k,j=>t=j,()=>t),fe(()=>{x=We(k,1,"inline-edit-popover svelte-1c50n5q",null,x,{above:g(o),below:!g(o)}),$r(k,`left: ${g(i)??""}px; top: ${g(s)??""}px`),Le($,e.dataName),I=We(q,1,"inline-edit-popover__tool-btn svelte-1c50n5q",null,I,{active:g(A)}),U=We(W,1,"inline-edit-popover__tool-btn svelte-1c50n5q",null,U,{active:g(w)}),ae=We(K,1,"inline-edit-popover__tool-btn inline-edit-popover__tool-btn--code svelte-1c50n5q",null,ae,{active:g(y)})}),ct("paste",H,d),z(n,k),vt()}Kt(["click","input","keydown","keyup","mouseup"]);var tY=V('<div><div class="action-edit-popover__header svelte-15w9shn"><span class="action-edit-popover__label svelte-15w9shn">action</span> <button class="action-edit-popover__close svelte-15w9shn" aria-label="Close">×</button></div> <div class="action-edit-popover__row svelte-15w9shn"><label class="action-edit-popover__field-label svelte-15w9shn">Text</label> <input class="action-edit-popover__input svelte-15w9shn" type="text"/></div> <div class="action-edit-popover__row svelte-15w9shn"><label class="action-edit-popover__field-label svelte-15w9shn">URL</label> <input class="action-edit-popover__input svelte-15w9shn" type="text" placeholder="https://..."/></div> <div class="action-edit-popover__actions svelte-15w9shn"><button class="action-edit-popover__btn action-edit-popover__btn--apply svelte-15w9shn">Apply</button> <button class="action-edit-popover__btn action-edit-popover__btn--remove svelte-15w9shn">Remove</button></div></div>');function nY(n,e){Ot(e,!0);let t,r,i=J(0),s=J(0),o=J(!0),a=J(rn(e.text)),l=J(rn(e.href));ro(()=>{const y=t.getBoundingClientRect(),S=y.width,C=y.height,k=8;let x=e.anchorRect.left+e.anchorRect.width/2-S/2;x<k&&(x=k),x+S>window.innerWidth-k&&(x=window.innerWidth-S-k),M(i,x,!0);const E=e.anchorRect.top-C-k;E>=k?(M(s,E),M(o,!0)):(M(s,e.anchorRect.bottom+k),M(o,!1)),r?.focus(),r?.select();function T(Q){t&&!t.contains(Q.target)&&c()}function $(Q){Q.key==="Escape"&&e.onclose()}return requestAnimationFrame(()=>{document.addEventListener("mousedown",T)}),document.addEventListener("keydown",$),()=>{document.removeEventListener("mousedown",T),document.removeEventListener("keydown",$)}});function c(){(g(a)!==e.text||g(l)!==e.href)&&e.onchange(g(a),g(l)),e.onclose()}function u(y){y.key==="Enter"&&(y.preventDefault(),c())}var f=tY();let d;var h=D(f),m=R(D(h),2);m.__click=function(...y){e.onclose?.apply(this,y)};var p=R(h,2),O=R(D(p),2);O.__keydown=u,gn(O,y=>r=y,()=>r);var v=R(p,2),b=R(D(v),2);b.__keydown=u;var _=R(v,2),A=D(_);A.__click=c;var w=R(A,2);w.__click=function(...y){e.onremove?.apply(this,y)},gn(f,y=>t=y,()=>t),fe(()=>{d=We(f,1,"action-edit-popover svelte-15w9shn",null,d,{above:g(o),below:!g(o)}),$r(f,`left: ${g(i)??""}px; top: ${g(s)??""}px`)}),Nn(O,()=>g(a),y=>M(a,y)),Nn(b,()=>g(l),y=>M(l,y)),z(n,f),vt()}Kt(["click","keydown"]);var rY=V("<option> </option>"),iY=V('<div><div class="code-edit-popover__header svelte-rmoejq"><span class="code-edit-popover__label svelte-rmoejq">code</span> <button class="code-edit-popover__close svelte-rmoejq" aria-label="Close">×</button></div> <div class="code-edit-popover__toolbar svelte-rmoejq"><select class="code-edit-popover__lang-select svelte-rmoejq"><option>No language</option><!></select></div> <div class="code-edit-popover__editor svelte-rmoejq"></div> <div class="code-edit-popover__actions svelte-rmoejq"><button class="code-edit-popover__btn code-edit-popover__btn--apply svelte-rmoejq">Apply</button> <button class="code-edit-popover__btn code-edit-popover__btn--remove svelte-rmoejq">Remove</button></div></div>');function sY(n,e){Ot(e,!0);const t=["bash","sh","shell","javascript","typescript","python","html","css","json","yaml","markdown","markdoc","go","rust","java","c","cpp","ruby","php","sql","swift","kotlin","dart","lua","r","perl","scala","haskell","elixir","toml","xml","graphql","dockerfile","diff","plaintext"];let r,i,s=J(void 0),o=J(0),a=J(0),l=J(!0),c=J(rn(e.code)),u=J(rn(e.language));const f=new vs,d=new vs,h=pl.define([{tag:N.keyword,color:"#8839ef"},{tag:[N.atom,N.bool],color:"#fe640b"},{tag:N.number,color:"#fe640b"},{tag:[N.string,N.special(N.string)],color:"#40a02b"},{tag:[N.regexp,N.escape],color:"#ea76cb"},{tag:N.definition(N.variableName),color:"#1e66f5"},{tag:N.local(N.variableName),color:"#1e66f5"},{tag:N.variableName,color:"#4c4f69"},{tag:N.definition(N.propertyName),color:"#1e66f5"},{tag:N.propertyName,color:"#1e66f5"},{tag:[N.typeName,N.className,N.namespace],color:"#df8e1d"},{tag:[N.macroName,N.labelName],color:"#d20f39"},{tag:N.function(N.variableName),color:"#1e66f5"},{tag:N.operator,color:"#04a5e5"},{tag:N.punctuation,color:"#7c7f93"},{tag:N.comment,color:"#9ca0b0",fontStyle:"italic"},{tag:N.lineComment,color:"#9ca0b0",fontStyle:"italic"},{tag:N.blockComment,color:"#9ca0b0",fontStyle:"italic"},{tag:N.meta,color:"#7c7f93"},{tag:N.link,color:"#1e66f5",textDecoration:"underline"},{tag:N.url,color:"#1e66f5"},{tag:N.invalid,color:"#d20f39"}]),m=Me.theme({"&":{fontSize:"13px",height:"auto",backgroundColor:"var(--ed-surface-1, #f8fafc)",border:"1px solid var(--ed-border-default, #e2e8f0)",borderRadius:"var(--ed-radius-sm, 4px)"},"&.cm-focused":{outline:"none",borderColor:"var(--ed-accent, #3b82f6)",boxShadow:"0 0 0 2px var(--ed-accent-ring, rgba(59, 130, 246, 0.2))"},".cm-scroller":{overflow:"auto",maxHeight:"12rem",fontFamily:"var(--ed-font-mono, 'SF Mono', 'Fira Code', monospace)",lineHeight:"1.5"},".cm-content":{padding:"var(--ed-space-2, 0.5rem)",caretColor:"#1e293b",minHeight:"3rem"},".cm-cursor":{borderLeftColor:"#1e293b"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"rgba(14, 165, 233, 0.2)"},".cm-selectionBackground":{backgroundColor:"rgba(14, 165, 233, 0.12)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-markdoc-tag":{backgroundColor:"rgba(217, 119, 6, 0.06)",borderRadius:"2px"},".cm-markdoc-bracket":{color:"#94a3b8"},".cm-markdoc-name":{color:"#d97706",fontWeight:"600"}},{dark:!1}),p=me(()=>t.includes(g(u))||!g(u)?t:[g(u),...t]);function O(){if(!r)return;const I=r.getBoundingClientRect(),W=I.width,U=I.height,K=8;let ae=e.anchorRect.left+e.anchorRect.width/2-W/2;ae<K&&(ae=K),ae+W>window.innerWidth-K&&(ae=window.innerWidth-W-K),M(o,ae,!0);const re=e.anchorRect.top-U-K;re>=K?(M(a,re),M(l,!0)):(M(a,e.anchorRect.bottom+K),M(l,!1))}ro(()=>{O();function I(U){r&&!r.contains(U.target)&&b()}function W(U){U.key==="Escape"&&e.onclose()}return requestAnimationFrame(()=>{document.addEventListener("mousedown",I)}),document.addEventListener("keydown",W),()=>{document.removeEventListener("mousedown",I),document.removeEventListener("keydown",W)}}),yn(()=>{if(!i)return;const I=Rt.create({doc:Er(()=>g(c)),extensions:[f.of(nl()),d.of(Er(()=>g(u))==="markdoc"?$c():[]),FO(),m,yc(h),yc(sx,{fallback:!0}),Ko.of([...WO,...XO,Xq,{key:"Mod-Enter",run:()=>(b(),!0)},{key:"Escape",run:()=>(e.onclose(),!0)}]),Me.updateListener.of(U=>{U.docChanged&&M(c,U.state.doc.toString(),!0)}),Me.lineWrapping]}),W=new Me({state:I,parent:i});return M(s,W,!0),W.focus(),v(W,Er(()=>g(u))),requestAnimationFrame(()=>O()),()=>{M(s,void 0),W.destroy()}});function v(I,W){const U=W?.trim();if(!U)return;if(U==="markdoc"){I.dispatch({effects:[f.reconfigure(nl()),d.reconfigure($c())]});return}I.dispatch({effects:d.reconfigure([])});const K=ee.matchLanguageName(yT,U,!0);K&&K.load().then(ae=>{I.dispatch({effects:f.reconfigure(ae)})}).catch(console.error)}function b(){g(c)!==e.code&&e.onchange(g(c)),e.onclose()}function _(I){const W=I.target;M(u,W.value,!0),e.onlanguagechange(g(u)),g(s)&&v(g(s),g(u))}var A=iY();let w;var y=D(A),S=R(D(y),2);S.__click=function(...I){e.onclose?.apply(this,I)};var C=R(y,2),k=D(C);k.__change=_;var x=D(k);x.value=x.__value="";var E=R(x);Lt(E,17,()=>g(p),en,(I,W)=>{var U=rY(),K=D(U),ae={};fe(()=>{Le(K,g(W)),ae!==(ae=g(W))&&(U.value=(U.__value=g(W))??"")}),z(I,U)});var T;Sf(k);var $=R(C,2);gn($,I=>i=I,()=>i);var Q=R($,2),P=D(Q);P.__click=b;var q=R(P,2);q.__click=function(...I){e.onremove?.apply(this,I)},gn(A,I=>r=I,()=>r),fe(()=>{w=We(A,1,"code-edit-popover svelte-rmoejq",null,w,{above:g(l),below:!g(l)}),$r(A,`left: ${g(o)??""}px; top: ${g(a)??""}px`),T!==(T=g(u))&&(k.value=(k.__value=g(u))??"",lc(k,g(u)))}),z(n,A),vt()}Kt(["click","change"]);const Xn="";async function $w(){const n=await fetch(`${Xn}/api/tree`);if(!n.ok)throw new Error(`Failed to load tree: ${n.status}`);return n.json()}async function Np(n){const e=await fetch(`${Xn}/api/files/${encodeURIComponent(n)}`);if(!e.ok)throw new Error(`Failed to load file: ${e.status}`);return e.json()}async function oY(n,e){const t=await fetch(`${Xn}/api/files/${encodeURIComponent(n)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e})});if(!t.ok)throw new Error(`Failed to save file: ${t.status}`)}async function aY(n,e){const t=await fetch(`${Xn}/api/preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n,content:e})});if(!t.ok)throw new Error(`Preview failed: ${t.status}`);return t.text()}async function lY(n,e){const t=await fetch(`${Xn}/api/preview-data`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n,content:e})});if(!t.ok)throw new Error(`Preview data failed: ${t.status}`);return t.json()}async function cY(){const n=await fetch(`${Xn}/api/config`);if(!n.ok)throw new Error(`Config failed: ${n.status}`);return n.json()}async function uY(){const n=await fetch(`${Xn}/api/route-rules`);if(!n.ok)throw new Error(`Failed to load route rules: ${n.status}`);return(await n.json()).routeRules}async function fY(n){const e=await fetch(`${Xn}/api/route-rules`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({routeRules:n})});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to update route rules: ${e.status}`)}}async function dY(n){const e=await fetch(`${Xn}/api/pages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to create page: ${e.status}`)}return e.json()}async function Qw(n){const e=await fetch(`${Xn}/api/directories`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to create directory: ${e.status}`)}return e.json()}async function hY(n,e){const t=await fetch(`${Xn}/api/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldPath:n,newName:e})});if(!t.ok){const r=await t.json().catch(()=>({}));throw new Error(r.error??`Failed to rename: ${t.status}`)}return t.json()}async function pY(n){const e=await fetch(`${Xn}/api/duplicate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to duplicate: ${e.status}`)}return e.json()}async function mY(n){const e=await fetch(`${Xn}/api/files/${encodeURIComponent(n)}`,{method:"DELETE"});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to delete: ${e.status}`)}}async function gY(n){const e=await fetch(`${Xn}/api/toggle-draft`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})});if(!e.ok){const t=await e.json().catch(()=>({}));throw new Error(t.error??`Failed to toggle draft: ${e.status}`)}return e.json()}async function OY(){const n=await fetch(`${Xn}/api/assets`);if(!n.ok)throw new Error(`Failed to load assets: ${n.status}`);return(await n.json()).images}async function vY(n){const e=new FormData;e.append("file",n);const t=await fetch(`${Xn}/api/assets/upload`,{method:"POST",body:e});if(!t.ok){const r=await t.json().catch(()=>({}));throw new Error(r.error??`Upload failed: ${t.status}`)}return t.json()}async function bY(){const n=await fetch(`${Xn}/api/runes`);if(!n.ok)throw new Error(`Failed to load runes: ${n.status}`);return(await n.json()).runes}async function yY(){const n=await fetch(`${Xn}/api/aggregated`);return n.ok?n.json():{}}function wY(n){const e=new EventSource(`${Xn}/api/events`);return e.addEventListener("file-changed",t=>n("file-changed",JSON.parse(t.data))),e.addEventListener("file-created",t=>n("file-created",JSON.parse(t.data))),e.addEventListener("file-deleted",t=>n("file-deleted",JSON.parse(t.data))),()=>e.close()}var _Y=V('<div class="image-edit-modal__empty svelte-1yd8alm">Loading images...</div>'),kY=V('<div class="image-edit-modal__empty svelte-1yd8alm">No images found. Upload one to get started.</div>'),xY=V('<div class="image-edit-modal__empty svelte-1yd8alm"> </div>'),SY=V('<button><img loading="lazy" class="svelte-1yd8alm"/></button>'),AY=V('<div class="image-edit-modal__grid svelte-1yd8alm"></div>'),CY=V('<div class="image-edit-backdrop svelte-1yd8alm" role="dialog" aria-modal="true" aria-label="Select image"><div><div class="image-edit-modal__header svelte-1yd8alm"><span class="image-edit-modal__label svelte-1yd8alm">image</span> <button class="image-edit-modal__close svelte-1yd8alm" aria-label="Close">×</button></div> <div class="image-edit-modal__search svelte-1yd8alm"><input class="image-edit-modal__search-input svelte-1yd8alm" type="text" placeholder="Search images..."/></div> <div class="image-edit-modal__grid-area svelte-1yd8alm"><!></div> <div class="image-edit-modal__upload-bar svelte-1yd8alm"><button class="image-edit-modal__upload-btn svelte-1yd8alm"> </button> <span class="image-edit-modal__upload-hint svelte-1yd8alm">or drag & drop</span> <input type="file" accept="image/*" style="display: none"/></div> <div class="image-edit-modal__footer svelte-1yd8alm"><div class="image-edit-modal__row svelte-1yd8alm"><label class="image-edit-modal__field-label svelte-1yd8alm" for="image-alt">Alt</label> <input id="image-alt" class="image-edit-modal__input svelte-1yd8alm" type="text" placeholder="Describe this image..."/></div> <div class="image-edit-modal__actions svelte-1yd8alm"><button class="image-edit-modal__btn image-edit-modal__btn--apply svelte-1yd8alm">Apply</button> <button class="image-edit-modal__btn image-edit-modal__btn--remove svelte-1yd8alm">Remove</button></div></div></div></div>');function TY(n,e){Ot(e,!0);let t,r,i,s=J(rn([])),o=J(!0),a=J(!1),l=J(""),c=J(rn(e.currentSrc)),u=J(rn(e.currentAlt)),f=J(!1);const d=me(()=>g(l)?g(s).filter(ge=>ge.name.toLowerCase().includes(g(l).toLowerCase())):g(s));ro(()=>{h();function ge(Ee){Ee.key==="Escape"&&e.onclose()}return document.addEventListener("keydown",ge),()=>document.removeEventListener("keydown",ge)});async function h(){M(o,!0);try{M(s,await OY(),!0)}catch{M(s,[],!0)}M(o,!1)}function m(ge){ge.target===ge.currentTarget&&e.onclose()}function p(ge){if(M(c,ge.path,!0),!g(u)){const Ee=ge.name.replace(/\.[^.]+$/,"").replace(/[-_]/g," ");M(u,Ee,!0)}}function O(){g(c)&&e.onchange(g(c),g(u))}function v(){r?.click()}async function b(ge){const Ee=ge.target,Ke=Ee.files?.[0];Ke&&(await _(Ke),Ee.value="")}async function _(ge){if(ge.type.startsWith("image/")){M(a,!0);try{const Ee=await vY(ge);if(await h(),M(c,Ee.path,!0),!g(u)){const Ke=Ee.name.replace(/\.[^.]+$/,"").replace(/[-_]/g," ");M(u,Ke,!0)}}catch(Ee){console.error("Upload failed:",Ee)}M(a,!1)}}function A(ge){ge.preventDefault(),M(f,!0)}function w(){M(f,!1)}async function y(ge){ge.preventDefault(),M(f,!1);const Ee=ge.dataTransfer?.files[0];Ee&&await _(Ee)}function S(ge){ge.key==="Enter"&&(ge.preventDefault(),O())}var C=CY();C.__click=m,C.__keydown=()=>{};var k=D(C);let x;var E=D(k),T=R(D(E),2);T.__click=function(...ge){e.onclose?.apply(this,ge)};var $=R(E,2),Q=D($),P=R($,2),q=D(P);{var I=ge=>{var Ee=_Y();z(ge,Ee)},W=ge=>{var Ee=kY();z(ge,Ee)},U=ge=>{var Ee=xY(),Ke=D(Ee);fe(()=>Le(Ke,`No images match "${g(l)??""}"`)),z(ge,Ee)},K=ge=>{var Ee=AY();Lt(Ee,21,()=>g(d),Ke=>Ke.path,(Ke,tt)=>{var Ve=SY();let Ge;Ve.__click=()=>p(g(tt));var Re=D(Ve);fe(()=>{Ge=We(Ve,1,"image-edit-modal__thumb svelte-1yd8alm",null,Ge,{selected:g(c)===g(tt).path}),$t(Ve,"title",g(tt).name),$t(Re,"src",g(tt).path),$t(Re,"alt",g(tt).name)}),z(Ke,Ve)}),z(ge,Ee)};ue(q,ge=>{g(o)?ge(I):g(d).length===0&&!g(l)?ge(W,1):g(d).length===0?ge(U,2):ge(K,!1)})}var ae=R(P,2),re=D(ae);re.__click=v;var H=D(re),ie=R(re,4);ie.__change=b,gn(ie,ge=>r=ge,()=>r);var se=R(ae,2),j=D(se),ne=R(D(j),2);ne.__keydown=S,gn(ne,ge=>i=ge,()=>i);var Te=R(j,2),Qe=D(Te);Qe.__click=O;var De=R(Qe,2);De.__click=function(...ge){e.onremove?.apply(this,ge)},gn(k,ge=>t=ge,()=>t),fe(()=>{x=We(k,1,"image-edit-modal svelte-1yd8alm",null,x,{"drag-over":g(f)}),re.disabled=g(a),Le(H,g(a)?"Uploading...":"Upload image"),Qe.disabled=!g(c)}),ct("dragover",k,A),ct("dragleave",k,w),ct("drop",k,y),Nn(Q,()=>g(l),ge=>M(l,ge)),Nn(ne,()=>g(u),ge=>M(u,ge)),z(n,C),vt()}Kt(["click","keydown","change"]);var PY=V('<div class="icon-picker-modal__empty svelte-1rc2pkk">No icons available.</div>'),EY=V('<div class="icon-picker-modal__empty svelte-1rc2pkk"> </div>'),$Y=V('<button><span class="icon-picker-modal__icon-svg svelte-1rc2pkk"><!></span> <span class="icon-picker-modal__icon-name svelte-1rc2pkk"> </span></button>'),QY=V('<div class="icon-picker-modal__group svelte-1rc2pkk"><div class="icon-picker-modal__group-label svelte-1rc2pkk"> </div> <div class="icon-picker-modal__grid svelte-1rc2pkk"></div></div>'),LY=V('<div class="icon-picker-backdrop svelte-1rc2pkk" role="dialog" aria-modal="true" aria-label="Select icon"><div class="icon-picker-modal svelte-1rc2pkk"><div class="icon-picker-modal__header svelte-1rc2pkk"><span class="icon-picker-modal__label svelte-1rc2pkk">icon</span> <button class="icon-picker-modal__close svelte-1rc2pkk" aria-label="Close">×</button></div> <div class="icon-picker-modal__search svelte-1rc2pkk"><input class="icon-picker-modal__search-input svelte-1rc2pkk" type="text" placeholder="Search icons..."/></div> <div class="icon-picker-modal__grid-area svelte-1rc2pkk"><!></div> <div class="icon-picker-modal__footer svelte-1rc2pkk"><button class="icon-picker-modal__btn icon-picker-modal__btn--apply svelte-1rc2pkk">Apply</button> <button class="icon-picker-modal__btn icon-picker-modal__btn--cancel svelte-1rc2pkk">Cancel</button></div></div></div>');function MY(n,e){Ot(e,!0);let t,r=J(rn(e.currentIcon)),i=J("");const s=me(()=>{const k=[];for(const[x,E]of Object.entries(e.icons))for(const[T,$]of Object.entries(E)){const Q=x==="global"?T:`${x}/${T}`;k.push({name:T,qualifiedName:Q,group:x,svg:$})}return k}),o=me(()=>g(i)?g(s).filter(k=>k.name.toLowerCase().includes(g(i).toLowerCase())||k.qualifiedName.toLowerCase().includes(g(i).toLowerCase())):g(s)),a=me(()=>{const k=new Map;for(const x of g(o)){const E=k.get(x.group)??[];E.push(x),k.set(x.group,E)}return k});ro(()=>{t?.focus();function k(x){x.key==="Escape"&&e.onclose()}return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)});function l(k){k.target===k.currentTarget&&e.onclose()}function c(k){M(r,k.qualifiedName,!0)}function u(){g(r)&&e.onchange(g(r))}var f=LY();f.__click=l,f.__keydown=()=>{};var d=D(f),h=D(d),m=R(D(h),2);m.__click=function(...k){e.onclose?.apply(this,k)};var p=R(h,2),O=D(p);gn(O,k=>t=k,()=>t);var v=R(p,2),b=D(v);{var _=k=>{var x=PY();z(k,x)},A=k=>{var x=EY(),E=D(x);fe(()=>Le(E,`No icons match "${g(i)??""}"`)),z(k,x)},w=k=>{var x=mn(),E=st(x);Lt(E,17,()=>[...g(a)],([T,$])=>T,(T,$)=>{var Q=me(()=>jc(g($),2));let P=()=>g(Q)[0],q=()=>g(Q)[1];var I=QY(),W=D(I),U=D(W),K=R(W,2);Lt(K,21,q,ae=>ae.qualifiedName,(ae,re)=>{var H=$Y();let ie;H.__click=()=>c(g(re));var se=D(H),j=D(se);k_(j,()=>g(re).svg);var ne=R(se,2),Te=D(ne);fe(()=>{ie=We(H,1,"icon-picker-modal__icon svelte-1rc2pkk",null,ie,{selected:g(r)===g(re).qualifiedName}),$t(H,"title",g(re).qualifiedName),Le(Te,g(re).name)}),z(ae,H)}),fe(()=>Le(U,P())),z(T,I)}),z(k,x)};ue(b,k=>{g(s).length===0?k(_):g(o).length===0?k(A,1):k(w,!1)})}var y=R(v,2),S=D(y);S.__click=u;var C=R(S,2);C.__click=function(...k){e.onclose?.apply(this,k)},fe(()=>S.disabled=!g(r)),Nn(O,()=>g(i),k=>M(i,k)),z(n,f),vt()}Kt(["click","keydown"]);var qY=V('<div class="block-editor__empty svelte-10brcoc"><svg class="block-editor__empty-icon svelte-10brcoc" width="40" height="40" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="8" width="36" height="32" rx="3"></rect><line x1="14" y1="18" x2="34" y2="18"></line><line x1="14" y1="24" x2="28" y2="24"></line><line x1="14" y1="30" x2="22" y2="30"></line></svg> <span class="block-editor__empty-text svelte-10brcoc">No content blocks yet</span> <span class="block-editor__empty-hint svelte-10brcoc">Use the + button to add your first block</span></div>'),DY=V('<span class="block-editor__fm-desc svelte-10brcoc"> </span>'),RY=V('<div class="block-editor__fm-header svelte-10brcoc"><div class="block-editor__fm-info svelte-10brcoc"><span class="block-editor__fm-title svelte-10brcoc"> </span> <!></div> <button title="Edit frontmatter"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11.5 1.5l3 3L5 14H2v-3L11.5 1.5z"></path></svg> Edit</button></div>'),IY=V('<button class="block-editor__insert-marker block-editor__insert-marker--top svelte-10brcoc" title="Insert block above"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><line x1="5" y1="2" x2="5" y2="8"></line><line x1="2" y1="5" x2="8" y2="5"></line></svg></button> <button class="block-editor__insert-marker block-editor__insert-marker--bottom svelte-10brcoc" title="Insert block below"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><line x1="5" y1="2" x2="5" y2="8"></line><line x1="2" y1="5" x2="8" y2="5"></line></svg></button>',1),NY=V('<button class="block-editor__hover-label svelte-10brcoc"> </button>'),BY=V('<div><div class="block-editor__block-cell svelte-10brcoc"><!></div> <!> <!></div>'),jY=V('<div class="block-editor__popover-backdrop svelte-10brcoc"></div> <div class="block-editor__popover svelte-10brcoc"><!></div>',1),zY=V('<div class="block-editor svelte-10brcoc"><!> <div class="block-editor__stage svelte-10brcoc"><div class="block-editor__scroll svelte-10brcoc"><div class="block-editor__list-wrap svelte-10brcoc"><!> <!></div></div></div> <!> <!> <!> <!> <!> <!> <!> <!></div>');function ZY(n,e){Ot(e,!0);let t=Et(e,"highlightCss",3,""),r=Et(e,"highlightTransform",3,null),i=Et(e,"showInsertMenu",3,!0),s=Et(e,"frontmatter",19,()=>({})),o=Et(e,"readOnly",3,!1),a=Et(e,"communityTags",3,null),l=Et(e,"communityPostTransforms",3,null),c=Et(e,"communityStyles",3,null),u=Et(e,"aggregated",19,()=>({})),f=J(rn([])),d=me(()=>AN(e.runes)),h="";function m(G,te){if(G.length===0)return;const de=new Set(G.map(nt=>nt.id)),_e=new Set(te.map(nt=>nt.id)),qe=G.filter(nt=>!_e.has(nt.id)),rt=te.filter(nt=>!de.has(nt.id));if(qe.length===0||rt.length===0)return;const et=[...qe];for(const nt of rt){let lt=-1,jt=1/0;for(let ht=0;ht<et.length;ht++){const Dn=et[ht],vn=Dn.type===nt.type?0:1e3,mt=Math.abs(Dn.startLine-nt.startLine)+vn;mt<jt&&(jt=mt,lt=ht)}lt>=0&&(nt.id=et[lt].id,et.splice(lt,1))}}yn(()=>{const G=e.bodyContent;if(G!==h){const te=DA(G);m(g(f),te),M(f,te,!0),h=G,M(x,null),M(S,!1),M(T,null),M(Re,null),M(A,null)}});function p(){const G=ng(g(f));h=G,e.onchange(G)}let O=me(()=>U1(g(f)));function v(G){const te=g(O)[G];if(!te)return[0,0];if(te.type==="prose"){const _e=te.children[0],qe=te.children[te.children.length-1],rt=g(f).indexOf(_e),et=g(f).indexOf(qe);return[rt,et]}const de=g(f).indexOf(te);return[de,de]}function b(G,te){const[de,_e]=v(G),qe=g(f).slice(de,_e+1);m(qe,te.children),M(f,[...g(f).slice(0,de),...te.children,...g(f).slice(_e+1)],!0),p()}function _(G,te){const de=g(O)[G];if(!de||de.type!=="prose")return;const _e=de.children[te.childIndex];if(!_e)return;const[qe]=v(G),rt=qe+te.childIndex;if(_e.type==="fence"){const ht=_e,Dn=ht.code,vn=ht.language,mt=_e.source.split(`
|
|
601
601
|
`)[0],Wn=mt.match(/^(`{3,}|~{3,})/),Hr=Wn?Wn[1]:"```";M(Ae,{blockIndex:rt,rect:te.rect,mapping:{source:_e.source,code:Dn,language:vn,opener:mt,delimiter:Hr}},!0);return}const et=_e.source.trim();let nt="",lt=et;if(_e.type==="heading"){const ht=et.match(/^(#{1,6}\s+)(.*)/);ht&&(nt=ht[1],lt=ht[2])}else if(_e.type==="quote"){const ht=et.match(/^(>\s*)(.*)/);ht&&(nt=ht[1],lt=ht[2])}const jt={dataName:_e.type,text:Si(lt),source:et,sourcePrefix:nt,inlineSource:lt};M(A,{editorIndex:G,childIndex:te.childIndex,flatIndex:rt,inlineSource:lt,rect:te.rect,mapping:jt},!0)}let A=J(null);function w(G){if(!g(A))return;const te=g(f)[g(A).flatIndex];if(!te)return;const de=g(A).mapping.sourcePrefix+G;let _e;te.type==="heading"?(_e={...te,text:G,source:""},_e.source=rg(_e)):_e={...te,source:de},M(A,{...g(A),inlineSource:G,mapping:{...g(A).mapping,text:Si(G),source:de,inlineSource:G}},!0),se(g(A).flatIndex,_e)}function y(){M(A,null)}let S=J(!1),C=me(()=>s().title||""),k=me(()=>()=>{const G=s().description||"";return G.length>80?G.slice(0,80)+"...":G}),x=J(null),E=J(null),T=J(null),$=J(null),Q=J(0);const P=420,q=12;function I(G){if(!G.target.closest(".edit-panel__header")||G.target.closest("button"))return;G.preventDefault();const de=G.currentTarget,_e=de.getBoundingClientRect(),qe=G.clientX,rt=G.clientY,et=_e.left,nt=_e.top;function lt(ht){de.style.left=`${et+(ht.clientX-qe)}px`,de.style.top=`${nt+(ht.clientY-rt)}px`}function jt(){window.removeEventListener("mousemove",lt),window.removeEventListener("mouseup",jt)}window.addEventListener("mousemove",lt),window.addEventListener("mouseup",jt)}let W=me(()=>{if(!g(T))return"";const G=window.innerWidth,te=window.innerHeight;let de=g(T).x+q;de+P>G-16&&(de=g(T).x-P-q),de<16&&(de=G-P-16);let _e=g(T).y;const qe=te-120,rt=te-Math.min(600,qe)-16;return _e>rt&&(_e=rt),_e<60&&(_e=60),`left: ${de}px; top: ${_e}px; max-height: min(600px, ${qe}px);`});function U(G,te,de){M(S,!1),g(O)[G]&&(g(x)===G?(M(x,null),M(T,null),M($,null)):(hh(Q),M(x,G,!0),M(T,{x:te,y:de},!0),M($,null)))}function K(G,te,de,_e){M(S,!1),hh(Q),M(x,G,!0),M(T,{x:te,y:de},!0),M($,_e??null,!0)}function ae(G){M(x,null),g(S)?(M(S,!1),M(T,null)):(M(S,!0),M(T,{x:G.clientX,y:G.clientY},!0))}function re(G){if(!o()&&G.key==="Escape"){if(g(A)){y();return}(g(x)!==null||g(S))&&(M(x,null),M(S,!1),M(T,null),M($,null))}}function H(){(g(x)!==null||g(S))&&(M(x,null),M(S,!1),M(T,null),M($,null))}function ie(){g(T)&&M(T,{...g(T)},!0)}function se(G,te){M(f,g(f).map((de,_e)=>_e===G?te:de),!0),p()}function j(G){const[te,de]=v(G);g(x)!==null&&(g(x)===G?M(x,null):g(x)>G&&hh(x,-1)),M(f,[...g(f).slice(0,te),...g(f).slice(de+1)],!0),p()}let ne=J(null),Te=J(null);function Qe(G,te){M(ne,te,!0),M(x,null),M(S,!1),M(T,null),G.dataTransfer&&(G.dataTransfer.effectAllowed="move",G.dataTransfer.setData("text/plain",String(te)))}function De(G,te){G.preventDefault(),G.dataTransfer&&(G.dataTransfer.dropEffect="move"),M(Te,te,!0)}function ge(G,te){if(G.preventDefault(),g(ne)!==null&&g(ne)!==te){const[de,_e]=v(g(ne)),qe=g(f).slice(de,_e+1),rt=[...g(f).slice(0,de),...g(f).slice(_e+1)];let et;if(te>=g(O).length)et=rt.length;else{const[nt]=v(te);et=nt>_e?nt-qe.length:nt}if(rt.splice(et,0,...qe),M(f,rt,!0),g(x)!==null)if(g(x)===g(ne))M(x,te>g(ne)?te-1:te,!0);else{let nt=g(x);g(ne)<g(x)&&te>=g(x)?nt--:g(ne)>g(x)&&te<=g(x)&&nt++,M(x,nt,!0)}p()}M(ne,null),M(Te,null)}let Ee=J(!1),Ke=J(null);function tt(G){M(Ke,G,!0),M(Ee,!0)}function Ve(){M(Ee,!1),M(Ke,null)}function Ge(G,te){let de;const _e=`blk_new_${Date.now()}`;switch(G){case"heading":de={id:_e,type:"heading",source:"## New heading",startLine:0,endLine:0,level:2,text:"New heading"};break;case"paragraph":de={id:_e,type:"paragraph",source:"New paragraph text.",startLine:0,endLine:0};break;case"fence":de={id:_e,type:"fence",source:"```\n\n```",startLine:0,endLine:0,language:"",code:""};break;case"hr":de={id:_e,type:"hr",source:"---",startLine:0,endLine:0};break;case"rune":{const et=te??"hint",nt=g(d).get(et),lt=nt?.selfClosing??!1,jt={};if(nt)for(const[vn,mt]of Object.entries(nt.attributes))mt.required&&(jt[vn]=mt.values?.[0]??"");const ht=Object.entries(jt).map(([vn,mt])=>`${vn}="${mt}"`).join(" "),Dn=ht?" "+ht:"";if(lt)de={id:_e,type:"rune",source:`{% ${et}${Dn} /%}`,startLine:0,endLine:0,runeName:et,selfClosing:!0,attributes:jt,innerContent:""};else{const vn=nt?.example?CN(nt.example,et):"";de={id:_e,type:"rune",source:`{% ${et}${Dn} %}
|
|
602
602
|
${vn}
|
|
603
603
|
{% /${et} %}`,startLine:0,endLine:0,runeName:et,selfClosing:!1,attributes:jt,innerContent:vn}}break}}const qe=g(Ke)??g(O).length;let rt;if(qe>=g(O).length)rt=g(f).length;else{const[et]=v(qe);rt=et}if(M(f,[...g(f).slice(0,rt),de,...g(f).slice(rt)],!0),M(Ke,null),M(Ee,!1),M(S,!1),G==="rune"){const et=U1(g(f));M(x,et.findIndex(nt=>nt.type==="rune"&&nt===g(f)[rt]),!0),g(x)===-1&&M(x,null)}else M(x,null);p()}let Re=J(null);function At(G,te){const de=g(O)[G];if(!de||de.type!=="rune")return;const[_e]=v(G),qe=g(f)[_e];if(qe.type!=="rune")return;const rt=qe,et=_e;if(te.editType==="link"){const lt=yj(rt.innerContent,te.text,te.href??"");if(!lt)return;M(ft,{blockIndex:et,rect:te.rect,mapping:lt},!0);return}if(te.editType==="code"){const lt=_j(rt.innerContent,te.text);if(!lt)return;M(Ae,{blockIndex:et,rect:te.rect,mapping:lt},!0);return}if(te.editType==="image"){const lt=te.href??"",jt=Sj(rt.innerContent,lt);if(!jt)return;M(le,{blockIndex:et,mapping:jt},!0);return}if(te.editType==="icon"){const lt=te.iconName??"",jt=Cj(rt.innerContent,lt);if(!jt)return;M(Se,{blockIndex:et,mapping:jt},!0);return}const nt=hC(rt.innerContent,te.dataName,te.text);nt&&M(Re,{blockIndex:et,dataName:te.dataName,inlineSource:nt.inlineSource,rect:te.rect,mapping:nt},!0)}function Jt(G){if(!g(Re))return;const te=g(f)[g(Re).blockIndex];if(te.type!=="rune")return;const de=te,_e=bj(de.innerContent,g(Re).mapping,G),qe={...de,innerContent:_e,source:""};qe.source=sr(qe),M(Re,{...g(Re),inlineSource:G,mapping:{...g(Re).mapping,text:Si(G),source:g(Re).mapping.sourcePrefix+G,inlineSource:G}},!0),se(g(Re).blockIndex,qe)}function En(){M(Re,null)}let ft=J(null);function on(G,te){if(!g(ft))return;const de=g(f)[g(ft).blockIndex];if(de.type!=="rune")return;const _e=de,qe=wj(_e.innerContent,g(ft).mapping,G,te),rt={..._e,innerContent:qe,source:""};rt.source=sr(rt),se(g(ft).blockIndex,rt)}function an(){if(!g(ft))return;const G=g(ft).blockIndex,te=g(f)[G];if(te.type!=="rune")return;const de=te,_e=de.innerContent.replace(g(ft).mapping.source+`
|
|
@@ -607,13 +607,13 @@ ${vn}
|
|
|
607
607
|
`+g(Ae).mapping.delimiter;M(Ae,{...g(Ae),mapping:{...g(Ae).mapping,language:G,opener:mt,source:Wn}},!0),se(g(Ae).blockIndex,ht);return}if(te.type!=="rune")return;const de=te,_e=xj(de.innerContent,g(Ae).mapping,G),qe={...de,innerContent:_e,source:""};qe.source=sr(qe);const et=g(Ae).mapping.opener.slice(g(Ae).mapping.delimiter.length).replace(/^\w*/,"").trim(),nt=g(Ae).mapping.delimiter+G+(et?" "+et:""),lt=nt+`
|
|
608
608
|
`+g(Ae).mapping.code+`
|
|
609
609
|
`+g(Ae).mapping.delimiter;M(Ae,{...g(Ae),mapping:{...g(Ae).mapping,language:G,opener:nt,source:lt}},!0),se(g(Ae).blockIndex,qe)}let le=J(null);function ve(G,te){if(!g(le))return;const de=g(f)[g(le).blockIndex];if(de.type!=="rune")return;const _e=de,qe=Aj(_e.innerContent,g(le).mapping,te,G),rt={..._e,innerContent:qe,source:""};rt.source=sr(rt),se(g(le).blockIndex,rt)}function ye(){if(!g(le))return;const G=g(le).blockIndex,te=g(f)[G];if(te.type!=="rune")return;const de=te,_e=de.innerContent.replace(g(le).mapping.source+`
|
|
610
|
-
`,"").replace(g(le).mapping.source,""),qe={...de,innerContent:_e,source:""};qe.source=sr(qe),M(le,null),se(G,qe)}function Ce(){M(le,null)}let Se=J(null);function yt(G){if(!g(Se))return;const te=g(f)[g(Se).blockIndex];if(te.type!=="rune")return;const de=te,_e=Tj(de.innerContent,g(Se).mapping,G),qe={...de,innerContent:_e,source:""};qe.source=sr(qe),se(g(Se).blockIndex,qe)}function dt(){M(Se,null)}function Je(G,te,de,_e){if(g(x)===null)return;const[qe]=v(g(x));M(Ae,null),M(Re,{blockIndex:qe,dataName:G,inlineSource:te,rect:de,mapping:_e},!0)}function Ct(G,te,de,_e){if(g(x)===null)return;const[qe]=v(g(x));M(Re,null),M(Ae,{blockIndex:qe,rect:de,mapping:_e},!0)}let wt=me(()=>{const G=new Map;for(const te of e.runes){const de=G.get(te.category)??[];de.push(te),G.set(te.category,de)}return G});var at=
|
|
610
|
+
`,"").replace(g(le).mapping.source,""),qe={...de,innerContent:_e,source:""};qe.source=sr(qe),M(le,null),se(G,qe)}function Ce(){M(le,null)}let Se=J(null);function yt(G){if(!g(Se))return;const te=g(f)[g(Se).blockIndex];if(te.type!=="rune")return;const de=te,_e=Tj(de.innerContent,g(Se).mapping,G),qe={...de,innerContent:_e,source:""};qe.source=sr(qe),se(g(Se).blockIndex,qe)}function dt(){M(Se,null)}function Je(G,te,de,_e){if(g(x)===null)return;const[qe]=v(g(x));M(Ae,null),M(Re,{blockIndex:qe,dataName:G,inlineSource:te,rect:de,mapping:_e},!0)}function Ct(G,te,de,_e){if(g(x)===null)return;const[qe]=v(g(x));M(Re,null),M(Ae,{blockIndex:qe,rect:de,mapping:_e},!0)}let wt=me(()=>{const G=new Map;for(const te of e.runes){const de=G.get(te.category)??[];de.push(te),G.set(te.category,de)}return G});var at=zY();ct("keydown",No,re),ct("resize",No,ie);var Tt=D(at);{var Tn=G=>{var te=qY();z(G,te)};ue(Tt,G=>{g(f).length===0&&!o()&&G(Tn)})}var Zt=R(Tt,2),tn=D(Zt),_t=D(tn),Ft=D(_t);{var qn=G=>{var te=RY(),de=D(te),_e=D(de),qe=D(_e),rt=R(_e,2);{var et=ht=>{var Dn=DY(),vn=D(Dn);fe(mt=>Le(vn,mt),[()=>g(k)()]),z(ht,Dn)},nt=me(()=>g(k)());ue(rt,ht=>{g(nt)&&ht(et)})}var lt=R(de,2);let jt;lt.__click=ht=>ae(ht),fe(()=>{Le(qe,g(C)||"Untitled"),jt=We(lt,1,"block-editor__fm-edit svelte-10brcoc",null,jt,{active:g(S)})}),z(G,te)};ue(Ft,G=>{o()||G(qn)})}var jn=R(Ft,2);Lt(jn,19,()=>g(O),G=>G.id,(G,te,de)=>{var _e=BY();let qe;var rt=D(_e),et=D(rt);{var nt=mt=>{{let Wn=me(()=>o()?void 0:pn=>_(g(de),pn)),Hr=me(()=>o()?void 0:pn=>U(g(de),pn.x,pn.y)),qr=me(()=>o()?void 0:pn=>Qe(pn,g(de))),Jo=me(()=>o()?void 0:pn=>De(pn,g(de))),ea=me(()=>o()?void 0:pn=>ge(pn,g(de)));uV(mt,{get block(){return g(te)},get themeConfig(){return e.themeConfig},get themeCss(){return e.themeCss},get highlightCss(){return t()},get highlightTransform(){return r()},get communityTags(){return a()},get communityPostTransforms(){return l()},get communityStyles(){return c()},get aggregated(){return u()},get readOnly(){return o()},get onsectionclick(){return g(Wn)},get onblockclick(){return g(Hr)},get ondragstart(){return g(qr)},get ondragover(){return g(Jo)},get ondrop(){return g(ea)}})}},lt=mt=>{{let Wn=me(()=>o()?void 0:pn=>At(g(de),pn)),Hr=me(()=>o()?void 0:pn=>K(g(de),pn.x,pn.y,pn.nestedRuneIndex)),qr=me(()=>o()?void 0:pn=>Qe(pn,g(de))),Jo=me(()=>o()?void 0:pn=>De(pn,g(de))),ea=me(()=>o()?void 0:pn=>ge(pn,g(de)));oV(mt,{get block(){return g(te)},get themeConfig(){return e.themeConfig},get themeCss(){return e.themeCss},get highlightCss(){return t()},get highlightTransform(){return r()},get communityTags(){return a()},get communityPostTransforms(){return l()},get communityStyles(){return c()},get aggregated(){return u()},get readOnly(){return o()},get onsectionclick(){return g(Wn)},get onruneclick(){return g(Hr)},get ondragstart(){return g(qr)},get ondragover(){return g(Jo)},get ondrop(){return g(ea)}})}};ue(et,mt=>{g(te).type==="prose"?mt(nt):mt(lt,!1)})}var jt=R(rt,2);{var ht=mt=>{var Wn=IY(),Hr=st(Wn);Hr.__click=()=>tt(g(de));var qr=R(Hr,2);qr.__click=()=>tt(g(de)+1),z(mt,Wn)};ue(jt,mt=>{!o()&&i()&&mt(ht)})}var Dn=R(jt,2);{var vn=mt=>{var Wn=NY();Wn.__click=qr=>U(g(de),qr.clientX,qr.clientY);var Hr=D(Wn);fe(qr=>{$t(Wn,"aria-pressed",g(x)===g(de)),Le(Hr,qr)},[()=>kv(g(te))]),z(mt,Wn)};ue(Dn,mt=>{o()||mt(vn)})}fe(()=>qe=We(_e,1,"block-editor__row svelte-10brcoc",null,qe,{hovered:!o()&&g(E)===g(de),active:!o()&&g(x)===g(de),"drag-source":!o()&&g(ne)===g(de),"drag-over":!o()&&g(Te)===g(de)&&g(ne)!==g(de)})),ct("mouseenter",_e,()=>{o()||M(E,g(de),!0)}),ct("mouseleave",_e,()=>{!o()&&g(E)===g(de)&&M(E,null)}),z(G,_e)});var Oe=R(Zt,2);{var xe=G=>{var te=jY(),de=st(te);de.__mousedown=()=>{M(x,null),M(S,!1),M(T,null),M($,null)};var _e=R(de,2);_e.__mousedown=I;var qe=D(_e);{var rt=lt=>{BW(lt,{onclose:()=>{M(S,!1),M(T,null)}})},et=lt=>{const jt=me(()=>g(f)[v(g(x))[0]]);var ht=mn(),Dn=st(ht);pb(Dn,()=>g(Q),vn=>{$W(vn,{get block(){return g(jt)},get runeMap(){return g(d)},runes:()=>e.runes,get aggregated(){return u()},get initialRuneIndex(){return g($)},onupdate:mt=>se(v(g(x))[0],mt),onremove:()=>{const mt=g(x);M(x,null),M(T,null),M($,null),j(mt)},onclose:()=>{M(x,null),M(T,null),M($,null)},oneditfield:Je,oneditcode:Ct})}),z(lt,ht)},nt=lt=>{const jt=me(()=>g(O)[g(x)]);var ht=mn(),Dn=st(ht);pb(Dn,()=>g(Q),vn=>{DW(vn,{get block(){return g(jt)},runes:()=>e.runes,get aggregated(){return u()},onupdate:mt=>b(g(x),mt),onremove:()=>{const mt=g(x);M(x,null),M(T,null),j(mt)},onclose:()=>{M(x,null),M(T,null)}})}),z(lt,ht)};ue(qe,lt=>{g(S)?lt(rt):g(x)!==null&&g(O)[g(x)]?.type==="rune"?lt(et,1):g(x)!==null&&g(O)[g(x)]?.type==="prose"&<(nt,2)})}fe(()=>$r(_e,g(W))),z(G,te)};ue(Oe,G=>{!o()&&(g(x)!==null||g(S))&&G(xe)})}var $e=R(Oe,2);{var Z=G=>{KW(G,{get runes(){return e.runes},get runesByCategory(){return g(wt)},oninsert:Ge,onclose:Ve})};ue($e,G=>{g(Ee)&&G(Z)})}var we=R($e,2);{var xt=G=>{Ew(G,{get anchorRect(){return g(Re).rect},get dataName(){return g(Re).dataName},get inlineSource(){return g(Re).inlineSource},onchange:Jt,onclose:En})};ue(we,G=>{g(Re)&&G(xt)})}var qt=R(we,2);{var je=G=>{nY(G,{get anchorRect(){return g(ft).rect},get text(){return g(ft).mapping.text},get href(){return g(ft).mapping.href},onchange:on,onremove:an,onclose:Vn})};ue(qt,G=>{g(ft)&&G(je)})}var zn=R(qt,2);{var rr=G=>{sY(G,{get anchorRect(){return g(Ae).rect},get code(){return g(Ae).mapping.code},get language(){return g(Ae).mapping.language},onchange:$n,onlanguagechange:un,onremove:Mt,onclose:bt})};ue(zn,G=>{g(Ae)&&G(rr)})}var pt=R(zn,2);{var On=G=>{TY(G,{get currentSrc(){return g(le).mapping.src},get currentAlt(){return g(le).mapping.alt},onchange:(te,de)=>{ve(te,de),Ce()},onremove:ye,onclose:Ce})};ue(pt,G=>{g(le)&&G(On)})}var hn=R(pt,2);{var Gr=G=>{{let te=me(()=>e.themeConfig?.icons??{});MY(G,{get icons(){return g(te)},get currentIcon(){return g(Se).mapping.name},onchange:de=>{yt(de),dt()},onclose:dt})}};ue(hn,G=>{g(Se)&&G(Gr)})}var Mr=R(hn,2);{var vr=G=>{Ew(G,{get anchorRect(){return g(A).rect},get dataName(){return g(A).mapping.dataName},get inlineSource(){return g(A).inlineSource},onchange:w,onclose:y})};ue(Mr,G=>{g(A)&&G(vr)})}ct("scroll",_t,H),z(n,at),vt()}Kt(["click","mousedown"]);const Lw=/\{%\s*region\s+([^%]*?)%\}([\s\S]*?)\{%\s*\/region\s*%\}/g,Mw=/(\w+)="([^"]*)"/g;function FY(n){const e=[];let t;for(Lw.lastIndex=0;(t=Lw.exec(n))!==null;){const r=t[1],i=t[2],s={};let o;for(Mw.lastIndex=0;(o=Mw.exec(r))!==null;)s[o[1]]=o[2];const a=s.name||"",l=s.mode||"replace";let c=i;c.startsWith(`
|
|
611
611
|
`)&&(c=c.slice(1)),c.endsWith(`
|
|
612
|
-
`)&&(c=c.slice(0,-1)),e.push({name:a,mode:l,content:c})}return{regions:e}}function
|
|
613
|
-
`)}const Hv=/\{%\s*nav\s*%\}/,wT=/\{%\s*\/nav\s*%\}/;function
|
|
612
|
+
`)&&(c=c.slice(0,-1)),e.push({name:a,mode:l,content:c})}return{regions:e}}function XY(n){const e=["{% layout %}"];for(const t of n.regions){const r=t.mode!=="replace"?` mode="${t.mode}"`:"";e.push(`{% region name="${t.name}"${r} %}`),e.push(t.content),e.push("{% /region %}"),e.push("")}return e.push("{% /layout %}"),e.join(`
|
|
613
|
+
`)}const Hv=/\{%\s*nav\s*%\}/,wT=/\{%\s*\/nav\s*%\}/;function VY(n){return Hv.test(n)}function WY(n){const e=Hv.exec(n);if(!e)return null;const t=e.index+e[0].length,r=wT.exec(n.slice(t));if(!r)return null;let i=n.slice(t,t+r.index);return i.startsWith(`
|
|
614
614
|
`)&&(i=i.slice(1)),i.endsWith(`
|
|
615
|
-
`)&&(i=i.slice(0,-1)),i}function
|
|
615
|
+
`)&&(i=i.slice(0,-1)),i}function YY(n,e){const t=Hv.exec(n);if(!t)return n;const r=t.index+t[0].length,i=wT.exec(n.slice(r));if(!i)return n;const s=n.slice(0,r),o=n.slice(r+i.index);return`${s}
|
|
616
616
|
${e}
|
|
617
|
-
${o}`}function
|
|
618
|
-
`),t=[],r=[];let i=null;for(const s of e){const o=s.trim(),a=o.match(/^##\s+(.+)$/);if(a){i={title:a[1],items:[]},t.push(i);continue}const l=o.match(/^-\s+(.+)$/);if(l){const c=l[1].trim();i?i.items.push(c):r.push(c);continue}}return{groups:t,ungrouped:r}}function
|
|
619
|
-
`)}var GY=V('<input class="nav-item__input svelte-8xlxf2" type="text"/>'),HY=V('<button class="nav-item__slug svelte-8xlxf2"> </button>'),KY=V('<div class="nav-item svelte-8xlxf2"><button class="nav-item__grip svelte-8xlxf2" title="Drag to reorder"><svg width="10" height="14" viewBox="0 0 10 14" fill="none"><circle cx="3" cy="3" r="1.2" fill="currentColor"></circle><circle cx="7" cy="3" r="1.2" fill="currentColor"></circle><circle cx="3" cy="7" r="1.2" fill="currentColor"></circle><circle cx="7" cy="7" r="1.2" fill="currentColor"></circle><circle cx="3" cy="11" r="1.2" fill="currentColor"></circle><circle cx="7" cy="11" r="1.2" fill="currentColor"></circle></svg></button> <!> <button class="nav-item__remove svelte-8xlxf2" title="Remove item"><svg width="12" height="12" viewBox="0 0 16 16" fill="none"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div>');function JY(n,e){Ot(e,!0);let t=J(!1),r=J(rn(e.slug));function i(){M(r,e.slug,!0),M(t,!0)}function s(){const h=g(r).trim();h&&h!==e.slug&&e.onchange(h),M(t,!1)}function o(h){h.key==="Enter"?(h.preventDefault(),s()):h.key==="Escape"&&M(t,!1)}var a=KY(),l=D(a);l.__pointerdown=function(...h){e.ondragstart?.apply(this,h)};var c=R(l,2);{var u=h=>{var m=GY();m.__keydown=o,ys(m),ct("blur",m,s),Nn(m,()=>g(r),p=>M(r,p)),z(h,m)},f=h=>{var m=HY();m.__dblclick=i;var p=D(m);fe(()=>Le(p,e.slug)),z(h,m)};ue(c,h=>{g(t)?h(u):h(f,!1)})}var d=R(c,2);d.__click=function(...h){e.ondelete?.apply(this,h)},z(n,a),vt()}Kt(["pointerdown","keydown","dblclick","click"]);var eU=V('<div role="listitem"><!></div>'),tU=V('<div class="nav-editor__add-item svelte-1h0zo48"><input class="nav-editor__add-input svelte-1h0zo48" type="text" placeholder="Page slug..."/></div>'),nU=V('<button class="nav-editor__add-item-btn svelte-1h0zo48">+ Add item</button>'),rU=V('<div class="nav-editor__group svelte-1h0zo48"><div class="nav-editor__group-header svelte-1h0zo48"><input class="nav-editor__group-title svelte-1h0zo48" type="text" placeholder="Group title"/> <button class="nav-editor__group-delete svelte-1h0zo48" title="Delete group"><svg width="12" height="12" viewBox="0 0 16 16" fill="none"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div> <div class="nav-editor__items svelte-1h0zo48"></div> <!></div>'),iU=V('<div class="nav-editor__add-group svelte-1h0zo48"><input class="nav-editor__add-input svelte-1h0zo48" type="text" placeholder="Group title..."/></div>'),sU=V('<button class="nav-editor__add-group-btn svelte-1h0zo48">+ Add group</button>'),oU=V('<div class="nav-editor svelte-1h0zo48"><!> <!></div>');function aU(n,e){Ot(e,!0);let t=J(rn({groups:[],ungrouped:[]})),r=J(null),i=J(""),s=J(""),o=J(!1),a=J(null),l=J(null);yn(()=>{const x=VY(e.content);x!==null&&M(t,YY(x),!0)});function c(){const x=UY(g(t)),E=WY(e.content,x);e.onchange(E)}function u(x,E){g(t).groups[x]={...g(t).groups[x],title:E},M(t,{...g(t)},!0),c()}function f(x){const E=g(t).groups[x];E.items.length>0&&!confirm(`Delete group "${E.title}" and its ${E.items.length} items?`)||(g(t).groups.splice(x,1),M(t,{...g(t)},!0),c())}function d(){const x=g(s).trim();x&&(g(t).groups.push({title:x,items:[]}),M(t,{...g(t)},!0),M(s,""),M(o,!1),c())}function h(x,E,T){g(t).groups[x].items[E]=T,M(t,{...g(t)},!0),c()}function m(x,E){g(t).groups[x].items.splice(E,1),M(t,{...g(t)},!0),c()}function p(x){const E=g(i).trim();E&&(g(t).groups[x].items.push(E),M(t,{...g(t)},!0),M(i,""),M(r,null),c())}function O(x,E){x.key==="Enter"?(x.preventDefault(),p(E)):x.key==="Escape"&&(M(r,null),M(i,""))}function v(x){x.key==="Enter"?(x.preventDefault(),d()):x.key==="Escape"&&(M(o,!1),M(s,""))}function b(x,E,T){x.currentTarget.setPointerCapture(x.pointerId),M(a,{groupIdx:E,itemIdx:T},!0)}function _(x,E,T){g(a)&&M(l,{groupIdx:E,itemIdx:T},!0)}function A(x){if(!g(a)||!g(l)){M(a,null),M(l,null);return}const{groupIdx:E,itemIdx:T}=g(a),{groupIdx:$,itemIdx:Q}=g(l);if(E===$&&T===Q){M(a,null),M(l,null);return}const[P]=g(t).groups[E].items.splice(T,1);let q=Q;E===$&&T<Q&&(q=Q-1),g(t).groups[$].items.splice(q,0,P),M(t,{...g(t)},!0),M(a,null),M(l,null),c()}var w=oU(),y=D(w);Lt(y,17,()=>g(t).groups,en,(x,E,T)=>{var $=rU(),Q=D($),P=D(Q);P.__input=ae=>u(T,ae.target.value);var q=R(P,2);q.__click=()=>f(T);var I=R(Q,2);Lt(I,21,()=>g(E).items,en,(ae,re,H)=>{var ie=eU();let se;ie.__pointermove=ne=>_(ne,T,H),ie.__pointerup=A;var j=D(ie);JY(j,{get slug(){return g(re)},onchange:ne=>h(T,H,ne),ondelete:()=>m(T,H),ondragstart:ne=>b(ne,T,H)}),fe(()=>se=We(ie,1,"nav-editor__item-wrapper svelte-1h0zo48",null,se,{"drag-over":g(l)?.groupIdx===T&&g(l)?.itemIdx===H})),z(ae,ie)});var W=R(I,2);{var U=ae=>{var re=tU(),H=D(re);H.__keydown=ie=>O(ie,T),ys(H),ct("blur",H,()=>{M(r,null),M(i,"")}),Nn(H,()=>g(i),ie=>M(i,ie)),z(ae,re)},K=ae=>{var re=nU();re.__click=()=>{M(r,T,!0),M(i,"")},z(ae,re)};ue(W,ae=>{g(r)===T?ae(U):ae(K,!1)})}fe(()=>dn(P,g(E).title)),z(x,$)});var S=R(y,2);{var C=x=>{var E=iU(),T=D(E);T.__keydown=v,ys(T),ct("blur",T,()=>{M(o,!1),M(s,"")}),Nn(T,()=>g(s),$=>M(s,$)),z(x,E)},k=x=>{var E=sU();E.__click=()=>{M(o,!0),M(s,"")},z(x,E)};ue(S,x=>{g(o)?x(C):x(k,!1)})}z(n,w),vt()}Kt(["input","click","pointermove","pointerup","keydown"]);var lU=V("<button> </button>"),cU=V("<button> </button>"),uU=V('<textarea class="region-card__textarea svelte-1ah7fba" placeholder="Region content..." rows="4"></textarea>'),fU=V('<div class="region-card svelte-1ah7fba"><div class="region-card__header svelte-1ah7fba"><div class="region-card__name-row svelte-1ah7fba"><input class="region-card__name svelte-1ah7fba" type="text" placeholder="Region name"/> <div class="region-card__mode svelte-1ah7fba"></div></div> <div class="region-card__actions svelte-1ah7fba"><!> <button class="region-card__delete-btn svelte-1ah7fba" title="Delete region"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div></div> <div class="region-card__body svelte-1ah7fba"><!></div></div>');function dU(n,e){Ot(e,!0);let t=J(!1),r=me(()=>XY(e.region.content));function i(C){const k=C.target;e.onchange({...e.region,name:k.value})}function s(C){e.onchange({...e.region,mode:C})}function o(C){const k=C.target;e.onchange({...e.region,content:k.value})}function a(C){e.onchange({...e.region,content:C})}function l(){e.region.content.trim()&&!confirm(`Delete region "${e.region.name}"? Its content will be lost.`)||e.ondelete()}function c(C){C.style.height="auto",C.style.height=`${C.scrollHeight}px`}function u(C){const k=C.target;c(k),o(C)}var f=fU(),d=D(f),h=D(d),m=D(h);m.__input=i;var p=R(m,2);Lt(p,20,()=>["replace","prepend","append"],en,(C,k)=>{var x=lU();let E;x.__click=()=>s(k);var T=D(x);fe(()=>{E=We(x,1,"region-card__mode-btn svelte-1ah7fba",null,E,{active:e.region.mode===k}),Le(T,k)}),z(C,x)});var O=R(h,2),v=D(O);{var b=C=>{var k=cU();let x;k.__click=()=>{M(t,!g(t))};var E=D(k);fe(()=>{x=We(k,1,"region-card__toggle-btn svelte-1ah7fba",null,x,{active:g(t)}),Le(E,g(t)?"Text":"Visual")}),z(C,k)};ue(v,C=>{g(r)&&C(b)})}var _=R(v,2);_.__click=l;var A=R(d,2),w=D(A);{var y=C=>{aU(C,{get content(){return e.region.content},onchange:a})},S=C=>{var k=uU();k.__input=u,GP(k,x=>c?.(x)),fe(()=>dn(k,e.region.content)),z(C,k)};ue(w,C=>{g(r)&&g(t)?C(y):C(S,!1)})}fe(()=>dn(m,e.region.name)),z(n,f),vt()}Kt(["input","click"]);var hU=V('<span class="layout-editor__path svelte-u2phg9"> </span>'),pU=V('<div class="layout-editor__raw svelte-u2phg9"><!></div>'),mU=V('<div class="layout-editor__empty svelte-u2phg9"><p class="svelte-u2phg9">No regions defined. Add a region to get started.</p></div>'),gU=V('<div class="layout-editor__regions svelte-u2phg9"><!> <!> <button class="layout-editor__add-btn svelte-u2phg9"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M8 3v10M3 8h10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg> Add Region</button></div>'),OU=V('<div class="layout-editor svelte-u2phg9"><div class="layout-editor__header svelte-u2phg9"><div class="layout-editor__title-row svelte-u2phg9"><svg class="layout-editor__icon svelte-u2phg9" width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="1" width="14" height="14" rx="2" stroke="currentColor" stroke-width="1.2"></rect><path d="M1 5h14M6 5v10" stroke="currentColor" stroke-width="1.2"></path></svg> <span class="layout-editor__title svelte-u2phg9">Layout</span> <!></div> <div class="layout-editor__mode-track svelte-u2phg9"><button>Visual</button> <button>Raw</button></div></div> <!></div>');function vU(n,e){Ot(e,!0);let t=J(!1),r=J(rn({regions:[]})),i="";yn(()=>{const y=F.editorContent;y!==i&&(M(r,ZY(y),!0),i=y)});function s(){const y=FY(g(r));i=y,F.editorContent=y,F.bodyContent=y}function o(y,S){g(r).regions[y]=S,M(r,{...g(r)},!0),s()}function a(y){g(r).regions.splice(y,1),M(r,{...g(r)},!0),s()}function l(){g(r).regions.push({name:"",mode:"replace",content:""}),M(r,{...g(r)},!0),s()}var c=OU(),u=D(c),f=D(u),d=R(D(f),4);{var h=y=>{var S=hU(),C=D(S);fe(()=>Le(C,F.currentPath)),z(y,S)};ue(d,y=>{F.currentPath&&y(h)})}var m=R(f,2),p=D(m);let O;p.__click=()=>{M(t,!1)};var v=R(p,2);let b;v.__click=()=>{M(t,!0)};var _=R(u,2);{var A=y=>{var S=pU(),C=D(S);MA(C,{}),z(y,S)},w=y=>{var S=gU(),C=D(S);{var k=T=>{var $=mU();z(T,$)};ue(C,T=>{g(r).regions.length===0&&T(k)})}var x=R(C,2);Lt(x,17,()=>g(r).regions,en,(T,$,Q)=>{dU(T,{get region(){return g($)},onchange:P=>o(Q,P),ondelete:()=>a(Q)})});var E=R(x,2);E.__click=l,z(y,S)};ue(_,y=>{g(t)?y(A):y(w,!1)})}fe(()=>{O=We(p,1,"layout-editor__mode-btn svelte-u2phg9",null,O,{active:!g(t)}),b=We(v,1,"layout-editor__mode-btn svelte-u2phg9",null,b,{active:g(t)})}),z(n,c),vt()}Kt(["click"]);var bU=V('<div class="preview__empty svelte-1iqwj2q"><svg class="preview__empty-icon svelte-1iqwj2q" width="40" height="40" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="8" width="40" height="32" rx="3" class="svelte-1iqwj2q"></rect><line x1="4" y1="16" x2="44" y2="16" class="svelte-1iqwj2q"></line><circle cx="10" cy="12" r="1.5" fill="currentColor" stroke="none" class="svelte-1iqwj2q"></circle><circle cx="15" cy="12" r="1.5" fill="currentColor" stroke="none" class="svelte-1iqwj2q"></circle><circle cx="20" cy="12" r="1.5" fill="currentColor" stroke="none" class="svelte-1iqwj2q"></circle><line x1="14" y1="26" x2="34" y2="26" class="svelte-1iqwj2q"></line><line x1="14" y1="32" x2="28" y2="32" class="svelte-1iqwj2q"></line></svg> <span class="preview__empty-text svelte-1iqwj2q">Select a page to preview</span></div>'),yU=V('<div class="preview__progress svelte-1iqwj2q"></div>'),wU=V('<iframe title="Preview" src="/preview/" class="preview__iframe svelte-1iqwj2q"></iframe>'),_U=V('<iframe title="Preview" class="preview__iframe svelte-1iqwj2q"></iframe>'),kU=V('<div class="preview__container svelte-1iqwj2q"><!> <div class="preview__viewport svelte-1iqwj2q"><!></div></div>');function xU(n,e){Ot(e,!0);let t=J(""),r=J(void 0),i=J(void 0),s,o=new Map,a=J(!1);const l=me(()=>g(t).replace("<html",`<html data-theme="${F.previewTheme}"`));yn(()=>{function m(p){if(p.data?.type==="preview-ready")F.previewRuntimeReady=!0;else if(p.data?.type==="preview-navigate"){const O=p.data.href,v=o.get(O);v&&e.onnavigate&&e.onnavigate(v)}}return window.addEventListener("message",m),()=>window.removeEventListener("message",m)});const c=me(()=>F.previewRuntimeAvailable&&F.previewRuntimeReady);yn(()=>{const m=dP(F.routeRules);g(c)&&g(r)?.contentWindow&&g(r).contentWindow.postMessage({type:"route-rules-update",routeRules:m},"*")}),yn(()=>{const m=F.previewTheme;g(c)&&g(r)?.contentWindow&&g(r).contentWindow.postMessage({type:"theme-update",theme:m},"*")}),yn(()=>{const m=F.currentPath,p=F.editorContent,O=g(c);if(!m||!p){M(t,"");return}return M(a,!0),clearTimeout(s),s=setTimeout(async()=>{try{if(O){const v=await aY(m,p);v.pages&&(o=new Map(v.pages.map(b=>[b.url,b.path]))),g(r)?.contentWindow?.postMessage({type:"preview-update",page:v},"*")}else M(t,await oY(m,p),!0)}catch{}finally{M(a,!1)}},400),()=>clearTimeout(s)});var u=mn(),f=st(u);{var d=m=>{var p=bU();z(m,p)},h=m=>{var p=kU(),O=D(p);{var v=y=>{var S=yU();z(y,S)};ue(O,y=>{g(a)&&y(v)})}var b=R(O,2),_=D(b);{var A=y=>{var S=wU();gn(S,C=>M(r,C),()=>g(r)),z(y,S)},w=y=>{var S=_U();gn(S,C=>M(i,C),()=>g(i)),fe(()=>$t(S,"srcdoc",g(l))),z(y,S)};ue(_,y=>{F.previewRuntimeAvailable?y(A):y(w,!1)})}z(m,p)};ue(f,m=>{F.currentPath?m(h,!1):m(d)})}z(n,u),vt()}var SU=V('<div class="page-card svelte-1nxc0wz"><!></div>');function AU(n,e){Ot(e,!0);const t={desktop:1440,tablet:768,mobile:375},r=me(()=>F.editorMode==="preview"?t[F.viewport]??1440:1440);var i=SU(),s=D(i);ga(s,()=>e.children),fe(()=>$r(i,`--page-card-width: ${g(r)??""}px`)),z(n,i),vt()}var CU=V('<div class="popover svelte-ohlzgl"><!></div>');function _T(n,e){Ot(e,!0);let t,r=J(e.anchorRect.x+e.anchorRect.width+8),i=J(rn(e.anchorRect.y));ro(()=>{if(t){const c=t.getBoundingClientRect();c.right>window.innerWidth-8&&M(r,e.anchorRect.x-c.width-8),c.bottom>window.innerHeight-8&&M(i,window.innerHeight-c.height-8),g(i)<8&&M(i,8)}function a(c){t&&!t.contains(c.target)&&e.onclose()}function l(c){c.key==="Escape"&&e.onclose()}return requestAnimationFrame(()=>{document.addEventListener("click",a)}),document.addEventListener("keydown",l),()=>{document.removeEventListener("click",a),document.removeEventListener("keydown",l)}});var s=CU(),o=D(s);ga(o,()=>e.children),gn(s,a=>t=a,()=>t),fe(()=>$r(s,`left: ${g(r)??""}px; top: ${g(i)??""}px`)),z(n,s),vt()}var TU=V('<span class="modal__location svelte-vqemeo"> </span>'),PU=V('<span class="modal__hint svelte-vqemeo">Auto-derived from title</span>'),EU=V('<label class="modal__field svelte-vqemeo"><span class="modal__label svelte-vqemeo">Title</span> <input class="modal__input svelte-vqemeo" type="text" placeholder="My New Page"/></label> <label class="modal__field svelte-vqemeo"><span class="modal__label svelte-vqemeo">Slug</span> <input class="modal__input svelte-vqemeo" type="text" placeholder="my-new-page"/> <!></label> <label class="modal__checkbox svelte-vqemeo"><input type="checkbox"/> <span>Create as draft</span></label> <div class="modal__actions svelte-vqemeo"><button type="button" class="modal__btn modal__btn--cancel svelte-vqemeo">Cancel</button> <button type="submit" class="modal__btn modal__btn--primary svelte-vqemeo">Create</button></div>',1),$U=V('<span class="modal__error svelte-vqemeo">Use lowercase letters, numbers, and hyphens</span>'),QU=V('<label class="modal__field svelte-vqemeo"><span class="modal__label svelte-vqemeo">Name</span> <input class="modal__input svelte-vqemeo" type="text" placeholder="my-section"/> <!></label> <label class="modal__checkbox svelte-vqemeo"><input type="checkbox"/> <span>Create with _layout.md</span></label> <div class="modal__actions svelte-vqemeo"><button type="button" class="modal__btn modal__btn--cancel svelte-vqemeo">Cancel</button> <button type="submit" class="modal__btn modal__btn--primary svelte-vqemeo">Create</button></div>',1),LU=V('<form class="modal__form svelte-vqemeo"><div class="modal__tabs svelte-vqemeo"><button type="button"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M9 1.5H4a1.5 1.5 0 0 0-1.5 1.5v10A1.5 1.5 0 0 0 4 14.5h8A1.5 1.5 0 0 0 13.5 13V6L9 1.5Z"></path><polyline points="9 1.5 9 6 13.5 6"></polyline></svg> File</button> <button type="button"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M1.5 4h4.5l1.5 1.5H14.5v8.5h-13z"></path><path d="M1.5 4v-1.5h4.5l1.5 1.5"></path></svg> Folder</button></div> <!> <!></form>');function MU(n,e){Ot(e,!0);let t=Et(e,"initialDirectory",3,""),r=J("file"),i=J(""),s=J(""),o=J(!1),a=J(!1),l=me(()=>g(i).toLowerCase().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")),c=me(()=>g(o)?g(s):g(l)),u=J(""),f=J(!0),d=me(()=>/^[a-z0-9][a-z0-9-]*$/.test(g(u)));function h(m){if(m.preventDefault(),g(r)==="file"){if(!g(c))return;e.oncreate({directory:t(),slug:g(c),title:g(i)||g(c),template:"blank",draft:g(a)})}else{if(!g(d))return;e.oncreatefolder({parent:t(),name:g(u),createLayout:g(f)})}}_T(n,{get anchorRect(){return e.anchorRect},get onclose(){return e.onclose},children:(m,p)=>{var O=LU(),v=D(O),b=D(v);let _;b.__click=()=>M(r,"file");var A=R(b,2);let w;A.__click=()=>M(r,"folder");var y=R(v,2);{var S=E=>{var T=TU(),$=D(T);fe(()=>Le($,`in ${t()??""}/`)),z(E,T)};ue(y,E=>{t()&&E(S)})}var C=R(y,2);{var k=E=>{var T=EU(),$=st(T),Q=R(D($),2);ys(Q);var P=R($,2),q=R(D(P),2);q.__input=ie=>{M(s,ie.target.value,!0),M(o,!0)};var I=R(q,2);{var W=ie=>{var se=PU();z(ie,se)};ue(I,ie=>{!g(o)&&g(i)&&ie(W)})}var U=R(P,2),K=D(U),ae=R(U,2),re=D(ae);re.__click=function(...ie){e.onclose?.apply(this,ie)};var H=R(re,2);fe(()=>{dn(q,g(c)),H.disabled=!g(c)}),Nn(Q,()=>g(i),ie=>M(i,ie)),Wp(K,()=>g(a),ie=>M(a,ie)),z(E,T)},x=E=>{var T=QU(),$=st(T),Q=R(D($),2);ys(Q);var P=R(Q,2);{var q=re=>{var H=$U();z(re,H)};ue(P,re=>{g(u)&&!g(d)&&re(q)})}var I=R($,2),W=D(I),U=R(I,2),K=D(U);K.__click=function(...re){e.onclose?.apply(this,re)};var ae=R(K,2);fe(()=>ae.disabled=!g(d)),Nn(Q,()=>g(u),re=>M(u,re)),Wp(W,()=>g(f),re=>M(f,re)),z(E,T)};ue(C,E=>{g(r)==="file"?E(k):E(x,!1)})}fe(()=>{_=We(b,1,"modal__tab svelte-vqemeo",null,_,{active:g(r)==="file"}),w=We(A,1,"modal__tab svelte-vqemeo",null,w,{active:g(r)==="folder"})}),ct("submit",O,h),z(m,O)},$$slots:{default:!0}}),vt()}Kt(["click","input"]);var qU=V('<span class="modal__error svelte-fv7j9w">Use lowercase letters, numbers, and hyphens</span>'),DU=V("<option> </option>"),RU=V('<dialog class="modal svelte-fv7j9w"><form class="modal__form svelte-fv7j9w"><h2 class="modal__title svelte-fv7j9w">New Directory</h2> <label class="modal__field svelte-fv7j9w"><span class="modal__label svelte-fv7j9w">Name</span> <input class="modal__input svelte-fv7j9w" type="text" placeholder="my-section"/> <!></label> <label class="modal__field svelte-fv7j9w"><span class="modal__label svelte-fv7j9w">Parent directory</span> <select class="modal__select svelte-fv7j9w"></select></label> <label class="modal__checkbox svelte-fv7j9w"><input type="checkbox"/> <span>Create with _layout.md</span></label> <div class="modal__actions svelte-fv7j9w"><button type="button" class="modal__btn modal__btn--cancel svelte-fv7j9w">Cancel</button> <button type="submit" class="modal__btn modal__btn--primary svelte-fv7j9w">Create</button></div></form></dialog>');function IU(n,e){Ot(e,!0);let t=J(""),r=J(""),i=J(!0),s;function o(C,k=[]){if(!C||C.type!=="directory")return k;k.push(C.path);for(const x of C.children??[])o(x,k);return k}let a=me(()=>o(F.tree)),l=me(()=>/^[a-z0-9][a-z0-9-]*$/.test(g(t)));yn(()=>{s&&!s.open&&s.showModal()});function c(C){C.preventDefault(),g(l)&&e.oncreate({parent:g(r),name:g(t),createLayout:g(i)})}function u(C){C.key==="Escape"&&e.onclose()}var f=RU();f.__keydown=u;var d=D(f),h=R(D(d),2),m=R(D(h),2);ys(m);var p=R(m,2);{var O=C=>{var k=qU();z(C,k)};ue(p,C=>{g(t)&&!g(l)&&C(O)})}var v=R(h,2),b=R(D(v),2);Lt(b,21,()=>g(a),en,(C,k)=>{var x=DU(),E=D(x),T={};fe(()=>{Le(E,g(k)||"/ (root)"),T!==(T=g(k))&&(x.value=(x.__value=g(k))??"")}),z(C,x)});var _=R(v,2),A=D(_),w=R(_,2),y=D(w);y.__click=function(...C){e.onclose?.apply(this,C)};var S=R(y,2);gn(f,C=>s=C,()=>s),fe(()=>S.disabled=!g(l)),ct("close",f,function(...C){e.onclose?.apply(this,C)}),ct("submit",d,c),Nn(m,()=>g(t),C=>M(t,C)),x_(b,()=>g(r),C=>M(r,C)),Wp(A,()=>g(i),C=>M(i,C)),z(n,f),vt()}Kt(["keydown","click"]);var NU=V('<span class="modal__error svelte-e8lnud">Use lowercase letters, numbers, and hyphens</span>'),BU=V('<span class="modal__hint svelte-e8lnud"> </span>'),jU=V("<option> </option>"),zU=V('<form class="modal__form svelte-e8lnud"><h2 class="modal__title svelte-e8lnud">New Category</h2> <p class="modal__desc svelte-e8lnud">Creates a directory with a route rule and layout.</p> <label class="modal__field svelte-e8lnud"><span class="modal__label svelte-e8lnud">Name</span> <input class="modal__input svelte-e8lnud" type="text" placeholder="tutorials"/> <!></label> <label class="modal__field svelte-e8lnud"><span class="modal__label svelte-e8lnud">Layout</span> <select class="modal__select svelte-e8lnud"></select></label> <div class="modal__actions svelte-e8lnud"><button type="button" class="modal__btn modal__btn--cancel svelte-e8lnud">Cancel</button> <button type="submit" class="modal__btn modal__btn--primary svelte-e8lnud">Create</button></div></form>');function ZU(n,e){Ot(e,!0);let t=J(""),r=J("default"),i=me(()=>/^[a-z0-9][a-z0-9-]*$/.test(g(t))),s=me(()=>{const a=F.themeConfig;return a?.layouts?Object.keys(a.layouts):["default"]});function o(a){a.preventDefault(),g(i)&&e.oncreate({name:g(t),layout:g(r)})}_T(n,{get anchorRect(){return e.anchorRect},get onclose(){return e.onclose},children:(a,l)=>{var c=zU(),u=R(D(c),4),f=R(D(u),2);ys(f);var d=R(f,2);{var h=A=>{var w=NU();z(A,w)},m=A=>{var w=BU(),y=D(w);fe(()=>Le(y,`Pattern: ${g(t)??""}/** · Directory: ${g(t)??""}/`)),z(A,w)};ue(d,A=>{g(t)&&!g(i)?A(h):g(t)&&A(m,1)})}var p=R(u,2),O=R(D(p),2);Lt(O,21,()=>g(s),en,(A,w)=>{var y=jU(),S=D(y),C={};fe(()=>{Le(S,g(w)),C!==(C=g(w))&&(y.value=(y.__value=g(w))??"")}),z(A,y)});var v=R(p,2),b=D(v);b.__click=function(...A){e.onclose?.apply(this,A)};var _=R(b,2);fe(()=>_.disabled=!g(i)),ct("submit",c,o),Nn(f,()=>g(t),A=>M(t,A)),x_(O,()=>g(r),A=>M(r,A)),z(a,c)},$$slots:{default:!0}}),vt()}Kt(["click"]);var FU=As('<svg class="context-menu__icon svelte-1ksg7ac" width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path></path></svg>'),XU=V("<button><!> </button>"),VU=V('<div class="context-menu svelte-1ksg7ac"></div>');function WU(n,e){Ot(e,!0);let t,r=J(rn(e.x)),i=J(rn(e.y));function s(l){switch(l){case"Rename":return"M12.5 3.5l-9 9L2 16l3.5-1.5 9-9zM10.5 5.5l2 2";case"Duplicate":return"M5 3h6l3 3v7H5zM3 6v9h8";case"Delete":return"M3 5h12M6 5V3h6v2M5 5v9h8V5";case"Publish":case"Set as Draft":return"M2 8h5v6H2zM9 4h5v10H9z";default:return null}}ro(()=>{if(t){const c=t.getBoundingClientRect();c.right>window.innerWidth&&M(r,window.innerWidth-c.width-4),c.bottom>window.innerHeight&&M(i,window.innerHeight-c.height-4)}function l(c){t&&!t.contains(c.target)&&e.onclose()}return requestAnimationFrame(()=>{document.addEventListener("click",l),document.addEventListener("contextmenu",l)}),()=>{document.removeEventListener("click",l),document.removeEventListener("contextmenu",l)}});function o(l){l(),e.onclose()}var a=VU();Lt(a,21,()=>e.items,en,(l,c)=>{const u=me(()=>s(g(c).label));var f=XU();let d;f.__click=()=>o(g(c).action);var h=D(f);{var m=O=>{var v=FU(),b=D(v);fe(()=>$t(b,"d",g(u))),z(O,v)};ue(h,O=>{g(u)&&O(m)})}var p=R(h);fe(()=>{d=We(f,1,"context-menu__item svelte-1ksg7ac",null,d,{danger:g(c).danger}),Le(p,` ${g(c).label??""}`)}),z(l,f)}),gn(a,l=>t=l,()=>t),fe(()=>$r(a,`left: ${g(r)??""}px; top: ${g(i)??""}px`)),z(n,a),vt()}Kt(["click"]);var YU=V('<dialog class="dialog svelte-19l8tke"><form class="dialog__form svelte-19l8tke"><h2 class="dialog__title svelte-19l8tke">Rename</h2> <input class="dialog__input svelte-19l8tke" type="text"/> <div class="dialog__actions svelte-19l8tke"><button type="button" class="dialog__btn dialog__btn--cancel svelte-19l8tke">Cancel</button> <button type="submit" class="dialog__btn dialog__btn--primary svelte-19l8tke">Rename</button></div></form></dialog>');function UU(n,e){Ot(e,!0);let t=J(rn(e.currentName)),r;yn(()=>{r&&!r.open&&r.showModal()});function i(f){f.preventDefault();const d=g(t).trim();d&&d!==e.currentName&&e.onrename(d)}var s=YU(),o=D(s),a=R(D(o),2);ys(a),a.__keydown=f=>{f.key==="Escape"&&e.onclose()};var l=R(a,2),c=D(l);c.__click=function(...f){e.onclose?.apply(this,f)};var u=R(c,2);gn(s,f=>r=f,()=>r),fe(f=>u.disabled=f,[()=>!g(t).trim()||g(t).trim()===e.currentName]),ct("close",s,function(...f){e.onclose?.apply(this,f)}),ct("submit",o,i),Nn(a,()=>g(t),f=>M(t,f)),z(n,s),vt()}Kt(["keydown","click"]);var GU=V('<dialog class="dialog svelte-1r8rwv8"><form class="dialog__form svelte-1r8rwv8"><h2 class="dialog__title svelte-1r8rwv8"> </h2> <p class="dialog__message svelte-1r8rwv8"> </p> <div class="dialog__actions svelte-1r8rwv8"><button type="button" class="dialog__btn dialog__btn--cancel svelte-1r8rwv8">Cancel</button> <button type="submit" class="dialog__btn dialog__btn--danger svelte-1r8rwv8"> </button></div></form></dialog>');function HU(n,e){Ot(e,!0);let t=Et(e,"confirmLabel",3,"Delete"),r;yn(()=>{r&&!r.open&&r.showModal()});function i(p){p.preventDefault(),e.onconfirm()}var s=GU(),o=D(s),a=D(o),l=D(a),c=R(a,2),u=D(c),f=R(c,2),d=D(f);d.__click=function(...p){e.onclose?.apply(this,p)};var h=R(d,2),m=D(h);gn(s,p=>r=p,()=>r),fe(()=>{Le(l,e.title),Le(u,e.message),Le(m,t())}),ct("close",s,function(...p){e.onclose?.apply(this,p)}),ct("submit",o,i),z(n,s),vt()}Kt(["click"]);var KU=V('<div class="banner svelte-toaoe3"><span class="banner__text svelte-toaoe3"> </span> <button class="banner__btn banner__btn--reload svelte-toaoe3">Reload</button> <button class="banner__btn banner__btn--dismiss svelte-toaoe3">Dismiss</button></div>');function JU(n,e){Ot(e,!0);const t=me(()=>F.externalChange?.event==="file-deleted");var r=mn(),i=st(r);{var s=o=>{var a=KU(),l=D(a),c=D(l),u=R(l,2);u.__click=function(...d){e.onreload?.apply(this,d)};var f=R(u,2);f.__click=()=>{F.externalChange=null},fe(()=>Le(c,g(t)?"This file was deleted outside the editor.":"This file was changed outside the editor.")),z(o,a)};ue(i,o=>{F.externalChange&&o(s)})}z(n,r),vt()}Kt(["click"]);var eG=V("<!> <!>",1),tG=V("<!> <!>",1),nG=V('<div class="editor-placeholder svelte-16t0oly"><svg width="40" height="40" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-16t0oly"><rect x="6" y="4" width="24" height="32" rx="2"></rect><polyline points="20 4 20 14 30 14"></polyline><line x1="12" y1="22" x2="24" y2="22"></line><line x1="12" y1="27" x2="20" y2="27"></line><path d="M34 24l6 6M34 36l6-6"></path></svg> <span>Select a file to edit</span></div>'),rG=V('<div class="editor-app svelte-16t0oly"><!></div> <!> <!> <!> <!> <!> <!>',1);function iG(n,e){Ot(e,!0),customElements.get("rf-diagram")||customElements.define("rf-diagram",HX),customElements.get("rf-sandbox")||customElements.define("rf-sandbox",JX),customElements.get("rf-map")||customElements.define("rf-map",KX);let t=J(!1),r=J(!1),i=J(!1),s=J(""),o=J(null),a=J(null),l=J(null),c=J(null),u=J(null),f="",d=0;ro(()=>{(async()=>{F.treeLoading=!0;try{const[Te,Qe,De,ge,Ee]=await Promise.all([$w(),vY(),lY(),cY(),bY()]);F.tree=Te,F.runes=Qe,F.previewRuntimeAvailable=De.previewRuntime,F.themeCss=De.themeCss,F.themeConfig=De.themeConfig,F.routeRules=ge??[],F.aggregated=Ee,De.hasCommunityTags&&oe(()=>import("/api/community-tags.js"),[]).then(tt=>{F.communityTags=tt.communityTags??null,F.communityPostTransforms=tt.communityPostTransforms??null,F.communityStyles=tt.communityStyles??null}).catch(()=>{}),oe(async()=>{const{createHighlightTransform:tt}=await import("./index-Bj_PmduU.js");return{createHighlightTransform:tt}},[]).then(({createHighlightTransform:tt})=>tt().then(Ve=>{F.highlightTransform=Ve,F.highlightCss=Ve.css})).catch(()=>{});const Ke=Te.children?.find(tt=>tt.type==="page"&&tt.name==="index.md");Ke&&m(Ke.path)}catch(Te){F.error=Te instanceof Error?Te.message:"Failed to load content tree"}finally{F.treeLoading=!1}})();let j;const ne=yY((Te,Qe)=>{if(clearTimeout(j),j=setTimeout(()=>h(),500),Qe.path===F.currentPath){if(f===Qe.path&&Date.now()-d<2e3)return;F.externalChange={path:Qe.path,event:Te}}});return()=>{ne(),clearTimeout(j)}});async function h(){try{F.tree=await $w()}catch{}}async function m(j){if(!(F.dirty&&!confirm("You have unsaved changes. Discard them?"))){F.externalChange=null,F.fileLoading=!0,F.error=null;try{const ne=await Np(j);F.loadFile(j,ne.raw)}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to load file"}finally{F.fileLoading=!1}}}async function p(){if(!(!F.currentPath||!F.dirty)){F.saving=!0,F.error=null;try{f=F.currentPath,d=Date.now(),await sY(F.currentPath,F.editorContent),F.savedContent=F.editorContent,F.saveJustCompleted=!0,setTimeout(()=>{F.saveJustCompleted=!1},1500)}catch(j){F.error=j instanceof Error?j.message:"Failed to save file"}finally{F.saving=!1}}}function O(j){(j.metaKey||j.ctrlKey)&&j.key==="s"&&(j.preventDefault(),p())}async function v(j){try{const ne=await fY(j);M(t,!1),await h(),await m(ne.path)}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to create page"}}async function b(j){try{await Qw(j),M(r,!1),M(t,!1),await h()}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to create directory"}}async function _(j){try{await Qw({parent:"",name:j.name,createLayout:!0});const ne={pattern:`${j.name}/**`,layout:j.layout},Te=[...F.routeRules],Qe=Te.findIndex(De=>De.pattern==="**");Qe>=0?Te.splice(Qe,0,ne):Te.push(ne),await uY(Te),F.routeRules=Te,M(i,!1),await h()}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to create category"}}function A(j,ne){M(l,{x:j.clientX,y:j.clientY,node:ne},!0)}function w(j){const ne=[];return j.type==="page"||j.type==="layout"?(ne.push({label:"Rename",action:()=>{M(c,j,!0)}}),j.type==="page"&&(ne.push({label:"Duplicate",action:()=>S(j)}),ne.push({label:j.draft?"Publish":"Set as Draft",action:()=>x(j)})),ne.push({label:"Delete",action:()=>{M(u,j,!0)},danger:!0})):j.type==="directory"&&(ne.push({label:"Rename",action:()=>{M(c,j,!0)}}),ne.push({label:"Delete",action:()=>{M(u,j,!0)},danger:!0})),ne}async function y(j){if(!g(c))return;const ne=g(c).path;try{const Te=await dY(ne,j);M(c,null),await h(),F.currentPath===ne&&await m(Te.newPath)}catch(Te){F.error=Te instanceof Error?Te.message:"Failed to rename"}}async function S(j){try{const ne=await hY(j.path);await h(),await m(ne.path)}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to duplicate"}}async function C(){if(!g(u))return;const j=g(u).path;try{await pY(j),M(u,null),await h(),F.currentPath===j&&(F.currentPath=null,F.editorContent="",F.savedContent="",F.bodyContent="",F.frontmatter={})}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to delete"}}async function k(){if(!(F.dirty&&!confirm("You have unsaved changes. Reload will discard them."))){if(F.externalChange?.event==="file-deleted")F.currentPath=null,F.editorContent="",F.savedContent="",F.bodyContent="",F.frontmatter={};else if(F.externalChange){const j=await Np(F.externalChange.path);F.loadFile(j.path,j.raw)}F.externalChange=null}}async function x(j){try{if(await mY(j.path),await h(),F.currentPath===j.path){const ne=await Np(j.path);F.loadFile(j.path,ne.raw)}}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to toggle draft"}}var E=rG();ct("keydown",No,O);var T=st(E),$=D(T);L$($,{header:De=>{$$(De,{onsave:p})},left:De=>{G$(De,{onselectfile:m,onnewpage:(ge,Ee)=>{M(s,ge??"",!0),M(o,Ee,!0),M(t,!0)},onnewdirectory:ge=>{M(r,!0)},onnewcategory:ge=>{M(a,ge,!0),M(i,!0)},oncontextmenu:A})},center:De=>{var ge=tG(),Ee=st(ge);JU(Ee,{onreload:k});var Ke=R(Ee,2);{var tt=Ge=>{vU(Ge,{})},Ve=Ge=>{var Re=eG(),At=st(Re);cQ(At,{forceRawMode:!0});var Jt=R(At,2);MA(Jt,{}),z(Ge,Re)};ue(Ke,Ge=>{F.currentFileType==="layout"?Ge(tt):F.currentPath&&Ge(Ve,1)})}z(De,ge)},right:De=>{var ge=mn(),Ee=st(ge);{var Ke=Ve=>{var Ge=nG();z(Ve,Ge)},tt=Ve=>{AU(Ve,{children:(Ge,Re)=>{var At=mn(),Jt=st(At);{var En=on=>{xU(on,{onnavigate:m})},ft=on=>{{let an=me(()=>F.editorMode==="code");zY(on,{get bodyContent(){return F.bodyContent},onchange:Vn=>F.updateBody(Vn),get runes(){return F.runes},get themeConfig(){return F.themeConfig},get themeCss(){return F.themeCss},get highlightCss(){return F.highlightCss},get highlightTransform(){return F.highlightTransform},get frontmatter(){return F.frontmatter},get readOnly(){return g(an)},get communityTags(){return F.communityTags},get communityPostTransforms(){return F.communityPostTransforms},get communityStyles(){return F.communityStyles},get aggregated(){return F.aggregated}})}};ue(Jt,on=>{F.editorMode==="preview"?on(En):on(ft,!1)})}z(Ge,At)},$$slots:{default:!0}})};ue(Ee,Ve=>{F.currentPath?F.currentFileType!=="layout"&&Ve(tt,1):Ve(Ke)})}z(De,ge)},$$slots:{header:!0,left:!0,center:!0,right:!0}});var Q=R(T,2);{var P=j=>{MU(j,{oncreate:v,oncreatefolder:b,onclose:()=>{M(t,!1)},get initialDirectory(){return g(s)},get anchorRect(){return g(o)}})};ue(Q,j=>{g(t)&&g(o)&&j(P)})}var q=R(Q,2);{var I=j=>{ZU(j,{oncreate:_,onclose:()=>{M(i,!1)},get anchorRect(){return g(a)}})};ue(q,j=>{g(i)&&g(a)&&j(I)})}var W=R(q,2);{var U=j=>{IU(j,{oncreate:b,onclose:()=>{M(r,!1)}})};ue(W,j=>{g(r)&&j(U)})}var K=R(W,2);{var ae=j=>{{let ne=me(()=>w(g(l).node));WU(j,{get x(){return g(l).x},get y(){return g(l).y},get items(){return g(ne)},onclose:()=>{M(l,null)}})}};ue(K,j=>{g(l)&&j(ae)})}var re=R(K,2);{var H=j=>{UU(j,{get currentName(){return g(c).name},onrename:y,onclose:()=>{M(c,null)}})};ue(re,j=>{g(c)&&j(H)})}var ie=R(re,2);{var se=j=>{{let ne=me(()=>g(u).type==="directory"?"directory":"file");HU(j,{get title(){return`Delete ${g(ne)??""}`},get message(){return`Are you sure you want to delete "${g(u).name??""}"? This cannot be undone.`},onconfirm:C,onclose:()=>{M(u,null)}})}};ue(ie,j=>{g(u)&&j(se)})}z(n,E),vt()}ZP(iG,{target:document.getElementById("app")});export{_S as C,Ur as E,Ut as I,Ya as L,U2 as N,oe as _,Ha as a,hl as b,df as c,Wq as d,Vx as e,eu as f,Ja as g,Cn as h,sn as i,Jf as j,wM as k,yM as l,rx as m,wr as n,Me as o,pe as p,lA as q,G2 as r,dl as s,N as t,IS as u,ox as v,li as w};
|
|
617
|
+
${o}`}function UY(n){const e=n.split(`
|
|
618
|
+
`),t=[],r=[];let i=null;for(const s of e){const o=s.trim(),a=o.match(/^##\s+(.+)$/);if(a){i={title:a[1],items:[]},t.push(i);continue}const l=o.match(/^-\s+(.+)$/);if(l){const c=l[1].trim();i?i.items.push(c):r.push(c);continue}}return{groups:t,ungrouped:r}}function GY(n){const e=[];for(const t of n.ungrouped)e.push(`- ${t}`);n.ungrouped.length>0&&n.groups.length>0&&e.push("");for(let t=0;t<n.groups.length;t++){const r=n.groups[t];e.push(`## ${r.title}`),e.push("");for(const i of r.items)e.push(`- ${i}`);t<n.groups.length-1&&e.push("")}return e.join(`
|
|
619
|
+
`)}var HY=V('<input class="nav-item__input svelte-8xlxf2" type="text"/>'),KY=V('<button class="nav-item__slug svelte-8xlxf2"> </button>'),JY=V('<div class="nav-item svelte-8xlxf2"><button class="nav-item__grip svelte-8xlxf2" title="Drag to reorder"><svg width="10" height="14" viewBox="0 0 10 14" fill="none"><circle cx="3" cy="3" r="1.2" fill="currentColor"></circle><circle cx="7" cy="3" r="1.2" fill="currentColor"></circle><circle cx="3" cy="7" r="1.2" fill="currentColor"></circle><circle cx="7" cy="7" r="1.2" fill="currentColor"></circle><circle cx="3" cy="11" r="1.2" fill="currentColor"></circle><circle cx="7" cy="11" r="1.2" fill="currentColor"></circle></svg></button> <!> <button class="nav-item__remove svelte-8xlxf2" title="Remove item"><svg width="12" height="12" viewBox="0 0 16 16" fill="none"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div>');function eU(n,e){Ot(e,!0);let t=J(!1),r=J(rn(e.slug));function i(){M(r,e.slug,!0),M(t,!0)}function s(){const h=g(r).trim();h&&h!==e.slug&&e.onchange(h),M(t,!1)}function o(h){h.key==="Enter"?(h.preventDefault(),s()):h.key==="Escape"&&M(t,!1)}var a=JY(),l=D(a);l.__pointerdown=function(...h){e.ondragstart?.apply(this,h)};var c=R(l,2);{var u=h=>{var m=HY();m.__keydown=o,ys(m),ct("blur",m,s),Nn(m,()=>g(r),p=>M(r,p)),z(h,m)},f=h=>{var m=KY();m.__dblclick=i;var p=D(m);fe(()=>Le(p,e.slug)),z(h,m)};ue(c,h=>{g(t)?h(u):h(f,!1)})}var d=R(c,2);d.__click=function(...h){e.ondelete?.apply(this,h)},z(n,a),vt()}Kt(["pointerdown","keydown","dblclick","click"]);var tU=V('<div role="listitem"><!></div>'),nU=V('<div class="nav-editor__add-item svelte-1h0zo48"><input class="nav-editor__add-input svelte-1h0zo48" type="text" placeholder="Page slug..."/></div>'),rU=V('<button class="nav-editor__add-item-btn svelte-1h0zo48">+ Add item</button>'),iU=V('<div class="nav-editor__group svelte-1h0zo48"><div class="nav-editor__group-header svelte-1h0zo48"><input class="nav-editor__group-title svelte-1h0zo48" type="text" placeholder="Group title"/> <button class="nav-editor__group-delete svelte-1h0zo48" title="Delete group"><svg width="12" height="12" viewBox="0 0 16 16" fill="none"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div> <div class="nav-editor__items svelte-1h0zo48"></div> <!></div>'),sU=V('<div class="nav-editor__add-group svelte-1h0zo48"><input class="nav-editor__add-input svelte-1h0zo48" type="text" placeholder="Group title..."/></div>'),oU=V('<button class="nav-editor__add-group-btn svelte-1h0zo48">+ Add group</button>'),aU=V('<div class="nav-editor svelte-1h0zo48"><!> <!></div>');function lU(n,e){Ot(e,!0);let t=J(rn({groups:[],ungrouped:[]})),r=J(null),i=J(""),s=J(""),o=J(!1),a=J(null),l=J(null);yn(()=>{const x=WY(e.content);x!==null&&M(t,UY(x),!0)});function c(){const x=GY(g(t)),E=YY(e.content,x);e.onchange(E)}function u(x,E){g(t).groups[x]={...g(t).groups[x],title:E},M(t,{...g(t)},!0),c()}function f(x){const E=g(t).groups[x];E.items.length>0&&!confirm(`Delete group "${E.title}" and its ${E.items.length} items?`)||(g(t).groups.splice(x,1),M(t,{...g(t)},!0),c())}function d(){const x=g(s).trim();x&&(g(t).groups.push({title:x,items:[]}),M(t,{...g(t)},!0),M(s,""),M(o,!1),c())}function h(x,E,T){g(t).groups[x].items[E]=T,M(t,{...g(t)},!0),c()}function m(x,E){g(t).groups[x].items.splice(E,1),M(t,{...g(t)},!0),c()}function p(x){const E=g(i).trim();E&&(g(t).groups[x].items.push(E),M(t,{...g(t)},!0),M(i,""),M(r,null),c())}function O(x,E){x.key==="Enter"?(x.preventDefault(),p(E)):x.key==="Escape"&&(M(r,null),M(i,""))}function v(x){x.key==="Enter"?(x.preventDefault(),d()):x.key==="Escape"&&(M(o,!1),M(s,""))}function b(x,E,T){x.currentTarget.setPointerCapture(x.pointerId),M(a,{groupIdx:E,itemIdx:T},!0)}function _(x,E,T){g(a)&&M(l,{groupIdx:E,itemIdx:T},!0)}function A(x){if(!g(a)||!g(l)){M(a,null),M(l,null);return}const{groupIdx:E,itemIdx:T}=g(a),{groupIdx:$,itemIdx:Q}=g(l);if(E===$&&T===Q){M(a,null),M(l,null);return}const[P]=g(t).groups[E].items.splice(T,1);let q=Q;E===$&&T<Q&&(q=Q-1),g(t).groups[$].items.splice(q,0,P),M(t,{...g(t)},!0),M(a,null),M(l,null),c()}var w=aU(),y=D(w);Lt(y,17,()=>g(t).groups,en,(x,E,T)=>{var $=iU(),Q=D($),P=D(Q);P.__input=ae=>u(T,ae.target.value);var q=R(P,2);q.__click=()=>f(T);var I=R(Q,2);Lt(I,21,()=>g(E).items,en,(ae,re,H)=>{var ie=tU();let se;ie.__pointermove=ne=>_(ne,T,H),ie.__pointerup=A;var j=D(ie);eU(j,{get slug(){return g(re)},onchange:ne=>h(T,H,ne),ondelete:()=>m(T,H),ondragstart:ne=>b(ne,T,H)}),fe(()=>se=We(ie,1,"nav-editor__item-wrapper svelte-1h0zo48",null,se,{"drag-over":g(l)?.groupIdx===T&&g(l)?.itemIdx===H})),z(ae,ie)});var W=R(I,2);{var U=ae=>{var re=nU(),H=D(re);H.__keydown=ie=>O(ie,T),ys(H),ct("blur",H,()=>{M(r,null),M(i,"")}),Nn(H,()=>g(i),ie=>M(i,ie)),z(ae,re)},K=ae=>{var re=rU();re.__click=()=>{M(r,T,!0),M(i,"")},z(ae,re)};ue(W,ae=>{g(r)===T?ae(U):ae(K,!1)})}fe(()=>dn(P,g(E).title)),z(x,$)});var S=R(y,2);{var C=x=>{var E=sU(),T=D(E);T.__keydown=v,ys(T),ct("blur",T,()=>{M(o,!1),M(s,"")}),Nn(T,()=>g(s),$=>M(s,$)),z(x,E)},k=x=>{var E=oU();E.__click=()=>{M(o,!0),M(s,"")},z(x,E)};ue(S,x=>{g(o)?x(C):x(k,!1)})}z(n,w),vt()}Kt(["input","click","pointermove","pointerup","keydown"]);var cU=V("<button> </button>"),uU=V("<button> </button>"),fU=V('<textarea class="region-card__textarea svelte-1ah7fba" placeholder="Region content..." rows="4"></textarea>'),dU=V('<div class="region-card svelte-1ah7fba"><div class="region-card__header svelte-1ah7fba"><div class="region-card__name-row svelte-1ah7fba"><input class="region-card__name svelte-1ah7fba" type="text" placeholder="Region name"/> <div class="region-card__mode svelte-1ah7fba"></div></div> <div class="region-card__actions svelte-1ah7fba"><!> <button class="region-card__delete-btn svelte-1ah7fba" title="Delete region"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div></div> <div class="region-card__body svelte-1ah7fba"><!></div></div>');function hU(n,e){Ot(e,!0);let t=J(!1),r=me(()=>VY(e.region.content));function i(C){const k=C.target;e.onchange({...e.region,name:k.value})}function s(C){e.onchange({...e.region,mode:C})}function o(C){const k=C.target;e.onchange({...e.region,content:k.value})}function a(C){e.onchange({...e.region,content:C})}function l(){e.region.content.trim()&&!confirm(`Delete region "${e.region.name}"? Its content will be lost.`)||e.ondelete()}function c(C){C.style.height="auto",C.style.height=`${C.scrollHeight}px`}function u(C){const k=C.target;c(k),o(C)}var f=dU(),d=D(f),h=D(d),m=D(h);m.__input=i;var p=R(m,2);Lt(p,20,()=>["replace","prepend","append"],en,(C,k)=>{var x=cU();let E;x.__click=()=>s(k);var T=D(x);fe(()=>{E=We(x,1,"region-card__mode-btn svelte-1ah7fba",null,E,{active:e.region.mode===k}),Le(T,k)}),z(C,x)});var O=R(h,2),v=D(O);{var b=C=>{var k=uU();let x;k.__click=()=>{M(t,!g(t))};var E=D(k);fe(()=>{x=We(k,1,"region-card__toggle-btn svelte-1ah7fba",null,x,{active:g(t)}),Le(E,g(t)?"Text":"Visual")}),z(C,k)};ue(v,C=>{g(r)&&C(b)})}var _=R(v,2);_.__click=l;var A=R(d,2),w=D(A);{var y=C=>{lU(C,{get content(){return e.region.content},onchange:a})},S=C=>{var k=fU();k.__input=u,GP(k,x=>c?.(x)),fe(()=>dn(k,e.region.content)),z(C,k)};ue(w,C=>{g(r)&&g(t)?C(y):C(S,!1)})}fe(()=>dn(m,e.region.name)),z(n,f),vt()}Kt(["input","click"]);var pU=V('<span class="layout-editor__path svelte-u2phg9"> </span>'),mU=V('<div class="layout-editor__raw svelte-u2phg9"><!></div>'),gU=V('<div class="layout-editor__empty svelte-u2phg9"><p class="svelte-u2phg9">No regions defined. Add a region to get started.</p></div>'),OU=V('<div class="layout-editor__regions svelte-u2phg9"><!> <!> <button class="layout-editor__add-btn svelte-u2phg9"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M8 3v10M3 8h10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg> Add Region</button></div>'),vU=V('<div class="layout-editor svelte-u2phg9"><div class="layout-editor__header svelte-u2phg9"><div class="layout-editor__title-row svelte-u2phg9"><svg class="layout-editor__icon svelte-u2phg9" width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="1" width="14" height="14" rx="2" stroke="currentColor" stroke-width="1.2"></rect><path d="M1 5h14M6 5v10" stroke="currentColor" stroke-width="1.2"></path></svg> <span class="layout-editor__title svelte-u2phg9">Layout</span> <!></div> <div class="layout-editor__mode-track svelte-u2phg9"><button>Visual</button> <button>Raw</button></div></div> <!></div>');function bU(n,e){Ot(e,!0);let t=J(!1),r=J(rn({regions:[]})),i="";yn(()=>{const y=F.editorContent;y!==i&&(M(r,FY(y),!0),i=y)});function s(){const y=XY(g(r));i=y,F.editorContent=y,F.bodyContent=y}function o(y,S){g(r).regions[y]=S,M(r,{...g(r)},!0),s()}function a(y){g(r).regions.splice(y,1),M(r,{...g(r)},!0),s()}function l(){g(r).regions.push({name:"",mode:"replace",content:""}),M(r,{...g(r)},!0),s()}var c=vU(),u=D(c),f=D(u),d=R(D(f),4);{var h=y=>{var S=pU(),C=D(S);fe(()=>Le(C,F.currentPath)),z(y,S)};ue(d,y=>{F.currentPath&&y(h)})}var m=R(f,2),p=D(m);let O;p.__click=()=>{M(t,!1)};var v=R(p,2);let b;v.__click=()=>{M(t,!0)};var _=R(u,2);{var A=y=>{var S=mU(),C=D(S);MA(C,{}),z(y,S)},w=y=>{var S=OU(),C=D(S);{var k=T=>{var $=gU();z(T,$)};ue(C,T=>{g(r).regions.length===0&&T(k)})}var x=R(C,2);Lt(x,17,()=>g(r).regions,en,(T,$,Q)=>{hU(T,{get region(){return g($)},onchange:P=>o(Q,P),ondelete:()=>a(Q)})});var E=R(x,2);E.__click=l,z(y,S)};ue(_,y=>{g(t)?y(A):y(w,!1)})}fe(()=>{O=We(p,1,"layout-editor__mode-btn svelte-u2phg9",null,O,{active:!g(t)}),b=We(v,1,"layout-editor__mode-btn svelte-u2phg9",null,b,{active:g(t)})}),z(n,c),vt()}Kt(["click"]);var yU=V('<div class="preview__empty svelte-1iqwj2q"><svg class="preview__empty-icon svelte-1iqwj2q" width="40" height="40" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="8" width="40" height="32" rx="3" class="svelte-1iqwj2q"></rect><line x1="4" y1="16" x2="44" y2="16" class="svelte-1iqwj2q"></line><circle cx="10" cy="12" r="1.5" fill="currentColor" stroke="none" class="svelte-1iqwj2q"></circle><circle cx="15" cy="12" r="1.5" fill="currentColor" stroke="none" class="svelte-1iqwj2q"></circle><circle cx="20" cy="12" r="1.5" fill="currentColor" stroke="none" class="svelte-1iqwj2q"></circle><line x1="14" y1="26" x2="34" y2="26" class="svelte-1iqwj2q"></line><line x1="14" y1="32" x2="28" y2="32" class="svelte-1iqwj2q"></line></svg> <span class="preview__empty-text svelte-1iqwj2q">Select a page to preview</span></div>'),wU=V('<div class="preview__progress svelte-1iqwj2q"></div>'),_U=V('<iframe title="Preview" src="/preview/" class="preview__iframe svelte-1iqwj2q"></iframe>'),kU=V('<iframe title="Preview" class="preview__iframe svelte-1iqwj2q"></iframe>'),xU=V('<div class="preview__container svelte-1iqwj2q"><!> <div class="preview__viewport svelte-1iqwj2q"><!></div></div>');function SU(n,e){Ot(e,!0);let t=J(""),r=J(void 0),i=J(void 0),s,o=new Map,a=J(!1);const l=me(()=>g(t).replace("<html",`<html data-theme="${F.previewTheme}"`));yn(()=>{function m(p){if(p.data?.type==="preview-ready")F.previewRuntimeReady=!0;else if(p.data?.type==="preview-navigate"){const O=p.data.href,v=o.get(O);v&&e.onnavigate&&e.onnavigate(v)}}return window.addEventListener("message",m),()=>window.removeEventListener("message",m)});const c=me(()=>F.previewRuntimeAvailable&&F.previewRuntimeReady);yn(()=>{const m=dP(F.routeRules);g(c)&&g(r)?.contentWindow&&g(r).contentWindow.postMessage({type:"route-rules-update",routeRules:m},"*")}),yn(()=>{const m=F.previewTheme;g(c)&&g(r)?.contentWindow&&g(r).contentWindow.postMessage({type:"theme-update",theme:m},"*")}),yn(()=>{const m=F.currentPath,p=F.editorContent,O=g(c);if(!m||!p){M(t,"");return}return M(a,!0),clearTimeout(s),s=setTimeout(async()=>{try{if(O){const v=await lY(m,p);v.pages&&(o=new Map(v.pages.map(b=>[b.url,b.path]))),g(r)?.contentWindow?.postMessage({type:"preview-update",page:v},"*")}else M(t,await aY(m,p),!0)}catch{}finally{M(a,!1)}},400),()=>clearTimeout(s)});var u=mn(),f=st(u);{var d=m=>{var p=yU();z(m,p)},h=m=>{var p=xU(),O=D(p);{var v=y=>{var S=wU();z(y,S)};ue(O,y=>{g(a)&&y(v)})}var b=R(O,2),_=D(b);{var A=y=>{var S=_U();gn(S,C=>M(r,C),()=>g(r)),z(y,S)},w=y=>{var S=kU();gn(S,C=>M(i,C),()=>g(i)),fe(()=>$t(S,"srcdoc",g(l))),z(y,S)};ue(_,y=>{F.previewRuntimeAvailable?y(A):y(w,!1)})}z(m,p)};ue(f,m=>{F.currentPath?m(h,!1):m(d)})}z(n,u),vt()}var AU=V('<div class="page-card svelte-1nxc0wz"><!></div>');function CU(n,e){Ot(e,!0);const t={desktop:1440,tablet:768,mobile:375},r=me(()=>F.editorMode==="preview"?t[F.viewport]??1440:1440);var i=AU(),s=D(i);ga(s,()=>e.children),fe(()=>$r(i,`--page-card-width: ${g(r)??""}px`)),z(n,i),vt()}var TU=V('<div class="popover svelte-ohlzgl"><!></div>');function _T(n,e){Ot(e,!0);let t,r=J(e.anchorRect.x+e.anchorRect.width+8),i=J(rn(e.anchorRect.y));ro(()=>{if(t){const c=t.getBoundingClientRect();c.right>window.innerWidth-8&&M(r,e.anchorRect.x-c.width-8),c.bottom>window.innerHeight-8&&M(i,window.innerHeight-c.height-8),g(i)<8&&M(i,8)}function a(c){t&&!t.contains(c.target)&&e.onclose()}function l(c){c.key==="Escape"&&e.onclose()}return requestAnimationFrame(()=>{document.addEventListener("click",a)}),document.addEventListener("keydown",l),()=>{document.removeEventListener("click",a),document.removeEventListener("keydown",l)}});var s=TU(),o=D(s);ga(o,()=>e.children),gn(s,a=>t=a,()=>t),fe(()=>$r(s,`left: ${g(r)??""}px; top: ${g(i)??""}px`)),z(n,s),vt()}var PU=V('<span class="modal__location svelte-vqemeo"> </span>'),EU=V('<span class="modal__hint svelte-vqemeo">Auto-derived from title</span>'),$U=V('<label class="modal__field svelte-vqemeo"><span class="modal__label svelte-vqemeo">Title</span> <input class="modal__input svelte-vqemeo" type="text" placeholder="My New Page"/></label> <label class="modal__field svelte-vqemeo"><span class="modal__label svelte-vqemeo">Slug</span> <input class="modal__input svelte-vqemeo" type="text" placeholder="my-new-page"/> <!></label> <label class="modal__checkbox svelte-vqemeo"><input type="checkbox"/> <span>Create as draft</span></label> <div class="modal__actions svelte-vqemeo"><button type="button" class="modal__btn modal__btn--cancel svelte-vqemeo">Cancel</button> <button type="submit" class="modal__btn modal__btn--primary svelte-vqemeo">Create</button></div>',1),QU=V('<span class="modal__error svelte-vqemeo">Use lowercase letters, numbers, and hyphens</span>'),LU=V('<label class="modal__field svelte-vqemeo"><span class="modal__label svelte-vqemeo">Name</span> <input class="modal__input svelte-vqemeo" type="text" placeholder="my-section"/> <!></label> <label class="modal__checkbox svelte-vqemeo"><input type="checkbox"/> <span>Create with _layout.md</span></label> <div class="modal__actions svelte-vqemeo"><button type="button" class="modal__btn modal__btn--cancel svelte-vqemeo">Cancel</button> <button type="submit" class="modal__btn modal__btn--primary svelte-vqemeo">Create</button></div>',1),MU=V('<form class="modal__form svelte-vqemeo"><div class="modal__tabs svelte-vqemeo"><button type="button"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M9 1.5H4a1.5 1.5 0 0 0-1.5 1.5v10A1.5 1.5 0 0 0 4 14.5h8A1.5 1.5 0 0 0 13.5 13V6L9 1.5Z"></path><polyline points="9 1.5 9 6 13.5 6"></polyline></svg> File</button> <button type="button"><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M1.5 4h4.5l1.5 1.5H14.5v8.5h-13z"></path><path d="M1.5 4v-1.5h4.5l1.5 1.5"></path></svg> Folder</button></div> <!> <!></form>');function qU(n,e){Ot(e,!0);let t=Et(e,"initialDirectory",3,""),r=J("file"),i=J(""),s=J(""),o=J(!1),a=J(!1),l=me(()=>g(i).toLowerCase().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")),c=me(()=>g(o)?g(s):g(l)),u=J(""),f=J(!0),d=me(()=>/^[a-z0-9][a-z0-9-]*$/.test(g(u)));function h(m){if(m.preventDefault(),g(r)==="file"){if(!g(c))return;e.oncreate({directory:t(),slug:g(c),title:g(i)||g(c),template:"blank",draft:g(a)})}else{if(!g(d))return;e.oncreatefolder({parent:t(),name:g(u),createLayout:g(f)})}}_T(n,{get anchorRect(){return e.anchorRect},get onclose(){return e.onclose},children:(m,p)=>{var O=MU(),v=D(O),b=D(v);let _;b.__click=()=>M(r,"file");var A=R(b,2);let w;A.__click=()=>M(r,"folder");var y=R(v,2);{var S=E=>{var T=PU(),$=D(T);fe(()=>Le($,`in ${t()??""}/`)),z(E,T)};ue(y,E=>{t()&&E(S)})}var C=R(y,2);{var k=E=>{var T=$U(),$=st(T),Q=R(D($),2);ys(Q);var P=R($,2),q=R(D(P),2);q.__input=ie=>{M(s,ie.target.value,!0),M(o,!0)};var I=R(q,2);{var W=ie=>{var se=EU();z(ie,se)};ue(I,ie=>{!g(o)&&g(i)&&ie(W)})}var U=R(P,2),K=D(U),ae=R(U,2),re=D(ae);re.__click=function(...ie){e.onclose?.apply(this,ie)};var H=R(re,2);fe(()=>{dn(q,g(c)),H.disabled=!g(c)}),Nn(Q,()=>g(i),ie=>M(i,ie)),Wp(K,()=>g(a),ie=>M(a,ie)),z(E,T)},x=E=>{var T=LU(),$=st(T),Q=R(D($),2);ys(Q);var P=R(Q,2);{var q=re=>{var H=QU();z(re,H)};ue(P,re=>{g(u)&&!g(d)&&re(q)})}var I=R($,2),W=D(I),U=R(I,2),K=D(U);K.__click=function(...re){e.onclose?.apply(this,re)};var ae=R(K,2);fe(()=>ae.disabled=!g(d)),Nn(Q,()=>g(u),re=>M(u,re)),Wp(W,()=>g(f),re=>M(f,re)),z(E,T)};ue(C,E=>{g(r)==="file"?E(k):E(x,!1)})}fe(()=>{_=We(b,1,"modal__tab svelte-vqemeo",null,_,{active:g(r)==="file"}),w=We(A,1,"modal__tab svelte-vqemeo",null,w,{active:g(r)==="folder"})}),ct("submit",O,h),z(m,O)},$$slots:{default:!0}}),vt()}Kt(["click","input"]);var DU=V('<span class="modal__error svelte-fv7j9w">Use lowercase letters, numbers, and hyphens</span>'),RU=V("<option> </option>"),IU=V('<dialog class="modal svelte-fv7j9w"><form class="modal__form svelte-fv7j9w"><h2 class="modal__title svelte-fv7j9w">New Directory</h2> <label class="modal__field svelte-fv7j9w"><span class="modal__label svelte-fv7j9w">Name</span> <input class="modal__input svelte-fv7j9w" type="text" placeholder="my-section"/> <!></label> <label class="modal__field svelte-fv7j9w"><span class="modal__label svelte-fv7j9w">Parent directory</span> <select class="modal__select svelte-fv7j9w"></select></label> <label class="modal__checkbox svelte-fv7j9w"><input type="checkbox"/> <span>Create with _layout.md</span></label> <div class="modal__actions svelte-fv7j9w"><button type="button" class="modal__btn modal__btn--cancel svelte-fv7j9w">Cancel</button> <button type="submit" class="modal__btn modal__btn--primary svelte-fv7j9w">Create</button></div></form></dialog>');function NU(n,e){Ot(e,!0);let t=J(""),r=J(""),i=J(!0),s;function o(C,k=[]){if(!C||C.type!=="directory")return k;k.push(C.path);for(const x of C.children??[])o(x,k);return k}let a=me(()=>o(F.tree)),l=me(()=>/^[a-z0-9][a-z0-9-]*$/.test(g(t)));yn(()=>{s&&!s.open&&s.showModal()});function c(C){C.preventDefault(),g(l)&&e.oncreate({parent:g(r),name:g(t),createLayout:g(i)})}function u(C){C.key==="Escape"&&e.onclose()}var f=IU();f.__keydown=u;var d=D(f),h=R(D(d),2),m=R(D(h),2);ys(m);var p=R(m,2);{var O=C=>{var k=DU();z(C,k)};ue(p,C=>{g(t)&&!g(l)&&C(O)})}var v=R(h,2),b=R(D(v),2);Lt(b,21,()=>g(a),en,(C,k)=>{var x=RU(),E=D(x),T={};fe(()=>{Le(E,g(k)||"/ (root)"),T!==(T=g(k))&&(x.value=(x.__value=g(k))??"")}),z(C,x)});var _=R(v,2),A=D(_),w=R(_,2),y=D(w);y.__click=function(...C){e.onclose?.apply(this,C)};var S=R(y,2);gn(f,C=>s=C,()=>s),fe(()=>S.disabled=!g(l)),ct("close",f,function(...C){e.onclose?.apply(this,C)}),ct("submit",d,c),Nn(m,()=>g(t),C=>M(t,C)),x_(b,()=>g(r),C=>M(r,C)),Wp(A,()=>g(i),C=>M(i,C)),z(n,f),vt()}Kt(["keydown","click"]);var BU=V('<span class="modal__error svelte-e8lnud">Use lowercase letters, numbers, and hyphens</span>'),jU=V('<span class="modal__hint svelte-e8lnud"> </span>'),zU=V("<option> </option>"),ZU=V('<form class="modal__form svelte-e8lnud"><h2 class="modal__title svelte-e8lnud">New Category</h2> <p class="modal__desc svelte-e8lnud">Creates a directory with a route rule and layout.</p> <label class="modal__field svelte-e8lnud"><span class="modal__label svelte-e8lnud">Name</span> <input class="modal__input svelte-e8lnud" type="text" placeholder="tutorials"/> <!></label> <label class="modal__field svelte-e8lnud"><span class="modal__label svelte-e8lnud">Layout</span> <select class="modal__select svelte-e8lnud"></select></label> <div class="modal__actions svelte-e8lnud"><button type="button" class="modal__btn modal__btn--cancel svelte-e8lnud">Cancel</button> <button type="submit" class="modal__btn modal__btn--primary svelte-e8lnud">Create</button></div></form>');function FU(n,e){Ot(e,!0);let t=J(""),r=J("default"),i=me(()=>/^[a-z0-9][a-z0-9-]*$/.test(g(t))),s=me(()=>{const a=F.themeConfig;return a?.layouts?Object.keys(a.layouts):["default"]});function o(a){a.preventDefault(),g(i)&&e.oncreate({name:g(t),layout:g(r)})}_T(n,{get anchorRect(){return e.anchorRect},get onclose(){return e.onclose},children:(a,l)=>{var c=ZU(),u=R(D(c),4),f=R(D(u),2);ys(f);var d=R(f,2);{var h=A=>{var w=BU();z(A,w)},m=A=>{var w=jU(),y=D(w);fe(()=>Le(y,`Pattern: ${g(t)??""}/** · Directory: ${g(t)??""}/`)),z(A,w)};ue(d,A=>{g(t)&&!g(i)?A(h):g(t)&&A(m,1)})}var p=R(u,2),O=R(D(p),2);Lt(O,21,()=>g(s),en,(A,w)=>{var y=zU(),S=D(y),C={};fe(()=>{Le(S,g(w)),C!==(C=g(w))&&(y.value=(y.__value=g(w))??"")}),z(A,y)});var v=R(p,2),b=D(v);b.__click=function(...A){e.onclose?.apply(this,A)};var _=R(b,2);fe(()=>_.disabled=!g(i)),ct("submit",c,o),Nn(f,()=>g(t),A=>M(t,A)),x_(O,()=>g(r),A=>M(r,A)),z(a,c)},$$slots:{default:!0}}),vt()}Kt(["click"]);var XU=As('<svg class="context-menu__icon svelte-1ksg7ac" width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path></path></svg>'),VU=V("<button><!> </button>"),WU=V('<div class="context-menu svelte-1ksg7ac"></div>');function YU(n,e){Ot(e,!0);let t,r=J(rn(e.x)),i=J(rn(e.y));function s(l){switch(l){case"Rename":return"M12.5 3.5l-9 9L2 16l3.5-1.5 9-9zM10.5 5.5l2 2";case"Duplicate":return"M5 3h6l3 3v7H5zM3 6v9h8";case"Delete":return"M3 5h12M6 5V3h6v2M5 5v9h8V5";case"Publish":case"Set as Draft":return"M2 8h5v6H2zM9 4h5v10H9z";default:return null}}ro(()=>{if(t){const c=t.getBoundingClientRect();c.right>window.innerWidth&&M(r,window.innerWidth-c.width-4),c.bottom>window.innerHeight&&M(i,window.innerHeight-c.height-4)}function l(c){t&&!t.contains(c.target)&&e.onclose()}return requestAnimationFrame(()=>{document.addEventListener("click",l),document.addEventListener("contextmenu",l)}),()=>{document.removeEventListener("click",l),document.removeEventListener("contextmenu",l)}});function o(l){l(),e.onclose()}var a=WU();Lt(a,21,()=>e.items,en,(l,c)=>{const u=me(()=>s(g(c).label));var f=VU();let d;f.__click=()=>o(g(c).action);var h=D(f);{var m=O=>{var v=XU(),b=D(v);fe(()=>$t(b,"d",g(u))),z(O,v)};ue(h,O=>{g(u)&&O(m)})}var p=R(h);fe(()=>{d=We(f,1,"context-menu__item svelte-1ksg7ac",null,d,{danger:g(c).danger}),Le(p,` ${g(c).label??""}`)}),z(l,f)}),gn(a,l=>t=l,()=>t),fe(()=>$r(a,`left: ${g(r)??""}px; top: ${g(i)??""}px`)),z(n,a),vt()}Kt(["click"]);var UU=V('<dialog class="dialog svelte-19l8tke"><form class="dialog__form svelte-19l8tke"><h2 class="dialog__title svelte-19l8tke">Rename</h2> <input class="dialog__input svelte-19l8tke" type="text"/> <div class="dialog__actions svelte-19l8tke"><button type="button" class="dialog__btn dialog__btn--cancel svelte-19l8tke">Cancel</button> <button type="submit" class="dialog__btn dialog__btn--primary svelte-19l8tke">Rename</button></div></form></dialog>');function GU(n,e){Ot(e,!0);let t=J(rn(e.currentName)),r;yn(()=>{r&&!r.open&&r.showModal()});function i(f){f.preventDefault();const d=g(t).trim();d&&d!==e.currentName&&e.onrename(d)}var s=UU(),o=D(s),a=R(D(o),2);ys(a),a.__keydown=f=>{f.key==="Escape"&&e.onclose()};var l=R(a,2),c=D(l);c.__click=function(...f){e.onclose?.apply(this,f)};var u=R(c,2);gn(s,f=>r=f,()=>r),fe(f=>u.disabled=f,[()=>!g(t).trim()||g(t).trim()===e.currentName]),ct("close",s,function(...f){e.onclose?.apply(this,f)}),ct("submit",o,i),Nn(a,()=>g(t),f=>M(t,f)),z(n,s),vt()}Kt(["keydown","click"]);var HU=V('<dialog class="dialog svelte-1r8rwv8"><form class="dialog__form svelte-1r8rwv8"><h2 class="dialog__title svelte-1r8rwv8"> </h2> <p class="dialog__message svelte-1r8rwv8"> </p> <div class="dialog__actions svelte-1r8rwv8"><button type="button" class="dialog__btn dialog__btn--cancel svelte-1r8rwv8">Cancel</button> <button type="submit" class="dialog__btn dialog__btn--danger svelte-1r8rwv8"> </button></div></form></dialog>');function KU(n,e){Ot(e,!0);let t=Et(e,"confirmLabel",3,"Delete"),r;yn(()=>{r&&!r.open&&r.showModal()});function i(p){p.preventDefault(),e.onconfirm()}var s=HU(),o=D(s),a=D(o),l=D(a),c=R(a,2),u=D(c),f=R(c,2),d=D(f);d.__click=function(...p){e.onclose?.apply(this,p)};var h=R(d,2),m=D(h);gn(s,p=>r=p,()=>r),fe(()=>{Le(l,e.title),Le(u,e.message),Le(m,t())}),ct("close",s,function(...p){e.onclose?.apply(this,p)}),ct("submit",o,i),z(n,s),vt()}Kt(["click"]);var JU=V('<div class="banner svelte-toaoe3"><span class="banner__text svelte-toaoe3"> </span> <button class="banner__btn banner__btn--reload svelte-toaoe3">Reload</button> <button class="banner__btn banner__btn--dismiss svelte-toaoe3">Dismiss</button></div>');function eG(n,e){Ot(e,!0);const t=me(()=>F.externalChange?.event==="file-deleted");var r=mn(),i=st(r);{var s=o=>{var a=JU(),l=D(a),c=D(l),u=R(l,2);u.__click=function(...d){e.onreload?.apply(this,d)};var f=R(u,2);f.__click=()=>{F.externalChange=null},fe(()=>Le(c,g(t)?"This file was deleted outside the editor.":"This file was changed outside the editor.")),z(o,a)};ue(i,o=>{F.externalChange&&o(s)})}z(n,r),vt()}Kt(["click"]);var tG=V("<!> <!>",1),nG=V("<!> <!>",1),rG=V('<div class="editor-placeholder svelte-16t0oly"><svg width="40" height="40" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-16t0oly"><rect x="6" y="4" width="24" height="32" rx="2"></rect><polyline points="20 4 20 14 30 14"></polyline><line x1="12" y1="22" x2="24" y2="22"></line><line x1="12" y1="27" x2="20" y2="27"></line><path d="M34 24l6 6M34 36l6-6"></path></svg> <span>Select a file to edit</span></div>'),iG=V('<div class="editor-app svelte-16t0oly"><!></div> <!> <!> <!> <!> <!> <!>',1);function sG(n,e){Ot(e,!0),customElements.get("rf-diagram")||customElements.define("rf-diagram",KX),customElements.get("rf-sandbox")||customElements.define("rf-sandbox",eV),customElements.get("rf-map")||customElements.define("rf-map",JX);let t=J(!1),r=J(!1),i=J(!1),s=J(""),o=J(null),a=J(null),l=J(null),c=J(null),u=J(null),f="",d=0;ro(()=>{(async()=>{F.treeLoading=!0;try{const[Te,Qe,De,ge,Ee]=await Promise.all([$w(),bY(),cY(),uY(),yY()]);F.tree=Te,F.runes=Qe,F.previewRuntimeAvailable=De.previewRuntime,F.themeCss=De.themeCss,F.themeConfig=De.themeConfig,F.routeRules=ge??[],F.aggregated=Ee,De.hasCommunityTags&&oe(()=>import("/api/community-tags.js"),[]).then(tt=>{F.communityTags=tt.communityTags??null,F.communityPostTransforms=tt.communityPostTransforms??null,F.communityStyles=tt.communityStyles??null}).catch(()=>{}),oe(async()=>{const{createHighlightTransform:tt}=await import("./index-DOAt_21u.js");return{createHighlightTransform:tt}},[]).then(({createHighlightTransform:tt})=>tt().then(Ve=>{F.highlightTransform=Ve,F.highlightCss=Ve.css})).catch(()=>{});const Ke=Te.children?.find(tt=>tt.type==="page"&&tt.name==="index.md");Ke&&m(Ke.path)}catch(Te){F.error=Te instanceof Error?Te.message:"Failed to load content tree"}finally{F.treeLoading=!1}})();let j;const ne=wY((Te,Qe)=>{if(clearTimeout(j),j=setTimeout(()=>h(),500),Qe.path===F.currentPath){if(f===Qe.path&&Date.now()-d<2e3)return;F.externalChange={path:Qe.path,event:Te}}});return()=>{ne(),clearTimeout(j)}});async function h(){try{F.tree=await $w()}catch{}}async function m(j){if(!(F.dirty&&!confirm("You have unsaved changes. Discard them?"))){F.externalChange=null,F.fileLoading=!0,F.error=null;try{const ne=await Np(j);F.loadFile(j,ne.raw)}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to load file"}finally{F.fileLoading=!1}}}async function p(){if(!(!F.currentPath||!F.dirty)){F.saving=!0,F.error=null;try{f=F.currentPath,d=Date.now(),await oY(F.currentPath,F.editorContent),F.savedContent=F.editorContent,F.saveJustCompleted=!0,setTimeout(()=>{F.saveJustCompleted=!1},1500)}catch(j){F.error=j instanceof Error?j.message:"Failed to save file"}finally{F.saving=!1}}}function O(j){(j.metaKey||j.ctrlKey)&&j.key==="s"&&(j.preventDefault(),p())}async function v(j){try{const ne=await dY(j);M(t,!1),await h(),await m(ne.path)}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to create page"}}async function b(j){try{await Qw(j),M(r,!1),M(t,!1),await h()}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to create directory"}}async function _(j){try{await Qw({parent:"",name:j.name,createLayout:!0});const ne={pattern:`${j.name}/**`,layout:j.layout},Te=[...F.routeRules],Qe=Te.findIndex(De=>De.pattern==="**");Qe>=0?Te.splice(Qe,0,ne):Te.push(ne),await fY(Te),F.routeRules=Te,M(i,!1),await h()}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to create category"}}function A(j,ne){M(l,{x:j.clientX,y:j.clientY,node:ne},!0)}function w(j){const ne=[];return j.type==="page"||j.type==="layout"?(ne.push({label:"Rename",action:()=>{M(c,j,!0)}}),j.type==="page"&&(ne.push({label:"Duplicate",action:()=>S(j)}),ne.push({label:j.draft?"Publish":"Set as Draft",action:()=>x(j)})),ne.push({label:"Delete",action:()=>{M(u,j,!0)},danger:!0})):j.type==="directory"&&(ne.push({label:"Rename",action:()=>{M(c,j,!0)}}),ne.push({label:"Delete",action:()=>{M(u,j,!0)},danger:!0})),ne}async function y(j){if(!g(c))return;const ne=g(c).path;try{const Te=await hY(ne,j);M(c,null),await h(),F.currentPath===ne&&await m(Te.newPath)}catch(Te){F.error=Te instanceof Error?Te.message:"Failed to rename"}}async function S(j){try{const ne=await pY(j.path);await h(),await m(ne.path)}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to duplicate"}}async function C(){if(!g(u))return;const j=g(u).path;try{await mY(j),M(u,null),await h(),F.currentPath===j&&(F.currentPath=null,F.editorContent="",F.savedContent="",F.bodyContent="",F.frontmatter={})}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to delete"}}async function k(){if(!(F.dirty&&!confirm("You have unsaved changes. Reload will discard them."))){if(F.externalChange?.event==="file-deleted")F.currentPath=null,F.editorContent="",F.savedContent="",F.bodyContent="",F.frontmatter={};else if(F.externalChange){const j=await Np(F.externalChange.path);F.loadFile(j.path,j.raw)}F.externalChange=null}}async function x(j){try{if(await gY(j.path),await h(),F.currentPath===j.path){const ne=await Np(j.path);F.loadFile(j.path,ne.raw)}}catch(ne){F.error=ne instanceof Error?ne.message:"Failed to toggle draft"}}var E=iG();ct("keydown",No,O);var T=st(E),$=D(T);L$($,{header:De=>{$$(De,{onsave:p})},left:De=>{G$(De,{onselectfile:m,onnewpage:(ge,Ee)=>{M(s,ge??"",!0),M(o,Ee,!0),M(t,!0)},onnewdirectory:ge=>{M(r,!0)},onnewcategory:ge=>{M(a,ge,!0),M(i,!0)},oncontextmenu:A})},center:De=>{var ge=nG(),Ee=st(ge);eG(Ee,{onreload:k});var Ke=R(Ee,2);{var tt=Ge=>{bU(Ge,{})},Ve=Ge=>{var Re=tG(),At=st(Re);cQ(At,{forceRawMode:!0});var Jt=R(At,2);MA(Jt,{}),z(Ge,Re)};ue(Ke,Ge=>{F.currentFileType==="layout"?Ge(tt):F.currentPath&&Ge(Ve,1)})}z(De,ge)},right:De=>{var ge=mn(),Ee=st(ge);{var Ke=Ve=>{var Ge=rG();z(Ve,Ge)},tt=Ve=>{CU(Ve,{children:(Ge,Re)=>{var At=mn(),Jt=st(At);{var En=on=>{SU(on,{onnavigate:m})},ft=on=>{{let an=me(()=>F.editorMode==="code");ZY(on,{get bodyContent(){return F.bodyContent},onchange:Vn=>F.updateBody(Vn),get runes(){return F.runes},get themeConfig(){return F.themeConfig},get themeCss(){return F.themeCss},get highlightCss(){return F.highlightCss},get highlightTransform(){return F.highlightTransform},get frontmatter(){return F.frontmatter},get readOnly(){return g(an)},get communityTags(){return F.communityTags},get communityPostTransforms(){return F.communityPostTransforms},get communityStyles(){return F.communityStyles},get aggregated(){return F.aggregated}})}};ue(Jt,on=>{F.editorMode==="preview"?on(En):on(ft,!1)})}z(Ge,At)},$$slots:{default:!0}})};ue(Ee,Ve=>{F.currentPath?F.currentFileType!=="layout"&&Ve(tt,1):Ve(Ke)})}z(De,ge)},$$slots:{header:!0,left:!0,center:!0,right:!0}});var Q=R(T,2);{var P=j=>{qU(j,{oncreate:v,oncreatefolder:b,onclose:()=>{M(t,!1)},get initialDirectory(){return g(s)},get anchorRect(){return g(o)}})};ue(Q,j=>{g(t)&&g(o)&&j(P)})}var q=R(Q,2);{var I=j=>{FU(j,{oncreate:_,onclose:()=>{M(i,!1)},get anchorRect(){return g(a)}})};ue(q,j=>{g(i)&&g(a)&&j(I)})}var W=R(q,2);{var U=j=>{NU(j,{oncreate:b,onclose:()=>{M(r,!1)}})};ue(W,j=>{g(r)&&j(U)})}var K=R(W,2);{var ae=j=>{{let ne=me(()=>w(g(l).node));YU(j,{get x(){return g(l).x},get y(){return g(l).y},get items(){return g(ne)},onclose:()=>{M(l,null)}})}};ue(K,j=>{g(l)&&j(ae)})}var re=R(K,2);{var H=j=>{GU(j,{get currentName(){return g(c).name},onrename:y,onclose:()=>{M(c,null)}})};ue(re,j=>{g(c)&&j(H)})}var ie=R(re,2);{var se=j=>{{let ne=me(()=>g(u).type==="directory"?"directory":"file");KU(j,{get title(){return`Delete ${g(ne)??""}`},get message(){return`Are you sure you want to delete "${g(u).name??""}"? This cannot be undone.`},onconfirm:C,onclose:()=>{M(u,null)}})}};ue(ie,j=>{g(u)&&j(se)})}z(n,E),vt()}ZP(sG,{target:document.getElementById("app")});export{_S as C,Ur as E,Ut as I,Ya as L,U2 as N,oe as _,Ha as a,hl as b,df as c,Wq as d,Vx as e,eu as f,Ja as g,Cn as h,sn as i,Jf as j,wM as k,yM as l,rx as m,wr as n,Me as o,pe as p,lA as q,G2 as r,dl as s,N as t,IS as u,ox as v,li as w};
|