import{d as z,m as J,A as G,H as x,M as E,a6 as Q,a7 as I,a8 as w,a9 as nn,s as ln,aa as en,b as on,W as tn,I as rn}from"./entry.DgfZmQT1.js";import{u as an}from"./preview.v_mME2zL.js";class S{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}S.prototype.property={};S.prototype.normal={};S.prototype.space=null;function j(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&dn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(U,fn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!U.test(a)){let i=a.replace(gn,mn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=R}return new r(t,l)}function mn(n){return"-"+n.toLowerCase()}function fn(n){return n.charAt(1).toUpperCase()}const yn=j([F,H,q,W,cn],"html");j([F,H,q,W,pn],"svg");const T=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],M="default",K=/^@|^v-on:/,X=/^:|^v-bind:/,Y=/^v-model/,vn=["select","textarea","input"],bn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr","script"].map(n=>[n,`prose-${n}`])),kn=z({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},tag:{type:[String,Boolean],default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})}},async setup(n){var r,a;const{mdc:l}=J().public,o={...l.components.prose&&n.prose!==!1?bn:{},...l.components.map,...G(((a=(r=n.data)==null?void 0:r.mdc)==null?void 0:a.components)||{}),...n.components},t=x(()=>{var s;const i=(((s=n.body)==null?void 0:s.children)||[]).map(c=>c.tag||c.type).filter(c=>!T.includes(c));return Array.from(new Set(i)).sort().join(".")});return await Tn(n.body,{tags:o}),{tags:o,contentKey:t}},render(n){var h,y,d;const{tags:l,tag:o,body:t,data:r,contentKey:a}=n;if(!t)return null;const i={...r,tags:l},s=o!==!1?A(o||((h=i.component)==null?void 0:h.name)||i.component||"div"):void 0,c=$(t,E,i,i);return s?E(s,{...(y=i.component)==null?void 0:y.props,...this.$attrs,key:a},c):(d=c.default)==null?void 0:d.call(c)}});function Cn(n,l,o,t={}){if(n.type==="text")return l(w,n.value);const r=n.tag,a=Z(n,o.tags);if(n.tag==="binding")return Sn(n,l,o,t);const i=A(a);typeof i=="object"&&(i.tag=r);const s=xn(n,o);return l(i,s,$(n,l,o,{...t,...s}))}function Sn(n,l,o,t={}){var h,y;const r={...t,$route:()=>ln(),$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((h=n.props)==null?void 0:h.value.trim().split(a).filter(Boolean)).reduce((d,b)=>b in d?typeof d[b]=="function"?d[b]():d[b]:{},r),c=(y=n.props)==null?void 0:y.defaultValue;return l(w,s??c??"")}function $(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!Mn(c))return s[M].push(c),s;const h=Ln(c);return s[h]=s[h]||[],c.type==="element"&&s[h].push(...c.children||[]),s},{[M]:[]});return Object.entries(a).reduce((s,[c,h])=>(h.length&&(s[c]=()=>{const y=h.map(d=>Cn(d,l,o,t));return Rn(y)}),s),{})}function xn(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(Y.test(a)&&!vn.includes(o))return wn(a,i,r,l);if(a==="v-bind")return Pn(a,i,r,l);if(K.test(a))return On(a,i,r,l);if(X.test(a))return Dn(a,i,r,l);const{attribute:s}=hn(yn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function wn(n,l,o,t){const r=d=>+d,a=d=>d.trim(),i=d=>d,s=n.replace(Y,"").split(".").filter(d=>d).reduce((d,b)=>(d[b]=!0,d),{}),c="value",h=s.lazy?"change":"input",y=s.number?r:s.trim?a:i;return o[c]=P(l,t),o.on=o.on||{},o.on[h]=d=>t[l]=y(d),o}function Pn(n,l,o,t){const r=P(l,t);return o=Object.assign(o,r),o}function On(n,l,o,t){return n=n.replace(K,""),o.on=o.on||{},o.on[n]=()=>P(l,t),o}function Dn(n,l,o,t){return n=n.replace(X,""),o[n]=P(l,t),o}const A=n=>{if(!T.includes(n)&&!(n!=null&&n.render)){const l=Q(I(n),!1);if(typeof l=="object")return l}return n};function P(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?en(n):o}function Ln(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||M}function Mn(n){return n.tag==="template"}function Rn(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===w&&(t==null?void 0:t.type)===w?t.children=t.children+o.children:l.push(o)}return l}async function Tn(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender||r!=null&&r.__ssrInlineRender)return;const a=A(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){const i=r.tag;if(r.type==="text"||i==="binding")return[];const s=Z(r,a.tags),c=[];r.type!=="root"&&!T.includes(s)&&c.push(s);for(const h of r.children||[])c.push(...t(h,a));return c}}function Z(n,l){var t;const o=n.tag;return!o||typeof((t=n.props)==null?void 0:t.__ignoreMap)<"u"?o:l[o]||l[I(o)]||l[nn(n.tag)]||o}const Bn=z({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=an().isEnabled(),t=x(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=x(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=x(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=kn;return on(),tn(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":rn(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{Bn as _};