@panphora/clayjs 1.12.1 → 1.13.0

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.
@@ -1,4 +1,4 @@
1
- var Ho=Object.defineProperty;var Qt=(e,t)=>{for(var r in t)Ho(e,r,{get:t[r],enumerable:!0})};var Yr={};Qt(Yr,{cms:()=>Xt,default:()=>ac});function q(e){let t=0,r=null,n=-1;for(let i=0;i<e.length;i++){let o=e[i];o==="\\"?i++:r?o===r&&(r=null):o==='"'||o==="'"?r=o:o==="["||o==="("?t++:o==="]"||o===")"?t>0&&t--:o==="@"&&t===0&&(n=i)}return n}function st(e){let t=q(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}import _c from"./hyper-morph.vendor.js";var lt=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],er=new Set(lt),an=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),be=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var ct={};Qt(ct,{EmptyListInsert:()=>Pe,MAX_RULE_DEPTH:()=>ve,MaxRuleDepthExceeded:()=>de,NoRulesTag:()=>tr,RuleTargetReadOnly:()=>$e,RulesParseError:()=>ke,ShapeMismatch:()=>qe,UnknownRulesVersion:()=>ye,WriteRefused:()=>at,WriteRejected:()=>rr});var ke=class extends Error{constructor(t,r){super(t),this.name="RulesParseError",this.cause=r}},ye=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},ve=20,de=class extends Error{constructor(t){super(`rule depth exceeded ${ve} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},qe=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},Pe=class extends Error{constructor(t){super(`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},$e=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}},at=class extends Error{constructor(t){super(`write refused: ${t.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=t}},tr=class extends Error{constructor(t){super(`no <script data-rules-name~="${t}"> rules tag in this document`),this.name="NoRulesTag",this.token=t}},rr=class extends Error{constructor(t,r){super(`write rejected: ${t.length} unknown key(s), ${r.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=t,this.unmatched=r}};function ne(e,t,r,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return nr(e,t,r,{depth:0,path:[]},n)}function nr(e,t,r,n,i){if(n.depth>ve)throw new de(n.path);if(typeof r=="string")return Xo(e,t,r,n,i);if(Array.isArray(r)){let[o,s]=r,l=e.find(t,o,i);return dn(i,n,l),l.map((a,u)=>nr(e,a,s,{depth:n.depth+1,path:[...n.path,u]},i))}if(typeof r=="object"&&r!==null){let o={};for(let[s,l]of Object.entries(r))o[s]=nr(e,t,l,{depth:n.depth+1,path:[...n.path,s]},i);return o}return null}function Xo(e,t,r,n,i){if(r.endsWith("[]")){let l=r.slice(0,-2),a=e.find(t,l,i);return dn(i,n,a),a.map(u=>e.text(u))}if(r.startsWith("@"))return cn(e,t,r.slice(1));let o=q(r);if(o!==-1){let l=r.slice(0,o),a=r.slice(o+1),u=l?e.find(t,l,i):[t];return u.length===0?null:cn(e,u[0],a)}if(r===".")return e.text(t);let s=e.find(t,r,i);return s.length===0?null:e.text(s[0])}function dn(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(n){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,n)}}function cn(e,t,r){if(er.has(r)){let i=e.prop(t,r);return i==null?null:String(i)}let n=e.attr(t,r);return n||null}var dt=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),Jo=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),un=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function ze(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function ir(e,t){if(ze(e,t))return!0;for(let[r,n]of Object.entries(Jo))if(n.includes(t)&&ze(e,r))return!0;return!1}function Be(e){let t=dt[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function Zo(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=dt[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(i=>ir(r,i))||n.bundles.some(i=>ze(r,i)))return r;r=r.parentElement}return null}function mn(e,t){return!!Zo(e,t)}var Qo=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function es(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();"value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&r!=="file"&&(t.value=e.value),e.tagName==="INPUT"&&(r==="checkbox"||r==="radio")&&(t.checked=e.checked),e.tagName==="OPTION"&&(t.selected=e.selected),"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function hn(e,t,r,n){if(n)return!!e.closest?.(t);let i=e;for(;i?.nodeType===1;){if(i.matches(t))return!0;if(i===r)break;i=i.parentElement}return!1}function pn(e,t,r,n,i,o){return(o?mn(e,t):hn(e,r,i,!1))||!!(n&&(o&&e!==i?e.matches(n):hn(e,n,i,o)))}function ts(e,t){let r=dt[t];return r.tokens.some(n=>ir(e,n))||r.bundles.some(n=>ze(e,n))}var rs=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function fn(e,t,r,n){if(e.nodeType===1&&n(e)){r.dropped.push(t);return}r.cloneToLive.set(t,e),r.liveToClone.set(e,t);let i=e,o=t;if(e.nodeType===1){if(rs.has(e.tagName)&&r.controls.push(e,t),e.tagName==="TEMPLATE"){for(;t.firstChild;)t.removeChild(t.firstChild);i=e.content,o=t.content,r.cloneToLive.set(o,i),r.liveToClone.set(i,o)}}else if(e.nodeType!==11)return;let s=o.firstChild;for(let l=i.firstChild;l&&s;l=l.nextSibling)fn(l,s,r,n),s=s.nextSibling}function Ue(e,{capability:t="data",exclude:r=null,inherit:n=!0,provenance:i=null}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let s=o.implementation.createHTMLDocument(""),l=i||new WeakMap,a=new WeakMap,u=e.nodeType===9?e.documentElement:e;r&&s.documentElement.matches(r);let h=Be(t),g=n?c=>ts(c,t)||!!(r&&c.matches(r)):c=>pn(c,t,h,r,u,!1),d=null;if(u.nodeType!==1||!pn(u,t,h,r,u,n)){d=s.importNode(u,!0);let c={cloneToLive:l,liveToClone:a,dropped:[],controls:[]};fn(u,d,c,g);for(let m of c.dropped)m.remove();for(let m=0;m<c.controls.length;m+=2)es(c.controls[m],c.controls[m+1])}e.nodeType===9&&d&&(s.replaceChild(d,s.documentElement),a.set(e,s),l.set(s,e));let p=c=>{if(Qo.test(c))throw new Error(`Filtered content queries do not support stateful selector: ${c}`)};return{root:d,document:s,capability:t,selector:Be(t),cloneToLive:l,liveToClone:a,original(c){return l.get(c)||null},cloneOf(c){return a.get(c)||null},query(c,m=d){return p(c),Array.from(m.querySelectorAll(c),k=>l.get(k)||k)},text(c=d){return(c===d?d:a.get(c))?.textContent||""},html(c=d){return(c===d?d:a.get(c))?.innerHTML??""},clone(c=d){let m=c===d?d:a.get(c);return m?s.importNode(m,!0):null}}}function gn(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function ns(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var P={semanticExclude:!0,find(e,t,r={}){let n=ns(e);if(!n||!n.querySelectorAll)return[];let i=Array.from(n.querySelectorAll(t));r.includeRulesTag||(i=i.filter(l=>!gn(l)));let o=[];r.skip&&o.push(r.skip);let s=r.templateAttr===null?null:r.templateAttr||"cms-template";if(s&&o.push("["+s+"]"),o.length){let l=o.join(", ");i=i.filter(a=>!a.closest||!a.closest(l))}return i},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t)},prop(e,t,r){if(r===void 0){let n=e?e[t]:void 0;return n!==void 0?n:null}e[t]=r},clone(e){return e.cloneNode(!0)},insertAt(e,t,r){let n=e.children[r]||null;e.insertBefore(t,n)},insertBefore(e,t){e.parentNode.insertBefore(t,e)},insertAfter(e,t){e.parentNode.insertBefore(t,e.nextSibling)},identity(e){return e||null},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let n=e.ownerDocument.createElement("template");n.innerHTML=t;let i=n.content.firstElementChild;if(!i)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(i,e),i},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(n=>{n.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};function Q(e,t={}){if(t.exclude===null)return P;let r=[Be("data"),t.exclude].filter(Boolean).join(", "),n=e.nodeType===9?e:e.ownerDocument||e,i=e.nodeType===9?e.documentElement:e;if(!t._write&&!i?.matches?.(r)&&!i?.querySelector?.(r)&&!n?.querySelector?.(r))return P;let o=e.nodeType===9||!e.isConnected?e:e.ownerDocument,s=e.nodeType===9?e:e.ownerDocument,l=null,a=()=>l||(l=Ue(o,{capability:"data",exclude:t.exclude||null})),u=c=>{let m=a();return c===e?m.cloneOf(e):m.cloneOf(c)||c},h=c=>l?.original(c)||c,g=(c,m)=>{a().liveToClone.set(c,m),a().cloneToLive.set(m,c);let k=c.childNodes||[],f=m.childNodes||[];for(let b=0;b<Math.min(k.length,f.length);b++)g(k[b],f[b])},d=(c,m,k,f)=>{let b=Array.from(c.childNodes).filter(R=>l.cloneOf(R)),E=b[0];for(;E&&b.includes(E);)E=E.nextSibling;for(let R of b)R.remove();if(k==="innerHTML"){let R=s.createElement("template");R.innerHTML=f;for(let H of Array.from(R.content.childNodes))c.insertBefore(H,E||null)}else c.insertBefore(s.createTextNode(f),E||null);let w=Ue(c,{capability:"data",exclude:t.exclude||null});m.replaceChildren(...Array.from(w.root?.childNodes||[]));let T=R=>{let H=w.original(R);H&&(l.liveToClone.set(H,R),l.cloneToLive.set(R,H));for(let B of Array.from(R.childNodes||[]))T(B)};for(let R of Array.from(m.childNodes))T(R)},p={...P,find(c,m,k={}){let f=u(c);if(!f?.querySelectorAll)return[];let b=a().query(m,f);k.includeRulesTag||(b=b.filter(w=>!gn(w)));let v=[];k.skip&&v.push(k.skip);let E=k.templateAttr===null?null:k.templateAttr||"cms-template";if(E&&v.push(`[${E}]`),v.length){let w=v.join(", ");b=b.filter(T=>!T.closest?.(w))}return b},parent(c){let m=u(c)?.parentElement;return m?h(m):null},children(c){return Array.from(u(c)?.children||[],h)},text(c,m){if(m===void 0){let b=h(c);return!b?.matches?.(r)&&!b?.querySelector?.(r)?P.text(b):(u(c)?.textContent||"").trim()}let k=h(c);if(!k?.matches?.(r)&&!k?.querySelector?.(r)&&!l){P.text(k,m);return}let f=a().cloneOf(k);f?d(k,f,"textContent",m):P.text(k,m)},attr(c,m,k){let f=h(c);if(k===void 0)return P.attr(f,m);P.attr(f,m,k);let b=l?.cloneOf(f);b&&(P.attr(b,m,k),Ue(f,{capability:"data",exclude:t.exclude||null}).root===null&&(b.remove(),l.liveToClone.delete(f),l.cloneToLive.delete(b)))},removeAttr(c,m){let k=h(c);P.removeAttr(k,m);let f=l?.cloneOf(k);f&&P.removeAttr(f,m)},prop(c,m,k){let f=h(c);if(k===void 0)return m==="innerHTML"||m==="outerHTML"||m==="textContent"||m==="innerText"?P.prop(u(f),m):P.prop(f,m);let b=m==="innerHTML"||m==="textContent"||m==="innerText",v=b?a().cloneOf(f):l?.cloneOf(f);v&&b?d(f,v,m,k):(P.prop(f,m,k),v&&P.prop(v,m,k))},clone(c){let m=u(c);return m===c?P.clone(c):s.importNode(m,!0)},insertAt(c,m,k){let f=h(c),v=p.children(f)[k]||(()=>{for(let T=f.children.length-1;T>=0;T--){let R=f.children[T];if(a().cloneOf(R))return R.nextElementSibling}return f.firstElementChild})(),E=h(m);f.insertBefore(E,v||null);let w=a().cloneOf(f);if(w){let T=a().cloneOf(E);T||(T=s.importNode(E,!0),g(E,T));let R=Array.from(w.children);w.insertBefore(T,R[k]||null)}},insertBefore(c,m){let k=h(c),f=h(m);k.parentNode.insertBefore(f,k);let b=a().cloneOf(k.parentNode);if(b){let v=a().cloneOf(f);v||(v=s.importNode(f,!0),g(f,v));let E=a().cloneOf(k);E?E.before(v):b.appendChild(v)}},insertAfter(c,m){let k=h(c),f=h(m);k.parentNode.insertBefore(f,k.nextSibling);let b=a().cloneOf(k.parentNode);if(b){let v=a().cloneOf(f);v||(v=s.importNode(f,!0),g(f,v));let E=a().cloneOf(k);E?E.after(v):b.appendChild(v)}},identity(c){return h(c)||null},remove(c){let m=h(c),k=a().cloneOf(m);P.remove(m),k&&P.remove(k)},replaceWith(c,m){let k=h(c),f=a().cloneOf(k),b=P.replaceWith(k,m);if(f){let v=Ue(b,{capability:"data",exclude:t.exclude||null});if(!v.root)f.remove();else{f.replaceWith(v.root);let E=w=>{let T=v.original(w);T&&(l.liveToClone.set(T,w),l.cloneToLive.set(w,T));for(let R of Array.from(w.childNodes||[]))E(R)};E(v.root)}}return b}};return p}var xe=P;function or(e){try{return JSON.parse(e)}catch(t){throw new ke(`Invalid strict JSON: ${t.message}`,t)}}function we(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(i){let o=[],s=0;for(;s<i.length;){let l=i[s];if(/\s/.test(l)){s++;continue}if("{}".includes(l)){o.push({type:l,value:l}),s++;continue}if(l==="["){let g=!1,d=s+1;for(;d<i.length&&/\s/.test(i[d]);)d++;if(d<i.length&&/[a-zA-Z_]/.test(i[d])&&(g=!0),!g){o.push({type:l,value:l}),s++;continue}}if(l==="]"){o.push({type:l,value:l}),s++;continue}if(l===":"){o.push({type:t.COLON,value:l}),s++;continue}if(l===","){o.push({type:t.COMMA,value:l}),s++;continue}if(l==='"'||l==="'"){let g=l,d=s+1;for(;d<i.length&&i[d]!==g;)i[d]==="\\"&&d++,d++;o.push({type:t.STRING,value:i.substring(s+1,d),quoted:!0,sourceQuote:g}),s=d+1;continue}let a=s,u;for(;a<i.length&&!/[{},]/.test(i[a]);)if(i[a]===":"){let g=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],d=!1;for(let p of g){let c=p.substring(1);if(i.substring(a+1,a+1+c.length)===c){d=!0,a+=c.length;break}}if(!d)break}else if(i[a]==="["){for(a++;a<i.length&&i[a]!=="]";){if(i[a]==='"'||i[a]==="'"){let g=i[a];for(a++;a<i.length&&i[a]!==g;)i[a]==="\\"&&a++,a++}a++}a<i.length&&i[a]==="]"&&a++}else a++;u=i.substring(s,a);let h=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?h=t.NUMBER:u==="true"||u==="false"||u==="null"?h=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(h=t.SELECTOR),o.push({type:h,value:u,quoted:!1}),s=a}return o}function n(i){let o="";for(let s=0;s<i.length;s++){let l=i[s];if("{}".includes(l.type)||"[]".includes(l.type)){o+=l.value;continue}if(l.type===t.COLON){o+=l.value;continue}if(l.type===t.COMMA){let a=i[s+1];if(a&&(a.type==="}"||a.type==="]"))continue;o+=l.value;continue}if(l.type===t.STRING&&l.quoted){let a=l.value;l.sourceQuote==="'"&&(a=a.replace(/\\'/g,"'"),a=a.replace(/(\\*)"/g,(u,h)=>h.length%2===0?h+'\\"':u)),o+=`"${a}"`;continue}if(l.type===t.NUMBER||l.type===t.BOOLEAN){o+=l.value;continue}if(l.type===t.SELECTOR||l.type===t.IDENTIFIER){o+=`"${l.value}"`;continue}o+=`"${l.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new ke("Invalid extraction rules syntax: "+i.message,i)}}var kn="1",bn=/^[a-zA-Z0-9_-]+$/;function He(e,t,r){let n;if(r===void 0)n="script[data-rules-name]";else{if(typeof r!="string"||!bn.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${bn})`);n=`script[data-rules-name~="${r}"]`}let i=e.find(t,n,{includeRulesTag:!0});if(i.length===0)return null;r!==void 0&&i.length>1&&console.warn(`hyper-html-api: ${i.length} rules tags match data-rules-name~="${r}"; using the first.`);let o=i[0],s=e.attr(o,"data-rules-version");if(s!==kn)throw new ye(s);return{rules:we(e.text(o)),tagNode:o}}var id=new Function("url","return import(url)");function _n(e,t,r,n){let i=e.length,o=t.length,s=new Array(i).fill(-1);if(n){let f=new Set;for(let b=0;b<i;b++){let v=n[b];!(v>=0&&v<o)||f.has(v)||(s[b]=v,f.add(v))}}if(i===0||o===0)return s;let l=e.map(f=>wn(f,r)),a=t.map(f=>wn(f,r)),u=new Array(o).fill(!1);for(let f of s)f>=0&&(u[f]=!0);let h=new Map;a.forEach((f,b)=>{u[b]||h.set(f,h.has(f)?-1:b)});let g=new Map;l.forEach((f,b)=>{s[b]>=0||g.set(f,(g.get(f)||0)+1)}),l.forEach((f,b)=>{if(s[b]>=0||g.get(f)!==1)return;let v=h.get(f);v===void 0||v===-1||u[v]||(s[b]=v,u[v]=!0)});let d=[];for(let f=0;f<i;f++)s[f]<0&&d.push(f);let p=[];for(let f=0;f<o;f++)u[f]||p.push(f);if(d.length===0||p.length===0)return s;let c=i*o+1,m=os(e,t,r),k=(f,b)=>m(f,b)*c+Math.abs(f-b);for(let[f,b]of ss(d,p,k))s[f]=b;return s}var En=e=>typeof e=="object"&&e!==null;function wn(e,t){if(!En(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(n=>{let i=JSON.stringify(e?.[n]);return i===void 0?" undef":i}))}function os(e,t,r){if(!En(r))return(l,a)=>e[l]===t[a]?0:1;let n=Object.keys(r),i=l=>n.map(a=>JSON.stringify(l?.[a])),o=e.map(i),s=t.map(i);return(l,a)=>{let u=o[l],h=s[a],g=0;for(let d=0;d<n.length;d++)u[d]!==h[d]&&g++;return g}}function ss(e,t,r){return e.length<=t.length?An(e,t,r,!1):An(t,e,(n,i)=>r(i,n),!0)}function An(e,t,r,n){let i=e.length,o=t.length,s=[];for(let g=0;g<=i;g++)s.push(new Float64Array(o+1).fill(1/0));let l=[];for(let g=0;g<=i;g++)l.push(new Uint8Array(o+1));for(let g=0;g<=o;g++)s[i][g]=0;for(let g=i-1;g>=0;g--)for(let d=o-1;d>=0;d--){let p=r(e[g],t[d])+s[g+1][d+1],c=s[g][d+1];p<=c?(s[g][d]=p,l[g][d]=1):s[g][d]=c}let a=[],u=0,h=0;for(;u<i&&h<o;)l[u][h]&&(a.push(n?[t[h],e[u]]:[e[u],t[h]]),u++),h++;return a}function lr(e,t,r,n,i,o,s,l={}){let a=e.find(t,r,l);if(i.length===0){a.forEach(w=>e.remove(w)),sr(l,"onRowsApplied",o.path,[]);return}let u=i.length>a.length,h=a[0]||null;if(u&&!h&&(h=ds(e,t,r,l),!h))throw new Pe(o.path);let g=a.map(w=>cs(e,w,n,l)),d=null;if(u&&h){d=e.clone(h),l.templateAttr&&e.removeAttr(d,l.templateAttr);let w=e.stripIds(d);w>0&&console.warn(`[hyper-html-api] stripped ${w} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let p=_n(i,g,n,ls(e,a,i,o,l)),c=a[0]||h,m=e.parent(c),k=a.length>0?Sn(e,m,c):0,f=ms(e,a),b=new Set,v=[],E=i.map((w,T)=>{let R=p[T];if(R>=0)return b.add(R),v.push(!1),a[R];v.push(!0);let H=e.clone(d);return e.stripIds(H),H});a.forEach((w,T)=>{b.has(T)||e.remove(w)}),f?us(e,m,k,E,v):hs(e,E,v,m,k),as(e,E,n,i,o,s,l),sr(l,"onRowsApplied",o.path,E)}function sr(e,t,r,n){if(typeof e[t]=="function")try{return e[t](r.slice(),n)}catch(i){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,i);return}}function ls(e,t,r,n,i){let o=sr(i,"identifyRows",n.path,r);if(!Array.isArray(o))return null;let s=new Array(r.length).fill(-1),l=new Set,a=new Map(t.map((u,h)=>[e.identity(u),h]));for(let u=0;u<r.length;u++){if(!o[u])continue;let h=a.get(e.identity(o[u]));h===void 0||l.has(h)||(s[u]=h,l.add(h))}return s}function as(e,t,r,n,i,o,s){t.forEach((l,a)=>{if(r===null){let u=n[a],h=u==null?"":String(u);e.text(l)!==h&&e.text(l,h)}else{let u=o(e,l,r,n[a],{depth:i.depth+1,path:[...i.path,a]},s);u&&u!==l&&(t[a]=u)}})}function cs(e,t,r,n){return r===null?e.text(t):ne(e,t,r,n.onRowsRead?{...n,onRowsRead:void 0}:n)}function Sn(e,t,r){let n=e.children(t);for(let i=0;i<n.length;i++)if(e.sameNode(n[i],r))return i;return-1}function ds(e,t,r,n){if(!n.templateAttr)return null;let i=t;for(;i;){let o=e.find(i,r,{includeRulesTag:!1,templateAttr:null});for(let s of o)if(e.attr(s,n.templateAttr)!=null)return s;i=e.parent(i)}return null}function us(e,t,r,n,i){let o=e.children(t),s=o.map(a=>e.identity(a)),l=!1;n.forEach((a,u)=>{let h=e.identity(a),g=r+u;if(s[g]===h)return;if(!i[u]){let p=s.indexOf(h);p!==-1&&(s.splice(p,1),o.splice(p,1))}let d=Math.min(g,o.length);d<o.length?e.insertBefore(o[d],a):o.length?l?e.insertAfter(o[o.length-1],a):(e.insertAt(t,a,g),l=!0):e.insertAt(t,a,0),s.splice(d,0,h),o.splice(d,0,a)})}function ms(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let n=new Map(e.children(r).map((o,s)=>[e.identity(o),s])),i=[];for(let o of t){let s=n.get(e.identity(o));if(s===void 0)return!1;i.push(s)}return i.sort((o,s)=>o-s),i[i.length-1]-i[0]===i.length-1}function hs(e,t,r,n,i){let o=null,s=i;for(let l=0;l<t.length;l++){if(!r[l]){o=t[l];continue}let a=o?e.parent(o):n;if(!a)continue;let u=o?Sn(e,a,o)+1:s++;e.insertAt(a,t[l],u),o=t[l]}}var Tn=new Set(["checked","selected","disabled","readOnly","paused"]);function Ae(e,t,r,n,i={}){if(Object.prototype.hasOwnProperty.call(i,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let o=[];if(ar(r,n,[],o),o.length)throw new qe(o);ut(e,t,r,n,{depth:0,path:[]},i)}function ut(e,t,r,n,i,o={}){if(i.depth>ve)throw new de(i.path);if(n===void 0)return t;if(typeof r=="string")return ps(e,t,r,n,i,o);if(Array.isArray(r)){let[s,l]=r;return lr(e,t,s,l,n,i,ut,o),t}if(typeof r=="object"&&r!==null){for(let[s,l]of Object.entries(r)){let a=ut(e,t,l,n==null?n:n[s],{depth:i.depth+1,path:[...i.path,s]},o);a&&a!==t&&(t=a)}return t}return t}function ps(e,t,r,n,i,o){if(r.endsWith("[]")){let a=r.slice(0,-2);return lr(e,t,a,null,n,i,ut,o),t}if(r.startsWith("@"))return Rn(e,t,r.slice(1),n);let s=q(r);if(s!==-1){let a=r.slice(0,s),u=r.slice(s+1),h=a?e.find(t,a,o):[t];return h.length===0||Rn(e,h[0],u,n),t}if(r===".")return Cn(e,t,n),t;let l=e.find(t,r,o);return l.length===0||Cn(e,l[0],n),t}function Cn(e,t,r){let n=r==null?"":String(r);e.text(t)!==n&&e.text(t,n)}function Rn(e,t,r,n){if(be.has(r)){let o=e.prop(t,r);if(o===n||o!=null&&n!=null&&String(o)===String(n))return t;throw new $e(r)}if(r==="outerHTML"){let o=n==null?"":String(n);return e.replaceWith(t,o)}if(an.has(r)){let o=fs(r,n);return e.prop(t,r)!==o&&e.prop(t,r,o),t}let i=n==null?"":String(n);return e.attr(t,r)!==i&&e.attr(t,r,i),t}function fs(e,t){return t==null?Tn.has(e)?!1:"":Tn.has(e)?t==="false"?!1:!!t:t}function ar(e,t,r,n){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((i,o)=>{typeof i=="object"&&i!==null&&n.push({path:We([...r,o]),expected:"scalar",got:Ve(i)})}):n.push({path:We(r),expected:"array",got:Ve(t)});return}t!==null&&typeof t=="object"&&n.push({path:We(r),expected:"scalar",got:Ve(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){n.push({path:We(r),expected:"array",got:Ve(t)});return}let i=e[1];t.forEach((o,s)=>ar(i,o,[...r,s],n));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){n.push({path:We(r),expected:"object",got:Ve(t)});return}for(let[i,o]of Object.entries(e))ar(o,t[i],[...r,i],n)}}}function Ve(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function We(e){return e.join(".")}var Ts=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...un],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"]});function cr(e,t,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let n=t&&t.ownerDocument?t.ownerDocument:t;return He(e,n,r)}return null}var V={extract:(e,t,r={})=>ne(Q(e,r),e,t,r),apply:(e,t,r,n={})=>Ae(Q(e,{...n,_write:!0}),e,t,r,n),findRulesIn:(e,t)=>He(xe,e,t),findRules:(e,t)=>cr(xe,e,t),bind:(e,t,r={})=>{let n=cr(xe,e,t);if(!n){let i=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${i}`)}return{...n,get:()=>ne(Q(e,r),e,n.rules,r),set:i=>Ae(Q(e,{...r,_write:!0}),e,n.rules,i,r)}},parseStrict:or,parseRelaxed:we,ruleAttrIndex:q,splitRule:st,errors:ct,DOM_PROPERTIES:lt};var ur={};Qt(ur,{fromString:()=>ee,getRuleAtPath:()=>ue,getValueAtPath:()=>Ns,setAtPath:()=>dr,toString:()=>Ls});function Ls(e){return e.map(String).join(".")}function ee(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function ue(e,t){let r=e;for(let n of t){if(r==null)return;if(typeof r=="string"){if(r.endsWith("[]")&&(typeof n=="number"||n==="*")){r=r.slice(0,-2);continue}return}if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function Ns(e,t){let r=e;for(let n of t){if(r==null)return;r=r[n]}return r}function dr(e,t,r){if(t.length===0)return r;let[n,...i]=t;if(typeof n=="number"){let o=Array.isArray(e)?[...e]:[];return o[n]=dr(o[n],i,r),o}return{...e&&typeof e=="object"?e:{},[n]:dr((e||{})[n],i,r)}}function Ke(e){if(typeof e=="string")return e.endsWith("[]")?[]:"";if(Array.isArray(e))return[];if(typeof e=="object"&&e!==null){let t={};for(let[r,n]of Object.entries(e))t[r]=Ke(n);return t}return""}import Ms from"./hyper-morph.vendor.js";function mt(e,t,{ignoreActiveValue:r=!0}={}){Ms.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:r,restoreFocus:!0,formStateSync:"property",policy:"raw"})}import{morph as Fn}from"./hyper-morph.vendor.js";var Ln=new WeakMap,mr=e=>e.map(String).join(".");function js(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function Nn(e,t){if(!e||!e.querySelector)return null;let r=e.querySelector(`[data-hcms-path="${js(t)}"]`),n=r&&r.querySelector(".hcms-array-items");return n?Array.from(n.children).filter(i=>i.matches&&i.matches("[data-hcms-card], [data-hcms-array-item]")):null}function Mn(e,t,r){let n=Nn(e,t);!n||n.length!==r.length||n.forEach((i,o)=>{r[o]&&Ln.set(i,r[o])})}function ht(){let e=new Map;return{hooks:{onRowsRead(t,r){e.set(mr(t),r)}},seed(t){for(let[r,n]of e)Mn(t,r,n);e.clear()}}}function jn(e){return{identifyRows(t,r){let n=Nn(e,mr(t));return!n||n.length!==r.length?null:n.map(i=>Ln.get(i)||null)},onRowsApplied(t,r){Mn(e,mr(t),r)}}}var In={skip:"[data-hcms-shell]",templateAttr:"cms-template"},hr="data-hcms-rollback-ui",Is=0;function Dn(e,t,r,n={}){return Fs(e,t,r,n)}function Fs(e,t,r,n){let{shellRoot:i,structural:o,structuralPath:s,formRoot:l}=n,a=l?{...In,...jn(l)}:In;if(!o)try{return V.apply(e,t,r,a),{ok:!0}}catch(d){return{ok:!1,error:d}}let u=Ds(e,t,s),h=u?Ps(u):null,g=u?null:zs(e,i);try{return V.apply(e,t,r,a),{ok:!0}}catch(d){return h?$s(u,h):g&&Bs(e,i,g),{ok:!1,error:d}}}function Ds(e,t,r){if(!r||!e)return null;let n=ee(r),i=[],o=t;for(let s of n){if(typeof o=="string"||o==null||Array.isArray(o))break;if(typeof o=="object"&&s in o){if(i.push(s),o=o[s],Array.isArray(o)||typeof o=="string"&&o.endsWith("[]"))break}else return null}return!Array.isArray(o)&&!(typeof o=="string"&&o.endsWith("[]"))?null:qs(e,t,i)}function qs(e,t,r){if(r.length===0)return null;let n=e,i=t;for(let o=0;o<r.length;o++){let s=r[o];if(!i||typeof i!="object"||Array.isArray(i))return null;let l=i[s];if(l==null)return null;if(o===r.length-1){if(Array.isArray(l)){let[a]=l;return n.querySelector?.(a)?.parentElement||null}if(typeof l=="string"&&l.endsWith("[]")){let a=l.slice(0,-2);return n.querySelector?.(a)?.parentElement||null}return null}i=l}return null}function Ps(e){let t=[],r=[];for(let n of Array.from(e.childNodes))t.push(pr(n,r));return{nodes:t,retained:r}}function $s(e,t){let r=e.cloneNode(!1);for(let n of t.nodes)r.appendChild(n);Fn(e,Array.from(r.childNodes),Pn()),qn(e,t.retained)}function zs(e,t){let r=[],n=[];for(let i of Array.from(e.childNodes))i===t||t&&i.contains?.(t)||r.push(pr(i,n));return{nodes:r,retained:n}}function Bs(e,t,r){let n=e.cloneNode(!1);for(let i of r.nodes)n.appendChild(i);Fn(e,Array.from(n.childNodes),Pn()),qn(e,r.retained)}function pr(e,t){let r=e.cloneNode(!1);if(e.nodeType===1&&e.matches('[editor-ui],[clay~="editor-ui"]')){let o=String(++Is);r.setAttribute(hr,o),t.push({id:o,node:e})}let n=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,i=r.nodeType===1&&r.tagName==="TEMPLATE"?r.content:r;for(let o of Array.from(n.childNodes||[]))i.appendChild(pr(o,t));return r}function qn(e,t){for(let{id:r,node:n}of t){let i=e.querySelector(`[${hr}="${r}"]`);i===n?n.removeAttribute(hr):n.isConnected?i?.remove():i?.replaceWith(n)}}function Pn(){return{morphStyle:"innerHTML",policy:"raw",restoreFocus:!1,scripts:{handle:!1,merge:!1}}}function ft(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\s+/g," ").trim().replace(/^./,t=>t.toUpperCase())}var Us='<div class="hcms-drag-handle mirk-sortable__grip" aria-hidden="true"><div class="mirk-sortable__dots"><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span></div></div>',fr='<svg class="hcms-x" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"><path d="M4 4 L12 12 M12 4 L4 12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg>',Bn={"@scalar":`
1
+ var es=Object.defineProperty;var tr=(e,t)=>{for(var r in t)es(e,r,{get:t[r],enumerable:!0})};var Qr={};tr(Qr,{cms:()=>Zt,default:()=>_c});var at=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],qe=new Set(at),rr=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),ke=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]),un=new Set(["checked","selected","disabled","readOnly","paused"]);function nr(e,t){return t==null?un.has(e)?!1:"":un.has(e)?t==="false"?!1:!!t:t}function P(e){let t=0,r=null,n=-1;for(let i=0;i<e.length;i++){let o=e[i];o==="\\"?i++:r?o===r&&(r=null):o==='"'||o==="'"?r=o:o==="["||o==="("?t++:o==="]"||o===")"?t>0&&t--:o==="@"&&t===0&&(n=i)}return n}function $e(e){let t=P(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}function ir(e){let t=0,r=null,n=-1,i=!1;for(let o=0;o<e.length;o++){let s=e[o];s==="\\"?o++:r?s===r&&(r=null):s==='"'||s==="'"?r=s:s==="["||s==="("?t++:s==="]"||s===")"?t>0&&t--:t===0&&s===">"?n=o:t===0&&s===","&&(i=!0)}return i||n===-1||!ts(e,n+1)?null:e.slice(0,n).trim()||null}function ts(e,t){let r=t,n=e.replace(/\s+$/,"").length;for(;r<n&&/\s/.test(e[r]);)r++;let i=0,o=null;for(;r<n;r++){let s=e[r];if(s==="\\")r++;else if(o)s===o&&(o=null);else if(s==='"'||s==="'")o=s;else if(s==="["||s==="(")i++;else if(s==="]"||s===")")i>0&&i--;else if(i===0&&(s==="+"||s==="~"||/\s/.test(s)))return!1}return!0}import Uc from"./hyper-morph.vendor.js";var ut={};tr(ut,{EmptyListInsert:()=>ne,MAX_RULE_DEPTH:()=>xe,MaxRuleDepthExceeded:()=>ue,NoRulesTag:()=>or,RuleTargetReadOnly:()=>Be,RulesParseError:()=>ye,ShapeMismatch:()=>ze,UnknownRulesVersion:()=>ve,WriteNotRoundTripped:()=>dt,WriteRefused:()=>ct,WriteRejected:()=>sr});var ye=class extends Error{constructor(t,r){super(t),this.name="RulesParseError",this.cause=r}},ve=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},xe=20,ue=class extends Error{constructor(t){super(`rule depth exceeded ${xe} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},ze=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},ne=class extends Error{constructor(t,r){super(r?`cannot add items to empty list at "${t.join(".")}" \u2014 ${r}`:`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},Be=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}},ct=class extends Error{constructor(t){super(`write refused: ${t.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=t}};function ls(e){return e.reduce((r,n)=>typeof n=="number"?`${r}[${n}]`:r?`${r}.${n}`:String(n),"")||"(root)"}var dt=class extends Error{constructor(t){super(`write did not round-trip at "${ls(t)}"`),this.name="WriteNotRoundTripped",this.path=t}},or=class extends Error{constructor(t){super(`no <script data-rules-name~="${t}"> rules tag in this document`),this.name="NoRulesTag",this.token=t}},sr=class extends Error{constructor(t,r){super(`write rejected: ${t.length} unknown key(s), ${r.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=t,this.unmatched=r}};function ie(e,t,r,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return lr(e,t,r,{depth:0,path:[]},n)}function lr(e,t,r,n,i){if(n.depth>xe)throw new ue(n.path);if(typeof r=="string")return as(e,t,r,n,i);if(Array.isArray(r)){let[o,s]=r,l=e.find(t,o,i);return fn(i,n,l),l.map((a,d)=>lr(e,a,s,{depth:n.depth+1,path:[...n.path,d]},i))}if(typeof r=="object"&&r!==null){let o={};for(let[s,l]of Object.entries(r))o[s]=lr(e,t,l,{depth:n.depth+1,path:[...n.path,s]},i);return o}return null}function as(e,t,r,n,i){if(r.endsWith("[]")){let l=r.slice(0,-2),a=e.find(t,l,i);return fn(i,n,a),a.map(d=>e.text(d))}if(r.startsWith("@"))return hn(e,t,r.slice(1));let o=P(r);if(o!==-1){let l=r.slice(0,o),a=r.slice(o+1),d=l?e.find(t,l,i):[t];return d.length===0?null:hn(e,d[0],a)}if(r===".")return e.text(t);let s=e.find(t,r,i);return s.length===0?null:e.text(s[0])}function fn(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(n){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,n)}}function hn(e,t,r){if(qe.has(r)){let i=e.prop(t,r);return i==null?null:String(i)}let n=e.attr(t,r);return n??null}var mt=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),cs=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),pn=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function Ue(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function ar(e,t){if(Ue(e,t))return!0;for(let[r,n]of Object.entries(cs))if(n.includes(t)&&Ue(e,r))return!0;return!1}function He(e){let t=mt[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function ds(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=mt[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(i=>ar(r,i))||n.bundles.some(i=>Ue(r,i)))return r;r=r.parentElement}return null}function gn(e,t){return!!ds(e,t)}var us=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function ms(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();"value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&r!=="file"&&(t.value=e.value),e.tagName==="INPUT"&&(r==="checkbox"||r==="radio")&&(t.checked=e.checked),e.tagName==="OPTION"&&(t.selected=e.selected),"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function bn(e,t,r,n){if(n)return!!e.closest?.(t);let i=e;for(;i?.nodeType===1;){if(i.matches(t))return!0;if(i===r)break;i=i.parentElement}return!1}function kn(e,t,r,n,i,o){return(o?gn(e,t):bn(e,r,i,!1))||!!(n&&(o&&e!==i?e.matches(n):bn(e,n,i,o)))}function hs(e,t){let r=mt[t];return r.tokens.some(n=>ar(e,n))||r.bundles.some(n=>Ue(e,n))}var fs=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function yn(e,t,r,n){if(e.nodeType===1&&n(e)){r.dropped.push(t);return}r.cloneToLive.set(t,e),r.liveToClone.set(e,t);let i=e,o=t;if(e.nodeType===1){if(fs.has(e.tagName)&&r.controls.push(e,t),e.tagName==="TEMPLATE"){for(;t.firstChild;)t.removeChild(t.firstChild);i=e.content,o=t.content,r.cloneToLive.set(o,i),r.liveToClone.set(i,o)}}else if(e.nodeType!==11)return;let s=o.firstChild;for(let l=i.firstChild;l&&s;l=l.nextSibling)yn(l,s,r,n),s=s.nextSibling}function Ve(e,{capability:t="data",exclude:r=null,inherit:n=!0,provenance:i=null}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let s=o.implementation.createHTMLDocument(""),l=i||new WeakMap,a=new WeakMap,d=e.nodeType===9?e.documentElement:e;r&&s.documentElement.matches(r);let m=He(t),g=n?c=>hs(c,t)||!!(r&&c.matches(r)):c=>kn(c,t,m,r,d,!1),u=null;if(d.nodeType!==1||!kn(d,t,m,r,d,n)){u=s.importNode(d,!0);let c={cloneToLive:l,liveToClone:a,dropped:[],controls:[]};yn(d,u,c,g);for(let h of c.dropped)h.remove();for(let h=0;h<c.controls.length;h+=2)ms(c.controls[h],c.controls[h+1])}e.nodeType===9&&u&&(s.replaceChild(u,s.documentElement),a.set(e,s),l.set(s,e));let f=c=>{if(us.test(c))throw new Error(`Filtered content queries do not support stateful selector: ${c}`)};return{root:u,document:s,capability:t,selector:He(t),cloneToLive:l,liveToClone:a,original(c){return l.get(c)||null},cloneOf(c){return a.get(c)||null},query(c,h=u){return f(c),Array.from(h.querySelectorAll(c),k=>l.get(k)||k)},text(c=u){return(c===u?u:a.get(c))?.textContent||""},html(c=u){return(c===u?u:a.get(c))?.innerHTML??""},clone(c=u){let h=c===u?u:a.get(c);return h?s.importNode(h,!0):null}}}function xn(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function ps(e){return e?(e.nodeType===9||e.nodeType===11,e):null}function vn(e,t,r){!e||e.nodeType!==1||(t==="value"&&e.tagName==="INPUT"?e.value=r===null?"":r:t==="checked"&&e.tagName==="INPUT"?e.checked=r!==null:t==="selected"&&e.tagName==="OPTION"&&(e.selected=r!==null))}function wn(e,t){e&&e.tagName==="TEXTAREA"&&(e.value=t)}function An(e){if(!e||e.nodeType!==1)return;let t=[e,...e.querySelectorAll?e.querySelectorAll("textarea, input, option"):[]];for(let r of t)if(r.tagName==="TEXTAREA")r.value=r.defaultValue;else if(r.tagName==="INPUT"){let n=r.type;n!=="file"&&n!=="checkbox"&&n!=="radio"&&(r.value=r.defaultValue),r.checked=r.defaultChecked}else r.tagName==="OPTION"&&(r.selected=r.defaultSelected)}var q={semanticExclude:!0,find(e,t,r={}){let n=ps(e);if(!n||!n.querySelectorAll)return[];let i=Array.from(n.querySelectorAll(t));r.includeRulesTag||(i=i.filter(l=>!xn(l)));let o=[];r.skip&&o.push(r.skip);let s=r.templateAttr===null?null:r.templateAttr||"cms-template";if(s&&o.push("["+s+"]"),o.length){let l=o.join(", ");i=i.filter(a=>!a.closest||!a.closest(l))}return i},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},matches(e,t){return!!(e&&e.matches)&&e.matches(t)},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t,wn(e,t)},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r),vn(e,t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t),vn(e,t,null)},prop(e,t,r){if(r===void 0){let n=e?e[t]:void 0;return n!==void 0?n:null}e[t]=r},clone(e){let t=e.cloneNode(!0);return An(t),t},insertAt(e,t,r){let n=e.children[r]||null;e.insertBefore(t,n)},insertBefore(e,t){e.parentNode.insertBefore(t,e)},insertAfter(e,t){e.parentNode.insertBefore(t,e.nextSibling)},identity(e){return e||null},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let n=e.ownerDocument.createElement("template");n.innerHTML=t;let i=n.content.firstElementChild;if(!i)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(i,e),i},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(n=>{n.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};function Q(e,t={}){if(t.exclude===null)return q;let r=[He("data"),t.exclude].filter(Boolean).join(", "),n=e.nodeType===9?e:e.ownerDocument||e,i=e.nodeType===9?e.documentElement:e;if(!t._write&&!i?.matches?.(r)&&!i?.querySelector?.(r)&&!n?.querySelector?.(r))return q;let o=e.nodeType===9||!e.isConnected?e:e.ownerDocument,s=e.nodeType===9?e:e.ownerDocument,l=null,a=()=>l||(l=Ve(o,{capability:"data",exclude:t.exclude||null})),d=c=>{let h=a();return c===e?h.cloneOf(e):h.cloneOf(c)||c},m=c=>l?.original(c)||c,g=(c,h)=>{a().liveToClone.set(c,h),a().cloneToLive.set(h,c);let k=c.childNodes||[],p=h.childNodes||[];for(let b=0;b<Math.min(k.length,p.length);b++)g(k[b],p[b])},u=(c,h,k,p)=>{let b=Array.from(c.childNodes).filter(R=>l.cloneOf(R)),_=b[0];for(;_&&b.includes(_);)_=_.nextSibling;for(let R of b)R.remove();if(k==="innerHTML"){let R=s.createElement("template");R.innerHTML=p;for(let W of Array.from(R.content.childNodes))c.insertBefore(W,_||null)}else c.insertBefore(s.createTextNode(p),_||null),wn(c,p);let w=Ve(c,{capability:"data",exclude:t.exclude||null});h.replaceChildren(...Array.from(w.root?.childNodes||[]));let T=R=>{let W=w.original(R);W&&(l.liveToClone.set(W,R),l.cloneToLive.set(R,W));for(let B of Array.from(R.childNodes||[]))T(B)};for(let R of Array.from(h.childNodes))T(R)},f={...q,find(c,h,k={}){let p=d(c);if(!p?.querySelectorAll)return[];let b=a().query(h,p);k.includeRulesTag||(b=b.filter(w=>!xn(w)));let v=[];k.skip&&v.push(k.skip);let _=k.templateAttr===null?null:k.templateAttr||"cms-template";if(_&&v.push(`[${_}]`),v.length){let w=v.join(", ");b=b.filter(T=>!T.closest?.(w))}return b},parent(c){let h=d(c)?.parentElement;return h?m(h):null},children(c){return Array.from(d(c)?.children||[],m)},text(c,h){if(h===void 0){let b=m(c);return!b?.matches?.(r)&&!b?.querySelector?.(r)?q.text(b):(d(c)?.textContent||"").trim()}let k=m(c);if(!k?.matches?.(r)&&!k?.querySelector?.(r)&&!l){q.text(k,h);return}let p=a().cloneOf(k);p?u(k,p,"textContent",h):q.text(k,h)},attr(c,h,k){let p=m(c);if(k===void 0)return q.attr(p,h);q.attr(p,h,k);let b=l?.cloneOf(p);b&&(q.attr(b,h,k),Ve(p,{capability:"data",exclude:t.exclude||null}).root===null&&(b.remove(),l.liveToClone.delete(p),l.cloneToLive.delete(b)))},removeAttr(c,h){let k=m(c);q.removeAttr(k,h);let p=l?.cloneOf(k);p&&q.removeAttr(p,h)},prop(c,h,k){let p=m(c);if(k===void 0)return h==="innerHTML"||h==="outerHTML"||h==="textContent"||h==="innerText"?q.prop(d(p),h):q.prop(p,h);let b=h==="innerHTML"||h==="textContent"||h==="innerText",v=b?a().cloneOf(p):l?.cloneOf(p);v&&b?u(p,v,h,k):(q.prop(p,h,k),v&&q.prop(v,h,k))},clone(c){let h=d(c);if(h===c)return q.clone(c);let k=s.importNode(h,!0);return An(k),k},insertAt(c,h,k){let p=m(c),v=f.children(p)[k]||(()=>{for(let T=p.children.length-1;T>=0;T--){let R=p.children[T];if(a().cloneOf(R))return R.nextElementSibling}return p.firstElementChild})(),_=m(h);p.insertBefore(_,v||null);let w=a().cloneOf(p);if(w){let T=a().cloneOf(_);T||(T=s.importNode(_,!0),g(_,T));let R=Array.from(w.children);w.insertBefore(T,R[k]||null)}},insertBefore(c,h){let k=m(c),p=m(h);k.parentNode.insertBefore(p,k);let b=a().cloneOf(k.parentNode);if(b){let v=a().cloneOf(p);v||(v=s.importNode(p,!0),g(p,v));let _=a().cloneOf(k);_?_.before(v):b.appendChild(v)}},insertAfter(c,h){let k=m(c),p=m(h);k.parentNode.insertBefore(p,k.nextSibling);let b=a().cloneOf(k.parentNode);if(b){let v=a().cloneOf(p);v||(v=s.importNode(p,!0),g(p,v));let _=a().cloneOf(k);_?_.after(v):b.appendChild(v)}},identity(c){return m(c)||null},remove(c){let h=m(c),k=a().cloneOf(h);q.remove(h),k&&q.remove(k)},replaceWith(c,h){let k=m(c),p=a().cloneOf(k),b=q.replaceWith(k,h);if(p){let v=Ve(b,{capability:"data",exclude:t.exclude||null});if(!v.root)p.remove();else{p.replaceWith(v.root);let _=w=>{let T=v.original(w);T&&(l.liveToClone.set(T,w),l.cloneToLive.set(w,T));for(let R of Array.from(w.childNodes||[]))_(R)};_(v.root)}}return b}};return f}var we=q;function cr(e){try{return JSON.parse(e)}catch(t){throw new ye(`Invalid strict JSON: ${t.message}`,t)}}function Ae(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(i){let o=[],s=0;for(;s<i.length;){let l=i[s];if(/\s/.test(l)){s++;continue}if("{}".includes(l)){o.push({type:l,value:l}),s++;continue}if(l==="["){let g=!1,u=s+1;for(;u<i.length&&/\s/.test(i[u]);)u++;if(u<i.length&&/[a-zA-Z_]/.test(i[u])&&(g=!0),!g){o.push({type:l,value:l}),s++;continue}}if(l==="]"){o.push({type:l,value:l}),s++;continue}if(l===":"){o.push({type:t.COLON,value:l}),s++;continue}if(l===","){o.push({type:t.COMMA,value:l}),s++;continue}if(l==='"'||l==="'"){let g=l,u=s+1;for(;u<i.length&&i[u]!==g;)i[u]==="\\"&&u++,u++;o.push({type:t.STRING,value:i.substring(s+1,u),quoted:!0,sourceQuote:g}),s=u+1;continue}let a=s,d;for(;a<i.length&&!/[{},]/.test(i[a]);)if(i[a]===":"){let g=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],u=!1;for(let f of g){let c=f.substring(1);if(i.substring(a+1,a+1+c.length)===c){u=!0,a+=c.length;break}}if(!u)break}else if(i[a]==="["){for(a++;a<i.length&&i[a]!=="]";){if(i[a]==='"'||i[a]==="'"){let g=i[a];for(a++;a<i.length&&i[a]!==g;)i[a]==="\\"&&a++,a++}a++}a<i.length&&i[a]==="]"&&a++}else a++;d=i.substring(s,a);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(d)?m=t.NUMBER:d==="true"||d==="false"||d==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(d)&&(m=t.SELECTOR),o.push({type:m,value:d,quoted:!1}),s=a}return o}function n(i){let o="";for(let s=0;s<i.length;s++){let l=i[s];if("{}".includes(l.type)||"[]".includes(l.type)){o+=l.value;continue}if(l.type===t.COLON){o+=l.value;continue}if(l.type===t.COMMA){let a=i[s+1];if(a&&(a.type==="}"||a.type==="]"))continue;o+=l.value;continue}if(l.type===t.STRING&&l.quoted){let a=l.value;l.sourceQuote==="'"&&(a=a.replace(/\\'/g,"'"),a=a.replace(/(\\*)"/g,(d,m)=>m.length%2===0?m+'\\"':d)),o+=`"${a}"`;continue}if(l.type===t.NUMBER||l.type===t.BOOLEAN){o+=l.value;continue}if(l.type===t.SELECTOR||l.type===t.IDENTIFIER){o+=`"${l.value}"`;continue}o+=`"${l.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new ye("Invalid extraction rules syntax: "+i.message,i)}}var En="1",_n=/^[a-zA-Z0-9_-]+$/;function We(e,t,r){let n;if(r===void 0)n="script[data-rules-name]";else{if(typeof r!="string"||!_n.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${_n})`);n=`script[data-rules-name~="${r}"]`}let i=e.find(t,n,{includeRulesTag:!0});if(i.length===0)return null;r!==void 0&&i.length>1&&console.warn(`hyper-html-api: ${i.length} rules tags match data-rules-name~="${r}"; using the first.`);let o=i[0],s=e.attr(o,"data-rules-version");if(s!==En)throw new ve(s);return{rules:Ae(e.text(o)),tagNode:o}}var wd=new Function("url","return import(url)");function Ln(e,t,r,n){let i=e.length,o=t.length,s=new Array(i).fill(-1);if(n){let p=new Set;for(let b=0;b<i;b++){let v=n[b];!(v>=0&&v<o)||p.has(v)||(s[b]=v,p.add(v))}}if(i===0||o===0)return s;let l=e.map(p=>Rn(p,r)),a=t.map(p=>Rn(p,r)),d=new Array(o).fill(!1);for(let p of s)p>=0&&(d[p]=!0);let m=new Map;a.forEach((p,b)=>{d[b]||m.set(p,m.has(p)?-1:b)});let g=new Map;l.forEach((p,b)=>{s[b]>=0||g.set(p,(g.get(p)||0)+1)}),l.forEach((p,b)=>{if(s[b]>=0||g.get(p)!==1)return;let v=m.get(p);v===void 0||v===-1||d[v]||(s[b]=v,d[v]=!0)});let u=[];for(let p=0;p<i;p++)s[p]<0&&u.push(p);let f=[];for(let p=0;p<o;p++)d[p]||f.push(p);if(u.length===0||f.length===0)return s;let c=i*o+1,h=bs(e,t,r),k=(p,b)=>h(p,b)*c+Math.abs(p-b);for(let[p,b]of ks(u,f,k))s[p]=b;return s}var Nn=e=>typeof e=="object"&&e!==null;function Rn(e,t){if(!Nn(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(n=>{let i=JSON.stringify(e?.[n]);return i===void 0?" undef":i}))}function bs(e,t,r){if(!Nn(r))return(l,a)=>e[l]===t[a]?0:1;let n=Object.keys(r),i=l=>n.map(a=>JSON.stringify(l?.[a])),o=e.map(i),s=t.map(i);return(l,a)=>{let d=o[l],m=s[a],g=0;for(let u=0;u<n.length;u++)d[u]!==m[u]&&g++;return g}}function ks(e,t,r){return e.length<=t.length?On(e,t,r,!1):On(t,e,(n,i)=>r(i,n),!0)}function On(e,t,r,n){let i=e.length,o=t.length,s=[];for(let g=0;g<=i;g++)s.push(new Float64Array(o+1).fill(1/0));let l=[];for(let g=0;g<=i;g++)l.push(new Uint8Array(o+1));for(let g=0;g<=o;g++)s[i][g]=0;for(let g=i-1;g>=0;g--)for(let u=o-1;u>=0;u--){let f=r(e[g],t[u])+s[g+1][u+1],c=s[g][u+1];f<=c?(s[g][u]=f,l[g][u]=1):s[g][u]=c}let a=[],d=0,m=0;for(;d<i&&m<o;)l[d][m]&&(a.push(n?[t[m],e[d]]:[e[d],t[m]]),d++),m++;return a}function ur(e,t,r,n,i,o,s,l={}){let a=e.find(t,r,l);if(i.length===0){a.forEach(_=>e.remove(_)),dr(l,"onRowsApplied",o.path,[]);return}let d=i.length>a.length,m=a[0]||null;if(d&&!m&&(m=ws(e,t,r,l),!m))throw new ne(o.path);let g=a.map(_=>xs(e,_,n,l)),u=null;if(d&&m){u=e.clone(m),l.templateAttr&&e.removeAttr(u,l.templateAttr);let _=e.stripIds(u);_>0&&console.warn(`[hyper-html-api] stripped ${_} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let f=Ln(i,g,n,ys(e,a,i,o,l)),c=a.length>0?e.parent(a[0]):Ss(e,t,r,m,o,l),h=a.length>0?Pn(e,c,a[0]):0,k=Rs(e,a),p=new Set,b=[],v=i.map((_,w)=>{let T=f[w];if(T>=0)return p.add(T),b.push(!1),a[T];b.push(!0);let R=e.clone(u);return e.stripIds(R),R});a.forEach((_,w)=>{p.has(w)||e.remove(_)}),k?Cs(e,c,h,v,b):Os(e,v,b,c,h),vs(e,v,n,i,o,s,l),dr(l,"onRowsApplied",o.path,v)}function dr(e,t,r,n){if(typeof e[t]=="function")try{return e[t](r.slice(),n)}catch(i){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,i);return}}function ys(e,t,r,n,i){let o=dr(i,"identifyRows",n.path,r);if(!Array.isArray(o))return null;let s=new Array(r.length).fill(-1),l=new Set,a=new Map(t.map((d,m)=>[e.identity(d),m]));for(let d=0;d<r.length;d++){if(!o[d])continue;let m=a.get(e.identity(o[d]));m===void 0||l.has(m)||(s[d]=m,l.add(m))}return s}function vs(e,t,r,n,i,o,s){t.forEach((l,a)=>{if(r===null){let d=n[a],m=d==null?"":String(d);e.text(l)!==m&&e.text(l,m)}else{let d=o(e,l,r,n[a],{depth:i.depth+1,path:[...i.path,a]},s);d&&d!==l&&(t[a]=d)}})}function xs(e,t,r,n){return r===null?e.text(t):ie(e,t,r,n.onRowsRead?{...n,onRowsRead:void 0}:n)}function Pn(e,t,r){let n=e.children(t);for(let i=0;i<n.length;i++)if(e.sameNode(n[i],r))return i;return-1}function ws(e,t,r,n){if(!n.templateAttr)return null;let i=/^\s*:scope\s*>\s*/.test(r),o=new RegExp(":not\\(\\["+n.templateAttr.replace(/[.*+?^${}()|[\]\\-]/g,"\\$&")+"\\]\\)","g"),s=r.replace(/^\s*:scope\s*>\s*/,"").replace(o,""),l=i?As(s):0,a=ir(s),d=t;for(;d;){let m=e.find(d,s,{includeRulesTag:!1,templateAttr:null});for(let g of m)if(e.attr(g,n.templateAttr)!=null&&!(i&&!Es(e,t,g,l))&&!(a&&!e.matches(e.parent(g),a)))return g;d=e.parent(d)}return null}function As(e){let t=0,r=null,n=1;for(let i=0;i<e.length;i++){let o=e[i];if(o==="\\")i++;else if(r)o===r&&(r=null);else if(o==='"'||o==="'")r=o;else if(o==="["||o==="(")t++;else if(o==="]"||o===")")t>0&&t--;else if(t===0&&o===">")n++;else{if(t===0&&(o==="+"||o==="~"))return null;if(t===0&&/\s/.test(o)){if(!_s(e,i))return null;for(;i+1<e.length&&/\s/.test(e[i+1]);)i++}}}return n}function _s(e,t){let r=t;for(;r<e.length&&/\s/.test(e[r]);)r++;let n=t>0?e[t-1]:"",i=r<e.length?e[r]:"";return Mn(n)||Mn(i)}function Mn(e){return e===">"||e==="+"||e==="~"}function Es(e,t,r,n){if(n===null)return!0;let i=r;for(let a=0;a<n;a++)if(i=e.parent(i),!i)return!1;let o=e.prop(t,"tagName");if(!o)return!0;let s=e.prop(i,"tagName");if(!s||String(s).toLowerCase()!==String(o).toLowerCase())return!1;let l=new Set(jn(e,i));return jn(e,t).every(a=>l.has(a))}function jn(e,t){let r=e.attr(t,"class");return r?String(r).split(/\s+/).filter(Boolean):[]}function Ss(e,t,r,n,i,o){let s=e.parent(n);if(s&&Ts(e,t,s)&&!Fn(e,s,o))return s;let l=ir(r);if(!l)throw new ne(i.path,`the list selector "${r}" names no container to hold the new rows \u2014 write it as "container > row" (for example "ol.comments > li") so the cloned row lands in the list`);let d=(l===":scope"?e.prop(t,"tagName")?[t]:[]:e.find(t,l,o)).filter(m=>!Fn(e,m,o));if(d.length===0)throw new ne(i.path,`no container matching "${l}" inside this context to hold the new rows`);if(d.length>1)throw new ne(i.path,`"${l}" matches ${d.length} containers inside this context, so the new rows have no single destination`);return d[0]}function Ts(e,t,r){let n=r;for(;n;){if(e.sameNode(n,t))return!0;n=e.parent(n)}return e.parent(t)?!1:e.find(t,"*",{includeRulesTag:!0,templateAttr:null}).some(i=>e.sameNode(i,r))}var In=["no-data","editor-ui"];function Fn(e,t,r){let n=t;for(;n;){if(r.templateAttr&&e.attr(n,r.templateAttr)!=null||In.some(o=>e.attr(n,o)!=null))return!0;let i=e.attr(n,"clay");if(i&&i.split(/\s+/).some(o=>In.includes(o)))return!0;n=e.parent(n)}return!1}function Cs(e,t,r,n,i){let o=e.children(t),s=o.map(a=>e.identity(a)),l=!1;n.forEach((a,d)=>{let m=e.identity(a),g=r+d;if(s[g]===m)return;if(!i[d]){let f=s.indexOf(m);f!==-1&&(s.splice(f,1),o.splice(f,1))}let u=Math.min(g,o.length);u<o.length?e.insertBefore(o[u],a):o.length?l?e.insertAfter(o[o.length-1],a):(e.insertAt(t,a,g),l=!0):e.insertAt(t,a,0),s.splice(u,0,m),o.splice(u,0,a)})}function Rs(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let n=new Map(e.children(r).map((o,s)=>[e.identity(o),s])),i=[];for(let o of t){let s=n.get(e.identity(o));if(s===void 0)return!1;i.push(s)}return i.sort((o,s)=>o-s),i[i.length-1]-i[0]===i.length-1}function Os(e,t,r,n,i){let o=null,s=i;for(let l=0;l<t.length;l++){if(!r[l]){o=t[l];continue}let a=o?e.parent(o):n;if(!a)continue;let d=o?Pn(e,a,o)+1:s++;e.insertAt(a,t[l],d),o=t[l]}}function _e(e,t,r,n,i={}){if(Object.prototype.hasOwnProperty.call(i,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let o=[];if(mr(r,n,[],o),o.length)throw new ze(o);ht(e,t,r,n,{depth:0,path:[]},i)}function ht(e,t,r,n,i,o={}){if(i.depth>xe)throw new ue(i.path);if(n===void 0)return t;if(typeof r=="string")return Ls(e,t,r,n,i,o);if(Array.isArray(r)){let[s,l]=r;return ur(e,t,s,l,n,i,ht,o),t}if(typeof r=="object"&&r!==null){for(let[s,l]of Object.entries(r)){let a=ht(e,t,l,n==null?n:n[s],{depth:i.depth+1,path:[...i.path,s]},o);a&&a!==t&&(t=a)}return t}return t}function Ls(e,t,r,n,i,o){if(r.endsWith("[]")){let a=r.slice(0,-2);return ur(e,t,a,null,n,i,ht,o),t}if(r.startsWith("@"))return qn(e,t,r.slice(1),n);let s=P(r);if(s!==-1){let a=r.slice(0,s),d=r.slice(s+1),m=a?e.find(t,a,o):[t];return m.length===0||qn(e,m[0],d,n),t}if(r===".")return Dn(e,t,n),t;let l=e.find(t,r,o);return l.length===0||Dn(e,l[0],n),t}function Dn(e,t,r){let n=r==null?"":String(r);e.text(t)!==n&&e.text(t,n)}function qn(e,t,r,n){if(ke.has(r)){let i=e.prop(t,r);if(i===n||i!=null&&n!=null&&String(i)===String(n))return t;throw new Be(r)}if(r==="outerHTML"){let i=n==null?"":String(n);return e.replaceWith(t,i)}if(rr.has(r)){let i=nr(r,n);return e.prop(t,r)!==i&&e.prop(t,r,i),t}if(n==null)e.attr(t,r)!=null&&e.removeAttr(t,r);else{let i=String(n);e.attr(t,r)!==i&&e.attr(t,r,i)}return t}function mr(e,t,r,n){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((i,o)=>{typeof i=="object"&&i!==null&&n.push({path:Ge([...r,o]),expected:"scalar",got:Ke(i)})}):n.push({path:Ge(r),expected:"array",got:Ke(t)});return}t!==null&&typeof t=="object"&&n.push({path:Ge(r),expected:"scalar",got:Ke(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){n.push({path:Ge(r),expected:"array",got:Ke(t)});return}let i=e[1];t.forEach((o,s)=>mr(i,o,[...r,s],n));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){n.push({path:Ge(r),expected:"object",got:Ke(t)});return}for(let[i,o]of Object.entries(e))mr(o,t[i],[...r,i],n)}}}function Ke(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Ge(e){return e.join(".")}var Us=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...pn],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"]});function hr(e,t,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let n=t&&t.ownerDocument?t.ownerDocument:t;return We(e,n,r)}return null}var H={extract:(e,t,r={})=>ie(Q(e,r),e,t,r),apply:(e,t,r,n={})=>_e(Q(e,{...n,_write:!0}),e,t,r,n),findRulesIn:(e,t)=>We(we,e,t),findRules:(e,t)=>hr(we,e,t),bind:(e,t,r={})=>{let n=hr(we,e,t);if(!n){let i=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${i}`)}return{...n,get:()=>ie(Q(e,r),e,n.rules,r),set:i=>_e(Q(e,{...r,_write:!0}),e,n.rules,i,r)}},parseStrict:cr,parseRelaxed:Ae,ruleAttrIndex:P,splitRule:$e,errors:ut,DOM_PROPERTIES:at};var pr={};tr(pr,{fromString:()=>ee,getRuleAtPath:()=>me,getValueAtPath:()=>Gs,setAtPath:()=>fr,toString:()=>Ks});function Ks(e){return e.map(String).join(".")}function ee(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function me(e,t){let r=e;for(let n of t){if(r==null)return;if(typeof r=="string"){if(r.endsWith("[]")&&(typeof n=="number"||n==="*")){r=r.slice(0,-2);continue}return}if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function Gs(e,t){let r=e;for(let n of t){if(r==null)return;r=r[n]}return r}function fr(e,t,r){if(t.length===0)return r;let[n,...i]=t;if(typeof n=="number"){let o=Array.isArray(e)?[...e]:[];return o[n]=fr(o[n],i,r),o}return{...e&&typeof e=="object"?e:{},[n]:fr((e||{})[n],i,r)}}function Ye(e){if(typeof e=="string")return e.endsWith("[]")?[]:"";if(Array.isArray(e))return[];if(typeof e=="object"&&e!==null){let t={};for(let[r,n]of Object.entries(e))t[r]=Ye(n);return t}return""}import Ys from"./hyper-morph.vendor.js";function ft(e,t,{ignoreActiveValue:r=!0}={}){Ys.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:r,restoreFocus:!0,formStateSync:"property",policy:"raw"})}import{morph as Wn}from"./hyper-morph.vendor.js";var zn=new WeakMap,gr=e=>e.map(String).join(".");function Xs(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function Bn(e,t){if(!e||!e.querySelector)return null;let r=e.querySelector(`[data-hcms-path="${Xs(t)}"]`),n=r&&r.querySelector(".hcms-array-items");return n?Array.from(n.children).filter(i=>i.matches&&i.matches("[data-hcms-card], [data-hcms-array-item]")):null}function Un(e,t,r){let n=Bn(e,t);!n||n.length!==r.length||n.forEach((i,o)=>{r[o]&&zn.set(i,r[o])})}function pt(){let e=new Map;return{hooks:{onRowsRead(t,r){e.set(gr(t),r)}},seed(t){for(let[r,n]of e)Un(t,r,n);e.clear()}}}function Hn(e){return{identifyRows(t,r){let n=Bn(e,gr(t));return!n||n.length!==r.length?null:n.map(i=>zn.get(i)||null)},onRowsApplied(t,r){Un(e,gr(t),r)}}}var Vn={skip:"[data-hcms-shell]",templateAttr:"cms-template"},br="data-hcms-rollback-ui",Js=0;function Kn(e,t,r,n={}){return Zs(e,t,r,n)}function Zs(e,t,r,n){let{shellRoot:i,structural:o,structuralPath:s,formRoot:l}=n,a=l?{...Vn,...Hn(l)}:Vn;if(!o)try{return H.apply(e,t,r,a),{ok:!0}}catch(u){return{ok:!1,error:u}}let d=Qs(e,t,s),m=d?tl(d):null,g=d?null:nl(e,i);try{return H.apply(e,t,r,a),{ok:!0}}catch(u){return m?rl(d,m):g&&il(e,i,g),{ok:!1,error:u}}}function Qs(e,t,r){if(!r||!e)return null;let n=ee(r),i=[],o=t;for(let s of n){if(typeof o=="string"||o==null||Array.isArray(o))break;if(typeof o=="object"&&s in o){if(i.push(s),o=o[s],Array.isArray(o)||typeof o=="string"&&o.endsWith("[]"))break}else return null}return!Array.isArray(o)&&!(typeof o=="string"&&o.endsWith("[]"))?null:el(e,t,i)}function el(e,t,r){if(r.length===0)return null;let n=e,i=t;for(let o=0;o<r.length;o++){let s=r[o];if(!i||typeof i!="object"||Array.isArray(i))return null;let l=i[s];if(l==null)return null;if(o===r.length-1){if(Array.isArray(l)){let[a]=l;return n.querySelector?.(a)?.parentElement||null}if(typeof l=="string"&&l.endsWith("[]")){let a=l.slice(0,-2);return n.querySelector?.(a)?.parentElement||null}return null}i=l}return null}function tl(e){let t=[],r=[];for(let n of Array.from(e.childNodes))t.push(kr(n,r));return{nodes:t,retained:r}}function rl(e,t){let r=e.cloneNode(!1);for(let n of t.nodes)r.appendChild(n);Wn(e,Array.from(r.childNodes),Yn()),Gn(e,t.retained)}function nl(e,t){let r=[],n=[];for(let i of Array.from(e.childNodes))i===t||t&&i.contains?.(t)||r.push(kr(i,n));return{nodes:r,retained:n}}function il(e,t,r){let n=e.cloneNode(!1);for(let i of r.nodes)n.appendChild(i);Wn(e,Array.from(n.childNodes),Yn()),Gn(e,r.retained)}function kr(e,t){let r=e.cloneNode(!1);if(e.nodeType===1&&e.matches('[editor-ui],[clay~="editor-ui"]')){let o=String(++Js);r.setAttribute(br,o),t.push({id:o,node:e})}let n=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,i=r.nodeType===1&&r.tagName==="TEMPLATE"?r.content:r;for(let o of Array.from(n.childNodes||[]))i.appendChild(kr(o,t));return r}function Gn(e,t){for(let{id:r,node:n}of t){let i=e.querySelector(`[${br}="${r}"]`);i===n?n.removeAttribute(br):n.isConnected?i?.remove():i?.replaceWith(n)}}function Yn(){return{morphStyle:"innerHTML",policy:"raw",restoreFocus:!1,scripts:{handle:!1,merge:!1}}}function bt(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\s+/g," ").trim().replace(/^./,t=>t.toUpperCase())}var ol='<div class="hcms-drag-handle mirk-sortable__grip" aria-hidden="true"><div class="mirk-sortable__dots"><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span></div></div>',yr='<svg class="hcms-x" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"><path d="M4 4 L12 12 M12 4 L4 12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg>',Zn={"@scalar":`
2
2
  <label class="hcms-field" data-hcms-shape="scalar">
3
3
  <span class="hcms-label" data-hcms-label></span>
4
4
  <textarea class="mirk-textarea" rows="1" data-hcms-field></textarea>
@@ -38,13 +38,13 @@ var Ho=Object.defineProperty;var Qt=(e,t)=>{for(var r in t)Ho(e,r,{get:t[r],enum
38
38
  </section>
39
39
  `,"@object-array-item":`
40
40
  <article class="hcms-card mirk-sortable__item" draggable="true">
41
- ${Us}
41
+ ${ol}
42
42
  <div class="hcms-card-body mirk-sortable__body">
43
43
  <div class="hcms-card-fields"></div>
44
44
  <div class="hcms-card-controls">
45
45
  <button type="button" class="hcms-move hcms-move-up hcms-sr-only" data-hcms-action="move-up" aria-label="Move up">\u2191</button>
46
46
  <button type="button" class="hcms-move hcms-move-down hcms-sr-only" data-hcms-action="move-down" aria-label="Move down">\u2193</button>
47
- <button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${fr}</button>
47
+ <button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${yr}</button>
48
48
  </div>
49
49
  </div>
50
50
  <div class="hcms-error" hidden></div>
@@ -58,7 +58,7 @@ var Ho=Object.defineProperty;var Qt=(e,t)=>{for(var r in t)Ho(e,r,{get:t[r],enum
58
58
  <span class="mirk-button__label">Choose</span>
59
59
  </label>
60
60
  <a class="mirk-file__name" data-hcms-field></a>
61
- <button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${fr}</button>
61
+ <button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${yr}</button>
62
62
  </div>
63
63
  <div class="hcms-error" hidden></div>
64
64
  </div>
@@ -72,7 +72,7 @@ var Ho=Object.defineProperty;var Qt=(e,t)=>{for(var r in t)Ho(e,r,{get:t[r],enum
72
72
  </label>
73
73
  <figure class="mirk-image__thumb">
74
74
  <span class="mirk-image__frame"><img class="mirk-image__preview" data-hcms-field alt="" /></span>
75
- <button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${fr}</button>
75
+ <button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${yr}</button>
76
76
  </figure>
77
77
  </div>
78
78
  <div class="hcms-error" hidden></div>
@@ -146,9 +146,9 @@ var Ho=Object.defineProperty;var Qt=(e,t)=>{for(var r in t)Ho(e,r,{get:t[r],enum
146
146
  <input class="hcms-chip-field" data-hcms-field aria-label="Item" placeholder="\u2026" />
147
147
  <button type="button" class="hcms-remove" data-hcms-action="remove" aria-label="Remove">\xD7</button>
148
148
  </span>
149
- `},Hs=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function gt(e){let t=e.head||e.documentElement;if(t)for(let r of Hs)Wn(e,t,r)}function gr(e,t){if(!Bn[t])return null;let r=e&&(e.head||e.documentElement);return r?Wn(e,r,t):null}var $n={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},pt={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},Vs=new Set([...Object.values(pt),"@chips","@chips-item"]);function Ge(e,t,r,n){if(typeof e!="string")return"@scalar";let i=q(e),o=yt(e,i,r,n),s=vt(o,t,"data-hcms-component");if(s&&pt[s]){let l=pt[s],a=Array.isArray(r)&&r.some(u=>u==="*"||typeof u=="number");return l==="@number"&&!zn(e,i,t,a,o).every(Ks)||(l==="@checkbox"||l==="@toggle")&&(i<0||e.slice(i+1)!=="checked")&&!zn(e,i,t,a,o).every(Gs)?"@scalar":l}if(i>=0){let l=e.slice(i+1);if($n[l])return $n[l]}return"@scalar"}function Un(e,t,r,n){if(typeof e!="string")return null;let i=q(e),o=vt(yt(e,i,r,n),t,"data-hcms-component");return o&&pt[o]||null}var Ws=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function Ks(e){return e==null||e===""?!0:Ws.test(String(e))}function Gs(e){return e==null||e===""||e==="true"||e==="false"}function zn(e,t,r,n,i){if(!r||!r.querySelectorAll)return[];if(!i||i===".")return[];let o=null;try{o=r.querySelectorAll(i)}catch{return[]}let s=t>=0?e.slice(t+1):null,l=[];for(let a of o)if(!(a.closest&&a.closest("[cms-template], [data-hcms-shell]"))&&(s?s==="value"&&"value"in a?l.push(a.value):l.push(a.getAttribute?a.getAttribute(s):null):l.push((a.textContent||"").trim()),!n))break;return l}function bt(e,t){if(typeof e!="string"||!e.endsWith("[]")||!t||!t.querySelector)return null;let r=e.slice(0,-2).trim();if(!r)return null;let n=null;try{n=t.querySelector(r)}catch{return null}let i=n&&n.closest?n.closest("[data-hcms-component]"):null;return(i&&i.getAttribute?i.getAttribute("data-hcms-component"):null)==="chips"?{array:"@chips",item:"@chips-item"}:null}function _e(e,t,r){let n=e.join("."),i=e.map(o=>typeof o=="number"?"*":o).join(".");return n&&J(r,n)||i&&i!==n&&J(r,i)||J(r,t)}function kt(e,t,r){let n=bt(e,r);if(!n)return null;let i=_e(t,n.array,r);return i&&i.getAttribute("data-hcms-tpl")===n.array?n:null}function Hn(e,t,r,n){if(typeof e!="string")return null;let i=q(e),o=vt(yt(e,i,r,n),t,"data-hcms-options");if(o==null)return null;let s=o.trim().split(/\s+/).filter(Boolean);return s.length?s:null}function Vn(e,t,r,n){if(typeof e!="string")return null;let i=q(e);return vt(yt(e,i,r,n),t,"data-hcms-crop")}function Ys(e,t){return t>=0?e.slice(0,t):e}function yt(e,t,r,n){let i=Ys(e,t);return i&&i!=="."?i:Xs(n,r)}function Xs(e,t){if(e==null||!Array.isArray(t))return"";let r=[],n=e;for(let i of t){if(n==null||typeof n=="string")break;if(Array.isArray(n)){if(typeof n[0]!="string"||i!=="*"&&typeof i!="number")return"";r.push(n[0]),n=n[1];continue}if(typeof n!="object"||!Object.prototype.hasOwnProperty.call(n,i))return"";n=n[i]}return r.join(" ")}function vt(e,t,r){if(!t||!t.querySelector||!e||e===".")return null;let n=null;try{n=t.querySelector(e)}catch{return null}return n&&n.getAttribute?n.getAttribute(r):null}function xt(e,t){if(!e||t==null)return;r(t,[]);function r(n,i){let o=me(n);if(o==="scalar"){let s=Ge(n,e,i,t);Vs.has(s)&&gr(e,s);return}if(o==="scalar-array"){let s=bt(n,e);s&&(gr(e,s.array),gr(e,s.item));return}if(o==="object"){for(let[s,l]of Object.entries(n))r(l,[...i,s]);return}if(o==="object-array"){let s=n[1],l=[...i,"*"];if(s&&typeof s=="object"&&!Array.isArray(s))for(let[a,u]of Object.entries(s))r(u,[...l,a]);else r(s,l)}}}function Wn(e,t,r){let n=J(e,r);if(n)return n;let i=e.createElement("template");return i.setAttribute("data-hcms-tpl",r),i.setAttribute("save-remove",""),i.innerHTML=Bn[r].trim(),t.appendChild(i),i}function J(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${Js(t)}"]`)}function Js(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function me(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function Ye(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var Kn={IMG:"src",A:"href"};function wt(e){if(!e)return"value";let t=(e.tagName||"").toUpperCase();return t==="INPUT"?(e.getAttribute("type")||"text").toLowerCase()==="checkbox"?"checked":"value":t==="TEXTAREA"||t==="SELECT"?"value":Kn[t]?Kn[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function Gn(e,t){let r=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),i=wt(e),s=`${Xn(r,n)}[data-hcms-field="${Ee(t)}"]`;return r==="INPUT"&&n==="radio"?`${s}:checked@value`:i?`${s}@${i}`:s}function Zs(e){let t=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),n=wt(e),o=`${Xn(t,r)}[data-hcms-field]`;return t==="INPUT"&&r==="radio"?`${o}:checked@value`:n?`${o}@${n}`:o}function Xn(e,t){return e==="INPUT"?t?`input[type="${t}"]`:"input":e==="TEXTAREA"?"textarea":e==="SELECT"?"select":e==="IMG"?"img":e==="A"?"a":':not([data-hcms-shape="scalar"]):not([data-hcms-shape="object"]):not([data-hcms-shape="object-array"]):not([data-hcms-shape="scalar-array"])'}function Ee(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Yn=new Set(["__proto__","constructor","prototype"]);function At(e,t){return r(e,[]);function r(u,h){let g=me(u);if(g==="scalar")return n(u,h);if(g==="scalar-array")return i(u,h);if(g==="object-array")return o(u,h);if(g==="object"){let d=Object.create(null);for(let[p,c]of Object.entries(u)){if(Yn.has(p))throw new Error(`hypercms: rule key "${p}" is forbidden at "${h.join(".")||"<root>"}"`);d[p]=r(c,[...h,p])}return d}return null}function n(u,h){let g=h.length?h[h.length-1]:null,d=typeof g=="string"?g:"__value",p=a(h,d);if(p)return Gn(p,d);let c=l(Ge(u,t,h,e),d);return c?Gn(c,d):`input[data-hcms-field="${Ee(d)}"]@value`}function i(u,h){let g=kt(u,h,t),d=g&&l(g.item,null)||l("@scalar-array-item",null),p=d?Zs(d):"input[data-hcms-field]@value";return[s(h,"[data-hcms-array-item]"),p]}function o(u,h){let[,g]=u,d=[...h,"*"],p=s(h,"[data-hcms-card]");if(g&&typeof g=="object"&&!Array.isArray(g)){let c=Object.create(null);for(let[m,k]of Object.entries(g)){if(Yn.has(m))throw new Error(`hypercms: rule key "${m}" is forbidden at "${d.join(".")}"`);c[m]=r(k,[...d,m])}return[p,c]}return[p,r(g,[...d,0])]}function s(u,h){let g=u.length?u[u.length-1]:"",d=u.some(m=>m==="*"),p=u.join(".");return`${d?`[data-hcms-field="${Ee(g)}"]`:`[data-hcms-path="${Ee(p)}"]`} > .hcms-array-items > ${h}`}function l(u,h){if(!t)return null;let g=J(t,u);if(!g)return null;let d=g.content||g;if(h){let p=d.querySelector(`[data-hcms-field="${Ee(h)}"]`);if(p)return p}return d.querySelector("[data-hcms-field]")}function a(u,h){if(!t)return null;let g=u.map(c=>typeof c=="number"?"*":c).join("."),p=[u.join("."),g];for(let c=u.length-1;c>=0;c--){let m=u.slice(0,c).map(k=>typeof k=="number"?"*":k);m.push("*"),p.push(m.join("."))}for(let c of p){if(!c)continue;let m=J(t,c);if(!m||!Ye(m))continue;let k=m.content||m,f=k.querySelector(`[data-hcms-field="${Ee(h)}"]`)||k.querySelector("[data-hcms-field]");if(f)return f}return null}}function br(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],r=t.split("/").pop()||t;try{return decodeURIComponent(r)}catch{return r}}function Se({pageRules:e,formRules:t,data:r,doc:n}){let i=n.createDocumentFragment(),o=kr(e,[],r,n,e);return o&&i.appendChild(o),i}function Zn({shape:e,itemShape:t,pathArr:r,data:n,doc:i,itemKey:o,pageRules:s}){if(e==="object-array-item")return ei(t,r,n,i,s);if(e==="scalar-array-item")return ti(r,n,i,o||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function kr(e,t,r,n,i){let o=me(e);return o==="scalar"?Qs(e,t,r,n,i):o==="object"?nl(e,t,r,n,i):o==="object-array"?il(e,t,r,n,i):o==="scalar-array"?ol(e,t,r,n):null}function Qs(e,t,r,n,i){let o=Ge(e,n,t,i),s=_e(t,o,n);if(!s)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let l=Un(e,n,t,i);l==="@number"&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "@number" but its value isn't a plain number; rendering a text input so the value is preserved`),(l==="@checkbox"||l==="@toggle")&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${l}" but its value isn't true/false; rendering a text input so the value is preserved`),Qn(s,l===o?l:null,t);let a=Te(s,n);Ce(a,t);let u=s.getAttribute?.("data-hcms-tpl");if((o==="@select"||o==="@radio")&&u===o&&el(a,e,t,r,n,o,i),o==="@image"&&u==="@image"){let h=Vn(e,n,t,i);h!=null&&!a.hasAttribute("data-hcms-crop")&&a.setAttribute("data-hcms-crop",h)}return sl(a,te(t)),_t(a,te(t)),Et(a,te(t)),si(a,r),o==="@file"&&rl(a),a}function Qn(e,t,r){if(!t)return;let n=e.getAttribute?.("data-hcms-tpl");n&&n!==t&&console.info(`[hypercms] field "${r.join(".")}" declares component "${t}" but custom template "${n}" wins`)}function el(e,t,r,n,i,o,s){let l=Hn(t,i,r,s),a=l?[...l]:[],u=n==null?"":String(n);if(u!==""&&!a.includes(u)&&a.unshift(u),!l&&(tl(e,"data-hcms-options required (space-separated values)"),a.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(o==="@select"){let d=e.querySelector("select[data-hcms-field]");if(!d)return;for(let p of a){let c=i.createElement("option");c.value=p,c.textContent=ft(p),d.appendChild(c)}return}let h=e.querySelector(".mirk-radio");if(!h||!h.parentNode)return;let g=yr(r.join("."));for(let d of a){let p=h.cloneNode(!0),c=p.querySelector('input[type="radio"]');c&&(c.value=d,c.name=g);let m=p.querySelector(".mirk-radio__label");m&&(m.textContent=ft(d)),h.parentNode.insertBefore(p,h)}h.remove()}function yr(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function tl(e,t){let r=e.querySelector?e.querySelector(".hcms-error"):null;r&&(r.textContent=t,r.hidden=!1)}function rl(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=br(t.getAttribute("href")))}function nl(e,t,r,n,i){let o=_e(t,"@object",n);if(!o)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let s=Te(o,n);if(Ce(s,t),_t(s,te(t)),Et(s,te(t)),Ye(o))return ai(s,e,t),li(s,e,r),s;let l=St(s,".hcms-object-fields",o,t);for(let[a,u]of Object.entries(e)){let h=r==null?null:r[a],g=kr(u,[...t,a],h,n,i);g&&l.appendChild(g)}return s}function il(e,t,r,n,i){let o=_e(t,"@object-array",n);if(!o)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let s=Te(o,n);Ce(s,t),_t(s,te(t)),Et(s,te(t)),ni(s,o),oi(s,o,t);let l=St(s,".hcms-array-items",o,t),[,a]=e;return(Array.isArray(r)?r:[]).forEach((h,g)=>{let d=ei(a,[...t,g],h,n,i);d&&l.appendChild(d)}),ii(s),s}function ei(e,t,r,n,i){let o=ri(t,"object-array-item",n);if(!o)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let s=Te(o,n);if(s.setAttribute("data-hcms-card",""),s.classList.contains("hcms-card")||s.classList.add("hcms-card"),Ce(s,t),Ye(o))return e&&typeof e=="object"&&!Array.isArray(e)&&(ai(s,e,t),li(s,e,r)),s;let l=St(s,".hcms-card-fields",o,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[a,u]of Object.entries(e)){let h=r==null?null:r[a],g=kr(u,[...t,a],h,n,i);g&&l.appendChild(g)}return s}function ol(e,t,r,n){let i=bt(e,n),o=kt(e,t,n),s=i?i.array:"@scalar-array",l=_e(t,s,n);if(!l)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Qn(l,i?i.array:null,t);let a=Te(l,n);Ce(a,t),_t(a,te(t)),Et(a,te(t)),ni(a,l),oi(a,l,t),o&&a.setAttribute("data-hcms-item-tpl",o.item);let u=St(a,".hcms-array-items",l,t);return(Array.isArray(r)?r:[]).forEach((g,d)=>{let p=ti([...t,d],g,n,o?o.item:null);p&&u.appendChild(p)}),ii(a),a}function ti(e,t,r,n){let i=ri(e,"scalar-array-item",r,n);if(!i)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let o=Te(i,r);return o.setAttribute("data-hcms-array-item",""),o.classList.contains("hcms-array-item")||o.classList.add("hcms-array-item"),Ce(o,e),si(o,t),o}function ri(e,t,r,n){let i=e.map(o=>typeof o=="number"?"*":o).join(".");return J(r,i)||n&&J(r,n)||J(r,"@"+t)}function Te(e,t){let r=e.content||e,n=t.createElement("div");return n.appendChild(r.cloneNode(!0)),n.firstElementChild||n}function Ce(e,t){e.setAttribute("data-hcms-path",t.join("."))}function sl(e,t){let r=t==null?"":String(t);if(e.matches&&e.matches("[data-hcms-field]")){e.getAttribute("data-hcms-field")||e.setAttribute("data-hcms-field",r);return}(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{i.getAttribute("data-hcms-field")||i.setAttribute("data-hcms-field",r)})}function _t(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function Et(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(n=>{(n.textContent||"").trim()===""&&(n.textContent=ft(String(t)))})}function ni(e,t){["data-hcms-no-add","data-hcms-no-remove","data-hcms-no-reorder"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,"")}),["data-hcms-min-items","data-hcms-max-items"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,t.getAttribute(r))})}function ii(e){let t=e.querySelector?e.querySelector(".hcms-array-items"):null;if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=Jn(e,"data-hcms-max-items"),o=Jn(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),u=e.querySelector('[data-hcms-action="add"]');u&&(u.hidden=s||i!=null&&n>=i),r.forEach((h,g)=>{let d=h.querySelector('[data-hcms-action="remove"]');d&&(d.hidden=l||o!=null&&n<=o);let p=h.querySelector('[data-hcms-action="move-up"]');p&&(p.hidden=a||g===0);let c=h.querySelector('[data-hcms-action="move-down"]');c&&(c.hidden=a||g===n-1)})}function Jn(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function oi(e,t,r){if(e.hasAttribute("data-hcms-no-reorder")||t.hasAttribute("data-hcms-no-reorder"))return;let n=e.querySelector(".hcms-array-items");if(!n)return;let i="hcms-"+r.join(".");n.setAttribute("sortable",i),n.setAttribute("onsorted","hypercmsCommit && hypercmsCommit()")}function te(e){return e.length?e[e.length-1]:null}function si(e,t){let r=ll(e);if(r.length!==0)for(let n of r)ci(n,t)}function ll(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&al(e)&&t.push(e),(e.querySelectorAll?e.querySelectorAll("input[data-hcms-field], textarea[data-hcms-field], select[data-hcms-field], img[data-hcms-field], a[data-hcms-field], [contenteditable][data-hcms-field]"):[]).forEach(n=>t.push(n)),t}function al(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function li(e,t,r){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o)return;if(!t||typeof t!="object"||!(o in t)){console.warn(`[hypercms] inline template field "${o}" is not in the rule shape; ignoring`);return}let s=r==null?null:r[o];ci(i,s)})}function ai(e,t,r){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o||t&&typeof t=="object"&&!(o in t))return;let s=[...r,o].join(".");i.setAttribute("data-hcms-path",s)})}function St(e,t,r,n){if(!e.querySelector)return e;let i=e.querySelector(t);if(i)return i;let o=r?.getAttribute?.("data-hcms-tpl")||n.join(".");throw new Error(`hypercms: template "${o}" is in slotted mode but has no ${t} element`)}function ci(e,t){let r=wt(e),n=(e.tagName||"").toUpperCase(),i=(e.getAttribute("type")||"").toLowerCase();if(n==="INPUT"&&i==="radio"){e.checked=e.value!=null&&String(e.value)===String(t??"");return}if(r==="checked"){e.checked=t===!0||t==="true";return}if(r){e[r]=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var cl={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,onSnapshot:(e,t)=>e?.onSnapshot??t?.onSnapshot,consent:(e,t)=>e?.confirm??t?.consent,RichClay:(e,t)=>e?.RichClay??t?.RichClay,quickcrop:(e,t)=>e?.quickcrop??t?.quickcrop,upload:(e,t)=>e?.upload??(t?.uploadFileBasic?ul(t.uploadFileBasic):null)},dl={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},vr=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function ul(e){return async function(r,{onProgress:n,signal:i}={}){if(i?.aborted)return vr();try{let o=await e(r,{onProgress:l=>{n?.({loaded:null,total:null,percent:l})}});if(i?.aborted)return vr();let s=o&&o.uploads||[];return typeof s[0]?.url!="string"?{ok:!1,msg:"The host accepted the file but did not say where it put it",msgType:"error",code:"bad-response",uploads:[]}:{ok:!0,msg:o.msg||"Uploaded",msgType:o.msgType||"success",code:o.code||null,uploads:s}}catch(o){if(i?.aborted)return vr();let s={};try{s=JSON.parse(o?.response||"{}")}catch{s={}}let l=s.code||dl[o?.status]||"error";return{ok:!1,msg:o&&o.message||"Upload failed",msgType:"error",code:l,uploads:[]}}}}function $(e,t){let r=cl[e];if(!r)throw new Error(`hypercms: unknown platform capability "${e}"`);let n=t||(typeof window<"u"?window:null);return n&&r(n.clay,n.hyperclay)||null}var di=["clay:mutation-ready","hyperclay:mutation-ready"],ui=["clay:sync-applied","hyperclay:livesync-applied"],mi=["clay:ready","hyperclay:ready"];function Re(e,t,r){let n=null,i=o=>{n!==null&&n!==o.type||(n=o.type,queueMicrotask(()=>{n=null}),r(o))};for(let o of t)e.addEventListener(o,i);return()=>{for(let o of t)e.removeEventListener(o,i)}}var Z="data-hcms-bound",ie="data-hcms-bound-id",xr=new Map;function hi(e,t){xr.set(e,t)}function pi(e){xr.delete(e)}function fi(e){let t=e.getAttribute(ie);if(!t)return null;let r=xr.get(t);return!r||!r.restorable()?null:r.originalHTML}var he="data-hcms-owns-richclay";function Oe(e){return e&&e.richclay&&e.richclay.RichClay||$("RichClay",e)||(e&&typeof e.RichClay=="function"?e.RichClay:null)}function gi(e,t,r){!e||typeof e.setAttribute!="function"||(e.setAttribute(Z,t?"rich":"plain"),r&&e.setAttribute(he,"true"))}function bi(e,t){if(!e||typeof e.querySelectorAll!="function")return;let r=e.querySelectorAll(`[${Z}]`);if(!r.length)return;let n=Oe(t);if(n&&typeof n.stripFromClone=="function")try{n.stripFromClone(e)}catch(i){console.warn("[hypercms] richclay strip failed; editor state may reach the save",i)}for(let i of r)i.getAttribute(he)==="true"&&i.removeAttribute("data-richclay"),i.removeAttribute(he),i.removeAttribute(Z)}function ki(e,t){if(!e||typeof e.removeAttribute!="function")return;let r=Oe(t);if(r&&typeof r.stripElement=="function")try{r.stripElement(e)}catch(n){console.warn("[hypercms] richclay element strip failed; the clone stays editable",n)}else e.removeAttribute("contenteditable"),e.removeAttribute("no-undo");e.getAttribute(he)==="true"&&e.removeAttribute("data-richclay"),e.removeAttribute(he),e.removeAttribute(Z),e.removeAttribute(ie)}function yi(e,t){if(!t||e==null)return e;return r(e);function r(n){if(typeof n=="string"){if(n.endsWith("[]")||q(n)!==-1)return n;let i=null;try{i=t.querySelector(n)}catch{return n}return i&&i.children.length>0?n+"@innerHTML":n}if(Array.isArray(n))return n;if(n&&typeof n=="object"){let i=Object.create(null);for(let[o,s]of Object.entries(n))i[o]=r(s);return i}return n}}function vi(e,t){if(!t||e==null)return e;return r(e,[t]);function r(n,i){if(typeof n=="string")return n.endsWith("[]")||q(n)!==-1?n:i.some(o=>ml(o,n))?n+"@innerHTML":n;if(Array.isArray(n)){let[o,s]=n;if(typeof o!="string"||!o)return n;let l=hl(t,o);return l.length?[o,r(s,l)]:n}if(n&&typeof n=="object"){let o=Object.create(null);for(let[s,l]of Object.entries(n))o[s]=r(l,i);return o}return n}}function ml(e,t){let r=null;try{r=e.querySelector(t)}catch{return!1}return r?r.hasAttribute(Z)?r.getAttribute(Z)==="rich":r.children.length>0:!1}function hl(e,t){try{return[...e.querySelectorAll(t)]}catch{return[]}}function Le(e){if(!e||e.tagName!=="TEXTAREA")return;let t=e.ownerDocument.defaultView||(typeof window<"u"?window:null);t&&t.CSS&&t.CSS.supports&&t.CSS.supports("field-sizing: content")||(e.style.height="auto",e.style.height=e.scrollHeight+"px")}function oe(e,t,r=!0){if(!e||!e.querySelectorAll||(e.querySelectorAll("textarea[data-hcms-field]").forEach(Le),r===!1))return;let n=t&&t.defaultView||(typeof window<"u"?window:null),i=Oe(n);i&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(o=>{if(o.__hcmsRichclay)return;let s;try{s=new i(o,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(a){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",a);return}o.__hcmsRichclay=s;let l=s&&s.squire;l&&typeof l.addEventListener=="function"&&l.addEventListener("input",()=>{let a=n&&n.Event||Event;o.dispatchEvent(new a("input",{bubbles:!0}))})})}var wr=new WeakSet;function pe(e,t){let r=$("undo");if(!r)return t();r.pause();try{let n=t();return n&&n.ok?r.commitCaptured(e):r.discardCaptured(),n}finally{r.resume()}}function re(e){let t=$("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function Rt(e){let{formRoot:t}=e;if(!t||wr.has(t))return;wr.add(t);let r=s=>{let l=s.target;!l||!l.closest||l.closest("[data-hcms-form-root]")&&l.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(l.tagName==="TEXTAREA"&&Le(l),!l.matches('input[type="file"]')&&(!l.closest("[data-hcms-field]")&&!l.hasAttribute?.("data-hcms-field")||xi(l,e)))},n=s=>{let l=s.target;if(!(!l||!l.closest)&&l.closest("[data-hcms-form-root]")){if(l.matches('input[type="file"][data-hcms-upload]')){xl(l,e);return}l.matches('input[type="checkbox"], input[type="radio"], select')&&xi(l,e)}},i=s=>{let l=s.target;if(!l||!l.closest)return;let a=l.closest("[data-hcms-action]");if(!a)return;let u=a.getAttribute("data-hcms-action");if(u==="add"||u==="remove"||u==="move-up"||u==="move-down"||u==="clear-upload"){if(!a.closest("[data-hcms-form-root]"))return}else if(u==="close"&&!a.closest("[data-hcms-shell]"))return;if(u==="add"){let h=a.closest("[data-hcms-path]");if(!h)return;let g=h.getAttribute("data-hcms-path");Xe(g,e)}else if(u==="remove"){let h=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!h)return;Er(h,e)}else if(u==="move-up"||u==="move-down"){let h=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!h)return;_r(h,u==="move-up"?-1:1,e)}else u==="clear-upload"?El(a,e):u==="close"&&e.onCloseRequested?.()},o=t.ownerDocument;o.addEventListener("input",r,!0),o.addEventListener("change",n,!0),o.addEventListener("click",i,!0),e.detachEvents=()=>{o.removeEventListener("input",r,!0),o.removeEventListener("change",n,!0),o.removeEventListener("click",i,!0),wr.delete(t)}}var pl=new Set(["value","checked"]);function fl(e,t){if(!t)return null;let r=ee(t);if(r.some(a=>typeof a=="number"||a==="*"))return null;let n=ue(e.pageRules,r);if(typeof n!="string")return null;let i=V.ruleAttrIndex(n);if(i===-1)return null;let o=n.slice(i+1);if(!pl.has(o))return null;let s=n.slice(0,i),l=s?e.pageRoot.querySelector(s):e.pageRoot;return l?{el:l,prop:o,oldValue:l[o]}:null}function xi(e,t){let n=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",i=fl(t,n);if(K(W(t),{path:n,structural:!1},t),i){let o=$("undo");o&&typeof o.recordValue=="function"&&o.recordValue(i.el,{prop:i.prop,oldValue:i.oldValue,newValue:i.el[i.prop]})}}var gl={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function bl(e,t){let r=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(r==null)return{file:e};let n=$("quickcrop");if(typeof n!="function")return{file:e};try{let i=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",o=await n(e,{aspect:kl(r),modal:i,...gl});return o===null?null:{file:yl(o.blob,e.name),dataURL:o.dataURL}}catch(i){return Me(t,i&&i.message||"Crop failed"),null}}function kl(e){let t=String(e??"").trim().toLowerCase();if(t===""||t==="free")return null;let r=t.match(/^(\d+(?:\.\d+)?)\s*[:/]\s*(\d+(?:\.\d+)?)$/);if(!r)return null;let n=parseFloat(r[1]),i=parseFloat(r[2]);return!n||!i?null:n/i}function yl(e,t){let r=e.type==="image/webp"?".webp":e.type==="image/jpeg"?".jpg":".png",n=String(t||"image").replace(/\.[^.]+$/,"");try{return new File([e],n+r,{type:e.type})}catch{return e}}var vl=new Set(["unsupported","payment-required"]);async function xl(e,t){let r=e.files&&e.files[0];if(!r)return;let n=e.closest("[data-hcms-path]");if(!n)return;let i=n.getAttribute("data-hcms-path")||"";Me(n,null);let o=await bl(r,n);if(!o||t.closed){se(e);return}let s=o.file,l=o.dataURL||null,a=$("upload");if(typeof a!="function")return Ar(e,n,t,i,await wi(s,l,n),s);Si(n,l),Ai(n,0);let u=Al(t),h;try{h=await a(s,{signal:u?.signal,onProgress:({percent:d})=>Ai(n,d)})}finally{_l(t,u),Tl(n)}if(t.closed){se(e);return}if(h.code==="aborted"){se(e);return}if(h.ok)return Ar(e,n,t,i,h.uploads[0].url,s);if(!vl.has(h.code)){Me(n,h.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(h.msg||"Upload failed"),code:h.code,path:i}),se(e);return}let g=h.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return Ar(e,n,t,i,await wi(s,l,n),s,g)}function Ar(e,t,r,n,i,o,s=null){if(r.closed){se(e);return}if(Si(t,null),Me(t,null),!i){se(e);return}Ei(t,i,o.name),K(W(r),{path:n,structural:!1},r),s&&Me(t,s,"info"),se(e)}async function wi(e,t,r){return t||await wl(e,r)}function wl(e,t){let r=t?.ownerDocument?.defaultView?.FileReader||globalThis.FileReader;return r?new Promise(n=>{let i=new r;i.onload=()=>n(typeof i.result=="string"?i.result:""),i.onerror=()=>n("");try{i.readAsDataURL(e)}catch{n("")}}):Promise.resolve("")}function Al(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function _l(e,t){t&&e.uploads?.delete(t)}function El(e,t){let r=e.closest("[data-hcms-path]");if(!r)return;let n=r.getAttribute("data-hcms-path")||"";Ei(r,"","");let i=r.querySelector('input[type="file"][data-hcms-upload]');i&&se(i),Me(r,null),K(W(t),{path:n,structural:!1},t)}function Sl(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function Ei(e,t,r){let n=Sl(e);if(!n)return;let i=(n.tagName||"").toUpperCase();i==="IMG"?n.src=t||"":i==="A"&&(n.href=t||"",n.textContent=t?r||br(t):"")}function se(e){try{e.value=""}catch{}}function Si(e,t){let r=e.querySelector?e.querySelector(".mirk-image__frame"):null;r&&(t?r.style.backgroundImage=`url("${t.replace(/"/g,"%22")}")`:r.style.removeProperty("background-image"))}function Ai(e,t){let r=Math.max(0,Math.min(100,Number(t)||0));e.setAttribute("data-hcms-uploading",""),e.style?.setProperty?.("--hcms-upload-progress",`${r}%`)}function Tl(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function Me(e,t,r="error"){let n=e.querySelector?e.querySelector(":scope > .hcms-error"):null;n&&(n.classList.toggle("hcms-error--info",!!t&&r==="info"),t?(n.textContent=t,n.hidden=!1):(n.textContent="",n.hidden=!0))}function Xe(e,t){let{formRoot:r,pageRules:n}=t,i=r.querySelector(`[data-hcms-path="${je(e)}"]`);if(!i)throw new Error(`hypercms: no element at path "${e}"`);let o=i.querySelector(".hcms-array-items");if(!o)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let s=ee(e),l=Nl(n,s),a=Array.isArray(l),u=typeof l=="string"&&l.endsWith("[]");if(!a&&!u)throw new Error(`hypercms: path "${e}" is not an array`);let h=Ct(i,"data-hcms-max-items"),g=o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(i.hasAttribute("data-hcms-no-add")||h!=null&&g.length>=h)return;let d=g.length,p=a?l[1]:l.replace(/\[\]$/,""),c=Ke(a?p:"string"),m=Zn({shape:a?"object-array-item":"scalar-array-item",itemShape:p,pathArr:[...s,d],data:c,doc:t.doc,itemKey:i.getAttribute("data-hcms-item-tpl")||null,pageRules:n});return o.appendChild(m),oe(m,t.doc,t.view?.enhanceFormRichText!==!1),Tr(i),pe(`Add ${e}`,()=>K(W(t),{path:e,structural:!0},t))}function _r(e,t,r){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!n||n.hasAttribute("data-hcms-no-reorder"))return;let i=n.querySelector(".hcms-array-items");if(!i)return;let o=Array.from(i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),s=o.indexOf(e);if(s<0)return;let l=s+t;if(l<0||l>=o.length)return;let a=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?i.insertBefore(e,o[l]):i.insertBefore(e,o[l].nextSibling),Cr(i),Tr(n),a&&typeof a.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),pe(`Reorder ${n.getAttribute("data-hcms-path")||""}`,()=>K(W(r),{path:n.getAttribute("data-hcms-path")||"",structural:!0},r))}var Tt="Delete this item?";function Cl(e,t){let r=e&&e.getAttribute("data-hcms-confirm-remove");if(r!=null)return/^(off|false|no|0)$/i.test(r.trim())?null:r||Tt;let n=t&&t.confirmRemove;return n===!1?null:typeof n=="string"?n||Tt:n===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?Tt:null}function Er(e,t){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),n=Cl(r,t);if(n==null)return Ne(e,t);let i=$("consent")||typeof window<"u"&&window.consent;typeof i=="function"?Promise.resolve(i(n)).then(()=>{t.closed||Ne(e,t)},()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(n)&&Ne(e,t):Ne(e,t)}function Ne(e,t){let r=e.getAttribute("data-hcms-path")||"",n=e.parentElement,i=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!i?.hasAttribute("data-hcms-no-remove")){if(i){let o=Ct(i,"data-hcms-min-items"),s=i.querySelector(".hcms-array-items"),l=s?s.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(o!=null&&l<=o)return}return e.remove(),n&&Cr(n),i&&Tr(i),pe(`Remove ${r}`,()=>K(W(t),{path:r,structural:!0},t))}}function K(e,t,r){if(r.closed)return{ok:!1,skipped:!0,closed:!0};let n=Je(e);if(!t.structural&&n===r.lastFingerprint)return{ok:!0,skipped:!0};let i=Object.hasOwn(r,"writeRules")?r.writeRules:r.pageRules,o=Dn(r.pageRoot,i,e,{shellRoot:r.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:r.formRoot});return o.ok?(r.lastFingerprint=n,r.lastData=e,_i(r,null),r.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),r.onChange?.(e,t)):(_i(r,Ll(o.error,t.path)),r.dispatch?.("hcms:error",{error:o.error,attemptedData:e}),r.onError?.(o.error)),o}function Ot(e,t){let r=je(t),n=`[data-hcms-path="${r}"] input[data-hcms-field], [data-hcms-path="${r}"] textarea[data-hcms-field], [data-hcms-path="${r}"] select[data-hcms-field], [data-hcms-path="${r}"] img[data-hcms-field], [data-hcms-path="${r}"] a[data-hcms-field], [data-hcms-path="${r}"] [contenteditable][data-hcms-field], input[data-hcms-path="${r}"][data-hcms-field], textarea[data-hcms-path="${r}"][data-hcms-field], select[data-hcms-path="${r}"][data-hcms-field], img[data-hcms-path="${r}"][data-hcms-field], a[data-hcms-path="${r}"][data-hcms-field], [contenteditable][data-hcms-path="${r}"][data-hcms-field]`;return e.querySelector(n)}function Lt(e,t,r,n){let i=(e.tagName||"").toUpperCase(),o=(e.getAttribute("type")||"").toLowerCase();if(i==="INPUT"&&o==="checkbox"){e.checked=t===!0||t==="true";return}if(i==="INPUT"&&o==="radio"){let s=je(n),l=r.querySelectorAll(`[data-hcms-path="${s}"][data-hcms-field][type="radio"], [data-hcms-path="${s}"] [data-hcms-field][type="radio"]`);l.length?l.forEach(a=>{a.checked=String(a.value)===String(t??"")}):e.checked=String(e.value)===String(t??"");return}if(i==="IMG"){e.src=t==null?"":String(t);return}if(i==="A"){e.href=t==null?"":String(t);return}if(e.hasAttribute&&e.hasAttribute("contenteditable")){e.innerHTML=t==null?"":String(t);return}if("value"in e){e.value=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}function W(e){let t=V.extract(e.formRoot,e.formRules,{exclude:null});return le(t,e.formRules)}function le(e,t){if(t==null||e==null)return e;if(typeof t=="string")return t.endsWith("@checked")?e===!0||e==="true":e;if(Array.isArray(t)){if(!Array.isArray(e))return e;let[,r]=t;return e.map(n=>le(n,r))}if(typeof t=="object"){if(typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(t))r[n]=le(e[n],i);return r}return e}function _i(e,t){e.lastErrors=t&&t.length?t:null,Sr(e)}function Sr(e){if(Rl(e),e.errorEl&&(e.errorEl.textContent="",e.errorEl.hidden=!0),!e.lastErrors)return;let t=[];for(let{message:r,path:n}of e.lastErrors){if(n!=null&&n!==""){let i=Ol(e.formRoot,n);if(i){i.textContent=i.textContent?`${i.textContent}
149
+ `},sl=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function kt(e){let t=e.head||e.documentElement;if(t)for(let r of sl)ri(e,t,r)}function vr(e,t){if(!Zn[t])return null;let r=e&&(e.head||e.documentElement);return r?ri(e,r,t):null}var Xn={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},gt={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},ll=new Set([...Object.values(gt),"@chips","@chips-item"]);function Xe(e,t,r,n){if(typeof e!="string")return"@scalar";let i=P(e),o=xt(e,i,r,n),s=wt(o,t,"data-hcms-component");if(s&&gt[s]){let l=gt[s],a=Array.isArray(r)&&r.some(d=>d==="*"||typeof d=="number");return l==="@number"&&!Jn(e,i,t,a,o).every(cl)||(l==="@checkbox"||l==="@toggle")&&(i<0||e.slice(i+1)!=="checked")&&!Jn(e,i,t,a,o).every(dl)?"@scalar":l}if(i>=0){let l=e.slice(i+1);if(Xn[l])return Xn[l]}return"@scalar"}function Qn(e,t,r,n){if(typeof e!="string")return null;let i=P(e),o=wt(xt(e,i,r,n),t,"data-hcms-component");return o&&gt[o]||null}var al=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function cl(e){return e==null||e===""?!0:al.test(String(e))}function dl(e){return e==null||e===""||e==="true"||e==="false"}function Jn(e,t,r,n,i){if(!r||!r.querySelectorAll)return[];if(!i||i===".")return[];let o=null;try{o=r.querySelectorAll(i)}catch{return[]}let s=t>=0?e.slice(t+1):null,l=[];for(let a of o)if(!(a.closest&&a.closest("[cms-template], [data-hcms-shell]"))&&(s?s==="value"&&"value"in a?l.push(a.value):l.push(a.getAttribute?a.getAttribute(s):null):l.push((a.textContent||"").trim()),!n))break;return l}function yt(e,t){if(typeof e!="string"||!e.endsWith("[]")||!t||!t.querySelector)return null;let r=e.slice(0,-2).trim();if(!r)return null;let n=null;try{n=t.querySelector(r)}catch{return null}let i=n&&n.closest?n.closest("[data-hcms-component]"):null;return(i&&i.getAttribute?i.getAttribute("data-hcms-component"):null)==="chips"?{array:"@chips",item:"@chips-item"}:null}function Ee(e,t,r){let n=e.join("."),i=e.map(o=>typeof o=="number"?"*":o).join(".");return n&&J(r,n)||i&&i!==n&&J(r,i)||J(r,t)}function vt(e,t,r){let n=yt(e,r);if(!n)return null;let i=Ee(t,n.array,r);return i&&i.getAttribute("data-hcms-tpl")===n.array?n:null}function ei(e,t,r,n){if(typeof e!="string")return null;let i=P(e),o=wt(xt(e,i,r,n),t,"data-hcms-options");if(o==null)return null;let s=o.trim().split(/\s+/).filter(Boolean);return s.length?s:null}function ti(e,t,r,n){if(typeof e!="string")return null;let i=P(e);return wt(xt(e,i,r,n),t,"data-hcms-crop")}function ul(e,t){return t>=0?e.slice(0,t):e}function xt(e,t,r,n){let i=ul(e,t);return i&&i!=="."?i:ml(n,r)}function ml(e,t){if(e==null||!Array.isArray(t))return"";let r=[],n=e;for(let i of t){if(n==null||typeof n=="string")break;if(Array.isArray(n)){if(typeof n[0]!="string"||i!=="*"&&typeof i!="number")return"";r.push(n[0]),n=n[1];continue}if(typeof n!="object"||!Object.prototype.hasOwnProperty.call(n,i))return"";n=n[i]}return r.join(" ")}function wt(e,t,r){if(!t||!t.querySelector||!e||e===".")return null;let n=null;try{n=t.querySelector(e)}catch{return null}return n&&n.getAttribute?n.getAttribute(r):null}function At(e,t){if(!e||t==null)return;r(t,[]);function r(n,i){let o=he(n);if(o==="scalar"){let s=Xe(n,e,i,t);ll.has(s)&&vr(e,s);return}if(o==="scalar-array"){let s=yt(n,e);s&&(vr(e,s.array),vr(e,s.item));return}if(o==="object"){for(let[s,l]of Object.entries(n))r(l,[...i,s]);return}if(o==="object-array"){let s=n[1],l=[...i,"*"];if(s&&typeof s=="object"&&!Array.isArray(s))for(let[a,d]of Object.entries(s))r(d,[...l,a]);else r(s,l)}}}function ri(e,t,r){let n=J(e,r);if(n)return n;let i=e.createElement("template");return i.setAttribute("data-hcms-tpl",r),i.setAttribute("save-remove",""),i.innerHTML=Zn[r].trim(),t.appendChild(i),i}function J(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${hl(t)}"]`)}function hl(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function he(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function Je(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var ni={IMG:"src",A:"href"};function _t(e){if(!e)return"value";let t=(e.tagName||"").toUpperCase();return t==="INPUT"?(e.getAttribute("type")||"text").toLowerCase()==="checkbox"?"checked":"value":t==="TEXTAREA"||t==="SELECT"?"value":ni[t]?ni[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function ii(e,t){let r=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),i=_t(e),s=`${si(r,n)}[data-hcms-field="${Se(t)}"]`;return r==="INPUT"&&n==="radio"?`${s}:checked@value`:i?`${s}@${i}`:s}function fl(e){let t=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),n=_t(e),o=`${si(t,r)}[data-hcms-field]`;return t==="INPUT"&&r==="radio"?`${o}:checked@value`:n?`${o}@${n}`:o}function si(e,t){return e==="INPUT"?t?`input[type="${t}"]`:"input":e==="TEXTAREA"?"textarea":e==="SELECT"?"select":e==="IMG"?"img":e==="A"?"a":':not([data-hcms-shape="scalar"]):not([data-hcms-shape="object"]):not([data-hcms-shape="object-array"]):not([data-hcms-shape="scalar-array"])'}function Se(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var oi=new Set(["__proto__","constructor","prototype"]);function Et(e,t){return r(e,[]);function r(d,m){let g=he(d);if(g==="scalar")return n(d,m);if(g==="scalar-array")return i(d,m);if(g==="object-array")return o(d,m);if(g==="object"){let u=Object.create(null);for(let[f,c]of Object.entries(d)){if(oi.has(f))throw new Error(`hypercms: rule key "${f}" is forbidden at "${m.join(".")||"<root>"}"`);u[f]=r(c,[...m,f])}return u}return null}function n(d,m){let g=m.length?m[m.length-1]:null,u=typeof g=="string"?g:"__value",f=a(m,u);if(f)return ii(f,u);let c=l(Xe(d,t,m,e),u);return c?ii(c,u):`input[data-hcms-field="${Se(u)}"]@value`}function i(d,m){let g=vt(d,m,t),u=g&&l(g.item,null)||l("@scalar-array-item",null),f=u?fl(u):"input[data-hcms-field]@value";return[s(m,"[data-hcms-array-item]"),f]}function o(d,m){let[,g]=d,u=[...m,"*"],f=s(m,"[data-hcms-card]");if(g&&typeof g=="object"&&!Array.isArray(g)){let c=Object.create(null);for(let[h,k]of Object.entries(g)){if(oi.has(h))throw new Error(`hypercms: rule key "${h}" is forbidden at "${u.join(".")}"`);c[h]=r(k,[...u,h])}return[f,c]}return[f,r(g,[...u,0])]}function s(d,m){let g=d.length?d[d.length-1]:"",u=d.some(h=>h==="*"),f=d.join(".");return`${u?`[data-hcms-field="${Se(g)}"]`:`[data-hcms-path="${Se(f)}"]`} > .hcms-array-items > ${m}`}function l(d,m){if(!t)return null;let g=J(t,d);if(!g)return null;let u=g.content||g;if(m){let f=u.querySelector(`[data-hcms-field="${Se(m)}"]`);if(f)return f}return u.querySelector("[data-hcms-field]")}function a(d,m){if(!t)return null;let g=d.map(c=>typeof c=="number"?"*":c).join("."),f=[d.join("."),g];for(let c=d.length-1;c>=0;c--){let h=d.slice(0,c).map(k=>typeof k=="number"?"*":k);h.push("*"),f.push(h.join("."))}for(let c of f){if(!c)continue;let h=J(t,c);if(!h||!Je(h))continue;let k=h.content||h,p=k.querySelector(`[data-hcms-field="${Se(m)}"]`)||k.querySelector("[data-hcms-field]");if(p)return p}return null}}function xr(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],r=t.split("/").pop()||t;try{return decodeURIComponent(r)}catch{return r}}function Te({pageRules:e,formRules:t,data:r,doc:n}){let i=n.createDocumentFragment(),o=wr(e,[],r,n,e);return o&&i.appendChild(o),i}function ai({shape:e,itemShape:t,pathArr:r,data:n,doc:i,itemKey:o,pageRules:s}){if(e==="object-array-item")return di(t,r,n,i,s);if(e==="scalar-array-item")return ui(r,n,i,o||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function wr(e,t,r,n,i){let o=he(e);return o==="scalar"?pl(e,t,r,n,i):o==="object"?yl(e,t,r,n,i):o==="object-array"?vl(e,t,r,n,i):o==="scalar-array"?xl(e,t,r,n):null}function pl(e,t,r,n,i){let o=Xe(e,n,t,i),s=Ee(t,o,n);if(!s)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let l=Qn(e,n,t,i);l==="@number"&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "@number" but its value isn't a plain number; rendering a text input so the value is preserved`),(l==="@checkbox"||l==="@toggle")&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${l}" but its value isn't true/false; rendering a text input so the value is preserved`),ci(s,l===o?l:null,t);let a=Ce(s,n);Re(a,t);let d=s.getAttribute?.("data-hcms-tpl");if((o==="@select"||o==="@radio")&&d===o&&gl(a,e,t,r,n,o,i),o==="@image"&&d==="@image"){let m=ti(e,n,t,i);m!=null&&!a.hasAttribute("data-hcms-crop")&&a.setAttribute("data-hcms-crop",m)}return wl(a,te(t)),St(a,te(t)),Tt(a,te(t)),gi(a,r),o==="@file"&&kl(a),a}function ci(e,t,r){if(!t)return;let n=e.getAttribute?.("data-hcms-tpl");n&&n!==t&&console.info(`[hypercms] field "${r.join(".")}" declares component "${t}" but custom template "${n}" wins`)}function gl(e,t,r,n,i,o,s){let l=ei(t,i,r,s),a=l?[...l]:[],d=n==null?"":String(n);if(d!==""&&!a.includes(d)&&a.unshift(d),!l&&(bl(e,"data-hcms-options required (space-separated values)"),a.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(o==="@select"){let u=e.querySelector("select[data-hcms-field]");if(!u)return;for(let f of a){let c=i.createElement("option");c.value=f,c.textContent=bt(f),u.appendChild(c)}return}let m=e.querySelector(".mirk-radio");if(!m||!m.parentNode)return;let g=Ar(r.join("."));for(let u of a){let f=m.cloneNode(!0),c=f.querySelector('input[type="radio"]');c&&(c.value=u,c.name=g);let h=f.querySelector(".mirk-radio__label");h&&(h.textContent=bt(u)),m.parentNode.insertBefore(f,m)}m.remove()}function Ar(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function bl(e,t){let r=e.querySelector?e.querySelector(".hcms-error"):null;r&&(r.textContent=t,r.hidden=!1)}function kl(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=xr(t.getAttribute("href")))}function yl(e,t,r,n,i){let o=Ee(t,"@object",n);if(!o)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let s=Ce(o,n);if(Re(s,t),St(s,te(t)),Tt(s,te(t)),Je(o))return ki(s,e,t),bi(s,e,r),s;let l=Ct(s,".hcms-object-fields",o,t);for(let[a,d]of Object.entries(e)){let m=r==null?null:r[a],g=wr(d,[...t,a],m,n,i);g&&l.appendChild(g)}return s}function vl(e,t,r,n,i){let o=Ee(t,"@object-array",n);if(!o)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let s=Ce(o,n);Re(s,t),St(s,te(t)),Tt(s,te(t)),hi(s,o),pi(s,o,t);let l=Ct(s,".hcms-array-items",o,t),[,a]=e;return(Array.isArray(r)?r:[]).forEach((m,g)=>{let u=di(a,[...t,g],m,n,i);u&&l.appendChild(u)}),fi(s),s}function di(e,t,r,n,i){let o=mi(t,"object-array-item",n);if(!o)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let s=Ce(o,n);if(s.setAttribute("data-hcms-card",""),s.classList.contains("hcms-card")||s.classList.add("hcms-card"),Re(s,t),Je(o))return e&&typeof e=="object"&&!Array.isArray(e)&&(ki(s,e,t),bi(s,e,r)),s;let l=Ct(s,".hcms-card-fields",o,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[a,d]of Object.entries(e)){let m=r==null?null:r[a],g=wr(d,[...t,a],m,n,i);g&&l.appendChild(g)}return s}function xl(e,t,r,n){let i=yt(e,n),o=vt(e,t,n),s=i?i.array:"@scalar-array",l=Ee(t,s,n);if(!l)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);ci(l,i?i.array:null,t);let a=Ce(l,n);Re(a,t),St(a,te(t)),Tt(a,te(t)),hi(a,l),pi(a,l,t),o&&a.setAttribute("data-hcms-item-tpl",o.item);let d=Ct(a,".hcms-array-items",l,t);return(Array.isArray(r)?r:[]).forEach((g,u)=>{let f=ui([...t,u],g,n,o?o.item:null);f&&d.appendChild(f)}),fi(a),a}function ui(e,t,r,n){let i=mi(e,"scalar-array-item",r,n);if(!i)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let o=Ce(i,r);return o.setAttribute("data-hcms-array-item",""),o.classList.contains("hcms-array-item")||o.classList.add("hcms-array-item"),Re(o,e),gi(o,t),o}function mi(e,t,r,n){let i=e.map(o=>typeof o=="number"?"*":o).join(".");return J(r,i)||n&&J(r,n)||J(r,"@"+t)}function Ce(e,t){let r=e.content||e,n=t.createElement("div");return n.appendChild(r.cloneNode(!0)),n.firstElementChild||n}function Re(e,t){e.setAttribute("data-hcms-path",t.join("."))}function wl(e,t){let r=t==null?"":String(t);if(e.matches&&e.matches("[data-hcms-field]")){e.getAttribute("data-hcms-field")||e.setAttribute("data-hcms-field",r);return}(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{i.getAttribute("data-hcms-field")||i.setAttribute("data-hcms-field",r)})}function St(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function Tt(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(n=>{(n.textContent||"").trim()===""&&(n.textContent=bt(String(t)))})}function hi(e,t){["data-hcms-no-add","data-hcms-no-remove","data-hcms-no-reorder"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,"")}),["data-hcms-min-items","data-hcms-max-items"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,t.getAttribute(r))})}function fi(e){let t=e.querySelector?e.querySelector(".hcms-array-items"):null;if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=li(e,"data-hcms-max-items"),o=li(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),d=e.querySelector('[data-hcms-action="add"]');d&&(d.hidden=s||i!=null&&n>=i),r.forEach((m,g)=>{let u=m.querySelector('[data-hcms-action="remove"]');u&&(u.hidden=l||o!=null&&n<=o);let f=m.querySelector('[data-hcms-action="move-up"]');f&&(f.hidden=a||g===0);let c=m.querySelector('[data-hcms-action="move-down"]');c&&(c.hidden=a||g===n-1)})}function li(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function pi(e,t,r){if(e.hasAttribute("data-hcms-no-reorder")||t.hasAttribute("data-hcms-no-reorder"))return;let n=e.querySelector(".hcms-array-items");if(!n)return;let i="hcms-"+r.join(".");n.setAttribute("sortable",i),n.setAttribute("onsorted","hypercmsCommit && hypercmsCommit()")}function te(e){return e.length?e[e.length-1]:null}function gi(e,t){let r=Al(e);if(r.length!==0)for(let n of r)yi(n,t)}function Al(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&_l(e)&&t.push(e),(e.querySelectorAll?e.querySelectorAll("input[data-hcms-field], textarea[data-hcms-field], select[data-hcms-field], img[data-hcms-field], a[data-hcms-field], [contenteditable][data-hcms-field]"):[]).forEach(n=>t.push(n)),t}function _l(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function bi(e,t,r){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o)return;if(!t||typeof t!="object"||!(o in t)){console.warn(`[hypercms] inline template field "${o}" is not in the rule shape; ignoring`);return}let s=r==null?null:r[o];yi(i,s)})}function ki(e,t,r){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o||t&&typeof t=="object"&&!(o in t))return;let s=[...r,o].join(".");i.setAttribute("data-hcms-path",s)})}function Ct(e,t,r,n){if(!e.querySelector)return e;let i=e.querySelector(t);if(i)return i;let o=r?.getAttribute?.("data-hcms-tpl")||n.join(".");throw new Error(`hypercms: template "${o}" is in slotted mode but has no ${t} element`)}function yi(e,t){let r=_t(e),n=(e.tagName||"").toUpperCase(),i=(e.getAttribute("type")||"").toLowerCase();if(n==="INPUT"&&i==="radio"){e.checked=e.value!=null&&String(e.value)===String(t??"");return}if(r==="checked"){e.checked=t===!0||t==="true";return}if(r){e[r]=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var El={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,onSnapshot:(e,t)=>e?.onSnapshot??t?.onSnapshot,consent:(e,t)=>e?.confirm??t?.consent,RichClay:(e,t)=>e?.RichClay??t?.RichClay,quickcrop:(e,t)=>e?.quickcrop??t?.quickcrop,upload:(e,t)=>e?.upload??(t?.uploadFileBasic?Tl(t.uploadFileBasic):null)},Sl={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},_r=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function Tl(e){return async function(r,{onProgress:n,signal:i}={}){if(i?.aborted)return _r();try{let o=await e(r,{onProgress:l=>{n?.({loaded:null,total:null,percent:l})}});if(i?.aborted)return _r();let s=o&&o.uploads||[];return typeof s[0]?.url!="string"?{ok:!1,msg:"The host accepted the file but did not say where it put it",msgType:"error",code:"bad-response",uploads:[]}:{ok:!0,msg:o.msg||"Uploaded",msgType:o.msgType||"success",code:o.code||null,uploads:s}}catch(o){if(i?.aborted)return _r();let s={};try{s=JSON.parse(o?.response||"{}")}catch{s={}}let l=s.code||Sl[o?.status]||"error";return{ok:!1,msg:o&&o.message||"Upload failed",msgType:"error",code:l,uploads:[]}}}}function $(e,t){let r=El[e];if(!r)throw new Error(`hypercms: unknown platform capability "${e}"`);let n=t||(typeof window<"u"?window:null);return n&&r(n.clay,n.hyperclay)||null}var vi=["clay:mutation-ready","hyperclay:mutation-ready"],xi=["clay:sync-applied","hyperclay:livesync-applied"],wi=["clay:ready","hyperclay:ready"];function Oe(e,t,r){let n=null,i=o=>{n!==null&&n!==o.type||(n=o.type,queueMicrotask(()=>{n=null}),r(o))};for(let o of t)e.addEventListener(o,i);return()=>{for(let o of t)e.removeEventListener(o,i)}}var Z="data-hcms-bound",oe="data-hcms-bound-id",Er=new Map;function Ai(e,t){Er.set(e,t)}function _i(e){Er.delete(e)}function Ei(e){let t=e.getAttribute(oe);if(!t)return null;let r=Er.get(t);return!r||!r.restorable()?null:r.originalHTML}var fe="data-hcms-owns-richclay";function Le(e){return e&&e.richclay&&e.richclay.RichClay||$("RichClay",e)||(e&&typeof e.RichClay=="function"?e.RichClay:null)}function Si(e,t,r){!e||typeof e.setAttribute!="function"||(e.setAttribute(Z,t?"rich":"plain"),r&&e.setAttribute(fe,"true"))}function Ti(e,t){if(!e||typeof e.querySelectorAll!="function")return;let r=e.querySelectorAll(`[${Z}]`);if(!r.length)return;let n=Le(t);if(n&&typeof n.stripFromClone=="function")try{n.stripFromClone(e)}catch(i){console.warn("[hypercms] richclay strip failed; editor state may reach the save",i)}for(let i of r)i.getAttribute(fe)==="true"&&i.removeAttribute("data-richclay"),i.removeAttribute(fe),i.removeAttribute(Z)}function Ci(e,t){if(!e||typeof e.removeAttribute!="function")return;let r=Le(t);if(r&&typeof r.stripElement=="function")try{r.stripElement(e)}catch(n){console.warn("[hypercms] richclay element strip failed; the clone stays editable",n)}else e.removeAttribute("contenteditable"),e.removeAttribute("no-undo");e.getAttribute(fe)==="true"&&e.removeAttribute("data-richclay"),e.removeAttribute(fe),e.removeAttribute(Z),e.removeAttribute(oe)}function Ri(e,t){if(!t||e==null)return e;return r(e);function r(n){if(typeof n=="string"){if(n.endsWith("[]")||P(n)!==-1)return n;let i=null;try{i=t.querySelector(n)}catch{return n}return i&&i.children.length>0?n+"@innerHTML":n}if(Array.isArray(n))return n;if(n&&typeof n=="object"){let i=Object.create(null);for(let[o,s]of Object.entries(n))i[o]=r(s);return i}return n}}function Oi(e,t){if(!t||e==null)return e;return r(e,[t]);function r(n,i){if(typeof n=="string")return n.endsWith("[]")||P(n)!==-1?n:i.some(o=>Cl(o,n))?n+"@innerHTML":n;if(Array.isArray(n)){let[o,s]=n;if(typeof o!="string"||!o)return n;let l=Rl(t,o);return l.length?[o,r(s,l)]:n}if(n&&typeof n=="object"){let o=Object.create(null);for(let[s,l]of Object.entries(n))o[s]=r(l,i);return o}return n}}function Cl(e,t){let r=null;try{r=e.querySelector(t)}catch{return!1}return r?r.hasAttribute(Z)?r.getAttribute(Z)==="rich":r.children.length>0:!1}function Rl(e,t){try{return[...e.querySelectorAll(t)]}catch{return[]}}function Ne(e){if(!e||e.tagName!=="TEXTAREA")return;let t=e.ownerDocument.defaultView||(typeof window<"u"?window:null);t&&t.CSS&&t.CSS.supports&&t.CSS.supports("field-sizing: content")||(e.style.height="auto",e.style.height=e.scrollHeight+"px")}function se(e,t,r=!0){if(!e||!e.querySelectorAll||(e.querySelectorAll("textarea[data-hcms-field]").forEach(Ne),r===!1))return;let n=t&&t.defaultView||(typeof window<"u"?window:null),i=Le(n);i&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(o=>{if(o.__hcmsRichclay)return;let s;try{s=new i(o,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(a){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",a);return}o.__hcmsRichclay=s;let l=s&&s.squire;l&&typeof l.addEventListener=="function"&&l.addEventListener("input",()=>{let a=n&&n.Event||Event;o.dispatchEvent(new a("input",{bubbles:!0}))})})}var Sr=new WeakSet;function pe(e,t){let r=$("undo");if(!r)return t();r.pause();try{let n=t();return n&&n.ok?r.commitCaptured(e):r.discardCaptured(),n}finally{r.resume()}}function re(e){let t=$("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function Lt(e){let{formRoot:t}=e;if(!t||Sr.has(t))return;Sr.add(t);let r=s=>{let l=s.target;!l||!l.closest||l.closest("[data-hcms-form-root]")&&l.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(l.tagName==="TEXTAREA"&&Ne(l),!l.matches('input[type="file"]')&&(!l.closest("[data-hcms-field]")&&!l.hasAttribute?.("data-hcms-field")||Li(l,e)))},n=s=>{let l=s.target;if(!(!l||!l.closest)&&l.closest("[data-hcms-form-root]")){if(l.matches('input[type="file"][data-hcms-upload]')){Pl(l,e);return}l.matches('input[type="checkbox"], input[type="radio"], select')&&Li(l,e)}},i=s=>{let l=s.target;if(!l||!l.closest)return;let a=l.closest("[data-hcms-action]");if(!a)return;let d=a.getAttribute("data-hcms-action");if(d==="add"||d==="remove"||d==="move-up"||d==="move-down"||d==="clear-upload"){if(!a.closest("[data-hcms-form-root]"))return}else if(d==="close"&&!a.closest("[data-hcms-shell]"))return;if(d==="add"){let m=a.closest("[data-hcms-path]");if(!m)return;let g=m.getAttribute("data-hcms-path");Ze(g,e)}else if(d==="remove"){let m=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;Rr(m,e)}else if(d==="move-up"||d==="move-down"){let m=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;Cr(m,d==="move-up"?-1:1,e)}else d==="clear-upload"?zl(a,e):d==="close"&&e.onCloseRequested?.()},o=t.ownerDocument;o.addEventListener("input",r,!0),o.addEventListener("change",n,!0),o.addEventListener("click",i,!0),e.detachEvents=()=>{o.removeEventListener("input",r,!0),o.removeEventListener("change",n,!0),o.removeEventListener("click",i,!0),Sr.delete(t)}}var Ol=new Set(["value","checked"]);function Ll(e,t){if(!t)return null;let r=ee(t);if(r.some(a=>typeof a=="number"||a==="*"))return null;let n=me(e.pageRules,r);if(typeof n!="string")return null;let i=H.ruleAttrIndex(n);if(i===-1)return null;let o=n.slice(i+1);if(!Ol.has(o))return null;let s=n.slice(0,i),l=s?e.pageRoot.querySelector(s):e.pageRoot;return l?{el:l,prop:o,oldValue:l[o]}:null}function Li(e,t){let n=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",i=Ll(t,n);if(K(V(t),{path:n,structural:!1},t),i){let o=$("undo");o&&typeof o.recordValue=="function"&&o.recordValue(i.el,{prop:i.prop,oldValue:i.oldValue,newValue:i.el[i.prop]})}}var Nl={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function Ml(e,t){let r=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(r==null)return{file:e};let n=$("quickcrop");if(typeof n!="function")return{file:e};try{let i=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",o=await n(e,{aspect:jl(r),modal:i,...Nl});return o===null?null:{file:Il(o.blob,e.name),dataURL:o.dataURL}}catch(i){return je(t,i&&i.message||"Crop failed"),null}}function jl(e){let t=String(e??"").trim().toLowerCase();if(t===""||t==="free")return null;let r=t.match(/^(\d+(?:\.\d+)?)\s*[:/]\s*(\d+(?:\.\d+)?)$/);if(!r)return null;let n=parseFloat(r[1]),i=parseFloat(r[2]);return!n||!i?null:n/i}function Il(e,t){let r=e.type==="image/webp"?".webp":e.type==="image/jpeg"?".jpg":".png",n=String(t||"image").replace(/\.[^.]+$/,"");try{return new File([e],n+r,{type:e.type})}catch{return e}}var Fl=new Set(["unsupported","payment-required"]);async function Pl(e,t){let r=e.files&&e.files[0];if(!r)return;let n=e.closest("[data-hcms-path]");if(!n)return;let i=n.getAttribute("data-hcms-path")||"";je(n,null);let o=await Ml(r,n);if(!o||t.closed){le(e);return}let s=o.file,l=o.dataURL||null,a=$("upload");if(typeof a!="function")return Tr(e,n,t,i,await Ni(s,l,n),s);Fi(n,l),Mi(n,0);let d=ql(t),m;try{m=await a(s,{signal:d?.signal,onProgress:({percent:u})=>Mi(n,u)})}finally{$l(t,d),Ul(n)}if(t.closed){le(e);return}if(m.code==="aborted"){le(e);return}if(m.ok)return Tr(e,n,t,i,m.uploads[0].url,s);if(!Fl.has(m.code)){je(n,m.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(m.msg||"Upload failed"),code:m.code,path:i}),le(e);return}let g=m.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return Tr(e,n,t,i,await Ni(s,l,n),s,g)}function Tr(e,t,r,n,i,o,s=null){if(r.closed){le(e);return}if(Fi(t,null),je(t,null),!i){le(e);return}Ii(t,i,o.name),K(V(r),{path:n,structural:!1},r),s&&je(t,s,"info"),le(e)}async function Ni(e,t,r){return t||await Dl(e,r)}function Dl(e,t){let r=t?.ownerDocument?.defaultView?.FileReader||globalThis.FileReader;return r?new Promise(n=>{let i=new r;i.onload=()=>n(typeof i.result=="string"?i.result:""),i.onerror=()=>n("");try{i.readAsDataURL(e)}catch{n("")}}):Promise.resolve("")}function ql(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function $l(e,t){t&&e.uploads?.delete(t)}function zl(e,t){let r=e.closest("[data-hcms-path]");if(!r)return;let n=r.getAttribute("data-hcms-path")||"";Ii(r,"","");let i=r.querySelector('input[type="file"][data-hcms-upload]');i&&le(i),je(r,null),K(V(t),{path:n,structural:!1},t)}function Bl(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function Ii(e,t,r){let n=Bl(e);if(!n)return;let i=(n.tagName||"").toUpperCase();i==="IMG"?n.src=t||"":i==="A"&&(n.href=t||"",n.textContent=t?r||xr(t):"")}function le(e){try{e.value=""}catch{}}function Fi(e,t){let r=e.querySelector?e.querySelector(".mirk-image__frame"):null;r&&(t?r.style.backgroundImage=`url("${t.replace(/"/g,"%22")}")`:r.style.removeProperty("background-image"))}function Mi(e,t){let r=Math.max(0,Math.min(100,Number(t)||0));e.setAttribute("data-hcms-uploading",""),e.style?.setProperty?.("--hcms-upload-progress",`${r}%`)}function Ul(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function je(e,t,r="error"){let n=e.querySelector?e.querySelector(":scope > .hcms-error"):null;n&&(n.classList.toggle("hcms-error--info",!!t&&r==="info"),t?(n.textContent=t,n.hidden=!1):(n.textContent="",n.hidden=!0))}function Ze(e,t){let{formRoot:r,pageRules:n}=t,i=r.querySelector(`[data-hcms-path="${Ie(e)}"]`);if(!i)throw new Error(`hypercms: no element at path "${e}"`);let o=i.querySelector(".hcms-array-items");if(!o)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let s=ee(e),l=Gl(n,s),a=Array.isArray(l),d=typeof l=="string"&&l.endsWith("[]");if(!a&&!d)throw new Error(`hypercms: path "${e}" is not an array`);let m=Ot(i,"data-hcms-max-items"),g=o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(i.hasAttribute("data-hcms-no-add")||m!=null&&g.length>=m)return;let u=g.length,f=a?l[1]:l.replace(/\[\]$/,""),c=Ye(a?f:"string"),h=ai({shape:a?"object-array-item":"scalar-array-item",itemShape:f,pathArr:[...s,u],data:c,doc:t.doc,itemKey:i.getAttribute("data-hcms-item-tpl")||null,pageRules:n});return o.appendChild(h),se(h,t.doc,t.view?.enhanceFormRichText!==!1),Lr(i),pe(`Add ${e}`,()=>K(V(t),{path:e,structural:!0},t))}function Cr(e,t,r){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!n||n.hasAttribute("data-hcms-no-reorder"))return;let i=n.querySelector(".hcms-array-items");if(!i)return;let o=Array.from(i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),s=o.indexOf(e);if(s<0)return;let l=s+t;if(l<0||l>=o.length)return;let a=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?i.insertBefore(e,o[l]):i.insertBefore(e,o[l].nextSibling),Nr(i),Lr(n),a&&typeof a.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),pe(`Reorder ${n.getAttribute("data-hcms-path")||""}`,()=>K(V(r),{path:n.getAttribute("data-hcms-path")||"",structural:!0},r))}var Rt="Delete this item?";function Hl(e,t){let r=e&&e.getAttribute("data-hcms-confirm-remove");if(r!=null)return/^(off|false|no|0)$/i.test(r.trim())?null:r||Rt;let n=t&&t.confirmRemove;return n===!1?null:typeof n=="string"?n||Rt:n===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?Rt:null}function Rr(e,t){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),n=Hl(r,t);if(n==null)return Me(e,t);let i=$("consent")||typeof window<"u"&&window.consent;typeof i=="function"?Promise.resolve(i(n)).then(()=>{t.closed||Me(e,t)},()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(n)&&Me(e,t):Me(e,t)}function Me(e,t){let r=e.getAttribute("data-hcms-path")||"",n=e.parentElement,i=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!i?.hasAttribute("data-hcms-no-remove")){if(i){let o=Ot(i,"data-hcms-min-items"),s=i.querySelector(".hcms-array-items"),l=s?s.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(o!=null&&l<=o)return}return e.remove(),n&&Nr(n),i&&Lr(i),pe(`Remove ${r}`,()=>K(V(t),{path:r,structural:!0},t))}}function K(e,t,r){if(r.closed)return{ok:!1,skipped:!0,closed:!0};let n=Qe(e);if(!t.structural&&n===r.lastFingerprint)return{ok:!0,skipped:!0};let i=Object.hasOwn(r,"writeRules")?r.writeRules:r.pageRules,o=Kn(r.pageRoot,i,e,{shellRoot:r.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:r.formRoot});return o.ok?(r.lastFingerprint=n,r.lastData=e,ji(r,null),r.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),r.onChange?.(e,t)):(ji(r,Kl(o.error,t.path)),r.dispatch?.("hcms:error",{error:o.error,attemptedData:e}),r.onError?.(o.error)),o}function Nt(e,t){let r=Ie(t),n=`[data-hcms-path="${r}"] input[data-hcms-field], [data-hcms-path="${r}"] textarea[data-hcms-field], [data-hcms-path="${r}"] select[data-hcms-field], [data-hcms-path="${r}"] img[data-hcms-field], [data-hcms-path="${r}"] a[data-hcms-field], [data-hcms-path="${r}"] [contenteditable][data-hcms-field], input[data-hcms-path="${r}"][data-hcms-field], textarea[data-hcms-path="${r}"][data-hcms-field], select[data-hcms-path="${r}"][data-hcms-field], img[data-hcms-path="${r}"][data-hcms-field], a[data-hcms-path="${r}"][data-hcms-field], [contenteditable][data-hcms-path="${r}"][data-hcms-field]`;return e.querySelector(n)}function Mt(e,t,r,n){let i=(e.tagName||"").toUpperCase(),o=(e.getAttribute("type")||"").toLowerCase();if(i==="INPUT"&&o==="checkbox"){e.checked=t===!0||t==="true";return}if(i==="INPUT"&&o==="radio"){let s=Ie(n),l=r.querySelectorAll(`[data-hcms-path="${s}"][data-hcms-field][type="radio"], [data-hcms-path="${s}"] [data-hcms-field][type="radio"]`);l.length?l.forEach(a=>{a.checked=String(a.value)===String(t??"")}):e.checked=String(e.value)===String(t??"");return}if(i==="IMG"){e.src=t==null?"":String(t);return}if(i==="A"){e.href=t==null?"":String(t);return}if(e.hasAttribute&&e.hasAttribute("contenteditable")){e.innerHTML=t==null?"":String(t);return}if("value"in e){e.value=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}function V(e){let t=H.extract(e.formRoot,e.formRules,{exclude:null});return ae(t,e.formRules)}function ae(e,t){if(t==null||e==null)return e;if(typeof t=="string")return t.endsWith("@checked")?e===!0||e==="true":e;if(Array.isArray(t)){if(!Array.isArray(e))return e;let[,r]=t;return e.map(n=>ae(n,r))}if(typeof t=="object"){if(typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(t))r[n]=ae(e[n],i);return r}return e}function ji(e,t){e.lastErrors=t&&t.length?t:null,Or(e)}function Or(e){if(Vl(e),e.errorEl&&(e.errorEl.textContent="",e.errorEl.hidden=!0),!e.lastErrors)return;let t=[];for(let{message:r,path:n}of e.lastErrors){if(n!=null&&n!==""){let i=Wl(e.formRoot,n);if(i){i.textContent=i.textContent?`${i.textContent}
150
150
  ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textContent=t.join(`
151
- `),e.errorEl.hidden=!1)}function Rl(e){if(e.formRoot)for(let t of e.formRoot.querySelectorAll(".hcms-error"))t.textContent="",t.hidden=!0}function Ol(e,t){if(!e)return null;let r=t.split(".");for(;r.length>0;){let n=r.join("."),i=typeof CSS<"u"&&CSS.escape?CSS.escape(n):n.replace(/[^a-zA-Z0-9_\-.*]/g,s=>"\\"+s),o=e.querySelector(`[data-hcms-path="${i}"]`);if(o){for(let s of o.children)if(s.classList&&s.classList.contains("hcms-error"))return s}r.pop()}return null}function Ll(e,t){return e?e.name==="EmptyListInsert"?[{message:"Add a seed item in HTML first.",path:t}]:e.name==="ShapeMismatch"&&Array.isArray(e.mismatches)&&e.mismatches.length?e.mismatches.map(r=>({message:`Shape mismatch: expected ${r.expected}, got ${r.got}`,path:r.path})):[{message:e.message||String(e),path:t}]:[{message:"unknown error",path:t}]}function Nl(e,t){let r=e;for(let n of t){if(r==null||typeof r=="string")return;if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function Ct(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function Tr(e){if(!e)return;let t=e.querySelector(".hcms-array-items");if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=Ct(e,"data-hcms-max-items"),o=Ct(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),u=e.querySelector(':scope > .hcms-add, :scope > * > .hcms-add, :scope > [data-hcms-action="add"]');u&&(u.hidden=s||i!=null&&n>=i),r.forEach((h,g)=>{let d=h.querySelector('[data-hcms-action="remove"]');d&&(d.hidden=l||o!=null&&n<=o);let p=h.querySelector('[data-hcms-action="move-up"]');p&&(p.hidden=a||g===0);let c=h.querySelector('[data-hcms-action="move-down"]');c&&(c.hidden=a||g===n-1)})}function Nt(e){!e||!e.querySelectorAll||e.querySelectorAll(".hcms-array-items").forEach(t=>Cr(t))}function Cr(e){let t=e.querySelectorAll?Array.from(e.querySelectorAll('input[type="radio"][data-hcms-field]'),n=>[n,n.checked]):[],r=0;for(let n of e.children){if(!n.matches?.("[data-hcms-card], [data-hcms-array-item]"))continue;let i=n.getAttribute("data-hcms-path");if(!i)continue;let o=i.split(".");o[o.length-1]=String(r);let s=o.join(".");s!==i&&Ml(n,i,s),r++}for(let[n,i]of t)n.checked!==i&&(n.checked=i)}function Ml(e,t,r){let n=e.querySelectorAll("[data-hcms-path]");e.setAttribute("data-hcms-path",r);for(let i of n){let o=i.getAttribute("data-hcms-path");o===t?i.setAttribute("data-hcms-path",r):o&&o.startsWith(t+".")&&i.setAttribute("data-hcms-path",r+o.slice(t.length))}jl(e)}function jl(e){for(let t of e.querySelectorAll('input[type="radio"][data-hcms-field]')){if(!t.name||!t.name.startsWith("hcms-"))continue;let r=t.closest("[data-hcms-path]");r&&(t.name=yr(r.getAttribute("data-hcms-path")))}}function Je(e){return JSON.stringify(e,(t,r)=>{if(r&&typeof r=="object"&&!Array.isArray(r)){let n=Object.create(null);for(let i of Object.keys(r).sort())n[i]=r[i];return n}return r})}function je(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Mt="hcms-shell-styles",Il="hcms-bundled-styles-installed",jt="hcms-session-open",Fl='a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Ie=new WeakSet,Rr="";function Ci(e){Rr=e}function Ze(e){e?.body?.classList.add(jt)}function Or(e){e?.body?.classList.remove(jt)}var Dl=0;function Ti(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[t])}function Ri({mountTo:e,side:t="right",overlay:r=!1,showSaveButton:n=!1,title:i="Page content",eyebrow:o="Edit",theme:s=null,doc:l}){Oi(l);let a=`hcms-shell-title-${++Dl}`,u=l.createElement("div");u.setAttribute("data-hcms-shell",""),u.setAttribute("editor-ui",""),u.setAttribute("save-remove",""),u.setAttribute("save-ignore",""),u.setAttribute("tabindex","-1"),u.setAttribute("role","dialog"),u.setAttribute("aria-modal","true"),u.setAttribute("aria-labelledby",a);let h=s==="dark"?" dark":s==="light"?" light":"";u.className="hcms-shell pixel-quiet hcms-panel hcms-side-"+t+(r?" hcms-overlay":"")+h;let g=Ti(i),d=Ti(o);u.innerHTML=`
151
+ `),e.errorEl.hidden=!1)}function Vl(e){if(e.formRoot)for(let t of e.formRoot.querySelectorAll(".hcms-error"))t.textContent="",t.hidden=!0}function Wl(e,t){if(!e)return null;let r=t.split(".");for(;r.length>0;){let n=r.join("."),i=typeof CSS<"u"&&CSS.escape?CSS.escape(n):n.replace(/[^a-zA-Z0-9_\-.*]/g,s=>"\\"+s),o=e.querySelector(`[data-hcms-path="${i}"]`);if(o){for(let s of o.children)if(s.classList&&s.classList.contains("hcms-error"))return s}r.pop()}return null}function Kl(e,t){return e?e.name==="EmptyListInsert"?[{message:"Add a seed item in HTML first.",path:t}]:e.name==="ShapeMismatch"&&Array.isArray(e.mismatches)&&e.mismatches.length?e.mismatches.map(r=>({message:`Shape mismatch: expected ${r.expected}, got ${r.got}`,path:r.path})):[{message:e.message||String(e),path:t}]:[{message:"unknown error",path:t}]}function Gl(e,t){let r=e;for(let n of t){if(r==null||typeof r=="string")return;if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function Ot(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function Lr(e){if(!e)return;let t=e.querySelector(".hcms-array-items");if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=Ot(e,"data-hcms-max-items"),o=Ot(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),d=e.querySelector(':scope > .hcms-add, :scope > * > .hcms-add, :scope > [data-hcms-action="add"]');d&&(d.hidden=s||i!=null&&n>=i),r.forEach((m,g)=>{let u=m.querySelector('[data-hcms-action="remove"]');u&&(u.hidden=l||o!=null&&n<=o);let f=m.querySelector('[data-hcms-action="move-up"]');f&&(f.hidden=a||g===0);let c=m.querySelector('[data-hcms-action="move-down"]');c&&(c.hidden=a||g===n-1)})}function jt(e){!e||!e.querySelectorAll||e.querySelectorAll(".hcms-array-items").forEach(t=>Nr(t))}function Nr(e){let t=e.querySelectorAll?Array.from(e.querySelectorAll('input[type="radio"][data-hcms-field]'),n=>[n,n.checked]):[],r=0;for(let n of e.children){if(!n.matches?.("[data-hcms-card], [data-hcms-array-item]"))continue;let i=n.getAttribute("data-hcms-path");if(!i)continue;let o=i.split(".");o[o.length-1]=String(r);let s=o.join(".");s!==i&&Yl(n,i,s),r++}for(let[n,i]of t)n.checked!==i&&(n.checked=i)}function Yl(e,t,r){let n=e.querySelectorAll("[data-hcms-path]");e.setAttribute("data-hcms-path",r);for(let i of n){let o=i.getAttribute("data-hcms-path");o===t?i.setAttribute("data-hcms-path",r):o&&o.startsWith(t+".")&&i.setAttribute("data-hcms-path",r+o.slice(t.length))}Xl(e)}function Xl(e){for(let t of e.querySelectorAll('input[type="radio"][data-hcms-field]')){if(!t.name||!t.name.startsWith("hcms-"))continue;let r=t.closest("[data-hcms-path]");r&&(t.name=Ar(r.getAttribute("data-hcms-path")))}}function Qe(e){return JSON.stringify(e,(t,r)=>{if(r&&typeof r=="object"&&!Array.isArray(r)){let n=Object.create(null);for(let i of Object.keys(r).sort())n[i]=r[i];return n}return r})}function Ie(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var It="hcms-shell-styles",Jl="hcms-bundled-styles-installed",Ft="hcms-session-open",Zl='a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Fe=new WeakSet,Mr="";function Di(e){Mr=e}function et(e){e?.body?.classList.add(Ft)}function jr(e){e?.body?.classList.remove(Ft)}var Ql=0;function Pi(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[t])}function qi({mountTo:e,side:t="right",overlay:r=!1,showSaveButton:n=!1,title:i="Page content",eyebrow:o="Edit",theme:s=null,doc:l}){$i(l);let a=`hcms-shell-title-${++Ql}`,d=l.createElement("div");d.setAttribute("data-hcms-shell",""),d.setAttribute("editor-ui",""),d.setAttribute("save-remove",""),d.setAttribute("save-ignore",""),d.setAttribute("tabindex","-1"),d.setAttribute("role","dialog"),d.setAttribute("aria-modal","true"),d.setAttribute("aria-labelledby",a);let m=s==="dark"?" dark":s==="light"?" light":"";d.className="hcms-shell pixel-quiet hcms-panel hcms-side-"+t+(r?" hcms-overlay":"")+m;let g=Pi(i),u=Pi(o);d.innerHTML=`
152
152
  <div class="hcms-shell-minibar" aria-hidden="true">
153
153
  <span class="hcms-shell-minibar-title">${g}</span>
154
154
  <button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
@@ -158,7 +158,7 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
158
158
  <div class="hcms-shell-body">
159
159
  <header class="hcms-shell-header">
160
160
  <div class="hcms-shell-heading">
161
- <div class="hcms-shell-eyebrow">${d}</div>
161
+ <div class="hcms-shell-eyebrow">${u}</div>
162
162
  <h2 class="hcms-shell-title" id="${a}">${g}</h2>
163
163
  </div>
164
164
  <button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
@@ -174,8 +174,8 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
174
174
  </button>
175
175
  </footer>
176
176
  </div>
177
- `,(e||l.body).appendChild(u);let c=l.body;c.classList.add("hcms-open"),Ze(l),r&&c.classList.add("hcms-overlay"),t==="left"&&c.classList.add("hcms-side-left");let m=Pl(u,l),k=ql(u);return{root:u,formRoot:u.querySelector("[data-hcms-form-root]"),noticeEl:u.querySelector(".hcms-shell-notice"),errorEl:u.querySelector(".hcms-shell-error"),saveButton:u.querySelector(".hcms-shell-save"),destroy(){m.detach(),k.detach(),u.remove(),c.classList.remove("hcms-open","hcms-overlay","hcms-side-left"),Or(l)},restoreChrome(){ae(l),c.classList.add("hcms-open"),Ze(l),r&&c.classList.add("hcms-overlay"),t==="left"&&c.classList.add("hcms-side-left")}}}function ae(e){e&&(e.getElementById(Mt)||e.querySelector("style[data-hcms-bundled-styles]")||(Ie.delete(e),Oi(e)))}function Oi(e){if(e&&!Ie.has(e)){if(e[Il]){Ie.add(e);return}if(e.getElementById(Mt)||e.querySelector("style[data-hcms-bundled-styles]")){Ie.add(e);return}if(Rr){let t=e.createElement("style");t.id=Mt,t.setAttribute("save-remove",""),t.setAttribute("save-ignore",""),t.textContent=Rr,(e.head||e.documentElement).appendChild(t),Ie.add(e);return}try{let t=new URL("./theme.generated.css",import.meta.url).href,r=e.createElement("link");r.rel="stylesheet",r.id=Mt,r.setAttribute("save-remove",""),r.setAttribute("save-ignore",""),r.href=t,(e.head||e.documentElement).appendChild(r),Ie.add(e)}catch{let r=()=>{link.isConnected&&console.warn("hypercms: shell stylesheet not applied \u2014 cssText is empty and the co-located theme fallback is unavailable. Call installStyles(themeText) before opening the CMS.")};e.defaultView?.queueMicrotask?e.defaultView.queueMicrotask(r):r()}}}function ql(e){let t=e.querySelector(".hcms-shell-body"),r=e.querySelector(".hcms-shell-header");if(!t||!r||typeof t.addEventListener!="function")return{detach(){}};let n=()=>{let i=(r.offsetHeight||0)-12;e.classList.toggle("is-condensed",t.scrollTop>i)};return t.addEventListener("scroll",n,{passive:!0}),n(),{detach(){t.removeEventListener("scroll",n)}}}function Pl(e,t){function r(n){if(n.key!=="Tab"||!e.contains(t.activeElement))return;let i=Array.from(e.querySelectorAll(Fl));if(i.length===0)return;let o=i[0],s=i[i.length-1];n.shiftKey&&t.activeElement===o?(n.preventDefault(),s.focus()):!n.shiftKey&&t.activeElement===s&&(n.preventDefault(),o.focus())}return t.addEventListener("keydown",r),{detach:()=>t.removeEventListener("keydown",r)}}var $l="[hypercms]",Li={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Ni={skip:"[data-hcms-shell]",templateAttr:null},Lr=class extends Error{constructor(t,r,n){super(`hypercms: rule at "${t}" has an invalid CSS selector: "${r}"`),this.name="InvalidRuleSelector",this.path=t,this.selector=r,this.cause=n}};function Ft(e,t){let r=[],n=[],i=[];return Mr(Q(e),e,t,[],r,n,i),{missing:Mi(r),twins:Vl(n),readOnly:Mi(i)}}function Dt(e){return Nr(e)}function Nr(e){if(typeof e=="string")return ji(e)?void 0:e;if(Array.isArray(e)){let[t,r]=e;return[t,Nr(r)]}if(e&&typeof e=="object"){let t={};for(let[r,n]of Object.entries(e)){let i=Nr(n);i!==void 0&&(t[r]=i)}return t}return e}function Mr(e,t,r,n,i,o,s){if(typeof r=="string"){let l=zl(r),a=l?It(e,t,l,Li,n):[];if(ji(r)){s.push(Fe(n));return}if(!l)return;if(r.endsWith("[]")){a.length===0&&It(e,t,l,Ni,n).length===0&&i.push(Fe(n));return}a.length===0?i.push(Fe(n)):a.length>1&&o.push({path:Fe(n),count:a.length});return}if(Array.isArray(r)){let[l,a]=r;if(typeof l!="string"||!l)return;let u=It(e,t,l,Li,n);if(u.length===0){It(e,t,l,Ni,n).length===0&&i.push(Fe(n));return}for(let h of u)Mr(e,h,a,[...n,"*"],i,o,s);return}if(r&&typeof r=="object")for(let[l,a]of Object.entries(r))Mr(e,t,a,[...n,l],i,o,s)}function It(e,t,r,n,i){try{return e.find(t,r,n)}catch(o){throw new Lr(Fe(i),r,o)}}function zl(e){if(e==="."||e.startsWith("@"))return null;if(e.endsWith("[]"))return e.slice(0,-2)||null;let t=q(e);return(t===-1?e:e.slice(0,t))||null}function Bl(e){if(e.endsWith("[]"))return null;let t=q(e);return t===-1?null:e.slice(t+1)||null}function ji(e){let t=Bl(e);return t!=null&&be.has(t)}function De(e){Ul(e),Hl(e)}function Ul(e){let t=e.noticeEl;if(!t)return;let r=e.unresolved&&e.unresolved.missing||[],n=e.unresolved&&e.unresolved.readOnly||[];if(r.length===0&&n.length===0){t.textContent="",t.hidden=!0;return}let i=[];if(r.length){let o=r.length===1?"1 field no longer matches this page":`${r.length} fields no longer match this page`;i.push(`${o}: ${r.join(", ")}`)}if(n.length){let o=n.length===1?"1 field reads a property the browser will not let anything write":`${n.length} fields read properties the browser will not let anything write`;i.push(`${o}: ${n.join(", ")}`)}t.textContent=i.join(`
178
- `),t.hidden=!1}function Hl(e){let t=e.unresolved&&e.unresolved.twins||[],r=t.map(n=>`${n.path}:${n.count}`).join("|");if(r!==e.lastTwinSignature){e.lastTwinSignature=r;for(let{path:n,count:i}of t)console.warn(`${$l} "${n}" matches ${i} elements; edits go to the first one.`)}}function Mi(e){return[...new Set(e)]}function Vl(e){let t=new Map;for(let r of e){let n=t.get(r.path);(!n||r.count>n.count)&&t.set(r.path,r)}return[...t.values()]}function Fe(e){return e.length?e.join("."):"(whole page)"}var Wl={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function ce(e,{ignoreActiveValue:t}={}){return Kl(e,{ignoreActiveValue:t})}function Kl(e,{ignoreActiveValue:t}){let r=V.findRules(e.doc,e.rulesSource||"cms");r&&(e.pageRules=e.view.prepareRules(r.rules),e.rulesTagNode=r.tagNode),gt(e.doc),xt(e.doc,e.pageRules),e.formRules=At(e.pageRules,e.doc),e.writeRules=Dt(e.pageRules),e.unresolved=Ft(e.pageRoot,e.pageRules);let n=ht(),i=le(V.extract(e.pageRoot,e.pageRules,{...Wl,...n.hooks}),e.pageRules),o=Se({pageRules:e.pageRules,formRules:e.formRules,data:i,doc:e.doc});mt(e.formRoot,o,{ignoreActiveValue:t}),n.seed(e.formRoot),oe(e.formRoot,e.doc,e.view?.enhanceFormRichText!==!1),Sr(e),De(e),e.updateFingerprint&&e.updateFingerprint()}function Ii({debounce:e=100,onRefresh:t}){let r=$("Mutation");if(!r||typeof r.onAnyChange!="function")throw new Error("hypercms: a mutation hub is required (clay.Mutation or hyperclay.Mutation). Load clayjs or hyperclayjs, or just the mutation utility, before initializing hypercms.");let n=r.onAnyChange({debounce:e},i=>{t(i)});return{unsubscribe:typeof n=="function"?n:()=>{}}}var Gl='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])';function Fi({doc:e,pageRoot:t,opts:r={}}){let n=r.richText!==!1,i=null;return{name:"sidebar",richText:n,enhanceFormRichText:!0,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,prepareRules(o){return n?yi(o,t):o},mount(o){let s=this.ctx;i=re(()=>Ri({mountTo:r.mountTo||e.body,side:r.side||"right",overlay:!!r.overlay,showSaveButton:!!r.showSaveButton,title:r.title,eyebrow:r.eyebrow,theme:r.theme,doc:e})),this.root=i.root,this.formRoot=i.formRoot,this.errorEl=i.errorEl,this.noticeEl=i.noticeEl;let l=Se({pageRules:s.pageRules,formRules:s.formRules,data:o,doc:e});i.formRoot.appendChild(l),s.seeder.seed(i.formRoot),oe(i.formRoot,e),De(s),Rt(s)},refresh(o){if(o==="livesync"){i?.restoreChrome?.(),ce(this.ctx,{ignoreActiveValue:!0});return}if(o==="undo"){ce(this.ctx,{ignoreActiveValue:!1});return}ce(this.ctx)},focusOnOpen(){let o=this.root&&this.root.querySelector(Gl);o&&typeof o.focus=="function"&&o.focus()},destroy(){i?.destroy(),i=null}}}var Yl="[cms-template], [data-hcms-shell]";function Qe(e){if(!e||typeof e.getBoundingClientRect!="function"||typeof e.closest=="function"&&e.closest(Yl))return!1;let t=e.getBoundingClientRect();return t.width>=8&&t.height>=8}var Xl={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Jl={skip:"[data-hcms-shell]",templateAttr:null},Zl="text",Ql="native",Di="handle",ea=new Set(["INPUT","TEXTAREA","SELECT"]),$i=new Set(["IMG","INPUT","TEXTAREA","SELECT","OPTION","BR","HR","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","CANVAS","SOURCE","TRACK","AREA","COL","PARAM","BUTTON"]);function Ir(e,t){return ta(e,t)}function ta(e,t){let r=[],n=[],i=Q(e);return jr(i,e,t,[],r,n),{targets:r,lists:n}}function jr(e,t,r,n,i,o){if(typeof r=="string"){if(r.endsWith("[]")){let h=r.slice(0,-2);if(!h)return;let g=qt(e,t,h);g.forEach((d,p)=>{i.push(Pi([...n,p],d,r,null))}),o.push(qi(e,t,n,h,g,!0));return}let s=q(r),l=s===-1?null:r.slice(s+1),a=s===-1?r:r.slice(0,s),u=!a||a==="."?t:qt(e,t,a)[0];u&&i.push(Pi(n,u,r,l));return}if(Array.isArray(r)){let[s,l]=r;if(typeof s!="string"||!s)return;let a=qt(e,t,s);a.forEach((u,h)=>jr(e,u,l,[...n,h],i,o)),o.push(qi(e,t,n,s,a,typeof l=="string"));return}if(r&&typeof r=="object")for(let[s,l]of Object.entries(r))jr(e,t,l,[...n,s],i,o)}function qi(e,t,r,n,i,o){let s=i[0]?i[0].parentElement:null;if(!s){let l=qt(e,t,n,Jl)[0];s=l?l.parentElement:null}return{path:r,items:i,container:s,scalar:o}}function Pi(e,t,r,n){return{path:e,el:t,rule:r,attr:n,kind:ra(t,n),icon:ia(t,n)}}function ra(e,t){let r=(e.tagName||"").toUpperCase();return!t||t==="innerHTML"?$i.has(r)?Di:Zl:t==="value"&&ea.has(r)&&!e.readOnly&&!na(e)?Ql:Di}function na(e){return e.disabled?!0:typeof e.matches=="function"&&e.matches(":disabled")}function ia(e,t){let r=(e.tagName||"").toUpperCase();return(!t||t==="innerHTML")&&!$i.has(r)?null:r==="IMG"||t==="srcset"?"camera":r==="A"&&t==="href"?"paperclip":"pencil"}function qt(e,t,r,n=Xl){try{return e.find(t,r,n)}catch{return[]}}var Pt=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),oa=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),km=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function et(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function Fr(e,t){if(et(e,t))return!0;for(let[r,n]of Object.entries(oa))if(n.includes(t)&&et(e,r))return!0;return!1}function tt(e){let t=Pt[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function sa(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=Pt[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(i=>Fr(r,i))||n.bundles.some(i=>et(r,i)))return r;r=r.parentElement}return null}function zi(e,t){return!!sa(e,t)}var la=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function aa(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();"value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&r!=="file"&&(t.value=e.value),e.tagName==="INPUT"&&(r==="checkbox"||r==="radio")&&(t.checked=e.checked),e.tagName==="OPTION"&&(t.selected=e.selected),"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function Bi(e,t,r,n){if(n)return!!e.closest?.(t);let i=e;for(;i?.nodeType===1;){if(i.matches(t))return!0;if(i===r)break;i=i.parentElement}return!1}function Ui(e,t,r,n,i,o){return(o?zi(e,t):Bi(e,r,i,!1))||!!(n&&(o&&e!==i?e.matches(n):Bi(e,n,i,o)))}function ca(e,t){let r=Pt[t];return r.tokens.some(n=>Fr(e,n))||r.bundles.some(n=>et(e,n))}var da=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function Hi(e,t,r,n){if(e.nodeType===1&&n(e)){r.dropped.push(t);return}r.cloneToLive.set(t,e),r.liveToClone.set(e,t);let i=e,o=t;if(e.nodeType===1){if(da.has(e.tagName)&&r.controls.push(e,t),e.tagName==="TEMPLATE"){for(;t.firstChild;)t.removeChild(t.firstChild);i=e.content,o=t.content,r.cloneToLive.set(o,i),r.liveToClone.set(i,o)}}else if(e.nodeType!==11)return;let s=o.firstChild;for(let l=i.firstChild;l&&s;l=l.nextSibling)Hi(l,s,r,n),s=s.nextSibling}function Dr(e,{capability:t="data",exclude:r=null,inherit:n=!0,provenance:i=null}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let s=o.implementation.createHTMLDocument(""),l=i||new WeakMap,a=new WeakMap,u=e.nodeType===9?e.documentElement:e;r&&s.documentElement.matches(r);let h=tt(t),g=n?c=>ca(c,t)||!!(r&&c.matches(r)):c=>Ui(c,t,h,r,u,!1),d=null;if(u.nodeType!==1||!Ui(u,t,h,r,u,n)){d=s.importNode(u,!0);let c={cloneToLive:l,liveToClone:a,dropped:[],controls:[]};Hi(u,d,c,g);for(let m of c.dropped)m.remove();for(let m=0;m<c.controls.length;m+=2)aa(c.controls[m],c.controls[m+1])}e.nodeType===9&&d&&(s.replaceChild(d,s.documentElement),a.set(e,s),l.set(s,e));let p=c=>{if(la.test(c))throw new Error(`Filtered content queries do not support stateful selector: ${c}`)};return{root:d,document:s,capability:t,selector:tt(t),cloneToLive:l,liveToClone:a,original(c){return l.get(c)||null},cloneOf(c){return a.get(c)||null},query(c,m=d){return p(c),Array.from(m.querySelectorAll(c),k=>l.get(k)||k)},text(c=d){return(c===d?d:a.get(c))?.textContent||""},html(c=d){return(c===d?d:a.get(c))?.innerHTML??""},clone(c=d){let m=c===d?d:a.get(c);return m?s.importNode(m,!0):null}}}import{morph as ya}from"./hyper-morph.vendor.js";var ua=[16,8,0],z=8,ma=4;function Vi({anchor:e,bar:t,rail:r=t,viewport:n,current:i=null}){let o=d=>i===d?ma:0;if(e.bottom<=0||e.top>=n.height||e.right<=0||e.left>=n.width)return{mode:"hidden",x:0,y:0};let s=d=>Math.max(z,Math.min(e.left,n.width-d-z)),l=e.top-16-t.height;if(l>=z-o("above"))return{mode:"above",x:s(t.width),y:l};let a=e.bottom+16;if(a+t.height<=n.height-z+o("below"))return{mode:"below",x:s(t.width),y:a};let u=n.width-e.right-z,h=e.left-z,g=u>=h?[["rail-right",u],["rail-left",h]]:[["rail-left",h],["rail-right",u]];for(let[d,p]of g)for(let c of ua){if(r.width+c>p+o(d))continue;let m=d==="rail-right"?Math.min(e.right+c,n.width-r.width-z):Math.max(e.left-c-r.width,z),k=Math.min(e.bottom,n.height-z)-r.height,f=Math.max(z,Math.min(Math.max(e.top,z),k));return{mode:d,x:m,y:f,gap:c}}return{mode:"pinned",x:s(t.width),y:z}}function qr({anchor:e,handle:t,viewport:r,inset:n=6,prefer:i="auto"}){let o=e.height>=t.height*1.5&&e.width>=t.width*2;if(i==="corner"||o){let d=Math.max(z,Math.min(e.right-t.width+n,r.width-t.width-z)),p=Math.max(z,Math.min(e.top-n,r.height-t.height-z));return{x:d,y:p,mode:"over"}}let s=4,l=e.right+s+t.width<=r.width-z,a=l?e.right+s:e.left-s-t.width,u=Math.max(z,a),h=e.top+e.height/2-t.height/2,g=Math.max(z,Math.min(h,r.height-t.height-z));return{x:u,y:g,mode:l?"beside-right":"beside-left"}}var zt=!1;function Wi(){if(zt)return;let e=$("onPrepareForSave");typeof e=="function"&&(e(t=>{Gi(t),Ki(t)}),zt=!0)}function Ki(e){let t=e&&e.querySelector&&e.querySelector("body");t&&t.classList.remove("hcms-open","hcms-overlay","hcms-side-left",jt)}function Gi(e){if(!(!e||typeof e.querySelectorAll!="function"))for(let t of e.querySelectorAll(`[${ie}]`)){let r=fi(t);r!==null&&(t.innerHTML=r),t.removeAttribute(ie)}}var Bt=!1;function Ut(){if(Bt)return;let e=$("onSnapshot");typeof e=="function"&&(e(t=>{Gi(t),bi(t,typeof window<"u"?window:null),Ki(t)}),Bt=!0)}function Yi(){Wi(),Ut(),(!zt||!Bt)&&ha()}var $t=null;function ha(){if($t||typeof document>"u")return;$t=Re(document,mi,()=>{Wi(),Ut(),zt&&Bt&&($t?.(),$t=null)})}var pa={edit:"M8 10h2v6H8zm2 4h4v2h-4zm0-6h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2 2h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-4 0h2v2h-2z","move-up":"M11 4h2v2h2v2h2v2h2v2h-4v-2h-2v10h-2V10H9v2H5v-2h2V8h2V6h2z","move-down":"M11 4h2v10h2v-2h4v2h-2v2h-2v2h-2v2h-2v-2H9v-2H7v-2H5v-2h4v2h2z",remove:"M5 5h3v3h3v3h2V8h3V5h3v3h-3v3h-3v2h3v3h3v3h-3v-3h-3v-3h-2v3H8v3H5v-3h3v-3h3v-2H8V8H5z",add:"M10 4h4v6h6v4h-6v6h-4v-6H4v-4h6z"};function fe(e){let t=e==="edit"?"6 0 18 18":"0 0 24 24",r=e==="settings"?'<circle cx="6" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="18" cy="12" r="1.5"/>':`<path d="${pa[e]}"/>`;return`<svg class="hcms-inline-icon" xmlns="http://www.w3.org/2000/svg" viewBox="${t}" width="24" height="24" fill="currentColor" aria-hidden="true" focusable="false">${r}</svg>`}var Xi="data-hcms-ghost",fa=tt("history");function ga(e){let t=e.container,r=null;for(;t&&(t.namespaceURI!=="http://www.w3.org/1999/xhtml"||["SELECT","OPTGROUP","DATALIST"].includes(t.tagName));)r=t,t=t.parentElement;return{parent:t,anchor:r}}function Ji({doc:e,themeRoot:t,onAdd:r,onResize:n}){let i=e.defaultView,o=[],s=!1,l=null,a=new Map;function u(p,c,m){p.style[c]!==m&&(p.style[c]=m)}function h(){let p=new Set(o.map(c=>c.node.parentElement));for(let[c,m]of a)p.has(c)&&i?.Sortable?.get(c)===m.instance||(m.instance.option("draggable")===m.selector&&m.instance.option("draggable",m.original),a.delete(c));for(let c of p){let m=i?.Sortable?.get(c);if(!m)continue;let k=m.option("draggable");if(a.get(c)?.selector===k)continue;let f=k,v=`${f.trim().startsWith(">")?"> ":""}:is(${f.trim().replace(/^>\s*/,"")}):not(${fa})`;m.option("draggable",v),a.set(c,{instance:m,original:f,selector:v})}}function g(){for(let p of o){let{node:c,slot:m,list:k}=p,f=k.items.filter(b=>b.isConnected).map(b=>b.getBoundingClientRect()).filter(b=>b.width>0&&b.height>0);f.length&&(p.width=f.reduce((b,v)=>b+v.width,0)/f.length,p.height=f.reduce((b,v)=>b+v.height,0)/f.length),u(c,"width",p.width?`${Math.round(p.width)}px`:"100%"),u(m,"height",`${Math.max(48,Math.round(p.height||64))}px`),m!==c&&(m.colSpan=Math.max(1,...k.items.map(b=>[...b.children].reduce((v,E)=>v+(E.colSpan||1),0)))),c.hidden!==s&&(c.hidden=s)}h()}function d(p,c){let m=c.tagName,k=["TBODY","THEAD","TFOOT","TABLE"].includes(m),f=e.createElement(k?"tr":["UL","OL","MENU"].includes(m)?"li":"div");for(let w of[Xi,"data-hcms-shell","editor-ui","no-watch","no-save","save-remove","snapshot-remove"])f.setAttribute(w,"");f.setAttribute("draggable","false"),f.setAttribute("contenteditable","false"),f.className="hcms-shell pixel-quiet hcms-inline-ghost";for(let w of["light","dark"])f.classList.toggle(w,!!t?.classList.contains(w));let b=k?e.createElement("td"):f;b!==f&&(b.className="hcms-inline-ghost-cell",f.appendChild(b));let v=e.createElement("button");v.type="button",v.className="hcms-inline-list-button hcms-inline-list-add mirk-button mirk-button--small",v.setAttribute("data-hcms-list-action","add"),v.innerHTML=`<span class="mirk-button__label">${fe("add")}<span>Add</span></span>`,b.appendChild(v);let E={node:f,slot:b,button:v,list:p,width:0,height:0};v.addEventListener("click",w=>{w.preventDefault(),w.stopPropagation(),r(E.list)});for(let w of["pointerdown","mousedown","touchstart","click"])f.addEventListener(w,T=>T.stopPropagation());return f.addEventListener("dragstart",w=>{w.preventDefault(),w.stopPropagation()}),E}return{setLists(p){let c=new Set(o),m=[],k=new Set(o.map(b=>b.node)),f=new Set;for(let b of p||[]){if(!b.container||!b.container.isConnected)continue;let{parent:v,anchor:E}=ga(b);if(!v)continue;if(!f.has(v)){for(let R of v.querySelectorAll(`:scope > [${Xi}]`))k.has(R)||R.remove();f.add(v)}let w=o.find(R=>c.has(R)&&R.list.container===b.container&&R.list.path.join(".")===b.path.join("."))||d(b,v);c.delete(w),w.list=b,w.button.setAttribute("data-hcms-list",b.path.join(".")),w.button.setAttribute("aria-label",`Add to ${b.path.join(".")||"the list"}`);let T=E||b.items.filter(R=>R.parentElement===v).at(-1);T?T.nextSibling!==w.node&&T.after(w.node):w.node.parentElement!==v&&v.appendChild(w.node),m.push(w)}for(let b of c)b.node.remove();o=m,l?.disconnect(),!l&&typeof i?.ResizeObserver=="function"&&(l=new i.ResizeObserver(()=>{g(),n?.()}));for(let b of o)for(let v of b.list.items)l?.observe(v);g()},update:g,setHidden(p){s=!!p,g()},destroy(){l?.disconnect();for(let p of o)p.node.remove();o=[],h()}}}var Zi=[["move-up","Move up"],["move-down","Move down"]],ba={prefer:"corner",inset:0};function ka(e,t){return t.width<=e.width&&t.height<=e.height}function Qi({doc:e,layerEl:t,onActivate:r,onListAction:n}){let i=e.defaultView,o=[],s=new Map,l=0,a=new Map,u=null,h=new Set,g=0,d=!1,p=null,c=null,m=null,k=null,f=new Map,b=!1,v=null,E=Ji({doc:e,themeRoot:t.closest("[data-hcms-shell]"),onResize:T,onAdd:y=>n?.({action:"add",list:y,index:y.items.length})}),w=e.createElement("div");w.className="hcms-inline-highlight",w.hidden=!0,w.setAttribute("aria-hidden","true"),t.appendChild(w);function T(){if(!(g||!i)){if(typeof i.requestAnimationFrame!="function")return H();g=i.requestAnimationFrame(()=>{g=0,H()})}}let R=()=>m||k;function H(){if(!i)return;E.update();let y={width:i.innerWidth,height:i.innerHeight},x=R();for(let A of o){if(!A.visible){A.node.hidden=!0;continue}for(let M of A.members)M.node.hidden=b&&M.kind!=="handle";A.node.hidden=!1;let C=A.el.getBoundingClientRect(),S=A.node.getBoundingClientRect(),O=S.width,F=A.kind==="row"&&!ka(C,S);if(F&&A.el!==x){for(let M of A.members)M.kind==="row"&&(M.node.hidden=!0);S=A.node.getBoundingClientRect()}if(A.members.every(M=>M.node.hidden)){A.node.hidden=!0;continue}let D=A.kind==="handle"?null:ba,{x:X,y:N}=qr({anchor:C,handle:S,viewport:y,...D}),U=A.members.find(M=>M.kind==="handle");if(F&&U){let M=U.node.getBoundingClientRect(),on=qr({anchor:C,handle:M,viewport:y}),Bo=A.members.slice(A.members.indexOf(U)+1).filter(Zt=>!Zt.node.hidden).reduce((Zt,Uo)=>Zt+Uo.node.getBoundingClientRect().width+2,0);X=Math.max(8+O,Math.min(y.width-8,on.x+M.width+Bo))-S.width,N=on.y}A.node.style.transform=`translate(${Math.round(X)}px, ${Math.round(N)}px)`}if(v)if(!v.node.isConnected||v.node.closest("[hidden]"))Y();else{let A=v.button.getBoundingClientRect(),C=v.menu.getBoundingClientRect();v.menu.style.left=`${Math.max(8,A.right-C.width)-A.left}px`,v.menu.style.right="auto",v.menu.style.top=A.bottom+6+C.height>y.height-8?"auto":"calc(100% + 6px)",v.menu.style.bottom=A.bottom+6+C.height>y.height-8?"calc(100% + 6px)":"auto"}j(),p?.()}function B(y){if(y?.closest?.("[data-hcms-ghost]"))return null;for(let x=y;x&&x.nodeType===1;x=x.parentElement){let A=f.get(x);if(A)return A}return null}function G(y){v&&!v.node.contains(y.target)&&Y();let x=R();k=B(y.target),k&&t.contains(y.target)&&(m=null),R()!==x&&T()}function _(y){if(y.relatedTarget||!k)return;let x=R();k=null,R()!==x&&T()}function j(){if(!c||w.hidden)return;let y=c.getBoundingClientRect();w.style.width=`${Math.round(y.width)}px`,w.style.height=`${Math.round(y.height)}px`,w.style.transform=`translate(${Math.round(y.left)}px, ${Math.round(y.top)}px)`}function ge(){if(!i||typeof i.IntersectionObserver!="function"){for(let x of o)x.visible=!0;return}u||(u=new i.IntersectionObserver(x=>{let A=!1;for(let C of x)for(let S of s.get(C.target)||[])S.visible!==C.isIntersecting&&(S.visible=C.isIntersecting,A=!0);A&&T()},{threshold:0}));let y=new Set(s.keys());for(let x of h)y.has(x)||u.unobserve(x);for(let x of y)h.has(x)||u.observe(x);h=y}function Lo(){d||!i||(i.addEventListener("scroll",T,{passive:!0,capture:!0}),i.addEventListener("resize",T,{passive:!0}),e.addEventListener("focusin",G),e.addEventListener("focusout",_),e.addEventListener("pointerdown",tn,!0),e.addEventListener("keydown",rn,!0),d=!0)}function No(){!d||!i||(i.removeEventListener("scroll",T,{capture:!0}),i.removeEventListener("resize",T),e.removeEventListener("focusin",G),e.removeEventListener("focusout",_),e.removeEventListener("pointerdown",tn,!0),e.removeEventListener("keydown",rn,!0),d=!1)}function Xr(y){return`${y.kind}\0${y.attr||""}`}function Jr(y,x){return y.container===x.container&&y.scalar===x.scalar}function Mo(y,x){return y.kind!==x.kind?!1:y.kind==="handle"?Xr(y.target)===Xr(x.target):y.kind==="row"?y.row===x.row&&Jr(y.list,x.list):Jr(y.list,x.list)}function Zr(y,x){y.target=x;let A=x.path.join(".");y.node.setAttribute("data-hcms-target",A),x.icon?y.node.setAttribute("data-hcms-icon",x.icon):y.node.removeAttribute("data-hcms-icon"),y.node.setAttribute("aria-label",`Edit ${A}`)}function jo(y){let x=e.createElement("button");x.type="button",x.className="hcms-inline-handle mirk-button mirk-button--small",x.innerHTML=`<span class="mirk-button__label">${fe("edit")}</span>`;let A={node:x,kind:"handle",target:y};return Zr(A,y),x.addEventListener("click",C=>{C.preventDefault(),C.stopPropagation(),r?.(A.target,x)}),A}function Qr(y,x){let A=e.createElement("button");return A.type="button",A.className="hcms-inline-list-button mirk-button mirk-button--small",A.setAttribute("data-hcms-list-action",y),A.setAttribute("aria-label",x),A.innerHTML=`<span class="mirk-button__label">${fe(y)}${y==="add"?"<span>Add</span>":""}</span>`,A}function en(y,{list:x,row:A,rowIndex:C,count:S}){let O=x.path.join(".");y.list=x,y.row=A,y.index=C,y.count=S,y.node.setAttribute("data-hcms-list",O),y.node.setAttribute("data-hcms-row",String(C));for(let F of y.node.querySelectorAll("[data-hcms-list-action]")){let D=F.getAttribute("data-hcms-list-action"),X=Zi.find(([N])=>N===D)?.[1]||D;F.setAttribute("aria-label",`${X} ${O}.${C}`),F.disabled=D==="move-up"&&C===0||D==="move-down"&&C===S-1}}function Io(y,x,A,C){let S=e.createElement("div");S.className="hcms-inline-row-controls";let O={node:S,kind:"row",list:y,row:x,index:A,count:C};for(let[F,D]of Zi){let X=Qr(F,D);X.addEventListener("click",N=>{N.preventDefault(),N.stopPropagation(),!X.disabled&&n?.({action:F,list:O.list,index:O.index,row:O.row})}),S.appendChild(X)}return en(O,{list:y,row:x,rowIndex:A,count:C}),O}function Y(y=!1){if(!v)return;let x=v;v=null,x.menu.hidden=!0,x.button.setAttribute("aria-expanded","false"),x.node.parentElement?.classList.remove("has-open-settings"),y&&x.button.isConnected&&x.button.focus({preventScroll:!0})}function tn(y){v&&!v.node.contains(y.target)&&Y()}function rn(y){v&&(y.key==="Escape"?(y.preventDefault(),y.stopPropagation(),Y(!0)):y.key==="Tab"?Y(!0):["ArrowDown","ArrowUp","Home","End"].includes(y.key)&&v.menu.contains(y.target)&&(y.preventDefault(),v.menu.querySelector('[role="menuitem"]').focus({preventScroll:!0})))}function nn(y,{list:x,row:A,rowIndex:C}){Object.assign(y,{list:x,row:A,index:C}),y.node.setAttribute("data-hcms-list",x.path.join(".")),y.node.setAttribute("data-hcms-row",String(C)),y.button.setAttribute("aria-label",`Settings ${x.path.join(".")}.${C}`)}function Fo(y){let x=e.createElement("div");x.className="hcms-inline-settings";let A=Qr("settings","Settings");A.setAttribute("aria-haspopup","menu"),A.setAttribute("aria-expanded","false");let C=e.createElement("div");C.className="hcms-inline-settings-menu",C.setAttribute("role","menu"),C.setAttribute("aria-label","Item settings"),C.hidden=!0;let S=e.createElement("button");S.type="button",S.setAttribute("role","menuitem"),S.setAttribute("data-hcms-list-action","remove"),S.textContent="Delete",C.appendChild(S),x.append(A,C);let O={node:x,button:A,menu:C,kind:"settings"};nn(O,y);let F=()=>{Y(),v=O,C.hidden=!1,A.setAttribute("aria-expanded","true"),x.parentElement.classList.add("has-open-settings"),S.focus({preventScroll:!0}),T()};return A.addEventListener("click",D=>{D.preventDefault(),D.stopPropagation(),v===O?Y(!0):F()}),A.addEventListener("keydown",D=>{(D.key==="ArrowDown"||D.key==="ArrowUp")&&(D.preventDefault(),F())}),S.addEventListener("click",D=>{D.preventDefault(),D.stopPropagation(),Y(!0),n?.({action:"remove",list:O.list,index:O.index,row:O.row})}),O}function Do(y,x){y.kind==="handle"?Zr(y,x.target):y.kind==="row"?en(y,x):y.kind==="settings"&&nn(y,x)}function Jt(y,x,A,C,S){let O=x.get(A)?.find(F=>F.category===S);if(!O){O={el:A,category:S,members:[]},y.push(O);let F=x.get(A);F?F.push(O):x.set(A,[O])}O.members.push(C)}function qo(y,x,A){let C=A.items||[];C.forEach((S,O)=>{Qe(S)&&(Jt(y,x,S,{kind:"row",list:A,row:S,rowIndex:O,count:C.length},"item"),Jt(y,x,S,{kind:"settings",list:A,row:S,rowIndex:O},"item"))})}function Po(y,x){let A=new Set(y.members),C=[];for(let S of x){let O=y.members.find(F=>A.has(F)&&Mo(F,S))||(S.kind==="handle"?jo(S.target):S.kind==="row"?Io(S.list,S.row,S.rowIndex,S.count):Fo(S));A.delete(O),Do(O,S),b&&O.kind!=="handle"&&(O.node.hidden=!0),C.push(O)}for(let S of A)S===v&&Y(),S.node.remove();C.sort((S,O)=>["row","handle","settings"].indexOf(S.kind)-["row","handle","settings"].indexOf(O.kind)),C.forEach((S,O)=>{y.node.children[O]!==S.node&&y.node.insertBefore(S.node,y.node.children[O]||null)}),y.members=C}function $o(y,x){let A=[],C=new Map,S=new Map,O=0;for(let N of y||[])S.has(N.el)||S.set(N.el,N),!(N.kind!=="handle"||!Qe(N.el))&&(Jt(A,C,N.el,{kind:"handle",target:N},"item"),O++);for(let N of x||[])qo(A,C,N);let F=new Set(o),D=new Map;for(let N of o)D.has(N.el)||D.set(N.el,N.visible);let X=[];for(let N of A){let U=o.find(M=>F.has(M)&&M.el===N.el&&M.category===N.category);if(!U){let M=e.createElement("div");M.className="hcms-inline-item-controls",M.setAttribute("role","group"),U={el:N.el,node:M,category:N.category,kind:N.category==="add"?"add":"handle",members:[],visible:D.get(N.el)??!1},t.appendChild(M)}F.delete(U),U.el=N.el,U.category=N.category,Po(U,N.members),U.kind=U.members.some(M=>M.kind==="row")?"row":U.members.some(M=>M.kind==="handle")?"handle":"add",U.node.setAttribute("aria-label",U.category==="add"?"List controls":"Item controls"),X.push(U)}for(let N of F)N.node.remove();o=X,s=new Map,f=new Map;for(let N of o){let U=s.get(N.el);U?U.push(N):s.set(N.el,[N]);for(let M of N.members)M.kind!=="row"&&M.kind!=="settings"||(f.set(M.row,M.row),f.set(M.node,M.row),f.set(N.node,M.row))}m&&!f.has(m)&&(m=null),k&&!f.has(k)&&(k=null),a=S,l=O}function zo(){Y(),u?.disconnect(),u=null,h=new Set;for(let y of o)y.node.remove();o=[],s=new Map,a=new Map,f=new Map,l=0}return{setTargets(y,x){$o(y,x),E.setLists(x),ge(),Lo(),T()},refresh:T,get count(){return l},get controlsHidden(){return b},setControlsHidden(y){if(b=!!y,E.setHidden(b),b){Y();for(let x of o){for(let A of x.members)A.kind!=="handle"&&(A.node.hidden=!0);x.members.every(A=>A.node.hidden)&&(x.node.hidden=!0)}}T()},elementToTarget(y){if(y?.closest?.("[data-hcms-ghost]"))return null;for(let x=y;x&&x.nodeType===1;x=x.parentElement){let A=a.get(x);if(A)return A}return null},setHoveredRow(y){let x=R();m=y?B(y):null,R()!==x&&T()},showHighlight(y){y&&(c=y,w.hidden=!1,j())},hideHighlight(){c=null,w.hidden=!0},setFollower(y){p=typeof y=="function"?y:null},destroy(){E.destroy(),g&&i&&i.cancelAnimationFrame(g),g=0,p=null,c=null,m=null,k=null,w.remove(),No(),zo()}}}var va="hypercms-inline",it="is-hcms-inline-active",Pr="is-hcms-inline-onpath",eo='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])',xa=["bold","italic","link","undo","redo"],wa=/^H[1-6]$/,Aa=0;function no({doc:e,pageRoot:t,opts:r={}}){let n=r.richText!==!1,i=null,o=null,s=null,l=new Map,a=null,u=null,h=null;function g(d,p,c,m,k){let f=Oe(e.defaultView);if(typeof f!="function")return null;let b=k||{},v=b.originalHTML??Dr(p,{capability:"history"}).html(),E=b.richClayIsOurs??!p.hasAttribute("data-richclay"),w=b.adopted??p.getAttribute("data-richclay-active")==="true",T=rt(p,m,"history"),R=_a(d,f,p,m,E);if(!R)return null;gi(p,m==="innerHTML",E);let H=String(++Aa);p.setAttribute(ie,H),Ut();let B={el:p,editor:R,path:c,prop:m,boundId:H,originalHTML:v,oldValue:T,richClayIsOurs:E,adopted:w,dirty:!1,written:!1,restorable(){return!this.adopted&&!this.dirty&&!this.written},lastEdited:void 0};l.set(p,B),hi(H,B);let G=R.squire;if(G&&typeof G.addEventListener=="function"){let j=()=>{B.dirty=!0,B.lastEdited=rt(p,B.prop,"history"),Ea(d,B)};G.addEventListener("input",j),B.detachInput=()=>G.removeEventListener?.("input",j)}let _=()=>io(B);return p.addEventListener("blur",_),B.detachBlur=()=>p.removeEventListener("blur",_),B}return{name:"inline",richText:n,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,handoffEl:null,handoffCountEl:null,popEl:null,enhanceFormRichText:!1,prepareRules(d){return n?vi(d,t):d},bindText(d,p,c,m){return g(this.ctx,d,p,c,m)},mount(d){let p=this.ctx;i=Oa(e,r.theme),this.root=i.root,this.formRoot=i.formRoot,this.errorEl=i.errorEl,this.noticeEl=i.noticeEl,this.handoffEl=i.handoffEl,this.handoffCountEl=i.handoffCountEl,this.popEl=i.popEl,re(()=>Ze(e));let c=Se({pageRules:p.pageRules,formRules:p.formRules,data:d,doc:e});i.formRoot.appendChild(c),p.seeder.seed(i.formRoot),oe(i.formRoot,e,this.enhanceFormRichText),De(p),Rt(p),o=Qi({doc:e,layerEl:i.layerEl,onActivate:(m,k)=>this.activate(m,k),onListAction:m=>this.listAction(m)}),o.setFollower(()=>this.placePopover()),i.closeEl.addEventListener("click",()=>this.deactivate()),i.toggleEl.addEventListener("click",m=>{m.preventDefault(),m.stopPropagation(),this.toggleControls()}),i.handoffEl.querySelector("[data-hcms-open-view]").addEventListener("click",m=>{m.preventDefault(),m.stopPropagation(),p.onViewRequested?.("sidebar")}),this.bindPage(),this.syncTargets()},listAction({action:d,list:p,index:c,row:m}){let k=this.ctx,f=p.path.join("."),b=k.formRoot.querySelector(`[data-hcms-path="${je(f)}"]`);if(!b)return;if(d==="add"){Xe(f,k);return}let v=m?Na(k,f,m):c;if(v===-1)return;let E=La(b,v);if(E){if(d==="remove"){Er(E,k),this.syncTargets();return}_r(E,d==="move-up"?-1:1,k),this.syncTargets()}},toggleControls(){if(!o||!i)return;let d=!o.controlsHidden;o.setControlsHidden(d),i.toggleEl.setAttribute("aria-pressed",String(d));let p=i.toggleEl.querySelector(".mirk-button__label");p&&(p.textContent=d?"Show controls":"Hide controls")},bindPage(){let d=this.ctx.pageRoot,p=i.root,c=E=>{let w=o&&o.elementToTarget(E.target);w?o.showHighlight(w.el):o?.hideHighlight(),o?.setHoveredRow(E.target)},m=()=>{o?.hideHighlight(),o?.setHoveredRow(null)},k=E=>{if(p.contains(E.target))return;let w=o&&o.elementToTarget(E.target);!w||w.kind!=="text"||l.has(w.el)||g(this.ctx,w.el,w.path.join("."),Vt(w))},f=E=>{if(p.contains(E.target))return;let w=o&&o.elementToTarget(E.target);if(!w){this.deactivate();return}(typeof E.target.closest=="function"&&E.target.closest("a[href]")||w.kind!=="text")&&E.preventDefault(),this.activate(w)},b=E=>{E.key==="Escape"&&this.deactivate()},v=E=>{let w=E.detail;if(!(!w||w.pageRoot!==this.ctx.pageRoot||!w.path))for(let T of l.values())T.path===w.path&&(T.written=!0)};d.addEventListener("pointerover",c),d.addEventListener("pointerleave",m),d.addEventListener("pointerdown",k),d.addEventListener("click",f),p.addEventListener("keydown",b),e.addEventListener("hcms:change",v),s=()=>{d.removeEventListener("pointerover",c),d.removeEventListener("pointerleave",m),d.removeEventListener("pointerdown",k),d.removeEventListener("click",f),p.removeEventListener("keydown",b),e.removeEventListener("hcms:change",v)}},activate(d,p){if(!d||!i||d.kind==="text"&&this.activateText(d))return;let c=to(this,i,d.path.join("."));if(!c){this.deactivate();return}a=d,u=p||null,h=null,i.popEl.hidden=!1,i.formRoot.querySelectorAll(`.${it}`).forEach(ro),this.placePopover(),Ra(c)},activateText(d){let p=d.el,c=l.get(p);if(c)return Ht(c),!0;let m=g(this.ctx,p,d.path.join("."),Vt(d));return m?(Ht(m),!0):!1},placePopover(){if(!i||!a||i.popEl.hidden)return;let d=e.defaultView;if(!d)return;let p={width:d.innerWidth,height:d.innerHeight},c=a.el.getBoundingClientRect(),m=i.popEl.getBoundingClientRect(),{mode:k,x:f,y:b}=Vi({anchor:c,bar:m,viewport:p,current:h});h=k,i.popEl.style.transform=`translate(${Math.round(f)}px, ${Math.round(b)}px)`},deactivate(){if(!i||!a&&i.popEl.hidden)return;i.popEl.hidden=!0,so(i.root);let d=u;if(a=null,u=null,h=null,d&&e.contains(d)&&typeof d.focus=="function")try{d.focus({preventScroll:!0})}catch{d.focus()}},syncTargets(){if(!o)return;let d=this.ctx,{targets:p,lists:c}=Ir(d.pageRoot,d.pageRules);o.setTargets(p,c);let m=Sa(this,l,p,e);if(a){let f=m.get(a.el)||[],b=f.find(v=>Ta(v,a))||f.find(v=>v.path.join(".")===a.path.join("."))||(f.length===1?f[0]:null);b?a=b:this.deactivate()}Ca(this.ctx,l,e);let k=p.reduce((f,b)=>f+(Qe(b.el)?0:1),0);this.handoffEl&&(this.handoffCountEl.textContent=k===0?"":`${k} ${k===1?"field isn't":"fields aren't"} visible right now.`,this.handoffEl.hidden=k===0)},refresh(d,p){d==="livesync"?(ae(e),Ze(e),ce(this.ctx,{ignoreActiveValue:!0})):d==="undo"?ce(this.ctx,{ignoreActiveValue:!1}):ce(this.ctx),this.syncTargets(),(d==="livesync"||d==="undo")&&this.rebindText(d),this.restoreActive()},rebindText(d){let p=d!=="undo";for(let[c,m]of[...l]){if(!e.contains(c)){nt(this.ctx,m,{restore:!1,record:p}),l.delete(c);continue}if(c.hasAttribute(Z)){let b=rt(c,m.prop);b!==m.lastEdited&&(m.oldValue=b,m.lastEdited=void 0);continue}let k=e.activeElement===c;nt(this.ctx,m,{restore:!1,record:p}),l.delete(c);let f=g(this.ctx,c,m.path,m.prop,{richClayIsOurs:m.richClayIsOurs,adopted:m.adopted});f&&k&&Ht(f)}},restoreActive(){if(!i||!a||i.popEl.hidden)return;if(!e.contains(a.el)){this.deactivate();return}if(!to(this,i,a.path.join("."))){this.deactivate();return}i.formRoot.querySelectorAll(`.${it}`).forEach(ro),this.placePopover()},focusOnOpen(){if(this.root&&typeof this.root.focus=="function")try{this.root.focus({preventScroll:!0})}catch{this.root.focus()}},destroy(){u=null,this.deactivate();for(let d of l.values())nt(this.ctx,d);l.clear(),s?.(),s=null,o?.destroy(),o=null,i?.destroy(),i=null,Or(e),this.popEl=null,this.handoffEl=null,this.handoffCountEl=null}}}function _a(e,t,r,n,i){return re(()=>{let o=null;try{o=new t(r,{inline:!0,hyperclay:!1,toolbar:n==="innerHTML"?xa:!1,...wa.test(r.tagName)?{singleLine:!0}:null})}catch(s){return console.warn("[hypercms] richclay activation failed; the field falls back to the popover",s),null}if(o.unsupported||!o.active){if(i)try{o.destroy()}catch{}return null}return typeof o.reattach=="function"&&o.reattach(),o})}function Ea(e,{path:t,el:r,prop:n}){let i=Ot(e.formRoot,t);i&&(Lt(i,rt(r,n),e.formRoot,t),K(W(e),{path:t,structural:!1},e))}function rt(e,t,r="data"){let n=Dr(e,{capability:r});return t==="innerHTML"?n.html():n.text().trim()}function io(e){let{el:t,prop:r,oldValue:n,lastEdited:i}=e,o=i;if(o===void 0||o===n)return;e.oldValue=o;let s=$("undo");if(!s||typeof s.recordValue!="function")return;let l={prop:r,oldValue:n,newValue:o,read:a=>rt(a,r,"history"),write:(a,u)=>oo(a,r,u)};s.isPaused?queueMicrotask(()=>{t.isConnected&&s.recordValue(t,l)}):s.recordValue(t,l)}function oo(e,t,r){let n=e.cloneNode(!1);t==="innerHTML"?n.innerHTML=r:n.textContent=r,ya(e,Array.from(n.childNodes),{morphStyle:"innerHTML",policy:"history",restoreFocus:!1,scripts:{handle:!1,merge:!1}})}function nt(e,t,{restore:r=!0,record:n=!0}={}){n&&io(t),t.detachInput?.(),t.detachBlur?.(),re(()=>{if(!t.adopted){try{t.editor.destroy()}catch(i){console.warn("[hypercms] richclay teardown failed; editor state may reach the save",i)}t.richClayIsOurs&&t.el.removeAttribute("data-richclay")}t.el.removeAttribute(Z),t.el.removeAttribute(he),t.el.removeAttribute(ie),pi(t.boundId),r&&t.restorable()&&oo(t.el,"innerHTML",t.originalHTML)})}function Ht(e){let{editor:t,el:r}=e;if(r.ownerDocument.activeElement!==r)try{typeof t.focus=="function"?t.focus():r.focus()}catch{}}function Sa(e,t,r,n){let i=new Map;for(let o of r){let s=i.get(o.el);s?s.push(o):i.set(o.el,[o])}for(let[o,s]of[...t]){let l=i.get(o)||[],a=l.find(d=>Vt(d)===s.prop)||l[0];if(!a){nt(e.ctx,s,{restore:!0}),t.delete(o);continue}s.path=a.path.join(".");let u=Vt(a);if(u===s.prop)continue;let h=n.activeElement===o;nt(e.ctx,s,{restore:!1}),t.delete(o);let g=e.bindText(o,s.path,u,{richClayIsOurs:s.richClayIsOurs,adopted:s.adopted,originalHTML:s.originalHTML});g&&h&&Ht(g)}return i}function Ta(e,t){return e.el===t.el&&e.kind===t.kind&&e.attr===t.attr}function Vt(e){return e.attr==="innerHTML"?"innerHTML":"textContent"}function Ca(e,t,r){for(let n of e.pageRoot.querySelectorAll(`[${Z}]`))t.has(n)||re(()=>ki(n,r.defaultView))}function to(e,t,r){let n=e.formRoot&&e.formRoot.querySelector(`[data-hcms-path="${je(r)}"]`);if(so(t.root),!n)return null;let i=n.closest("[data-hcms-card]"),o=i?[...i.querySelectorAll('[data-hcms-shape="scalar"][data-hcms-path]')].filter(s=>s.closest("[data-hcms-card]")===i&&s.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]')===i.parentElement.closest('[data-hcms-shape="object-array"]')):[n];o.includes(n)||o.push(n);for(let s of o){s.classList.add(it),s.removeAttribute("draggable");for(let l=s.parentElement;l&&(l.classList.add(Pr),l.removeAttribute("draggable"),l!==e.formRoot);l=l.parentElement);}return n}function so(e){if(e)for(let t of e.querySelectorAll(`.${it}, .${Pr}`))t.classList.remove(it,Pr)}function ro(e){e.tagName==="TEXTAREA"&&Le(e),e.querySelectorAll?.("textarea").forEach(Le)}function Ra(e){let t=e.matches?.(eo)?e:e.querySelector?.(eo);if(!(!t||typeof t.focus!="function"))try{t.focus({preventScroll:!0})}catch{t.focus()}}function Oa(e,t){ae(e);let r=e.createElement(va),n=t==="dark"?" dark":t==="light"?" light":"";return r.className="hcms-shell pixel-quiet hcms-inline"+n,r.setAttribute("data-hcms-shell",""),r.setAttribute("editor-ui",""),r.setAttribute("no-save",""),r.setAttribute("save-remove",""),r.setAttribute("snapshot-remove",""),r.setAttribute("no-watch",""),r.setAttribute("tabindex","-1"),r.innerHTML=`
177
+ `,(e||l.body).appendChild(d);let c=l.body;c.classList.add("hcms-open"),et(l),r&&c.classList.add("hcms-overlay"),t==="left"&&c.classList.add("hcms-side-left");let h=ta(d,l),k=ea(d);return{root:d,formRoot:d.querySelector("[data-hcms-form-root]"),noticeEl:d.querySelector(".hcms-shell-notice"),errorEl:d.querySelector(".hcms-shell-error"),saveButton:d.querySelector(".hcms-shell-save"),destroy(){h.detach(),k.detach(),d.remove(),c.classList.remove("hcms-open","hcms-overlay","hcms-side-left"),jr(l)},restoreChrome(){ce(l),c.classList.add("hcms-open"),et(l),r&&c.classList.add("hcms-overlay"),t==="left"&&c.classList.add("hcms-side-left")}}}function ce(e){e&&(e.getElementById(It)||e.querySelector("style[data-hcms-bundled-styles]")||(Fe.delete(e),$i(e)))}function $i(e){if(e&&!Fe.has(e)){if(e[Jl]){Fe.add(e);return}if(e.getElementById(It)||e.querySelector("style[data-hcms-bundled-styles]")){Fe.add(e);return}if(Mr){let t=e.createElement("style");t.id=It,t.setAttribute("save-remove",""),t.setAttribute("save-ignore",""),t.textContent=Mr,(e.head||e.documentElement).appendChild(t),Fe.add(e);return}try{let t=new URL("./theme.generated.css",import.meta.url).href,r=e.createElement("link");r.rel="stylesheet",r.id=It,r.setAttribute("save-remove",""),r.setAttribute("save-ignore",""),r.href=t,(e.head||e.documentElement).appendChild(r),Fe.add(e)}catch{let r=()=>{link.isConnected&&console.warn("hypercms: shell stylesheet not applied \u2014 cssText is empty and the co-located theme fallback is unavailable. Call installStyles(themeText) before opening the CMS.")};e.defaultView?.queueMicrotask?e.defaultView.queueMicrotask(r):r()}}}function ea(e){let t=e.querySelector(".hcms-shell-body"),r=e.querySelector(".hcms-shell-header");if(!t||!r||typeof t.addEventListener!="function")return{detach(){}};let n=()=>{let i=(r.offsetHeight||0)-12;e.classList.toggle("is-condensed",t.scrollTop>i)};return t.addEventListener("scroll",n,{passive:!0}),n(),{detach(){t.removeEventListener("scroll",n)}}}function ta(e,t){function r(n){if(n.key!=="Tab"||!e.contains(t.activeElement))return;let i=Array.from(e.querySelectorAll(Zl));if(i.length===0)return;let o=i[0],s=i[i.length-1];n.shiftKey&&t.activeElement===o?(n.preventDefault(),s.focus()):!n.shiftKey&&t.activeElement===s&&(n.preventDefault(),o.focus())}return t.addEventListener("keydown",r),{detach:()=>t.removeEventListener("keydown",r)}}var ra="[hypercms]",zi={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Bi={skip:"[data-hcms-shell]",templateAttr:null},Ir=class extends Error{constructor(t,r,n){super(`hypercms: rule at "${t}" has an invalid CSS selector: "${r}"`),this.name="InvalidRuleSelector",this.path=t,this.selector=r,this.cause=n}};function Dt(e,t){let r=[],n=[],i=[];return Pr(Q(e),e,t,[],r,n,i),{missing:Ui(r),twins:la(n),readOnly:Ui(i)}}function qt(e){return Fr(e)}function Fr(e){if(typeof e=="string")return Hi(e)?void 0:e;if(Array.isArray(e)){let[t,r]=e;return[t,Fr(r)]}if(e&&typeof e=="object"){let t={};for(let[r,n]of Object.entries(e)){let i=Fr(n);i!==void 0&&(t[r]=i)}return t}return e}function Pr(e,t,r,n,i,o,s){if(typeof r=="string"){let l=na(r),a=l?Pt(e,t,l,zi,n):[];if(Hi(r)){s.push(Pe(n));return}if(!l)return;if(r.endsWith("[]")){a.length===0&&Pt(e,t,l,Bi,n).length===0&&i.push(Pe(n));return}a.length===0?i.push(Pe(n)):a.length>1&&o.push({path:Pe(n),count:a.length});return}if(Array.isArray(r)){let[l,a]=r;if(typeof l!="string"||!l)return;let d=Pt(e,t,l,zi,n);if(d.length===0){Pt(e,t,l,Bi,n).length===0&&i.push(Pe(n));return}for(let m of d)Pr(e,m,a,[...n,"*"],i,o,s);return}if(r&&typeof r=="object")for(let[l,a]of Object.entries(r))Pr(e,t,a,[...n,l],i,o,s)}function Pt(e,t,r,n,i){try{return e.find(t,r,n)}catch(o){throw new Ir(Pe(i),r,o)}}function na(e){if(e==="."||e.startsWith("@"))return null;if(e.endsWith("[]"))return e.slice(0,-2)||null;let t=P(e);return(t===-1?e:e.slice(0,t))||null}function ia(e){if(e.endsWith("[]"))return null;let t=P(e);return t===-1?null:e.slice(t+1)||null}function Hi(e){let t=ia(e);return t!=null&&ke.has(t)}function De(e){oa(e),sa(e)}function oa(e){let t=e.noticeEl;if(!t)return;let r=e.unresolved&&e.unresolved.missing||[],n=e.unresolved&&e.unresolved.readOnly||[];if(r.length===0&&n.length===0){t.textContent="",t.hidden=!0;return}let i=[];if(r.length){let o=r.length===1?"1 field no longer matches this page":`${r.length} fields no longer match this page`;i.push(`${o}: ${r.join(", ")}`)}if(n.length){let o=n.length===1?"1 field reads a property the browser will not let anything write":`${n.length} fields read properties the browser will not let anything write`;i.push(`${o}: ${n.join(", ")}`)}t.textContent=i.join(`
178
+ `),t.hidden=!1}function sa(e){let t=e.unresolved&&e.unresolved.twins||[],r=t.map(n=>`${n.path}:${n.count}`).join("|");if(r!==e.lastTwinSignature){e.lastTwinSignature=r;for(let{path:n,count:i}of t)console.warn(`${ra} "${n}" matches ${i} elements; edits go to the first one.`)}}function Ui(e){return[...new Set(e)]}function la(e){let t=new Map;for(let r of e){let n=t.get(r.path);(!n||r.count>n.count)&&t.set(r.path,r)}return[...t.values()]}function Pe(e){return e.length?e.join("."):"(whole page)"}var aa={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function de(e,{ignoreActiveValue:t}={}){return ca(e,{ignoreActiveValue:t})}function ca(e,{ignoreActiveValue:t}){let r=H.findRules(e.doc,e.rulesSource||"cms");r&&(e.pageRules=e.view.prepareRules(r.rules),e.rulesTagNode=r.tagNode),kt(e.doc),At(e.doc,e.pageRules),e.formRules=Et(e.pageRules,e.doc),e.writeRules=qt(e.pageRules),e.unresolved=Dt(e.pageRoot,e.pageRules);let n=pt(),i=ae(H.extract(e.pageRoot,e.pageRules,{...aa,...n.hooks}),e.pageRules),o=Te({pageRules:e.pageRules,formRules:e.formRules,data:i,doc:e.doc});ft(e.formRoot,o,{ignoreActiveValue:t}),n.seed(e.formRoot),se(e.formRoot,e.doc,e.view?.enhanceFormRichText!==!1),Or(e),De(e),e.updateFingerprint&&e.updateFingerprint()}function Vi({debounce:e=100,onRefresh:t}){let r=$("Mutation");if(!r||typeof r.onAnyChange!="function")throw new Error("hypercms: a mutation hub is required (clay.Mutation or hyperclay.Mutation). Load clayjs or hyperclayjs, or just the mutation utility, before initializing hypercms.");let n=r.onAnyChange({debounce:e},i=>{t(i)});return{unsubscribe:typeof n=="function"?n:()=>{}}}var da='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])';function Wi({doc:e,pageRoot:t,opts:r={}}){let n=r.richText!==!1,i=null;return{name:"sidebar",richText:n,enhanceFormRichText:!0,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,prepareRules(o){return n?Ri(o,t):o},mount(o){let s=this.ctx;i=re(()=>qi({mountTo:r.mountTo||e.body,side:r.side||"right",overlay:!!r.overlay,showSaveButton:!!r.showSaveButton,title:r.title,eyebrow:r.eyebrow,theme:r.theme,doc:e})),this.root=i.root,this.formRoot=i.formRoot,this.errorEl=i.errorEl,this.noticeEl=i.noticeEl;let l=Te({pageRules:s.pageRules,formRules:s.formRules,data:o,doc:e});i.formRoot.appendChild(l),s.seeder.seed(i.formRoot),se(i.formRoot,e),De(s),Lt(s)},refresh(o){if(o==="livesync"){i?.restoreChrome?.(),de(this.ctx,{ignoreActiveValue:!0});return}if(o==="undo"){de(this.ctx,{ignoreActiveValue:!1});return}de(this.ctx)},focusOnOpen(){let o=this.root&&this.root.querySelector(da);o&&typeof o.focus=="function"&&o.focus()},destroy(){i?.destroy(),i=null}}}var ua="[cms-template], [data-hcms-shell]";function tt(e){if(!e||typeof e.getBoundingClientRect!="function"||typeof e.closest=="function"&&e.closest(ua))return!1;let t=e.getBoundingClientRect();return t.width>=8&&t.height>=8}var ma={skip:"[data-hcms-shell]",templateAttr:"cms-template"},ha={skip:"[data-hcms-shell]",templateAttr:null},fa="text",pa="native",Ki="handle",ga=new Set(["INPUT","TEXTAREA","SELECT"]),Xi=new Set(["IMG","INPUT","TEXTAREA","SELECT","OPTION","BR","HR","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","CANVAS","SOURCE","TRACK","AREA","COL","PARAM","BUTTON"]);function qr(e,t){return ba(e,t)}function ba(e,t){let r=[],n=[],i=Q(e);return Dr(i,e,t,[],r,n),{targets:r,lists:n}}function Dr(e,t,r,n,i,o){if(typeof r=="string"){if(r.endsWith("[]")){let m=r.slice(0,-2);if(!m)return;let g=$t(e,t,m);g.forEach((u,f)=>{i.push(Yi([...n,f],u,r,null))}),o.push(Gi(e,t,n,m,g,!0));return}let s=P(r),l=s===-1?null:r.slice(s+1),a=s===-1?r:r.slice(0,s),d=!a||a==="."?t:$t(e,t,a)[0];d&&i.push(Yi(n,d,r,l));return}if(Array.isArray(r)){let[s,l]=r;if(typeof s!="string"||!s)return;let a=$t(e,t,s);a.forEach((d,m)=>Dr(e,d,l,[...n,m],i,o)),o.push(Gi(e,t,n,s,a,typeof l=="string"));return}if(r&&typeof r=="object")for(let[s,l]of Object.entries(r))Dr(e,t,l,[...n,s],i,o)}function Gi(e,t,r,n,i,o){let s=i[0]?i[0].parentElement:null;if(!s){let l=$t(e,t,n,ha)[0];s=l?l.parentElement:null}return{path:r,items:i,container:s,scalar:o}}function Yi(e,t,r,n){return{path:e,el:t,rule:r,attr:n,kind:ka(t,n),icon:va(t,n)}}function ka(e,t){let r=(e.tagName||"").toUpperCase();return!t||t==="innerHTML"?Xi.has(r)?Ki:fa:t==="value"&&ga.has(r)&&!e.readOnly&&!ya(e)?pa:Ki}function ya(e){return e.disabled?!0:typeof e.matches=="function"&&e.matches(":disabled")}function va(e,t){let r=(e.tagName||"").toUpperCase();return(!t||t==="innerHTML")&&!Xi.has(r)?null:r==="IMG"||t==="srcset"?"camera":r==="A"&&t==="href"?"paperclip":"pencil"}function $t(e,t,r,n=ma){try{return e.find(t,r,n)}catch{return[]}}var zt=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),xa=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Um=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function rt(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function $r(e,t){if(rt(e,t))return!0;for(let[r,n]of Object.entries(xa))if(n.includes(t)&&rt(e,r))return!0;return!1}function nt(e){let t=zt[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function wa(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=zt[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(i=>$r(r,i))||n.bundles.some(i=>rt(r,i)))return r;r=r.parentElement}return null}function Ji(e,t){return!!wa(e,t)}var Aa=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function _a(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();"value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&r!=="file"&&(t.value=e.value),e.tagName==="INPUT"&&(r==="checkbox"||r==="radio")&&(t.checked=e.checked),e.tagName==="OPTION"&&(t.selected=e.selected),"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function Zi(e,t,r,n){if(n)return!!e.closest?.(t);let i=e;for(;i?.nodeType===1;){if(i.matches(t))return!0;if(i===r)break;i=i.parentElement}return!1}function Qi(e,t,r,n,i,o){return(o?Ji(e,t):Zi(e,r,i,!1))||!!(n&&(o&&e!==i?e.matches(n):Zi(e,n,i,o)))}function Ea(e,t){let r=zt[t];return r.tokens.some(n=>$r(e,n))||r.bundles.some(n=>rt(e,n))}var Sa=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function eo(e,t,r,n){if(e.nodeType===1&&n(e)){r.dropped.push(t);return}r.cloneToLive.set(t,e),r.liveToClone.set(e,t);let i=e,o=t;if(e.nodeType===1){if(Sa.has(e.tagName)&&r.controls.push(e,t),e.tagName==="TEMPLATE"){for(;t.firstChild;)t.removeChild(t.firstChild);i=e.content,o=t.content,r.cloneToLive.set(o,i),r.liveToClone.set(i,o)}}else if(e.nodeType!==11)return;let s=o.firstChild;for(let l=i.firstChild;l&&s;l=l.nextSibling)eo(l,s,r,n),s=s.nextSibling}function zr(e,{capability:t="data",exclude:r=null,inherit:n=!0,provenance:i=null}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let s=o.implementation.createHTMLDocument(""),l=i||new WeakMap,a=new WeakMap,d=e.nodeType===9?e.documentElement:e;r&&s.documentElement.matches(r);let m=nt(t),g=n?c=>Ea(c,t)||!!(r&&c.matches(r)):c=>Qi(c,t,m,r,d,!1),u=null;if(d.nodeType!==1||!Qi(d,t,m,r,d,n)){u=s.importNode(d,!0);let c={cloneToLive:l,liveToClone:a,dropped:[],controls:[]};eo(d,u,c,g);for(let h of c.dropped)h.remove();for(let h=0;h<c.controls.length;h+=2)_a(c.controls[h],c.controls[h+1])}e.nodeType===9&&u&&(s.replaceChild(u,s.documentElement),a.set(e,s),l.set(s,e));let f=c=>{if(Aa.test(c))throw new Error(`Filtered content queries do not support stateful selector: ${c}`)};return{root:u,document:s,capability:t,selector:nt(t),cloneToLive:l,liveToClone:a,original(c){return l.get(c)||null},cloneOf(c){return a.get(c)||null},query(c,h=u){return f(c),Array.from(h.querySelectorAll(c),k=>l.get(k)||k)},text(c=u){return(c===u?u:a.get(c))?.textContent||""},html(c=u){return(c===u?u:a.get(c))?.innerHTML??""},clone(c=u){let h=c===u?u:a.get(c);return h?s.importNode(h,!0):null}}}import{morph as Ia}from"./hyper-morph.vendor.js";var Ta=[16,8,0],z=8,Ca=4;function to({anchor:e,bar:t,rail:r=t,viewport:n,current:i=null}){let o=u=>i===u?Ca:0;if(e.bottom<=0||e.top>=n.height||e.right<=0||e.left>=n.width)return{mode:"hidden",x:0,y:0};let s=u=>Math.max(z,Math.min(e.left,n.width-u-z)),l=e.top-16-t.height;if(l>=z-o("above"))return{mode:"above",x:s(t.width),y:l};let a=e.bottom+16;if(a+t.height<=n.height-z+o("below"))return{mode:"below",x:s(t.width),y:a};let d=n.width-e.right-z,m=e.left-z,g=d>=m?[["rail-right",d],["rail-left",m]]:[["rail-left",m],["rail-right",d]];for(let[u,f]of g)for(let c of Ta){if(r.width+c>f+o(u))continue;let h=u==="rail-right"?Math.min(e.right+c,n.width-r.width-z):Math.max(e.left-c-r.width,z),k=Math.min(e.bottom,n.height-z)-r.height,p=Math.max(z,Math.min(Math.max(e.top,z),k));return{mode:u,x:h,y:p,gap:c}}return{mode:"pinned",x:s(t.width),y:z}}function Br({anchor:e,handle:t,viewport:r,inset:n=6,prefer:i="auto"}){let o=e.height>=t.height*1.5&&e.width>=t.width*2;if(i==="corner"||o){let u=Math.max(z,Math.min(e.right-t.width+n,r.width-t.width-z)),f=Math.max(z,Math.min(e.top-n,r.height-t.height-z));return{x:u,y:f,mode:"over"}}let s=4,l=e.right+s+t.width<=r.width-z,a=l?e.right+s:e.left-s-t.width,d=Math.max(z,a),m=e.top+e.height/2-t.height/2,g=Math.max(z,Math.min(m,r.height-t.height-z));return{x:d,y:g,mode:l?"beside-right":"beside-left"}}var Ut=!1;function ro(){if(Ut)return;let e=$("onPrepareForSave");typeof e=="function"&&(e(t=>{io(t),no(t)}),Ut=!0)}function no(e){let t=e&&e.querySelector&&e.querySelector("body");t&&t.classList.remove("hcms-open","hcms-overlay","hcms-side-left",Ft)}function io(e){if(!(!e||typeof e.querySelectorAll!="function"))for(let t of e.querySelectorAll(`[${oe}]`)){let r=Ei(t);r!==null&&(t.innerHTML=r),t.removeAttribute(oe)}}var Ht=!1;function Vt(){if(Ht)return;let e=$("onSnapshot");typeof e=="function"&&(e(t=>{io(t),Ti(t,typeof window<"u"?window:null),no(t)}),Ht=!0)}function oo(){ro(),Vt(),(!Ut||!Ht)&&Ra()}var Bt=null;function Ra(){if(Bt||typeof document>"u")return;Bt=Oe(document,wi,()=>{ro(),Vt(),Ut&&Ht&&(Bt?.(),Bt=null)})}var Oa={edit:"M8 10h2v6H8zm2 4h4v2h-4zm0-6h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2 2h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-4 0h2v2h-2z","move-up":"M11 4h2v2h2v2h2v2h2v2h-4v-2h-2v10h-2V10H9v2H5v-2h2V8h2V6h2z","move-down":"M11 4h2v10h2v-2h4v2h-2v2h-2v2h-2v2h-2v-2H9v-2H7v-2H5v-2h4v2h2z",remove:"M5 5h3v3h3v3h2V8h3V5h3v3h-3v3h-3v2h3v3h3v3h-3v-3h-3v-3h-2v3H8v3H5v-3h3v-3h3v-2H8V8H5z",add:"M10 4h4v6h6v4h-6v6h-4v-6H4v-4h6z"};function ge(e){let t=e==="edit"?"6 0 18 18":"0 0 24 24",r=e==="settings"?'<circle cx="6" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="18" cy="12" r="1.5"/>':`<path d="${Oa[e]}"/>`;return`<svg class="hcms-inline-icon" xmlns="http://www.w3.org/2000/svg" viewBox="${t}" width="24" height="24" fill="currentColor" aria-hidden="true" focusable="false">${r}</svg>`}var so="data-hcms-ghost",La=nt("history");function Na(e){let t=e.container,r=null;for(;t&&(t.namespaceURI!=="http://www.w3.org/1999/xhtml"||["SELECT","OPTGROUP","DATALIST"].includes(t.tagName));)r=t,t=t.parentElement;return{parent:t,anchor:r}}function lo({doc:e,themeRoot:t,onAdd:r,onResize:n}){let i=e.defaultView,o=[],s=!1,l=null,a=new Map;function d(f,c,h){f.style[c]!==h&&(f.style[c]=h)}function m(){let f=new Set(o.map(c=>c.node.parentElement));for(let[c,h]of a)f.has(c)&&i?.Sortable?.get(c)===h.instance||(h.instance.option("draggable")===h.selector&&h.instance.option("draggable",h.original),a.delete(c));for(let c of f){let h=i?.Sortable?.get(c);if(!h)continue;let k=h.option("draggable");if(a.get(c)?.selector===k)continue;let p=k,v=`${p.trim().startsWith(">")?"> ":""}:is(${p.trim().replace(/^>\s*/,"")}):not(${La})`;h.option("draggable",v),a.set(c,{instance:h,original:p,selector:v})}}function g(){for(let f of o){let{node:c,slot:h,list:k}=f,p=k.items.filter(b=>b.isConnected).map(b=>b.getBoundingClientRect()).filter(b=>b.width>0&&b.height>0);p.length&&(f.width=p.reduce((b,v)=>b+v.width,0)/p.length,f.height=p.reduce((b,v)=>b+v.height,0)/p.length),d(c,"width",f.width?`${Math.round(f.width)}px`:"100%"),d(h,"height",`${Math.max(48,Math.round(f.height||64))}px`),h!==c&&(h.colSpan=Math.max(1,...k.items.map(b=>[...b.children].reduce((v,_)=>v+(_.colSpan||1),0)))),c.hidden!==s&&(c.hidden=s)}m()}function u(f,c){let h=c.tagName,k=["TBODY","THEAD","TFOOT","TABLE"].includes(h),p=e.createElement(k?"tr":["UL","OL","MENU"].includes(h)?"li":"div");for(let w of[so,"data-hcms-shell","editor-ui","no-watch","no-save","save-remove","snapshot-remove"])p.setAttribute(w,"");p.setAttribute("draggable","false"),p.setAttribute("contenteditable","false"),p.className="hcms-shell pixel-quiet hcms-inline-ghost";for(let w of["light","dark"])p.classList.toggle(w,!!t?.classList.contains(w));let b=k?e.createElement("td"):p;b!==p&&(b.className="hcms-inline-ghost-cell",p.appendChild(b));let v=e.createElement("button");v.type="button",v.className="hcms-inline-list-button hcms-inline-list-add mirk-button mirk-button--small",v.setAttribute("data-hcms-list-action","add"),v.innerHTML=`<span class="mirk-button__label">${ge("add")}<span>Add</span></span>`,b.appendChild(v);let _={node:p,slot:b,button:v,list:f,width:0,height:0};v.addEventListener("click",w=>{w.preventDefault(),w.stopPropagation(),r(_.list)});for(let w of["pointerdown","mousedown","touchstart","click"])p.addEventListener(w,T=>T.stopPropagation());return p.addEventListener("dragstart",w=>{w.preventDefault(),w.stopPropagation()}),_}return{setLists(f){let c=new Set(o),h=[],k=new Set(o.map(b=>b.node)),p=new Set;for(let b of f||[]){if(!b.container||!b.container.isConnected)continue;let{parent:v,anchor:_}=Na(b);if(!v)continue;if(!p.has(v)){for(let R of v.querySelectorAll(`:scope > [${so}]`))k.has(R)||R.remove();p.add(v)}let w=o.find(R=>c.has(R)&&R.list.container===b.container&&R.list.path.join(".")===b.path.join("."))||u(b,v);c.delete(w),w.list=b,w.button.setAttribute("data-hcms-list",b.path.join(".")),w.button.setAttribute("aria-label",`Add to ${b.path.join(".")||"the list"}`);let T=_||b.items.filter(R=>R.parentElement===v).at(-1);T?T.nextSibling!==w.node&&T.after(w.node):w.node.parentElement!==v&&v.appendChild(w.node),h.push(w)}for(let b of c)b.node.remove();o=h,l?.disconnect(),!l&&typeof i?.ResizeObserver=="function"&&(l=new i.ResizeObserver(()=>{g(),n?.()}));for(let b of o)for(let v of b.list.items)l?.observe(v);g()},update:g,setHidden(f){s=!!f,g()},destroy(){l?.disconnect();for(let f of o)f.node.remove();o=[],m()}}}var ao=[["move-up","Move up"],["move-down","Move down"]],Ma={prefer:"corner",inset:0};function ja(e,t){return t.width<=e.width&&t.height<=e.height}function co({doc:e,layerEl:t,onActivate:r,onListAction:n}){let i=e.defaultView,o=[],s=new Map,l=0,a=new Map,d=null,m=new Set,g=0,u=!1,f=null,c=null,h=null,k=null,p=new Map,b=!1,v=null,_=lo({doc:e,themeRoot:t.closest("[data-hcms-shell]"),onResize:T,onAdd:y=>n?.({action:"add",list:y,index:y.items.length})}),w=e.createElement("div");w.className="hcms-inline-highlight",w.hidden=!0,w.setAttribute("aria-hidden","true"),t.appendChild(w);function T(){if(!(g||!i)){if(typeof i.requestAnimationFrame!="function")return W();g=i.requestAnimationFrame(()=>{g=0,W()})}}let R=()=>h||k;function W(){if(!i)return;_.update();let y={width:i.innerWidth,height:i.innerHeight},x=R();for(let A of o){if(!A.visible){A.node.hidden=!0;continue}for(let M of A.members)M.node.hidden=b&&M.kind!=="handle";A.node.hidden=!1;let C=A.el.getBoundingClientRect(),S=A.node.getBoundingClientRect(),O=S.width,F=A.kind==="row"&&!ja(C,S);if(F&&A.el!==x){for(let M of A.members)M.kind==="row"&&(M.node.hidden=!0);S=A.node.getBoundingClientRect()}if(A.members.every(M=>M.node.hidden)){A.node.hidden=!0;continue}let D=A.kind==="handle"?null:Ma,{x:X,y:N}=Br({anchor:C,handle:S,viewport:y,...D}),U=A.members.find(M=>M.kind==="handle");if(F&&U){let M=U.node.getBoundingClientRect(),cn=Br({anchor:C,handle:M,viewport:y}),Zo=A.members.slice(A.members.indexOf(U)+1).filter(er=>!er.node.hidden).reduce((er,Qo)=>er+Qo.node.getBoundingClientRect().width+2,0);X=Math.max(8+O,Math.min(y.width-8,cn.x+M.width+Zo))-S.width,N=cn.y}A.node.style.transform=`translate(${Math.round(X)}px, ${Math.round(N)}px)`}if(v)if(!v.node.isConnected||v.node.closest("[hidden]"))Y();else{let A=v.button.getBoundingClientRect(),C=v.menu.getBoundingClientRect();v.menu.style.left=`${Math.max(8,A.right-C.width)-A.left}px`,v.menu.style.right="auto",v.menu.style.top=A.bottom+6+C.height>y.height-8?"auto":"calc(100% + 6px)",v.menu.style.bottom=A.bottom+6+C.height>y.height-8?"calc(100% + 6px)":"auto"}j(),f?.()}function B(y){if(y?.closest?.("[data-hcms-ghost]"))return null;for(let x=y;x&&x.nodeType===1;x=x.parentElement){let A=p.get(x);if(A)return A}return null}function G(y){v&&!v.node.contains(y.target)&&Y();let x=R();k=B(y.target),k&&t.contains(y.target)&&(h=null),R()!==x&&T()}function E(y){if(y.relatedTarget||!k)return;let x=R();k=null,R()!==x&&T()}function j(){if(!c||w.hidden)return;let y=c.getBoundingClientRect();w.style.width=`${Math.round(y.width)}px`,w.style.height=`${Math.round(y.height)}px`,w.style.transform=`translate(${Math.round(y.left)}px, ${Math.round(y.top)}px)`}function be(){if(!i||typeof i.IntersectionObserver!="function"){for(let x of o)x.visible=!0;return}d||(d=new i.IntersectionObserver(x=>{let A=!1;for(let C of x)for(let S of s.get(C.target)||[])S.visible!==C.isIntersecting&&(S.visible=C.isIntersecting,A=!0);A&&T()},{threshold:0}));let y=new Set(s.keys());for(let x of m)y.has(x)||d.unobserve(x);for(let x of y)m.has(x)||d.observe(x);m=y}function zo(){u||!i||(i.addEventListener("scroll",T,{passive:!0,capture:!0}),i.addEventListener("resize",T,{passive:!0}),e.addEventListener("focusin",G),e.addEventListener("focusout",E),e.addEventListener("pointerdown",sn,!0),e.addEventListener("keydown",ln,!0),u=!0)}function Bo(){!u||!i||(i.removeEventListener("scroll",T,{capture:!0}),i.removeEventListener("resize",T),e.removeEventListener("focusin",G),e.removeEventListener("focusout",E),e.removeEventListener("pointerdown",sn,!0),e.removeEventListener("keydown",ln,!0),u=!1)}function en(y){return`${y.kind}\0${y.attr||""}`}function tn(y,x){return y.container===x.container&&y.scalar===x.scalar}function Uo(y,x){return y.kind!==x.kind?!1:y.kind==="handle"?en(y.target)===en(x.target):y.kind==="row"?y.row===x.row&&tn(y.list,x.list):tn(y.list,x.list)}function rn(y,x){y.target=x;let A=x.path.join(".");y.node.setAttribute("data-hcms-target",A),x.icon?y.node.setAttribute("data-hcms-icon",x.icon):y.node.removeAttribute("data-hcms-icon"),y.node.setAttribute("aria-label",`Edit ${A}`)}function Ho(y){let x=e.createElement("button");x.type="button",x.className="hcms-inline-handle mirk-button mirk-button--small",x.innerHTML=`<span class="mirk-button__label">${ge("edit")}</span>`;let A={node:x,kind:"handle",target:y};return rn(A,y),x.addEventListener("click",C=>{C.preventDefault(),C.stopPropagation(),r?.(A.target,x)}),A}function nn(y,x){let A=e.createElement("button");return A.type="button",A.className="hcms-inline-list-button mirk-button mirk-button--small",A.setAttribute("data-hcms-list-action",y),A.setAttribute("aria-label",x),A.innerHTML=`<span class="mirk-button__label">${ge(y)}${y==="add"?"<span>Add</span>":""}</span>`,A}function on(y,{list:x,row:A,rowIndex:C,count:S}){let O=x.path.join(".");y.list=x,y.row=A,y.index=C,y.count=S,y.node.setAttribute("data-hcms-list",O),y.node.setAttribute("data-hcms-row",String(C));for(let F of y.node.querySelectorAll("[data-hcms-list-action]")){let D=F.getAttribute("data-hcms-list-action"),X=ao.find(([N])=>N===D)?.[1]||D;F.setAttribute("aria-label",`${X} ${O}.${C}`),F.disabled=D==="move-up"&&C===0||D==="move-down"&&C===S-1}}function Vo(y,x,A,C){let S=e.createElement("div");S.className="hcms-inline-row-controls";let O={node:S,kind:"row",list:y,row:x,index:A,count:C};for(let[F,D]of ao){let X=nn(F,D);X.addEventListener("click",N=>{N.preventDefault(),N.stopPropagation(),!X.disabled&&n?.({action:F,list:O.list,index:O.index,row:O.row})}),S.appendChild(X)}return on(O,{list:y,row:x,rowIndex:A,count:C}),O}function Y(y=!1){if(!v)return;let x=v;v=null,x.menu.hidden=!0,x.button.setAttribute("aria-expanded","false"),x.node.parentElement?.classList.remove("has-open-settings"),y&&x.button.isConnected&&x.button.focus({preventScroll:!0})}function sn(y){v&&!v.node.contains(y.target)&&Y()}function ln(y){v&&(y.key==="Escape"?(y.preventDefault(),y.stopPropagation(),Y(!0)):y.key==="Tab"?Y(!0):["ArrowDown","ArrowUp","Home","End"].includes(y.key)&&v.menu.contains(y.target)&&(y.preventDefault(),v.menu.querySelector('[role="menuitem"]').focus({preventScroll:!0})))}function an(y,{list:x,row:A,rowIndex:C}){Object.assign(y,{list:x,row:A,index:C}),y.node.setAttribute("data-hcms-list",x.path.join(".")),y.node.setAttribute("data-hcms-row",String(C)),y.button.setAttribute("aria-label",`Settings ${x.path.join(".")}.${C}`)}function Wo(y){let x=e.createElement("div");x.className="hcms-inline-settings";let A=nn("settings","Settings");A.setAttribute("aria-haspopup","menu"),A.setAttribute("aria-expanded","false");let C=e.createElement("div");C.className="hcms-inline-settings-menu",C.setAttribute("role","menu"),C.setAttribute("aria-label","Item settings"),C.hidden=!0;let S=e.createElement("button");S.type="button",S.setAttribute("role","menuitem"),S.setAttribute("data-hcms-list-action","remove"),S.textContent="Delete",C.appendChild(S),x.append(A,C);let O={node:x,button:A,menu:C,kind:"settings"};an(O,y);let F=()=>{Y(),v=O,C.hidden=!1,A.setAttribute("aria-expanded","true"),x.parentElement.classList.add("has-open-settings"),S.focus({preventScroll:!0}),T()};return A.addEventListener("click",D=>{D.preventDefault(),D.stopPropagation(),v===O?Y(!0):F()}),A.addEventListener("keydown",D=>{(D.key==="ArrowDown"||D.key==="ArrowUp")&&(D.preventDefault(),F())}),S.addEventListener("click",D=>{D.preventDefault(),D.stopPropagation(),Y(!0),n?.({action:"remove",list:O.list,index:O.index,row:O.row})}),O}function Ko(y,x){y.kind==="handle"?rn(y,x.target):y.kind==="row"?on(y,x):y.kind==="settings"&&an(y,x)}function Qt(y,x,A,C,S){let O=x.get(A)?.find(F=>F.category===S);if(!O){O={el:A,category:S,members:[]},y.push(O);let F=x.get(A);F?F.push(O):x.set(A,[O])}O.members.push(C)}function Go(y,x,A){let C=A.items||[];C.forEach((S,O)=>{tt(S)&&(Qt(y,x,S,{kind:"row",list:A,row:S,rowIndex:O,count:C.length},"item"),Qt(y,x,S,{kind:"settings",list:A,row:S,rowIndex:O},"item"))})}function Yo(y,x){let A=new Set(y.members),C=[];for(let S of x){let O=y.members.find(F=>A.has(F)&&Uo(F,S))||(S.kind==="handle"?Ho(S.target):S.kind==="row"?Vo(S.list,S.row,S.rowIndex,S.count):Wo(S));A.delete(O),Ko(O,S),b&&O.kind!=="handle"&&(O.node.hidden=!0),C.push(O)}for(let S of A)S===v&&Y(),S.node.remove();C.sort((S,O)=>["row","handle","settings"].indexOf(S.kind)-["row","handle","settings"].indexOf(O.kind)),C.forEach((S,O)=>{y.node.children[O]!==S.node&&y.node.insertBefore(S.node,y.node.children[O]||null)}),y.members=C}function Xo(y,x){let A=[],C=new Map,S=new Map,O=0;for(let N of y||[])S.has(N.el)||S.set(N.el,N),!(N.kind!=="handle"||!tt(N.el))&&(Qt(A,C,N.el,{kind:"handle",target:N},"item"),O++);for(let N of x||[])Go(A,C,N);let F=new Set(o),D=new Map;for(let N of o)D.has(N.el)||D.set(N.el,N.visible);let X=[];for(let N of A){let U=o.find(M=>F.has(M)&&M.el===N.el&&M.category===N.category);if(!U){let M=e.createElement("div");M.className="hcms-inline-item-controls",M.setAttribute("role","group"),U={el:N.el,node:M,category:N.category,kind:N.category==="add"?"add":"handle",members:[],visible:D.get(N.el)??!1},t.appendChild(M)}F.delete(U),U.el=N.el,U.category=N.category,Yo(U,N.members),U.kind=U.members.some(M=>M.kind==="row")?"row":U.members.some(M=>M.kind==="handle")?"handle":"add",U.node.setAttribute("aria-label",U.category==="add"?"List controls":"Item controls"),X.push(U)}for(let N of F)N.node.remove();o=X,s=new Map,p=new Map;for(let N of o){let U=s.get(N.el);U?U.push(N):s.set(N.el,[N]);for(let M of N.members)M.kind!=="row"&&M.kind!=="settings"||(p.set(M.row,M.row),p.set(M.node,M.row),p.set(N.node,M.row))}h&&!p.has(h)&&(h=null),k&&!p.has(k)&&(k=null),a=S,l=O}function Jo(){Y(),d?.disconnect(),d=null,m=new Set;for(let y of o)y.node.remove();o=[],s=new Map,a=new Map,p=new Map,l=0}return{setTargets(y,x){Xo(y,x),_.setLists(x),be(),zo(),T()},refresh:T,get count(){return l},get controlsHidden(){return b},setControlsHidden(y){if(b=!!y,_.setHidden(b),b){Y();for(let x of o){for(let A of x.members)A.kind!=="handle"&&(A.node.hidden=!0);x.members.every(A=>A.node.hidden)&&(x.node.hidden=!0)}}T()},elementToTarget(y){if(y?.closest?.("[data-hcms-ghost]"))return null;for(let x=y;x&&x.nodeType===1;x=x.parentElement){let A=a.get(x);if(A)return A}return null},setHoveredRow(y){let x=R();h=y?B(y):null,R()!==x&&T()},showHighlight(y){y&&(c=y,w.hidden=!1,j())},hideHighlight(){c=null,w.hidden=!0},setFollower(y){f=typeof y=="function"?y:null},destroy(){_.destroy(),g&&i&&i.cancelAnimationFrame(g),g=0,f=null,c=null,h=null,k=null,w.remove(),Bo(),Jo()}}}var Fa="hypercms-inline",st="is-hcms-inline-active",Ur="is-hcms-inline-onpath",uo='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])',Pa=["bold","italic","link","undo","redo"],Da=/^H[1-6]$/,qa=0;function fo({doc:e,pageRoot:t,opts:r={}}){let n=r.richText!==!1,i=null,o=null,s=null,l=new Map,a=null,d=null,m=null;function g(u,f,c,h,k){let p=Le(e.defaultView);if(typeof p!="function")return null;let b=k||{},v=b.originalHTML??zr(f,{capability:"history"}).html(),_=b.richClayIsOurs??!f.hasAttribute("data-richclay"),w=b.adopted??f.getAttribute("data-richclay-active")==="true",T=it(f,h,"history"),R=$a(u,p,f,h,_);if(!R)return null;Si(f,h==="innerHTML",_);let W=String(++qa);f.setAttribute(oe,W),Vt();let B={el:f,editor:R,path:c,prop:h,boundId:W,originalHTML:v,oldValue:T,richClayIsOurs:_,adopted:w,dirty:!1,written:!1,restorable(){return!this.adopted&&!this.dirty&&!this.written},lastEdited:void 0};l.set(f,B),Ai(W,B);let G=R.squire;if(G&&typeof G.addEventListener=="function"){let j=()=>{B.dirty=!0,B.lastEdited=it(f,B.prop,"history"),za(u,B)};G.addEventListener("input",j),B.detachInput=()=>G.removeEventListener?.("input",j)}let E=()=>po(B);return f.addEventListener("blur",E),B.detachBlur=()=>f.removeEventListener("blur",E),B}return{name:"inline",richText:n,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,handoffEl:null,handoffCountEl:null,popEl:null,enhanceFormRichText:!1,prepareRules(u){return n?Oi(u,t):u},bindText(u,f,c,h){return g(this.ctx,u,f,c,h)},mount(u){let f=this.ctx;i=Wa(e,r.theme),this.root=i.root,this.formRoot=i.formRoot,this.errorEl=i.errorEl,this.noticeEl=i.noticeEl,this.handoffEl=i.handoffEl,this.handoffCountEl=i.handoffCountEl,this.popEl=i.popEl,re(()=>et(e));let c=Te({pageRules:f.pageRules,formRules:f.formRules,data:u,doc:e});i.formRoot.appendChild(c),f.seeder.seed(i.formRoot),se(i.formRoot,e,this.enhanceFormRichText),De(f),Lt(f),o=co({doc:e,layerEl:i.layerEl,onActivate:(h,k)=>this.activate(h,k),onListAction:h=>this.listAction(h)}),o.setFollower(()=>this.placePopover()),i.closeEl.addEventListener("click",()=>this.deactivate()),i.toggleEl.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.toggleControls()}),i.handoffEl.querySelector("[data-hcms-open-view]").addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),f.onViewRequested?.("sidebar")}),this.bindPage(),this.syncTargets()},listAction({action:u,list:f,index:c,row:h}){let k=this.ctx,p=f.path.join("."),b=k.formRoot.querySelector(`[data-hcms-path="${Ie(p)}"]`);if(!b)return;if(u==="add"){Ze(p,k);return}let v=h?Ga(k,p,h):c;if(v===-1)return;let _=Ka(b,v);if(_){if(u==="remove"){Rr(_,k),this.syncTargets();return}Cr(_,u==="move-up"?-1:1,k),this.syncTargets()}},toggleControls(){if(!o||!i)return;let u=!o.controlsHidden;o.setControlsHidden(u),i.toggleEl.setAttribute("aria-pressed",String(u));let f=i.toggleEl.querySelector(".mirk-button__label");f&&(f.textContent=u?"Show controls":"Hide controls")},bindPage(){let u=this.ctx.pageRoot,f=i.root,c=_=>{let w=o&&o.elementToTarget(_.target);w?o.showHighlight(w.el):o?.hideHighlight(),o?.setHoveredRow(_.target)},h=()=>{o?.hideHighlight(),o?.setHoveredRow(null)},k=_=>{if(f.contains(_.target))return;let w=o&&o.elementToTarget(_.target);!w||w.kind!=="text"||l.has(w.el)||g(this.ctx,w.el,w.path.join("."),Kt(w))},p=_=>{if(f.contains(_.target))return;let w=o&&o.elementToTarget(_.target);if(!w){this.deactivate();return}(typeof _.target.closest=="function"&&_.target.closest("a[href]")||w.kind!=="text")&&_.preventDefault(),this.activate(w)},b=_=>{_.key==="Escape"&&this.deactivate()},v=_=>{let w=_.detail;if(!(!w||w.pageRoot!==this.ctx.pageRoot||!w.path))for(let T of l.values())T.path===w.path&&(T.written=!0)};u.addEventListener("pointerover",c),u.addEventListener("pointerleave",h),u.addEventListener("pointerdown",k),u.addEventListener("click",p),f.addEventListener("keydown",b),e.addEventListener("hcms:change",v),s=()=>{u.removeEventListener("pointerover",c),u.removeEventListener("pointerleave",h),u.removeEventListener("pointerdown",k),u.removeEventListener("click",p),f.removeEventListener("keydown",b),e.removeEventListener("hcms:change",v)}},activate(u,f){if(!u||!i||u.kind==="text"&&this.activateText(u))return;let c=mo(this,i,u.path.join("."));if(!c){this.deactivate();return}a=u,d=f||null,m=null,i.popEl.hidden=!1,i.formRoot.querySelectorAll(`.${st}`).forEach(ho),this.placePopover(),Va(c)},activateText(u){let f=u.el,c=l.get(f);if(c)return Wt(c),!0;let h=g(this.ctx,f,u.path.join("."),Kt(u));return h?(Wt(h),!0):!1},placePopover(){if(!i||!a||i.popEl.hidden)return;let u=e.defaultView;if(!u)return;let f={width:u.innerWidth,height:u.innerHeight},c=a.el.getBoundingClientRect(),h=i.popEl.getBoundingClientRect(),{mode:k,x:p,y:b}=to({anchor:c,bar:h,viewport:f,current:m});m=k,i.popEl.style.transform=`translate(${Math.round(p)}px, ${Math.round(b)}px)`},deactivate(){if(!i||!a&&i.popEl.hidden)return;i.popEl.hidden=!0,bo(i.root);let u=d;if(a=null,d=null,m=null,u&&e.contains(u)&&typeof u.focus=="function")try{u.focus({preventScroll:!0})}catch{u.focus()}},syncTargets(){if(!o)return;let u=this.ctx,{targets:f,lists:c}=qr(u.pageRoot,u.pageRules);o.setTargets(f,c);let h=Ba(this,l,f,e);if(a){let p=h.get(a.el)||[],b=p.find(v=>Ua(v,a))||p.find(v=>v.path.join(".")===a.path.join("."))||(p.length===1?p[0]:null);b?a=b:this.deactivate()}Ha(this.ctx,l,e);let k=f.reduce((p,b)=>p+(tt(b.el)?0:1),0);this.handoffEl&&(this.handoffCountEl.textContent=k===0?"":`${k} ${k===1?"field isn't":"fields aren't"} visible right now.`,this.handoffEl.hidden=k===0)},refresh(u,f){u==="livesync"?(ce(e),et(e),de(this.ctx,{ignoreActiveValue:!0})):u==="undo"?de(this.ctx,{ignoreActiveValue:!1}):de(this.ctx),this.syncTargets(),(u==="livesync"||u==="undo")&&this.rebindText(u),this.restoreActive()},rebindText(u){let f=u!=="undo";for(let[c,h]of[...l]){if(!e.contains(c)){ot(this.ctx,h,{restore:!1,record:f}),l.delete(c);continue}if(c.hasAttribute(Z)){let b=it(c,h.prop);b!==h.lastEdited&&(h.oldValue=b,h.lastEdited=void 0);continue}let k=e.activeElement===c;ot(this.ctx,h,{restore:!1,record:f}),l.delete(c);let p=g(this.ctx,c,h.path,h.prop,{richClayIsOurs:h.richClayIsOurs,adopted:h.adopted});p&&k&&Wt(p)}},restoreActive(){if(!i||!a||i.popEl.hidden)return;if(!e.contains(a.el)){this.deactivate();return}if(!mo(this,i,a.path.join("."))){this.deactivate();return}i.formRoot.querySelectorAll(`.${st}`).forEach(ho),this.placePopover()},focusOnOpen(){if(this.root&&typeof this.root.focus=="function")try{this.root.focus({preventScroll:!0})}catch{this.root.focus()}},destroy(){d=null,this.deactivate();for(let u of l.values())ot(this.ctx,u);l.clear(),s?.(),s=null,o?.destroy(),o=null,i?.destroy(),i=null,jr(e),this.popEl=null,this.handoffEl=null,this.handoffCountEl=null}}}function $a(e,t,r,n,i){return re(()=>{let o=null;try{o=new t(r,{inline:!0,hyperclay:!1,toolbar:n==="innerHTML"?Pa:!1,...Da.test(r.tagName)?{singleLine:!0}:null})}catch(s){return console.warn("[hypercms] richclay activation failed; the field falls back to the popover",s),null}if(o.unsupported||!o.active){if(i)try{o.destroy()}catch{}return null}return typeof o.reattach=="function"&&o.reattach(),o})}function za(e,{path:t,el:r,prop:n}){let i=Nt(e.formRoot,t);i&&(Mt(i,it(r,n),e.formRoot,t),K(V(e),{path:t,structural:!1},e))}function it(e,t,r="data"){let n=zr(e,{capability:r});return t==="innerHTML"?n.html():n.text().trim()}function po(e){let{el:t,prop:r,oldValue:n,lastEdited:i}=e,o=i;if(o===void 0||o===n)return;e.oldValue=o;let s=$("undo");if(!s||typeof s.recordValue!="function")return;let l={prop:r,oldValue:n,newValue:o,read:a=>it(a,r,"history"),write:(a,d)=>go(a,r,d)};s.isPaused?queueMicrotask(()=>{t.isConnected&&s.recordValue(t,l)}):s.recordValue(t,l)}function go(e,t,r){let n=e.cloneNode(!1);t==="innerHTML"?n.innerHTML=r:n.textContent=r,Ia(e,Array.from(n.childNodes),{morphStyle:"innerHTML",policy:"history",restoreFocus:!1,scripts:{handle:!1,merge:!1}})}function ot(e,t,{restore:r=!0,record:n=!0}={}){n&&po(t),t.detachInput?.(),t.detachBlur?.(),re(()=>{if(!t.adopted){try{t.editor.destroy()}catch(i){console.warn("[hypercms] richclay teardown failed; editor state may reach the save",i)}t.richClayIsOurs&&t.el.removeAttribute("data-richclay")}t.el.removeAttribute(Z),t.el.removeAttribute(fe),t.el.removeAttribute(oe),_i(t.boundId),r&&t.restorable()&&go(t.el,"innerHTML",t.originalHTML)})}function Wt(e){let{editor:t,el:r}=e;if(r.ownerDocument.activeElement!==r)try{typeof t.focus=="function"?t.focus():r.focus()}catch{}}function Ba(e,t,r,n){let i=new Map;for(let o of r){let s=i.get(o.el);s?s.push(o):i.set(o.el,[o])}for(let[o,s]of[...t]){let l=i.get(o)||[],a=l.find(u=>Kt(u)===s.prop)||l[0];if(!a){ot(e.ctx,s,{restore:!0}),t.delete(o);continue}s.path=a.path.join(".");let d=Kt(a);if(d===s.prop)continue;let m=n.activeElement===o;ot(e.ctx,s,{restore:!1}),t.delete(o);let g=e.bindText(o,s.path,d,{richClayIsOurs:s.richClayIsOurs,adopted:s.adopted,originalHTML:s.originalHTML});g&&m&&Wt(g)}return i}function Ua(e,t){return e.el===t.el&&e.kind===t.kind&&e.attr===t.attr}function Kt(e){return e.attr==="innerHTML"?"innerHTML":"textContent"}function Ha(e,t,r){for(let n of e.pageRoot.querySelectorAll(`[${Z}]`))t.has(n)||re(()=>Ci(n,r.defaultView))}function mo(e,t,r){let n=e.formRoot&&e.formRoot.querySelector(`[data-hcms-path="${Ie(r)}"]`);if(bo(t.root),!n)return null;let i=n.closest("[data-hcms-card]"),o=i?[...i.querySelectorAll('[data-hcms-shape="scalar"][data-hcms-path]')].filter(s=>s.closest("[data-hcms-card]")===i&&s.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]')===i.parentElement.closest('[data-hcms-shape="object-array"]')):[n];o.includes(n)||o.push(n);for(let s of o){s.classList.add(st),s.removeAttribute("draggable");for(let l=s.parentElement;l&&(l.classList.add(Ur),l.removeAttribute("draggable"),l!==e.formRoot);l=l.parentElement);}return n}function bo(e){if(e)for(let t of e.querySelectorAll(`.${st}, .${Ur}`))t.classList.remove(st,Ur)}function ho(e){e.tagName==="TEXTAREA"&&Ne(e),e.querySelectorAll?.("textarea").forEach(Ne)}function Va(e){let t=e.matches?.(uo)?e:e.querySelector?.(uo);if(!(!t||typeof t.focus!="function"))try{t.focus({preventScroll:!0})}catch{t.focus()}}function Wa(e,t){ce(e);let r=e.createElement(Fa),n=t==="dark"?" dark":t==="light"?" light":"";return r.className="hcms-shell pixel-quiet hcms-inline"+n,r.setAttribute("data-hcms-shell",""),r.setAttribute("editor-ui",""),r.setAttribute("no-save",""),r.setAttribute("save-remove",""),r.setAttribute("snapshot-remove",""),r.setAttribute("no-watch",""),r.setAttribute("tabindex","-1"),r.innerHTML=`
179
179
  <div class="hcms-inline-bar">
180
180
  <div class="hcms-inline-handoff" hidden>
181
181
  <span class="hcms-inline-handoff-count"></span>
@@ -194,21 +194,21 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
194
194
  <div class="hcms-inline-pop-header">
195
195
  <span>Edit content</span>
196
196
  <button type="button" class="hcms-inline-pop-close mirk-button mirk-button--small" aria-label="Close field editor">
197
- <span class="mirk-button__label">${fe("remove")}</span>
197
+ <span class="mirk-button__label">${ge("remove")}</span>
198
198
  </button>
199
199
  </div>
200
200
  <div data-hcms-form-root class="hcms-form"></div>
201
201
  </div>
202
- `,e.body.appendChild(r),{root:r,formRoot:r.querySelector("[data-hcms-form-root]"),noticeEl:r.querySelector(".hcms-inline-notice"),errorEl:r.querySelector(".hcms-inline-error"),handoffEl:r.querySelector(".hcms-inline-handoff"),handoffCountEl:r.querySelector(".hcms-inline-handoff-count"),layerEl:r.querySelector(".hcms-inline-layer"),popEl:r.querySelector(".hcms-inline-pop"),closeEl:r.querySelector(".hcms-inline-pop-close"),toggleEl:r.querySelector("[data-hcms-controls-toggle]"),destroy(){r.remove()}}}function La(e,t){let r=e.querySelector(".hcms-array-items");return r&&r.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")[t]||null}function Na(e,t,r){let{lists:n}=Ir(e.pageRoot,e.pageRules),i=n.find(o=>o.path.join(".")===t);return i?i.items.indexOf(r):-1}var Ma="[hypercms]";function lo(e,t){if(!e||!e.querySelectorAll||!t)return;let r=ja(t);e.querySelectorAll("template[data-hcms-tpl]").forEach(i=>{let o=i.getAttribute("data-hcms-tpl");o&&(o.startsWith("@")||r.has(o)||console.warn(`${Ma} template "${o}" doesn't match any rule path; ignored`))})}function ja(e){let t=new Set;return r([],e),t;function r(n,i){let o=n.join("."),s=n.map(a=>typeof a=="number"?"*":a).join(".");o&&t.add(o),s&&t.add(s);let l=me(i);if(l==="object")for(let[a,u]of Object.entries(i))r([...n,a],u);else if(l==="object-array"||l==="scalar-array"){let a=[...n,"*"],u=a.map(h=>typeof h=="number"?"*":h).join(".");if(t.add(u),l==="object-array"){let h=i[1];if(h&&typeof h=="object"&&!Array.isArray(h))for(let[g,d]of Object.entries(h))r([...a,g],d)}}}}var co={skip:"[data-hcms-shell]",templateAttr:"cms-template"},L={isOpen:!1,ctx:null,opts:null};function uo({view:e,doc:t,pageRoot:r,opts:n={},onCloseRequested:i,onViewRequested:o}){let s=n.rules!==void 0?n.rules:"cms",l=V.findRules(t,s);if(!l){let k=typeof s=="string"?`data-rules-name~="${s}"`:"the provided rules object";throw new Error(`hypercms: no rules found for ${k}`)}let a=e.prepareRules(l.rules),u=l.tagNode;gt(t),xt(t,a),lo(t,a);let h=At(a,t),g=Dt(a),d=Ft(r,a),p=ht(),c=le(V.extract(r,a,{...co,...p.hooks}),a),m={doc:t,pageRoot:r,pageRules:a,writeRules:g,formRules:h,rulesTagNode:u,rulesSource:s,richText:e.richText,view:e,seeder:p,initialData:c,get formRoot(){return e.formRoot},get shellRoot(){return e.root},get errorEl(){return e.errorEl},get noticeEl(){return e.noticeEl},unresolved:d,lastTwinSignature:null,lastFingerprint:null,lastData:null,observerHandle:null,undoUnsub:null,livesyncUnsub:null,onChange:n.onChange,onError:n.onError,confirmRemove:n.confirmRemove,previouslyFocused:t.activeElement,dispatch(k,f){let b=t.defaultView&&t.defaultView.CustomEvent||(typeof CustomEvent<"u"?CustomEvent:null);if(!b)return;let v={...f||{},pageRoot:r,view:e.name},E=new b(k,{bubbles:!0,cancelable:k==="hcms:change",detail:v});(e.root&&e.root.isConnected!==!1?e.root:r).dispatchEvent(E)},onCloseRequested:i,onViewRequested:o};return m.updateFingerprint=()=>{m.lastFingerprint=Je(W(m))},e.ctx=m,m}function mo(e){e.updateFingerprint(),e.observerHandle=Ii({onRefresh:n=>e.view.refresh("observer",n)});let t=$("undo");if(t&&typeof t.on=="function"){let n=()=>{if(L.ctx!==e)return;ao(e,"undo");let i=le(V.extract(e.pageRoot,e.pageRules,co),e.pageRules);Je(i)!==Je(e.lastData)&&(e.lastData=i,e.onChange?.(i,{path:"",structural:!1}))};t.on("undo",n),t.on("redo",n),e.undoUnsub=()=>{t.off("undo",n),t.off("redo",n)}}let r=()=>ao(e,"livesync");e.livesyncUnsub=Re(e.doc,ui,r),zr.ctx=e,Fa(e.doc)}function ao(e,t){L.ctx===e&&e.view.refresh(t)}function Wt(e,{dispatch:t=!0,restoreFocus:r=!0,updateUrl:n=!0,reason:i="close"}={}){if(!e||e.closed)return;e.closed=!0;for(let s of e.uploads||[])try{s.abort()}catch{}e.uploads?.clear();let o=e.previouslyFocused;if(t&&e.dispatch("hcms:close",{reason:i}),n&&Da(),e.observerHandle?.unsubscribe?.(),e.undoUnsub?.(),e.livesyncUnsub?.(),e.detachEvents?.(),re(()=>e.view.destroy()),Ia(),r&&typeof o?.focus=="function")try{o.focus()}catch{}}function Ia(){L.isOpen=!1,L.ctx=null,L.opts=null,zr.ctx=null}var zr={ctx:null};function Fa(e){let t=e.defaultView||(typeof globalThis<"u"?globalThis:null);if(!t)return;let r=function(){let i=zr.ctx;if(i)return Nt(i.formRoot),pe("Reorder",()=>K(W(i),{path:"",structural:!0},i))};typeof t.hypercmsCommit!="function"&&(t.hypercmsCommit=r),typeof globalThis<"u"&&typeof globalThis.hypercmsCommit!="function"&&(globalThis.hypercmsCommit=r)}var $r="cms";function ho(e){let t=typeof e=="string"?e:"",r=t.indexOf("?"),n=r===-1?t:t.slice(r+1);if(!n)return t;let i=new URLSearchParams(n);return i.get($r)!=="true"?t:(i.set($r,"false"),"?"+i.toString())}function po(e){let t=typeof e=="string"?e:"",r=t.indexOf("?"),n=r===-1?t:t.slice(r+1);return n?new URLSearchParams(n).get($r)==="true":!1}function Da(){if(typeof window>"u"||!window.location||!window.history||typeof window.history.replaceState!="function")return;let e=window.location.search,t=ho(e);t!==e&&window.history.replaceState(window.history.state,"",t+window.location.hash)}var fo="hcms-toggle",I="data-hcms-toggle-host",go="hcms-toggle-style",bo="data-hcms-toggle-style",Kt="data-hcms-session",_o="data-hcms-split",Eo="hcms.view",Gt=["sidebar","inline"],qa={sidebar:"In the sidebar",inline:"On the page"},Hr="var(--hcms-toggle-bg, var(--hcms-toggle-_surface))";function ko(e){try{let t=e&&e.localStorage?e.localStorage.getItem(Eo):null;return Gt.includes(t)?t:null}catch{return null}}function Pa(e,t){if(Gt.includes(t))try{e?.localStorage?.setItem(Eo,t)}catch{}}var $a="#fafafa",za="#0a0a0a",Ba=`
202
+ `,e.body.appendChild(r),{root:r,formRoot:r.querySelector("[data-hcms-form-root]"),noticeEl:r.querySelector(".hcms-inline-notice"),errorEl:r.querySelector(".hcms-inline-error"),handoffEl:r.querySelector(".hcms-inline-handoff"),handoffCountEl:r.querySelector(".hcms-inline-handoff-count"),layerEl:r.querySelector(".hcms-inline-layer"),popEl:r.querySelector(".hcms-inline-pop"),closeEl:r.querySelector(".hcms-inline-pop-close"),toggleEl:r.querySelector("[data-hcms-controls-toggle]"),destroy(){r.remove()}}}function Ka(e,t){let r=e.querySelector(".hcms-array-items");return r&&r.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")[t]||null}function Ga(e,t,r){let{lists:n}=qr(e.pageRoot,e.pageRules),i=n.find(o=>o.path.join(".")===t);return i?i.items.indexOf(r):-1}var Ya="[hypercms]";function ko(e,t){if(!e||!e.querySelectorAll||!t)return;let r=Xa(t);e.querySelectorAll("template[data-hcms-tpl]").forEach(i=>{let o=i.getAttribute("data-hcms-tpl");o&&(o.startsWith("@")||r.has(o)||console.warn(`${Ya} template "${o}" doesn't match any rule path; ignored`))})}function Xa(e){let t=new Set;return r([],e),t;function r(n,i){let o=n.join("."),s=n.map(a=>typeof a=="number"?"*":a).join(".");o&&t.add(o),s&&t.add(s);let l=he(i);if(l==="object")for(let[a,d]of Object.entries(i))r([...n,a],d);else if(l==="object-array"||l==="scalar-array"){let a=[...n,"*"],d=a.map(m=>typeof m=="number"?"*":m).join(".");if(t.add(d),l==="object-array"){let m=i[1];if(m&&typeof m=="object"&&!Array.isArray(m))for(let[g,u]of Object.entries(m))r([...a,g],u)}}}}var vo={skip:"[data-hcms-shell]",templateAttr:"cms-template"},L={isOpen:!1,ctx:null,opts:null};function xo({view:e,doc:t,pageRoot:r,opts:n={},onCloseRequested:i,onViewRequested:o}){let s=n.rules!==void 0?n.rules:"cms",l=H.findRules(t,s);if(!l){let k=typeof s=="string"?`data-rules-name~="${s}"`:"the provided rules object";throw new Error(`hypercms: no rules found for ${k}`)}let a=e.prepareRules(l.rules),d=l.tagNode;kt(t),At(t,a),ko(t,a);let m=Et(a,t),g=qt(a),u=Dt(r,a),f=pt(),c=ae(H.extract(r,a,{...vo,...f.hooks}),a),h={doc:t,pageRoot:r,pageRules:a,writeRules:g,formRules:m,rulesTagNode:d,rulesSource:s,richText:e.richText,view:e,seeder:f,initialData:c,get formRoot(){return e.formRoot},get shellRoot(){return e.root},get errorEl(){return e.errorEl},get noticeEl(){return e.noticeEl},unresolved:u,lastTwinSignature:null,lastFingerprint:null,lastData:null,observerHandle:null,undoUnsub:null,livesyncUnsub:null,onChange:n.onChange,onError:n.onError,confirmRemove:n.confirmRemove,previouslyFocused:t.activeElement,dispatch(k,p){let b=t.defaultView&&t.defaultView.CustomEvent||(typeof CustomEvent<"u"?CustomEvent:null);if(!b)return;let v={...p||{},pageRoot:r,view:e.name},_=new b(k,{bubbles:!0,cancelable:k==="hcms:change",detail:v});(e.root&&e.root.isConnected!==!1?e.root:r).dispatchEvent(_)},onCloseRequested:i,onViewRequested:o};return h.updateFingerprint=()=>{h.lastFingerprint=Qe(V(h))},e.ctx=h,h}function wo(e){e.updateFingerprint(),e.observerHandle=Vi({onRefresh:n=>e.view.refresh("observer",n)});let t=$("undo");if(t&&typeof t.on=="function"){let n=()=>{if(L.ctx!==e)return;yo(e,"undo");let i=ae(H.extract(e.pageRoot,e.pageRules,vo),e.pageRules);Qe(i)!==Qe(e.lastData)&&(e.lastData=i,e.onChange?.(i,{path:"",structural:!1}))};t.on("undo",n),t.on("redo",n),e.undoUnsub=()=>{t.off("undo",n),t.off("redo",n)}}let r=()=>yo(e,"livesync");e.livesyncUnsub=Oe(e.doc,xi,r),Vr.ctx=e,Za(e.doc)}function yo(e,t){L.ctx===e&&e.view.refresh(t)}function Gt(e,{dispatch:t=!0,restoreFocus:r=!0,updateUrl:n=!0,reason:i="close"}={}){if(!e||e.closed)return;e.closed=!0;for(let s of e.uploads||[])try{s.abort()}catch{}e.uploads?.clear();let o=e.previouslyFocused;if(t&&e.dispatch("hcms:close",{reason:i}),n&&Qa(),e.observerHandle?.unsubscribe?.(),e.undoUnsub?.(),e.livesyncUnsub?.(),e.detachEvents?.(),re(()=>e.view.destroy()),Ja(),r&&typeof o?.focus=="function")try{o.focus()}catch{}}function Ja(){L.isOpen=!1,L.ctx=null,L.opts=null,Vr.ctx=null}var Vr={ctx:null};function Za(e){let t=e.defaultView||(typeof globalThis<"u"?globalThis:null);if(!t)return;let r=function(){let i=Vr.ctx;if(i)return jt(i.formRoot),pe("Reorder",()=>K(V(i),{path:"",structural:!0},i))};typeof t.hypercmsCommit!="function"&&(t.hypercmsCommit=r),typeof globalThis<"u"&&typeof globalThis.hypercmsCommit!="function"&&(globalThis.hypercmsCommit=r)}var Hr="cms";function Ao(e){let t=typeof e=="string"?e:"",r=t.indexOf("?"),n=r===-1?t:t.slice(r+1);if(!n)return t;let i=new URLSearchParams(n);return i.get(Hr)!=="true"?t:(i.set(Hr,"false"),"?"+i.toString())}function _o(e){let t=typeof e=="string"?e:"",r=t.indexOf("?"),n=r===-1?t:t.slice(r+1);return n?new URLSearchParams(n).get(Hr)==="true":!1}function Qa(){if(typeof window>"u"||!window.location||!window.history||typeof window.history.replaceState!="function")return;let e=window.location.search,t=Ao(e);t!==e&&window.history.replaceState(window.history.state,"",t+window.location.hash)}var Eo="hcms-toggle",I="data-hcms-toggle-host",So="hcms-toggle-style",To="data-hcms-toggle-style",Yt="data-hcms-session",jo="data-hcms-split",Io="hcms.view",Xt=["sidebar","inline"],ec={sidebar:"In the sidebar",inline:"On the page"},Gr="var(--hcms-toggle-bg, var(--hcms-toggle-_surface))";function Co(e){try{let t=e&&e.localStorage?e.localStorage.getItem(Io):null;return Xt.includes(t)?t:null}catch{return null}}function tc(e,t){if(Xt.includes(t))try{e?.localStorage?.setItem(Io,t)}catch{}}var rc="#fafafa",nc="#0a0a0a",ic=`
203
203
  [${I}] {
204
204
  all: unset;
205
205
  box-sizing: border-box;
206
206
  display: var(--hcms-toggle-display, inline-flex);
207
207
  font-family: 'Departure Mono', ui-monospace, Menlo, monospace;
208
- --hcms-toggle-_surface: ${$a};
208
+ --hcms-toggle-_surface: ${rc};
209
209
  }
210
210
  [${I}][data-hcms-surface="dark"] {
211
- --hcms-toggle-_surface: ${za};
211
+ --hcms-toggle-_surface: ${nc};
212
212
  }
213
213
  [${I}] .hcms-toggle__main,
214
214
  [${I}] .hcms-toggle__arrow {
@@ -245,9 +245,9 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
245
245
  outline-offset: -5px;
246
246
  }
247
247
  [${I}] .hcms-toggle__close { display: none; }
248
- [${I}][${Kt}="open"] .hcms-toggle__open { display: none; }
249
- [${I}][${Kt}="open"] .hcms-toggle__close { display: inline; }
250
- [${I}][${_o}] .hcms-toggle__main {
248
+ [${I}][${Yt}="open"] .hcms-toggle__open { display: none; }
249
+ [${I}][${Yt}="open"] .hcms-toggle__close { display: inline; }
250
+ [${I}][${jo}] .hcms-toggle__main {
251
251
  border-radius: 0;
252
252
  padding-right: 12px;
253
253
  }
@@ -266,7 +266,7 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
266
266
  font-size: 14px;
267
267
  line-height: 1.5;
268
268
  color: var(--hcms-toggle-color, currentColor);
269
- background: ${Hr};
269
+ background: ${Gr};
270
270
  border: 1px solid var(--mirk-input-border, #D8C8AF);
271
271
  border-radius: var(--mirk-radius, 5px);
272
272
  box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .45);
@@ -300,7 +300,7 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
300
300
  [${I}] .hcms-toggle__main,
301
301
  [${I}] .hcms-toggle__arrow { min-height: 44px; }
302
302
  }
303
- `;function Ua({search:e="",cookie:t="",forced:r=null}={}){let n=typeof e=="string"?e:"",i=n.indexOf("?"),o=i===-1?n:n.slice(i+1),s=new URLSearchParams(o).get("editmode");return s?s==="true":r!=null?!!r:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}var Br=new WeakMap;function So(e,t){try{e.globalCompositeOperation="copy",e.fillStyle=t,e.fillRect(0,0,1,1);let r=e.getImageData(0,0,1,1).data;return{r:r[0],g:r[1],b:r[2],a:r[3]/255}}catch{return null}}function Ha(e){if(Br.has(e))return Br.get(e);let t=null;try{let r=e.createElement("canvas");if(r.width=r.height=1,t=r.getContext?r.getContext("2d",{willReadFrequently:!0}):null,t){let n=So(t,"rgb(1, 2, 3)");(!n||n.r!==1||n.g!==2||n.b!==3||n.a!==1)&&(t=null)}}catch{t=null}return Br.set(e,t),t}function Va(e,t){let r=String(e??"").trim();if(!r)return null;let n=Wa(r);if(n)return n;let i=t&&t.defaultView;if(!i||!i.CSS||typeof i.CSS.supports!="function"||!i.CSS.supports("color",r))return null;let o=Ha(t);return o?So(o,r):null}function Wa(e){let t=/rgba?\(([^)]+)\)/.exec(String(e??""));if(!t)return null;let r=t[1].split(/[\s,/]+/).filter(Boolean);if(r.length<3)return null;let n=r.slice(0,3).map(Number);if(n.some(Number.isNaN))return null;let i=r[3],o=i===void 0?1:i.endsWith("%")?Number(i.slice(0,-1))/100:Number(i);return{r:n[0],g:n[1],b:n[2],a:Number.isNaN(o)?1:o}}function yo({r:e,g:t,b:r}){let n=i=>{let o=i/255;return o<=.03928?o/12.92:((o+.055)/1.055)**2.4};return .2126*n(e)+.7152*n(t)+.0722*n(r)}function vo(e,t){let r=yo(e),n=yo(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}var xo={r:10,g:10,b:10},wo={r:250,g:250,b:250};function Ao(e,t){let r=e.a==null?1:e.a;return{r:e.r*r+t.r*(1-r),g:e.g*r+t.g*(1-r),b:e.b*r+t.b*(1-r)}}function Ka(e){if(!e)return"light";let t=vo(Ao(e,xo),xo),r=vo(Ao(e,wo),wo);return t>r?"dark":"light"}function ot(e,t){for(let[r,n]of Object.entries(t))e.style.setProperty(r,n,"important")}function Ur(e){let t=e.ownerDocument&&e.ownerDocument.defaultView,r=e.querySelector(".hcms-toggle__main");if(!t||!r||typeof t.getComputedStyle!="function")return;let n=Va(t.getComputedStyle(r).color,e.ownerDocument);e.setAttribute("data-hcms-surface",Ka(n))}function Ga(e){Ur(e);let t=e.ownerDocument,r=t&&t.defaultView;if(!r)return;let n=0,i=()=>{if(!n){if(typeof r.requestAnimationFrame!="function")return e.isConnected?Ur(e):l();n=r.requestAnimationFrame(()=>{if(n=0,!e.isConnected)return l();Ur(e)})}};typeof r.requestAnimationFrame=="function"&&i(),t.readyState!=="complete"&&r.addEventListener("load",i,{once:!0});let o=typeof r.MutationObserver=="function"?new r.MutationObserver(i):null;o&&(o.observe(t.documentElement,{attributes:!0}),t.body&&o.observe(t.body,{attributes:!0}));let s=typeof r.matchMedia=="function"?r.matchMedia("(prefers-color-scheme: dark)"):null;s&&typeof s.addEventListener=="function"&&s.addEventListener("change",i);function l(){o&&o.disconnect(),s&&typeof s.removeEventListener=="function"&&s.removeEventListener("change",i)}}function Ya({open:e,close:t,isOpen:r,getTheme:n=()=>null,views:i=Gt},o=document){let s=o.querySelector(`[${I}]`);if(s)return s;if(!o.querySelector(`[${bo}]`)){let _=o.createElement("style");_.setAttribute(bo,""),_.setAttribute("editor-ui",""),o.getElementById(go)||(_.id=go),_.setAttribute("no-save",""),_.setAttribute("snapshot-remove",""),_.setAttribute("save-ignore",""),_.textContent=Ba,o.head.insertBefore(_,o.head.firstChild)}let l=o.createElement("hypercms-toggle");l.className="hcms-shell pixel-quiet",o.getElementById(fo)||(l.id=fo),l.setAttribute(I,""),l.setAttribute("editor-ui",""),l.setAttribute("no-save",""),l.setAttribute("snapshot-remove",""),l.setAttribute("save-ignore",""),l.innerHTML='<button type="button" class="hcms-toggle__main mirk-button"><span class="hcms-toggle__open">Edit content</span><span class="hcms-toggle__close">Close editor</span></button>';let a=o.defaultView,u=l.querySelector(".hcms-toggle__main"),h=Gt.filter(_=>i.includes(_)),g=h.length>1,d=g?Xa(o):null,p=g?Ja(o,h):null;g&&(l.setAttribute(_o,""),l.appendChild(d),l.appendChild(p)),ot(l,{position:"fixed",right:"calc(var(--hcms-toggle-offset, 16px) + var(--hcms-toggle-shift, 0px))",bottom:"calc(var(--hcms-toggle-offset, 16px) + env(safe-area-inset-bottom, 0px))","z-index":"var(--hcms-toggle-z, 2147482900)"}),ot(u,{background:Hr}),d&&ot(d,{background:Hr}),p&&ot(p,{position:"absolute",right:"0",bottom:"calc(100% + 8px)","z-index":"var(--hcms-toggle-z, 2147482900)",display:"none"});let c=()=>p?[...p.querySelectorAll('[role="menuitemradio"]')]:[];function m(_){if(!(!_||typeof _.focus!="function"))try{_.focus({preventScroll:!0})}catch{_.focus()}}function k(_){let j=c();j.length&&m(j[(_+j.length)%j.length])}function f(){let _=ko(a);for(let j of c())j.setAttribute("aria-checked",String(j.getAttribute("data-hcms-view")===_))}function b(_){l.contains(_.target)||w()}function v(_){p&&(p.hidden=!_,ot(p,{display:_?"block":"none"}),d.setAttribute("aria-expanded",String(_)),_?(f(),o.addEventListener("pointerdown",b,!0)):o.removeEventListener("pointerdown",b,!0))}function E(_=0){v(!0),k(_)}function w({focusArrow:_=!1}={}){!p||p.hidden||(v(!1),_&&m(d))}function T(){let _=ko(a);return _&&h.includes(_)?_:null}async function R(_){await e({view:_}),Pa(a,_)}async function H(){if(r()){t();return}let _=T();return _?e({view:_}):g?E():e(h[0]?{view:h[0]}:{})}async function B(_){try{await _()}catch(j){console.warn("hypercms: toggle failed to open the CMS",j)}}l.addEventListener("click",async _=>{d&&d.contains(_.target)||p&&p.contains(_.target)||await B(H)}),d&&(d.addEventListener("click",_=>{_.preventDefault(),p.hidden?E():w({focusArrow:!0})}),d.addEventListener("keydown",_=>{if(_.key==="ArrowUp"){_.preventDefault(),E(-1);return}(_.key==="ArrowDown"||_.key==="Enter"||_.key===" ")&&(_.preventDefault(),E(0))}),p.addEventListener("click",_=>{let j=_.target.closest?.('[role="menuitemradio"]');j&&(_.preventDefault(),w(),B(()=>R(j.getAttribute("data-hcms-view"))))}),p.addEventListener("keydown",_=>{let j=c(),ge=j.indexOf(o.activeElement);switch(_.key){case"ArrowDown":_.preventDefault(),k(ge+1);break;case"ArrowUp":_.preventDefault(),k(ge-1);break;case"Home":_.preventDefault(),k(0);break;case"End":_.preventDefault(),k(j.length-1);break;case"Enter":case" ":if(_.preventDefault(),ge===-1)break;w(),B(()=>R(j[ge].getAttribute("data-hcms-view")));break;case"Escape":_.preventDefault(),w({focusArrow:!0});break;case"Tab":w();break}}));let G=_=>{let j=n();l.classList.toggle("light",j==="light"),l.classList.toggle("dark",j==="dark"),_?l.setAttribute(Kt,"open"):l.removeAttribute(Kt)};return G(r()),o.addEventListener("hcms:open",()=>G(!0)),o.addEventListener("hcms:close",()=>G(!1)),o.body.appendChild(l),ae(o),Ga(l),l}function Xa(e){let t=e.createElement("button");return t.type="button",t.className="hcms-toggle__arrow mirk-button",t.setAttribute("aria-haspopup","menu"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label","Choose where to edit"),t.textContent="\u25BE",t}function Ja(e,t){let r=e.createElement("div");r.className="hcms-toggle__menu",r.setAttribute("role","menu"),r.setAttribute("aria-label","Where to edit"),r.hidden=!0;for(let n of t){let i=e.createElement("button");i.type="button",i.className="hcms-toggle__item",i.setAttribute("role","menuitemradio"),i.setAttribute("aria-checked","false"),i.setAttribute("data-hcms-view",n),i.tabIndex=-1,i.textContent=qa[n],r.appendChild(i)}return r}function To(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!Ua({search:window.location.search,cookie:document.cookie,forced:t}))return;let r=()=>{document.body&&e.hasRules(document)&&Ya(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r,{once:!0}):r()}function Co(e){if(Ci(e),typeof document<"u"){let t=document.getElementById("hcms-shell-styles");t?.tagName==="LINK"&&t.remove(),ae(document)}}var Wr={sidebar:Fi,inline:no};function Yt(e={}){let t=e.view||(L.isOpen?L.ctx.view.name:"sidebar"),r=Wr[t];if(!r)throw new Error(`hypercms: unknown view "${t}" (expected ${Object.keys(Wr).join(" or ")})`);let n=L.isOpen?{...L.opts,...e,view:t}:e,i=n.pageRoot||(typeof document<"u"?document.body:null);if(!i)throw new Error("hypercms: no pageRoot available");let o=i.ownerDocument||(typeof document<"u"?document:null);if(!o)throw new Error("hypercms: no document available");let s=null,l=null;if(L.isOpen){if(L.ctx.view.name===t)return;s=L.ctx.previouslyFocused,l=L.ctx.view.name,Wt(L.ctx,{restoreFocus:!1,updateUrl:!1,reason:"switch"})}Yi();let a=r({doc:o,pageRoot:i,opts:n}),u=uo({view:a,doc:o,pageRoot:i,opts:n,onCloseRequested:()=>Kr(),onViewRequested:h=>Yt({view:h})});s&&(u.previouslyFocused=s);try{a.mount(u.initialData),mo(u),a.focusOnOpen(),L.isOpen=!0,L.ctx=u,L.opts=n,u.dispatch("hcms:open",{pageRoot:i,previous:l})}catch(h){throw Wt(u,{dispatch:!1,restoreFocus:!!s,updateUrl:!1}),h}}function Kr(){L.isOpen&&Wt(L.ctx)}function Ro(){L.isOpen&&L.ctx.view.refresh("api")}function Za(){return L.isOpen}function Qa(){return L.isOpen&&L.ctx?L.ctx.view.name:null}var ec={getData(){return L.isOpen?W(L.ctx):null},setValue(e,t){if(!L.isOpen)throw new Error("hypercms: cms is not open");let r=L.ctx,n=ee(e),i=ue(r.pageRules,n);if(i===void 0)throw new Error(`hypercms: no rule at path "${e}"`);if(typeof i!="string"||i.endsWith("[]"))throw new Error(`hypercms: setValue requires a leaf scalar path; "${e}" is not a leaf`);let o=Ot(r.formRoot,e);if(!o)throw new Error(`hypercms: no field element at path "${e}"`);Lt(o,t,r.formRoot,e),K(W(r),{path:e,structural:!1},r)},addItem(e){if(!L.isOpen)throw new Error("hypercms: cms is not open");Xe(e,L.ctx)},removeItem(e){if(!L.isOpen)throw new Error("hypercms: cms is not open");let t=L.ctx,r=ee(e);if(typeof r[r.length-1]!="number")throw new Error(`hypercms: removeItem requires an item path; "${e}" is not an array index`);let i=ue(t.pageRules,r.slice(0,-1));if(!(Array.isArray(i)||typeof i=="string"&&i.endsWith("[]")))throw new Error(`hypercms: removeItem requires an item path; parent of "${e}" is not an array`);let s=t.formRoot.querySelector(`[data-hcms-path="${oc(e)}"]`);if(!s)throw new Error(`hypercms: no element at path "${e}"`);Ne(s,t)},refresh:Ro,_commit(){if(!L.isOpen)return;let e=L.ctx;return Nt(e.formRoot),pe("Update",()=>K(W(e),{path:"",structural:!0},e))}},tc=250,rc=1e4;function nc(){typeof window>"u"||typeof document>"u"||po(window.location?window.location.search:"")&&(L.isOpen||ic(()=>{if(!L.isOpen)try{Yt()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function Vr(){return!!document.body&&!!$("Mutation")}function ic(e){if(Vr()){queueMicrotask(e);return}let t=Date.now()+rc,r=!1,n=null,i=null,o=()=>{r||(r=!0,n!==null&&clearInterval(n),i&&i())};function s(){if(L.isOpen){o();return}Vr()&&(o(),e())}i=Re(document,di,s),n=setInterval(()=>{if(L.isOpen){o();return}if(Vr()){o(),e();return}Date.now()>=t&&(o(),console.warn("hypercms: ?cms=true auto-open gave up \u2014 no mutation hub appeared. Load clayjs or hyperclayjs (or just the mutation utility) so the CMS can initialize."))},tc)}nc();To({open:Yt,close:Kr,isOpen:Za,getTheme:()=>L.opts?.theme,views:Object.keys(Wr),hasRules:e=>!!V.findRules(e,"cms")});var Gr={open:Yt,close:Kr,refresh:Ro,api:ec,get isOpen(){return L.isOpen},currentView:Qa,path:ur,scaffold:Ke,morphForm:mt};function oc(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Oo=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
303
+ `;function oc({search:e="",cookie:t="",forced:r=null}={}){let n=typeof e=="string"?e:"",i=n.indexOf("?"),o=i===-1?n:n.slice(i+1),s=new URLSearchParams(o).get("editmode");return s?s==="true":r!=null?!!r:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}var Wr=new WeakMap;function Fo(e,t){try{e.globalCompositeOperation="copy",e.fillStyle=t,e.fillRect(0,0,1,1);let r=e.getImageData(0,0,1,1).data;return{r:r[0],g:r[1],b:r[2],a:r[3]/255}}catch{return null}}function sc(e){if(Wr.has(e))return Wr.get(e);let t=null;try{let r=e.createElement("canvas");if(r.width=r.height=1,t=r.getContext?r.getContext("2d",{willReadFrequently:!0}):null,t){let n=Fo(t,"rgb(1, 2, 3)");(!n||n.r!==1||n.g!==2||n.b!==3||n.a!==1)&&(t=null)}}catch{t=null}return Wr.set(e,t),t}function lc(e,t){let r=String(e??"").trim();if(!r)return null;let n=ac(r);if(n)return n;let i=t&&t.defaultView;if(!i||!i.CSS||typeof i.CSS.supports!="function"||!i.CSS.supports("color",r))return null;let o=sc(t);return o?Fo(o,r):null}function ac(e){let t=/rgba?\(([^)]+)\)/.exec(String(e??""));if(!t)return null;let r=t[1].split(/[\s,/]+/).filter(Boolean);if(r.length<3)return null;let n=r.slice(0,3).map(Number);if(n.some(Number.isNaN))return null;let i=r[3],o=i===void 0?1:i.endsWith("%")?Number(i.slice(0,-1))/100:Number(i);return{r:n[0],g:n[1],b:n[2],a:Number.isNaN(o)?1:o}}function Ro({r:e,g:t,b:r}){let n=i=>{let o=i/255;return o<=.03928?o/12.92:((o+.055)/1.055)**2.4};return .2126*n(e)+.7152*n(t)+.0722*n(r)}function Oo(e,t){let r=Ro(e),n=Ro(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}var Lo={r:10,g:10,b:10},No={r:250,g:250,b:250};function Mo(e,t){let r=e.a==null?1:e.a;return{r:e.r*r+t.r*(1-r),g:e.g*r+t.g*(1-r),b:e.b*r+t.b*(1-r)}}function cc(e){if(!e)return"light";let t=Oo(Mo(e,Lo),Lo),r=Oo(Mo(e,No),No);return t>r?"dark":"light"}function lt(e,t){for(let[r,n]of Object.entries(t))e.style.setProperty(r,n,"important")}function Kr(e){let t=e.ownerDocument&&e.ownerDocument.defaultView,r=e.querySelector(".hcms-toggle__main");if(!t||!r||typeof t.getComputedStyle!="function")return;let n=lc(t.getComputedStyle(r).color,e.ownerDocument);e.setAttribute("data-hcms-surface",cc(n))}function dc(e){Kr(e);let t=e.ownerDocument,r=t&&t.defaultView;if(!r)return;let n=0,i=()=>{if(!n){if(typeof r.requestAnimationFrame!="function")return e.isConnected?Kr(e):l();n=r.requestAnimationFrame(()=>{if(n=0,!e.isConnected)return l();Kr(e)})}};typeof r.requestAnimationFrame=="function"&&i(),t.readyState!=="complete"&&r.addEventListener("load",i,{once:!0});let o=typeof r.MutationObserver=="function"?new r.MutationObserver(i):null;o&&(o.observe(t.documentElement,{attributes:!0}),t.body&&o.observe(t.body,{attributes:!0}));let s=typeof r.matchMedia=="function"?r.matchMedia("(prefers-color-scheme: dark)"):null;s&&typeof s.addEventListener=="function"&&s.addEventListener("change",i);function l(){o&&o.disconnect(),s&&typeof s.removeEventListener=="function"&&s.removeEventListener("change",i)}}function uc({open:e,close:t,isOpen:r,getTheme:n=()=>null,views:i=Xt},o=document){let s=o.querySelector(`[${I}]`);if(s)return s;if(!o.querySelector(`[${To}]`)){let E=o.createElement("style");E.setAttribute(To,""),E.setAttribute("editor-ui",""),o.getElementById(So)||(E.id=So),E.setAttribute("no-save",""),E.setAttribute("snapshot-remove",""),E.setAttribute("save-ignore",""),E.textContent=ic,o.head.insertBefore(E,o.head.firstChild)}let l=o.createElement("hypercms-toggle");l.className="hcms-shell pixel-quiet",o.getElementById(Eo)||(l.id=Eo),l.setAttribute(I,""),l.setAttribute("editor-ui",""),l.setAttribute("no-save",""),l.setAttribute("snapshot-remove",""),l.setAttribute("save-ignore",""),l.innerHTML='<button type="button" class="hcms-toggle__main mirk-button"><span class="hcms-toggle__open">Edit content</span><span class="hcms-toggle__close">Close editor</span></button>';let a=o.defaultView,d=l.querySelector(".hcms-toggle__main"),m=Xt.filter(E=>i.includes(E)),g=m.length>1,u=g?mc(o):null,f=g?hc(o,m):null;g&&(l.setAttribute(jo,""),l.appendChild(u),l.appendChild(f)),lt(l,{position:"fixed",right:"calc(var(--hcms-toggle-offset, 16px) + var(--hcms-toggle-shift, 0px))",bottom:"calc(var(--hcms-toggle-offset, 16px) + env(safe-area-inset-bottom, 0px))","z-index":"var(--hcms-toggle-z, 2147482900)"}),lt(d,{background:Gr}),u&&lt(u,{background:Gr}),f&&lt(f,{position:"absolute",right:"0",bottom:"calc(100% + 8px)","z-index":"var(--hcms-toggle-z, 2147482900)",display:"none"});let c=()=>f?[...f.querySelectorAll('[role="menuitemradio"]')]:[];function h(E){if(!(!E||typeof E.focus!="function"))try{E.focus({preventScroll:!0})}catch{E.focus()}}function k(E){let j=c();j.length&&h(j[(E+j.length)%j.length])}function p(){let E=Co(a);for(let j of c())j.setAttribute("aria-checked",String(j.getAttribute("data-hcms-view")===E))}function b(E){l.contains(E.target)||w()}function v(E){f&&(f.hidden=!E,lt(f,{display:E?"block":"none"}),u.setAttribute("aria-expanded",String(E)),E?(p(),o.addEventListener("pointerdown",b,!0)):o.removeEventListener("pointerdown",b,!0))}function _(E=0){v(!0),k(E)}function w({focusArrow:E=!1}={}){!f||f.hidden||(v(!1),E&&h(u))}function T(){let E=Co(a);return E&&m.includes(E)?E:null}async function R(E){await e({view:E}),tc(a,E)}async function W(){if(r()){t();return}let E=T();return E?e({view:E}):g?_():e(m[0]?{view:m[0]}:{})}async function B(E){try{await E()}catch(j){console.warn("hypercms: toggle failed to open the CMS",j)}}l.addEventListener("click",async E=>{u&&u.contains(E.target)||f&&f.contains(E.target)||await B(W)}),u&&(u.addEventListener("click",E=>{E.preventDefault(),f.hidden?_():w({focusArrow:!0})}),u.addEventListener("keydown",E=>{if(E.key==="ArrowUp"){E.preventDefault(),_(-1);return}(E.key==="ArrowDown"||E.key==="Enter"||E.key===" ")&&(E.preventDefault(),_(0))}),f.addEventListener("click",E=>{let j=E.target.closest?.('[role="menuitemradio"]');j&&(E.preventDefault(),w(),B(()=>R(j.getAttribute("data-hcms-view"))))}),f.addEventListener("keydown",E=>{let j=c(),be=j.indexOf(o.activeElement);switch(E.key){case"ArrowDown":E.preventDefault(),k(be+1);break;case"ArrowUp":E.preventDefault(),k(be-1);break;case"Home":E.preventDefault(),k(0);break;case"End":E.preventDefault(),k(j.length-1);break;case"Enter":case" ":if(E.preventDefault(),be===-1)break;w(),B(()=>R(j[be].getAttribute("data-hcms-view")));break;case"Escape":E.preventDefault(),w({focusArrow:!0});break;case"Tab":w();break}}));let G=E=>{let j=n();l.classList.toggle("light",j==="light"),l.classList.toggle("dark",j==="dark"),E?l.setAttribute(Yt,"open"):l.removeAttribute(Yt)};return G(r()),o.addEventListener("hcms:open",()=>G(!0)),o.addEventListener("hcms:close",()=>G(!1)),o.body.appendChild(l),ce(o),dc(l),l}function mc(e){let t=e.createElement("button");return t.type="button",t.className="hcms-toggle__arrow mirk-button",t.setAttribute("aria-haspopup","menu"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label","Choose where to edit"),t.textContent="\u25BE",t}function hc(e,t){let r=e.createElement("div");r.className="hcms-toggle__menu",r.setAttribute("role","menu"),r.setAttribute("aria-label","Where to edit"),r.hidden=!0;for(let n of t){let i=e.createElement("button");i.type="button",i.className="hcms-toggle__item",i.setAttribute("role","menuitemradio"),i.setAttribute("aria-checked","false"),i.setAttribute("data-hcms-view",n),i.tabIndex=-1,i.textContent=ec[n],r.appendChild(i)}return r}function Po(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!oc({search:window.location.search,cookie:document.cookie,forced:t}))return;let r=()=>{document.body&&e.hasRules(document)&&uc(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r,{once:!0}):r()}function Do(e){if(Di(e),typeof document<"u"){let t=document.getElementById("hcms-shell-styles");t?.tagName==="LINK"&&t.remove(),ce(document)}}var Xr={sidebar:Wi,inline:fo};function Jt(e={}){let t=e.view||(L.isOpen?L.ctx.view.name:"sidebar"),r=Xr[t];if(!r)throw new Error(`hypercms: unknown view "${t}" (expected ${Object.keys(Xr).join(" or ")})`);let n=L.isOpen?{...L.opts,...e,view:t}:e,i=n.pageRoot||(typeof document<"u"?document.body:null);if(!i)throw new Error("hypercms: no pageRoot available");let o=i.ownerDocument||(typeof document<"u"?document:null);if(!o)throw new Error("hypercms: no document available");let s=null,l=null;if(L.isOpen){if(L.ctx.view.name===t)return;s=L.ctx.previouslyFocused,l=L.ctx.view.name,Gt(L.ctx,{restoreFocus:!1,updateUrl:!1,reason:"switch"})}oo();let a=r({doc:o,pageRoot:i,opts:n}),d=xo({view:a,doc:o,pageRoot:i,opts:n,onCloseRequested:()=>Jr(),onViewRequested:m=>Jt({view:m})});s&&(d.previouslyFocused=s);try{a.mount(d.initialData),wo(d),a.focusOnOpen(),L.isOpen=!0,L.ctx=d,L.opts=n,d.dispatch("hcms:open",{pageRoot:i,previous:l})}catch(m){throw Gt(d,{dispatch:!1,restoreFocus:!!s,updateUrl:!1}),m}}function Jr(){L.isOpen&&Gt(L.ctx)}function qo(){L.isOpen&&L.ctx.view.refresh("api")}function fc(){return L.isOpen}function pc(){return L.isOpen&&L.ctx?L.ctx.view.name:null}var gc={getData(){return L.isOpen?V(L.ctx):null},setValue(e,t){if(!L.isOpen)throw new Error("hypercms: cms is not open");let r=L.ctx,n=ee(e),i=me(r.pageRules,n);if(i===void 0)throw new Error(`hypercms: no rule at path "${e}"`);if(typeof i!="string"||i.endsWith("[]"))throw new Error(`hypercms: setValue requires a leaf scalar path; "${e}" is not a leaf`);let o=Nt(r.formRoot,e);if(!o)throw new Error(`hypercms: no field element at path "${e}"`);Mt(o,t,r.formRoot,e),K(V(r),{path:e,structural:!1},r)},addItem(e){if(!L.isOpen)throw new Error("hypercms: cms is not open");Ze(e,L.ctx)},removeItem(e){if(!L.isOpen)throw new Error("hypercms: cms is not open");let t=L.ctx,r=ee(e);if(typeof r[r.length-1]!="number")throw new Error(`hypercms: removeItem requires an item path; "${e}" is not an array index`);let i=me(t.pageRules,r.slice(0,-1));if(!(Array.isArray(i)||typeof i=="string"&&i.endsWith("[]")))throw new Error(`hypercms: removeItem requires an item path; parent of "${e}" is not an array`);let s=t.formRoot.querySelector(`[data-hcms-path="${xc(e)}"]`);if(!s)throw new Error(`hypercms: no element at path "${e}"`);Me(s,t)},refresh:qo,_commit(){if(!L.isOpen)return;let e=L.ctx;return jt(e.formRoot),pe("Update",()=>K(V(e),{path:"",structural:!0},e))}},bc=250,kc=1e4;function yc(){typeof window>"u"||typeof document>"u"||_o(window.location?window.location.search:"")&&(L.isOpen||vc(()=>{if(!L.isOpen)try{Jt()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function Yr(){return!!document.body&&!!$("Mutation")}function vc(e){if(Yr()){queueMicrotask(e);return}let t=Date.now()+kc,r=!1,n=null,i=null,o=()=>{r||(r=!0,n!==null&&clearInterval(n),i&&i())};function s(){if(L.isOpen){o();return}Yr()&&(o(),e())}i=Oe(document,vi,s),n=setInterval(()=>{if(L.isOpen){o();return}if(Yr()){o(),e();return}Date.now()>=t&&(o(),console.warn("hypercms: ?cms=true auto-open gave up \u2014 no mutation hub appeared. Load clayjs or hyperclayjs (or just the mutation utility) so the CMS can initialize."))},bc)}yc();Po({open:Jt,close:Jr,isOpen:fc,getTheme:()=>L.opts?.theme,views:Object.keys(Xr),hasRules:e=>!!H.findRules(e,"cms")});var Zr={open:Jt,close:Jr,refresh:qo,api:gc,get isOpen(){return L.isOpen},currentView:pc,path:pr,scaffold:Ye,morphForm:ft};function xc(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var $o=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
304
304
  Source of truth: mirk-interface/mirk.css + src/theme/pixel-quiet.overrides.css.
305
305
  Regenerate with: npm run build:theme */
306
306
 
@@ -2196,4 +2196,4 @@ tr.hcms-shell.hcms-inline-ghost { display: table-row; }
2196
2196
  will-change: transform;
2197
2197
  }
2198
2198
  .hcms-inline-highlight[hidden] { display: none; }
2199
- `;typeof window<"u"&&typeof document<"u"&&(function(){if(window.__mirk)return;window.__mirk=!0;let e='<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 4 12 12M12 4 4 12" stroke="currentColor" stroke-width="2" stroke-linecap="square" fill="none"/></svg>';document.addEventListener("click",r=>{let n=r.target.closest(".mirk-number__step");if(!n)return;let i=n.closest(".mirk-number").querySelector("input[type=number]");i&&(n.dataset.step==="up"?i.stepUp():i.stepDown(),i.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("input",r=>{let n=r.target.closest(".mirk-slider__input");n&&n.closest(".mirk-slider").style.setProperty("--mirk-value",`${n.value}%`)}),document.addEventListener("change",r=>{let n=r.target.closest(".mirk-file__input");if(!n||!n.files.length)return;let i=n.closest(".mirk-file"),o=i.querySelector(".mirk-file__name");if(!o)return;let s=n.files[0],l=document.createElement("a");if(l.className="mirk-file__name",l.dataset.filled="",l.href=URL.createObjectURL(s),l.target="_blank",l.rel="noopener",l.textContent=s.name,o.replaceWith(l),!i.querySelector(".mirk-file__remove")){let a=document.createElement("button");a.type="button",a.className="mirk-file__remove",a.setAttribute("aria-label","Remove file"),a.innerHTML=e,l.after(a)}}),document.addEventListener("change",r=>{let n=r.target.closest(".mirk-image__input");if(!n||!n.files.length)return;let i=n.closest(".mirk-image"),o=i.querySelector(".mirk-image__preview");if(!o)return;let s=i.querySelector(".mirk-image__placeholder"),l=new FileReader;l.onload=a=>{o.src=a.target.result,o.removeAttribute("hidden"),s&&s.setAttribute("hidden",""),i.querySelector(".mirk-image__thumb")?.removeAttribute("hidden"),i.querySelector(".mirk-image__upload")?.setAttribute("hidden","")},l.readAsDataURL(n.files[0])}),document.addEventListener("click",r=>{let n=r.target.closest(".mirk-file__remove");if(n){let o=n.closest(".mirk-file"),s=o?.querySelector(".mirk-file__input"),l=o?.querySelector(".mirk-file__name");if(s&&(s.value=""),l){let a=document.createElement("span");a.className="mirk-file__name",a.textContent="No file chosen",l.replaceWith(a)}n.remove();return}let i=r.target.closest(".mirk-image__remove");if(i){let o=i.closest(".mirk-image"),s=o?.querySelector(".mirk-image__input"),l=o?.querySelector(".mirk-image__preview");s&&(s.value=""),l&&(l.removeAttribute("src"),l.setAttribute("hidden","")),o?.querySelector(".mirk-image__thumb")?.setAttribute("hidden",""),o?.querySelector(".mirk-image__upload")?.removeAttribute("hidden")}});function t(r,n){let i=document.createElement("span");i.textContent=r;let o=document.createElement("input");o.type="hidden",o.name="tags[]",o.value=r;let s=document.createElement("button");s.type="button",s.className="mirk-tags__remove",s.textContent="\xD7";let l=document.createElement("span");if(l.className="mirk-tags__chip",n){let a=document.createElement("span");a.className="mirk-tags__chip-inner",a.append(i,o,s),l.append(a)}else l.append(i,o,s);return l}document.addEventListener("keydown",r=>{let n=r.target.closest(".mirk-tags__input");if(!n)return;let i=n.closest(".mirk-tags");if(r.key==="Enter"||r.key===","){let o=n.value.trim();if(!o)return;r.preventDefault(),n.before(t(o,i.classList.contains("mirk-tags--round"))),n.value=""}else if(r.key==="Backspace"&&!n.value){let o=i.querySelectorAll(".mirk-tags__chip");o[o.length-1]?.remove()}}),document.addEventListener("click",r=>{let n=r.target.closest(".mirk-tags__remove");if(n){n.closest(".mirk-tags__chip").remove();return}let i=r.target.closest(".mirk-tags");i&&r.target===i&&i.querySelector(".mirk-tags__input")?.focus()}),document.addEventListener("click",r=>{let n=r.target.closest("[data-mirk-chip]");if(!n)return;let i=n.getAttribute("data-mirk-chip");if(i==="open")n.closest(".mirk-chip")?.classList.add("mirk-chip--open");else if(i==="collapse")n.closest(".mirk-chip")?.classList.remove("mirk-chip--open");else if(i==="changes"){let o=n.closest(".mirk-chip__panel")?.classList.toggle("is-changes");n.textContent=o?"(hide changes)":"(view changes)"}}),document.addEventListener("click",r=>{let n=r.target.closest("[data-copy-btn]");if(!n)return;let i=n.closest("[data-copy]");if(!i)return;let o=i.cloneNode(!0);o.querySelectorAll("[data-copy-btn]").forEach(a=>a.remove());let l=i.getAttribute("data-copy")==="text"?o.textContent.replace(/^\s+|\s+$/g,""):o.innerHTML.replace(/\s+data-copy(="[^"]*")?/g,"").replace(/^\s*\n/gm,"").trim();navigator.clipboard.writeText(l).then(()=>{let a=n.textContent;n.textContent="copied",n.dataset.copied="",setTimeout(()=>{n.textContent=a,delete n.dataset.copied},1200)}).catch(()=>{n.textContent="error",setTimeout(()=>{n.textContent="copy"},1200)})})})();Co(Oo);var Xt=Gr,ac={cms:Gr};typeof window<"u"&&!window.__hyperclayNoAutoExport&&(window.hyperclay=window.hyperclay||{},window.hyperclay.hypercms=Xt,window.h=window.hyperclay);var Rh=Xt,Oh=Yr;export{Rh as cms,Oh as default};
2199
+ `;typeof window<"u"&&typeof document<"u"&&(function(){if(window.__mirk)return;window.__mirk=!0;let e='<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 4 12 12M12 4 4 12" stroke="currentColor" stroke-width="2" stroke-linecap="square" fill="none"/></svg>';document.addEventListener("click",r=>{let n=r.target.closest(".mirk-number__step");if(!n)return;let i=n.closest(".mirk-number").querySelector("input[type=number]");i&&(n.dataset.step==="up"?i.stepUp():i.stepDown(),i.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("input",r=>{let n=r.target.closest(".mirk-slider__input");n&&n.closest(".mirk-slider").style.setProperty("--mirk-value",`${n.value}%`)}),document.addEventListener("change",r=>{let n=r.target.closest(".mirk-file__input");if(!n||!n.files.length)return;let i=n.closest(".mirk-file"),o=i.querySelector(".mirk-file__name");if(!o)return;let s=n.files[0],l=document.createElement("a");if(l.className="mirk-file__name",l.dataset.filled="",l.href=URL.createObjectURL(s),l.target="_blank",l.rel="noopener",l.textContent=s.name,o.replaceWith(l),!i.querySelector(".mirk-file__remove")){let a=document.createElement("button");a.type="button",a.className="mirk-file__remove",a.setAttribute("aria-label","Remove file"),a.innerHTML=e,l.after(a)}}),document.addEventListener("change",r=>{let n=r.target.closest(".mirk-image__input");if(!n||!n.files.length)return;let i=n.closest(".mirk-image"),o=i.querySelector(".mirk-image__preview");if(!o)return;let s=i.querySelector(".mirk-image__placeholder"),l=new FileReader;l.onload=a=>{o.src=a.target.result,o.removeAttribute("hidden"),s&&s.setAttribute("hidden",""),i.querySelector(".mirk-image__thumb")?.removeAttribute("hidden"),i.querySelector(".mirk-image__upload")?.setAttribute("hidden","")},l.readAsDataURL(n.files[0])}),document.addEventListener("click",r=>{let n=r.target.closest(".mirk-file__remove");if(n){let o=n.closest(".mirk-file"),s=o?.querySelector(".mirk-file__input"),l=o?.querySelector(".mirk-file__name");if(s&&(s.value=""),l){let a=document.createElement("span");a.className="mirk-file__name",a.textContent="No file chosen",l.replaceWith(a)}n.remove();return}let i=r.target.closest(".mirk-image__remove");if(i){let o=i.closest(".mirk-image"),s=o?.querySelector(".mirk-image__input"),l=o?.querySelector(".mirk-image__preview");s&&(s.value=""),l&&(l.removeAttribute("src"),l.setAttribute("hidden","")),o?.querySelector(".mirk-image__thumb")?.setAttribute("hidden",""),o?.querySelector(".mirk-image__upload")?.removeAttribute("hidden")}});function t(r,n){let i=document.createElement("span");i.textContent=r;let o=document.createElement("input");o.type="hidden",o.name="tags[]",o.value=r;let s=document.createElement("button");s.type="button",s.className="mirk-tags__remove",s.textContent="\xD7";let l=document.createElement("span");if(l.className="mirk-tags__chip",n){let a=document.createElement("span");a.className="mirk-tags__chip-inner",a.append(i,o,s),l.append(a)}else l.append(i,o,s);return l}document.addEventListener("keydown",r=>{let n=r.target.closest(".mirk-tags__input");if(!n)return;let i=n.closest(".mirk-tags");if(r.key==="Enter"||r.key===","){let o=n.value.trim();if(!o)return;r.preventDefault(),n.before(t(o,i.classList.contains("mirk-tags--round"))),n.value=""}else if(r.key==="Backspace"&&!n.value){let o=i.querySelectorAll(".mirk-tags__chip");o[o.length-1]?.remove()}}),document.addEventListener("click",r=>{let n=r.target.closest(".mirk-tags__remove");if(n){n.closest(".mirk-tags__chip").remove();return}let i=r.target.closest(".mirk-tags");i&&r.target===i&&i.querySelector(".mirk-tags__input")?.focus()}),document.addEventListener("click",r=>{let n=r.target.closest("[data-mirk-chip]");if(!n)return;let i=n.getAttribute("data-mirk-chip");if(i==="open")n.closest(".mirk-chip")?.classList.add("mirk-chip--open");else if(i==="collapse")n.closest(".mirk-chip")?.classList.remove("mirk-chip--open");else if(i==="changes"){let o=n.closest(".mirk-chip__panel")?.classList.toggle("is-changes");n.textContent=o?"(hide changes)":"(view changes)"}}),document.addEventListener("click",r=>{let n=r.target.closest("[data-copy-btn]");if(!n)return;let i=n.closest("[data-copy]");if(!i)return;let o=i.cloneNode(!0);o.querySelectorAll("[data-copy-btn]").forEach(a=>a.remove());let l=i.getAttribute("data-copy")==="text"?o.textContent.replace(/^\s+|\s+$/g,""):o.innerHTML.replace(/\s+data-copy(="[^"]*")?/g,"").replace(/^\s*\n/gm,"").trim();navigator.clipboard.writeText(l).then(()=>{let a=n.textContent;n.textContent="copied",n.dataset.copied="",setTimeout(()=>{n.textContent=a,delete n.dataset.copied},1200)}).catch(()=>{n.textContent="error",setTimeout(()=>{n.textContent="copy"},1200)})})})();Do($o);var Zt=Zr,_c={cms:Zr};typeof window<"u"&&!window.__hyperclayNoAutoExport&&(window.hyperclay=window.hyperclay||{},window.hyperclay.hypercms=Zt,window.h=window.hyperclay);var ef=Zt,tf=Qr;export{ef as cms,tf as default};