payload-live-preview 2.0.6 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +148 -38
- package/dist/adapters/astro/FragmentBridge.astro +25 -0
- package/dist/adapters/astro/PreviewBoundary.astro +2 -4
- package/dist/adapters/astro/RichText.astro +26 -5
- package/dist/adapters/astro/index.d.ts +41 -9
- package/dist/adapters/astro/index.js +1 -1
- package/dist/adapters/astro/index.js.map +1 -1
- package/dist/adapters/astro/middleware-entry.d.ts +3 -3
- package/dist/adapters/astro/middleware-entry.js +1 -1
- package/dist/adapters/astro/middleware-entry.js.map +1 -1
- package/dist/adapters/nextjs/index.d.ts +17 -12
- package/dist/adapters/nextjs/index.js +1 -1
- package/dist/adapters/nextjs/index.js.map +1 -1
- package/dist/adapters/nuxt/index.d.ts +11 -6
- package/dist/adapters/nuxt/index.js +1 -1
- package/dist/adapters/nuxt/index.js.map +1 -1
- package/dist/adapters/nuxt/module.d.ts +64 -13
- package/dist/adapters/nuxt/module.js +1 -1
- package/dist/adapters/nuxt/module.js.map +1 -1
- package/dist/adapters/react/index.d.ts +11 -7
- package/dist/adapters/react/index.js +1 -1
- package/dist/adapters/react/index.js.map +1 -1
- package/dist/adapters/sveltekit/index.d.ts +10 -5
- package/dist/adapters/sveltekit/index.js +1 -1
- package/dist/adapters/sveltekit/index.js.map +1 -1
- package/dist/adapters/vue/index.d.ts +10 -7
- package/dist/adapters/vue/index.js +1 -1
- package/dist/adapters/vue/index.js.map +1 -1
- package/dist/annotate.d.ts +15 -2
- package/dist/annotate.js.map +1 -1
- package/dist/client.cjs +1 -1
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +367 -266
- package/dist/client.d.ts +367 -266
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/codegen-cli.js.map +1 -1
- package/dist/codegen.cjs.map +1 -1
- package/dist/codegen.d.cts +7 -1
- package/dist/codegen.d.ts +7 -1
- package/dist/codegen.js.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +549 -393
- package/dist/core.d.ts +549 -393
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/doctor-cli.d.ts +1 -1
- package/dist/doctor-cli.js +1 -1
- package/dist/doctor-cli.js.map +1 -1
- package/dist/doctor.d.ts +2 -2
- package/dist/doctor.js +1 -1
- package/dist/doctor.js.map +1 -1
- package/dist/{document-session-BfBfLVpg.d.ts → document-session-DWi9H3Qk.d.ts} +7 -0
- package/dist/{fragment-endpoint-DATKU183.d.ts → fragment-endpoint-B2qcRw5T.d.ts} +22 -7
- package/dist/fragment.cjs +1 -1
- package/dist/fragment.cjs.map +1 -1
- package/dist/fragment.d.cts +37 -16
- package/dist/fragment.d.ts +37 -16
- package/dist/fragment.js +1 -1
- package/dist/fragment.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +607 -405
- package/dist/index.d.ts +607 -405
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lean.cjs +1 -1
- package/dist/lean.cjs.map +1 -1
- package/dist/lean.d.cts +5 -2
- package/dist/lean.d.ts +5 -2
- package/dist/lean.js +1 -1
- package/dist/lean.js.map +1 -1
- package/dist/lexical.cjs +1 -1
- package/dist/lexical.cjs.map +1 -1
- package/dist/lexical.d.cts +32 -11
- package/dist/lexical.d.ts +32 -11
- package/dist/lexical.js +1 -1
- package/dist/lexical.js.map +1 -1
- package/dist/{locals-CNUGYbA_.d.ts → locals-B1mF3aTb.d.ts} +1 -1
- package/dist/{middleware-CWObDO37.d.ts → middleware-BGobLN9P.d.ts} +11 -5
- package/dist/migrate.js +1 -1
- package/dist/migrate.js.map +1 -1
- package/dist/{options-uHKrDM2U.d.ts → options-Cm8fC7dj.d.ts} +31 -1
- package/dist/payload.cjs +1 -1
- package/dist/payload.cjs.map +1 -1
- package/dist/payload.d.cts +18 -2
- package/dist/payload.d.ts +18 -2
- package/dist/payload.js +1 -1
- package/dist/payload.js.map +1 -1
- package/dist/plugin.cjs +2 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.d.cts +30 -0
- package/dist/plugin.d.ts +30 -0
- package/dist/plugin.js +2 -0
- package/dist/plugin.js.map +1 -0
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.d.cts +102 -29
- package/dist/plugins.d.ts +102 -29
- package/dist/plugins.js +1 -1
- package/dist/plugins.js.map +1 -1
- package/dist/{probe-Bzm4fYFL.d.ts → probe-DGPDsnbj.d.ts} +6 -2
- package/dist/server.cjs +1 -1
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +51 -7
- package/dist/server.d.ts +51 -7
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/structural.cjs +2 -2
- package/dist/structural.cjs.map +1 -1
- package/dist/structural.d.cts +61 -13
- package/dist/structural.d.ts +61 -13
- package/dist/structural.js +2 -2
- package/dist/structural.js.map +1 -1
- package/package.json +33 -4
package/dist/core.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e="2.0.6";function detectInitialLocale(){return function(){if("undefined"==typeof document)return;const e=document.documentElement.getAttribute("lang");return null===e||0===e.length?void 0:e}()??function(){if("undefined"==typeof navigator)return;const e=navigator.language;return"string"==typeof e&&e.length>0?e:void 0}()??"en"}var t="payload-live-preview-a11y",n=/* @__PURE__ */new WeakMap;function r(e){null!==e.timer&&(clearTimeout(e.timer),e.timer=null),e.messageNode?.remove(),e.messageNode=null}var i=class{german;document;lease=null;constructor(e,t){const n=t??("undefined"==typeof document?null:document),r=n?.documentElement.getAttribute("lang")??"";this.german=function(e){return/^de(?:[-_]|$)/i.test(e)}(e??(r.length>0?r:detectInitialLocale())),this.document=n}mount(){const e=this.document;if(null==e?.body)return null;this.lease??=function(e){let t=n.get(e);return void 0===t&&(t={element:null,owned:!1,messageNode:null,refs:0,timer:null},n.set(e,t)),t.refs+=1,t}(e);const i=this.lease,o=i.element;if(o?.isConnected&&o.ownerDocument===e)return o;if(null!==o){const e=i.owned;r(i),e&&o.remove()}let s=e.getElementById(t);return i.owned=null===s,null===s&&(s=e.createElement("div"),s.id=t,s.setAttribute("role","status"),s.setAttribute("aria-live","polite"),s.setAttribute("aria-atomic","true"),s.setAttribute("style","position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0"),e.body.appendChild(s)),i.element=s,s}announceConnected(){this.say(this.german?"Vorschau verbunden":"Live preview connected")}announceDisconnected(){this.say(this.german?"Vorschau getrennt":"Live preview disconnected")}announceUpdate(e){e<=0||this.say(this.german?`${String(e)} ${1===e?"Änderung":"Änderungen"} angewendet`:`${String(e)} ${1===e?"change":"changes"} applied`)}detach(){const e=this.lease,t=this.document;if(null===e||null===t)return;if(this.lease=null,e.refs-=1,e.refs>0)return;const i=e.element;null!==i&&r(e),e.owned&&i?.remove(),e.element=null,n.delete(t)}say(e){const t=this.mount(),n=this.lease;if(null===t||null===n)return;let i=n.messageNode;i?.parentNode!==t?(i?.remove(),i=t.ownerDocument.createTextNode(t.hasChildNodes()?` ${e}`:e),n.messageNode=i,t.appendChild(i)):i.data=null===i.previousSibling?e:` ${e}`,null!==n.timer&&clearTimeout(n.timer);const o=setTimeout(()=>{n.timer===o&&n.element===t&&r(n)},1500);n.timer=o}};function o(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){const e=s(n);e&&t.push(e)}return t}function s(e){if("object"!=typeof e||null===e)return;const t=e,n=t.name,r=t.type;if("string"!=typeof n||0===n.length)return;if("string"!=typeof r||0===r.length)return;const i=o(t.fields),s=function(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if("object"!=typeof n||null===n)continue;const e=n,r=e.slug;if("string"!=typeof r||0===r.length)continue;const i=o(e.fields);t.push({...e,slug:r,fields:i})}return t}(t.blocks),a={...t,name:n,type:r};return i.length>0?a.fields=i:delete a.fields,s.length>0?a.blocks=s:delete a.blocks,a}function a(e,t){return void 0===e||t(e)}function l(e,t){return null==e||t(e)}function u(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}var d=["data","fieldSchemaJSON","globalSlug","collectionSlug","locale","ready","previewToken","protocolVersion"],c=4,h={basic:{since:1},"schema-json":{since:2,observed:"schema"},locale:{since:2,observed:"locale"},"preview-token":{since:3,observed:"preview-token"},"nested-arrays":{since:4},"recursive-diffs":{since:4},"document-events":{since:4,observed:"document-event"},"relationship-events":{since:4,observed:"relationship-event"}},f=Object.keys(h);function negotiateProtocol(e,t=[]){const n="number"==typeof e&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0,r=n??1,i=Math.min(4,r),o=new Set(t),s=/* @__PURE__ */new Set;for(const e of f)(i>=h[e].since||o.has(e))&&s.add(e);return{ours:4,...void 0!==n?{theirs:n}:{theirs:void 0},negotiated:i,capabilities:s,observed:o}}function hasCapability(e,t){return e.capabilities.has(t)}function p(e){return("object"==typeof e&&null!==e||"function"==typeof e)&&"function"==typeof e.then&&(Promise.resolve(e).catch(()=>{}),!0)}function m(e,t){return e.generation===t.generation&&e.revision===t.revision}var g=class{matcher;handlers;boundListener=void 0;attachedTarget=void 0;generation=0;revision=0;queueHead=void 0;queueTail=void 0;constructor(e,t){this.matcher=e,this.handlers=t}attach(e=window){if(void 0!==this.attachedTarget)return;let t=!1;const n=r=>{if(!t||this.boundListener!==n)return;const i=this.generation;try{this.receive(r,i,e)}catch{let e;try{e=r.origin}catch{e=""}this.reportInvalid("shape",e,i)}};this.generation+=1,this.resetQueue(),this.attachedTarget=e,this.boundListener=n;try{e.addEventListener("message",n)}catch(t){this.boundListener===n&&(this.attachedTarget=void 0,this.boundListener=void 0,this.resetQueue());try{e.removeEventListener("message",n)}catch{}throw t}if(this.boundListener===n)t=!0;else try{e.removeEventListener("message",n)}catch{}}detach(){const e=this.attachedTarget,t=this.boundListener;void 0!==e&&void 0!==t&&(this.attachedTarget=void 0,this.boundListener=void 0,this.resetQueue(),e.removeEventListener("message",t))}advanceGeneration(){return void 0!==this.attachedTarget&&(this.generation+=1,this.resetQueue(),!0)}static sendReady(e,t){const n={type:"payload-live-preview",ready:!0,protocolVersion:4};for(const r of e)for(const e of t)try{r.postMessage(n,e)}catch{}}receive(e,t,n){const r=e.origin;if(!this.matchesOrigin(r,t))return void this.reportInvalid("origin",r,t);if(!this.matchesSource(e,n))return void this.reportInvalid("source",r,t);const i=e.data;var s;if("object"==typeof(s=i)&&null!==s&&"type"in s&&"string"==typeof s.type)switch(i.type){case"payload-live-preview":return function(e){const t=e;return!(void 0!==t.data&&null!==t.data&&!u(t.data))&&l(t.fieldSchemaJSON,e=>Array.isArray(e))&&l(t.globalSlug,e=>"string"==typeof e)&&l(t.collectionSlug,e=>"string"==typeof e)&&l(t.locale,e=>"string"==typeof e)&&l(t.ready,e=>"boolean"==typeof e)&&l(t.previewToken,e=>"string"==typeof e)&&l(t.protocolVersion,e=>"number"==typeof e)}(i)?void this.dispatchUpdate(function(e){const t={...e};for(const e of d)null===Reflect.get(t,e)&&Reflect.deleteProperty(t,e);if(!Array.isArray(t.fieldSchemaJSON))return t;let n;try{n=o(t.fieldSchemaJSON)}catch{n=[]}return{...t,fieldSchemaJSON:n}}(i),r,t):void this.reportInvalid("shape",r,t);case"payload-document-event":return function(e){const t=e;return a(t.action,e=>"updated"===e||"created"===e||"deleted"===e)&&a(t.slug,e=>"string"==typeof e)&&a(t.id,e=>"string"==typeof e||Number.isFinite(e))}(i)?void this.invokeHandler(t,this.handlers.onDocumentEvent,i,r):void this.reportInvalid("shape",r,t);case"payload-live-preview-focus":{const e=function(e){const t=e.field;return"string"==typeof t&&t.length>0?t:void 0}(i);return void 0===e?void this.reportInvalid("shape",r,t):void this.invokeHandler(t,this.handlers.onFocusField,e,r)}default:this.reportInvalid("type",r,t)}else this.reportInvalid("shape",r,t)}dispatchUpdate(e,t,n){const r=u(e.data);if(!this.isCurrentGeneration(n))return;const i=r?{generation:n,revision:this.revision+=1}:void 0,o=this.handlers.validateToken;if(!this.isCurrentGeneration(n))return;if(void 0===o)return void this.commitUpdate(e,t,n,i);if(!0===e.ready&&void 0===e.data)return void this.commitUpdate(e,t,n,void 0);const s={generation:n,message:e,origin:t,messageRevision:i,verdict:void 0,next:void 0};let a;this.enqueue(s);try{a=o(e.previewToken,t)}catch{return void this.settleValidation(s,!1)}"boolean"!=typeof a?Promise.resolve(a).then(e=>{this.settleValidation(s,!0===e)},()=>{this.settleValidation(s,!1)}):this.settleValidation(s,a)}settleValidation(e,t){e.verdict=t,this.drainQueue(e.generation)}drainQueue(e){for(;this.isCurrentGeneration(e);){const t=this.queueHead;if(void 0===t)return;if(this.matchesOrigin(t.origin,e)){if(void 0===t.verdict)return;this.dequeue(t)&&(t.verdict?this.commitUpdate(t.message,t.origin,t.generation,t.messageRevision):this.reportInvalid("token",t.origin,t.generation))}else{if(!this.dequeue(t))continue;this.reportInvalid("origin",t.origin,t.generation)}}}commitUpdate(e,t,n,r){void 0===r?this.invokeHandler(n,this.handlers.onUpdate,e,t):this.invokeHandler(n,this.handlers.onUpdate,e,t,r)}reportInvalid(e,t,n){this.invokeHandler(n,this.handlers.onInvalid,e,t)}matchesSource(e,t){if("parent-or-opener"!==this.handlers.sourcePolicy)return!0;try{const n=e.source;if("object"!=typeof n||null===n)return!1;const r=t.parent;return r!==t&&n===r||n===t.opener}catch{return!1}}matchesOrigin(e,t){try{return!0===(this.isCurrentGeneration(t)&&this.matcher(e))&&this.isCurrentGeneration(t)}catch{return!1}}invokeHandler(e,t,...n){if(void 0!==t&&this.isCurrentGeneration(e))try{p(t(...n))}catch{}}isCurrentGeneration(e){return void 0!==this.attachedTarget&&this.generation===e}enqueue(e){void 0===this.queueTail?this.queueHead=e:this.queueTail.next=e,this.queueTail=e}dequeue(e){return this.queueHead===e&&(this.queueHead=e.next,void 0===this.queueHead&&(this.queueTail=void 0),!0)}resetQueue(){this.queueHead=void 0,this.queueTail=void 0}};function v(e){return(...t)=>{try{p(e(...t))}catch{}}}function y(){}var b=v((...e)=>console.error(...e)),w=v((...e)=>console.warn(...e)),S=v((...e)=>console.debug(...e)),k={"structural arrays":'data-payload-type="array" and keyed lists',"array templates":"data-payload-array-template","server-rendered fragments":"data-payload-fragment boundaries","route refreshes":'data-payload-strategy="route" and bindings in <head>',"screen-reader announcements":"the aria-live region","auto-binding":"autoBind: 'unique'"},A=/* @__PURE__ */new Set;function T(e){A.has(e)||(A.add(e),w(`[live-preview] LP0104: this page carries the lean runtime, which leaves out ${e} (${k[e]}). The elements are left as the server rendered them. Remove \`runtime: LEAN_RUNTIME\` to get the full runtime.`))}function C(e){return"undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__?function(e){return!1!==e.enableA11y&&T("screen-reader announcements"),null}(e):function(e){if(!1===e.enableA11y)return null;const t=e.root,n=void 0===t?void 0:function(e){return 9===e.nodeType}(t)?t:t.ownerDocument;return new i(e.a11yLocale,n)}(e)}function $(e){if("undefined"==typeof window)return;const t=[];window.parent!==window&&t.push(window.parent),window.opener instanceof Window&&t.push(window.opener),g.sendReady(t,e)}function R(e){const t={};for(const[n,r]of Object.entries(e))void 0!==r&&(t[n]=r);return t}var P=/* @__PURE__ */new Set(["tabs","row","collapsible"]);function N(e,t=""){const n=/* @__PURE__ */new Map;return L(e,t,n),n}function L(e,t,n){for(const r of e){if(P.has(r.type)){r.fields&&L(r.fields,t,n);continue}const e=""===t?r.name:`${t}.${r.name}`;if(n.set(e,r),"group"===r.type)r.fields&&L(r.fields,e,n);else if("array"===r.type&&r.fields)L(r.fields,`${e}.*`,n);else if("blocks"===r.type&&r.blocks)for(const t of r.blocks)L(t.fields,`${e}.*.${t.slug}`,n)}}function F(e,t){if(e.has(t))return e.get(t);const n=t.replace(/\.\d+(?=\.|$)/g,".*");return e.has(n)?e.get(n):void 0}function x(e){if("object"!=typeof e||null===e)return;const t=e.id;return"string"==typeof t||"number"==typeof t?t:void 0}function U(e){if("object"!=typeof e||null===e)return;const t=e.blockType;return"string"==typeof t?t:void 0}function E(e,t){return t.every(e=>void 0!==x(e))?function(e,t){const n=[],r=/* @__PURE__ */new Map;for(let t=0;t<e.length;t+=1){const n=x(e[t]);void 0!==n&&r.set(n,t)}const i=/* @__PURE__ */new Set;for(let o=0;o<t.length;o+=1){const s=t[o],a=x(s);if(void 0===a){n.push({kind:"insert",index:o,value:s});continue}const l=r.get(a);if(void 0===l){n.push({kind:"insert",index:o,value:s});continue}i.add(l);const u=e[l];U(u)===U(s)?(l!==o&&n.push({kind:"move",from:l,to:o,value:s}),M(u,s)||n.push({kind:"update",index:o,value:s})):n.push({kind:"replace",index:o,oldValue:u,value:s})}for(let t=0;t<e.length;t+=1)i.has(t)||n.push({kind:"remove",index:t,value:e[t]});return n}(e,t):function(e,t){const n=[],r=Math.min(e.length,t.length);for(let i=0;i<r;i+=1)M(e[i],t[i])||n.push({kind:"update",index:i,value:t[i]});if(t.length>e.length)for(let r=e.length;r<t.length;r+=1)n.push({kind:"insert",index:r,value:t[r]});if(e.length>t.length)for(let r=t.length;r<e.length;r+=1)n.push({kind:"remove",index:r,value:e[r]});return n}(e,t)}function M(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;const n=e,r=t,i=Object.keys(n),o=Object.keys(r);if(i.length!==o.length)return!1;for(const e of i)if(!Object.is(n[e],r[e]))return!1;return!0}var I={text:"text",textarea:"textarea",richText:"richText",email:"email",number:"number",checkbox:"checkbox",date:"date",select:"select",radio:"radio",array:"array",blocks:"blocks",group:"text",tabs:"text",row:"text",collapsible:"text",relationship:"relationship",upload:"upload",point:"text",json:"text",code:"text",ui:"text"},O=/* @__PURE__ */new Set(["http:","https:","mailto:","tel:"]),_=/^\s*(?:javascript|data|vbscript|file|blob|about)\s*:/i,z=/^(?:\.{1,2}\/|[a-zA-Z0-9_-]+\/?)/,D=/^[\\/]{2}/,B=/[\t\n\r]/g;function isSafeUrl(e){if("string"!=typeof e)return!1;const t=e.trim().replace(B,"");if(0===t.length)return!1;if(_.test(t))return!1;if(t.startsWith("#")||t.startsWith("?"))return!0;if(D.test(t))return!0;if(t.startsWith("/"))return!0;try{const e=new URL(t);return O.has(e.protocol)}catch{return z.test(t)}}function isExternalHttpUrl(e){const t=e.trim().replace(B,"");return/^https?:\/\//i.test(t)||D.test(t)}var j=/* @__PURE__ */new Set(["style","srcdoc","formaction","form","id","name","is","srcset","imagesrcset"]),H=/* @__PURE__ */new Set(["href","src","poster","cite","action","xlink:href","data"]);function W(e){return!e.startsWith("on")&&!j.has(e)}function q(e){return e.onUnfaithfulPatch??("ignore"===e.onUnboundChange?"ignore":"escalate")}function V(e,t,n,r){if(t.reportedUnfaithful.has(n.element))return;t.reportedUnfaithful.add(n.element),t.unfaithfulCount+=1,t.unfaithfulFields.add(n.fieldName);const i=e.onUnfaithfulPatch;"ignore"!==i&&("warn"!==i?(e.log("LP0411",n.fieldName,r),t.unfaithfulPatches.push(n)):e.warn(`[live-preview] LP0411: "${n.fieldName}" ${r}`))}function G(e,t){return!e.unfaithfulFields.has(t)&&(e.unfaithfulFields.add(t),e.unfaithfulCount+=1,!0)}var K=/* @__PURE__ */new Set(["date","number","checkbox"]);function J(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName?e.value:e.textContent}function Q(e){const t=e.trim();return JSON.stringify(t.length>40?`${t.slice(0,40)}…`:t)}var X=/* @__PURE__ */new WeakSet;function Z(e){return X.add(e),e}function Y(e){switch(typeof e){case"string":return e.length>65536?void 0:`s:${e}`;case"number":return`n:${Object.is(e,-0)?"-0":String(e)}`;case"boolean":return"b:"+(e?"1":"0");case"bigint":return`i:${String(e)}`;case"undefined":return"u";case"object":{if(null===e)return"z";let t;try{t=JSON.stringify(e)}catch{return}return t.length>65536?void 0:`o:${t}`}case"symbol":case"function":return}}var ee=class{previous=null;diff(e,t){const n=this.previous,r=null===n,i=/* @__PURE__ */new Map,o=/* @__PURE__ */new Set;for(const[t,r]of Object.entries(e)){const e=Y(r);i.set(t,e),null!==n&&void 0!==e&&n.get(t)===e||o.add(t)}if(null!==n)for(const e of n.keys())i.has(e)||o.add(e);this.previous=i;const s=/* @__PURE__ */new Set;for(const[e,n]of Object.entries(t))if(o.has(e))for(const e of n)s.add(e);return{changed:o,invalidated:s,baseline:r}}reset(){this.previous=null}},te="data-payload-fragment";function ne(e){return e.closest(`[${te}]`)}function re(e){const t=e.getAttribute("data-payload-strategy");return null!==t&&t.length>0?"patch"===t||"fragment"===t||"route"===t?t:void 0:null!==ne(e)?"fragment":null!==e.closest("head")?"route":"patch"}function ie(e,t){return void 0===t||""===t?`collection:${e}`:`collection:${e}:${t}`}function oe(e){return"string"==typeof e&&e.length>0}function se(e,t){return null!==t&&void 0!==e&&t.includes(e)}function ae(e){const t=e.id;return"string"==typeof t&&t.length>0?t:"number"==typeof t&&Number.isFinite(t)?String(t):void 0}var le=/* @__PURE__ */new Set(["id","_id","createdAt","updatedAt","createdBy","updatedBy","_status","globalType","collection","locale","localized"]);function ue(e,t,n){const r=e.get(t);return void 0!==r&&(!1===n||r.some(e=>se(e.owner,n)))}function de(e,t,n){const r=`${t}.`;for(const[t,i]of e.entries())if(t.startsWith(r)){if(!1===n)return!0;if(i.some(e=>se(e.owner,n)))return!0}return!1}function ce(e,t){if(void 0===t||0===t.length)return e;const n=`_${t}`;return e.endsWith(n)?e.slice(0,-n.length):e}function he(e,t,n){let r;return i=>{if(ue(e,i,n))return!0;const o=ce(i,t);return!(o===i||!ue(e,o,n))||!!de(e,i,n)||!(o===i||!de(e,o,n))||(r??=function(e,t){const n=/* @__PURE__ */new Set;for(const[r,i]of e.entries())for(const e of i)(!1===t||se(e.owner,t))&&void 0!==e.locale&&n.add(`${r}_${e.locale}`);return n}(e,n),r.has(i))}}function fe(e,t,n,r){const i=he(e,n,r),o=[];for(const e of t)le.has(e)||i(e)||o.push(e);return o}var pe=/* @__PURE__ */new Set(["text","textarea","email","number","checkbox","date","select","radio","point","code","json","ui","html"]),me={},ge=class{rawChanges=new ee;resolved=null;queued=null;pending=null;timer=null;openUntil=0;decide(e,t){const n=t.message.data??{},{changed:r}=this.rawChanges.diff(n,me);if(!function(e){const{cache:t,emitter:n}=e;if(t.islands.length>0)return!0;if(n.listenerCount("beforeUpdate")>0||n.listenerCount("afterUpdate")>0)return!0;for(const e of t.values()){if(ye(e)||e.fieldName.includes("."))return!0;if(we(e.hrefField)||we(e.srcField)||we(e.altField))return!0}return void 0!==e.strategies.fragment&&null!==e.root.querySelector(`[${te}]`)}(e))return{merge:!1,fields:n};const i=this.resolved;if(null===i)return this.resolved=n,{merge:!0,fields:n};const o={...i};let s=t.forceRender;for(const a of r){const r=n[a];if(le.has(a)){o[a]=r;continue}const l=ve(a,i[a],r,e.cache,t.schemaIndex);"own"!==l&&(s=!0),"keep"!==l&&(o[a]=r)}return this.resolved=o,{merge:s,fields:o}}request(e,t,n){const r=Date.now();return r>=this.openUntil?(this.dropQueued(),this.openUntil=r+t,{leading:!0,result:e.merge(n)}):(this.queued=n,this.openUntil=r+t,this.pending??=function(){let e;return{promise:new Promise(t=>{e=t}),settle:e}}(),null!==this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.flush(e)},t),{leading:!1,result:this.pending.promise})}recordMerged(e){this.resolved=e}destroy(){this.dropQueued(),this.openUntil=0}dropQueued(){null!==this.timer&&clearTimeout(this.timer),this.timer=null,this.queued=null,this.pending?.settle({status:"superseded"}),this.pending=null}flush(e){const t=this.pending,n=this.queued;this.timer=null,this.pending=null,this.queued=null,null!==t&&null!==n&&e.merge(n).then(t.settle,()=>{t.settle({status:"unavailable"})})}};function ve(e,t,n,r,i){return be(n)?!be(t)||function(e,t,n){const r=void 0===n?void 0:F(n,e);return void 0!==r&&!pe.has(r.type)||!0===t.get(e)?.some(ye)||de(t,e,!1)}(e,r,i)?"keep":null==t?"ask":"own":"ask"}function ye(e){return!pe.has(e.fieldType)}function be(e){return null===e||"object"!=typeof e&&"function"!=typeof e}function we(e){return!0===e?.includes(".")}var Se=class{negotiation=negotiateProtocol(void 0);observed=/* @__PURE__ */new Set;observe(e,t){const n=e.filter(e=>!this.observed.has(e));if(0!==n.length){for(const e of n)this.observed.add(e);this.negotiation=negotiateProtocol(this.negotiation.theirs,this.observed),t("protocol",`observed=${n.join(",")}`)}}applyVersion(e,t){const n=this.negotiation;if(n.theirs===e)return;const r=negotiateProtocol(e,this.observed);this.negotiation=r,r.negotiated!==n.negotiated&&t("protocol","ours=4",`theirs=${e}`,`negotiated=${r.negotiated}`)}};function ke(e){return null!==e&&e.forceRender&&!e.completed}var Ae=class{lastIdentity=void 0;edit(e){const t=e.externallyUpdatedRelationship;if("object"!=typeof t||null===t)return null;const n=JSON.stringify([t.entitySlug,ae(t),t.updatedAt]),r=n!==this.lastIdentity;return this.lastIdentity=n,r&&function(e,t){const n=t.globalSlug??t.collectionSlug;if("string"!=typeof n||e.entitySlug!==n)return!0;const r=ae(e),i=ae(t.data??{});return void 0!==r&&void 0!==i&&r!==i}(t,e)?t:null}};function Te(e){try{return!0===e.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}}var Ce=class{#e;reveal(e,t,n){return e===this.#e?"skipped-same":(this.#e=e,function(e,t){return function(e,t){const n=e.getBoundingClientRect(),r=n.bottom>0&&n.top<t.innerHeight,i=n.right>0&&n.left<t.innerWidth;return r&&i}(e,t)?"already-visible":(e.scrollIntoView({behavior:Te(t)?"auto":"smooth",block:"center"}),"revealed")}(t,n))}reset(){this.#e=void 0}},$e=class{seen=/* @__PURE__ */new Map;note(e,t,n){const r=Y(n);if(void 0===r)return;const i=`${t.owner??""}\0${t.locale??""}\0${t.fieldName}`,o=this.seen.get(i);void 0!==o?o!==r&&(e.revealIdentities.push([i,r]),e.revealTarget??=t):this.seen.set(i,r)}commit(e){for(const[t,n]of e.revealIdentities)this.seen.set(t,n);e.revealIdentities=[];const t=e.revealTarget;return e.revealTarget=void 0,t}},Re=class{started=!1;suspended=!1;deferredStart=null;hydration="idle";activeUpdate=null;locale=void 0;schema=void 0;schemaIndex=void 0;updateCount=0;supersededCount=0;completedCount=0;skippedUnchangedCount=0;lastFlush=null;absentFields=/* @__PURE__ */new Set;warnedOrphanFields=/* @__PURE__ */new Set;warnedStrategy=/* @__PURE__ */new WeakSet;warnedUnattributableMessage=!1;warnedVisibilityGate=!1;warnedFragmentFallback=!1;warnedEscalationUnavailable=!1;warnedProtocolShape=!1;reportedUnfaithful=/* @__PURE__ */new WeakSet;checkedServerFormat=/* @__PURE__ */new WeakSet;unfaithfulPatches=[];unfaithfulCount=0;escalatedCount=0;unfaithfulFields=/* @__PURE__ */new Set;autoBindSearchMs=void 0;autoBindGuesses=null;warnedForeignSource=!1;lastAppliedIdentity=/* @__PURE__ */new WeakMap;revealLedger=new $e;fragmentStats={rendered:0,failed:0,superseded:0};routeStats={refreshes:0,failed:0,refused:0,loopStopped:0};fragmentController=null;routeController=null;routeRetry=null;routeRefreshOwed=!1;readyTimers=[];revealer=new Ce;changes=new ee;merges=new ge;protocol=new Se;relationships=new Ae;isRunning(){return this.started}isCurrent(e){return this.started&&this.activeUpdate===e}complete(e){e.completed||(e.completed=!0,this.completedCount+=1)}abortStrategies(){null!==this.routeRetry&&(clearTimeout(this.routeRetry),this.routeRetry=null,this.routeRefreshOwed=!0);for(const e of["fragmentController","routeController"]){const t=this[e];null!==t&&(this[e]=null,t.abort())}}},Pe=class{constructor(e,t){this.deps=e,this.state=t,this.instanceContext=R({renderRichText:e.renderRichText,sanitizerPolicy:e.sanitizerPolicy,reportUnfaithful:(n,r)=>{V(e,t,n,r)}})}deps;state;instanceContext;apply(e){const{deps:t,state:n}=this,r=n.activeUpdate;if(null===r||void 0===e.revision||!m(r.revision,e.revision)||!n.isCurrent(r))return!1;const{target:i,value:o}=e,s=void 0!==r.schemaIndex?F(r.schemaIndex,i.fieldName):void 0;let a,l=function(e,t){if(e.explicitFieldType)return e.fieldType;if(void 0!==t){const e=function(e){if(Object.prototype.hasOwnProperty.call(I,e))return I[e]}(t);if(void 0!==e)return e}return e.fieldType}(i,s?.type);"text"===l&&!0!==i.explicitFieldType&&function(e){if("object"!=typeof e||null===e||!("root"in e))return!1;const t=e.root;return"object"==typeof t&&null!==t&&Array.isArray(t.children)}(o)&&(l="richText");try{a=t.resolveRenderer(l,i)}catch(e){return this.fail(r,e)}if(!n.isCurrent(r))return!1;const u=t.emitter.listenerCount("elementUpdate")>0,d=u?"INPUT"===(c=i.element).tagName||"TEXTAREA"===c.tagName?c.value:"IMG"===c.tagName?c.src:c.textContent:void 0;var c;if(!n.isCurrent(r))return!1;const h={allFields:e.allFields,locale:i.locale??r.locale,schema:s,...this.instanceContext};!0===i.hidesWhenEmpty&&i.element.toggleAttribute("hidden",function(e){return null==e||("string"==typeof e?0===e.trim().length:Array.isArray(e)&&0===e.length)}(o));try{if(void 0!==i.targetAttribute){if("blocked"===function(e,t,n){const r=t.toLowerCase().trim();if(0===r.length)return"blocked";if(!W(r))return"blocked";if(null==n)return e.removeAttribute(r),"applied";if("string"!=typeof n&&"number"!=typeof n&&"boolean"!=typeof n)return"blocked";const i=String(n);return H.has(r)&&!isSafeUrl(i)?"blocked":(e.setAttribute(r,i),"applied")}(i.element,i.targetAttribute,o))return t.warn(`[live-preview] LP0401: refused to write "${i.fieldName}" into attribute "${i.targetAttribute}"`),!1}else{if(void 0===a)return t.log("no renderer for",l),V(t,n,i,`has no renderer for "${l}"`),!1;{const e=function(e,t,n,r){if("ignore"===e.onUnfaithfulPatch)return;if(void 0!==n.format||!K.has(r))return;if(t.checkedServerFormat.has(n.element))return;t.checkedServerFormat.add(n.element);const i=J(n.element);return i.trim().length>0?i:void 0}(t,n,i,l),r=function(e,t,n,r){return e.render(t,n,r)}(a,i,o,h);if(!1===r&&function(e){return X.has(e.render)}(a))return V(t,n,i,`is a value ${a.name} cannot render`),!1;void 0!==e&&function(e,t,n){const r=J(t.element);r!==n&&e.warn(`[live-preview] LP0412: "${t.fieldName}" showed ${Q(n)}, the patch wrote ${Q(r)} — either an edit that arrived before the preview connected, or a template that formats this value differently. Set data-payload-format to match it.`)}(t,i,e)}}}catch(e){return this.fail(r,e)}if(!n.isCurrent(r))return!1;u&&t.emitter.emitWhile("elementUpdate",{element:i.element,fieldName:i.fieldName,previousValue:d,nextValue:o,revision:r.revision.revision,receivedAt:r.receivedAt,source:"patch"},()=>n.isCurrent(r));const f=n.isCurrent(r);return f&&(void 0!==e.valueIdentity?n.lastAppliedIdentity.set(i.element,e.valueIdentity):n.lastAppliedIdentity.delete(i.element)),f}fail(e,t){if(!this.state.isCurrent(e))return!1;const n=t instanceof Error?t:new Error(String(t));return this.deps.emitter.emitWhile("error",{error:n,context:"renderer",code:"LP0603"},()=>this.state.isCurrent(e)),!1}};function Ne(...e){const t=/* @__PURE__ */new Map;for(const n of e)for(const[e,r]of Object.entries(n)){let n=t.get(e);void 0===n&&(n=/* @__PURE__ */new Set,t.set(e,n));for(const e of r)n.add(e)}const n={};for(const[e,r]of t)n[e]=[...r];return n}function Le(e,t){const n={};for(const r of t)r!==e&&(n[r]=[e]);return n}var Fe="payload-live-preview:update",xe="data-payload-island",Ue=`astro-island, [${xe}]`;function Ee(e){return"patch"===e.getAttribute(xe)}function Me(e){return function(e){return"astro-island"===e.tagName.toLowerCase()||e.hasAttribute(xe)}(e)&&!Ee(e)}function isInsideIsland(e){let t=e;for(;null!==t;){if(Me(t))return!0;t=t.parentElement}return!1}var Ie="data-payload-field",Oe="data-payload-type",_e="data-payload-attribute",ze="data-payload-href",De="data-payload-src",Be="data-payload-alt",je="data-payload-array-template",He="data-payload-array-separator",We="data-payload-locale",qe="data-payload-richtext",Ve="data-payload-html",Ge="data-payload-array",Ke="data-payload-structural",Je="data-payload-owner",Qe="data-payload-depends",Xe="data-payload-strategy",Ze="data-payload-boundary",Ye="data-payload-guessed",et=[Ie,Oe,_e,ze,De,Be,je,He,We,qe,Ve,Ge,Ke,Je,Qe,Xe,Ze,"type"],tt=`[${Ie}]`,nt=`[${Je}]`;function rt(e){const t=e.closest(nt)?.getAttribute(Je);return null==t||0===t.length?void 0:t}var it=/^[a-z][a-z0-9-]*:[a-z][a-z0-9-]*$/i,ot=/* @__PURE__ */new Set(["text","textarea","richText","email","number","checkbox","date","select","radio","array","blocks","group","tabs","row","collapsible","relationship","upload","point","json","code","ui","html","url","image","structural-array"]);function st(e){return ot.has(e)||it.test(e)}var at=class{entriesByField=/* @__PURE__ */new Map;entryByElement=/* @__PURE__ */new WeakMap;filter;count=0;dependencies=null;islandRoots=[];constructor(e={}){this.filter=e.filter??ut}dependencyMap(){if(null!==this.dependencies)return this.dependencies;const e=[];for(const t of this.values())void 0!==t.dependsOn&&e.push(Le(t.fieldName,t.dependsOn));return this.dependencies=Ne(...e),this.dependencies}get islands(){return this.islandRoots}buildFromRoot(e){const t=performance.now();this.clear();let n=0;for(const t of e.querySelectorAll(tt))void 0!==this.add(t)&&(n+=1);return this.islandRoots=function(e){const t=[];for(const n of e.querySelectorAll(Ue))Ee(n)||t.push(n);return t}(e),{elementCount:n,fieldCount:this.entriesByField.size,durationMs:performance.now()-t}}add(e){const t=this.filter(e)?this.resolveBinding(e):void 0,n=this.entryByElement.get(e);if(this.dependencies=null,void 0!==t)return void 0!==n&&this.replaceEntry(n,t)?(this.entryByElement.set(e,t),t):(void 0!==n&&this.removeEntry(e,n),this.append(t),this.entryByElement.set(e,t),t);void 0!==n&&this.removeEntry(e,n)}remove(e){const t=this.entryByElement.get(e);return!!t&&(this.dependencies=null,this.removeEntry(e,t))}get(e){return this.entriesByField.get(e)}getByElement(e){return this.entryByElement.get(e)}get fieldCount(){return this.entriesByField.size}get elementCount(){return this.count}entries(){return this.entriesByField.entries()}*values(){for(const e of this.entriesByField.values())yield*e}has(e){return this.entryByElement.has(e)}clear(){this.entriesByField.clear(),this.entryByElement=/* @__PURE__ */new WeakMap,this.count=0,this.dependencies=null,this.islandRoots=[]}replaceEntry(e,t){if(e.fieldName!==t.fieldName)return!1;const n=this.entriesByField.get(e.fieldName),r=void 0===n?-1:n.indexOf(e);return!(void 0===n||r<0||(n[r]=t,0))}removeEntry(e,t){this.entryByElement.delete(e);const n=this.entriesByField.get(t.fieldName),r=void 0===n?-1:n.indexOf(t);return!(void 0===n||r<0||(n.splice(r,1),0===n.length&&this.entriesByField.delete(t.fieldName),this.count-=1,0))}append(e){const t=this.entriesByField.get(e.fieldName);t?t.push(e):this.entriesByField.set(e.fieldName,[e]),this.count+=1}resolveBinding(e){const t=e.getAttribute(Ie);if(null===t||0===t.length)return;const n=e.getAttribute(Oe),r=e.getAttribute(_e),i=e.getAttribute(ze),o=e.getAttribute(De),s=e.getAttribute(Be),a=e.getAttribute(je),l=e.getAttribute(He),u=e.getAttribute(We),d=e.getAttribute("data-payload-format"),c=rt(e),h=function(e){if(null==e)return[];const t=/* @__PURE__ */new Set,n=[];for(const r of e.split(/[\s,]+/)){const e=r.trim();0===e.length||t.has(e)||(t.add(e),n.push(e))}return n}(e.getAttribute(Qe)),f=e.getAttribute(Xe),p=e.getAttribute(Ye),m=ne(e);return{element:e,fieldName:t,fieldType:lt(e),explicitFieldType:null!==n&&st(n),strategyKind:re(e)??"unknown",...null!==m?{fragmentBoundary:m}:{},...null!==r&&r.length>0?{targetAttribute:r}:{},...null!==i&&i.length>0?{hrefField:i}:{},...null!==o&&o.length>0?{srcField:o}:{},...null!==s&&s.length>0?{altField:s}:{},...null!==a?{arrayTemplate:a}:{},...null!==l?{arraySeparator:l}:{},...null!==u&&u.length>0?{locale:u}:{},...null!==d&&d.length>0?{format:d}:{},...void 0!==c?{owner:c}:{},...h.length>0?{dependsOn:h}:{},...null!==f&&f.length>0?{strategy:f}:{},...e.hasAttribute(Ze)?{hidesWhenEmpty:!0}:{},...null!==p?{guessed:p}:{}}}};function lt(e){const t=e.getAttribute(Oe);if(null!==t&&st(t))return t;if(e.hasAttribute(qe))return"richText";if(e.hasAttribute(Ve))return"html";if(e.hasAttribute(Ke))return"structural-array";if(e.hasAttribute(Ge))return"array";if("IMG"===e.tagName)return"image";if("A"===e.tagName)return"url";if("TIME"===e.tagName)return"date";if("INPUT"===e.tagName){const t=e.type;if("checkbox"===t)return"checkbox";if("number"===t)return"number";if("date"===t||"datetime-local"===t)return"date"}return"text"}function ut(){return!0}function dt(e,t){return e.length>0&&e.length<=t&&"."!==e&&".."!==e&&!e.includes("/")&&!e.includes("\\")&&!function(e){for(const t of e){const e=t.codePointAt(0)??0;if(e<=31||127===e)return!0}return!1}(e)}function ct(e){return dt(e,128)&&!e.includes("?")&&!e.includes("#")}var ht=class{serverURL;apiRoute;depth;fetchFn;log;inflight=null;attempt=0;destroyDepth=0;constructor(e){this.serverURL=function(e){let t=e.length;for(;e.endsWith("/",t);)t-=1;return e.slice(0,t)}(e.serverURL);const t=e.apiRoute??"/api";this.apiRoute=t.startsWith("/")?t:`/${t}`,this.depth=e.depth??1,this.fetchFn=e.fetchFn,this.log=v(e.log??y)}canMerge(e){return null!==this.endpointOf(e)}endpointOf(e){try{const n=e.globalSlug;if(n)return ct(n)?`globals/${encodeURIComponent(n)}`:null;const r=e.collectionSlug??"",i=e.data.id;return ct(r)&&("number"==typeof(t=i)?Number.isFinite(t):"string"==typeof t&&dt(t,512))?`${encodeURIComponent(r)}/${encodeURIComponent(String(i))}`:null}catch{return null}var t}async merge(e){if(this.destroyDepth>0)return{status:"superseded"};const t=this.attempt+=1,n=this.inflight;this.inflight=null;let r=null;const i=()=>this.attempt!==t;try{if(n?.abort(),i())return{status:"superseded"};const t=this.endpointOf(e);if(null===t)return i()?{status:"superseded"}:{status:"unavailable"};const o=this.fetchFn??("function"==typeof fetch?fetch:void 0);if(void 0===o)return{status:"unavailable"};r=new AbortController,this.inflight=r;const s=`${this.serverURL}${this.apiRoute}/${t}`,a=await o(s,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","X-Payload-HTTP-Method-Override":"GET"},body:JSON.stringify({data:e.data,depth:this.depth,flattenLocales:!1,locale:e.locale}),signal:r.signal});if(i())return{status:"superseded"};if(!a.ok)return this.log("merge HTTP",a.status,s),{status:"unavailable"};const l=await a.json();return i()?{status:"superseded"}:null===l||"object"!=typeof l||Array.isArray(l)?(this.log("merge invalid",s),{status:"unavailable"}):{status:"merged",doc:l}}catch(e){return i()?{status:"superseded"}:(this.log("merge exception",e),{status:"unavailable"})}finally{this.inflight===r&&(this.inflight=null)}}destroy(){this.attempt+=1;const e=this.inflight;this.inflight=null,this.destroyDepth+=1;try{e?.abort()}finally{this.destroyDepth-=1}}},ft={name:"payload-2",fieldTyping:"schema",populatesRelationships:"admin",documentEvents:!1},pt={name:"payload-3",fieldTyping:"heuristic",populatesRelationships:"server",documentEvents:!0},mt={name:"unknown",fieldTyping:"heuristic",populatesRelationships:"server",documentEvents:!1};function detectProtocolProfile(e){return e.has("schema-json")?ft:e.has("document-events")||e.has("relationship-events")?pt:mt}var gt=class{callbacks;debounceMs;rootMargin;visible=/* @__PURE__ */new Set;mutation=null;intersection=null;debounceTimer=null;generation=0;constructor(e,t={}){this.callbacks=e,this.debounceMs=t.mutationDebounceMs??100,this.rootMargin=t.intersectionRootMargin??"200px"}start(e){const t=this.generation;this.stop();const n=t+1;if(this.generation!==n)return;let r=null,i=null;try{r=new MutationObserver(e=>{this.handleMutations(e,n)}),i=new IntersectionObserver(e=>{this.handleIntersection(e,n)},{rootMargin:this.rootMargin,threshold:0}),r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...et]})}catch(e){throw r?.disconnect(),i?.disconnect(),e}if(this.generation!==n)return r.disconnect(),void i.disconnect();this.mutation=r,this.intersection=i}observeElement(e){this.intersection?.observe(e)}unobserveElement(e){this.intersection?.unobserve(e),this.visible.delete(e)}markVisible(e,t){t?this.visible.add(e):this.visible.delete(e)}isVisible(e){return this.visible.has(e)}stop(){this.generation+=1;const e=this.debounceTimer,t=this.mutation,n=this.intersection;this.debounceTimer=null,this.mutation=null,this.intersection=null,this.visible.clear(),null!==e&&clearTimeout(e);try{t?.disconnect()}finally{n?.disconnect()}}handleMutations(e,t){if(!this.isCurrentGeneration(t)||!function(e){for(const t of e){if("attributes"===t.type&&null!==t.attributeName&&et.includes(t.attributeName)&&(t.attributeName===Ie||t.attributeName===Je||1===t.target.nodeType&&t.target.hasAttribute(Ie)))return!0;for(const e of t.addedNodes)if(vt(e))return!0;for(const e of t.removedNodes)if(vt(e))return!0}return!1}(e))return;null!==this.debounceTimer&&clearTimeout(this.debounceTimer);const n=setTimeout(()=>{this.isCurrentGeneration(t)&&this.debounceTimer===n&&(this.debounceTimer=null,this.callbacks.onStructuralChange())},this.debounceMs);this.debounceTimer=n}handleIntersection(e,t){for(const n of e){if(!this.isCurrentGeneration(t))return;const{target:e}=n;if(n.isIntersecting){if(this.visible.has(e))continue;this.visible.add(e),this.callbacks.onVisibilityChange(e,!0)}else this.visible.has(e)&&(this.visible.delete(e),this.callbacks.onVisibilityChange(e,!1))}}isCurrentGeneration(e){return this.generation===e&&null!==this.intersection}};function vt(e){if(1!==e.nodeType)return!1;const t=e;return t.hasAttribute(Ie)||null!==t.querySelector(`[${Ie}]`)}var yt="[data-payload-field]";function bt(){if("undefined"==typeof window)return;const e=window;return e.__livePreviewHydration??={armed:!1,committed:!1,commits:[],onCommit:void 0,waiters:[]}}function wt(){const e=bt();if(void 0===e||e.armed)return;e.armed=!0;const t=window,n=t.__REACT_DEVTOOLS_GLOBAL_HOOK__??=function(){const e=/* @__PURE__ */new Map;return{supportsFiber:!0,renderers:e,inject:t=>{const n=e.size+1;return e.set(n,t),n}}}(),r=n.onCommitFiberRoot;n.onCommitFiberRoot=function(t,n,...i){try{r?.call(this,t,n,...i)}catch{}const o=n?.containerInfo;void 0===e.onCommit?e.commits.push(o):e.onCommit(o)}}function St(e){e.committed=!0;const t=e.waiters;e.waiters=[];for(const e of t)e()}function kt(e,t){const n=e.waiters.indexOf(t);n>=0&&e.waiters.splice(n,1)}function At(e,t,n){if(e.committed)return null;let r=null;const i=()=>{null!==r&&clearTimeout(r),r=null,t("committed")};return e.waiters.push(i),r=setTimeout(()=>{r=null,kt(e,i),t("timed-out")},n),()=>{null!==r&&clearTimeout(r),r=null,kt(e,i)}}var Tt="__vue_app__";function Ct(){if("undefined"==typeof window)return;const e=window;return e.__livePreviewVueHydration??={armed:!1,committed:!1,waiters:[]}}function $t(e){return Object.prototype.hasOwnProperty.call(e,Tt)?e[Tt]:void 0}function Rt(){const e=Ct();if(void 0===e||e.armed)return;e.armed=!0;const t=Element.prototype;void 0===Object.getOwnPropertyDescriptor(t,Tt)&&Object.defineProperty(t,Tt,{configurable:!0,get:()=>{},set(e){Object.defineProperty(this,Tt,{value:e,writable:!0,configurable:!0,enumerable:!0});const t=Ct();void 0===t||t.committed||null===this.querySelector(yt)||function(e,t){const n=t?.$nuxt;!0!==n?.isHydrating||"function"!=typeof n.hook?St(e):n.hook("app:suspense:resolve",()=>{e.committed||St(e)})}(t,e)}})}function Pt(e){if(void 0===e.hydration)return void e.startNow();const t=t=>{e.later(()=>{Nt(e,t)})},n="react"===e.hydration?function(e,t=5e3){wt();const n=bt();if(void 0===n)return null;if(void 0===n.onCommit){const e=e=>{!n.committed&&function(e){const t=e;return 9===t?.nodeType||null!=t?.querySelector?.(yt)}(e)&&St(n)};n.onCommit=e;for(const t of n.commits.splice(0))e(t)}return At(n,e,t)}(t):function(e,t,n=5e3){Rt();const r=Ct();return void 0===r?null:(!r.committed&&function(e){for(let t=e.querySelector(yt);null!==t;t=t.parentElement)if(void 0!==$t(t))return!0;return!1}(e)&&St(r),At(r,t,n))}(e.root,t);null!==n?(e.defer(n),e.hydrated("waiting")):Nt(e,"committed")}function Nt(e,t){e.hydrated(t),"timed-out"===t&&e.warn(`[live-preview] LP0607: no ${"react"===e.hydration?"React commit":"Vue mount"} in ${String(5e3)} ms; started without waiting for hydration.`),e.startNow()}var Lt=class{timeoutMs;onTimeout;handle=null;lastKick=0;constructor(e){this.timeoutMs=e.timeoutMs??0,this.onTimeout=e.onTimeout}kick(){if(this.lastKick=Date.now(),this.timeoutMs<=0)return;null!==this.handle&&clearTimeout(this.handle);const e=setTimeout(()=>{this.handle===e&&(this.handle=null,this.onTimeout())},this.timeoutMs);this.handle=e}stop(){null!==this.handle&&(clearTimeout(this.handle),this.handle=null)}get lastKickAt(){return this.lastKick}get pending(){return null!==this.handle}},Ft=class{current="disconnected";get status(){return this.current}markConnected(){return this.transition("connected")}markDisconnected(){return this.transition("disconnected")}transition(e){return this.current!==e&&(this.current=e,!0)}},xt=/* @__PURE__ */new Set(["true","false","yes","no","on","off"]),Ut=/^[\d\s.,:+/-]+$/u,Et=/^[a-z][a-z0-9_-]*$/u,Mt=/^[a-z]{2,3}(?:[-_][A-Za-z0-9]{2,8})*$/u,It=/* @__PURE__ */new Set(["SCRIPT","STYLE","TEMPLATE","TITLE","NOSCRIPT","TEXTAREA","SELECT","OPTION","INPUT","IFRAME"]);function Ot(e,t=13){if("string"!=typeof e)return!1;const n=e.trim();return!(n.length<t||Ut.test(n)||xt.has(n.toLowerCase())||Et.test(n)||Mt.test(n))}function _t(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function zt(e,t,n=13){const r=/* @__PURE__ */new Map,i=(e,t,n)=>{r.set(e,r.has(e)?null:{field:t,media:n})};for(const[r,o]of Object.entries(e)){if(le.has(r))continue;const e=ce(r,t);if(Ot(o,n))i(o.trim(),e,!1);else if(_t(o))if("string"==typeof o.url)i(o.url,e,!0);else if(!("id"in o)&&!("_id"in o))for(const[t,r]of Object.entries(o))!le.has(t)&&Ot(r,n)&&i(r.trim(),`${e}.${t}`,!1)}return r}function Dt(e){if("http://www.w3.org/1999/xhtml"!==e.namespaceURI||It.has(e.tagName))return!0;if(e.hasAttribute(Ie)||e.hasAttribute("data-payload-no-bind")||e.hasAttribute("data-payload-owned")||Me(e))return!0;const t=e.getAttribute("contenteditable");return null!==t&&"false"!==t}function Bt(e){let t;for(let n=e.firstChild;null!==n;n=n.nextSibling){if(1===n.nodeType)return;if(3!==n.nodeType)continue;const e=n.data.trim();if(0!==e.length){if(void 0!==t)return;t=e}}return t}function jt(e){return W(e)&&!e.startsWith("data-payload-")&&"value"!==e}function Ht(e,t,n){let r=e.byElement.get(t);void 0===r&&(r={attributes:/* @__PURE__ */new Map},e.byElement.set(t,r));let i=e.byField.get(n.field);return void 0===i&&(i=/* @__PURE__ */new Set,e.byField.set(n.field,i)),i.add(t),r}function Wt(e,t){for(let n=e.firstElementChild;null!==n;n=n.nextElementSibling){if(Dt(n))continue;const e=Bt(n),r=void 0===e?void 0:t.values.get(e);null==r||r.media||(Ht(t,n,r).text=r.field);for(const e of n.getAttributeNames()){if(!jt(e))continue;const r=t.values.get(n.getAttribute(e)??"");null!=r&&(!r.media||"IMG"===n.tagName&&"src"===e)&&Ht(t,n,r).attributes.set(e,r)}Wt(n,t)}}function qt(e,t,n){const r=e.tagName;if(void 0!==t){const i={[Ie]:t};if("A"===r){const e=n.get("href");void 0===e?i[Oe]="text":e!==t&&(i[ze]=e)}return{element:e,fieldName:t,matched:Bt(e)??"",stamps:i}}if("IMG"===r){const t=n.get("src");if(void 0!==t){const r=n.get("alt");return{element:e,fieldName:t,matched:e.getAttribute("src")??"",attribute:"src",stamps:{[Ie]:t,...void 0!==r&&r!==t?{[Be]:r}:{}}}}}const i=n.entries().next();if(i.done)return;const[o,s]=i.value;return{element:e,fieldName:s,matched:e.getAttribute(o)??"",attribute:o,stamps:{[Ie]:s,[_e]:o}}}function Vt(e,t){const n={values:t,byElement:/* @__PURE__ */new Map,byField:/* @__PURE__ */new Map};t.size>0&&!Dt(e)&&Wt(e,n);const r=e=>1===n.byField.get(e)?.size,i=[];for(const[e,t]of n.byElement){const n=void 0!==t.text&&r(t.text)?t.text:void 0,o=/* @__PURE__ */new Map;for(const[e,n]of t.attributes)r(n.field)&&o.set(e,n.field);const s=qt(e,n,o);void 0!==s&&i.push(s)}return i}function Gt(e){return 9===e.nodeType?e.body:e}function Kt(e,t,n,r){const i=[];for(const o of t){const{element:t}=o;if(!t.hasAttribute(Ie)&&(!1===n||se(rt(t),n))){for(const[e,n]of Object.entries(o.stamps))t.setAttribute(e,n);if(t.setAttribute(Ye,o.matched),void 0!==e.cache.add(t))e.observers.observeElement(t),e.log("autoBind",o.fieldName,"→",`<${t.tagName.toLowerCase()}>`,o.attribute??"text",JSON.stringify(o.matched),r),i.push(o);else{for(const e of Object.keys(o.stamps))t.removeAttribute(e);t.removeAttribute(Ye)}}}return i}var Jt=/* @__PURE__ */new Set(["__proto__","prototype","constructor"]);function Qt(e,t,n,r=!1){if(r&&void 0!==n){const r=Xt(e,`${t}_${n}`);if(void 0!==r)return r}const i=Xt(e,t);if(void 0!==i)return i;if(t.includes(".")){let n=e,r=!0;for(const e of t.split(".")){if(Jt.has(e)||null===n||"object"!=typeof n){r=!1;break}if(n=Xt(n,e),void 0===n){r=!1;break}}if(r)return n}return void 0===n?void 0:Xt(e,`${t}_${n}`)}function Xt(e,t){if(!Jt.has(t)&&Object.prototype.hasOwnProperty.call(e,t))return e[t]}function Zt(e,t,n,r){return Qt(e,n,t.locale??r,void 0!==t.locale)}function Yt(e,t,n,r){const i=Y(t);if(void 0===i)return;const o=[e.hrefField,e.srcField,e.altField];let s=i;for(const t of o){if(void 0===t||0===t.length)continue;const i=Y(Zt(n,e,t,r));if(void 0===i)return;s+=`|${t}=${i}`}return s}function en(e,t,n,r,i){const{warned:o,warn:s}=e;if(o.has(n)||t(n))return;o.add(n);const a=`data-payload-field="${ce(n,r)}"`;s(""!==i?`[live-preview] LP0203: field "${n}" has a value and no <… ${a}> on this page; editing it changes nothing here. Expected where the page shows part of the document: inspect().fidelity.fields lists these, onUnfaithfulPatch decides whether a server render is asked for.`:`[live-preview] LP0201: no <… ${a}> for the empty field "${n}"; render the anchor unconditionally so edits to an empty field have somewhere to land.`)}function tn(e){const t=typeof e;return"string"===t||"number"===t||"boolean"===t||"bigint"===t}function nn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var rn=/* @__PURE__ */Symbol.for("payload-live-preview.trusted-types");function on(e){const t=function(){const e=function(){const e=globalThis,t=e[rn];if(void 0!==t)return t;const n={};return e[rn]=n,n}();if(void 0!==e.override)return e.override;if(void 0!==e.auto)return e.auto;const t=function(){const e=globalThis.trustedTypes;if("object"==typeof e&&null!==e)return"function"==typeof e.createPolicy?e:void 0}();try{e.auto=void 0===t?null:t.createPolicy("payload-live-preview",{createHTML:e=>e})}catch{e.auto=null}return e.auto}();return null===t?e:t.createHTML(e)}var sn=/* @__PURE__ */new Set(["open","value","checked","selected"]);function an(e,t){for(const n of t.keyAttributes){const t=e.getAttribute(n);if(null!==t&&t.length>0)return`${n}=${t}`}}function ln(e){if(e.tagName.toLowerCase().includes("-"))return!0;if(e.hasAttribute(xe)||e.hasAttribute("data-payload-owned"))return!0;const t=e.getAttribute("contenteditable");return null!==t&&"false"!==t}function un(e,t,n){if(!function(e,t){return e.tagName===t.tagName&&e.namespaceURI===t.namespaceURI&&!ln(e)&&!ln(t)}(e,t))return t;const r=fn(e);return function(e,t){for(const n of Array.from(e.attributes))t.hasAttribute(n.name)||sn.has(n.name.toLowerCase())||e.removeAttribute(n.name);for(const n of Array.from(t.attributes))e.getAttribute(n.name)!==n.value&&e.setAttribute(n.name,n.value)}(e,t),!0!==n.retainChildrenOf?.(e,t)&&function(e,t,n){const r=function(e,t){const n=/* @__PURE__ */new Map;let r;for(const i of Array.from(e.children)){const e=an(i,t);void 0!==e&&(n.has(e)?r??=e.slice(e.indexOf("=")+1):n.set(e,i))}return void 0!==r&&t.onDuplicateKey?.(e,r),n}(e,n),i=new Set(r.values()),o=Array.from(e.childNodes).filter(e=>!i.has(e)),s=/* @__PURE__ */new Set,a=/* @__PURE__ */new Set,l=Array.from(t.childNodes);let u=e.firstChild,d=0;for(let t=0;t<l.length;t+=1){const i=l[t];let c=null,h=i instanceof Element?an(i,n):void 0;if(void 0!==h&&a.has(h)&&(h=void 0),void 0!==h){a.add(h);const e=r.get(h);if(void 0!==e&&!s.has(e)&&(c=dn(e,i,n)===e?e:null,null===c)){e.replaceWith(i),s.add(i),u=i.nextSibling;continue}}else{for(;d<o.length;){const r=o[d];if(d+=1,!s.has(r)){if(hn(r,i)){c=dn(r,i,n)===r?r:null,null===c&&(e.replaceChild(i,r),s.add(i),u=i.nextSibling);break}if(r instanceof Element){const n=l[t+1];if(!(i instanceof Element)||void 0!==n&&hn(r,n)){d-=1;break}e.replaceChild(i,r),s.add(i),u=i.nextSibling;break}if(!(i instanceof Element)){e.replaceChild(i,r),s.add(i),u=i.nextSibling;break}}}if(null===c&&s.has(i))continue}const f=c??i;for(s.add(f);null!==u&&u!==f&&!s.has(u)&&cn(u);)u=u.nextSibling;f!==u&&e.insertBefore(f,u),u=f.nextSibling}for(const t of Array.from(e.childNodes))s.has(t)||t.remove()}(e,t,n),pn(r),e}function dn(e,t,n){return e instanceof Element&&t instanceof Element?ln(e)&&ln(t)?e:un(e,t,n):(e.nodeValue!==t.nodeValue&&(e.nodeValue=t.nodeValue),e)}function cn(e){return e.nodeType===Node.TEXT_NODE&&0===(e.nodeValue??"").trim().length}function hn(e,t){return e.nodeType===t.nodeType&&(!(e instanceof Element&&t instanceof Element)||e.tagName===t.tagName&&e.namespaceURI===t.namespaceURI)}function fn(e){const t=e.ownerDocument.activeElement;return t instanceof HTMLElement&&e.contains(t)?{element:t,selection:t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement?[t.selectionStart,t.selectionEnd]:null}:null}function pn(e){if(null===e)return;const{element:t,selection:n}=e;if(t.ownerDocument.activeElement!==t&&t.isConnected)try{t.focus({preventScroll:!0});const[e,r]=n??[null,null];null!==e&&null!==r&&t.setSelectionRange(e,r)}catch{}}var mn=/* @__PURE__ */new Set;function gn(e){mn.has(e)||(mn.add(e),function(e){try{console.warn(e)}catch{}}(`[live-preview] LP0409: the strict sanitizer removed \`${e}\` from written markup; the 1.x default (\`sanitizerPolicy: 'compat'\`) kept it. ${function(e){return e.startsWith("data-payload-")?"A binding inside CMS content is refused by design — an editor could otherwise aim a write at any element on the page (docs/security.md)":"id"===e||"name"===e?"CMS content that can name an element can shadow a global of that name — DOM clobbering, refused by design (docs/security.md)":"List it in `allowedDataAttributes` if the page needs it, or set `sanitizerPolicy: 'compat'` to keep every `data-*` as 1.x did"}(e)}.`))}var vn=/* @__PURE__ */new Set(["p","br","strong","b","em","i","u","s","strike","mark","small","h1","h2","h3","h4","h5","h6","ul","ol","li","dl","dt","dd","blockquote","code","pre","kbd","samp","var","a","span","div","section","article","aside","header","footer","nav","figure","figcaption","img","picture","source","audio","video","sub","sup","hr","time","abbr","cite","q","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col"]),yn=/* @__PURE__ */new Set(["input","button","textarea","select","option","label"]),bn=/* @__PURE__ */new Set(["script","style","iframe","object","embed","link","meta","base","form","input","button","select","textarea","svg","math","template","frame","frameset","noframes","noscript"]),wn=/* @__PURE__ */new Set(["id","class","lang","dir","title","role","tabindex"]),Sn="aria-",kn="data-",An={a:/* @__PURE__ */new Set(["href","target","rel","download","hreflang","type"]),img:/* @__PURE__ */new Set(["src","srcset","sizes","alt","width","height","loading","decoding"]),picture:/* @__PURE__ */new Set([]),source:/* @__PURE__ */new Set(["src","srcset","sizes","type","media"]),audio:/* @__PURE__ */new Set(["src","controls","autoplay","loop","muted","preload"]),video:/* @__PURE__ */new Set(["src","poster","controls","autoplay","loop","muted","preload","width","height","playsinline"]),time:/* @__PURE__ */new Set(["datetime"]),abbr:/* @__PURE__ */new Set(["title"]),q:/* @__PURE__ */new Set(["cite"]),blockquote:/* @__PURE__ */new Set(["cite"]),table:/* @__PURE__ */new Set(["summary"]),th:/* @__PURE__ */new Set(["colspan","rowspan","scope","headers","abbr"]),td:/* @__PURE__ */new Set(["colspan","rowspan","headers"]),col:/* @__PURE__ */new Set(["span"]),colgroup:/* @__PURE__ */new Set(["span"]),ol:/* @__PURE__ */new Set(["start","reversed","type"]),li:/* @__PURE__ */new Set(["value"]),code:/* @__PURE__ */new Set(["class"]),pre:/* @__PURE__ */new Set(["class"])},Tn=/* @__PURE__ */new Set(["href","src","cite","poster"]),Cn=class extends Error{name="SanitizerEnvironmentError"},$n=/* @__PURE__ */new Set(["id","name","data-payload-key","data-payload-nested-key","data-payload-nested-template"]),Rn=/* @__PURE__ */Symbol.for("payload-live-preview.sanitizer-document");function setSanitizerDocument(e){globalThis[Rn]=e??void 0}function sanitizeHtml(e,t){return Pn(e,void 0,t)}function Pn(e,t,n){const r=Nn();if(!r)throw"undefined"!=typeof __INLINE_BUILD__&&__INLINE_BUILD__?new Error("sanitizeHtml needs a DOM"):new Cn("sanitizeHtml needs a DOM; provide one with setSanitizerDocument() during SSR.");if(""===e)return"";const i=function(e,t){const n=e?.policy??t??"strict";if(!e){const e=/* @__PURE__ */new Map;for(const[t,n]of Object.entries(An))e.set(t,n);return{allowedTags:vn,attrByTag:e,allowFormControls:!1,templateMode:!1,mode:n,allowedData:/* @__PURE__ */new Set}}const r=new Set(vn);if(e.additionalAllowedTags?.forEach(e=>r.add(e)),!0===e.allowFormControls)for(const e of yn)r.add(e);const i=/* @__PURE__ */new Map;for(const[e,t]of Object.entries(An))i.set(e,t);for(const[t,n]of Object.entries(e.additionalAllowedAttributes??{})){const e=new Set(i.get(t));for(const t of n)e.add(t);i.set(t,e)}return{allowedTags:r,attrByTag:i,allowFormControls:!0===e.allowFormControls,templateMode:!0===e.templateMode,mode:n,allowedData:new Set(e.allowedDataAttributes?.map(e=>e.toLowerCase()))}}(n,t),o=r.createElement("template");return o.innerHTML=on(e),Ln(o.content,i),o.innerHTML}function Nn(){if("undefined"==typeof __INLINE_BUILD__||!__INLINE_BUILD__){const e=globalThis[Rn];if(e)return e}if("undefined"!=typeof document)return document}function Ln(e,t){for(const n of Array.from(e.childNodes))1===n.nodeType?Fn(n,t):8===n.nodeType&&n.remove()}function Fn(e,t){const n=e.tagName.toLowerCase();if(!bn.has(n)||t.allowFormControls&&yn.has(n)){if(!t.allowedTags.has(n))return Ln(e,t),void e.replaceWith(...e.childNodes);!function(e,t,n){const r=n.attrByTag.get(t);for(const t of Array.from(e.attributes)){const i=t.name.toLowerCase();if(i.startsWith("on")||"style"===i)e.removeAttribute(t.name);else if("is"!==i){if("strict"===n.mode){if(n.templateMode&&$n.has(i))continue;if("id"===i||"name"===i||i.startsWith("data-payload-")){e.removeAttribute(t.name),"name"===i&&!0!==r?.has(i)||gn(i);continue}if(i.startsWith(kn)){n.allowedData.has(i)||(e.removeAttribute(t.name),gn(i));continue}if(wn.has(i)||i.startsWith(Sn))continue}else if(wn.has(i)||i.startsWith(Sn)||i.startsWith(kn))continue;r?.has(i)?Tn.has(i)&&!isSafeUrl(t.value)?e.removeAttribute(t.name):"srcset"!==i||xn(t.value)||e.removeAttribute(t.name):e.removeAttribute(t.name)}else e.setAttribute("is","")}}(e,n,t),"a"===n&&function(e){const t=e.getAttribute("href");null!==t&&isExternalHttpUrl(t)&&(e.setAttribute("rel","noopener noreferrer"),e.hasAttribute("target")||e.setAttribute("target","_blank"))}(e),Ln(e,t)}else e.remove()}function xn(e){for(const t of e.split(",")){const e=t.trim();if(0===e.length)continue;const[n=e]=e.split(/\s/,1);if(!isSafeUrl(n))return!1}return!0}var Un=Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="}),En=/[&<>"'/`=]/g;function escapeHtml(e){return e.replace(En,e=>Un[e])}var Mn=Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'"}),In=/[&<>"']/g;function escapeHtmlAttribute(e){return e.replace(In,e=>Mn[e])}var On=/\{\{([\s\S]*?)\}\}/g;function _n(e){const t=/* @__PURE__ */new Set;for(const n of e)if("object"==typeof n&&null!==n)for(const e of Object.keys(n))t.add(e);return t}function zn(e,t,n,r,i){const o="object"==typeof t&&null!==t?t:null;return e.replace(On,(e,s)=>null!==o&&function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(o,s)?escapeHtml(r(Reflect.get(o,s))):null===o&&"value"===s?escapeHtml(r(t)):"index"===s?String(n):null!==o&&!0===i?.has(s)?"":e)}function Dn(e){const t=e.children,n=t[0];if(void 0===n)return[];const r=[];for(const{name:e,value:i}of Array.from(n.attributes)){if(!W(e)||e.startsWith("data-payload-"))continue;let n=!0;for(let r=1;r<t.length&&n;r+=1)n=t[r]?.getAttribute(e)===i;n&&r.push([e,i])}return r}function Bn(e,t){for(const[n,r]of t)e.hasAttribute(n)||e.setAttribute(n,r)}function jn(e){if(null==e)return"";if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e||"bigint"==typeof e)return String(e);try{return JSON.stringify(e)}catch{return""}}function Hn(e){return null==e||""===e}function Wn(e,t){const n=e.get(t);return void 0!==n&&(e.delete(t),e.set(t,n)),n}function qn(e,t,n,r){return e.set(t,n),function(e,t){for(const n of e.keys()){if(e.size<=t)break;e.delete(n)}}(e,r),n}var Vn=["input","textarea","select","option","button","label","details","summary","dialog","video","audio","progress","meter"],Gn=["type","name","placeholder","open","disabled","readonly","required","checked","selected","value","min","max","step","rows","cols","for","controls","muted","loop","poster","src"],Kn=/<([a-z][a-z0-9]*(?:-[a-z0-9]+)+)\b/gi,Jn=/* @__PURE__ */new Map;function Qn(e){const t=Wn(Jn,e);if(void 0!==t)return t;const n=new Set(Vn);for(const t of e.matchAll(Kn)){const e=t[1]?.toLowerCase();void 0!==e&&n.add(e)}const r={};for(const e of n)r[e]=Gn;const i={additionalAllowedTags:[...n],additionalAllowedAttributes:r,allowFormControls:!0,templateMode:!0};return qn(Jn,e,i,64)}var Xn="data-payload-key",Zn="data-payload-nested-key",Yn="data-payload-nested-template";function er(e){const t=nr(e.container,e.patches,e);return null===t?null:rr(t,e.store,{morph:e.morph??!0,onDuplicateKey:e.onDuplicateKey})}function tr(e,t){return t.hasAttribute(Zn)&&t.hasAttribute(Yn)}function nr(e,t,n){const r=function(e,t,n){const{template:r,nextItems:i,forceRender:o=!1,store:s,sanitizerPolicy:a}=n,l=s.get(e),u=Dn(e),d=_n(i),c=Array.from(e.children),h=dr(c,Xn),f=/* @__PURE__ */new Set,p=[];for(let s=0;s<i.length;s+=1){const m=i[s],g=ur(m);let v=void 0===g?c[s]??null:cr(h,g)??null;null!==v&&f.has(v)&&(v=null),null!==v&&f.add(v);const y=t.replaces.has(s),b=o||t.renders.has(s)||null===v?hr(e.ownerDocument,r,m,s,a,u,d):void 0;if(null===b)return null;const w=void 0===b?[]:ir(y?null:v,b,m,void 0===g?void 0:l?.get(g),n);if(null===w)return null;p.push([s,v,b,w,y])}return p}(e,function(e){const t=/* @__PURE__ */new Set,n=/* @__PURE__ */new Set;for(const r of e)"insert"===r.kind||"update"===r.kind?t.add(r.index):"replace"===r.kind&&(t.add(r.index),n.add(r.index));return{renders:t,replaces:n}}(t),n);return null===r?null:[e,r,n.nextItems]}function rr(e,t,n){const[r,i,o]=e,s=/* @__PURE__ */new Set;let a=!1;const l=fn(r);for(const[e,o,l,u,d]of i){let i=o;if(void 0!==l){const e=!(!n.morph||d||null===o)&&un(o,l,{keyAttributes:[Xn,Zn],retainChildrenOf:tr,...void 0!==n.onDuplicateKey?{onDuplicateKey:n.onDuplicateKey}:{}})===o;if(!e)for(const[e,t]of u)null!==e&&(sr(e,t),t.replaceWith(e));for(const[,,e]of u)void 0!==e&&rr(e,t,n);e?a=!0:(null!==o&&(o.replaceWith(l),a=!0),i=l)}if(null===i)continue;const c=r.children[e]??null;i!==c&&(r.insertBefore(i,c),a=!0),s.add(i)}for(const e of Array.from(r.children))s.has(e)||(e.remove(),a=!0);pn(l);const u=function(e,t){let n=t.get(e);return n||(n=/* @__PURE__ */new Map,t.set(e,n)),n}(r,t);u.clear();for(const e of o)lr(u,e);return a}function ir(e,t,n,r,i){const o=dr(null===e?[]:or(e),Zn),s=[];for(const e of or(t)){const t=e.getAttribute(Zn);if(null===t)continue;const a=cr(o,t)??null,l=e.getAttribute(Yn),u=l?a:null,d=u?.getAttribute(Yn)??null;let c;if(l){const o=ar(n,t);if(void 0!==o||null!==u){const n=o??[],s=E(null===u?[]:ar(r,t)??[],n),a=null!==u&&d!==l;if((s.length>0||a)&&(c=nr(u??e,s,{template:l,nextItems:n,forceRender:a,store:i.store,sanitizerPolicy:i.sanitizerPolicy})??void 0,void 0===c))return null}}s.push([u,e,c])}return s}function or(e){return Array.from(e.querySelectorAll(`[${Zn}]`)).filter(t=>{let n=t.parentElement;for(;null!==n&&n!==e;){if(n.hasAttribute(Zn))return!1;n=n.parentElement}return n===e})}function sr(e,t){for(const n of Array.from(e.attributes))t.hasAttribute(n.name)||e.removeAttribute(n.name);for(const n of Array.from(t.attributes))e.getAttribute(n.name)!==n.value&&e.setAttribute(n.name,n.value)}function ar(e,t){if("object"!=typeof e||null===e)return;const n=e[t];return Array.isArray(n)?n:void 0}function lr(e,t){const n=ur(t);void 0!==n&&e.set(n,t)}function ur(e){if("object"!=typeof e||null===e)return;const t=e.id;return"string"==typeof t||"number"==typeof t?String(t):void 0}function dr(e,t){const n=/* @__PURE__ */new Map;for(let r=e.length-1;r>=0;r-=1){const i=e[r];if(void 0===i)continue;const o=i.getAttribute(t);if(null===o)continue;const s=n.get(o);void 0===s?n.set(o,[i]):s.push(i)}return n}function cr(e,t){return e.get(t)?.pop()}function hr(e,t,n,r,i,o,s){const a=Pn(zn(t,n,r,jn,s),i,Qn(t)),l=e.createElement("template");l.innerHTML=on(a);const u=l.content.firstElementChild;if(!u)return null;Bn(u,o);const d=ur(n);return void 0!==d&&u.setAttribute(Xn,d),u}function fr(e,t,n){t.warnedFragmentFallback||(t.warnedFragmentFallback=!0,e.warn(`[live-preview] LP0806: "${n.fieldName}" asks for the fragment strategy but no handler is configured; patching instead`))}function pr(e,t,n){t.warnedStrategy.has(n.element)||(t.warnedStrategy.add(n.element),e.warn(`[live-preview] LP0407: "${n.fieldName}" asks for strategy "${String(n.strategy)}"; only patch, fragment and route exist`))}var mr=class{constructor(e,t,n){this.deps=e,this.state=t,this.host=n}deps;state;host;planFragments(e){const t=this.deps.strategies.fragment;return void 0===t?null:gr(t,t.plan(this.deps.root,e))}escalateUnfaithful(e,t,n){if(e.routeRefreshed)return;const{fragment:r,route:i}=this.deps.strategies,o=void 0===r?void 0:function(e){const t=[];for(const n of e){const e=n.fragmentBoundary;if(void 0===e)return;t.includes(e)||t.push(e)}return t}(n);if(void 0!==r&&void 0!==o)return this.state.escalatedCount+=n.length,e.pendingFragments+=o.length,void this.runFragments(e,t,gr(r,o));void 0!==i?(this.state.escalatedCount+=n.length,this.refreshRoute(e,t,i)):this.warnEscalationUnavailable(n.length)}warnEscalationUnavailable(e){const{deps:t,state:n}=this;n.warnedEscalationUnavailable||(n.warnedEscalationUnavailable=!0,t.warn(`[live-preview] LP0808: onUnfaithfulPatch: 'escalate' has nowhere to go: ${String(e)} field(s) fell short and no route or fragment strategy is configured. Set routeStrategy: true or fragments: { endpoint }, or onUnfaithfulPatch: 'warn' to keep the patch and say so.`))}hasUnboundChange(e,t){const{deps:n,state:r}=this;if(e.baseline||e.routeRefreshed)return!1;const i=fe(n.cache,e.touched,e.locale,t);let o=0;for(const e of i)G(r,e)&&(o+=1);const[s]=i;return void 0!==s&&"escalate"===n.onUnfaithfulPatch&&(void 0===n.strategies.route?(this.warnEscalationUnavailable(i.length),!1):(n.log("route","LP0807",`field "${s}" has no binding; refreshing the route`),r.escalatedCount+=o,!0))}hasRouteBinding(e){for(const[t,n]of this.deps.cache.entries())if(e.has(t)&&n.some(e=>"route"===e.strategyKind))return!0;return!1}async runFragments(e,t,n){const{deps:r,state:i}=this,o=new AbortController;i.fragmentController=o;const s=()=>i.isCurrent(e)&&!o.signal.aborted,{emitter:a}=r,{message:l}=e,u=e.revision.revision,d=e.receivedAt,c={root:r.root,revision:u,receivedAt:d,fields:t.fields,locale:e.locale,collectionSlug:"string"==typeof l.collectionSlug?l.collectionSlug:void 0,globalSlug:"string"==typeof l.globalSlug?l.globalSlug:void 0,signal:o.signal,isCurrent:s,log:(e,t)=>{r.log("fragment",e,t)},morph:(e,t)=>{!function(e,t){const n=e.ownerDocument.createElement("template");n.innerHTML=on(t);const r=e.cloneNode(!1);r.append(n.content),un(e,r,{keyAttributes:[Xn]})}(e,t)},patch:n=>{this.patchFallback(e,t,n)},rendered:(t,n,r)=>{e.pendingFragments-=1,a.emitWhile("fragmentRender",{element:t,id:n,key:r,status:"rendered",revision:u,receivedAt:d},s)},failed:(t,n,i,o,l)=>{e.pendingFragments-=1;const c=`fragment "${n}" fell back to patch: ${l}`;r.log("fragment",o,c),a.emitWhile("error",{error:new Error(c),context:"fragment",code:o},s),a.emitWhile("fragmentRender",{element:t,id:n,key:i,status:"failed",code:o,revision:u,receivedAt:d},s)}};let h={rendered:0,failed:0,superseded:0};try{h=await n.strategy.render(c,n.boundaries)}catch(i){if(r.log("fragment","LP0801",i),s()){for(const r of n.boundaries)this.patchFallback(e,t,r);h={rendered:0,failed:n.boundaries.length,superseded:0}}}i.fragmentStats.rendered+=h.rendered,i.fragmentStats.failed+=h.failed,i.fragmentStats.superseded+=h.superseded,s()&&(i.fragmentController===o&&(i.fragmentController=null),e.pendingFragments=0,h.rendered>0&&this.host.restoreGuesses(e,t),0===r.scheduler.pendingCount&&i.complete(e),this.host.revealPending(e),s()&&0!==h.rendered&&0!==a.listenerCount("afterUpdate")&&a.emitWhile("afterUpdate",{data:t,updatedCount:h.rendered,durationMs:Date.now()-d,revision:u,receivedAt:d,source:"fragment"},s))}async refreshRoute(e,t,n){const{deps:r,state:i}=this;if(e.routeRefreshed)return i.routeStats.loopStopped+=1,void r.log("route","LP0805",`revision ${String(e.revision.revision)} asked for a second refresh`);e.routeRefreshed=!0,await this.runRoute(e,t,n)}armRouteRetry(e,t,n,r){const{state:i}=this;null!==i.routeRetry&&clearTimeout(i.routeRetry),i.routeRetry=setTimeout(()=>{i.routeRetry=null,i.isCurrent(e)&&this.runRoute(e,t,n)},r)}async runRoute(e,t,n){const{deps:r,state:i}=this,o=i.routeStats,s=new AbortController;i.routeController=s;const a=()=>i.isCurrent(e)&&!s.signal.aborted;let l;try{l=await n.refresh({revision:e.revision.revision,receivedAt:e.receivedAt,signal:s.signal,isCurrent:a,log:(e,t)=>{r.log("route",e,t)},retryAfter:r=>{this.armRouteRetry(e,t,n,r)}})}catch(e){r.log("route","LP0801",e),l="failed"}if(a()){if(i.routeController===s&&(i.routeController=null),"refreshed"===l){if(o.refreshes+=1,i.lastAppliedIdentity=/* @__PURE__ */new WeakMap,this.host.restoreGuesses(e,t),this.host.rebuildCache(),!a())return;return this.host.reapply(e,t),void(r.emitter.listenerCount("afterUpdate")>0&&r.emitter.emitWhile("afterUpdate",{data:t,updatedCount:r.cache.elementCount,durationMs:Date.now()-e.receivedAt,revision:e.revision.revision,receivedAt:e.receivedAt,source:"route"},a))}"failed"===l?o.failed+=1:"refused"===l&&(o.refused+=1),this.host.reapply(e,t)}}warnFragmentFallback(e){fr(this.deps,this.state,e)}warnUnsupportedStrategy(e){pr(this.deps,this.state,e)}patchFallback(e,t,n){for(const[r,i]of this.deps.cache.entries())for(const o of i){if(o.fragmentBoundary!==n)continue;const i=Zt(t.fields,o,r,e.locale);void 0!==i&&this.deps.scheduler.schedule({target:o,value:this.host.transform(o,i,t.fields,()=>!0),allFields:t.fields,revision:e.revision,data:t})}}};function gr(e,t){const n=new Set(t);return{boundaries:t,strategy:e,covers:e=>void 0!==e.fragmentBoundary&&n.has(e.fragmentBoundary)}}function vr(e,t,n,r,i){const o=e.transformValue;if(void 0===o)return n;try{const e=o(t.fieldName,n,{element:t.element,allFields:r},i),s=p(e);if(!i())return n;if(s)throw new TypeError(`Transform for "${t.fieldName}" returned a thenable; transforms must be synchronous`);return e}catch(t){if(!i())return n;const r=t instanceof Error?t:new Error(String(t));return e.emitter.emit("error",{error:r,context:"transform",code:"LP0602"}),n}}var yr=/* @__PURE__ */new Set,br=class{constructor(e,t,n){this.deps=e,this.state=t,this.strategies="undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__?function(e,t){return{planFragments:()=>null,escalateUnfaithful:()=>{},hasUnboundChange:(n,r)=>{if(n.baseline)return!1;const i=fe(e.cache,n.touched,n.locale,r);for(const e of i)G(t,e);return!1},hasRouteBinding:()=>!1,runFragments:()=>Promise.resolve(),refreshRoute:()=>(T("route refreshes"),Promise.resolve()),warnFragmentFallback:n=>{T("server-rendered fragments"),fr(e,t,n)},warnUnsupportedStrategy:n=>{pr(e,t,n)}}}(e,t):new mr(e,t,{reapply:(e,t)=>{this.scheduleAllFields(e,t)},transform:(t,n,r,i)=>vr(e,t,n,r,i),rebuildCache:n,restoreGuesses:(e,t)=>{this.restoreGuesses(e,t)},revealPending:e=>{this.revealPending(e)}})}deps;state;strategies;handleUpdate(e,t,n){const{deps:r,state:i}=this;if(r.heartbeat.kick(),i.protocol.observe(function(e){const t=[];return Array.isArray(e.fieldSchemaJSON)&&t.push("schema-json"),"string"==typeof e.locale&&t.push("locale"),"string"==typeof e.previewToken&&t.push("preview-token"),"object"==typeof e.externallyUpdatedRelationship&&null!==e.externallyUpdatedRelationship&&t.push("relationship-events"),t}(e),r.log),void 0===e.data)return void(void 0!==e.protocolVersion&&i.protocol.applyVersion(e.protocolVersion,r.log));if(void 0===n)return;const o=i.relationships.edit(e);null!==o&&r.emitter.emit("relationshipUpdate",{detail:o,timestamp:Date.now()}),"string"==typeof e.locale&&(i.locale=e.locale),Array.isArray(e.fieldSchemaJSON)&&(i.schema=e.fieldSchemaJSON,i.schemaIndex=N(e.fieldSchemaJSON));const s={revision:n,message:e,locale:i.locale,schema:i.schema,schemaIndex:i.schemaIndex,receivedAt:Date.now(),forceRender:null!==o||ke(i.activeUpdate),touched:/* @__PURE__ */new Set,baseline:!1,invalidated:/* @__PURE__ */new Set,revealTarget:void 0,revealIdentities:[],pendingFragments:0,routeRefreshed:!1,cancelled:!1,completed:!1},a=i.activeUpdate;if(i.abortStrategies(),null===a||a.completed||(i.supersededCount+=1),i.activeUpdate=s,r.scheduler.acceptRevision(n),i.updateCount+=1,void 0===e.protocolVersion||(i.protocol.applyVersion(e.protocolVersion,r.log),i.isCurrent(s))){if(r.connection.markConnected()){if(r.a11y?.announceConnected(),r.emitter.emit("connect",{origin:t,timestamp:Date.now()}),!i.isCurrent(s))return;if(r.log("connection","disconnected","→","connected"),!i.isCurrent(s))return}this.processUpdate(s).catch(e=>{r.log("update failed:",e)})}}async processUpdate(e){const{deps:t,state:n}=this,r=await this.resolveIncomingFields(e);if(null===r||!n.isCurrent(e))return;const i=this.dataFor(e,r);t.emitter.listenerCount("beforeUpdate")>0&&(!await t.emitter.emitWhile("beforeUpdate",{data:i,revision:e.revision.revision,receivedAt:e.receivedAt,source:"patch",cancel:()=>{e.cancelled=!0,t.scheduler.cancelRevision(e.revision)}},()=>!e.cancelled&&n.isCurrent(e))||e.cancelled||!n.isCurrent(e))||this.applyFields(e,i,!1)}dataFor(e,t){const{message:n}=e;return{fields:t,...void 0!==e.schema?{schema:e.schema}:{},..."string"==typeof n.globalSlug?{globalSlug:n.globalSlug}:{},..."string"==typeof n.collectionSlug?{collectionSlug:n.collectionSlug}:{},...void 0!==e.locale?{locale:e.locale}:{}}}applyFields(e,t,n){const{deps:r,state:i}=this,o=Ne(r.dependencies,r.cache.dependencyMap()),s=i.changes.diff(t.fields,o);if(s.baseline&&!n&&"off"!==r.autoBind)if("undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__)T("auto-binding");else{const n=this.ownerKeysForUpdate(e,t.fields);!function(e,t,n,r,i){const o=performance.now(),s=Gt(e.root),a=zt(n,r),l=null===s?[]:Kt(e,Vt(s,a),i,"on the first message");t.autoBindGuesses=function(e,t){const n=/* @__PURE__ */new Set;for(const{fieldName:e,stamps:r}of t){n.add(e);for(const e of[ze,Be]){const t=r[e];void 0!==t&&n.add(t)}}const r=/* @__PURE__ */new Map;for(const[t,i]of e)null!==i&&n.has(i.field)&&r.set(t,i);return{fields:n,values:r}}(a,l),t.autoBindSearchMs=performance.now()-o,l.length}(r,i,t.fields,e.locale,n)}e.baseline=s.baseline,e.invalidated=n?yr:s.invalidated,e.touched=n?yr:/* @__PURE__ */new Set([...s.changed,...s.invalidated]),this.scheduleAllFields(e,t)}async resolveIncomingFields(e){const{deps:t,state:n}=this,r=e.message.data??{};if(null===t.merger)return r;if("admin"===detectProtocolProfile(n.protocol.observed).populatesRelationships)return r;const i=n.merges.decide(t,e);if(!i.merge)return i.fields;const{message:o}=e,s=n.merges.request(t.merger,t.mergeWindowMs,{collectionSlug:o.collectionSlug,globalSlug:o.globalSlug,data:r,locale:e.locale});if(!s.leading)return this.applyMerged(e,s.result).catch(e=>{t.log("update failed:",e)}),i.fields;const a=await s.result;return n.isCurrent(e)?"merged"===a.status?(n.merges.recordMerged(a.doc),a.doc):"superseded"===a.status?null:i.fields:null}async applyMerged(e,t){const{state:n}=this,r=await t;"merged"===r.status&&n.isCurrent(e)&&(n.merges.recordMerged(r.doc),this.applyFields(e,this.dataFor(e,r.doc),!0))}scheduleAllFields(e,t){const{deps:n,state:r}=this;if(!r.isCurrent(e))return;const i=()=>r.isCurrent(e),o=this.ownerKeysForUpdate(e,t.fields),{touched:s}=e,a=n.strategies.route,l=this.strategies.hasUnboundChange(e,o),u=r.routeRefreshOwed;if(void 0!==a&&!e.routeRefreshed&&(l||u||a.plan(n.root,s)||this.strategies.hasRouteBinding(s)))return r.routeRefreshOwed=!1,void this.strategies.refreshRoute(e,t,a);const d=this.strategies.planFragments(s),c=n.skipUnchanged;let h=0;for(const[s,a]of n.cache.entries()){if(!i())return;for(const l of a){if(!1!==o&&!se(l.owner,o))continue;if(!0===d?.covers(l)){if(n.revealEditedField){const n=Zt(t.fields,l,s,e.locale);r.revealLedger.note(e,l,n)}continue}const a=l.strategyKind??re(l.element)??"unknown";if("unknown"===a){this.strategies.warnUnsupportedStrategy(l);continue}"fragment"===a&&null===d&&this.strategies.warnFragmentFallback(l);const u=Zt(t.fields,l,s,e.locale);if(void 0===u){r.absentFields.add(s);continue}if(n.revealEditedField&&r.revealLedger.note(e,l,u),!i())return;const f=vr(n,l,u,t.fields,i);if(!i())return;const p=c?Yt(l,f,t.fields,e.locale):void 0,m=r.lastAppliedIdentity.get(l.element);if(!e.forceRender&&n.skipUnchanged&&void 0!==p&&m===p&&!e.invalidated.has(s)){r.skippedUnchangedCount+=1;continue}const g={target:l,value:f,allFields:t.fields,revision:e.revision,data:t,valueIdentity:p};n.scheduler.schedule(g),h+=1}}(function(e,t,n,r){const{cache:i}=e;if(0===i.fieldCount)return;if(!1!==r&&!function(e,t){for(const n of e.values())if(se(n.owner,t))return!0;return!1}(i,r))return;const o=he(i,n,r);for(const[r,i]of Object.entries(t)){if(le.has(r))continue;if(tn(i)){en(e,o,r,n,i);continue}if(!nn(i)||o(r))continue;const t=ce(r,n);for(const[r,s]of Object.entries(i))tn(s)&&!le.has(r)&&en(e,o,`${t}.${r}`,n,s)}})({cache:n.cache,warned:r.warnedOrphanFields,warn:n.warn},t.fields,e.locale,o),null!==d&&d.boundaries.length>0&&(e.pendingFragments=d.boundaries.length,this.strategies.runFragments(e,t,d)),0===h&&0===e.pendingFragments&&(r.complete(e),this.revealPending(e),this.notifyIslands(e,t))}notifyIslands(e,t){0!==e.touched.size&&function(e,t){for(const n of e)n.dispatchEvent(new CustomEvent(Fe,{detail:t,bubbles:!1}));e.length}(this.deps.cache.islands,{fields:t.fields,revision:e.revision.revision,receivedAt:e.receivedAt,locale:e.locale})}restoreGuesses(e,t){const{deps:n,state:r}=this;if("off"!==n.autoBind&&null!==r.autoBindGuesses&&("undefined"==typeof __LEAN_BUILD__||!__LEAN_BUILD__)){const i=this.ownerKeysForUpdate(e,t.fields);!function(e,t,n,r,i){const o=t.autoBindGuesses,s=Gt(e.root);if(null===o||0===o.fields.size||null===s)return 0;const a=new Map(o.values);for(const[e,t]of zt(n,r)){if(null===t||!o.fields.has(t.field))continue;const n=a.get(e);void 0===n?a.set(e,t):n?.field!==t.field&&a.set(e,null)}Kt(e,Vt(s,a),i,"after a server render").length}(n,r,t.fields,e.locale,i)}}ownerKeysForUpdate(e,t){const{deps:n,state:r}=this;if(!n.scopeBindingsByOwner)return!1;const{message:i}=e,o=function(e){if(oe(e.globalSlug))return[(t=e.globalSlug,`global:${t}`)];var t;if(!oe(e.collectionSlug))return null;const n=ie(e.collectionSlug);return oe(e.documentId)?[n,ie(e.collectionSlug,e.documentId)]:[n]}({globalSlug:"string"==typeof i.globalSlug?i.globalSlug:void 0,collectionSlug:"string"==typeof i.collectionSlug?i.collectionSlug:void 0,documentId:ae(t)});return null!==o||r.warnedUnattributableMessage||(r.warnedUnattributableMessage=!0,n.warn("[live-preview] LP0202: scopeBindingsByOwner: update names no document; nothing applied")),o}onFlush(e){const{deps:t,state:n}=this;n.lastFlush=e,e.deferred>0&&!n.warnedVisibilityGate&&(n.warnedVisibilityGate=!0,t.warn(`[live-preview] LP0301: visibility gate held ${String(e.deferred)} off-screen update(s) until scrolled into view; see visibilityGateThreshold`));const{revision:r,data:i}=e;if(void 0===r)return;const o=n.activeUpdate;if(null===o||!n.isCurrent(o)||!m(o.revision,r))return;0===o.pendingFragments&&n.complete(o);const s=()=>n.isCurrent(o)&&m(o.revision,r);if(this.revealPending(o),!s())return;const a=n.unfaithfulPatches;a.length>0&&(n.unfaithfulPatches=[],void 0!==i&&this.strategies.escalateUnfaithful(o,i,a),!s())||void 0!==i&&(e.applied>0&&t.a11y?.announceUpdate(e.applied),s()&&(this.notifyIslands(o,i),s()&&0!==e.applied&&0!==t.emitter.listenerCount("afterUpdate")&&t.emitter.emitWhile("afterUpdate",{data:i,updatedCount:e.applied,durationMs:e.durationMs,revision:r.revision,receivedAt:o.receivedAt,source:"patch"},s)))}revealPending(e){const t=this.state.revealLedger.commit(e);if(void 0!==t)try{this.revealBinding(t)}catch(e){this.deps.log("reveal",e)}}revealField(e){const t=this.deps.cache.get(e)?.[0];return void 0===t?"no-element":this.revealBinding(t)}revealBinding(e){const{element:t}=e,n=t.ownerDocument.defaultView;if(null===n)return"no-element";const r=`${e.owner??""} ${e.fieldName}`;return this.state.revealer.reveal(r,t,n)}},wr=class{apply;debounceMs;maxWaitMs;isVisible;gateThresholdValue;gateDisabled;getCacheSize;onFlush;scheduleFrame;cancelFrame;pending=/* @__PURE__ */new Map;replay=/* @__PURE__ */new Map;activeFlushes=/* @__PURE__ */new Set;debounceTimer=null;debounceToken=0;deadlineTimer=null;frameHandle=null;frameToken=0;windowUntil=0;activeRevision=null;activeRevisionCancelled=!1;constructor(e,t){this.apply=e,this.debounceMs=t.debounceMs??50,this.maxWaitMs=t.maxWaitMs??4*this.debounceMs,this.isVisible=t.isVisible,this.gateThresholdValue=t.visibilityGateThreshold??50,this.gateDisabled=t.disableVisibilityGate??!1,this.getCacheSize=t.getCacheSize,this.onFlush=t.onFlush,this.scheduleFrame=t.scheduleFrame??("function"==typeof requestAnimationFrame?requestAnimationFrame.bind(globalThis):e=>setTimeout(()=>{e(performance.now())},0)),this.cancelFrame=t.cancelFrame??("function"==typeof cancelAnimationFrame?cancelAnimationFrame.bind(globalThis):e=>{clearTimeout(e)})}schedule(e){if(void 0!==e.revision){if(this.activeRevisionCancelled)return;if(null===this.activeRevision||!m(e.revision,this.activeRevision))return}const t=this.pending.get(e.target.element);t?(t.value=e.value,t.allFields=e.allFields,t.revision=e.revision,t.data=e.data,t.valueIdentity=e.valueIdentity):this.pending.set(e.target.element,{target:e.target,value:e.value,allFields:e.allFields,revision:e.revision,data:e.data,valueIdentity:e.valueIdentity}),this.armDebounce()}acceptRevision(e){var t,n;null!==this.activeRevision&&m(e,this.activeRevision)||null!==this.activeRevision&&(t=e,n=this.activeRevision,(t.generation!==n.generation?t.generation-n.generation:t.revision-n.revision)<0)||(this.cancelScheduledWork(),this.clearWork(),this.activeRevision=e,this.activeRevisionCancelled=!1)}cancelRevision(e){null!==this.activeRevision&&m(e,this.activeRevision)&&(this.cancelScheduledWork(),this.clearWork(),this.activeRevisionCancelled=!0)}flushNow(){return this.cancelScheduledWork(),this.flush()}notifyVisible(e){const t=this.replay.get(e);if(!t)return;if(this.replay.delete(e),!this.isCurrent(t))return;const n=performance.now(),r=this.didApply(t)?1:0;this.onFlush?.(this.statsFor(t,r,0,performance.now()-n,1===r?[t.target.fieldName]:[]))}retarget(e){this.retargetBuffer(this.pending,e),this.retargetBuffer(this.replay,e);for(const t of this.activeFlushes)this.retargetBuffer(t,e)}forget(e){this.pending.delete(e),this.replay.delete(e);for(const t of this.activeFlushes)t.delete(e)}destroy(){this.cancelScheduledWork(),this.clearWork(),this.activeRevision=null,this.activeRevisionCancelled=!1,this.windowUntil=0}get pendingCount(){return this.pending.size}get replayCount(){return this.replay.size}get gateThreshold(){return this.gateThresholdValue}get gateActive(){return!this.gateDisabled&&this.getCacheSize()>this.gateThresholdValue}armDebounce(){const e=Date.now(),t=e>=this.windowUntil;if(this.windowUntil=e+this.debounceMs,t)return void this.requestFrame();const n=this.debounceToken+=1,r=this.debounceTimer;if(this.debounceTimer=null,null!==r&&clearTimeout(r),this.debounceToken!==n)return;const i=setTimeout(()=>{this.debounceToken===n&&(this.debounceTimer=null,this.pending.size>0&&this.requestFrame())},this.debounceMs);this.debounceToken===n&&(this.debounceTimer=i),null===this.deadlineTimer&&this.maxWaitMs>this.debounceMs&&(this.deadlineTimer=setTimeout(()=>{this.deadlineTimer=null,this.pending.size>0&&this.requestFrame()},this.maxWaitMs))}requestFrame(){const e=this.frameToken+=1,t=this.frameHandle;if(this.frameHandle=null,null!==t&&this.cancelFrame(t),this.frameToken!==e)return;let n=!1;const r=this.scheduleFrame(()=>{this.frameToken===e&&(n=!0,this.frameHandle=null,this.flush())});n||this.frameToken!==e||(this.frameHandle=r)}flush(){const e=performance.now();this.clearDeadline();const t=this.gateActive,n=this.pending;this.pending=/* @__PURE__ */new Map;let r=0;const i=[];let o,s=0;this.activeFlushes.add(n);try{for(const e of n.values()){if(!this.isCurrent(e))continue;const n=!t||this.isVisible(e.target.element);this.isCurrent(e)&&(o??=e,n?(this.replay.delete(e.target.element),this.didApply(e)&&(r+=1,i.push(e.target.fieldName))):(this.replay.set(e.target.element,e),s+=1))}}finally{this.activeFlushes.delete(n)}const a=this.statsFor(o,r,s,performance.now()-e,i);return this.onFlush?.(a),a}isCurrent(e){return void 0===e.revision||!this.activeRevisionCancelled&&null!==this.activeRevision&&m(e.revision,this.activeRevision)}didApply(e){return!1!==this.apply(e)||(t=this.apply,!X.has(t));var t}retargetBuffer(e,t){const n=e.get(t.element);void 0!==n&&(n.target.fieldName===t.fieldName&&n.target.locale===t.locale?n.target=t:e.delete(t.element))}clearWork(){this.pending.clear(),this.replay.clear();for(const e of this.activeFlushes)e.clear()}statsFor(e,t,n,r,i){return{applied:t,appliedFields:i,deferred:n,durationMs:r,...void 0!==e?.revision?{revision:e.revision}:{},...void 0!==e?.data?{data:e.data}:{}}}clearDeadline(){null!==this.deadlineTimer&&(clearTimeout(this.deadlineTimer),this.deadlineTimer=null)}cancelScheduledWork(){const e=this.debounceTimer,t=this.frameHandle;this.debounceToken+=1,this.frameToken+=1,this.debounceTimer=null,this.frameHandle=null,this.clearDeadline(),null!==e&&clearTimeout(e),null!==t&&this.cancelFrame(t)}},Sr=[0,500,1e3,2e3],kr=class{deps;state=new Re;pipeline;writer;rootSentinel=null;observedRoot=null;constructor(e){const{emitter:t,renderers:n}=e,r=void 0===e.log?y:v(e.log),i=void 0===e.warn?w:v(e.warn),o=e.root??("undefined"!=typeof document?document:void 0);if(void 0===o)throw new Error("LivePreviewRuntime: no document; pass options.root");const s=new at({filter:e=>!isInsideIsland(e)}),a=new gt({onStructuralChange:()=>{this.rebuildCache()},onVisibilityChange:(e,t)=>{t&&l.notifyVisible(e)}},void 0!==e.intersectionRootMargin?{intersectionRootMargin:e.intersectionRootMargin}:{}),l=new wr(Z(e=>this.writer.apply(e)),{...void 0!==e.debounceMs?{debounceMs:e.debounceMs}:{},...void 0!==e.disableVisibilityGate?{disableVisibilityGate:e.disableVisibilityGate}:{},...void 0!==e.visibilityGateThreshold?{visibilityGateThreshold:e.visibilityGateThreshold}:{},isVisible:e=>a.isVisible(e),getCacheSize:()=>s.elementCount,onFlush:e=>{this.pipeline.onFlush(e)}}),u=new g(e.originMatcher,{onUpdate:(e,t,n)=>{this.pipeline.handleUpdate(e,t,n)},onDocumentEvent:()=>{this.state.protocol.observe(["document-events"],r),t.emit("documentSave",{timestamp:Date.now()})},onFocusField:e=>{this.deps.revealEditedField&&this.pipeline.revealField(e)},onInvalid:(e,n)=>{if("token"===e){const e=new Error(`Preview token rejected (origin: ${n})`);t.emit("error",{error:e,context:"token",code:"LP0502"})}"shape"!==e&&"type"!==e||this.state.warnedProtocolShape||(this.state.warnedProtocolShape=!0,i(`[live-preview] LP0503: ${n} posted a message this runtime does not recognise (${"type"===e?"unknown message type":"unexpected shape"}); it was ignored. A newer Payload or a custom sender: check that the versions match.`)),"source"!==e||this.state.warnedForeignSource||(this.state.warnedForeignSource=!0,i(`[live-preview] LP0501: a message from ${n} was ignored because it did not come from the window that framed or opened this page. \`eventSourcePolicy\` is 'parent-or-opener' by default since 2.0, where 1.x accepted any window on a trusted origin. Set \`eventSourcePolicy: 'any'\` if the admin posts from elsewhere.`)),r("LP0501 message rejected:",e,n)},...void 0!==e.validateToken?{validateToken:e.validateToken}:{},...void 0!==e.eventSourcePolicy?{sourcePolicy:e.eventSourcePolicy}:{}}),d=e.dataMerge;this.deps={emitter:t,cache:s,observers:a,scheduler:l,bus:u,connection:new Ft,heartbeat:new Lt({...void 0!==e.heartbeatMs?{timeoutMs:e.heartbeatMs}:{},onTimeout:()=>{this.onHeartbeatTimeout()}}),renderers:n,resolveRenderer:e.resolveRenderer??(e=>n[e]),transformValue:e.transformValue,renderRichText:e.renderRichText,sanitizerPolicy:e.sanitizerPolicy,root:o,readyTargets:"function"==typeof e.readyTargets?e.readyTargets:/* @__PURE__ */(e=>()=>e)(e.readyTargets),sendReady:e.sendReady??$,onHeartbeatTimeout:e.onHeartbeatTimeout,log:r,warn:i,a11y:C(e),merger:void 0===d?null:new ht({serverURL:d.serverURL,...void 0!==d.apiRoute?{apiRoute:d.apiRoute}:{},...void 0!==d.depth?{depth:d.depth}:{},...void 0!==d.fetchFn?{fetchFn:d.fetchFn}:{},log:r}),mergeWindowMs:e.debounceMs??50,scopeBindingsByOwner:!0===e.scopeBindingsByOwner,lockedOrigin:e.lockedOrigin??(()=>{}),skipUnchanged:!0===e.skipUnchanged,dependencies:e.dependencies??{},strategies:e.strategies??{},revealEditedField:!0===e.revealEditedField,onUnfaithfulPatch:q(e),autoBind:e.autoBind??"off",hydration:e.hydration},this.writer=new Pe(this.deps,this.state),this.pipeline=new br(this.deps,this.state,()=>{this.rebuildCache()})}start(){const{state:e}=this;if(e.isRunning())return!1;e.started=!0,e.suspended=!1;try{return function(e){"react"===e.hydration?wt():"vue"===e.hydration&&Rt();const{root:t}=e;if(!function(e){return 9===e.nodeType}(t)||"loading"!==t.readyState)return void Pt(e);const n=()=>{e.isRunning()&&e.later(()=>{Pt(e)})};t.addEventListener("DOMContentLoaded",n,{once:!0}),e.defer(()=>{t.removeEventListener("DOMContentLoaded",n)})}(this.startupHost()),!0}catch(e){throw this.rollbackFailedStart(),e}}startupHost(){const{state:e,deps:t}=this;return{root:t.root,hydration:t.hydration,isRunning:()=>e.isRunning(),defer:t=>{e.deferredStart=t},later:t=>{e.deferredStart=null;try{t()}catch(e){this.rollbackFailedStart(),this.reportError(e,"startup","LP0605")}},hydrated:t=>{e.hydration=t},warn:t.warn,startNow:()=>{this.startNow()}}}startNow(){const{state:e,deps:t}=this;if(!e.isRunning())return;const n=Ar(t.root)?Tr(t.root):t.root;if(null===n)throw new Error("LivePreviewRuntime: document.body unavailable");if(t.observers.start(n),this.observedRoot=n,this.watchRootReplacement(),this.buildCacheAndObserve(),e.isRunning()&&(t.bus.attach(),t.emitter.emitWhile("init",{timestamp:Date.now()},()=>e.isRunning()),e.isRunning()))for(const n of Sr){if(!e.isRunning())return;0===n?t.sendReady(t.readyTargets()):e.readyTimers.push(setTimeout(()=>{e.isRunning()&&this.sendReadyAfterStart()},n))}}suspend(){if(!this.state.isRunning())return!1;const e=this.release();return this.state.suspended=!0,e&&this.deps.emitter.emit("disconnect",{reason:"unload",timestamp:Date.now()}),!0}destroy(){const{state:e,deps:t}=this;if(!e.isRunning()&&!e.suspended)return;const n=!!e.isRunning()&&this.release();e.suspended=!1,n&&t.emitter.emit("disconnect",{reason:"destroy",timestamp:Date.now()}),t.a11y?.detach(),t.emitter.emit("destroy",{timestamp:Date.now()})}release(){const{state:e,deps:t}=this;e.activeUpdate=null,e.started=!1;const n=e.deferredStart;e.deferredStart=null,null!==n&&this.runCleanup(n);for(const t of e.readyTimers)this.runCleanup(()=>{clearTimeout(t)});return e.readyTimers.length=0,this.runCleanup(()=>{t.heartbeat.stop()}),this.runCleanup(()=>{t.bus.detach()}),e.abortStrategies(),this.runCleanup(()=>{this.rootSentinel?.disconnect(),this.rootSentinel=null,this.observedRoot=null}),this.runCleanup(()=>{t.observers.stop()}),this.runCleanup(()=>{t.scheduler.destroy()}),this.runCleanup(()=>{t.merger?.destroy(),e.merges.destroy()}),t.cache.clear(),t.connection.markDisconnected()}rollbackFailedStart(){this.release(),this.runCleanup(()=>{this.deps.a11y?.detach()})}runCleanup(e){try{e()}catch(e){this.deps.log("cleanup failed:",e)}}refreshCache(){this.state.isRunning()&&(this.state.revealer.reset(),this.followReplacedRoot()||this.rebuildCache())}watchRootReplacement(){const{root:e}=this.deps;Ar(e)&&"undefined"!=typeof MutationObserver&&(this.rootSentinel?.disconnect(),this.rootSentinel=new MutationObserver(()=>{this.followReplacedRoot()}),this.rootSentinel.observe(e.documentElement,{childList:!0}))}followReplacedRoot(){const{root:e}=this.deps;if(!this.state.isRunning()||!Ar(e))return!1;const t=Tr(e);return null!==t&&t!==this.observedRoot&&(this.observedRoot=t,this.deps.observers.start(t),this.rebuildCache(),!0)}get status(){return this.deps.connection.status}get cache(){return this.deps.cache}get updateCount(){return this.state.updateCount}get protocol(){return this.state.protocol.negotiation}inspect(){return function(t,n){const{cache:r,scheduler:i}=t,o=n.protocol.negotiation,s=n.activeUpdate,a=n.lastFlush,l=[],u=/* @__PURE__ */new Set,d=[];for(const[e,t]of r.entries()){l.push(e);for(const n of t)void 0!==n.owner&&u.add(n.owner),void 0!==n.guessed&&d.push({field:e,matched:n.guessed,attribute:n.targetAttribute??("IMG"===n.element.tagName?"src":void 0)})}return{version:e,started:n.started,status:t.connection.status,origins:{trusted:[...t.readyTargets()],locked:t.lockedOrigin()},protocol:{ours:o.ours,theirs:o.theirs,negotiated:o.negotiated,capabilities:[...o.capabilities].sort(),observed:[...o.observed].sort(),profile:detectProtocolProfile(o.observed).name},revisions:{accepted:n.updateCount,superseded:n.supersededCount,completed:n.completedCount,skippedUnchanged:n.skippedUnchangedCount,active:null===s?void 0:s.revision.revision},bindings:{elements:r.elementCount,fields:r.fieldCount,fieldNames:l.sort(),absentFields:[...n.absentFields].sort(),orphanFields:[...n.warnedOrphanFields].sort(),ownerScoped:t.scopeBindingsByOwner,owners:[...u].sort(),guessed:d.sort((e,t)=>e.field.localeCompare(t.field)),autoBind:{mode:t.autoBind,searchMs:n.autoBindSearchMs}},route:{handler:void 0!==t.strategies.route,...n.routeStats},fidelity:{mode:t.onUnfaithfulPatch,canEscalate:void 0!==t.strategies.fragment||void 0!==t.strategies.route,unfaithful:n.unfaithfulCount,escalated:n.escalatedCount,fields:[...n.unfaithfulFields].sort()},hydration:{mode:t.hydration??"off",state:n.hydration},fragments:{handler:void 0!==t.strategies.fragment,inFlight:s?.pendingFragments??0,...n.fragmentStats},scheduler:{pending:i.pendingCount,deferred:i.replayCount,visibilityGateThreshold:i.gateThreshold,visibilityGateActive:i.gateActive,lastFlush:null===a?void 0:{applied:a.applied,appliedFields:a.appliedFields,deferred:a.deferred,durationMs:a.durationMs}},plugins:[],renderers:Object.keys(t.renderers).sort()}}(this.deps,this.state)}buildCacheAndObserve(){const{state:e,deps:t}=this;if(!e.isRunning())return;const n=t.cache.buildFromRoot(t.root);if(t.log("cache",n),e.isRunning()&&(t.emitter.emitWhile("cacheRefresh",n,()=>e.isRunning()),e.isRunning()))for(const n of t.cache.values()){if(!e.isRunning())return;t.observers.observeElement(n.element)}}rebuildCache(){const{state:e,deps:t}=this;if(!e.isRunning())return;const n=/* @__PURE__ */new Map;for(const e of t.cache.values())n.set(e.element,e),t.observers.unobserveElement(e.element);if(this.buildCacheAndObserve(),e.isRunning()){for(const e of t.cache.values()){const r=n.get(e.element);r?.fieldName===e.fieldName?t.scheduler.retarget(e):t.scheduler.forget(e.element),n.delete(e.element)}for(const e of n.values())t.scheduler.forget(e.element)}}onHeartbeatTimeout(){const{state:e,deps:t}=this;if(!e.isRunning())return;t.bus.advanceGeneration();const n=e.activeUpdate;e.activeUpdate=null,null!==n&&t.scheduler.cancelRevision(n.revision),t.merger?.destroy(),e.merges.destroy();const r=t.connection.markDisconnected();try{t.onHeartbeatTimeout?.()}catch(e){t.log("heartbeat:",e)}if(e.isRunning()){if(r&&this.isIdleDisconnected()){if(t.a11y?.announceDisconnected(),t.emitter.emitWhile("disconnect",{reason:"timeout",timestamp:Date.now()},()=>this.isIdleDisconnected()),!e.isRunning())return;if(this.isIdleDisconnected()&&t.log("connection","connected","→","disconnected"),!e.isRunning())return}this.sendReadyAfterStart()}}sendReadyAfterStart(){try{this.deps.sendReady(this.deps.readyTargets())}catch(e){this.reportError(e,"ready","LP0606")}}reportError(e,t,n){const r=e instanceof Error?e:new Error(String(e));this.deps.emitter.emit("error",{error:r,context:t,code:n})}isIdleDisconnected(){return this.state.isRunning()&&"disconnected"===this.deps.connection.status&&null===this.state.activeUpdate}};function Ar(e){return 9===e.nodeType}function Tr(e){return e.body}var EventEmitter=class{#t=/* @__PURE__ */new Map;#n=/* @__PURE__ */new Map;on(e,t){return this.#r(this.#t,e,t)}once(e,t){return this.#r(this.#n,e,t)}off(e,t){this.#i(this.#t,e,t),this.#i(this.#n,e,t)}async emit(e,t){await this.#o(e,t)}async emitWhile(e,t,n){return this.#o(e,t,n)}async#o(e,t,n){const r=()=>n?.()??!0;if(!r())return!1;const i=this.#t.get(e);if(i)for(const n of[...i]){if(!r())return!1;if(await this.#s(n,t,e),!r())return!1}if(!r())return!1;const o=this.#n.get(e);if(o&&o.size>0){const n=[...o];this.#n.delete(e);for(const i of n){if(!r())return!1;if(await this.#s(i,t,e),!r())return!1}}return r()}listenerCount(e){return(this.#t.get(e)?.size??0)+(this.#n.get(e)?.size??0)}removeAllListeners(e){if(void 0===e)return this.#t.clear(),void this.#n.clear();this.#t.delete(e),this.#n.delete(e)}eventNames(){const e=/* @__PURE__ */new Set;for(const t of this.#t.keys())e.add(t);for(const t of this.#n.keys())e.add(t);return[...e]}#r(e,t,n){let r=e.get(t);return r||(r=/* @__PURE__ */new Set,e.set(t,r)),r.add(n),()=>{this.#i(e,t,n)}}#i(e,t,n){const r=e.get(t);void 0!==r&&(r.delete(n),0===r.size&&e.delete(t))}async#s(e,t,n){try{await e(t)}catch(e){const t="string"==typeof n||"number"==typeof n?String(n):"<event>";b(`[live-preview] LP0601: handler for "${t}" threw:`,e)}}};function isInIframe(){if("undefined"==typeof window)return!1;try{return window.self!==window.top}catch{return!0}}function isInPopup(){return"undefined"!=typeof window&&null!=window.opener}function isInPreviewContext(){return isInIframe()||isInPopup()}function isDevMode(){const e=function(){if("undefined"==typeof process)return;const e=process.env.NODE_ENV;return"string"==typeof e?e:void 0}();if(void 0!==e)return"production"!==e;if("undefined"!=typeof window){const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e}return!1}var Cr=/^https?:\/\/(localhost|127\.0\.0\.1)(?::\d+)?$/i,$r=/^https?:\/\/[^/?#\s]+$/i,Rr=[3e3,3001,3333,4e3,4321,5e3,5173,5174,8e3,8080,8888,9e3],OriginDetector=class{#a;constructor(e={}){const t=/* @__PURE__ */new Set;for(const n of e.additionalOrigins??[]){const e=Pr(n);void 0!==e&&t.add(e)}let n;if(e.enableReferrerDetection??1){const t=e.referrer??("undefined"!=typeof document?document.referrer:"");if(t.length>0)try{const e=new URL(t).origin;e&&"null"!==e&&(n=e)}catch{}}const r=(e.enableLocalhostMatching??!0)&&(e.forceDevMode??isDevMode());this.#a=[t,n,r,void 0!==n,void 0]}matches(e){return 0!==e.length&&"null"!==e&&(void 0!==this.#a[4]?e===this.#a[4]:!!this.#a[0].has(e)||0===this.#a[0].size&&void 0!==this.#a[1]&&e===this.#a[1]||!(!this.#a[2]||!Cr.test(e)))}lockOrigin(e){return!!this.matches(e)&&(this.#a[4]=e,!0)}unlockOrigin(){const e=this.#a[4];return this.#a[4]=void 0,e}get lockedOrigin(){return this.#a[4]}enumerate(){if(void 0!==this.#a[4])return[this.#a[4]];const e=new Set(this.#a[0]);if(0===this.#a[0].size&&void 0!==this.#a[1]&&e.add(this.#a[1]),this.#a[2])for(const t of Rr)e.add(`http://localhost:${String(t)}`),e.add(`http://127.0.0.1:${String(t)}`);return[...e]}get referrerWasAvailable(){return this.#a[3]}get isProductionUnconfigured(){return!(!isInIframe()||this.#a[0].size>0||this.#a[2]||void 0!==this.#a[1])}get isReferrerOnlyTrust(){return!(this.#a[0].size>0||this.#a[2]||void 0===this.#a[1])}};function Pr(e){const t=e.trim();if(0!==t.length)try{const e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return;if(!$r.test(e.origin))return;return e.origin}catch{return}}var Nr=()=>{},Lr=class{#l;#u;#d=/* @__PURE__ */new Set;#a="staging";constructor(e,t){this.#l=e,this.#u=t}assertOpen(){if("closed"===this.#a)throw new Error(`Plugin context for "${this.#l}" is no longer active`)}get active(){return"active"===this.#a}eligible(){return"closed"!==this.#a}own(e){return this.assertOpen(),this.#c({kind:"cleanup",acquire:void 0,finalize:void 0,cleanup:e,disposed:!1})}stage(e,t,n){this.assertOpen();const r={kind:e,acquire:t,finalize:n,cleanup:void 0,disposed:!1},i=this.#c(r);if("active"===this.#a)try{this.#h(r)}catch(e){throw this.#f(r),e}return i}counts(){const e={transform:0,renderer:0,subscription:0,cleanup:0};for(const t of this.#d)e[t.kind]+=1;return e}commit(){if("staging"!==this.#a)throw new Error(`Plugin context for "${this.#l}" cannot be committed`);this.#a="committing";try{for(const e of this.#d)this.#h(e);this.#a="active"}catch(e){throw this.close(),e}}close(){if("closed"!==this.#a){this.#a="closed";for(const e of[...this.#d].reverse())this.#f(e);this.#d.clear()}}#c(e){return this.#d.add(e),()=>{this.#f(e)}}#h(e){if(e.disposed||void 0!==e.cleanup||void 0===e.acquire)return;const t=e.acquire();e.cleanup=t??Nr}#f(e){if(e.disposed)return;e.disposed=!0,this.#d.delete(e);const t=e.cleanup;if(e.cleanup=void 0,void 0!==t)try{p(t())&&this.#u(`plugin "${this.#l}" cleanup returned a Promise/thenable; cleanups must be synchronous`)}catch(e){this.#u(`plugin "${this.#l}" cleanup failed:`,e)}try{e.finalize?.()}catch(e){this.#u(`plugin "${this.#l}" cleanup failed:`,e)}}},Fr=class{#p;#m;#g=/* @__PURE__ */new Set;constructor(e,t){this.#p=e,this.#m=t}on(e,t){return this.#v("on",e,t)}once(e,t){return this.#v("once",e,t)}off(e,t){const n=t;for(const t of[...this.#g])t.event===e&&t.handler===n&&t.dispose()}emit(e,t){return this.#m.assertOpen(),this.#p.emit(e,t)}emitWhile(e,t,n){return this.#m.assertOpen(),this.#p.emitWhile(e,t,()=>{if(!this.#m.eligible())return!1;const e=n();return!!this.#m.eligible()&&e})}listenerCount(e){let t=0;for(const n of this.#g)n.event===e&&(t+=1);return t}removeAllListeners(e){for(const t of[...this.#g])void 0!==e&&t.event!==e||t.dispose()}eventNames(){const e=/* @__PURE__ */new Set;for(const t of this.#g)e.add(t.event);return[...e]}#v(e,t,n){this.#m.assertOpen();const r=n,i=[...this.#g].find(n=>n.kind===e&&n.event===t&&n.handler===r);if(void 0!==i)return i.dispose;let o=Nr,s=!0;const a=async t=>{this.#m.active&&s&&("once"===e&&o(),await n(t))},l={kind:e,event:t,handler:r,dispose:Nr};return o=this.#m.stage("subscription",()=>this.#p[e](t,a),()=>{s=!1,this.#g.delete(l)}),l.dispose=o,this.#g.add(l),o}},xr=class{#p;#y;#b;#w;#u;#S=/* @__PURE__ */new Map;#k=/* @__PURE__ */new Map;#A=/* @__PURE__ */new Map;#T=/* @__PURE__ */new Set;#C=/* @__PURE__ */new Map;#$=Promise.resolve();#R=0;constructor(e){this.#p=e.events,this.#y=e.config,this.#b=e.registerFieldRenderer,this.#u=v(e.log);const t=e.onTransformError;this.#w=void 0===t?void 0:v((...e)=>{const n=e[0];try{return t(n)}catch(e){return void this.#u("transform error reporter failed:",e)}})}register(e){return this.#R>0?this.#P(e,!1):this.#N(()=>this.#P(e,!0))}unregister(e){return this.#R>0?this.#L(e,!1):this.#N(async()=>{await this.#L(e,!0)})}destroyAll(){return this.#R>0?this.#F(!1):this.#N(async()=>{await this.#F(!0)})}applyTransforms(e,t,n,r){const i=this.#C.get(e);if(void 0===i||0===i.length)return t;let o=t;for(const s of[...i]){if(!s.active)continue;const{transform:i}=s;if(!1===r?.())return t;try{o=i(o,{fieldName:e,element:n.element,allFields:n.allFields});const s=p(o);if(!1===r?.())return t;if(s)throw new TypeError(`Transform for "${e}" returned a Promise/thenable; transforms must be synchronous`)}catch(n){if(!1===r?.())return t;const i=n instanceof Error?n:new Error(String(n));return this.#u(`transform for "${e}" failed:`,i),this.#w?.(i),t}}return o}list(){return[...this.#S.keys()]}snapshot(){const e=[],t=(e,t,n,r)=>{const i=r.counts();return{name:e,version:t,state:n,registrations:{transforms:i.transform,renderers:i.renderer,subscriptions:i.subscription,cleanups:i.cleanup}}};for(const[n,r]of this.#k)e.push(t(n,void 0,"initializing",r.scope));for(const[n,r]of this.#S)e.push(t(n,r.plugin.version,"active",r.scope));for(const t of this.#A.keys())e.push({name:t,version:void 0,state:"tearing-down",registrations:{transforms:0,renderers:0,subscriptions:0,cleanups:0}});return e}get size(){return this.#S.size}async#P(t,n){if(this.#S.has(t.name)||this.#k.has(t.name)||this.#A.has(t.name))return void this.#u(`plugin "${t.name}" already registered`);const r=function(e,t){if(void 0!==e){if(void 0!==e.runtime&&!function(e,t){const n=function(e){const t=/^v?(\d+)\.(\d+)\.(\d+)/.exec(e.trim());if(null!==t)return[Number(t[1]),Number(t[2]),Number(t[3])]}(e);return void 0!==n&&t.split("||").some(e=>{const r=e.trim().split(/\s+/).filter(e=>e.length>0);return 0===r.length?""===e.trim()&&""===t.trim():r.every(e=>function(e,t){const n=t.trim();if(""===n||"*"===n)return!0;const r=/^(\^|~|>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)\.(\d+)/.exec(n);if(null===r)return!1;const i=r[1]??"=",o=[Number(r[2]),Number(r[3]),Number(r[4])],s=function(e,t){for(let n=0;n<3;n+=1){const r=(e[n]??0)-(t[n]??0);if(0!==r)return r}return 0}(e,o);switch(i){case"=":return 0===s;case">":return s>0;case">=":return s>=0;case"<":return s<0;case"<=":return s<=0;case"~":return s>=0&&e[0]===o[0]&&e[1]===o[1];case"^":return!(s<0)&&(o[0]>0?e[0]===o[0]:o[1]>0?0===e[0]&&e[1]===o[1]:0===e[0]&&0===e[1]&&e[2]===o[2]);default:return!1}}(n,e))})}(t,e.runtime))return`declares runtime ${e.runtime}, this runtime is ${t}`;if(void 0!==e.protocol){if(!Number.isInteger(e.protocol)||e.protocol<1)return`declares an invalid protocol version ${String(e.protocol)}`;if(e.protocol<4)return`declares protocol ${String(e.protocol)}, this runtime speaks ${String(4)}`}}}(t.compat,e);if(void 0!==r)return void this.#x(t.name,r);const i=new Lr(t.name,this.#u),o=this.#U(t.name,i),s={scope:i,cancelled:!1};this.#k.set(t.name,s);try{if(await this.#E(()=>t.init(o),n),s.cancelled)return;i.commit()}catch(e){return i.close(),void(s.cancelled||this.#u(`plugin "${t.name}" init failed:`,e))}finally{this.#k.get(t.name)===s&&this.#k.delete(t.name)}this.#S.set(t.name,{plugin:t,scope:i}),this.#u(`plugin "${t.name}" registered`)}#x(e,t){const n=`plugin "${e}" refused: ${t}`;this.#u(n),this.#p.emit("error",{error:new Error(n),context:"plugin",code:"LP0103"})}#U(e,t){return{events:new Fr(this.#p,t),registerFieldRenderer:e=>{t.stage("renderer",()=>{const t=this.#b(e);return"function"==typeof t?t:void 0})},registerTransform:(e,n)=>{const r={transform:n,active:!1};t.stage("transform",()=>{r.active=!0;const t=this.#C.get(e);return void 0===t?this.#C.set(e,[r]):t.push(r),()=>{r.active=!1;const t=this.#C.get(e);if(void 0===t)return;const n=t.indexOf(r);n>=0&&t.splice(n,1),0===t.length&&this.#C.delete(e)}})},registerCleanup:e=>{t.own(e)},getConfig:()=>this.#y,log:(...t)=>{this.#u(`[${e}]`,...t)}}}#L(e,t){const n=this.#k.get(e);if(void 0!==n)return n.cancelled=!0,n.scope.close(),Promise.resolve();const r=this.#A.get(e);if(void 0!==r)return this.#T.has(e)?Promise.resolve():t?this.#M(r):r;const i=this.#S.get(e);if(void 0===i)return Promise.resolve();this.#S.delete(e),i.scope.close();const o=Promise.resolve().then(()=>this.#I(e,i.plugin,t));return this.#A.set(e,o),o.then(()=>{this.#A.get(e)===o&&this.#A.delete(e)}),o}async#I(e,t,n){if(void 0!==t.destroy){this.#T.add(e);try{await this.#E(()=>t.destroy?.(),n)}catch(t){this.#u(`plugin "${e}" destroy failed:`,t)}finally{this.#T.delete(e)}}}async#F(e){for(const e of this.#k.values())e.cancelled=!0,e.scope.close();const t=[...this.#S.keys()];for(const n of t)await this.#L(n,e)}async#E(e,t){t?await this.#M(Promise.resolve().then(e)):await e()}async#M(e){this.#R+=1;try{await e}finally{this.#R-=1}}#N(e){const t=this.#$.then(e);return this.#$=t.catch(e=>{this.#u("plugin manager mutation failed:",e)}),t}},Ur=class{#O;#_;#z=/* @__PURE__ */new Map;constructor(e){this.#O=e,this.#_={...e}}get renderers(){return this.#_}resolve(e){return this.#_[e]}register(e){const t=e.name,n={renderer:e},r=this.#z.get(t);void 0===r?this.#z.set(t,[n]):r.push(n),this.#_[t]=e;let i=!0;return()=>{if(!i)return;i=!1;const e=this.#z.get(t);if(void 0===e)return;const r=e.indexOf(n);if(r<0)return;const o=r===e.length-1;if(e.splice(r,1),0===e.length&&this.#z.delete(t),!o)return;const s=e.at(-1),a=s?.renderer??this.#O[t];void 0===a?Reflect.deleteProperty(this.#_,t):this.#_[t]=a}}},Er={1:"left",2:"center",3:"right",4:"justify"},Mr=/* @__PURE__ */new Set(["left","center","right","justify","start","end"]);function Ir(e){const t=e.format;return"string"==typeof t&&Mr.has(t)?t:"number"==typeof t?Er[t]:void 0}function Or(e){const t=e.indent;return"number"==typeof t&&t>0?t:0}function _r(e){return"rtl"===e.direction?' dir="rtl"':"ltr"===e.direction?' dir="ltr"':""}function zr(e){const t=Ir(e),n=Or(e),r=[];return void 0!==t&&r.push(`lp-align-${t}`),n>0&&r.push(`lp-indent-${String(n)}`),0===r.length?"":` class="${r.join(" ")}"`}var Dr=/* @__PURE__ */new Set(["h1","h2","h3","h4","h5","h6"]);function Br(e){return"object"==typeof e&&null!==e?e:void 0}function jr(e){return Br(e)}function Hr(e){return e.replace(/[^a-zA-Z0-9_-]/g,"-").toLowerCase()}function Wr(e){return"string"==typeof e&&e.length>0?e:void 0}function qr(e){const t=Wr(e.title)??Wr(e.name)??Wr(e.slug);return void 0!==t?t:void 0===e.id?void 0:String(e.id)}var Vr=' target="_blank" rel="noopener noreferrer"',Gr=(e,t)=>{const n=t.renderChildren(e.children??[]),r=Br(e.fields),i=function(e,t){if("internal"===t?.linkType)return function(e){const t=Br(Br(e)?.value),n=t?.url;if("string"==typeof n&&n.length>0)return n;const r=t?.slug;return"string"==typeof r&&r.length>0?`/${r}`:void 0}(t.doc);const n=t?.url??e.url;return"string"==typeof n&&n.length>0?n:void 0}(e,r);if(void 0===i||!isSafeUrl(i))return n;const o="string"==typeof e.title?` title="${escapeHtml(e.title)}"`:"";return`<a href="${escapeHtmlAttribute(i)}"${function(e,t,n){if(!0===t?.newTab||isExternalHttpUrl(n))return Vr;const r="string"==typeof e.target?e.target:"";return""===r?"":"_blank"===r?Vr:` target="${escapeHtml(r)}"`}(e,r,i)}${o}>${n}</a>`};function Kr(e){if("string"==typeof e.text)return e.text;if(!e.children)return"";let t="";for(const n of e.children)t+=Kr(n);return t}function Jr(e){return`${"number"==typeof e.width?` width="${String(e.width)}"`:""}${"number"==typeof e.height?` height="${String(e.height)}"`:""}`}function Qr(e){return"string"==typeof e.mimeType?` type="${escapeHtmlAttribute(e.mimeType)}"`:""}var Xr=/* @__PURE__ */new Map;function Zr(e){return Xr.get(e)}var Yr=".lp-block:empty,.lp-inline-block:empty";function ei(e,t,n,r){const i=Br(e.fields)??{},o="string"==typeof i.blockType?i.blockType:"",s=Hr(o),a=""===s?r:`${r} ${r}--${s}`;if(""!==o){const e=Zr(o)??Zr(s);if(e)return e(i,{renderChildren:t.renderChildren});t.onUnrenderedBlock?.(o,a)}return`<${n} class="${a}"></${n}>`}function ti(e,t){return"number"==typeof t&&t>1?` ${e}="${String(t)}"`:""}var ni={text:e=>{let t=escapeHtml("string"==typeof e.text?e.text:"");const n="number"==typeof e.format?e.format:0;return!!(16&n)&&(t=`<code>${t}</code>`),!!(1&n)&&(t=`<strong>${t}</strong>`),!!(2&n)&&(t=`<em>${t}</em>`),!!(8&n)&&(t=`<u>${t}</u>`),!!(4&n)&&(t=`<s>${t}</s>`),!!(32&n)&&(t=`<sub>${t}</sub>`),!!(64&n)&&(t=`<sup>${t}</sup>`),!!(128&n)&&(t=`<mark>${t}</mark>`),t},paragraph:(e,t)=>{const n=t.renderChildren(e.children??[]);return`<p${_r(e)}${zr(e)}>${n}</p>`},heading:(e,t)=>{const n="string"==typeof e.tag?e.tag.toLowerCase():"h2",r=Dr.has(n)?n:"h2",i=t.renderChildren(e.children??[]);return`<${r}${_r(e)}${zr(e)}>${i}</${r}>`},list:(e,t)=>{const n="string"==typeof e.listType?e.listType:"bullet",r="number"===n?"ol":"ul",i="number"===n&&"number"==typeof e.start&&e.start>1?` start="${String(e.start)}"`:"",o="check"===n?' role="list"':"",s=t.renderChildren(e.children??[]);return`<${r}${_r(e)}${zr(e)}${i}${o}>${s}</${r}>`},listitem:(e,t)=>{const n=t.renderChildren(e.children??[]);if("boolean"==typeof e.checked)return`<li role="checkbox" aria-checked="${e.checked?"true":"false"}"${zr(e)}>${n}</li>`;const r="number"==typeof e.value?` value="${escapeHtml(String(e.value))}"`:"";return`<li${_r(e)}${zr(e)}${r}>${n}</li>`},link:Gr,autolink:Gr,quote:(e,t)=>{const n=t.renderChildren(e.children??[]);return`<blockquote${_r(e)}${zr(e)}>${n}</blockquote>`},code:e=>{const t=Hr("string"==typeof e.language?e.language:"");return`<pre><code${""===t?"":` class="language-${t}"`}>${escapeHtml(Kr(e))}</code></pre>`},"code-highlight":e=>{const t="string"==typeof e.text?e.text:"";return`<span${"string"==typeof e.highlightType?` class="token-${Hr(e.highlightType)}"`:""}>${escapeHtml(t)}</span>`},linebreak:()=>"<br>",horizontalrule:()=>"<hr>",tab:()=>"\t",upload:e=>{const t=jr(e.value);if(void 0===t)return"";const n=t.url;if("string"!=typeof n||!isSafeUrl(n))return"";const r="string"==typeof t.mimeType?t.mimeType:"";return r.startsWith("video/")?function(e,t){return`<video controls${Jr(e)}><source src="${escapeHtmlAttribute(t)}"${Qr(e)}></video>`}(t,n):r.startsWith("audio/")?function(e,t){return`<audio controls><source src="${escapeHtmlAttribute(t)}"${Qr(e)}></audio>`}(t,n):""===r||r.startsWith("image/")?function(e,t){const n="string"==typeof e.alt?escapeHtml(e.alt):"";return`<img src="${escapeHtmlAttribute(t)}" alt="${n}"${Jr(e)} loading="lazy" decoding="async">`}(t,n):function(e,t){const n="string"==typeof e.filename?escapeHtml(e.filename):escapeHtml(t);return`<a href="${escapeHtmlAttribute(t)}" target="_blank" rel="noopener noreferrer">${n}</a>`}(t,n)},relationship:e=>{const t="string"==typeof e.relationTo?e.relationTo:"",n=Br(e.value),r=escapeHtml((n&&qr(n))??`#${t}`),i=Hr(t),o=""===i?' class="lp-relation"':` class="lp-relation lp-relation--${i}"`,s=n?.url;return"string"==typeof s&&isSafeUrl(s)?`<a href="${escapeHtmlAttribute(s)}"${o}>${r}</a>`:`<span${o}>${r}</span>`},block:(e,t)=>ei(e,t,"div","lp-block"),inlineBlock:(e,t)=>ei(e,t,"span","lp-inline-block"),table:(e,t)=>`<table${_r(e)}><tbody>${t.renderChildren(e.children??[])}</tbody></table>`,tablerow:(e,t)=>`<tr>${t.renderChildren(e.children??[])}</tr>`,tablecell:(e,t)=>{const n="number"==typeof e.headerState?e.headerState:0,r=3&n?"th":"td";return`<${r}${1===n?' scope="col"':2===n?' scope="row"':""}${ti("colspan",e.colSpan)}${ti("rowspan",e.rowSpan)}>${t.renderChildren(e.children??[])}</${r}>`}},ri=/* @__PURE__ */new Map,ii=!1;function oi(e){if("object"!=typeof e||null===e)return!1;if(!("root"in e))return!1;const t=e.root;return"object"==typeof t&&null!==t&&"children"in t&&Array.isArray(t.children)}function si(e,t){const n=(r=e.type,ri.get(r)??ni[r]);var r;return n?n(e,t):void 0!==e.children?t.renderChildren(e.children):""}function ai(e){if("string"==typeof e.text)return e.text;if("linebreak"===e.type)return"\n";if(void 0===e.children)return"";let t="";for(const n of e.children)t+=ai(n);return t}function li(e="text"){const t=/* @__PURE__ */new WeakSet;return{name:e,render:/* @__PURE__ */Z((e,n)=>{const r=e.element,i=function(e){return null==e?"":oi(e)?oi(t=e)?t.root.children.map(ai).join("\n").trim():"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):JSON.stringify(e);var t}(n);if("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName)return function(e){return null!==e.querySelector(":scope > :not(br)")}(r)&&!r.hasAttribute("data-payload-text")?(function(e,t,n){e.has(t)||(e.add(t),w(`[live-preview] LP0402: Skipping text update for "${n}": <${t.tagName.toLowerCase()}> has structured children. Move data-payload-field to the value element, or add data-payload-text to replace them.`))}(t,r,e.fieldName),!1):void(i.includes("\n")||i.includes("\r")?r.innerHTML=on(function(e){return escapeHtml(e).replace(/\r\n|\r|\n/g,"<br>")}(i)):r.textContent=i);r.value=i})}}var ui=/* @__PURE__ */new Set,di=/* @__PURE__ */new Set,ci=/* @__PURE__ */new Set(["DIV","SECTION","ARTICLE"]),hi={name:"richText",render:/* @__PURE__ */Z((e,t,n)=>{const r=e.element;if(Hn(t))return void(r.textContent="");const i=n.sanitizerPolicy;if(void 0!==n.renderRichText){const o=n.renderRichText(t,{fieldName:e.fieldName,element:r,locale:n.locale});return void(r.innerHTML=on(Pn(o,i)))}if(oi(t)){const o=/* @__PURE__ */new Map,s=function(e,t){const n=e.cloneNode(!1);n.innerHTML=on(t);const r=function(e,t){const n=e.firstElementChild;if(null!==n?.nextElementSibling||t.children.length<2)return null;if(!ci.has(n.tagName)||n.hasAttribute(Ie))return null;for(const e of t.children)if(e.tagName===n.tagName&&e.className===n.className)return null;return n}(e,n)??e,i=/* @__PURE__ */new Map,o=n.querySelectorAll(Yr);if(o.length>0&&null!==r.firstElementChild){const e=[];fi(r,n,e);for(const[t,n]of e)t.replaceWith(n),n.matches(Yr)||i.set(t.className,!1);for(const e of o)null!==e.parentNode&&i.set(e.className,!0)}return r.replaceChildren(...n.childNodes),i}(r,Pn(function(e,t={}){if(!oi(e))return"";const n=function(e){const t={renderChildren:e=>{let n="";for(const r of e)n+=si(r,t);return n},resolveAlignment:Ir,resolveIndent:Or,onUnrenderedBlock:e};return t}(t.onUnrenderedBlock).renderChildren(e.root.children);return!1===t.sanitize?n:void 0!==Nn()?sanitizeHtml(n):(function(){if(!ii){ii=!0;try{console.warn('[live-preview] lexicalToHtml() has no sanitizer document and returned unsanitised HTML; call setSanitizerDocument() (linkedom/jsdom) for server rendering, see "HTML sanitization" in docs/security.md.')}catch{}}}(),n)}(t,{sanitize:!1,onUnrenderedBlock:(e,t)=>{o.set(t,e)}}),i));for(const[t,r]of s){const i=o.get(t);void 0!==i&&pi(e,n,i,r)}return}if("string"!=typeof t)return!1;r.innerHTML=on(Pn(t,i))})};function fi(e,t,n){if(e.children.length!==t.children.length)return;let r=e.firstElementChild,i=t.firstElementChild;for(;null!==r&&null!==i;)i.matches(Yr)?n.push([i,r]):fi(r,i,n),r=r.nextElementSibling,i=i.nextElementSibling}function pi(e,t,n,r){r&&t.reportUnfaithful?.(e,`lost the markup the server drew for block "${n}"`);const i=r?di:ui;i.has(n)||(i.add(n),w(`[live-preview] ${r?`LP0413: no renderer for block "${n}", and the markup the server rendered for it is lost.`:`LP0410: no renderer for block "${n}"; keeping what the server rendered for it.`} Register one with registerBlockRenderer().`))}var mi={name:"html",render(e,t,n){if(Hn(t))return void(e.element.textContent="");const r="string"==typeof t?t:jn(t);e.element.innerHTML=on(Pn(r,n.sanitizerPolicy))}},gi=/* @__PURE__ */new WeakSet;function vi(e,t,n){return"string"!=typeof n||0===n.length?{kind:"none"}:isSafeUrl(n)?{kind:"safe",url:n}:(gi.has(e)||(gi.add(e),w(`[live-preview] LP0401: refused an unsafe URL for "${t}" on <${e.tagName.toLowerCase()}>; the attribute was cleared.`)),{kind:"unsafe"})}function yi(e,t=e=>e){return{name:e,render(e,n,r){const i=e.element;if(Hn(n))return void function(e){"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName?(e.removeAttribute("href"),e.textContent=""):e.value=""}(i);const o=jn(n);if("INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName){if("A"===i.tagName){const n=e.hrefField,s=void 0===n||0===n.length?t(o):Qt(r.allFields,n,r.locale,void 0!==e.locale),a=vi(i,e.fieldName,s);"safe"===a.kind?i.setAttribute("href",a.url):"unsafe"===a.kind&&i.removeAttribute("href")}i.textContent=o}else i.value=o}}}var bi=yi("url"),wi=/^[a-zA-Z][a-zA-Z0-9+.-]*:/,Si=yi("email",function(e){const t=e.trim();return wi.test(t)||!t.includes("@")?t:`mailto:${t}`}),ki=["src","srcset","sizes"];function Ai(e){for(const t of ki)e.removeAttribute(t)}function Ti(e,t,n){e.src=t;const r=function(e){if(void 0===e?.sizes)return;const t=[];for(const n of Object.values(e.sizes))"string"==typeof n.url&&"number"==typeof n.width&&isSafeUrl(n.url)&&t.push(`${Ci(n.url)} ${String(n.width)}w`);return 0!==t.length?("number"==typeof e.width&&"string"==typeof e.url&&isSafeUrl(e.url)&&t.push(`${Ci(e.url)} ${String(e.width)}w`),t.join(", ")):void 0}(n);if(void 0===r)return e.removeAttribute("srcset"),void e.removeAttribute("sizes");e.setAttribute("srcset",r)}function Ci(e){return e.replace(/[\s,]/g,encodeURIComponent)}var $i={name:"image",render:/* @__PURE__ */Z((e,t,n)=>{const r=e.element;if(Hn(t))return void Ri(r);const i=void 0!==e.locale,{media:o,candidate:s}=function(e,t,n,r){const i=void 0!==e.srcField&&e.srcField.length>0?Qt(n.allFields,e.srcField,n.locale,r):t,o=jr(i);return{media:o,candidate:void 0===o?i:o.url}}(e,t,n,i),a=vi(r,e.fieldName,s);if("none"===a.kind)return!1;if("unsafe"!==a.kind){if("IMG"===r.tagName){const t=r;Ti(t,a.url,o);const s=function(e,t,n,r,i){if(void 0!==t&&t.length>0){const e=Qt(n,t,r,i);return"string"==typeof e?e:void 0}return e?.alt}(o,e.altField,n.allFields,n.locale,i);return void(void 0!==s&&(t.alt=s))}r.style.backgroundImage=`url('${function(e){return e.replace(/['"()\\]/g,"\\$&")}(a.url)}')`}else Ri(r)})};function Ri(e){"IMG"===e.tagName?Ai(e):e.style.backgroundImage=""}var Pi={name:"upload",render:/* @__PURE__ */Z((e,t)=>{const n=e.element;if(Hn(t))return void Ni(n);const r=jr(t);if(void 0===r)return!1;const i=vi(n,e.fieldName,r.url);if("none"===i.kind)return!1;if("unsafe"===i.kind)return void Ni(n);const o=i.url;if("IMG"===n.tagName){const e=n;return Ti(e,o,r),void(void 0!==r.alt&&(e.alt=r.alt))}if("A"===n.tagName)return n.setAttribute("href",o),void(n.textContent=r.filename??o);const s=escapeHtml(r.filename??o);n.innerHTML=on(`<a href="${escapeHtmlAttribute(o)}">${s}</a>`)})};function Ni(e){"IMG"!==e.tagName?(e.removeAttribute("href"),e.textContent=""):Ai(e)}var Li={name:"relationship",render(e,t){const n=e.element;if(Hn(t))return n.removeAttribute("href"),void(n.textContent="");if("A"===n.tagName&&!Array.isArray(t)){const r=vi(n,e.fieldName,Br(t)?.url);"safe"===r.kind?n.setAttribute("href",r.url):"unsafe"===r.kind&&n.removeAttribute("href")}n.textContent=Array.isArray(t)?t.map(Fi).join(", "):Fi(t)}};function Fi(e){const t=Br(e);return void 0===t?jn(e):qr(t)??""}var xi={name:"select",render(e,t,n){const r=e.element,i=Hn(t)?[]:function(e){return Array.isArray(e)?e.map(jn):[jn(e)]}(t);if("SELECT"!==r.tagName){if("INPUT"===r.tagName&&"radio"===r.type){const e=r;return void(e.checked=i.includes(e.value))}r.textContent=i.map(e=>function(e,t){const n=t.schema?.options;if(!Array.isArray(n))return e;for(const t of n){const n=Br(t);if(void 0!==n&&jn(n.value)===e)return"string"==typeof n.label?n.label:e}return e}(e,n)).join(", ")}else!function(e,t){if(e.multiple)for(const n of Array.from(e.options))n.selected=t.includes(n.value);else e.value=t[0]??""}(r,i)}},Ui=/* @__PURE__ */new Set(["","false","0","off","no"]),Ei={name:"checkbox",render(e,t){const n=e.element,r=function(e){return"boolean"==typeof e?e:"string"==typeof e?!Ui.has(e.trim().toLowerCase()):"number"==typeof e?0!==e:null!=e}(t);"INPUT"!==n.tagName||"checkbox"!==n.type?n.hasAttribute("aria-checked")?n.setAttribute("aria-checked",r?"true":"false"):n.textContent=r?"true":"false":n.checked=r}},Mi=/* @__PURE__ */new Map,Ii=/* @__PURE__ */new Map;function Oi(e,t){const n=e??"";if(null==t)return n;const r=_i(t);return"{}"===r?n:`${n}|${r}`}function _i(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e=>_i(e)).join(",")}]`;const t=e,n=Object.keys(t).sort(),r=[];for(const e of n){const n=t[e];void 0!==n&&r.push(`${JSON.stringify(e)}:${_i(n)}`)}return`{${r.join(",")}}`}var zi=/* @__PURE__ */new Set(["short","medium","long","full"]),Di=/* @__PURE__ */new Set(["short","medium","long","full"]),Bi=/^[A-Za-z]{3}$/u,ji=/^[0-4]$/u;function Hi(e){return{kind:"date",options:e}}function Wi(e){return{kind:"number",options:e}}var qi=/* @__PURE__ */new WeakSet;function Vi(e,t,n,r){if(void 0===t||""===t)return;const i=function(e){const t=e.indexOf(":"),n=-1===t?e:e.slice(0,t),r=-1===t?void 0:e.slice(t+1);switch(n){case"date":return void 0===r?Hi({dateStyle:"medium"}):zi.has(r)?Hi({dateStyle:r}):void 0;case"time":return void 0===r?Hi({timeStyle:"short"}):Di.has(r)?Hi({timeStyle:r}):void 0;case"datetime":return void 0===r?Hi({dateStyle:"medium",timeStyle:"short"}):zi.has(r)?Hi({dateStyle:r,timeStyle:"short"===r?"short":"medium"}):void 0;case"number":if(void 0===r)return Wi({});if(!ji.test(r))return;return Wi({minimumFractionDigits:Number(r),maximumFractionDigits:Number(r)});case"currency":if(void 0===r||!Bi.test(r))return;return Wi({style:"currency",currency:r.toUpperCase()});case"percent":return void 0===r?Wi({style:"percent"}):void 0;default:return}}(t);if(void 0!==i){if(i.kind===e)return i.options}else!function(e,t,n){qi.has(e)||(qi.add(e),w(`[live-preview] LP0408: data-payload-format="${n}" on "${t}" is not a known format; the default formatting was used. Known: date, date:short|medium|long|full, time, datetime, number, number:0-4, currency:XXX, percent.`))}(n,r,t)}var Gi={name:"date",render(e,t,n){const r=e.element;if(Hn(t))return void("INPUT"===r.tagName?r.value="":(r.removeAttribute("datetime"),r.textContent=""));const i="number"==typeof t?t:jn(t),o=new Date(i),s=!Number.isNaN(o.getTime()),a=String(i);"INPUT"!==r.tagName?("TIME"===r.tagName&&r.setAttribute("datetime",s?o.toISOString():a),r.textContent=s?function(e,t,n){const r=t.locale??n.locale??detectInitialLocale(),i=Vi("date",t.format,t.element,t.fieldName)??Ki;try{return function(e,t){const n=Oi(e,t);return Wn(Ii,n)??qn(Ii,n,new Intl.DateTimeFormat(e,t),64)}(r,i).format(e)}catch{return e.toISOString()}}(o,e,n):a):r.value=s?function(e,t){const n=`${String(t.getFullYear()).padStart(4,"0")}-${Ji(t.getMonth()+1)}-${Ji(t.getDate())}`,r=`${Ji(t.getHours())}:${Ji(t.getMinutes())}`;return"date"===e?n:"datetime-local"===e?`${n}T${r}`:"time"===e?r:t.toISOString()}(r.type,o):a}},Ki={dateStyle:"medium",timeStyle:"short"};function Ji(e){return String(e).padStart(2,"0")}var Qi={name:"number",render(e,t,n){const r=e.element;if(Hn(t))return void("INPUT"===r.tagName?r.value="":r.textContent="");const i="number"==typeof t?t:Number(jn(t));Number.isNaN(i)?r.textContent=jn(t):"INPUT"!==r.tagName?r.textContent=function(e,t,n){const r=t.locale??n.locale??detectInitialLocale(),i=Vi("number",t.format,t.element,t.fieldName);try{return function(e,t){const n=Oi(e,t);return Wn(Mi,n)??qn(Mi,n,new Intl.NumberFormat(e,t),64)}(r,i).format(e)}catch{return String(e)}}(i,e,n):r.value=String(i)}},Xi={name:"array",render:/* @__PURE__ */Z((e,t,n)=>{const r=e.element;if(Hn(t))return void(r.textContent="");if(!Array.isArray(t))return!1;const i=e.arrayTemplate;if(void 0!==i&&i.length>0){const e=function(e,t){const n=_n(t);let r="";for(let i=0;i<t.length;i+=1)r+=zn(e,t[i],i,jn,n);return r}(i,t),o=n.sanitizerPolicy,s=Qn(i),a=Dn(r);r.innerHTML=on(Pn(e,o,s));for(const e of Array.from(r.children))Bn(e,a);return}r.textContent=t.map(jn).join(e.arraySeparator??", ")})};function Zi(){const e=/* @__PURE__ */new WeakMap,t=/* @__PURE__ */new WeakSet,n=/* @__PURE__ */new WeakMap,r=/* @__PURE__ */new WeakMap;return{name:"structural-array",render:/* @__PURE__ */Z((i,o,s)=>{const a=Hn(o)?[]:o;if(!Array.isArray(a))return!1;const l=i.element,u=i.arrayTemplate;if(void 0===u||0===u.length)return function(e,t,n){e.has(t)||(e.add(t),w(`[live-preview] LP0403: Skipping structural update for "${n}": <${t.tagName.toLowerCase()} data-payload-structural> needs data-payload-array-template (for example "<li>{{label}}</li>").`))}(t,l,i.fieldName),!1;const d=e.get(l),c=Yi(l),h=E(d?.values??c.map((e,t)=>null===e?{__payloadDomPosition:t}:{id:e}),a),f=function(e,t,n){return void 0===e||e.template!==t||!function(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}(e.domSnapshot,n)}(d,u,c);if(0===h.length&&!f)return e.set(l,{values:a.slice(),template:u,domSnapshot:c}),!1;!function(e,t,n,r,i){const o=i.map(eo),s=/* @__PURE__ */new Set,a=o.find(e=>!(void 0===e||!s.has(e)&&(s.add(e),1)));if(void 0!==a&&to(e,t,n,a),o.some(e=>void 0===e)&&no(e,t,"LP0404",`LP0404: an item of "${n}" has no id and pairs by position, so an insert re-renders every row after it. Give items a stable id.`),r?.length===i.length&&i.length>1){const i=new Set(r.map(eo).filter(e=>void 0!==e)),s=o.some(e=>void 0!==e&&i.has(e));i.size>0&&!s&&no(e,t,"LP0406",`LP0406: every key of "${n}" changed at once; the source generates ids per message, so no item can be retained across updates.`)}}(n,l,i.fieldName,d?.values,a);const p=er({template:u,container:l,patches:h,nextItems:a,store:r,forceRender:f,sanitizerPolicy:s.sanitizerPolicy,onDuplicateKey:(e,t)=>{to(n,e,i.fieldName,t)}});return null!==p&&(e.set(l,{values:a.slice(),template:u,domSnapshot:Yi(l)}),!!p&&void 0)})}}function Yi(e){return Array.from(e.children,e=>e.getAttribute(Xn))}function eo(e){if("object"!=typeof e||null===e)return;const t=e.id;return"string"==typeof t||"number"==typeof t?String(t):void 0}function to(e,t,n,r){no(e,t,"LP0405",`LP0405: two items of "${n}" share the key "${r}"; later ones pair by position. Make \`id\` unique per item.`)}function no(e,t,n,r){let i=e.get(t);void 0===i&&(i=/* @__PURE__ */new Set,e.set(t,i)),i.has(n)||(i.add(n),w(`[live-preview] ${r}`))}var ro=/* @__PURE__ */new Map;function io(e,t){return{name:e,render(){T(t)}}}var oo=Object.freeze({disableReferrerDetection:!0,eventSourcePolicy:"parent-or-opener",skipUnchanged:!0,sanitizerPolicy:"strict"}),so=Object.freeze({disableReferrerDetection:!1,eventSourcePolicy:"any",skipUnchanged:!1,sanitizerPolicy:"compat"});function ao(e){return void 0===e?void 0:!e}var lo,LivePreviewClient=class{#D=new EventEmitter;#B;#j;#H;#S;#u;#W=!1;#q=!1;#V=!1;#G=null;constructor(e={}){const t=function(e){const t="v1"===e.defaults?so:oo;return{...e,skipUnchanged:e.skipUnchanged??t.skipUnchanged,disableReferrerDetection:e.disableReferrerDetection??t.disableReferrerDetection,eventSourcePolicy:e.eventSourcePolicy??t.eventSourcePolicy,sanitizerPolicy:e.sanitizerPolicy??t.sanitizerPolicy}}(e),n=t.serverURL??"";!function(e){if("v1"!==e.defaults&&""!==(e.serverURL??"")&&null==e.mergeDepth)throw new Error("payload-live-preview: `serverURL` needs an explicit `mergeDepth` under the 2.0 defaults — choose the population depth deliberately (0 for none), or pass `defaults: 'v1'` to keep the 1.x default of 1 while migrating (ADR 0007, entry 10).")}({defaults:e.defaults,serverURL:n,mergeDepth:t.mergeDepth});const r=t.debug??isDevMode();this.#u=r?(...e)=>{S("[live-preview]",...e)}:y,this.#B=new OriginDetector(R({additionalOrigins:t.allowedOrigins,enableReferrerDetection:ao(t.disableReferrerDetection),enableLocalhostMatching:ao(t.disableLocalhostMatching)})),this.#B.isProductionUnconfigured&&this.#u("no trusted origin could be detected — set allowedOrigins"),this.#j=new Ur(function(){const e=[hi,mi,bi,Si,$i,Pi,Li,xi,{...xi,name:"radio"},Ei,Gi,Qi,..."undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__?[io("array","structural arrays"),io("blocks","structural arrays")]:[Xi,{...Xi,name:"blocks"}]];return function(e=[]){const t={};for(const n of e)t[n.name]=n;for(const[e,n]of ro)t[e]=n;return Object.freeze(t)}([li("text"),li("textarea"),...e,..."undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__?[]:[Zi()]])}()),this.#S=new xr({events:this.#D,config:Object.freeze({...t}),registerFieldRenderer:e=>this.#j.register(e),onTransformError:e=>{this.#D.emit("error",{error:e,context:"transform",code:"LP0602"})},log:this.#u}),this.#H=new kr(R({root:t.root,renderers:this.#j.renderers,resolveRenderer:(e,n)=>t.resolveRenderer?.(e,n)??this.#j.resolve(e),renderRichText:t.renderRichText,sanitizerPolicy:t.sanitizerPolicy,transformValue:(e,t,n,r)=>this.#S.applyTransforms(e,t,n,r),originMatcher:e=>this.#B.matches(e),readyTargets:()=>this.#B.enumerate(),emitter:this.#D,dataMerge:""===n?void 0:R({serverURL:n,apiRoute:t.apiRoute,depth:t.mergeDepth,fetchFn:t.mergeFetch}),debounceMs:t.debounceMs,heartbeatMs:t.heartbeatMs,intersectionRootMargin:t.intersectionRootMargin,scopeBindingsByOwner:t.scopeBindingsByOwner,skipUnchanged:t.skipUnchanged,revealEditedField:t.revealEditedField,autoBind:t.autoBind,eventSourcePolicy:t.eventSourcePolicy,dependencies:t.dependencies,strategies:t.strategies,disableVisibilityGate:t.disableVisibilityGate,visibilityGateThreshold:t.visibilityGateThreshold,enableA11y:t.enableA11y,a11yLocale:t.a11yLocale,onHeartbeatTimeout:()=>{this.#B.unlockOrigin()},lockedOrigin:()=>this.#B.lockedOrigin,validateToken:t.validateToken,log:this.#u})),this.#D.on("connect",e=>{this.#B.lockOrigin(e.origin)}),!1!==t.autoStart&&this.start()}start(){if(this.#q)return!1;if(this.#W)return this.#H.start(),!0;if(!isInPreviewContext())return!1;const e=this.#H.start();return e&&(this.#W=!0),e}suspend(){return!(this.#q||!this.#W)&&this.#H.suspend()}resume(){return!(this.#q||!this.#W)&&this.#H.start()}destroy(){if(null!==this.#G)return this.#G;let e,t;this.#q=!0;const n=new Promise((n,r)=>{e=n,t=r});this.#G=n;const r=()=>{this.#D.removeAllListeners(),this.#V=!0};try{this.#H.destroy(),this.#S.destroyAll().finally(r).then(e,t)}catch(e){r(),t(e)}return n}async use(e){if(this.#q)throw new Error("LivePreviewClient: already destroyed");await this.#S.register(e)}async unuse(e){if(this.#V)throw new Error("LivePreviewClient: already destroyed");await this.#S.unregister(e)}refreshCache(){this.#H.refreshCache()}get events(){return this.#D}get plugins(){return this.#S.list()}get status(){return this.#H.status}inspect(){return{...this.#H.inspect(),plugins:this.#S.snapshot()}}get updateCount(){return this.#H.updateCount}get destroyed(){return this.#q}};function initLivePreview(e={}){const t=new LivePreviewClient({...e,autoStart:!1});return t.start()?t:null}function setCspCrypto(e){lo=e??void 0}function generateCspNonce(e=16){if(!Number.isInteger(e)||e<8)throw new RangeError(`generateCspNonce: bytes must be an integer >= 8, got ${String(e)}`);const t=function(){if(lo?.getRandomValues)return lo;const e=globalThis.crypto;return e?.getRandomValues?e:void 0}();if(!t)throw new Error("generateCspNonce: Web Crypto is unavailable. On Node 18 call setCspCrypto(webcrypto) once at startup, or run with --experimental-global-webcrypto. We won't fabricate a predictable nonce — that would silently defeat the entire CSP.");const n=new Uint8Array(e);return t.getRandomValues(n),function(e){let t="";for(const n of e)t+=String.fromCharCode(n);return("function"==typeof btoa?btoa(t):Buffer.from(e).toString("base64")).replaceAll("+","-").replaceAll("/","_").replaceAll("=","")}(n)}function buildFrameAncestors(e={}){const{self:t=!0,origins:n=[],allowNone:r=!1}=e,i=/* @__PURE__ */new Set,o=[];if(r&&!t&&0===n.length)return"'none'";t&&(o.push("'self'"),i.add("'self'"));for(const e of n){const t=e.trim();0===t.length||i.has(t)||(i.add(t),o.push(t))}return o.length>0?o.join(" "):"'none'"}function buildScriptSrcWithNonce(e,t={}){if(0===e.length)throw new RangeError("buildScriptSrcWithNonce: nonce is empty");const{self:n=!0,extra:r=[],strictDynamic:i=!1}=t,o=[];n&&o.push("'self'"),o.push(`'nonce-${e}'`),i&&o.push("'strict-dynamic'");for(const e of r){const t=e.trim();t.length>0&&o.push(t)}return o.join(" ")}var uo="payload-live-preview.authorized-preview-context",co=Symbol.for(uo);function isAuthorizedPreviewContext(e){return"object"==typeof e&&null!==e&&!0===e[co]&&Object.isFrozen(e)}var ho={basic:{gates:"data updates are applied to bound elements",fallback:"none — every peer has it"},"schema-json":{gates:"field typing from fieldSchemaJSON (Payload 2.x) and the payload-2 profile",fallback:"field types come from DOM heuristics and Lexical auto-detection"},locale:{gates:"locale-aware field resolution (`title_de` before `title`) and the locale on island events",fallback:"bindings resolve the unsuffixed field value"},"preview-token":{gates:"per-message token validation (library extension)",fallback:"messages carry no token; validateToken cannot be satisfied"},"nested-arrays":{gates:"keyed array diffs below the top level",fallback:"array updates replace the whole array"},"recursive-diffs":{gates:"recursive object diffs",fallback:"nested objects re-render as a unit"},"document-events":{gates:"the `documentSave` runtime event, the document-save plugin and the payload-3 profile",fallback:"no documentSave event; a save is not distinguishable from an edit"},"relationship-events":{gates:"the `relationshipUpdate` runtime event and an unconditional re-render of the update that carries it",fallback:"a related document edited in a drawer shows up on the next data update only"}},fo="__livePreviewRouteRefresh";function registerRouteRefresh(e){const t="undefined"==typeof window?void 0:window;return void 0===t?()=>{}:(t[fo]=e,()=>{t[fo]===e&&(t[fo]=void 0)})}var po=Object.freeze({NoTrustedOrigin:"LP0101",ReferrerOnlyTrust:"LP0102",PluginIncompatible:"LP0103",ProfileFeatureOmitted:"LP0104",OrphanField:"LP0201",UnattributableUpdate:"LP0202",UnboundField:"LP0203",VisibilityGateDeferred:"LP0301",UnsafeAttributeWrite:"LP0401",TextTargetHasChildren:"LP0402",MissingArrayTemplate:"LP0403",StructuralItemUnkeyed:"LP0404",StructuralDuplicateKey:"LP0405",StructuralUnstableKeys:"LP0406",UnsupportedStrategy:"LP0407",UnknownValueFormat:"LP0408",SanitizerDroppedAttribute:"LP0409",UnrenderedBlockKept:"LP0410",UnfaithfulPatch:"LP0411",ServerFormatReplaced:"LP0412",UnrenderedBlockLost:"LP0413",MessageRejected:"LP0501",TokenRejected:"LP0502",ProtocolShapeUnknown:"LP0503",HandlerThrew:"LP0601",TransformThrew:"LP0602",RendererThrew:"LP0603",StartupFailed:"LP0605",ReadyFailed:"LP0606",HydrationWaitTimedOut:"LP0607",AuditRuntimeMissing:"LP0701",AuditNoFrameAncestors:"LP0702",AuditFrameOptionsBlocks:"LP0703",AuditBindingsExposed:"LP0704",AuditGateThresholdExceeded:"LP0705",AuditUnownedBindings:"LP0706",AuditNoBindings:"LP0707",AuditNotAPage:"LP0708",FragmentRequestFailed:"LP0801",FragmentResponseInvalid:"LP0802",FragmentUnauthorized:"LP0803",FragmentSuperseded:"LP0804",RouteRefreshLoop:"LP0805",FragmentStrategyUnavailable:"LP0806",UnboundChangeRefresh:"LP0807",EscalationUnavailable:"LP0808",V2ReadinessGap:"LP0709",RuntimeOnPublicPage:"LP0710"});function bind(e,t){return mo(e,t)}function bindByPath(e,t){const n=function(e){const t=[],n=new Proxy({},{get(e,r){if("symbol"!=typeof r)return/^\d+$/.test(r)||t.push(r),n}});try{e(n)}catch{}return t}(e);if(0===n.length)throw new Error("bindByPath: the picker did not read any field — return data.<field> instead of a constant");return mo(n.join("."),t)}function mo(e,t){if(0===e.length)throw new Error("bind: field name must be a non-empty string");const n={"data-payload-field":e};return void 0!==t?.attribute&&(n["data-payload-attribute"]=t.attribute),void 0!==t?.type&&(n["data-payload-type"]=t.type),!0===t?.richtext&&(n["data-payload-richtext"]=""),!0===t?.html&&(n["data-payload-html"]=""),void 0!==t?.locale&&(n["data-payload-locale"]=t.locale),void 0!==t?.alt&&(n["data-payload-alt"]=t.alt),void 0!==t?.href&&(n["data-payload-href"]=t.href),void 0!==t?.arrayTemplate&&(n["data-payload-array-template"]=t.arrayTemplate),n}var go=/^[a-z][a-z0-9-]{0,63}$/u,vo=Object.freeze({});function createPreviewBindings(e){const t=isAuthorizedPreviewContext(e.authorization),n=void 0!==e.owner&&e.owner.length>0?e.owner:void 0;return Object.freeze({authorized:t,bind:(e,n)=>t?bind(e,n):vo,bindByPath:(e,n)=>t?bindByPath(e,n):vo,owner:()=>t&&void 0!==n?{"data-payload-owner":n}:vo,boundary:(e,n={})=>{const r=function(e,t){if(!go.test(e))throw new RangeError(`createPreviewBindings().boundary(): "${e}" is not a registry id — lowercase, starting with a letter, then letters, digits or hyphens (max 64). The runtime would post it and the endpoint would refuse it.`);const n=t.key;if(void 0!==n&&(0===n.length||n.length>128))throw new RangeError(`createPreviewBindings().boundary(): the key for "${e}" must be 1 to ${String(128)} characters.`);const r=t.dependsOn??[];return{"data-payload-fragment":e,...void 0!==n?{"data-payload-fragment-key":n}:{},...r.length>0?{"data-payload-depends":r.join(",")}:{}}}(e,n);return t?r:vo}})}var yo=!0;export{uo as AUTHORIZED_PREVIEW_BRAND_KEY,h as CAPABILITY_DECLARATIONS,ho as CAPABILITY_DOCUMENTATION,yo as CORE_ENTRY,po as DIAGNOSTIC_CODES,EventEmitter,Fe as ISLAND_EVENT,c as LIBRARY_PROTOCOL_VERSION,LivePreviewClient,OriginDetector,f as PROTOCOL_CAPABILITIES,e as VERSION,bind,bindByPath,buildFrameAncestors,buildScriptSrcWithNonce,createPreviewBindings,detectInitialLocale,detectProtocolProfile,escapeHtml,escapeHtmlAttribute,generateCspNonce,hasCapability,initLivePreview,isAuthorizedPreviewContext,isDevMode,isExternalHttpUrl,isInIframe,isInPopup,isInPreviewContext,isInsideIsland,isSafeUrl,negotiateProtocol,registerRouteRefresh,sanitizeHtml,setCspCrypto,setSanitizerDocument};
|
|
1
|
+
var e="2.1.1";function detectInitialLocale(){return function(){if("undefined"==typeof document)return;const e=document.documentElement.getAttribute("lang");return null===e||0===e.length?void 0:e}()??function(){if("undefined"==typeof navigator)return;const e=navigator.language;return"string"==typeof e&&e.length>0?e:void 0}()??"en"}var t="payload-live-preview-a11y",n=/* @__PURE__ */new WeakMap;function r(e){null!==e.timer&&(clearTimeout(e.timer),e.timer=null),e.messageNode?.remove(),e.messageNode=null}var i=class{german;document;lease=null;constructor(e,t){const n=t??("undefined"==typeof document?null:document),r=n?.documentElement.getAttribute("lang")??"";this.german=function(e){return/^de(?:[-_]|$)/i.test(e)}(e??(r.length>0?r:detectInitialLocale())),this.document=n}mount(){const e=this.document;if(null==e?.body)return null;this.lease??=function(e){let t=n.get(e);return void 0===t&&(t={element:null,owned:!1,messageNode:null,refs:0,timer:null},n.set(e,t)),t.refs+=1,t}(e);const i=this.lease,o=i.element;if(o?.isConnected&&o.ownerDocument===e)return o;if(null!==o){const e=i.owned;r(i),e&&o.remove()}let s=e.getElementById(t);return i.owned=null===s,null===s&&(s=e.createElement("div"),s.id=t,s.setAttribute("role","status"),s.setAttribute("aria-live","polite"),s.setAttribute("aria-atomic","true"),s.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0",e.body.appendChild(s)),i.element=s,s}announceConnected(){this.say(this.german?"Vorschau verbunden":"Live preview connected")}announceDisconnected(){this.say(this.german?"Vorschau getrennt":"Live preview disconnected")}announceUpdate(e){e<=0||this.say(this.german?`${String(e)} ${1===e?"Änderung":"Änderungen"} angewendet`:`${String(e)} ${1===e?"change":"changes"} applied`)}announcePartial(){this.say(this.german?"Vorschau teilweise aktualisiert":"Preview partly updated")}detach(){const e=this.lease,t=this.document;if(null===e||null===t)return;if(this.lease=null,e.refs-=1,e.refs>0)return;const i=e.element;null!==i&&r(e),e.owned&&i?.remove(),e.element=null,n.delete(t)}say(e){const t=this.mount(),n=this.lease;if(null===t||null===n)return;let i=n.messageNode;i?.parentNode!==t?(i?.remove(),i=t.ownerDocument.createTextNode(t.hasChildNodes()?` ${e}`:e),n.messageNode=i,t.appendChild(i)):i.data=null===i.previousSibling?e:` ${e}`,null!==n.timer&&clearTimeout(n.timer);const o=setTimeout(()=>{n.timer===o&&n.element===t&&r(n)},1500);n.timer=o}};function o(e){if(++e.nodes>1e4)throw new Error("invalid or oversized field schema")}function s(e,t,n){if(o(t),n>64||t.active.has(e))throw new Error("invalid or oversized field schema");t.active.add(e)}function a(e){try{return l(e,{nodes:0,active:/* @__PURE__ */new WeakSet},0)}catch{return[]}}function l(e,t,n){if(!Array.isArray(e))return[];s(e,t,n);const r=[];for(const i of e){const e=u(i,t,n);e&&r.push(e)}return t.active.delete(e),r}function u(e,t,n){if(o(t),"object"!=typeof e||null===e)return;const r=e,i=r.name,a=r.type;if("string"!=typeof i||0===i.length)return;if("string"!=typeof a||0===a.length)return;const u=l(r.fields,t,n+1),d=function(e,t,n){if("object"==typeof e&&null!==e&&!Array.isArray(e)){s(e,t,n);const r=[];for(const i in e){if(!Object.hasOwn(e,i))continue;o(t);const s=Reflect.get(e,i);"object"!=typeof s||null===s||["__proto__","constructor","prototype"].includes(i)||r.push({...s,slug:i,fields:l(s.fields,t,n+1)})}return t.active.delete(e),r}if(!Array.isArray(e))return[];s(e,t,n);const r=[];for(const i of e){if(o(t),"object"!=typeof i||null===i)continue;const e=i,s=e.slug;if("string"!=typeof s||0===s.length)continue;const a=l(e.fields,t,n+1);r.push({...e,slug:s,fields:a})}return t.active.delete(e),r}(r.blocks,t,n+1),c={...r,name:i,type:a},h=r.relationTo;if(Array.isArray(h)){const e=[];for(const n of h)o(t),e.push(n);c.relationTo=e}return u.length>0?c.fields=u:delete c.fields,d.length>0?c.blocks=d:delete c.blocks,c}function d(e,t){return void 0===e||t(e)}function c(e,t){return null==e||t(e)}function h(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}var f=["data","fieldSchemaJSON","globalSlug","collectionSlug","locale","ready","previewToken","protocolVersion"],p=4,g={basic:{since:1},"schema-json":{since:2,observed:"schema"},locale:{since:2,observed:"locale"},"preview-token":{since:3,observed:"preview-token"},"nested-arrays":{since:4},"recursive-diffs":{since:4},"document-events":{since:4,observed:"document-event"},"relationship-events":{since:4,observed:"relationship-event"}},m=Object.keys(g);function negotiateProtocol(e,t=[]){const n="number"==typeof e&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0,r=n??1,i=Math.min(4,r),o=new Set(t),s=/* @__PURE__ */new Set;for(const e of m)(i>=g[e].since||o.has(e))&&s.add(e);return{ours:4,...void 0!==n?{theirs:n}:{theirs:void 0},negotiated:i,capabilities:s,observed:o}}function hasCapability(e,t){return e.capabilities.has(t)}function v(e){return("object"==typeof e&&null!==e||"function"==typeof e)&&"function"==typeof e.then&&(Promise.resolve(e).catch(()=>{}),!0)}function y(e,t){return e.generation===t.generation&&e.revision===t.revision}var b=class{matcher;handlers;boundListener=void 0;attachedTarget=void 0;generation=0;revision=0;queueHead=void 0;queueTail=void 0;lastAccepted=void 0;replayedGeneration=0;latestAcceptedAttempt=void 0;constructor(e,t){this.matcher=e,this.handlers=t}attach(e=window){if(void 0!==this.attachedTarget)return;let t=!1;const n=r=>{if(!t||this.boundListener!==n)return;const i=this.generation;try{this.receive(r,i,e)}catch{let e;try{e=r.origin}catch{e=""}this.reportInvalid("shape",e,i)}};this.generation+=1,this.resetQueue(),this.attachedTarget=e,this.boundListener=n;try{e.addEventListener("message",n)}catch(t){this.boundListener===n&&(this.attachedTarget=void 0,this.boundListener=void 0,this.resetQueue());try{e.removeEventListener("message",n)}catch{}throw t}if(this.boundListener===n)t=!0;else try{e.removeEventListener("message",n)}catch{}}detach(){const e=this.attachedTarget,t=this.boundListener;void 0!==e&&void 0!==t&&(this.attachedTarget=void 0,this.boundListener=void 0,this.resetQueue(),e.removeEventListener("message",t))}advanceGeneration(){return void 0!==this.attachedTarget&&(this.generation+=1,this.resetQueue(),!0)}replayLastAccepted(){const e=this.lastAccepted,t=this.generation,n=this.handlers.onReplay;if(void 0===n||void 0===e||e.generation>=t||this.replayedGeneration===t)return!1;if(!this.matchesOrigin(e.origin,t)||this.lastAccepted!==e)return!1;this.replayedGeneration=t;const r={generation:t,revision:this.revision+=1};return this.invokeHandler(t,n,structuredClone(e.message),e.origin,r),!0}forgetLastAccepted(){this.lastAccepted=void 0,this.replayedGeneration=0,this.latestAcceptedAttempt=void 0}static sendReady(e,t){const n={type:"payload-live-preview",ready:!0,protocolVersion:4};for(const r of e)for(const e of t)try{r.postMessage(n,e)}catch{}}receive(e,t,n){const r=e.origin;if(!this.matchesOrigin(r,t))return void this.reportInvalid("origin",r,t);if(!this.matchesSource(e,n))return void this.reportInvalid("source",r,t);const i=e.data;var o;if("object"==typeof(o=i)&&null!==o&&"type"in o&&"string"==typeof o.type)switch(i.type){case"payload-live-preview":return function(e){const t=e;return!(void 0!==t.data&&null!==t.data&&!h(t.data))&&c(t.fieldSchemaJSON,e=>Array.isArray(e))&&c(t.globalSlug,e=>"string"==typeof e)&&c(t.collectionSlug,e=>"string"==typeof e)&&c(t.locale,e=>"string"==typeof e)&&c(t.ready,e=>"boolean"==typeof e)&&c(t.previewToken,e=>"string"==typeof e)&&c(t.protocolVersion,e=>"number"==typeof e)}(i)?void this.dispatchUpdate(function(e){const t={...e};for(const e of f)null===Reflect.get(t,e)&&Reflect.deleteProperty(t,e);return Array.isArray(t.fieldSchemaJSON)?{...t,fieldSchemaJSON:a(t.fieldSchemaJSON)}:t}(i),r,t):void this.reportInvalid("shape",r,t);case"payload-document-event":return function(e){const t=e;return d(t.action,e=>"updated"===e||"created"===e||"deleted"===e)&&d(t.slug,e=>"string"==typeof e)&&d(t.id,e=>"string"==typeof e||Number.isFinite(e))}(i)?void this.invokeHandler(t,this.handlers.onDocumentEvent,i,r):void this.reportInvalid("shape",r,t);case"payload-live-preview-focus":{const e=function(e){const t=e.field;return"string"==typeof t&&t.length>0?t:void 0}(i);return void 0===e?void this.reportInvalid("shape",r,t):void this.invokeHandler(t,this.handlers.onFocusField,e,r)}default:this.reportInvalid("type",r,t)}else this.reportInvalid("shape",r,t)}dispatchUpdate(e,t,n){const r=h(e.data);if(!this.isCurrentGeneration(n))return;const i=r?{generation:n,revision:this.revision+=1}:void 0,o=this.handlers.validateToken;if(!this.isCurrentGeneration(n))return;if(void 0===o)return void this.commitUpdate(e,t,n,i);if(!0===e.ready&&void 0===e.data)return void this.commitUpdate(e,t,n,void 0);const s={generation:n,message:e,origin:t,messageRevision:i,verdict:void 0,next:void 0};let a;this.enqueue(s);try{a=o(e.previewToken,t)}catch{return void this.settleValidation(s,!1)}"boolean"!=typeof a?Promise.resolve(a).then(e=>{this.settleValidation(s,!0===e)},()=>{this.settleValidation(s,!1)}):this.settleValidation(s,a)}settleValidation(e,t){e.verdict=t,this.drainQueue(e.generation)}drainQueue(e){for(;this.isCurrentGeneration(e);){const t=this.queueHead;if(void 0===t)return;if(this.matchesOrigin(t.origin,e)){if(void 0===t.verdict)return;this.dequeue(t)&&(t.verdict?this.commitUpdate(t.message,t.origin,t.generation,t.messageRevision):this.reportInvalid("token",t.origin,t.generation))}else{if(!this.dequeue(t))continue;this.reportInvalid("origin",t.origin,t.generation)}}}commitUpdate(e,t,n,r){if(void 0===r)this.invokeHandler(n,this.handlers.onUpdate,e,t);else{const i={};this.latestAcceptedAttempt=i;const o=function(e){const t={...e};delete t.previewToken;try{return structuredClone(t)}catch{return null}}(e);if(this.latestAcceptedAttempt!==i||!this.isCurrentGeneration(n))return;this.lastAccepted=null===o?void 0:{generation:n,message:o,origin:t},this.invokeHandler(n,this.handlers.onUpdate,e,t,r)}}reportInvalid(e,t,n){this.invokeHandler(n,this.handlers.onInvalid,e,t)}matchesSource(e,t){if("parent-or-opener"!==this.handlers.sourcePolicy)return!0;try{const n=e.source;if("object"!=typeof n||null===n)return!1;const r=t.parent;return r!==t&&n===r||n===t.opener}catch{return!1}}matchesOrigin(e,t){try{return!0===(this.isCurrentGeneration(t)&&this.matcher(e))&&this.isCurrentGeneration(t)}catch{return!1}}invokeHandler(e,t,...n){if(void 0!==t&&this.isCurrentGeneration(e))try{v(t(...n))}catch{}}isCurrentGeneration(e){return void 0!==this.attachedTarget&&this.generation===e}enqueue(e){void 0===this.queueTail?this.queueHead=e:this.queueTail.next=e,this.queueTail=e}dequeue(e){return this.queueHead===e&&(this.queueHead=e.next,void 0===this.queueHead&&(this.queueTail=void 0),!0)}resetQueue(){this.queueHead=void 0,this.queueTail=void 0}};function w(e){return(...t)=>{try{v(e(...t))}catch{}}}function S(){}var A=w((...e)=>console.error(...e)),k=w((...e)=>console.warn(...e)),R=w((...e)=>console.debug(...e)),T={"structural arrays":'data-payload-type="array" and keyed lists',"array templates":"data-payload-array-template","server-rendered fragments":"data-payload-fragment boundaries","route refreshes":'data-payload-strategy="route" and bindings in <head>',"screen-reader announcements":"the aria-live region","auto-binding":"autoBind: 'unique'"},C=/* @__PURE__ */new Set;function $(e){C.has(e)||(C.add(e),k(`[live-preview] LP0104: this page carries the lean runtime, which leaves out ${e} (${T[e]}). The elements are left as the server rendered them. Remove \`runtime: LEAN_RUNTIME\` to get the full runtime.`))}function P(e){return"undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__?function(e){return!1!==e.enableA11y&&$("screen-reader announcements"),null}(e):function(e){if(!1===e.enableA11y)return null;const t=e.root,n=void 0===t?void 0:function(e){return 9===e.nodeType}(t)?t:t.ownerDocument;return new i(e.a11yLocale,n)}(e)}function L(e){if("undefined"==typeof window)return;const t=[];window.parent!==window&&t.push(window.parent),window.opener instanceof Window&&t.push(window.opener),b.sendReady(t,e)}function N(e){const t={};for(const[n,r]of Object.entries(e))void 0!==r&&(t[n]=r);return t}var F=/* @__PURE__ */new Set(["tabs","row","collapsible"]);function U(e,t,n,r){for(const i of e){if(F.has(i.type)){const e=i.fields;e&&U(e,r&&"tabs"===i.type?""===t?i.name:`${t}.${i.name}`:t,n,r);continue}const e=""===t?i.name:`${t}.${i.name}`;if(n.set(e,i),"group"===i.type)i.fields&&U(i.fields,e,n,r);else if("array"===i.type&&i.fields)U(i.fields,`${e}.*`,n,r);else if("blocks"===i.type&&i.blocks)for(const t of i.blocks)U(t.fields,`${e}.*.${t.slug}`,n,r)}}function x(e,t){if(e.has(t))return e.get(t);const n=t.replace(/\.\d+(?=\.|$)/g,".*");return e.has(n)?e.get(n):void 0}function M(e){if("object"!=typeof e||null===e)return;const t=e.id;return"string"==typeof t||"number"==typeof t?t:void 0}function E(e){if("object"!=typeof e||null===e)return;const t=e.blockType;return"string"==typeof t?t:void 0}function O(e,t){return t.every(e=>void 0!==M(e))?function(e,t){const n=[],r=/* @__PURE__ */new Map;for(let t=0;t<e.length;t+=1){const n=M(e[t]);void 0!==n&&r.set(n,t)}const i=/* @__PURE__ */new Set;for(let o=0;o<t.length;o+=1){const s=t[o],a=M(s);if(void 0===a){n.push({kind:"insert",index:o,value:s});continue}const l=r.get(a);if(void 0===l){n.push({kind:"insert",index:o,value:s});continue}i.add(l);const u=e[l];E(u)===E(s)?(l!==o&&n.push({kind:"move",from:l,to:o,value:s}),I(u,s)||n.push({kind:"update",index:o,value:s})):n.push({kind:"replace",index:o,oldValue:u,value:s})}for(let t=0;t<e.length;t+=1)i.has(t)||n.push({kind:"remove",index:t,value:e[t]});return n}(e,t):function(e,t){const n=[],r=Math.min(e.length,t.length);for(let i=0;i<r;i+=1)I(e[i],t[i])||n.push({kind:"update",index:i,value:t[i]});if(t.length>e.length)for(let r=e.length;r<t.length;r+=1)n.push({kind:"insert",index:r,value:t[r]});if(e.length>t.length)for(let r=t.length;r<e.length;r+=1)n.push({kind:"remove",index:r,value:e[r]});return n}(e,t)}function I(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;const n=e,r=t,i=Object.keys(n),o=Object.keys(r);if(i.length!==o.length)return!1;for(const e of i)if(!Object.is(n[e],r[e]))return!1;return!0}var D={text:"text",textarea:"textarea",richText:"richText",email:"email",number:"number",checkbox:"checkbox",date:"date",select:"select",radio:"radio",array:"array",blocks:"blocks",group:"text",tabs:"text",row:"text",collapsible:"text",relationship:"relationship",upload:"upload",point:"text",json:"text",code:"text",ui:"text"},B=/* @__PURE__ */new Set(["http:","https:","mailto:","tel:"]),z=/^(?:\.{1,2}\/|[a-zA-Z0-9_-]+\/?)/,_=/^[\\/]{2}/,j=/[\t\n\r]/g,H=/[\s\u0000-\u001f\u180e\u2000-\u2029]/g,W=/^([a-z][a-z0-9+.-]*):/i;function isSafeUrl(e){if("string"!=typeof e)return!1;const t=e.trim().replace(j,"");if(0===t.length)return!1;if(t.startsWith("#")||t.startsWith("?"))return!0;if(_.test(t))return!0;if(t.startsWith("/"))return!0;try{const e=new URL(t);return B.has(e.protocol)}catch{return z.test(t)&&!function(e){const t=W.exec(e.replace(H,""))?.[1];return void 0!==t&&!B.has(`${t.toLowerCase()}:`)}(t)}}function isExternalHttpUrl(e){const t=e.trim().replace(j,"");return/^https?:\/\//i.test(t)||_.test(t)}var q=/* @__PURE__ */new Set(["style","srcdoc","formaction","form","id","name","is","srcset","imagesrcset"]),V=/* @__PURE__ */new Set(["href","src","poster","cite","action","xlink:href","data"]);function G(e){return!e.startsWith("on")&&!q.has(e)}function K(e){return e.onUnfaithfulPatch??("ignore"===e.onUnboundChange?"ignore":"escalate")}function J(e,t,n,r){const i=e.onUnfaithfulPatch,o=t.reportedUnfaithful.has(n.element);(o||"escalate"!==i)&&t.display.shortfall(t.activeUpdate,{kind:"unfaithful",field:n.fieldName}),o||(t.reportedUnfaithful.add(n.element),t.unfaithfulCount+=1,t.unfaithfulFields.add(n.fieldName),"ignore"!==i&&("warn"!==i?(e.log("LP0411",n.fieldName,r),t.unfaithfulPatches.push(n)):e.warn(`[live-preview] LP0411: "${n.fieldName}" ${r}`)))}function Q(e,t){return!e.unfaithfulFields.has(t)&&(e.unfaithfulFields.add(t),e.unfaithfulCount+=1,!0)}var X=/* @__PURE__ */new Set(["date","number","checkbox"]);function Z(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName?e.value:e.textContent}function Y(e){const t=e.trim();return JSON.stringify(t.length>40?`${t.slice(0,40)}…`:t)}var ee=/* @__PURE__ */new WeakSet;function te(e){return ee.add(e),e}function ne(e){switch(typeof e){case"string":return e.length>65536?void 0:`s:${e}`;case"number":return`n:${Object.is(e,-0)?"-0":String(e)}`;case"boolean":return"b:"+(e?"1":"0");case"bigint":return`i:${String(e)}`;case"undefined":return"u";case"object":{if(null===e)return"z";let t;try{t=JSON.stringify(e)}catch{return}return t.length>65536?void 0:`o:${t}`}case"symbol":case"function":return}}var re=class{previous=null;lastFields;priorFields;keepValues=!1;get previousFields(){return this.priorFields}get isBaseline(){return null===this.previous}diff(e,t,n=ie){const r=this.previous,i=null===r,o=/* @__PURE__ */new Map,s=/* @__PURE__ */new Set,a=Object.entries(e);if(!n())return null;for(const[e,t]of a){const i=ne(t);if(!n())return null;o.set(e,i),null!==r&&void 0!==i&&r.get(e)===i||s.add(e)}if(null!==r)for(const e of r.keys())o.has(e)||s.add(e);const l=/* @__PURE__ */new Set,u=Object.entries(t);if(!n())return null;for(const[e,t]of u)if(s.has(e))for(const e of t)if(l.add(e),!n())return null;return n()?(this.previous=o,this.priorFields=this.keepValues?this.lastFields:void 0,this.lastFields=this.keepValues?e:void 0,{changed:s,invalidated:l,baseline:i}):null}reset(){this.previous=null,this.lastFields=void 0,this.priorFields=void 0}};function ie(){return!0}var oe="data-payload-fragment",se="data-payload-fragment-key";function ae(e){return e.closest(`[${oe}]`)}function le(e){const t=e.getAttribute("data-payload-strategy");return null!==t&&t.length>0?"patch"===t||"fragment"===t||"route"===t?t:void 0:null!==ae(e)?"fragment":null!==e.closest("head")?"route":"patch"}function ue(e,t){return void 0===t||""===t?`collection:${e}`:`collection:${e}:${t}`}function de(e){return"string"==typeof e&&e.length>0}function ce(e,t){return null!==t&&void 0!==e&&t.includes(e)}function he(e){const t=e.id;return"string"==typeof t&&t.length>0?t:"number"==typeof t&&Number.isFinite(t)?String(t):void 0}function fe(e){return"object"==typeof e&&null!==e}function pe(e){return Array.isArray(e)?"array":fe(e)?"object":"scalar"}function ge(e,t){return fe(e)?e[t]:void 0}function me(e,t,n,r){const i=[];let o=0;const s=(e,t,n,a)=>{if(o+=1,r.covers(e))return;const l=ne(n);if(void 0!==l&&l===ne(t))return;if(!((void 0===t||pe(t)===pe(n))&&fe(n)&&r.reachesBelow(e)&&a<8))return void i.push({path:e,value:n});const u=function(e,t){const n=new Set(Object.keys(t));if(fe(e))for(const t of Object.keys(e))n.add(t);return[...n]}(t,n);0===u.length&&i.push({path:e,value:n});for(const r of u){if(o>=1024)return void i.push({path:e,value:n});s(`${e}.${r}`,ge(t,r),ge(n,r),a+1)}};return s(e,t,n,0),i}var ve=/* @__PURE__ */new Set(["id","_id","createdAt","updatedAt","createdBy","updatedBy","_status","globalType","collection","locale","localized"]);function ye(e,t,n={}){const r=e=>!1===t||ce(e,t),i=[];for(const[t,n]of e.entries())n.some(e=>r(e.owner))&&i.push(t);const o=e.rendered.filter(e=>void 0!==n[e.strategy]);return function(e,t){const n=new Set(e),r=[...t],i=(e,t)=>{const n=`${t}.`;for(const t of e)if(t.startsWith(n))return!0;return!1};return{covers:e=>n.has(e)||r.some(t=>t===e||e.startsWith(`${t}.`)),reachesBelow:e=>i(n,e)||i(r,e)}}(i,[...e.covers,...o].filter(e=>r(e.owner)).flatMap(e=>e.paths))}function be(e,t){if(void 0===t||0===t.length)return e;const n=`_${t}`;return e.endsWith(n)?e.slice(0,-n.length):e}function we(e,t,n,r=ye(e,n)){let i;const o=r.covers,s=r.reachesBelow;return r=>{const a=be(r,t);return o(r)||a!==r&&o(a)?"whole":(i??=function(e,t){const n=/* @__PURE__ */new Set;for(const[r,i]of e.entries())for(const e of i)(!1===t||ce(e.owner,t))&&void 0!==e.locale&&n.add(`${r}_${e.locale}`);return n}(e,n),i.has(r)?"whole":s(r)||a!==r&&s(a)?"below":"none")}}function Se(e,t,n){return"declared"===e&&void 0!==t&&void 0!==n?{previous:t,next:n}:void 0}function Ae(e,t,n,r,i,o){const s=ye(e,r,o),a=we(e,n,r,s),l=[];for(const e of t){if(ve.has(e))continue;const t=a(e);if("none"===t&&l.push(e),"below"!==t||void 0===i)continue;const r=be(e,n),{previous:o,next:u}=i;for(const{path:t}of me(r,o[e],u[e],s))l.push(t)}return l}var ke=/* @__PURE__ */new Set(["text","textarea","email","number","checkbox","date","select","radio","point","code","json","ui","html"]),Re={},Te=class{rawChanges=new re;resolved=null;resolvedLocale=null;trailing=null;openUntil=0;requestAttempt=0;decide(e,t){const n=t.rawData;if(!function(e){const{cache:t,emitter:n}=e;if(t.islands.length>0)return!0;if(n.listenerCount("beforeUpdate")>0||n.listenerCount("afterUpdate")>0)return!0;for(const e of t.values()){if($e(e)||e.fieldName.includes("."))return!0;if(Le(e.hrefField)||Le(e.srcField)||Le(e.altField))return!0}return void 0!==e.strategies.fragment&&null!==e.root.querySelector(`[${oe}]`)}(e))return t.forceRender&&(this.resolvedLocale=null),{merge:!1,fields:n};const{changed:r}=this.rawChanges.diff(n,Re),i=this.resolvedLocale!==t.locale,o=this.resolved;if(null===o)return this.resolved=n,{merge:!0,fields:n};const s={...o};t.forceRender&&(this.resolvedLocale=null);let a=t.forceRender||i;for(const i of r){const r=n[i];if(ve.has(i)){s[i]=r;continue}const l=Ce(i,o[i],r,e.cache,t.schemaIndex);"own"!==l&&(a=!0,this.resolvedLocale=null),"keep"!==l&&(s[i]=r)}return this.resolved=s,{merge:a,fields:s}}request(e,t,n){const r=++this.requestAttempt,i=Date.now();if(i>=this.openUntil)return this.openUntil=i+t,this.dropQueued(),this.requestAttempt!==r?{leading:!0,result:Promise.resolve({status:"superseded"})}:{leading:!0,result:e.merge(n)};const o=this.trailing,s=o?.pending??function(){let e;return{promise:new Promise(t=>{e=t}),settle:e}}(),a={request:n,pending:s,timer:null};if(this.trailing=a,this.openUntil=i+t,null!==o&&null!==o.timer&&clearTimeout(o.timer),this.trailing!==a)return{leading:!1,result:s.promise};const l=setTimeout(()=>{this.flush(e,a)},t);return this.trailing===a?a.timer=l:clearTimeout(l),{leading:!1,result:s.promise}}recordMerged(e,t){this.resolved=e,this.resolvedLocale=t}resetRawChanges(){this.rawChanges.reset()}destroy(){this.requestAttempt+=1,this.openUntil=0,this.dropQueued()}dropQueued(){const e=this.trailing;this.trailing=null,null!==e&&(null!==e.timer&&clearTimeout(e.timer),e.pending.settle({status:"superseded"}))}flush(e,t){this.trailing===t&&(this.trailing=null,t.timer=null,e.merge(t.request).then(t.pending.settle))}};function Ce(e,t,n,r,i){return Pe(n)?!Pe(t)||function(e,t,n){const r=void 0===n?void 0:x(n,e);return void 0!==r&&!ke.has(r.type)||!0===t.get(e)?.some($e)||function(e,t){const n=`${t}.`;for(const[t,r]of e.entries())if(t.startsWith(n))return!0;return!1}(t,e)}(e,r,i)?"keep":null==t?"ask":"own":"ask"}function $e(e){return!ke.has(e.fieldType)}function Pe(e){return null===e||"object"!=typeof e&&"function"!=typeof e}function Le(e){return!0===e?.includes(".")}var Ne=class{negotiation=negotiateProtocol(void 0);observed=/* @__PURE__ */new Set;observe(e,t){const n=e.filter(e=>!this.observed.has(e));if(0!==n.length){for(const e of n)this.observed.add(e);this.negotiation=negotiateProtocol(this.negotiation.theirs,this.observed),t("protocol",`observed=${n.join(",")}`)}}applyVersion(e,t){const n=this.negotiation;if(n.theirs===e)return;const r=negotiateProtocol(e,this.observed);this.negotiation=r,r.negotiated!==n.negotiated&&t("protocol","ours=4",`theirs=${e}`,`negotiated=${r.negotiated}`)}};function Fe(e,t){const n=t.globalSlug??t.collectionSlug;if("string"!=typeof n||e.entitySlug!==n)return!0;const r=he(e),i=he(t.data??{});return void 0!==r&&void 0!==i&&r!==i}function Ue(e){return null!==e&&e.forceRender&&!e.completed}var xe=class{lastIdentity=void 0;inspect(e){const t=e.externallyUpdatedRelationship;if("object"!=typeof t||null===t)return null;const n=JSON.stringify([t.entitySlug,he(t),t.updatedAt]);return{identity:n,edit:n!==this.lastIdentity&&Fe(t,e)?t:null}}commit(e){const t=e.identity!==this.lastIdentity;return this.lastIdentity=e.identity,t?e.edit:null}};function Me(e){try{return!0===e.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}}var Ee=class{#e;reveal(e,t,n){return e===this.#e?"skipped-same":(this.#e=e,function(e,t){return function(e,t){const n=e.getBoundingClientRect(),r=n.bottom>0&&n.top<t.innerHeight,i=n.right>0&&n.left<t.innerWidth;return r&&i}(e,t)?"already-visible":(e.scrollIntoView({behavior:Me(t)?"auto":"smooth",block:"center"}),"revealed")}(t,n))}reset(){this.#e=void 0}};function Oe(e,t){const n=t.element.ownerDocument.defaultView;return null===n?"no-element":e.reveal(`${t.owner??""} ${t.fieldName}`,t.element,n)}var Ie=class{seen=/* @__PURE__ */new Map;note(e,t,n){const r=ne(n);if(void 0===r)return;const i=`${t.owner??""}\0${t.locale??""}\0${t.fieldName}`,o=this.seen.get(i);void 0!==o?o!==r&&(e.revealIdentities.push([i,r]),e.revealTarget??=t):this.seen.set(i,r)}commit(e){for(const[t,n]of e.revealIdentities)this.seen.set(t,n);e.revealIdentities=[];const t=e.revealTarget;return e.revealTarget=void 0,t}},De=()=>{},Be=class{host={outstanding:()=>!1,report:De,failed:De};entry=null;ended;begin(e,t){const n=this.entry,r=null===n?void 0:this.view(n);null!==n&&(n.key=void 0),this.ended=void 0,this.entry={key:e,revision:t,shortfalls:[],seen:/* @__PURE__ */new Set,deferred:0,awaiting:0,reported:void 0,queued:!1},null!==n&&void 0!==r&&this.publish(n,"pending"===r.state?{...r,state:"superseded"}:r)}end(){const e=this.entry;if(null!==e){this.entry=null;try{this.ended=this.view(e)}finally{e.key=void 0}}}snapshot(){return null!==this.entry?this.view(this.entry):void 0===this.ended?void 0:{...this.ended,shortfalls:[...this.ended.shortfalls]}}shortfall(e,t){const n=this.entry;if(n?.key!==e)return;const r=JSON.stringify(t);n.seen.has(r)||(n.seen.add(r),n.shortfalls.push(t),this.requestSettle(n.key))}deferred(e,t){this.entry?.key===e&&(this.entry.deferred=t)}handIsland(e){const t=this.entry;if(t?.key!==e)return De;t.awaiting+=1;let n=!1;return()=>{n||this.entry!==t||(n=!0,t.awaiting-=1,this.settle(t))}}requestSettle(e){const t=this.entry;t?.key!==e||t.queued||(t.queued=!0,queueMicrotask(()=>{t.queued=!1;try{this.entry===t&&this.settle(t)}catch(e){this.host.failed(e)}}))}settle(e){const t=this.view(e);"pending"!==t.state&&this.publish(e,t)}publish(e,t){e.reported!==t.state&&(e.reported=t.state,this.host.report(t))}view(e){const t=void 0!==e.key&&this.host.outstanding(e.key)?"pending":e.shortfalls.length>0?"partial":e.awaiting>0?"unconfirmed":"current";return{revision:e.revision,state:t,shortfalls:[...e.shortfalls],deferred:e.deferred,awaitingIslands:e.awaiting}}};function ze(e){const t=e.getAttribute(se);return{kind:"fragment",id:e.getAttribute(oe)??"",key:null===t||0===t.length?void 0:t,code:"LP0801"}}var _e=class{started=!1;suspended=!1;deferredStart=null;hydration="idle";activeUpdate=null;locale=void 0;schema=void 0;schemaIndex=void 0;updateCount=0;supersededCount=0;completedCount=0;skippedUnchangedCount=0;lastFlush=null;absentFields=/* @__PURE__ */new Set;warnedOrphanFields=/* @__PURE__ */new Set;warnedStrategy=/* @__PURE__ */new WeakSet;warnedUnattributableMessage=!1;warnedVisibilityGate=!1;warnedFragmentFallback=!1;warnedIslandStart=!1;warnedEscalationUnavailable=!1;warnedProtocolShape=!1;reportedUnfaithful=/* @__PURE__ */new WeakSet;checkedServerFormat=/* @__PURE__ */new WeakSet;unfaithfulPatches=[];unfaithfulCount=0;escalatedCount=0;unfaithfulFields=/* @__PURE__ */new Set;autoBindSearchMs=void 0;autoBindGuesses=null;warnedForeignSource=!1;lastAppliedIdentity=/* @__PURE__ */new WeakMap;navigationReplayPending=!1;navigationBindingReplay=!1;revealLedger=new Ie;display=new Be;fragmentStats={rendered:0,failed:0,superseded:0};routeStats={refreshes:0,partial:0,failed:0,refused:0,loopStopped:0};fragmentControllers=/* @__PURE__ */new Map;routeController=null;routeRetry=null;routeRefreshOwed=!1;fragmentsOwed=/* @__PURE__ */new Set;readyTimers=[];revealer=new Ee;changes=new re;merges=new Te;protocol=new Ne;relationships=new xe;isRunning(){return this.started}isCurrent(e){return this.started&&this.activeUpdate===e}complete(e){this.display.requestSettle(e),e.completed||(e.completed=!0,e.countsAsUpdate&&(this.completedCount+=1))}forgetOwedWork(){this.routeRefreshOwed=!1,this.fragmentsOwed.clear()}supersedeStrategies(){null!==this.routeRetry&&(clearTimeout(this.routeRetry),this.routeRetry=null,this.routeRefreshOwed=!0);for(const[e,t]of this.fragmentControllers){for(const e of t)this.fragmentsOwed.add(e);e.abort()}this.fragmentControllers.clear()}abortStrategies(){this.supersedeStrategies();const e=this.routeController;this.routeController=null,e?.abort()}},je=class{constructor(e,t){this.deps=e,this.state=t,this.instanceContext=N({renderRichText:e.renderRichText,sanitizerPolicy:e.sanitizerPolicy,serverURL:e.serverURL,reportUnfaithful:(n,r)=>{J(e,t,n,r)}})}deps;state;instanceContext;apply(e){const{deps:t,state:n}=this,r=n.activeUpdate;if(null===r||void 0===e.revision||!y(r.revision,e.revision)||!n.isCurrent(r))return!1;const{target:i,value:o}=e,s=void 0!==r.schemaIndex?x(r.schemaIndex,i.fieldName):void 0;let a,l=function(e,t){if(e.explicitFieldType)return e.fieldType;if(void 0!==t){const e=function(e){if(Object.prototype.hasOwnProperty.call(D,e))return D[e]}(t);if(void 0!==e)return e}return e.fieldType}(i,s?.type);"text"===l&&!0!==i.explicitFieldType&&function(e){if("object"!=typeof e||null===e||!("root"in e))return!1;const t=e.root;return"object"==typeof t&&null!==t&&Array.isArray(t.children)}(o)&&(l="richText");try{a=t.resolveRenderer(l,i)}catch(e){return this.fail(r,i.fieldName,e)}if(!n.isCurrent(r))return!1;const u=t.emitter.listenerCount("elementUpdate")>0,d=u?"INPUT"===(c=i.element).tagName||"TEXTAREA"===c.tagName?c.value:"IMG"===c.tagName?c.src:c.textContent:void 0;var c;if(!n.isCurrent(r))return!1;const h={allFields:e.allFields,locale:i.locale??r.locale,schema:s,...this.instanceContext};!0===i.hidesWhenEmpty&&i.element.toggleAttribute("hidden",function(e){return null==e||("string"==typeof e?0===e.trim().length:Array.isArray(e)&&0===e.length)}(o));try{if(void 0!==i.targetAttribute){if("blocked"===function(e,t,n){const r=t.toLowerCase().trim();if(0===r.length)return"blocked";if(!G(r))return"blocked";if(null==n)return e.removeAttribute(r),"applied";if("string"!=typeof n&&"number"!=typeof n&&"boolean"!=typeof n)return"blocked";const i=String(n);return V.has(r)&&!isSafeUrl(i)?"blocked":(e.setAttribute(r,i),"applied")}(i.element,i.targetAttribute,o))return t.warn(`[live-preview] LP0401: refused to write "${i.fieldName}" into attribute "${i.targetAttribute}"`),n.display.shortfall(r,{kind:"write",field:i.fieldName,code:"LP0401"}),!1}else{if(void 0===a)return t.log("no renderer for",l),J(t,n,i,`has no renderer for "${l}"`),!1;{const e=function(e,t,n,r){if("ignore"===e.onUnfaithfulPatch)return;if(void 0!==n.format||!X.has(r))return;if(t.checkedServerFormat.has(n.element))return;t.checkedServerFormat.add(n.element);const i=Z(n.element);return i.trim().length>0?i:void 0}(t,n,i,l),r=function(e,t,n,r){return e.render(t,n,r)}(a,i,o,h);if(!1===r&&function(e){return ee.has(e.render)}(a))return J(t,n,i,`is a value ${a.name} cannot render`),!1;void 0!==e&&function(e,t,n){const r=Z(t.element);r!==n&&e.warn(`[live-preview] LP0412: "${t.fieldName}" showed ${Y(n)}, the patch wrote ${Y(r)} — either an edit that arrived before the preview connected, or a template that formats this value differently. Set data-payload-format to match it.`)}(t,i,e)}}}catch(e){return this.fail(r,i.fieldName,e)}if(!n.isCurrent(r))return!1;u&&t.emitter.emitWhile("elementUpdate",{element:i.element,fieldName:i.fieldName,previousValue:d,nextValue:o,revision:r.revision.revision,receivedAt:r.receivedAt,source:"patch"},()=>n.isCurrent(r));const f=n.isCurrent(r);return f&&(void 0!==e.valueIdentity?n.lastAppliedIdentity.set(i.element,e.valueIdentity):n.lastAppliedIdentity.delete(i.element)),f}fail(e,t,n){if(!this.state.isCurrent(e))return!1;this.state.display.shortfall(e,{kind:"write",field:t,code:"LP0603"});const r=n instanceof Error?n:new Error(String(n));return this.deps.emitter.emitWhile("error",{error:r,context:"renderer",code:"LP0603"},()=>this.state.isCurrent(e)),!1}};function He(e){if(null==e)return[];const t=/* @__PURE__ */new Set,n=[];for(const r of e.split(/[\s,]+/)){const e=r.trim();0===e.length||t.has(e)||(t.add(e),n.push(e))}return n}function We(...e){const t=/* @__PURE__ */new Map;for(const n of e)for(const[e,r]of Object.entries(n)){let n=t.get(e);void 0===n&&(n=/* @__PURE__ */new Set,t.set(e,n));for(const e of r)n.add(e)}const n={};for(const[e,r]of t)n[e]=[...r];return n}function qe(e,t){const n={};for(const r of t)r!==e&&(n[r]=[e]);return n}var Ve="payload-live-preview:update",Ge="data-payload-island",Ke=`astro-island, [${Ge}]`,Je="data-payload-owned";function Qe(e){if(e.tagName.toLowerCase().includes("-")&&!e.hasAttribute("data-payload-morph"))return!0;if(Ze(e)||e.hasAttribute(Je))return!0;const t=e.getAttribute("contenteditable");return null!==t&&"false"!==t}function Xe(e){return"patch"===e.getAttribute(Ge)}function Ze(e){return function(e){return"astro-island"===e.tagName.toLowerCase()||e.hasAttribute(Ge)}(e)&&!Xe(e)}function isInsideIsland(e){let t=e;for(;null!==t;){if(Ze(t))return!0;t=t.parentElement}return!1}function Ye(e){return"astro-island"===e.tagName.toLowerCase()&&e.hasAttribute("ssr")}var et=["component-url","component-export","renderer-url","client","opts","before-hydration-url"],tt=/* @__PURE__ */new WeakMap,nt=/* @__PURE__ */new WeakSet;function rt(e){return"astro-island"===e.tagName.toLowerCase()}function it(e){let t="";for(const n of e.querySelectorAll("astro-slot, template[data-astro-template]"))n.parentElement?.closest("astro-island")===e&&(t+=`${n.getAttribute("name")??n.getAttribute("data-astro-template")??""}\0${n.innerHTML}\0`);return t}function ot(e,t){if(!rt(e)||!rt(t))return!0;const n=it(t);if(!et.every(n=>e.getAttribute(n)===t.getAttribute(n))||(tt.get(e)??it(e))!==n||e.getAttribute("props")!==t.getAttribute("props")&&!function(e){const t=e.ownerDocument.defaultView?.customElements.get("astro-island");return void 0!==t&&e instanceof t&&Array.isArray(t.observedAttributes)&&t.observedAttributes.includes("props")}(e))return tt.set(t,n),!1;tt.set(e,n);const r=t.getAttribute("props");return r!==e.getAttribute("props")&&(e.setAttribute("ssr",""),null===r?e.removeAttribute("props"):e.setAttribute("props",r)),!0}function st(e){return Array.from(e.querySelectorAll("astro-island"))}function at(e){const t=e.ownerDocument.defaultView;if(void 0===t?.customElements.get("astro-island"))return"element";const n=e.getAttribute("client"),r=Reflect.get(t,"Astro");return null===n||"object"!=typeof r||null===r||void 0===Reflect.get(r,n)?"directive":void 0}var lt="data-payload-field",ut="data-payload-type",dt="data-payload-attribute",ct="data-payload-href",ht="data-payload-src",ft="data-payload-alt",pt="data-payload-array-template",gt="data-payload-array-separator",mt="data-payload-locale",vt="data-payload-richtext",yt="data-payload-html",bt="data-payload-array",wt="data-payload-structural",St="data-payload-owner",At="data-payload-depends",kt="data-payload-strategy",Rt="data-payload-boundary",Tt="data-payload-guessed",Ct="data-payload-covers",$t=[lt,ut,dt,ct,ht,ft,pt,gt,mt,vt,yt,bt,wt,St,At,kt,Rt,"type"],Pt=`[${lt}]`,Lt=`[${St}]`,Nt=`[${oe}], [${kt}="route"]`;function Ft(e){const t=e.closest(Lt)?.getAttribute(St);return null==t||0===t.length?void 0:t}var Ut=/^[a-z][a-z0-9-]*:[a-z][a-z0-9-]*$/i,xt=/* @__PURE__ */new Set(["text","textarea","richText","email","number","checkbox","date","select","radio","array","blocks","group","tabs","row","collapsible","relationship","upload","point","json","code","ui","html","url","image","structural-array"]);function Mt(e){return xt.has(e)||Ut.test(e)}function Et(e,t){return e.fieldName===t.fieldName&&e.locale===t.locale&&e.owner===t.owner&&e.strategyKind===t.strategyKind&&e.fragmentBoundary===t.fragmentBoundary}var Ot=class{entriesByField=/* @__PURE__ */new Map;entryByElement=/* @__PURE__ */new WeakMap;filter;count=0;dependencies=null;islandRoots=[];ownersByIsland=/* @__PURE__ */new Map;navigationRoots=[];coverDeclarations=[];renderedDeclarations=[];constructor(e={}){this.filter=e.filter??Dt}dependencyMap(){if(null!==this.dependencies)return this.dependencies;const e=[];for(const t of this.values())void 0!==t.dependsOn&&e.push(qe(t.fieldName,t.dependsOn));return this.dependencies=We(...e),this.dependencies}get islands(){return this.islandRoots}get islandOwners(){return this.ownersByIsland}get covers(){return this.coverDeclarations}get rendered(){return this.renderedDeclarations}get navigationReplayRoots(){return this.navigationRoots}buildFromRoot(e){const t=performance.now();this.clear();let n=0;for(const t of e.querySelectorAll(Pt))void 0!==this.add(t)&&(n+=1);return this.islandRoots=function(e){const t=[];for(const n of e.querySelectorAll(Ke))Xe(n)||t.push(n);return t}(e),this.ownersByIsland=new Map(this.islandRoots.map(e=>[e,Ft(e)])),this.navigationRoots=[...e.querySelectorAll(Nt)].filter(e=>this.filter(e)&&(e.hasAttribute(oe)||0===(e.getAttribute(lt)??"").length)),this.coverDeclarations=[...e.querySelectorAll(`[${Ct}]`)].filter(e=>this.filter(e)).map(e=>({paths:He(e.getAttribute(Ct)),owner:Ft(e)})),this.renderedDeclarations=[...e.querySelectorAll(`[${At}]`)].filter(e=>this.filter(e)).flatMap(e=>{const t=function(e){if((e.getAttribute(oe)??"").length>0)return"fragment";const t=e.getAttribute(kt);return null!==t?"route"===t?"route":void 0:e.hasAttribute(lt)&&null!==e.closest("head")?"route":void 0}(e);return void 0===t?[]:[{strategy:t,paths:He(e.getAttribute(At)),owner:Ft(e)}]}),{elementCount:n,fieldCount:this.entriesByField.size,durationMs:performance.now()-t}}add(e){const t=this.filter(e)?this.resolveBinding(e):void 0,n=this.entryByElement.get(e);if(this.dependencies=null,void 0!==t)return void 0!==n&&this.replaceEntry(n,t)?(this.entryByElement.set(e,t),t):(void 0!==n&&this.removeEntry(e,n),this.append(t),this.entryByElement.set(e,t),t);void 0!==n&&this.removeEntry(e,n)}remove(e){const t=this.entryByElement.get(e);return!!t&&(this.dependencies=null,this.removeEntry(e,t))}get(e){return this.entriesByField.get(e)}getByElement(e){return this.entryByElement.get(e)}get fieldCount(){return this.entriesByField.size}get elementCount(){return this.count}entries(){return this.entriesByField.entries()}*values(){for(const e of this.entriesByField.values())yield*e}has(e){return this.entryByElement.has(e)}clear(){this.entriesByField.clear(),this.entryByElement=/* @__PURE__ */new WeakMap,this.count=0,this.dependencies=null,this.islandRoots=[],this.ownersByIsland=/* @__PURE__ */new Map,this.navigationRoots=[],this.coverDeclarations=[],this.renderedDeclarations=[]}replaceEntry(e,t){if(e.fieldName!==t.fieldName)return!1;const n=this.entriesByField.get(e.fieldName),r=void 0===n?-1:n.indexOf(e);return!(void 0===n||r<0||(n[r]=t,0))}removeEntry(e,t){this.entryByElement.delete(e);const n=this.entriesByField.get(t.fieldName),r=void 0===n?-1:n.indexOf(t);return!(void 0===n||r<0||(n.splice(r,1),0===n.length&&this.entriesByField.delete(t.fieldName),this.count-=1,0))}append(e){const t=this.entriesByField.get(e.fieldName);t?t.push(e):this.entriesByField.set(e.fieldName,[e]),this.count+=1}resolveBinding(e){const t=e.getAttribute(lt);if(null===t||0===t.length)return;const n=e.getAttribute(ut),r=e.getAttribute(dt),i=e.getAttribute(ct),o=e.getAttribute(ht),s=e.getAttribute(ft),a=e.getAttribute(pt),l=e.getAttribute(gt),u=e.getAttribute(mt),d=e.getAttribute("data-payload-format"),c=Ft(e),h=He(e.getAttribute(At)),f=e.getAttribute(kt),p=e.getAttribute(Tt),g=ae(e);return{element:e,fieldName:t,fieldType:It(e),explicitFieldType:null!==n&&Mt(n),strategyKind:le(e)??"unknown",...null!==g?{fragmentBoundary:g}:{},...null!==r&&r.length>0?{targetAttribute:r}:{},...null!==i&&i.length>0?{hrefField:i}:{},...null!==o&&o.length>0?{srcField:o}:{},...null!==s&&s.length>0?{altField:s}:{},...null!==a?{arrayTemplate:a}:{},...null!==l?{arraySeparator:l}:{},...null!==u&&u.length>0?{locale:u}:{},...null!==d&&d.length>0?{format:d}:{},...void 0!==c?{owner:c}:{},...h.length>0?{dependsOn:h}:{},...null!==f&&f.length>0?{strategy:f}:{},...e.hasAttribute(Rt)?{hidesWhenEmpty:!0}:{},...null!==p?{guessed:p}:{}}}};function It(e){const t=e.getAttribute(ut);if(null!==t&&Mt(t))return t;if(e.hasAttribute(vt))return"richText";if(e.hasAttribute(yt))return"html";if(e.hasAttribute(wt))return"structural-array";if(e.hasAttribute(bt))return"array";if("IMG"===e.tagName)return"image";if("A"===e.tagName)return"url";if("TIME"===e.tagName)return"date";if("INPUT"===e.tagName){const t=e.type;if("checkbox"===t)return"checkbox";if("number"===t)return"number";if("date"===t||"datetime-local"===t)return"date"}return"text"}function Dt(){return!0}var Bt=1e4,zt=1048576,_t=/* @__PURE__ */new Set(["__proto__","constructor","prototype"]);function jt(){throw new Error("invalid or oversized legacy population")}function Ht(e){for(let t=0;t<e.length;t+=1){const n=e.charCodeAt(t);if(n<=31||127===n)return!0}return!1}function Wt(e,t){if("string"!=typeof e||0===e.length||e.length>t||"."===e||".."===e)return!1;if(e.includes("/")||e.includes("\\")||Ht(e))return!1;try{return encodeURIComponent(e),!0}catch{return!1}}function qt(e){return Wt(e,128)&&!/[?#%]/u.test(e)&&!_t.has(e)}function Vt(e){return Number.isFinite(e)?String(e):Wt(e,512)?e:jt()}function Gt(e,t){return Object.hasOwn(e,t)?Reflect.get(e,t):void 0}function Kt(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0,enumerable:!0})}function Jt(e){let t=e.length;for(;t>0&&47===e.charCodeAt(t-1);)t-=1;return e.slice(0,t)}function Qt(e){const t=/* @__PURE__ */new WeakSet;let n=0,r=0;return function e(i,o){if(++n>Bt||o>64)return jt();if("string"==typeof i)return r+=i.length,r>zt&&jt(),i;if(null==i||"boolean"==typeof i)return i;if("number"==typeof i)return Number.isFinite(i)?i:jt();if(!Array.isArray(i)&&!h(i))return jt();if(Array.isArray(i)){i.length>Bt&&jt();for(let e=0;e<i.length;e+=1)Object.hasOwn(i,e)||jt()}if(t.has(i))return jt();t.add(i);const s=Array.isArray(i)?[]:{};for(const t of Object.keys(i))Kt(s,t,e(Reflect.get(i,t),o+1));return t.delete(i),s}(e,0)}function Xt(e,t,n,r,i,o){if(!Number.isSafeInteger(i)||i<0||i>64)return jt();void 0!==o&&("string"!=typeof o||o.length>128||Ht(o))&&jt();const s=Qt(e);if(!h(s))return jt();const a=/* @__PURE__ */new Map,l=/* @__PURE__ */new Set;let u=0;const d=/* @__PURE__ */new WeakSet,c=e=>{(++u>Bt||e>64)&&jt()};function f(e,t,n,r){if(null==r||""===r)return;const o=h(r)?Gt(r,"id"):r,s=Vt(o);if(0===i)return void Kt(e,t,o);const u=JSON.stringify([n,s]);l.add(u),l.size>1e3&&jt();const d=a.get(n)??[];d.push({owner:e,key:t,id:s}),a.set(n,d)}function p(e,t,n){void 0!==n.hasMany&&"boolean"!=typeof n.hasMany&&jt();const r=n.relationTo,i=Gt(e,t);if(Array.isArray(r)){0===r.length&&jt();const e=h(i)?Gt(i,"relationTo"):void 0;let t;for(const n of r)c(0),qt(n)||jt(),n===e&&(t=n);if(null==i||""===i)return;h(i)&&void 0!==t||jt(),f(i,"value",t,Gt(i,"value"))}else qt(r)||jt(),f(e,t,r,i)}function g(e,t){if(c(t),Array.isArray(e)||h(e)){if(h(e)&&Object.hasOwn(e,"relationTo")&&Object.hasOwn(e,"value")){const t=Gt(e,"relationTo");return qt(t)||jt(),void f(e,"value",t,Gt(e,"value"))}for(const n of Object.keys(e))g(Reflect.get(e,n),t+1)}}!function e(t,n,r){c(r),d.has(t)&&jt(),d.add(t);for(const i of t){c(r),h(i)&&Wt(i.name,512)&&!_t.has(i.name)||jt();const t=Gt(n,i.name);if("relationship"===i.type||"upload"===i.type)if(i.hasMany)if(null==t||Array.isArray(t)||jt(),Array.isArray(t))for(let e=0;e<t.length;e+=1)p(t,e,i);else p(n,i.name,i);else p(n,i.name,i);else if("group"===i.type||"tabs"===i.type)null==t||h(t)||jt(),h(t)&&i.fields&&e(i.fields,t,r+1);else if("row"===i.type||"collapsible"===i.type)i.fields&&e(i.fields,n,r+1);else if("array"===i.type||"blocks"===i.type){if(0===t?Kt(n,i.name,[]):null==t||Array.isArray(t)||jt(),Array.isArray(t))for(const n of t)if(h(n)||jt(),"array"===i.type&&i.fields)e(i.fields,n,r+1);else if("blocks"===i.type){const t=Gt(n,"blockType"),o=i.blocks?.find(e=>(c(r),e.slug===t));void 0===o&&jt(),e(o.fields,n,r+1)}}else"richText"===i.type&&g(t,r+1)}d.delete(t)}(t,s,0),a.size>25&&jt();const m=[];if(0===a.size)return{doc:s,requests:m};const v=new URL(n);(!["http:","https:"].includes(v.protocol)||v.username||v.password||v.search||v.hash)&&jt(),(!r.startsWith("/")||r.includes("\\")||/[%?#]/u.test(r)||Ht(r))&&jt(),r.split("/").some(e=>"."===e||".."===e)&&jt();const y=`${Jt(n)}${Jt(r)}/`;for(const[e,t]of a){const n=[...new Set(t.map(e=>e.id))];let r=0;for(;r<n.length;){const s=n[r];void 0===s&&jt();const a=s.includes(","),l=[];let u="";for(;r<n.length&&l.length<20;){const t=n[r];if(void 0===t||l.length>0&&(a||t.includes(",")))break;const s=[...l,t],d=new URLSearchParams({depth:String(i),limit:String(s.length)});void 0!==o&&d.set("locale",o),d.set(a?"where[id][equals]":"where[id][in]",a?t:s.join(","));const c=`${y}${encodeURIComponent(e)}?${d}`;if(c.length>8192){0===l.length&&jt();break}new URL(c).origin!==v.origin&&jt(),l.push(t),r+=1,u=c}(0===l.length||m.length>=64)&&jt();const d=new Set(l);m.push({url:u,ids:d,slots:t.filter(e=>d.has(e.id))})}}return{doc:s,requests:m}}async function Zt(e,t,n){let r,i=!1,o=!1;const s=/* @__PURE__ */Symbol();let a;const l=new Promise(e=>{a=()=>{e(s)}}),u=()=>{n()&&!t.aborted||jt()},d=()=>{if(void 0!==r&&!i){i=!0;try{Promise.resolve(r.cancel()).catch(()=>{})}catch{}}},c=()=>{a?.(),d()};t.addEventListener("abort",c,{once:!0});try{u();const t=e.body??null;if(u(),null===t){const t=e.json.bind(e);u();const n=await Promise.race([Promise.resolve().then(()=>(u(),t())),l]);return u(),n===s&&jt(),n}const n=t.getReader.bind(t);u();const i=n();r=i,u();const a=[];let d=0,c=0;for(;;){const e=Promise.resolve().then(()=>{u();const e=i.read.bind(i);return u(),e()}),t=await Promise.race([e,l]);if(u(),t===s&&jt(),t.done)break;d+=t.value.byteLength,(++c>1e4||d>zt)&&jt(),a.push(t.value)}o=!0;const h=new Uint8Array(d);let f=0;for(const e of a)h.set(e,f),f+=e.byteLength;try{return JSON.parse((new TextDecoder).decode(h))}catch{return jt()}}finally{t.removeEventListener("abort",c),o||d();try{r?.releaseLock()}catch{}}}function Yt(e,t){const n=Qt(t);h(n)||jt();const r=Gt(n,"docs");(!Array.isArray(r)||r.length>20)&&jt();const i=/* @__PURE__ */new Map;for(const t of r){h(t)||jt();const n=Vt(Gt(t,"id"));e.ids.has(n)&&!i.has(n)||jt(),i.set(n,t)}i.size!==e.ids.size&&jt();for(const t of e.slots)Kt(t.owner,t.key,i.get(t.id))}function en(e,t){return e.length>0&&e.length<=t&&"."!==e&&".."!==e&&!e.includes("/")&&!e.includes("\\")&&!function(e){for(const t of e){const e=t.codePointAt(0)??0;if(e<=31||127===e)return!0}return!1}(e)}function tn(e){return en(e,128)&&!e.includes("?")&&!e.includes("#")}function nn(e){return"number"==typeof e?Number.isFinite(e):"string"==typeof e&&en(e,512)}var rn=class{serverURL;apiRoute;depth;fetchFn;log;inflight=null;attempt=0;destroyDepth=0;constructor(e){this.serverURL=function(e){let t=e.length;for(;e.endsWith("/",t);)t-=1;return e.slice(0,t)}(e.serverURL);const t=e.apiRoute??"/api";this.apiRoute=t.startsWith("/")?t:`/${t}`,this.depth=e.depth??1,this.fetchFn=e.fetchFn,this.log=w(e.log??S)}canMerge(e){try{const t=e.schema;return void 0!==t?(Xt(e.data,t,this.serverURL,this.apiRoute,this.depth,e.locale),!0):null!==this.endpointOf(e)}catch{return!1}}endpointOf(e){try{const t=e.globalSlug;if(t)return tn(t)?{path:`globals/${encodeURIComponent(t)}`,field:"globalType",value:t}:null;const n=e.collectionSlug??"",r=e.data.id;return tn(n)&&nn(r)?{path:`${encodeURIComponent(n)}/${encodeURIComponent(String(r))}`,field:"id",value:String(r)}:null}catch{return null}}async merge(e){if(this.destroyDepth>0)return{status:"superseded"};const t=this.attempt+=1,n=this.inflight;this.inflight=null;let r=null,i=!1;const o=()=>this.attempt!==t;try{if(n?.abort(),o())return{status:"superseded"};const t=e.schema;if(i=void 0!==t,void 0!==t){const n=Xt(e.data,t,this.serverURL,this.apiRoute,this.depth,e.locale);if(o())return{status:"superseded"};if(0===n.requests.length)return{status:"merged",doc:n.doc};const i=this.fetchFn??("function"==typeof fetch?fetch:void 0);if(o())return{status:"superseded"};if(void 0===i)return{status:"unavailable"};r=new AbortController,this.inflight=r;for(const e of n.requests){const t=await i(e.url,{method:"GET",credentials:"include",redirect:"error",signal:r.signal});if(o())return{status:"superseded"};const n=t.ok;if(o())return{status:"superseded"};if(!n){const e=t.status;return o()?{status:"superseded"}:(r.abort(),o()?{status:"superseded"}:(this.log("merge HTTP",e),o()?{status:"superseded"}:{status:"unavailable"}))}const s=await Zt(t,r.signal,()=>!o());if(o())return{status:"superseded"};if(Yt(e,s),o())return{status:"superseded"}}return{status:"merged",doc:n.doc}}const s=this.endpointOf(e);if(o())return{status:"superseded"};if(null===s)return{status:"unavailable"};const a=this.fetchFn??("function"==typeof fetch?fetch:void 0);if(o())return{status:"superseded"};if(void 0===a)return{status:"unavailable"};const l=JSON.stringify({data:e.data,depth:this.depth,flattenLocales:!1,locale:e.locale});if(o())return{status:"superseded"};r=new AbortController,this.inflight=r;const u=`${this.serverURL}${this.apiRoute}/${s.path}`,d=await a(u,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","X-Payload-HTTP-Method-Override":"GET"},body:l,signal:r.signal});if(o())return{status:"superseded"};const c=d.ok;if(o())return{status:"superseded"};if(!c){const e=d.status;return o()?{status:"superseded"}:(this.log("merge HTTP",e,u),o()?{status:"superseded"}:{status:"unavailable"})}const h=d.json.bind(d);if(o())return{status:"superseded"};const f=await h();if(o())return{status:"superseded"};if(null===f||"object"!=typeof f||Array.isArray(f))return this.log("merge invalid",u),o()?{status:"superseded"}:{status:"unavailable"};const p=f,g=p[s.field],m=Object.hasOwn(p,s.field)&&("id"===s.field?!nn(g)||String(g)!==s.value:g!==s.value);return o()?{status:"superseded"}:m?(this.log("merge invalid",u),o()?{status:"superseded"}:{status:"unavailable"}):{status:"merged",doc:p}}catch(e){return o()||i&&(r?.abort(),o())?{status:"superseded"}:(this.log("merge exception",i?new Error("legacy population could not be resolved"):e),o()?{status:"superseded"}:{status:"unavailable"})}finally{this.inflight===r&&(this.inflight=null)}}destroy(){this.attempt+=1;const e=this.inflight;this.inflight=null,this.destroyDepth+=1;try{e?.abort()}finally{this.destroyDepth-=1}}},on={name:"payload-2",fieldTyping:"schema",populatesRelationships:"admin",documentEvents:!1},sn={name:"payload-3",fieldTyping:"heuristic",populatesRelationships:"server",documentEvents:!0},an={name:"unknown",fieldTyping:"heuristic",populatesRelationships:"server",documentEvents:!1};function detectProtocolProfile(e){return e.has("schema-json")?on:e.has("document-events")||e.has("relationship-events")?sn:an}var ln="ssr",un=class{callbacks;debounceMs;rootMargin;visible=/* @__PURE__ */new Set;mutation=null;intersection=null;debounceTimer=null;generation=0;constructor(e,t={}){this.callbacks=e,this.debounceMs=t.mutationDebounceMs??100,this.rootMargin=t.intersectionRootMargin??"200px"}start(e){const t=this.generation;this.stop();const n=t+1;if(this.generation!==n)return;let r=null,i=null;try{r=new MutationObserver(e=>{this.handleMutations(e,n)}),i=new IntersectionObserver(e=>{this.handleIntersection(e,n)},{rootMargin:this.rootMargin,threshold:0}),r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...$t,Ge,ln]})}catch(e){throw r?.disconnect(),i?.disconnect(),e}if(this.generation!==n)return r.disconnect(),void i.disconnect();this.mutation=r,this.intersection=i}observeElement(e){this.intersection?.observe(e)}unobserveElement(e){this.intersection?.unobserve(e),this.visible.delete(e)}markVisible(e,t){t?this.visible.add(e):this.visible.delete(e)}isVisible(e){return this.visible.has(e)}stop(){this.generation+=1;const e=this.debounceTimer,t=this.mutation,n=this.intersection;this.debounceTimer=null,this.mutation=null,this.intersection=null,this.visible.clear(),null!==e&&clearTimeout(e);try{t?.disconnect()}finally{n?.disconnect()}}handleMutations(e,t){if(!this.isCurrentGeneration(t))return;for(const n of e){const e=dn(n);if(null!==e&&(this.callbacks.onIslandHydrated?.(e),!this.isCurrentGeneration(t)))return}if(!function(e){for(const t of e){if("attributes"===t.type&&t.attributeName===Ge)return!0;if("attributes"===t.type&&null!==t.attributeName&&$t.includes(t.attributeName)&&(t.attributeName===lt||t.attributeName===St||1===t.target.nodeType&&t.target.hasAttribute(lt)))return!0;for(const e of t.addedNodes)if(cn(e))return!0;for(const e of t.removedNodes)if(cn(e))return!0}return!1}(e))return;null!==this.debounceTimer&&clearTimeout(this.debounceTimer);const n=setTimeout(()=>{this.isCurrentGeneration(t)&&this.debounceTimer===n&&(this.debounceTimer=null,this.callbacks.onStructuralChange())},this.debounceMs);this.debounceTimer=n}handleIntersection(e,t){for(const n of e){if(!this.isCurrentGeneration(t))return;const{target:e}=n;if(n.isIntersecting){if(this.visible.has(e))continue;this.visible.add(e),this.callbacks.onVisibilityChange(e,!0)}else this.visible.has(e)&&(this.visible.delete(e),this.callbacks.onVisibilityChange(e,!1))}}isCurrentGeneration(e){return this.generation===e&&null!==this.intersection}};function dn(e){if("attributes"!==e.type||e.attributeName!==ln||1!==e.target.nodeType)return null;const t=e.target;return"astro-island"!==t.tagName.toLowerCase()||t.hasAttribute(ln)?null:t}function cn(e){if(1!==e.nodeType)return!1;const t=e;return t.hasAttribute(lt)||t.matches(Ke)||t.matches(Nt)||null!==t.querySelector(`[${lt}], ${Ke}, ${Nt}`)}var hn=class{#t=[];#n;#r=!1;constructor(e){this.#n=e}get closed(){return this.#r}own(e){this.#r?this.#i(e):this.#t.push(e)}close(){if(this.#r)return;this.#r=!0;const e=this.#t.splice(0).reverse();for(const t of e)this.#i(t)}#i(e){try{e()}catch(e){this.#n("runtime cleanup failed:",e)}}},fn="[data-payload-field]";function pn(){if("undefined"==typeof window)return;const e=window;return e.__livePreviewHydration??={armed:!1,committed:!1,commits:[],onCommit:void 0,waiters:[]}}function gn(){const e=pn();if(void 0===e||e.armed)return;e.armed=!0;const t=window,n=t.__REACT_DEVTOOLS_GLOBAL_HOOK__??=function(){const e=/* @__PURE__ */new Map;return{supportsFiber:!0,renderers:e,inject:t=>{const n=e.size+1;return e.set(n,t),n}}}(),r=n.onCommitFiberRoot;n.onCommitFiberRoot=function(t,n,...i){try{r?.call(this,t,n,...i)}catch{}void 0===e.onCommit?e.commits.push(n):e.onCommit(n)}}function mn(e){e.committed=!0;const t=e.waiters;e.waiters=[];for(const e of t)e()}function vn(e,t){const n=e.waiters.indexOf(t);n>=0&&e.waiters.splice(n,1)}function yn(e,t,n){if(e.committed)return null;let r=null;const i=()=>{null!==r&&clearTimeout(r),r=null,t("committed")};return e.waiters.push(i),r=setTimeout(()=>{r=null,vn(e,i),t("timed-out")},n),()=>{null!==r&&clearTimeout(r),r=null,vn(e,i)}}var bn="__vue_app__";function wn(){if("undefined"==typeof window)return;const e=window;return e.__livePreviewVueHydration??={armed:!1,committed:!1,waiters:[]}}function Sn(e){return Object.prototype.hasOwnProperty.call(e,bn)?e[bn]:void 0}function An(){const e=wn();if(void 0===e||e.armed)return;e.armed=!0;const t=Element.prototype;void 0===Object.getOwnPropertyDescriptor(t,bn)&&Object.defineProperty(t,bn,{configurable:!0,get:()=>{},set(e){Object.defineProperty(this,bn,{value:e,writable:!0,configurable:!0,enumerable:!0});const t=wn();void 0===t||t.committed||null===this.querySelector(fn)||function(e,t){const n=t?.$nuxt;!0!==n?.isHydrating||"function"!=typeof n.hook?mn(e):n.hook("app:suspense:resolve",()=>{e.committed||mn(e)})}(t,e)}})}function kn(e){const t=e.hydration;if(void 0===t)return void e.startNow();const n=Rn[t](e.root,n=>{e.later(()=>{Cn(e,t,n)})});null!==n?(e.defer(n),e.hydrated("waiting")):Cn(e,t,"committed")}var Rn={react:(e,t)=>function(e,t=5e3){gn();const n=pn();if(void 0===n)return null;if(void 0===n.onCommit){const e=e=>{!n.committed&&function(e){const t=e;return null!=t&&function(e){const t=e;return 9===t?.nodeType||null!=t?.querySelector?.(fn)}(t.containerInfo)&&!function(e){const t=[];for(null!==e.current&&void 0!==e.current&&t.push(e.current);t.length>0;){const e=t.pop();if(void 0===e)continue;const n=e.memoizedState;if((13===e.tag||31===e.tag)&&"object"==typeof n&&null!==n&&"dehydrated"in n&&"object"==typeof n.dehydrated&&null!==n.dehydrated&&"nodeType"in n.dehydrated&&8===n.dehydrated.nodeType)return!0;null!==e.sibling&&void 0!==e.sibling&&t.push(e.sibling),null!==e.child&&void 0!==e.child&&t.push(e.child)}return!1}(t)}(e)&&mn(n)};n.onCommit=e;for(const t of n.commits.splice(0))e(t)}return yn(n,e,t)}(t),vue:function(e,t,n=5e3){An();const r=wn();return void 0===r?null:(!r.committed&&function(e){for(let t=e.querySelector(fn);null!==t;t=t.parentElement)if(void 0!==Sn(t))return!0;return!1}(e)&&mn(r),yn(r,t,n))},sveltekit:function(e,t,n=5e3){const r=e.ownerDocument??e,i=()=>null!==r.querySelector("#svelte-announcer");if(i()||!Object.keys(window).some(e=>e.startsWith("__sveltekit_")))return null;const o={committed:!1,waiters:[]},s=new MutationObserver(()=>{!o.committed&&i()&&mn(o)});s.observe(r,{childList:!0,subtree:!0});const a=yn(o,e=>{s.disconnect(),t(e)},n);return()=>{s.disconnect(),a?.()}}},Tn={react:"React commit",vue:"Vue mount",sveltekit:"SvelteKit mount"};function Cn(e,t,n){e.hydrated(n),"timed-out"===n&&e.warn(`[live-preview] LP0607: no ${Tn[t]} in ${String(5e3)} ms; started without waiting for hydration.`),e.startNow()}function $n(e){return 9===e.nodeType}function Pn(e){return e.body}var Ln=class{timeoutMs;onTimeout;handle=null;lastKick=null;constructor(e){this.timeoutMs=e.timeoutMs??0,this.onTimeout=e.onTimeout}kick(){this.lastKick=Date.now(),this.timeoutMs<=0||(this.stop(),this.arm(this.timeoutMs))}resume(){if(this.timeoutMs<=0||null!==this.handle||null===this.lastKick)return!1;const e=Math.max(0,Date.now()-this.lastKick),t=this.timeoutMs-e;return t<=0?(this.lastKick=null,this.onTimeout(),!0):(this.arm(Math.min(t,this.timeoutMs)),!1)}arm(e){const t=setTimeout(()=>{this.handle===t&&(this.handle=null,this.lastKick=null,this.onTimeout())},e);this.handle=t}stop(){null!==this.handle&&(clearTimeout(this.handle),this.handle=null)}get lastKickAt(){return this.lastKick??0}get pending(){return null!==this.handle}},Nn=class{current="disconnected";get status(){return this.current}markConnected(){return this.transition("connected")}markDisconnected(){return this.transition("disconnected")}transition(e){return this.current!==e&&(this.current=e,!0)}},Fn=/* @__PURE__ */new Set(["true","false","yes","no","on","off"]),Un=/^[\d\s.,:+/-]+$/u,xn=/^[a-z][a-z0-9_-]*$/u,Mn=/^[a-z]{2,3}(?:[-_][A-Za-z0-9]{2,8})*$/u,En=/* @__PURE__ */new Set(["SCRIPT","STYLE","TEMPLATE","TITLE","NOSCRIPT","TEXTAREA","SELECT","OPTION","INPUT","IFRAME"]);function On(e,t=13){if("string"!=typeof e)return!1;const n=e.trim();return!(n.length<t||Un.test(n)||Fn.has(n.toLowerCase())||xn.test(n)||Mn.test(n))}function In(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Dn(e,t,n=13){const r=/* @__PURE__ */new Map,i=(e,t,n)=>{r.set(e,r.has(e)?null:{field:t,media:n})};for(const[r,o]of Object.entries(e)){if(ve.has(r))continue;const e=be(r,t);if(On(o,n))i(o.trim(),e,!1);else if(In(o))if("string"==typeof o.url)i(o.url,e,!0);else if(!("id"in o)&&!("_id"in o))for(const[t,r]of Object.entries(o))!ve.has(t)&&On(r,n)&&i(r.trim(),`${e}.${t}`,!1)}return r}function Bn(e){if("http://www.w3.org/1999/xhtml"!==e.namespaceURI||En.has(e.tagName))return!0;if(e.hasAttribute(lt)||e.hasAttribute("data-payload-no-bind")||e.hasAttribute(Je)||Ze(e))return!0;const t=e.getAttribute("contenteditable");return null!==t&&"false"!==t}function zn(e){let t;for(let n=e.firstChild;null!==n;n=n.nextSibling){if(1===n.nodeType)return;if(3!==n.nodeType)continue;const e=n.data.trim();if(0!==e.length){if(void 0!==t)return;t=e}}return t}function _n(e){return G(e)&&!e.startsWith("data-payload-")&&"value"!==e}function jn(e,t,n){let r=e.byElement.get(t);void 0===r&&(r={attributes:/* @__PURE__ */new Map},e.byElement.set(t,r));let i=e.byField.get(n.field);return void 0===i&&(i=/* @__PURE__ */new Set,e.byField.set(n.field,i)),i.add(t),r}function Hn(e,t){for(let n=e.firstElementChild;null!==n;n=n.nextElementSibling){if(Bn(n))continue;const e=zn(n),r=void 0===e?void 0:t.values.get(e);null==r||r.media||(jn(t,n,r).text=r.field);for(const e of n.getAttributeNames()){if(!_n(e))continue;const r=t.values.get(n.getAttribute(e)??"");null!=r&&(!r.media||"IMG"===n.tagName&&"src"===e)&&jn(t,n,r).attributes.set(e,r)}Hn(n,t)}}function Wn(e,t,n){const r=e.tagName;if(void 0!==t){const i={[lt]:t};if("A"===r){const e=n.get("href");void 0===e?i[ut]="text":e!==t&&(i[ct]=e)}return{element:e,fieldName:t,matched:zn(e)??"",stamps:i}}if("IMG"===r){const t=n.get("src");if(void 0!==t){const r=n.get("alt");return{element:e,fieldName:t,matched:e.getAttribute("src")??"",attribute:"src",stamps:{[lt]:t,...void 0!==r&&r!==t?{[ft]:r}:{}}}}}const i=n.entries().next();if(i.done)return;const[o,s]=i.value;return{element:e,fieldName:s,matched:e.getAttribute(o)??"",attribute:o,stamps:{[lt]:s,[dt]:o}}}function qn(e,t){const n={values:t,byElement:/* @__PURE__ */new Map,byField:/* @__PURE__ */new Map};t.size>0&&!Bn(e)&&Hn(e,n);const r=e=>1===n.byField.get(e)?.size,i=[];for(const[e,t]of n.byElement){const n=void 0!==t.text&&r(t.text)?t.text:void 0,o=/* @__PURE__ */new Map;for(const[e,n]of t.attributes)r(n.field)&&o.set(e,n.field);const s=Wn(e,n,o);void 0!==s&&i.push(s)}return i}function Vn(e){return 9===e.nodeType?e.body:e}function Gn(e,t){for(let n=t.length-1;n>=0;n-=1){const r=t[n];if(void 0!==r){r.observed&&e.observers.unobserveElement(r.element);for(let e=r.attributes.length-1;e>=0;e-=1){const t=r.attributes[e];if(void 0===t)continue;const{name:n,before:i,written:o}=t;i!==o&&r.element.getAttribute(n)===o&&(null===i?r.element.removeAttribute(n):r.element.setAttribute(n,i))}r.cacheTouched&&(r.element.hasAttribute(lt)?e.cache.add(r.element):e.cache.remove(r.element))}}}function Kn(e,t,n,r,i){const o=[],s=[],a=()=>(Gn(e,s),[]);for(const l of t){if(!i())return a();const{element:t}=l;if(t.hasAttribute(lt))continue;if(!i())return a();if(!1!==n&&!ce(Ft(t),n))continue;if(!i())return a();const u={element:t,attributes:[],cacheTouched:!1,observed:!1};s.push(u);for(const[e,n]of[...Object.entries(l.stamps),[Tt,l.matched]]){const r=t.getAttribute(e);if(!i())return a();if(u.attributes.push({name:e,before:r,written:n}),t.setAttribute(e,n),!i())return a()}if(u.cacheTouched=!0,void 0!==e.cache.add(t)){if(!i())return a();if(e.observers.observeElement(t),u.observed=!0,!i())return a();if(e.log("autoBind",l.fieldName,"→",`<${t.tagName.toLowerCase()}>`,l.attribute??"text",JSON.stringify(l.matched),r),!i())return a();o.push(l)}else Gn(e,[u]),s.pop()}return o}var Jn=/* @__PURE__ */new Set(["__proto__","prototype","constructor"]);function Qn(e,t,n,r=!1){if(r&&void 0!==n){const r=Xn(e,`${t}_${n}`);if(void 0!==r)return r}const i=Xn(e,t);if(void 0!==i)return i;if(t.includes(".")){let n=e,r=!0;for(const e of t.split(".")){if(Jn.has(e)||null===n||"object"!=typeof n){r=!1;break}if(n=Xn(n,e),void 0===n){r=!1;break}}if(r)return n}return void 0===n?void 0:Xn(e,`${t}_${n}`)}function Xn(e,t){if(!Jn.has(t)&&Object.prototype.hasOwnProperty.call(e,t))return e[t]}function Zn(e,t,n,r){return Qn(e,n,t.locale??r,void 0!==t.locale)}function Yn(e,t,n,r){const i=ne(t);if(void 0===i)return;const o=[e.hrefField,e.srcField,e.altField];let s=i;for(const t of o){if(void 0===t||0===t.length)continue;const i=ne(Zn(n,e,t,r));if(void 0===i)return;s+=`|${t}=${i}`}return s}function er(e,t,n,r){if(!e.scopeBindingsByOwner)return!1;const{message:i}=n,o=function(e){if(de(e.globalSlug))return[(t=e.globalSlug,`global:${t}`)];var t;if(!de(e.collectionSlug))return null;const n=ue(e.collectionSlug);return de(e.documentId)?[n,ue(e.collectionSlug,e.documentId)]:[n]}({globalSlug:"string"==typeof i.globalSlug?i.globalSlug:void 0,collectionSlug:"string"==typeof i.collectionSlug?i.collectionSlug:void 0,documentId:he(r)});return null!==o||t.warnedUnattributableMessage||(t.warnedUnattributableMessage=!0,e.warn("[live-preview] LP0202: scopeBindingsByOwner: update names no document; nothing applied")),o}var tr=class{constructor(e,t,n){this.deps=e,this.state=t,this.host=n}deps;state;host;awaitingHydration=/* @__PURE__ */new WeakSet;delivered=/* @__PURE__ */new WeakMap;confirmations=/* @__PURE__ */new WeakMap;reapplyBindings(e){const t=this.currentTransaction();void 0!==t?.renderData&&this.host.schedule(t,t.renderData,e)}reapplyIslands(e,t=!1){const n=t?e.filter(e=>this.awaitingHydration.delete(e)):e,r=this.state.activeUpdate,i=t&&null!==r&&this.state.isCurrent(r)?r:this.currentTransaction();void 0!==i?.renderData&&this.dispatchIslands(i,i.renderData,n)}dispatchIslands(e,t,n){const r=er(this.deps,this.state,e,t.fields),i=()=>!e.cancelled&&this.state.isCurrent(e);if(!i())return;let o=this.delivered.get(t);void 0===o&&(o=/* @__PURE__ */new WeakSet,this.delivered.set(t,o));for(const s of n){const n=Ft(s);if(!i())return;if(!1!==r&&!ce(n,r)){this.awaitingHydration.delete(s);continue}const a=this.confirmation(s,e);if(Ye(s))this.awaitingHydration.add(s);else{if(this.awaitingHydration.delete(s),o.has(s))continue;o.add(s),nr(e,t,[s],i,a)}}}hasLateRouteBinding(e,t,n,r){for(const r of e){if((r.getAttribute(lt)??"").length>0||"route"!==r.getAttribute(kt))continue;if(!1!==t&&!ce(Ft(r),t))continue;const e=He(r.getAttribute(At));if(0===e.length||e.some(e=>n.touched.has(e)))return!0}for(const[i,o]of this.deps.cache.entries())for(const s of o){if(!e.has(s.element))continue;if(!1!==t&&!ce(s.owner,t))continue;if("route"!==(s.strategyKind??le(s.element)??"unknown"))continue;const o=Zn(r.fields,s,i,n.locale);if(!this.state.isCurrent(n))return!1;if(void 0!==o)return!0}return!1}fieldsForElements(e,t){const n=new Set(t);for(const[t,r]of this.deps.cache.entries())r.some(t=>e.has(t.element))&&n.add(t);return n}unrunFragmentPlan(e,t,n){if(null===t)return null;const r=t.boundaries.filter(t=>!e.fragmentBoundariesRun.has(t)&&(void 0===n||[...n].some(e=>e===t||t.contains(e))));if(0===r.length)return null;const i=new Set(r);return{...t,boundaries:r,covers:e=>void 0!==e.fragmentBoundary&&i.has(e.fragmentBoundary)}}confirmation(e,t){const n=this.confirmations.get(e);if(n?.transaction===t)return n.displayed;const r=this.state.display.handIsland(t);return this.confirmations.set(e,{transaction:t,displayed:r}),r}currentTransaction(){const e=this.state.activeUpdate;return this.state.navigationBindingReplay&&null!==e&&this.state.isCurrent(e)?e:null}};function nr(e,t,n,r,i){!function(e,t,n){let r=0;for(const i of e){if(!n())break;if(i.dispatchEvent(new CustomEvent(Ve,{detail:t,bubbles:!1})),r+=1,!n())break}}(n,{fields:t.fields,revision:e.revision.revision,receivedAt:e.receivedAt,locale:e.locale,displayed:i},r)}function rr(e,t,n,r,i){const{warned:o,warn:s}=e;if(o.has(n)||t(n))return;o.add(n);const a=`data-payload-field="${be(n,r)}"`;s(""!==i?`[live-preview] LP0203: field "${n}" has a value and no <… ${a}> on this page; editing it changes nothing here. Expected where the page shows part of the document: inspect().fidelity.fields lists these, onUnfaithfulPatch decides whether a server render is asked for.`:`[live-preview] LP0201: no <… ${a}> for the empty field "${n}"; render the anchor unconditionally so edits to an empty field have somewhere to land.`)}function ir(e){const t=typeof e;return"string"===t||"number"===t||"boolean"===t||"bigint"===t}function or(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var sr=/* @__PURE__ */Symbol.for("payload-live-preview.trusted-types");function ar(e){const t=function(){const e=function(){const e=globalThis,t=e[sr];if(void 0!==t)return t;const n={};return e[sr]=n,n}();if(void 0!==e.override)return e.override;if(void 0!==e.auto)return e.auto;const t=function(){const e=globalThis.trustedTypes;if("object"==typeof e&&null!==e)return"function"==typeof e.createPolicy?e:void 0}();try{e.auto=void 0===t?null:t.createPolicy("payload-live-preview",{createHTML:e=>e})}catch{e.auto=null}return e.auto}();return null===t?e:t.createHTML(e)}var lr=/* @__PURE__ */new Set(["open","value","checked","selected"]);function ur(e,t){for(const n of t.keyAttributes){const t=e.getAttribute(n);if(null!==t&&t.length>0)return`${n}=${t}`}}function dr(e,t,n){if(!fr(e,t))return t;const r=n.boundary??Qe,i=r(e),o=r(t);if(i||o)return i&&o&&(n.retainBoundary?.(e,t)??1)?e:t;const s=pr(e);return function(e,t){for(const n of Array.from(e.attributes))t.hasAttribute(n.name)||lr.has(n.name.toLowerCase())||e.removeAttribute(n.name);for(const n of Array.from(t.attributes))e.getAttribute(n.name)!==n.value&&e.setAttribute(n.name,n.value)}(e,t),!0!==n.retainChildrenOf?.(e,t)&&function(e,t,n){const r=function(e,t){const n=/* @__PURE__ */new Map;let r;for(const i of Array.from(e.children)){const e=ur(i,t);void 0!==e&&(n.has(e)?r??=e.slice(e.indexOf("=")+1):n.set(e,i))}return void 0!==r&&t.onDuplicateKey?.(e,r),n}(e,n),i=new Set(r.values()),o=Array.from(e.childNodes).filter(e=>!i.has(e)),s=/* @__PURE__ */new Set,a=/* @__PURE__ */new Set,l=Array.from(t.childNodes);let u=e.firstChild,d=0;for(let t=0;t<l.length;t+=1){const i=l[t];let c=null,h=i instanceof Element?ur(i,n):void 0;if(void 0!==h&&a.has(h)&&(h=void 0),void 0!==h){a.add(h);const e=r.get(h);if(void 0!==e&&!s.has(e)&&(c=cr(e,i,n)===e?e:null,null===c)){e.replaceWith(i),s.add(i),u=i.nextSibling;continue}}else{for(;d<o.length;){const r=o[d];if(d+=1,!s.has(r)){if(fr(r,i)){c=cr(r,i,n)===r?r:null,null===c&&(e.replaceChild(i,r),s.add(i),u=i.nextSibling);break}if(r instanceof Element){const n=l[t+1];if(!(i instanceof Element)||void 0!==n&&fr(r,n)){d-=1;break}e.replaceChild(i,r),s.add(i),u=i.nextSibling;break}if(!(i instanceof Element)){e.replaceChild(i,r),s.add(i),u=i.nextSibling;break}}}if(null===c&&s.has(i))continue}const f=c??i;for(s.add(f);null!==u&&u!==f&&!s.has(u)&&hr(u);)u=u.nextSibling;f!==u&&e.insertBefore(f,u),u=f.nextSibling}for(const t of Array.from(e.childNodes))s.has(t)||t.remove()}(e,t,n),gr(s),e}function cr(e,t,n){return e instanceof Element&&t instanceof Element?dr(e,t,n):(e.nodeValue!==t.nodeValue&&(e.nodeValue=t.nodeValue),e)}function hr(e){return e.nodeType===Node.TEXT_NODE&&0===(e.nodeValue??"").trim().length}function fr(e,t){return e.nodeType===t.nodeType&&(!(e instanceof Element&&t instanceof Element)||e.tagName===t.tagName&&e.namespaceURI===t.namespaceURI)}function pr(e){const t=e.ownerDocument.activeElement;return t instanceof HTMLElement&&e.contains(t)?{element:t,selection:t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement?[t.selectionStart,t.selectionEnd]:null}:null}function gr(e){if(null===e)return;const{element:t,selection:n}=e;if(t.ownerDocument.activeElement!==t&&t.isConnected)try{t.focus({preventScroll:!0});const[e,r]=n??[null,null];null!==e&&null!==r&&t.setSelectionRange(e,r)}catch{}}function mr(e,t){if(!function(){try{const e=globalThis.process?.env;return void 0!==e&&"production"!==e.NODE_ENV}catch{return!1}}())return;const n=globalThis,r=n.__payloadLivePreviewDeprecationsWarned??=/* @__PURE__ */new Set;if(!r.has(e)){r.add(e);try{console.warn(`[payload-live-preview] ${t}`)}catch{}}}var vr=/* @__PURE__ */new Set;function yr(e){vr.has(e)||(vr.add(e),function(e){try{console.warn(e)}catch{}}(`[live-preview] LP0409: the strict sanitizer removed \`${e}\` from written markup; the 1.x default (\`sanitizerPolicy: 'compat'\`) kept it. ${function(e){return e.startsWith("data-payload-")?"A binding inside CMS content is refused by design — an editor could otherwise aim a write at any element on the page (docs/security.md)":"id"===e||"name"===e?"CMS content that can name an element can shadow a global of that name — DOM clobbering, refused by design (docs/security.md)":"Put it on an element the template owns, or set `sanitizerPolicy: 'compat'` to keep every `data-*` as 1.x did"}(e)}.`))}var br=/* @__PURE__ */new Set(["p","br","strong","b","em","i","u","s","strike","mark","small","h1","h2","h3","h4","h5","h6","ul","ol","li","dl","dt","dd","blockquote","code","pre","kbd","samp","var","a","span","div","section","article","aside","header","footer","nav","figure","figcaption","img","picture","source","audio","video","sub","sup","hr","time","abbr","cite","q","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col"]),wr=/* @__PURE__ */new Set(["input","button","textarea","select","option","label"]),Sr=/* @__PURE__ */new Set(["script","style","iframe","object","embed","link","meta","base","form","input","button","select","textarea","svg","math","template","frame","frameset","noframes","noscript"]),Ar=/* @__PURE__ */new Set(["id","class","lang","dir","title","role","tabindex"]),kr="aria-",Rr="data-",Tr={a:/* @__PURE__ */new Set(["href","target","rel","download","hreflang","type"]),img:/* @__PURE__ */new Set(["src","srcset","sizes","alt","width","height","loading","decoding"]),picture:/* @__PURE__ */new Set([]),source:/* @__PURE__ */new Set(["src","srcset","sizes","type","media"]),audio:/* @__PURE__ */new Set(["src","controls","autoplay","loop","muted","preload"]),video:/* @__PURE__ */new Set(["src","poster","controls","autoplay","loop","muted","preload","width","height","playsinline"]),time:/* @__PURE__ */new Set(["datetime"]),abbr:/* @__PURE__ */new Set(["title"]),q:/* @__PURE__ */new Set(["cite"]),blockquote:/* @__PURE__ */new Set(["cite"]),table:/* @__PURE__ */new Set(["summary"]),th:/* @__PURE__ */new Set(["colspan","rowspan","scope","headers","abbr"]),td:/* @__PURE__ */new Set(["colspan","rowspan","headers"]),col:/* @__PURE__ */new Set(["span"]),colgroup:/* @__PURE__ */new Set(["span"]),ol:/* @__PURE__ */new Set(["start","reversed","type"]),li:/* @__PURE__ */new Set(["value"]),code:/* @__PURE__ */new Set(["class"]),pre:/* @__PURE__ */new Set(["class"])},Cr=/* @__PURE__ */new Set(["href","src","cite","poster"]),$r=class extends Error{name="SanitizerEnvironmentError"},Pr=/* @__PURE__ */new Set(["id","name","data-payload-key","data-payload-morph","data-payload-nested-key","data-payload-nested-template"]),Lr=/* @__PURE__ */Symbol.for("payload-live-preview.sanitizer-document");function setSanitizerDocument(e){mr("set-sanitizer-document","`setSanitizerDocument()` is removed in 3.0: pass the document per call, `sanitizeHtml(html, { document })` or `lexicalToHtml(content, { document })` (ADR 0026)."),globalThis[Lr]=e??void 0}function sanitizeHtml(e,t){return Nr(e,void 0,t)}function Nr(e,t,n){const r=n?.document??Fr();if(!r)throw"undefined"!=typeof __INLINE_BUILD__&&__INLINE_BUILD__?new Error("sanitizeHtml needs a DOM"):new $r("sanitizeHtml needs a DOM; pass one per call during SSR: { document } (linkedom, jsdom).");if(""===e)return"";const i=function(e,t){const n=e?.policy??t??"strict";if(!e){const e=/* @__PURE__ */new Map;for(const[t,n]of Object.entries(Tr))e.set(t,n);return{allowedTags:br,attrByTag:e,allowFormControls:!1,templateMode:!1,mode:n,allowedData:/* @__PURE__ */new Set}}const r=new Set(br);if(e.additionalAllowedTags?.forEach(e=>r.add(e)),!0===e.allowFormControls)for(const e of wr)r.add(e);const i=/* @__PURE__ */new Map;for(const[e,t]of Object.entries(Tr))i.set(e,t);for(const[t,n]of Object.entries(e.additionalAllowedAttributes??{})){const e=new Set(i.get(t));for(const t of n)e.add(t);i.set(t,e)}return{allowedTags:r,attrByTag:i,allowFormControls:!0===e.allowFormControls,templateMode:!0===e.templateMode,mode:n,allowedData:new Set(e.allowedDataAttributes?.map(e=>e.toLowerCase()))}}(n,t);let o=e;for(let e=0;e<6;e+=1){const e=r.createElement("template");e.innerHTML=ar(o),Ur(e.content,i);const t=e.innerHTML;if(t===o)return t;o=t}return mr("sanitizer-unsettled",`sanitizeHtml: the output did not settle after ${String(6)} passes, so it returned an empty string (ADR 0016).`),""}function Fr(){if("undefined"==typeof __INLINE_BUILD__||!__INLINE_BUILD__){const e=globalThis[Lr];if(e)return e}if("undefined"!=typeof document)return document}function Ur(e,t){for(const n of Array.from(e.childNodes))1===n.nodeType?xr(n,t):8===n.nodeType&&n.remove()}function xr(e,t){const n=e.tagName.toLowerCase();if(!Sr.has(n)||t.allowFormControls&&wr.has(n)){if(!t.allowedTags.has(n))return Ur(e,t),void e.replaceWith(...e.childNodes);!function(e,t,n){const r=n.attrByTag.get(t);for(const t of Array.from(e.attributes)){const i=t.name.toLowerCase();if(i.startsWith("on")||"style"===i)e.removeAttribute(t.name);else if("is"!==i){if("strict"===n.mode){if(n.templateMode&&Pr.has(i))continue;if("id"===i||"name"===i||i.startsWith("data-payload-")){e.removeAttribute(t.name),"name"===i&&!0!==r?.has(i)||yr(i);continue}if(i.startsWith(Rr)){n.allowedData.has(i)||(e.removeAttribute(t.name),yr(i));continue}if(Ar.has(i)||i.startsWith(kr))continue}else if(Ar.has(i)||i.startsWith(kr)||i.startsWith(Rr))continue;r?.has(i)?Cr.has(i)&&!isSafeUrl(t.value)?e.removeAttribute(t.name):"srcset"!==i||Mr(t.value)||e.removeAttribute(t.name):e.removeAttribute(t.name)}else e.setAttribute("is","")}}(e,n,t),"a"===n&&function(e){const t=e.getAttribute("href");null!==t&&isExternalHttpUrl(t)&&(e.setAttribute("rel","noopener noreferrer"),e.hasAttribute("target")||e.setAttribute("target","_blank"))}(e),Ur(e,t)}else e.remove()}function Mr(e){for(const t of e.split(",")){const e=t.trim();if(0===e.length)continue;const[n=e]=e.split(/\s/,1);if(!isSafeUrl(n)||!isSafeUrl(e))return!1}return!0}var Er=Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="}),Or=/[&<>"'/`=]/g;function escapeHtml(e){return e.replace(Or,e=>Er[e])}var Ir=Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'"}),Dr=/[&<>"']/g;function escapeHtmlAttribute(e){return e.replace(Dr,e=>Ir[e])}var Br=/\{\{([\s\S]*?)\}\}/g;function zr(e){const t=/* @__PURE__ */new Set;for(const n of e)if("object"==typeof n&&null!==n)for(const e of Object.keys(n))t.add(e);return t}function _r(e,t,n,r,i){const o="object"==typeof t&&null!==t?t:null;return e.replace(Br,(e,s)=>null!==o&&function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(o,s)?escapeHtml(r(Reflect.get(o,s))):null===o&&"value"===s?escapeHtml(r(t)):"index"===s?String(n):null!==o&&!0===i?.has(s)?"":e)}function jr(e){const t=e.children,n=t[0];if(void 0===n)return[];const r=[];for(const{name:e,value:i}of Array.from(n.attributes)){if(!G(e)||e.startsWith("data-payload-"))continue;let n=!0;for(let r=1;r<t.length&&n;r+=1)n=t[r]?.getAttribute(e)===i;n&&r.push([e,i])}return r}function Hr(e,t){for(const[n,r]of t)e.hasAttribute(n)||e.setAttribute(n,r)}function Wr(e){if(null==e)return"";if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e||"bigint"==typeof e)return String(e);try{return JSON.stringify(e)}catch{return""}}function qr(e){return null==e||""===e}function Vr(e,t){const n=e.get(t);return void 0!==n&&(e.delete(t),e.set(t,n)),n}function Gr(e,t,n,r){return e.set(t,n),function(e,t){for(const n of e.keys()){if(e.size<=t)break;e.delete(n)}}(e,r),n}var Kr=["input","textarea","select","option","button","label","details","summary","dialog","video","audio","progress","meter"],Jr=["type","name","placeholder","open","disabled","readonly","required","checked","selected","value","min","max","step","rows","cols","for","controls","muted","loop","poster","src"],Qr=/<([a-z][a-z0-9]*(?:-[a-z0-9]+)+)\b/gi,Xr=/* @__PURE__ */new Map;function Zr(e){const t=Vr(Xr,e);if(void 0!==t)return t;const n=new Set(Kr);for(const t of e.matchAll(Qr)){const e=t[1]?.toLowerCase();void 0!==e&&n.add(e)}const r={};for(const e of n)r[e]=Jr;const i={additionalAllowedTags:[...n],additionalAllowedAttributes:r,allowFormControls:!0,templateMode:!0};return Gr(Xr,e,i,64)}var Yr="data-payload-key",ei="data-payload-nested-key",ti="data-payload-nested-template";function ni(e){const t=ii(e.container,e.patches,e);return null===t?null:oi(t,e.store,{morph:e.morph??!0,onDuplicateKey:e.onDuplicateKey})}function ri(e,t){return t.hasAttribute(ei)&&t.hasAttribute(ti)}function ii(e,t,n){const r=function(e,t,n){const{template:r,nextItems:i,forceRender:o=!1,store:s,sanitizerPolicy:a}=n,l=s.get(e),u=jr(e),d=zr(i),c=Array.from(e.children),h=hi(c,Yr),f=/* @__PURE__ */new Set,p=[];for(let s=0;s<i.length;s+=1){const g=i[s],m=ci(g);let v=void 0===m?c[s]??null:fi(h,m)??null;null!==v&&f.has(v)&&(v=null),null!==v&&f.add(v);const y=t.replaces.has(s),b=o||t.renders.has(s)||null===v?pi(e.ownerDocument,r,g,s,a,u,d):void 0;if(null===b)return null;const w=void 0===b?[]:si(y?null:v,b,g,void 0===m?void 0:l?.get(m),n);if(null===w)return null;p.push([s,v,b,w,y])}return p}(e,function(e){const t=/* @__PURE__ */new Set,n=/* @__PURE__ */new Set;for(const r of e)"insert"===r.kind||"update"===r.kind?t.add(r.index):"replace"===r.kind&&(t.add(r.index),n.add(r.index));return{renders:t,replaces:n}}(t),n);return null===r?null:[e,r,n.nextItems]}function oi(e,t,n){const[r,i,o]=e,s=/* @__PURE__ */new Set;let a=!1;const l=pr(r);for(const[e,o,l,u,d]of i){let i=o;if(void 0!==l){const e=!(!n.morph||d||null===o)&&dr(o,l,{keyAttributes:[Yr,ei],boundary:Qe,retainBoundary:ot,retainChildrenOf:ri,...void 0!==n.onDuplicateKey?{onDuplicateKey:n.onDuplicateKey}:{}})===o;if(!e)for(const[e,t]of u)null!==e&&(li(e,t),t.replaceWith(e));for(const[,,e]of u)void 0!==e&&oi(e,t,n);e?a=!0:(null!==o&&(o.replaceWith(l),a=!0),i=l)}if(null===i)continue;const c=r.children[e]??null;i!==c&&(r.insertBefore(i,c),a=!0),s.add(i)}for(const e of Array.from(r.children))s.has(e)||(e.remove(),a=!0);gr(l);const u=function(e,t){let n=t.get(e);return n||(n=/* @__PURE__ */new Map,t.set(e,n)),n}(r,t);u.clear();for(const e of o)di(u,e);return a}function si(e,t,n,r,i){const o=hi(null===e?[]:ai(e),ei),s=[];for(const e of ai(t)){const t=e.getAttribute(ei);if(null===t)continue;const a=fi(o,t)??null,l=e.getAttribute(ti),u=l?a:null,d=u?.getAttribute(ti)??null;let c;if(l){const o=ui(n,t);if(void 0!==o||null!==u){const n=o??[],s=O(null===u?[]:ui(r,t)??[],n),a=null!==u&&d!==l;if((s.length>0||a)&&(c=ii(u??e,s,{template:l,nextItems:n,forceRender:a,store:i.store,sanitizerPolicy:i.sanitizerPolicy})??void 0,void 0===c))return null}}s.push([u,e,c])}return s}function ai(e){return Array.from(e.querySelectorAll(`[${ei}]`)).filter(t=>{let n=t.parentElement;for(;null!==n&&n!==e;){if(n.hasAttribute(ei))return!1;n=n.parentElement}return n===e})}function li(e,t){for(const n of Array.from(e.attributes))t.hasAttribute(n.name)||e.removeAttribute(n.name);for(const n of Array.from(t.attributes))e.getAttribute(n.name)!==n.value&&e.setAttribute(n.name,n.value)}function ui(e,t){if("object"!=typeof e||null===e)return;const n=e[t];return Array.isArray(n)?n:void 0}function di(e,t){const n=ci(t);void 0!==n&&e.set(n,t)}function ci(e){if("object"!=typeof e||null===e)return;const t=e.id;return"string"==typeof t||"number"==typeof t?String(t):void 0}function hi(e,t){const n=/* @__PURE__ */new Map;for(let r=e.length-1;r>=0;r-=1){const i=e[r];if(void 0===i)continue;const o=i.getAttribute(t);if(null===o)continue;const s=n.get(o);void 0===s?n.set(o,[i]):s.push(i)}return n}function fi(e,t){return e.get(t)?.pop()}function pi(e,t,n,r,i,o,s){const a=Nr(_r(t,n,r,Wr,s),i,Zr(t)),l=e.createElement("template");l.innerHTML=ar(a);const u=l.content.firstElementChild;if(!u)return null;Hr(u,o);const d=ci(n);return void 0!==d&&u.setAttribute(Yr,d),u}function gi(e,t,n){t.warnedFragmentFallback||(t.warnedFragmentFallback=!0,e.warn(`[live-preview] LP0806: "${n.fieldName}" asks for the fragment strategy but no handler is configured; patching instead`))}function mi(e,t,n){t.warnedStrategy.has(n.element)||(t.warnedStrategy.add(n.element),e.warn(`[live-preview] LP0407: "${n.fieldName}" asks for strategy "${String(n.strategy)}"; only patch, fragment and route exist`))}var vi=class{constructor(e,t,n){this.deps=e,this.state=t,this.host=n}deps;state;host;planFragments(e,t){const{deps:n,state:r}=this,i=n.strategies.fragment;if(void 0===i)return null;const o=new Set(i.plan(n.root,e));for(const e of r.fragmentsOwed)n.root.contains(e)?o.add(e):r.fragmentsOwed.delete(e);return yi(i,[...o].filter(e=>bi(e,t)),t)}escalateUnfaithful(e,t,n,r){if(e.routeRefreshed)return void this.kept(e,n);const{fragment:i,route:o}=this.deps.strategies,s=void 0===i?void 0:function(e){const t=[];for(const n of e){const e=n.fragmentBoundary;if(void 0===e)return;t.includes(e)||t.push(e)}return t}(n),a=void 0===s||s.every(e=>bi(e,r))?s:void 0;return void 0!==i&&void 0!==a?(this.state.escalatedCount+=n.length,e.pendingFragments+=a.length,void this.runFragments(e,t,yi(i,a,r))):void 0===o?(this.warnEscalationUnavailable(n.length),void this.kept(e,n)):(this.state.escalatedCount+=n.length,void this.refreshRoute(e,t,o))}kept(e,t){for(const n of t)this.state.display.shortfall(e,{kind:"unfaithful",field:n.fieldName})}warnEscalationUnavailable(e){const{deps:t,state:n}=this;n.warnedEscalationUnavailable||(n.warnedEscalationUnavailable=!0,t.warn(`[live-preview] LP0808: onUnfaithfulPatch: 'escalate' has nowhere to go: ${String(e)} field(s) fell short and no route or fragment strategy is configured. Set routeStrategy: true or fragments: { endpoint }, or onUnfaithfulPatch: 'warn' to keep the patch and say so.`))}hasUnboundChange(e,t){const{deps:n,state:r}=this;if(e.baseline||e.routeRefreshed)return!1;const i=Ae(n.cache,e.touched,e.locale,t,Se(n.subfieldCoverage,r.changes.previousFields,e.renderData?.fields),n.strategies);let o=0;for(const e of i)Q(r,e)&&(o+=1);const[s]=i;if(void 0===s)return!1;if("escalate"!==n.onUnfaithfulPatch||void 0===n.strategies.route){"escalate"===n.onUnfaithfulPatch&&this.warnEscalationUnavailable(i.length);for(const t of i)r.display.shortfall(e,{kind:"unbound",field:t});return!1}return n.log("route","LP0807",`field "${s}" has no binding; refreshing the route`),r.escalatedCount+=o,!0}plansRoute(e,t,n){const r=e=>!1===n||ce(e,n);if(e.plan(this.deps.root,t,{inScope:e=>r(Ft(e))}))return!0;for(const[e,n]of this.deps.cache.entries())if(t.has(e)&&n.some(e=>"route"===e.strategyKind&&r(e.owner)))return!0;return!1}async runFragments(e,t,n){const{deps:r,state:i}=this,o=new AbortController,s=new Set(n.boundaries);for(const e of s)i.fragmentsOwed.delete(e);i.fragmentControllers.set(o,s);const a=t=>{s.delete(t)&&(e.pendingFragments-=1)},l=()=>i.isCurrent(e)&&!o.signal.aborted,u=e=>function(e,t,n){if(t.isConnected)return t;const r=t.getAttribute(oe),i=t.getAttribute(se);let o;for(const t of e.querySelectorAll(`[${oe}]`))if(t.getAttribute(oe)===r&&t.getAttribute(se)===i&&n(t)){if(void 0!==o)return;o=t}return o}(r.root,e,e=>bi(e,n.ownerKeys)),{emitter:d}=r,{message:c}=e,h=e.revision.revision,f=e.receivedAt,p={root:r.root,revision:h,receivedAt:f,fields:t.fields,locale:e.locale,collectionSlug:"string"==typeof c.collectionSlug?c.collectionSlug:void 0,globalSlug:"string"==typeof c.globalSlug?c.globalSlug:void 0,signal:o.signal,isCurrent:l,log:(e,t)=>{r.log("fragment",e,t)},morph:(e,t)=>{const n=l()?u(e):void 0;void 0!==n&&function(e,t,n){const r=e.ownerDocument.createElement("template");r.innerHTML=ar(t);const i=e.cloneNode(!1);i.append(r.content);const o=st(e);dr(e,i,{keyAttributes:[Yr],boundary:Qe,retainBoundary:ot}),function(e){for(const t of e)t.isConnected||nt.has(t)||(nt.add(t),t.dispatchEvent(new CustomEvent("astro:unmount")))}(o);const s=new Set(o);for(const t of st(e)){const e=s.has(t)?void 0:at(t);void 0!==e&&n(t,e)}}(n,t,(e,t)=>{this.warnIslandStart(e,t)})},patch:r=>{const i=u(r);void 0!==i&&(i!==r&&this.host.rebuildCache(),this.patchFallback(e,t,i,n.ownerKeys,l))},rendered:(e,t,n)=>{a(e);const r=u(e)??e;d.emitWhile("fragmentRender",{element:r,id:t,key:n,status:"rendered",revision:h,receivedAt:f},l)},failed:(t,n,o,s,c)=>{a(t);const p=u(t)??t;i.display.shortfall(e,{kind:"fragment",id:n,key:o,code:s});const g=`fragment "${n}" fell back to patch: ${c}`;r.log("fragment",s,g),d.emitWhile("error",{error:new Error(g),context:"fragment",code:s},l),d.emitWhile("fragmentRender",{element:p,id:n,key:o,status:"failed",code:s,revision:h,receivedAt:f},l)}};let g={rendered:0,failed:0,superseded:0};try{g=await n.strategy.render(p,n.boundaries)}catch(t){if(r.log("fragment","LP0801",t),l()){for(const t of n.boundaries)p.patch(t),i.display.shortfall(e,ze(t));g={rendered:0,failed:n.boundaries.length,superseded:0}}}i.fragmentStats.rendered+=g.rendered,i.fragmentStats.failed+=g.failed,i.fragmentStats.superseded+=g.superseded,i.fragmentControllers.delete(o);for(const e of s)a(e);l()&&(g.rendered>0&&this.host.restoreGuesses(e,t),0===e.pendingFragments&&0===r.scheduler.pendingCount&&i.complete(e),this.host.revealPending(e),l()&&0!==g.rendered&&0!==d.listenerCount("afterUpdate")&&d.emitWhile("afterUpdate",{data:t,updatedCount:g.rendered,durationMs:Date.now()-f,revision:h,receivedAt:f,source:"fragment"},l))}async refreshRoute(e,t,n){const{deps:r,state:i}=this;if(e.routeRefreshed)return i.routeStats.loopStopped+=1,void r.log("route","LP0805",`revision ${String(e.revision.revision)} asked for a second refresh`);e.routeRefreshed=!0,await this.runRoute(e,t,n).catch(e=>{this.routeFailed(e)})}routeFailed(e){this.deps.log("route refresh failed:",e)}armRouteRetry(e,t,n,r){const{state:i}=this;null!==i.routeRetry&&clearTimeout(i.routeRetry),i.routeRetry=setTimeout(()=>{i.routeRetry=null,i.isCurrent(e)&&this.runRoute(e,t,n).catch(e=>{this.routeFailed(e)})},r)}async runRoute(e,t,n){const{deps:r,state:i}=this,o=i.routeStats,s=new AbortController;i.routeController?.abort(),i.routeController=s;const a=()=>!s.signal.aborted;let l;try{l=await n.refresh({revision:e.revision.revision,receivedAt:e.receivedAt,signal:s.signal,isCurrent:a,log:(e,t)=>{r.log("route",e,t)},retryAfter:r=>{this.armRouteRetry(e,t,n,r)}})}catch(e){r.log("route","LP0801",e),l="failed"}if(!a())return;i.routeController=null;const u=i.activeUpdate;if(null===u)return;const d=u.renderData,c=()=>i.isCurrent(u);if("partial"===l?i.display.shortfall(u,{kind:"route-saved"}):("failed"===l||"superseded"===l||"refused"===l&&null===i.routeRetry)&&i.display.shortfall(u,{kind:"route-failed",outcome:l}),"refreshed"===l||"partial"===l){if(o.refreshes+=1,"partial"===l&&(o.partial+=1),i.lastAppliedIdentity=/* @__PURE__ */new WeakMap,void 0!==d&&this.host.restoreGuesses(u,d),this.host.rebuildCache(),void 0===d||!c())return;return this.host.reapply(u,d),void(r.emitter.listenerCount("afterUpdate")>0&&r.emitter.emitWhile("afterUpdate",{data:d,updatedCount:r.cache.elementCount,durationMs:Date.now()-u.receivedAt,revision:u.revision.revision,receivedAt:u.receivedAt,source:"route"},c))}"failed"===l?o.failed+=1:"refused"===l&&(o.refused+=1),void 0!==d&&this.host.reapply(u,d)}warnIslandStart(e,t){if(this.state.warnedIslandStart)return;this.state.warnedIslandStart=!0;const n="element"===t?"<astro-island>":`client:${e.getAttribute("client")??""}`;this.deps.warn(`[live-preview] LP0809: a fragment island cannot start: this page never loaded ${n}; render one on the page`)}warnFragmentFallback(e){gi(this.deps,this.state,e)}warnUnsupportedStrategy(e){mi(this.deps,this.state,e)}patchFallback(e,t,n,r,i){if(i())for(const[o,s]of this.deps.cache.entries())for(const a of s){if(a.fragmentBoundary!==n)continue;if(!1!==r&&!ce(a.owner,r))continue;const s=Zn(t.fields,a,o,e.locale);void 0!==s&&i()&&this.deps.scheduler.schedule({target:a,value:this.host.transform(a,s,t.fields,i),allFields:t.fields,revision:e.revision,data:t})}}};function yi(e,t,n){const r=new Set(t);return{boundaries:t,strategy:e,ownerKeys:n,covers:e=>void 0!==e.fragmentBoundary&&r.has(e.fragmentBoundary)}}function bi(e,t){return!1===t||ce(Ft(e),t)}function wi(e,t,n,r,i){const o=e.transformValue;if(void 0===o)return n;try{const e=o(t.fieldName,n,{element:t.element,allFields:r},i),s=v(e);if(!i())return n;if(s)throw new TypeError(`Transform for "${t.fieldName}" returned a thenable; transforms must be synchronous`);return e}catch(t){if(!i())return n;const r=t instanceof Error?t:new Error(String(t));return e.emitter.emit("error",{error:r,context:"transform",code:"LP0602"}),n}}var Si=/* @__PURE__ */new Set,Ai={kind:"merge"},ki=class{constructor(e,t,n){this.deps=e,this.state=t,t.changes.keepValues="declared"===e.subfieldCoverage,t.display.host=function(e,t){return{outstanding:n=>!n.completed||n.pendingFragments>0||null!==t.routeController||null!==t.routeRetry||e.scheduler.pendingCount>0,report:t=>{"partial"===t.state&&e.a11y?.announcePartial(),e.emitter.emit("revisionDisplay",t)},failed:t=>{e.log("revision display failed:",t)}}}(e,t),this.strategies="undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__?function(e,t){return{planFragments:()=>null,escalateUnfaithful:(e,n,r)=>{for(const{fieldName:n}of r)t.display.shortfall(e,{kind:"unfaithful",field:n})},hasUnboundChange:(n,r)=>{if(n.baseline)return!1;const i=Ae(e.cache,n.touched,n.locale,r,Se(e.subfieldCoverage,t.changes.previousFields,n.renderData?.fields));for(const e of i)Q(t,e),t.display.shortfall(n,{kind:"unbound",field:e});return!1},plansRoute:()=>!1,runFragments:()=>Promise.resolve(),refreshRoute:()=>($("route refreshes"),Promise.resolve()),warnFragmentFallback:n=>{$("server-rendered fragments"),gi(e,t,n)},warnUnsupportedStrategy:n=>{mi(e,t,n)}}}(e,t):new vi(e,t,{reapply:(e,t)=>{this.scheduleAllFields(e,t)},transform:(t,n,r,i)=>wi(e,t,n,r,i),rebuildCache:n,restoreGuesses:(e,t)=>{this.restoreGuesses(e,t)},revealPending:e=>{this.revealPending(e)}}),this.navigationReplay=new tr(e,t,{schedule:(e,t,n)=>{this.scheduleAllFields(e,t,n)}})}deps;state;strategies;navigationReplay;handleUpdate(e,t,n){const{deps:r,state:i}=this;r.heartbeat.kick(),i.protocol.observe(function(e){const t=[];return Array.isArray(e.fieldSchemaJSON)&&t.push("schema-json"),"string"==typeof e.locale&&t.push("locale"),"string"==typeof e.previewToken&&t.push("preview-token"),"object"==typeof e.externallyUpdatedRelationship&&null!==e.externallyUpdatedRelationship&&t.push("relationship-events"),t}(e),r.log);const o=e.data;void 0!==o?void 0!==n&&this.acceptDataUpdate(e,o,t,n,!0):void 0!==e.protocolVersion&&i.protocol.applyVersion(e.protocolVersion,r.log)}handleReplay(e,t,n){const r=e.data;void 0!==r&&this.acceptDataUpdate(e,r,t,n,!1)}reapplyNavigationBindings(e){this.navigationReplay.reapplyBindings(e)}reapplyNavigationIslands(e,t=!1){this.navigationReplay.reapplyIslands(e,t)}acceptDataUpdate(e,t,n,r,i){const{deps:o,state:s}=this,a=i?s.relationships.inspect(e):null,l="string"==typeof e.locale?e.locale:s.locale;let u=s.schema,d=s.schemaIndex;Array.isArray(e.fieldSchemaJSON)&&(u=e.fieldSchemaJSON,d=function(e,t=""){const n=/* @__PURE__ */new Map;return U(e,t,n,!1),U(e,t,n,!0),n}(e.fieldSchemaJSON));const c=s.activeUpdate;if(!s.isRunning()||null!==c&&c.revision.revision>r.revision)return;const h=null===a?null:s.relationships.commit(a),f=c,p={revision:r,message:e,rawData:t,locale:l,schema:u,schemaIndex:d,receivedAt:Date.now(),forceRender:null!==h||Ue(f),countsAsUpdate:i,renderData:void 0,fragmentBoundariesRun:/* @__PURE__ */new WeakSet,touched:/* @__PURE__ */new Set,baseline:!1,invalidated:/* @__PURE__ */new Set,revealTarget:void 0,revealIdentities:[],pendingFragments:0,routeRefreshed:!1,cancelled:!1,completed:!1};if(s.locale=l,s.schema=u,s.schemaIndex=d,null!==f&&!f.completed&&f.countsAsUpdate&&(s.supersededCount+=1),s.activeUpdate=p,i&&(s.updateCount+=1),s.display.begin(p,r.revision),s.isCurrent(p)&&(o.scheduler.acceptRevision(r),s.isCurrent(p)&&(s.supersedeStrategies(),s.isCurrent(p)&&(null===h||(o.emitter.emitWhile("relationshipUpdate",{detail:h,timestamp:Date.now()},()=>s.isCurrent(p)),s.isCurrent(p)))&&(!i||void 0===e.protocolVersion||(s.protocol.applyVersion(e.protocolVersion,o.log),s.isCurrent(p)))))){if(i&&o.connection.markConnected()){if(o.a11y?.announceConnected(),o.emitter.emit("connect",{origin:n,timestamp:Date.now()}),!s.isCurrent(p))return;if(o.log("connection","disconnected","→","connected"),!s.isCurrent(p))return}this.processUpdate(p).catch(e=>{o.log("update failed:",e)})}}async processUpdate(e){const{deps:t,state:n}=this,r=await this.resolveIncomingFields(e);if(null===r||!n.isCurrent(e))return;const i=this.dataFor(e,r);t.emitter.listenerCount("beforeUpdate")>0&&(!await t.emitter.emitWhile("beforeUpdate",{data:i,revision:e.revision.revision,receivedAt:e.receivedAt,source:"patch",cancel:()=>{e.cancelled=!0,t.scheduler.cancelRevision(e.revision)}},()=>!e.cancelled&&n.isCurrent(e))||e.cancelled||!n.isCurrent(e))||this.applyFields(e,i,!1)}dataFor(e,t){const{message:n}=e;return{fields:t,...void 0!==e.schema?{schema:e.schema}:{},..."string"==typeof n.globalSlug?{globalSlug:n.globalSlug}:{},..."string"==typeof n.collectionSlug?{collectionSlug:n.collectionSlug}:{},...void 0!==e.locale?{locale:e.locale}:{}}}applyFields(e,t,n){const{deps:r,state:i}=this;if(!i.isCurrent(e))return;if(i.changes.isBaseline&&!n&&"off"!==r.autoBind){if("undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__)$("auto-binding");else{const n=er(r,i,e,t.fields);!function(e,t,n,r,i,o){if(!o())return 0;const s=performance.now(),a=Vn(e.root),l=Dn(n,r);if(!o())return 0;const u=null===a?[]:qn(a,l);if(!o())return 0;const d=Kn(e,u,i,"on the first message",o);if(!o())return 0;const c=function(e,t){const n=/* @__PURE__ */new Set;for(const{fieldName:e,stamps:r}of t){n.add(e);for(const e of[ct,ft]){const t=r[e];void 0!==t&&n.add(t)}}const r=/* @__PURE__ */new Map;for(const[t,i]of e)null!==i&&n.has(i.field)&&r.set(t,i);return{fields:n,values:r}}(l,d),h=performance.now()-s;o()&&(t.autoBindGuesses=c,t.autoBindSearchMs=h,d.length)}(r,i,t.fields,e.locale,n,()=>i.isCurrent(e))}if(!i.isCurrent(e))return}const o=We(r.dependencies,r.cache.dependencyMap());if(!i.isCurrent(e))return;const s=i.changes.diff(t.fields,o,()=>i.isCurrent(e));if(null===s)return;const a=!n&&i.navigationReplayPending;a&&(i.navigationReplayPending=!1,i.navigationBindingReplay=!0),e.baseline=s.baseline&&!a,e.invalidated=n?Si:s.invalidated,e.touched=n?Si:/* @__PURE__ */new Set([...s.changed,...s.invalidated]),e.renderData=t,this.scheduleAllFields(e,t)}async resolveIncomingFields(e){const{deps:t,state:n}=this,r=e.rawData;if(null===t.merger)return r;const i=n.merges.decide(t,e);if(!i.merge)return i.fields;const{message:o}=e,s=n.merges.request(t.merger,t.mergeWindowMs,{collectionSlug:o.collectionSlug,globalSlug:o.globalSlug,data:r,...void 0===e.schema?{}:{schema:e.schema},locale:e.locale});if(!s.leading)return this.applyMerged(e,s.result).catch(e=>{t.log("update failed:",e)}),i.fields;const a=await s.result;return n.isCurrent(e)?"merged"===a.status?(n.merges.recordMerged(a.doc,e.locale),a.doc):"superseded"===a.status?null:(n.display.shortfall(e,Ai),i.fields):null}async applyMerged(e,t){const{state:n}=this,r=await t;"unavailable"===r.status&&n.display.shortfall(e,Ai),"merged"===r.status&&n.isCurrent(e)&&(n.merges.recordMerged(r.doc,e.locale),this.applyFields(e,this.dataFor(e,r.doc),!0))}scheduleAllFields(e,t,n){const{deps:r,state:i}=this;if(!i.isCurrent(e))return;const o=void 0!==n,s=()=>i.isCurrent(e),a=er(r,i,e,t.fields);if(!s())return;const{touched:l}=e,u=r.strategies.route;if(o&&void 0!==u&&!e.routeRefreshed&&this.navigationReplay.hasLateRouteBinding(n,a,e,t))return void(s()&&this.strategies.refreshRoute(e,t,u));const d=!o&&this.strategies.hasUnboundChange(e,a),c=i.routeRefreshOwed;if(!o&&void 0!==u&&!e.routeRefreshed&&(d||c||this.strategies.plansRoute(u,l,a))&&s())return i.routeRefreshOwed=!1,void this.strategies.refreshRoute(e,t,u);const h=o?this.navigationReplay.fieldsForElements(n,l):l,f=this.navigationReplay.unrunFragmentPlan(e,this.strategies.planFragments(h,a),n);if(!s())return;const p=r.skipUnchanged;let g=0;for(const[l,u]of r.cache.entries()){if(!s())return;for(const d of u){if(void 0!==n&&!n.has(d.element))continue;if(!1!==a&&!ce(d.owner,a))continue;if(!0===f?.covers(d)){if(r.revealEditedField){const n=Zn(t.fields,d,l,e.locale);i.revealLedger.note(e,d,n)}continue}const u=d.strategyKind??le(d.element)??"unknown";if("unknown"===u){this.strategies.warnUnsupportedStrategy(d);continue}"fragment"===u&&null===f&&this.strategies.warnFragmentFallback(d);const c=Zn(t.fields,d,l,e.locale);if(void 0===c){i.absentFields.add(l);continue}if(!o&&r.revealEditedField&&i.revealLedger.note(e,d,c),!s())return;const h=wi(r,d,c,t.fields,s);if(!s())return;const m=p?Yn(d,h,t.fields,e.locale):void 0,v=i.lastAppliedIdentity.get(d.element);if(!e.forceRender&&r.skipUnchanged&&void 0!==m&&v===m&&!e.invalidated.has(l)){i.skippedUnchangedCount+=1;continue}const y={target:d,value:h,allFields:t.fields,revision:e.revision,...o?{}:{data:t},valueIdentity:m};r.scheduler.schedule(y),g+=1}}if(o||function(e,t,n,r,i){const{cache:o,strategies:s}=e,a={warned:t,warn:e.warn};if(0===o.fieldCount)return;if(!1!==i&&!function(e,t){for(const n of e.values())if(ce(n.owner,t))return!0;return!1}(o,i))return;const l=function(e,t,n,r){const i=we(e,t,n,ye(e,n,r));return e=>"none"!==i(e)}(o,r,i,s);for(const[e,t]of Object.entries(n)){if(ve.has(e))continue;if(ir(t)){rr(a,l,e,r,t);continue}if(!or(t)||l(e))continue;const n=be(e,r);for(const[e,i]of Object.entries(t))ir(i)&&!ve.has(e)&&rr(a,l,`${n}.${e}`,r,i)}if("declared"!==e.subfieldCoverage)return;const u=function(e,t,n,r,i){const o=ye(e,r,i),s=we(e,n,r,o),a=[];for(const[e,r]of Object.entries(t)){if(ve.has(e)||"below"!==s(e))continue;const t=be(e,n);a.push(...me(t,void 0,r,o))}return a}(o,n,r,i,s);for(const{path:e,value:t}of u)if(ir(t)&&rr(a,l,e,r,t),or(t))for(const[n,i]of Object.entries(t))ir(i)&&rr(a,l,`${e}.${n}`,r,i)}(r,i.warnedOrphanFields,t.fields,e.locale,a),s()){if(null!==f&&f.boundaries.length>0){for(const t of f.boundaries)e.fragmentBoundariesRun.add(t);e.pendingFragments+=f.boundaries.length,this.strategies.runFragments(e,t,f)}!o&&s()&&0===g&&(0===e.pendingFragments&&0===r.scheduler.pendingCount&&(i.complete(e),this.revealPending(e)),this.notifyIslands(e,t))}}notifyIslands(e,t){0!==e.touched.size&&this.navigationReplay.dispatchIslands(e,t,this.deps.cache.islands)}restoreGuesses(e,t){const{deps:n,state:r}=this;if("off"!==n.autoBind&&null!==r.autoBindGuesses&&("undefined"==typeof __LEAN_BUILD__||!__LEAN_BUILD__)){const i=er(n,r,e,t.fields);!function(e,t,n,r,i,o){if(!o())return 0;const s=t.autoBindGuesses,a=Vn(e.root);if(null===s||0===s.fields.size||null===a)return 0;const l=new Map(s.values);for(const[e,t]of Dn(n,r)){if(null===t||!s.fields.has(t.field))continue;const n=l.get(e);void 0===n?l.set(e,t):n?.field!==t.field&&l.set(e,null)}if(!o())return 0;const u=qn(a,l);o()&&Kn(e,u,i,"after a server render",o).length}(n,r,t.fields,e.locale,i,()=>r.isCurrent(e))}}onFlush(e){const{deps:t,state:n}=this;n.lastFlush=e,e.deferred>0&&!n.warnedVisibilityGate&&(n.warnedVisibilityGate=!0,t.warn(`[live-preview] LP0301: visibility gate held ${String(e.deferred)} off-screen update(s) until scrolled into view; see visibilityGateThreshold`));const{revision:r,data:i}=e;if(void 0===r)return;const o=n.activeUpdate;if(null===o||!n.isCurrent(o)||!y(o.revision,r))return;n.display.deferred(o,e.deferred),0===o.pendingFragments&&n.complete(o);const s=()=>n.isCurrent(o)&&y(o.revision,r),a=i??o.renderData;if(this.revealPending(o),!s())return;const l=n.unfaithfulPatches;if(l.length>0){if(n.unfaithfulPatches=[],void 0!==a){const e=er(t,n,o,a.fields);this.strategies.escalateUnfaithful(o,a,l,e)}if(!s())return}void 0!==i&&(e.applied>0&&t.a11y?.announceUpdate(e.applied),s()&&(this.notifyIslands(o,i),s()&&0!==e.applied&&0!==t.emitter.listenerCount("afterUpdate")&&t.emitter.emitWhile("afterUpdate",{data:i,updatedCount:e.applied,durationMs:e.durationMs,revision:r.revision,receivedAt:o.receivedAt,source:"patch"},s)))}revealPending(e){const t=this.state.revealLedger.commit(e);if(void 0!==t)try{Oe(this.state.revealer,t)}catch(e){this.deps.log("reveal",e)}}revealField(e){const t=this.deps.cache.get(e)?.[0];return void 0===t?"no-element":Oe(this.state.revealer,t)}},Ri=class{apply;debounceMs;maxWaitMs;isVisible;gateThresholdValue;gateDisabled;getCacheSize;onFlush;scheduleFrame;cancelFrame;pending=/* @__PURE__ */new Map;replay=/* @__PURE__ */new Map;activeFlushes=/* @__PURE__ */new Set;debounceTimer=null;debounceToken=0;deadlineTimer=null;frameHandle=null;frameFallback=null;frameToken=0;windowUntil=0;activeRevision=null;activeRevisionCancelled=!1;destroying=!1;constructor(e,t){this.apply=e,this.debounceMs=t.debounceMs??50,this.maxWaitMs=t.maxWaitMs??4*this.debounceMs,this.isVisible=t.isVisible,this.gateThresholdValue=t.visibilityGateThreshold??50,this.gateDisabled=t.disableVisibilityGate??!1,this.getCacheSize=t.getCacheSize,this.onFlush=t.onFlush,this.scheduleFrame=t.scheduleFrame??("function"==typeof requestAnimationFrame?requestAnimationFrame.bind(globalThis):e=>setTimeout(()=>{e(performance.now())},0)),this.cancelFrame=t.cancelFrame??("function"==typeof cancelAnimationFrame?cancelAnimationFrame.bind(globalThis):e=>{clearTimeout(e)})}schedule(e){if(this.destroying)return;if(void 0!==e.revision){if(this.activeRevisionCancelled)return;if(null===this.activeRevision||!y(e.revision,this.activeRevision))return}const t=this.pending.get(e.target.element);t?(t.value=e.value,t.allFields=e.allFields,t.revision=e.revision,t.data=e.data,t.valueIdentity=e.valueIdentity):this.pending.set(e.target.element,{target:e.target,value:e.value,allFields:e.allFields,revision:e.revision,data:e.data,valueIdentity:e.valueIdentity}),this.armDebounce()}acceptRevision(e){var t,n;this.destroying||null!==this.activeRevision&&y(e,this.activeRevision)||null!==this.activeRevision&&(t=e,n=this.activeRevision,(t.generation!==n.generation?t.generation-n.generation:t.revision-n.revision)<0)||(this.clearWork(),this.activeRevision=e,this.activeRevisionCancelled=!1,this.cancelScheduledWork())}cancelRevision(e){null!==this.activeRevision&&y(e,this.activeRevision)&&(this.clearWork(),this.activeRevisionCancelled=!0,this.cancelScheduledWork())}flushNow(){return this.cancelScheduledWork(),this.flush()}notifyVisible(e){const t=this.replay.get(e);if(!t)return;if(this.replay.delete(e),!this.isCurrent(t))return;const n=performance.now(),r=this.didApply(t)?1:0;this.onFlush?.(this.statsFor(t,r,0,performance.now()-n,1===r?[t.target.fieldName]:[]))}retarget(e){this.retargetBuffer(this.pending,e),this.retargetBuffer(this.replay,e);for(const t of this.activeFlushes)this.retargetBuffer(t,e)}forget(e){this.pending.delete(e),this.replay.delete(e);for(const t of this.activeFlushes)t.delete(e)}destroy(){if(!this.destroying){this.destroying=!0;try{this.clearWork(),this.activeRevision=null,this.activeRevisionCancelled=!1,this.windowUntil=0,this.cancelScheduledWork()}finally{this.destroying=!1}}}get pendingCount(){return this.pending.size}get replayCount(){return this.replay.size}get gateThreshold(){return this.gateThresholdValue}get gateActive(){return!this.gateDisabled&&this.getCacheSize()>this.gateThresholdValue}armDebounce(){const e=Date.now(),t=e>=this.windowUntil;if(this.windowUntil=e+this.debounceMs,t)return void this.requestFrame();const n=this.debounceToken+=1,r=this.debounceTimer;if(this.debounceTimer=null,null!==r&&clearTimeout(r),this.debounceToken!==n)return;const i=setTimeout(()=>{this.debounceToken===n&&(this.debounceTimer=null,this.pending.size>0&&this.requestFrame())},this.debounceMs);this.debounceToken===n&&(this.debounceTimer=i),null===this.deadlineTimer&&this.maxWaitMs>this.debounceMs&&(this.deadlineTimer=setTimeout(()=>{this.deadlineTimer=null,this.pending.size>0&&this.requestFrame()},this.maxWaitMs))}requestFrame(){const e=this.frameToken+=1,t=this.frameHandle;if(this.frameHandle=null,this.clearFrameFallback(),null!==t&&this.cancelFrame(t),this.frameToken!==e)return;let n=!1;const r=()=>{if(this.frameToken!==e||n)return;n=!0;const t=this.frameHandle;this.frameHandle=null,this.clearFrameFallback(),null!==t&&this.cancelFrame(t),this.flush()},i=this.scheduleFrame(r);n||this.frameToken!==e||(this.frameHandle=i,this.frameFallback=setTimeout(r,100))}clearFrameFallback(){clearTimeout(this.frameFallback??void 0),this.frameFallback=null}flush(){const e=performance.now();this.clearDeadline();const t=this.gateActive,n=this.pending;this.pending=/* @__PURE__ */new Map;let r=0;const i=[];let o,s=0;this.activeFlushes.add(n);try{for(const e of n.values()){if(!this.isCurrent(e))continue;const n=!t||this.isVisible(e.target.element);this.isCurrent(e)&&(o??=e,n?(this.replay.delete(e.target.element),this.didApply(e)&&(r+=1,i.push(e.target.fieldName))):(this.replay.set(e.target.element,e),s+=1))}}finally{this.activeFlushes.delete(n)}const a=this.statsFor(o,r,s,performance.now()-e,i);return this.onFlush?.(a),a}isCurrent(e){return void 0===e.revision||!this.activeRevisionCancelled&&null!==this.activeRevision&&y(e.revision,this.activeRevision)}didApply(e){return!1!==this.apply(e)||(t=this.apply,!ee.has(t));var t}retargetBuffer(e,t){const n=e.get(t.element);void 0!==n&&(Et(n.target,t)?n.target=t:e.delete(t.element))}clearWork(){this.pending.clear(),this.replay.clear();for(const e of this.activeFlushes)e.clear()}statsFor(e,t,n,r,i){return{applied:t,appliedFields:i,deferred:n,durationMs:r,...void 0!==e?.revision?{revision:e.revision}:{},...void 0!==e?.data?{data:e.data}:{}}}clearDeadline(){null!==this.deadlineTimer&&(clearTimeout(this.deadlineTimer),this.deadlineTimer=null)}cancelScheduledWork(){const e=this.debounceTimer,t=this.frameHandle;this.debounceToken+=1,this.frameToken+=1,this.debounceTimer=null,this.frameHandle=null,this.clearDeadline(),this.clearFrameFallback(),null!==e&&clearTimeout(e),null!==t&&this.cancelFrame(t)}},Ti=[0,500,1e3,2e3],Ci=class{deps;state=new _e;pipeline;writer;rootSentinel=null;scope=null;closingSession=!1;observedRoot=null;replayRetainedOnStart=!1;constructor(e){const{emitter:t,renderers:n}=e,r=void 0===e.log?S:w(e.log),i=void 0===e.warn?k:w(e.warn),o=e.root??("undefined"!=typeof document?document:void 0);if(void 0===o)throw new Error("LivePreviewRuntime: no document; pass options.root");const s=new Ot({filter:e=>!isInsideIsland(e)}),a=new un({onStructuralChange:()=>{this.rebuildCache()},onIslandHydrated:e=>{this.pipeline.reapplyNavigationIslands([e],!0)},onVisibilityChange:(e,t)=>{t&&l.notifyVisible(e)}},void 0!==e.intersectionRootMargin?{intersectionRootMargin:e.intersectionRootMargin}:{}),l=new Ri(te(e=>this.writer.apply(e)),{...void 0!==e.debounceMs?{debounceMs:e.debounceMs}:{},...void 0!==e.disableVisibilityGate?{disableVisibilityGate:e.disableVisibilityGate}:{},...void 0!==e.visibilityGateThreshold?{visibilityGateThreshold:e.visibilityGateThreshold}:{},isVisible:e=>a.isVisible(e),getCacheSize:()=>s.elementCount,onFlush:e=>{this.pipeline.onFlush(e)}}),u=new b(e.originMatcher,{onUpdate:(e,t,n)=>{this.pipeline.handleUpdate(e,t,n)},onReplay:(e,t,n)=>{this.pipeline.handleReplay(e,t,n)},onDocumentEvent:()=>{this.state.protocol.observe(["document-events"],r),t.emit("documentSave",{timestamp:Date.now()})},onFocusField:e=>{this.deps.revealEditedField&&this.pipeline.revealField(e)},onInvalid:(e,n)=>{if("token"===e){const e=new Error(`Preview token rejected (origin: ${n})`);t.emit("error",{error:e,context:"token",code:"LP0502"})}"shape"!==e&&"type"!==e||this.state.warnedProtocolShape||(this.state.warnedProtocolShape=!0,i(`[live-preview] LP0503: ${n} posted a message this runtime does not recognise (${"type"===e?"unknown message type":"unexpected shape"}); it was ignored. A newer Payload or a custom sender: check that the versions match.`)),"source"!==e||this.state.warnedForeignSource||(this.state.warnedForeignSource=!0,i(`[live-preview] LP0501: a message from ${n} was ignored because it did not come from the window that framed or opened this page. \`eventSourcePolicy\` is 'parent-or-opener' by default since 2.0, where 1.x accepted any window on a trusted origin. Set \`eventSourcePolicy: 'any'\` if the admin posts from elsewhere.`)),r("LP0501 message rejected:",e,n)},...void 0!==e.validateToken?{validateToken:e.validateToken}:{},...void 0!==e.eventSourcePolicy?{sourcePolicy:e.eventSourcePolicy}:{}}),d=e.dataMerge;this.deps={emitter:t,cache:s,observers:a,scheduler:l,bus:u,connection:new Nn,heartbeat:new Ln({...void 0!==e.heartbeatMs?{timeoutMs:e.heartbeatMs}:{},onTimeout:()=>{this.onHeartbeatTimeout()}}),renderers:n,resolveRenderer:e.resolveRenderer??(e=>n[e]),transformValue:e.transformValue,renderRichText:e.renderRichText,sanitizerPolicy:e.sanitizerPolicy,root:o,readyTargets:"function"==typeof e.readyTargets?e.readyTargets:/* @__PURE__ */(e=>()=>e)(e.readyTargets),sendReady:e.sendReady??L,onHeartbeatTimeout:e.onHeartbeatTimeout,log:r,warn:i,a11y:P(e),serverURL:d?.serverURL,merger:void 0===d?null:new rn({serverURL:d.serverURL,...void 0!==d.apiRoute?{apiRoute:d.apiRoute}:{},...void 0!==d.depth?{depth:d.depth}:{},...void 0!==d.fetchFn?{fetchFn:d.fetchFn}:{},log:r}),mergeWindowMs:e.debounceMs??50,scopeBindingsByOwner:!0===e.scopeBindingsByOwner,subfieldCoverage:e.subfieldCoverage??"descendant",lockedOrigin:e.lockedOrigin??(()=>{}),skipUnchanged:!0===e.skipUnchanged,dependencies:e.dependencies??{},strategies:e.strategies??{},revealEditedField:!0===e.revealEditedField,onUnfaithfulPatch:K(e),autoBind:e.autoBind??"off",hydration:e.hydration},this.writer=new je(this.deps,this.state),this.pipeline=new ki(this.deps,this.state,()=>{this.rebuildCache()})}start(){const{state:e}=this;if(e.isRunning()||this.closingSession)return!1;e.suspended&&(this.replayRetainedOnStart=!0),e.started=!0,e.suspended=!1,this.openScope();try{return function(e){"react"===e.hydration?gn():"vue"===e.hydration&&An();const{root:t}=e;if(!$n(t)||"loading"!==t.readyState)return void kn(e);const n=()=>{e.isRunning()&&e.later(()=>{kn(e)})};t.addEventListener("DOMContentLoaded",n,{once:!0}),e.defer(()=>{t.removeEventListener("DOMContentLoaded",n)})}(this.startupHost()),!0}catch(e){throw this.rollbackFailedStart(),e}}startupHost(){const{state:e,deps:t}=this;return{root:t.root,hydration:t.hydration,isRunning:()=>e.isRunning(),defer:t=>{e.deferredStart=t,this.scope?.own(()=>{e.deferredStart===t&&(e.deferredStart=null,t())})},later:t=>{e.deferredStart=null;try{t()}catch(e){this.rollbackFailedStart(),this.reportError(e,"startup","LP0605")}},hydrated:t=>{e.hydration=t},warn:t.warn,startNow:()=>{this.startNow()}}}startNow(){const{state:e,deps:t}=this;if(!e.isRunning())return;const n=$n(t.root)?Pn(t.root):t.root;if(null===n)throw new Error("LivePreviewRuntime: document.body unavailable");if(t.observers.start(n),this.observedRoot=n,this.watchRootReplacement(),this.buildCacheAndObserve(),!e.isRunning())return;if(t.bus.attach(),t.emitter.emitWhile("init",{timestamp:Date.now()},()=>e.isRunning()),!e.isRunning())return;const r=this.replayRetainedOnStart;this.replayRetainedOnStart=!1;const i=r&&t.heartbeat.resume();if(e.isRunning()&&(!r||i||(e.forgetOwedWork(),e.merges.resetRawChanges(),e.unfaithfulPatches=[],e.revealer.reset(),e.lastAppliedIdentity=/* @__PURE__ */new WeakMap,e.changes.reset(),e.navigationReplayPending=!0,t.bus.replayLastAccepted()||(e.navigationReplayPending=!1),e.isRunning())))for(const n of Ti){if(!e.isRunning())return;0===n?t.sendReady(t.readyTargets()):e.readyTimers.push(setTimeout(()=>{e.isRunning()&&this.sendReadyAfterStart()},n))}}suspend(){if(!this.state.isRunning())return!1;const e=this.release();return this.state.suspended=!0,e&&this.deps.emitter.emit("disconnect",{reason:"unload",timestamp:Date.now()}),!0}destroy(){const{state:e,deps:t}=this;if(!e.isRunning()&&!e.suspended)return;const n=!!e.isRunning()&&this.release();e.suspended=!1,this.replayRetainedOnStart=!1,t.bus.forgetLastAccepted(),n&&t.emitter.emit("disconnect",{reason:"destroy",timestamp:Date.now()}),t.a11y?.detach(),t.emitter.emit("destroy",{timestamp:Date.now()})}openScope(){const{state:e,deps:t}=this,n=new hn(t.log);n.own(()=>{t.merger?.destroy(),e.merges.destroy()}),n.own(()=>{t.scheduler.destroy()}),n.own(()=>{t.observers.stop()}),n.own(()=>{this.rootSentinel?.disconnect(),this.rootSentinel=null,this.observedRoot=null}),n.own(()=>{e.abortStrategies()}),n.own(()=>{t.bus.detach()}),n.own(()=>{t.heartbeat.stop()}),n.own(()=>{for(const t of e.readyTimers)clearTimeout(t);e.readyTimers.length=0}),this.scope=n}release(){const{state:e,deps:t}=this;e.display.end(),e.activeUpdate=null,e.navigationBindingReplay=!1,e.started=!1;const n=this.scope;this.scope=null,this.closingSession=!0;try{n?.close()}finally{this.closingSession=!1}return t.cache.clear(),t.connection.markDisconnected()}rollbackFailedStart(){this.release();try{this.deps.a11y?.detach()}catch(e){this.deps.log("runtime cleanup failed:",e)}}refreshCache(){this.state.isRunning()&&(this.state.revealer.reset(),this.followReplacedRoot()||this.rebuildCache())}navigationCommit(){const{state:e,deps:t}=this;e.isRunning()&&null===e.deferredStart&&(this.cancelActiveUpdate(!0),t.merger?.destroy(),e.merges.destroy(),e.abortStrategies(),this.cancelActiveUpdate(!0),e.forgetOwedWork(),e.merges.resetRawChanges(),e.unfaithfulPatches=[],e.revealer.reset(),e.lastAppliedIdentity=/* @__PURE__ */new WeakMap,e.changes.reset(),e.isRunning()&&(t.bus.advanceGeneration(),e.navigationReplayPending=!0,this.followReplacedRoot()||this.rebuildCache(),e.isRunning()&&(t.bus.replayLastAccepted(),e.isRunning()&&this.sendReadyAfterStart())))}watchRootReplacement(){const{root:e}=this.deps;$n(e)&&"undefined"!=typeof MutationObserver&&(this.rootSentinel?.disconnect(),this.rootSentinel=new MutationObserver(()=>{this.followReplacedRoot()}),this.rootSentinel.observe(e.documentElement,{childList:!0}))}followReplacedRoot(){const{root:e}=this.deps;if(!this.state.isRunning()||!$n(e))return!1;const t=Pn(e);return null!==t&&t!==this.observedRoot&&(this.observedRoot=t,this.deps.observers.start(t),this.rebuildCache(),!0)}get status(){return this.deps.connection.status}get cache(){return this.deps.cache}get updateCount(){return this.state.updateCount}get protocol(){return this.state.protocol.negotiation}inspect(){return function(t,n){const{cache:r,scheduler:i}=t,o=n.protocol.negotiation,s=n.activeUpdate,a=n.lastFlush,l=[],u=/* @__PURE__ */new Set,d=[];for(const[e,t]of r.entries()){l.push(e);for(const n of t)void 0!==n.owner&&u.add(n.owner),void 0!==n.guessed&&d.push({field:e,matched:n.guessed,attribute:n.targetAttribute??("IMG"===n.element.tagName?"src":void 0)})}return{version:e,started:n.started,status:t.connection.status,origins:{trusted:[...t.readyTargets()],locked:t.lockedOrigin()},protocol:{ours:o.ours,theirs:o.theirs,negotiated:o.negotiated,capabilities:[...o.capabilities].sort(),observed:[...o.observed].sort(),profile:detectProtocolProfile(o.observed).name},revisions:{accepted:n.updateCount,superseded:n.supersededCount,completed:n.completedCount,skippedUnchanged:n.skippedUnchangedCount,active:null===s?void 0:s.revision.revision,display:n.display.snapshot()},bindings:{elements:r.elementCount,fields:r.fieldCount,fieldNames:l.sort(),absentFields:[...n.absentFields].sort(),orphanFields:[...n.warnedOrphanFields].sort(),ownerScoped:t.scopeBindingsByOwner,owners:[...u].sort(),guessed:d.sort((e,t)=>e.field.localeCompare(t.field)),autoBind:{mode:t.autoBind,searchMs:n.autoBindSearchMs}},route:{handler:void 0!==t.strategies.route,...n.routeStats},fidelity:{mode:t.onUnfaithfulPatch,canEscalate:void 0!==t.strategies.fragment||void 0!==t.strategies.route,unfaithful:n.unfaithfulCount,escalated:n.escalatedCount,fields:[...n.unfaithfulFields].sort()},hydration:{mode:t.hydration??"off",state:n.hydration},fragments:{handler:void 0!==t.strategies.fragment,inFlight:s?.pendingFragments??0,...n.fragmentStats},scheduler:{pending:i.pendingCount,deferred:i.replayCount,visibilityGateThreshold:i.gateThreshold,visibilityGateActive:i.gateActive,lastFlush:null===a?void 0:{applied:a.applied,appliedFields:a.appliedFields,deferred:a.deferred,durationMs:a.durationMs}},plugins:[],renderers:Object.keys(t.renderers).sort()}}(this.deps,this.state)}buildCacheAndObserve(){const{state:e,deps:t}=this;if(!e.isRunning())return;const n=t.cache.buildFromRoot(t.root);if(t.log("cache",n),e.isRunning()&&(t.emitter.emitWhile("cacheRefresh",n,()=>e.isRunning()),e.isRunning()))for(const n of t.cache.values()){if(!e.isRunning())return;t.observers.observeElement(n.element)}}rebuildCache(){const{state:e,deps:t}=this;if(!e.isRunning())return;const n=/* @__PURE__ */new Map,r=t.cache.islandOwners,i=new Set(t.cache.navigationReplayRoots);for(const e of t.cache.values())n.set(e.element,e),t.observers.unobserveElement(e.element);if(this.buildCacheAndObserve(),!e.isRunning())return;const o=new Set(t.cache.navigationReplayRoots.filter(e=>!i.has(e)));for(const e of t.cache.values()){const r=n.get(e.element);void 0!==r&&Et(r,e)?t.scheduler.retarget(e):(t.scheduler.forget(e.element),o.add(e.element)),n.delete(e.element)}for(const e of n.values())t.scheduler.forget(e.element);o.size>0&&this.pipeline.reapplyNavigationBindings(o);const s=t.cache.islands.filter(e=>!r.has(e)||t.scopeBindingsByOwner&&r.get(e)!==t.cache.islandOwners.get(e));s.length>0&&this.pipeline.reapplyNavigationIslands(s)}onHeartbeatTimeout(){const{state:e,deps:t}=this;if(!e.isRunning())return;if(this.cancelActiveUpdate(!1),t.merger?.destroy(),e.merges.destroy(),e.abortStrategies(),this.cancelActiveUpdate(!1),!e.isRunning())return;t.bus.advanceGeneration(),t.bus.forgetLastAccepted(),e.navigationBindingReplay=!1;const n=t.connection.markDisconnected();try{t.onHeartbeatTimeout?.()}catch(e){t.log("heartbeat:",e)}if(e.isRunning()){if(n&&this.isIdleDisconnected()){if(t.a11y?.announceDisconnected(),t.emitter.emitWhile("disconnect",{reason:"timeout",timestamp:Date.now()},()=>this.isIdleDisconnected()),!e.isRunning())return;if(this.isIdleDisconnected()&&t.log("connection","connected","→","disconnected"),!e.isRunning())return}this.sendReadyAfterStart()}}cancelActiveUpdate(e){const{state:t,deps:n}=this,r=t.activeUpdate;t.display.end(),t.activeUpdate=null,null!==r&&(r.cancelled=!0,n.scheduler.cancelRevision(r.revision),e&&!r.completed&&r.countsAsUpdate&&(t.supersededCount+=1))}sendReadyAfterStart(){try{this.deps.sendReady(this.deps.readyTargets())}catch(e){this.reportError(e,"ready","LP0606")}}reportError(e,t,n){const r=e instanceof Error?e:new Error(String(e));this.deps.emitter.emit("error",{error:r,context:t,code:n})}isIdleDisconnected(){return this.state.isRunning()&&"disconnected"===this.deps.connection.status&&null===this.state.activeUpdate}},EventEmitter=class{#o=/* @__PURE__ */new Map;#s=/* @__PURE__ */new Map;on(e,t){return this.#a(this.#o,e,t)}once(e,t){return this.#a(this.#s,e,t)}off(e,t){this.#l(this.#o,e,t),this.#l(this.#s,e,t)}async emit(e,t){await this.#u(e,t)}async emitWhile(e,t,n){return this.#u(e,t,n)}async#u(e,t,n){const r=()=>n?.()??!0;if(!r())return!1;const i=this.#o.get(e);if(i)for(const n of[...i]){if(!r())return!1;if(await this.#d(n,t,e),!r())return!1}if(!r())return!1;const o=this.#s.get(e);if(o&&o.size>0){const n=[...o];this.#s.delete(e);for(const i of n){if(!r())return!1;if(await this.#d(i,t,e),!r())return!1}}return r()}listenerCount(e){return(this.#o.get(e)?.size??0)+(this.#s.get(e)?.size??0)}removeAllListeners(e){if(void 0===e)return this.#o.clear(),void this.#s.clear();this.#o.delete(e),this.#s.delete(e)}eventNames(){const e=/* @__PURE__ */new Set;for(const t of this.#o.keys())e.add(t);for(const t of this.#s.keys())e.add(t);return[...e]}#a(e,t,n){let r=e.get(t);return r||(r=/* @__PURE__ */new Set,e.set(t,r)),r.add(n),()=>{this.#l(e,t,n)}}#l(e,t,n){const r=e.get(t);void 0!==r&&(r.delete(n),0===r.size&&e.delete(t))}async#d(e,t,n){try{await e(t)}catch(e){const t="string"==typeof n||"number"==typeof n?String(n):"<event>";A(`[live-preview] LP0601: handler for "${t}" threw:`,e)}}};function isInIframe(){if("undefined"==typeof window)return!1;try{return window.self!==window.top}catch{return!0}}function isInPopup(){return"undefined"!=typeof window&&null!=window.opener}function isInPreviewContext(){return isInIframe()||isInPopup()}function isDevMode(){const e=function(){if("undefined"==typeof process)return;const e=process.env.NODE_ENV;return"string"==typeof e?e:void 0}();if(void 0!==e)return"production"!==e;if("undefined"!=typeof window){const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e}return!1}var $i=/^https?:\/\/(localhost|127\.0\.0\.1)(?::\d+)?$/i,Pi=/^https?:\/\/[^/?#\s]+$/i,Li=[3e3,3001,3333,4e3,4321,5e3,5173,5174,8e3,8080,8888,9e3],OriginDetector=class{#c;constructor(e={}){const t=/* @__PURE__ */new Set;for(const n of e.additionalOrigins??[]){const e=Ni(n);void 0!==e&&t.add(e)}let n;if(e.enableReferrerDetection??1){const t=e.referrer??("undefined"!=typeof document?document.referrer:"");if(t.length>0)try{const e=new URL(t).origin;e&&"null"!==e&&(n=e)}catch{}}const r=(e.enableLocalhostMatching??!0)&&(e.forceDevMode??isDevMode());this.#c=[t,n,r,void 0!==n,void 0]}matches(e){return 0!==e.length&&"null"!==e&&(void 0!==this.#c[4]?e===this.#c[4]:!!this.#c[0].has(e)||0===this.#c[0].size&&void 0!==this.#c[1]&&e===this.#c[1]||!(!this.#c[2]||!$i.test(e)))}lockOrigin(e){return!!this.matches(e)&&(this.#c[4]=e,!0)}unlockOrigin(){const e=this.#c[4];return this.#c[4]=void 0,e}get lockedOrigin(){return this.#c[4]}enumerate(){if(void 0!==this.#c[4])return[this.#c[4]];const e=new Set(this.#c[0]);if(0===this.#c[0].size&&void 0!==this.#c[1]&&e.add(this.#c[1]),this.#c[2])for(const t of Li)e.add(`http://localhost:${String(t)}`),e.add(`http://127.0.0.1:${String(t)}`);return[...e]}get referrerWasAvailable(){return this.#c[3]}get isProductionUnconfigured(){return!(!isInIframe()||this.#c[0].size>0||this.#c[2]||void 0!==this.#c[1])}get isReferrerOnlyTrust(){return!(this.#c[0].size>0||this.#c[2]||void 0===this.#c[1])}};function Ni(e){const t=e.trim();if(0!==t.length)try{const e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return;if(!Pi.test(e.origin))return;return e.origin}catch{return}}var Fi=()=>{},Ui=class{#h;#n;#f=/* @__PURE__ */new Set;#c="staging";constructor(e,t){this.#h=e,this.#n=t}assertOpen(){if("closed"===this.#c)throw new Error(`Plugin context for "${this.#h}" is no longer active`)}get active(){return"active"===this.#c}eligible(){return"closed"!==this.#c}own(e){return this.assertOpen(),this.#p({kind:"cleanup",acquire:void 0,finalize:void 0,cleanup:e,disposed:!1})}stage(e,t,n){this.assertOpen();const r={kind:e,acquire:t,finalize:n,cleanup:void 0,disposed:!1},i=this.#p(r);if("active"===this.#c)try{this.#g(r)}catch(e){throw this.#m(r),e}return i}counts(){const e={transform:0,renderer:0,subscription:0,cleanup:0};for(const t of this.#f)e[t.kind]+=1;return e}commit(){if("staging"!==this.#c)throw new Error(`Plugin context for "${this.#h}" cannot be committed`);this.#c="committing";try{for(const e of this.#f)this.#g(e);this.#c="active"}catch(e){throw this.close(),e}}close(){if("closed"!==this.#c){this.#c="closed";for(const e of[...this.#f].reverse())this.#m(e);this.#f.clear()}}#p(e){return this.#f.add(e),()=>{this.#m(e)}}#g(e){if(e.disposed||void 0!==e.cleanup||void 0===e.acquire)return;const t=e.acquire();e.cleanup=t??Fi}#m(e){if(e.disposed)return;e.disposed=!0,this.#f.delete(e);const t=e.cleanup;if(e.cleanup=void 0,void 0!==t)try{v(t())&&this.#n(`plugin "${this.#h}" cleanup returned a Promise/thenable; cleanups must be synchronous`)}catch(e){this.#n(`plugin "${this.#h}" cleanup failed:`,e)}try{e.finalize?.()}catch(e){this.#n(`plugin "${this.#h}" cleanup failed:`,e)}}},xi=class{#v;#y;#b=/* @__PURE__ */new Set;constructor(e,t){this.#v=e,this.#y=t}on(e,t){return this.#w("on",e,t)}once(e,t){return this.#w("once",e,t)}off(e,t){const n=t;for(const t of[...this.#b])t.event===e&&t.handler===n&&t.dispose()}emit(e,t){return this.#y.assertOpen(),this.#v.emit(e,t)}emitWhile(e,t,n){return this.#y.assertOpen(),this.#v.emitWhile(e,t,()=>{if(!this.#y.eligible())return!1;const e=n();return!!this.#y.eligible()&&e})}listenerCount(e){let t=0;for(const n of this.#b)n.event===e&&(t+=1);return t}removeAllListeners(e){for(const t of[...this.#b])void 0!==e&&t.event!==e||t.dispose()}eventNames(){const e=/* @__PURE__ */new Set;for(const t of this.#b)e.add(t.event);return[...e]}#w(e,t,n){this.#y.assertOpen();const r=n,i=[...this.#b].find(n=>n.kind===e&&n.event===t&&n.handler===r);if(void 0!==i)return i.dispose;let o=Fi,s=!0;const a=async t=>{this.#y.active&&s&&("once"===e&&o(),await n(t))},l={kind:e,event:t,handler:r,dispose:Fi};return o=this.#y.stage("subscription",()=>this.#v[e](t,a),()=>{s=!1,this.#b.delete(l)}),l.dispose=o,this.#b.add(l),o}},Mi=class{#v;#S;#A;#k;#n;#R=/* @__PURE__ */new Map;#T=/* @__PURE__ */new Map;#C=/* @__PURE__ */new Map;#$=/* @__PURE__ */new Set;#P=/* @__PURE__ */new Map;#L=Promise.resolve();#N=0;constructor(e){this.#v=e.events,this.#S=e.config,this.#A=e.registerFieldRenderer,this.#n=w(e.log);const t=e.onTransformError;this.#k=void 0===t?void 0:w((...e)=>{const n=e[0];try{return t(n)}catch(e){return void this.#n("transform error reporter failed:",e)}})}register(e){return this.#N>0?this.#F(e,!1):this.#U(()=>this.#F(e,!0))}unregister(e){return this.#N>0?this.#x(e,!1):this.#U(async()=>{await this.#x(e,!0)})}destroyAll(){return this.#N>0?this.#M(!1):this.#U(async()=>{await this.#M(!0)})}applyTransforms(e,t,n,r){const i=this.#P.get(e);if(void 0===i||0===i.length)return t;let o=t;for(const s of[...i]){if(!s.active)continue;const{transform:i}=s;if(!1===r?.())return t;try{o=i(o,{fieldName:e,element:n.element,allFields:n.allFields});const s=v(o);if(!1===r?.())return t;if(s)throw new TypeError(`Transform for "${e}" returned a Promise/thenable; transforms must be synchronous`)}catch(n){if(!1===r?.())return t;const i=n instanceof Error?n:new Error(String(n));return this.#n(`transform for "${e}" failed:`,i),this.#k?.(i),t}}return o}list(){return[...this.#R.keys()]}snapshot(){const e=[],t=(e,t,n,r)=>{const i=r.counts();return{name:e,version:t,state:n,registrations:{transforms:i.transform,renderers:i.renderer,subscriptions:i.subscription,cleanups:i.cleanup}}};for(const[n,r]of this.#T)e.push(t(n,void 0,"initializing",r.scope));for(const[n,r]of this.#R)e.push(t(n,r.plugin.version,"active",r.scope));for(const t of this.#C.keys())e.push({name:t,version:void 0,state:"tearing-down",registrations:{transforms:0,renderers:0,subscriptions:0,cleanups:0}});return e}get size(){return this.#R.size}async#F(t,n){if(this.#R.has(t.name)||this.#T.has(t.name)||this.#C.has(t.name))return void this.#n(`plugin "${t.name}" already registered`);const r=function(e,t){if(void 0!==e){if(void 0!==e.runtime&&!function(e,t){const n=function(e){const t=/^v?(\d+)\.(\d+)\.(\d+)/.exec(e.trim());if(null!==t)return[Number(t[1]),Number(t[2]),Number(t[3])]}(e);return void 0!==n&&t.split("||").some(e=>{const r=e.trim().split(/\s+/).filter(e=>e.length>0);return 0===r.length?""===e.trim()&&""===t.trim():r.every(e=>function(e,t){const n=t.trim();if(""===n||"*"===n)return!0;const r=/^(\^|~|>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)\.(\d+)/.exec(n);if(null===r)return!1;const i=r[1]??"=",o=[Number(r[2]),Number(r[3]),Number(r[4])],s=function(e,t){for(let n=0;n<3;n+=1){const r=(e[n]??0)-(t[n]??0);if(0!==r)return r}return 0}(e,o);switch(i){case"=":return 0===s;case">":return s>0;case">=":return s>=0;case"<":return s<0;case"<=":return s<=0;case"~":return s>=0&&e[0]===o[0]&&e[1]===o[1];case"^":return!(s<0)&&(o[0]>0?e[0]===o[0]:o[1]>0?0===e[0]&&e[1]===o[1]:0===e[0]&&0===e[1]&&e[2]===o[2]);default:return!1}}(n,e))})}(t,e.runtime))return`declares runtime ${e.runtime}, this runtime is ${t}`;if(void 0!==e.protocol){if(!Number.isInteger(e.protocol)||e.protocol<1)return`declares an invalid protocol version ${String(e.protocol)}`;if(e.protocol<4)return`declares protocol ${String(e.protocol)}, this runtime speaks ${String(4)}`}}}(t.compat,e);if(void 0!==r)return void this.#E(t.name,r);const i=new Ui(t.name,this.#n),o=this.#O(t.name,i),s={scope:i,cancelled:!1};this.#T.set(t.name,s);try{if(await this.#I(()=>t.init(o),n),s.cancelled)return;i.commit()}catch(e){return i.close(),void(s.cancelled||this.#n(`plugin "${t.name}" init failed:`,e))}finally{this.#T.get(t.name)===s&&this.#T.delete(t.name)}this.#R.set(t.name,{plugin:t,scope:i}),this.#n(`plugin "${t.name}" registered`)}#E(e,t){const n=`plugin "${e}" refused: ${t}`;this.#n(n),this.#v.emit("error",{error:new Error(n),context:"plugin",code:"LP0103"})}#O(e,t){return{events:new xi(this.#v,t),registerFieldRenderer:e=>{t.stage("renderer",()=>{const t=this.#A(e);return"function"==typeof t?t:void 0})},registerTransform:(e,n)=>{const r={transform:n,active:!1};t.stage("transform",()=>{r.active=!0;const t=this.#P.get(e);return void 0===t?this.#P.set(e,[r]):t.push(r),()=>{r.active=!1;const t=this.#P.get(e);if(void 0===t)return;const n=t.indexOf(r);n>=0&&t.splice(n,1),0===t.length&&this.#P.delete(e)}})},registerCleanup:e=>{t.own(e)},getConfig:()=>this.#S,log:(...t)=>{this.#n(`[${e}]`,...t)}}}#x(e,t){const n=this.#T.get(e);if(void 0!==n)return n.cancelled=!0,n.scope.close(),Promise.resolve();const r=this.#C.get(e);if(void 0!==r)return this.#$.has(e)?Promise.resolve():t?this.#D(r):r;const i=this.#R.get(e);if(void 0===i)return Promise.resolve();this.#R.delete(e),i.scope.close();const o=Promise.resolve().then(()=>this.#B(e,i.plugin,t));return this.#C.set(e,o),o.then(()=>{this.#C.get(e)===o&&this.#C.delete(e)}),o}async#B(e,t,n){if(void 0!==t.destroy){this.#$.add(e);try{await this.#I(()=>t.destroy?.(),n)}catch(t){this.#n(`plugin "${e}" destroy failed:`,t)}finally{this.#$.delete(e)}}}async#M(e){for(const e of this.#T.values())e.cancelled=!0,e.scope.close();const t=[...this.#R.keys()];for(const n of t)await this.#x(n,e)}async#I(e,t){t?await this.#D(Promise.resolve().then(e)):await e()}async#D(e){this.#N+=1;try{await e}finally{this.#N-=1}}#U(e){const t=this.#L.then(e);return this.#L=t.catch(e=>{this.#n("plugin manager mutation failed:",e)}),t}},Ei=class{#z;#_;#j=/* @__PURE__ */new Map;constructor(e){this.#z=e,this.#_={...e}}get renderers(){return this.#_}resolve(e){return this.#_[e]}register(e){const t=e.name,n={renderer:e},r=this.#j.get(t);void 0===r?this.#j.set(t,[n]):r.push(n),this.#_[t]=e;let i=!0;return()=>{if(!i)return;i=!1;const e=this.#j.get(t);if(void 0===e)return;const r=e.indexOf(n);if(r<0)return;const o=r===e.length-1;if(e.splice(r,1),0===e.length&&this.#j.delete(t),!o)return;const s=e.at(-1),a=s?.renderer??this.#z[t];void 0===a?Reflect.deleteProperty(this.#_,t):this.#_[t]=a}}},Oi={1:"left",2:"center",3:"right",4:"justify"},Ii=/* @__PURE__ */new Set(["left","center","right","justify","start","end"]);function Di(e){const t=e.format;return"string"==typeof t&&Ii.has(t)?t:"number"==typeof t?Oi[t]:void 0}function Bi(e){const t=e.indent;return"number"==typeof t&&t>0?t:0}function zi(e){return"rtl"===e.direction?' dir="rtl"':"ltr"===e.direction?' dir="ltr"':""}function _i(e){const t=Di(e),n=Bi(e),r=[];return void 0!==t&&r.push(`lp-align-${t}`),n>0&&r.push(`lp-indent-${String(n)}`),0===r.length?"":` class="${r.join(" ")}"`}var ji=/* @__PURE__ */new Set(["h1","h2","h3","h4","h5","h6"]);function Hi(e){return"object"==typeof e&&null!==e?e:void 0}function Wi(e){return Hi(e)}function qi(e,t){if(void 0===t||""===t||!e.startsWith("/"))return e;try{const n=new URL(t),r=new URL(e,n);return r.origin===n.origin?r.href:e}catch{return e}}function Vi(e){return e.replace(/[^a-zA-Z0-9_-]/g,"-").toLowerCase()}function Gi(e){return"string"==typeof e&&e.length>0?e:void 0}function Ki(e){const t=Gi(e.title)??Gi(e.name)??Gi(e.slug);return void 0!==t?t:void 0===e.id?void 0:String(e.id)}var Ji=' target="_blank" rel="noopener noreferrer"',Qi=(e,t)=>{const n=t.renderChildren(e.children??[]),r=Hi(e.fields),i=function(e,t){if("internal"===t?.linkType)return function(e){const t=Hi(Hi(e)?.value),n=t?.url;if("string"==typeof n&&n.length>0)return n;const r=t?.slug;return"string"==typeof r&&r.length>0?`/${r}`:void 0}(t.doc);const n=t?.url??e.url;return"string"==typeof n&&n.length>0?n:void 0}(e,r);if(void 0===i||!isSafeUrl(i))return n;const o="string"==typeof e.title?` title="${escapeHtml(e.title)}"`:"";return`<a href="${escapeHtmlAttribute(i)}"${function(e,t,n){if(!0===t?.newTab||isExternalHttpUrl(n))return Ji;const r="string"==typeof e.target?e.target:"";return""===r?"":"_blank"===r?Ji:` target="${escapeHtml(r)}"`}(e,r,i)}${o}>${n}</a>`};function Xi(e){if("string"==typeof e.text)return e.text;if(!e.children)return"";let t="";for(const n of e.children)t+=Xi(n);return t}function Zi(e){return`${"number"==typeof e.width?` width="${String(e.width)}"`:""}${"number"==typeof e.height?` height="${String(e.height)}"`:""}`}function Yi(e){return"string"==typeof e.mimeType?` type="${escapeHtmlAttribute(e.mimeType)}"`:""}var eo=/* @__PURE__ */new Map;function to(e){return eo.get(e)}var no=".lp-block:empty,.lp-inline-block:empty";function ro(e,t,n,r){const i=Hi(e.fields)??{},o="string"==typeof i.blockType?i.blockType:"",s=Vi(o),a=""===s?r:`${r} ${r}--${s}`;if(""!==o){const e=to(o)??to(s);if(e)return e(i,{renderChildren:t.renderChildren});t.onUnrenderedBlock?.(o,a)}return`<${n} class="${a}"></${n}>`}function io(e,t){return"number"==typeof t&&t>1?` ${e}="${String(t)}"`:""}var oo={text:e=>{let t=escapeHtml("string"==typeof e.text?e.text:"");const n="number"==typeof e.format?e.format:0;return!!(16&n)&&(t=`<code>${t}</code>`),!!(1&n)&&(t=`<strong>${t}</strong>`),!!(2&n)&&(t=`<em>${t}</em>`),!!(8&n)&&(t=`<u>${t}</u>`),!!(4&n)&&(t=`<s>${t}</s>`),!!(32&n)&&(t=`<sub>${t}</sub>`),!!(64&n)&&(t=`<sup>${t}</sup>`),!!(128&n)&&(t=`<mark>${t}</mark>`),t},paragraph:(e,t)=>{const n=t.renderChildren(e.children??[]);return`<p${zi(e)}${_i(e)}>${n}</p>`},heading:(e,t)=>{const n="string"==typeof e.tag?e.tag.toLowerCase():"h2",r=ji.has(n)?n:"h2",i=t.renderChildren(e.children??[]);return`<${r}${zi(e)}${_i(e)}>${i}</${r}>`},list:(e,t)=>{const n="string"==typeof e.listType?e.listType:"bullet",r="number"===n?"ol":"ul",i="number"===n&&"number"==typeof e.start&&e.start>1?` start="${String(e.start)}"`:"",o="check"===n?' role="list"':"",s=t.renderChildren(e.children??[]);return`<${r}${zi(e)}${_i(e)}${i}${o}>${s}</${r}>`},listitem:(e,t)=>{const n=t.renderChildren(e.children??[]);if("boolean"==typeof e.checked)return`<li role="checkbox" aria-checked="${e.checked?"true":"false"}"${_i(e)}>${n}</li>`;const r="number"==typeof e.value?` value="${escapeHtml(String(e.value))}"`:"";return`<li${zi(e)}${_i(e)}${r}>${n}</li>`},link:Qi,autolink:Qi,quote:(e,t)=>{const n=t.renderChildren(e.children??[]);return`<blockquote${zi(e)}${_i(e)}>${n}</blockquote>`},code:e=>{const t=Vi("string"==typeof e.language?e.language:"");return`<pre><code${""===t?"":` class="language-${t}"`}>${escapeHtml(Xi(e))}</code></pre>`},"code-highlight":e=>{const t="string"==typeof e.text?e.text:"";return`<span${"string"==typeof e.highlightType?` class="token-${Vi(e.highlightType)}"`:""}>${escapeHtml(t)}</span>`},linebreak:()=>"<br>",horizontalrule:()=>"<hr>",tab:()=>"\t",upload:e=>{const t=Wi(e.value);if(void 0===t)return"";const n=t.url;if("string"!=typeof n||!isSafeUrl(n))return"";const r="string"==typeof t.mimeType?t.mimeType:"";return r.startsWith("video/")?function(e,t){return`<video controls${Zi(e)}><source src="${escapeHtmlAttribute(t)}"${Yi(e)}></video>`}(t,n):r.startsWith("audio/")?function(e,t){return`<audio controls><source src="${escapeHtmlAttribute(t)}"${Yi(e)}></audio>`}(t,n):""===r||r.startsWith("image/")?function(e,t){const n="string"==typeof e.alt?escapeHtml(e.alt):"";return`<img src="${escapeHtmlAttribute(t)}" alt="${n}"${Zi(e)} loading="lazy" decoding="async">`}(t,n):function(e,t){const n="string"==typeof e.filename?escapeHtml(e.filename):escapeHtml(t);return`<a href="${escapeHtmlAttribute(t)}" target="_blank" rel="noopener noreferrer">${n}</a>`}(t,n)},relationship:e=>{const t="string"==typeof e.relationTo?e.relationTo:"",n=Hi(e.value),r=escapeHtml((n&&Ki(n))??`#${t}`),i=Vi(t),o=""===i?' class="lp-relation"':` class="lp-relation lp-relation--${i}"`,s=n?.url;return"string"==typeof s&&isSafeUrl(s)?`<a href="${escapeHtmlAttribute(s)}"${o}>${r}</a>`:`<span${o}>${r}</span>`},block:(e,t)=>ro(e,t,"div","lp-block"),inlineBlock:(e,t)=>ro(e,t,"span","lp-inline-block"),table:(e,t)=>`<table${zi(e)}><tbody>${t.renderChildren(e.children??[])}</tbody></table>`,tablerow:(e,t)=>`<tr>${t.renderChildren(e.children??[])}</tr>`,tablecell:(e,t)=>{const n="number"==typeof e.headerState?e.headerState:0,r=3&n?"th":"td";return`<${r}${1===n?' scope="col"':2===n?' scope="row"':""}${io("colspan",e.colSpan)}${io("rowspan",e.rowSpan)}>${t.renderChildren(e.children??[])}</${r}>`}},so=/* @__PURE__ */new Map,ao=!1;function lo(e){if("object"!=typeof e||null===e)return!1;if(!("root"in e))return!1;const t=e.root;return"object"==typeof t&&null!==t&&"children"in t&&Array.isArray(t.children)}function uo(e,t){const n=(r=e.type,so.get(r)??oo[r]);var r;return n?n(e,t):void 0!==e.children?t.renderChildren(e.children):""}function co(e){if("string"==typeof e.text)return e.text;if("linebreak"===e.type)return"\n";if(void 0===e.children)return"";let t="";for(const n of e.children)t+=co(n);return t}function ho(e="text"){const t=/* @__PURE__ */new WeakSet;return{name:e,render:/* @__PURE__ */te((e,n)=>{const r=e.element,i=function(e){return null==e?"":lo(e)?lo(t=e)?t.root.children.map(co).join("\n").trim():"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):JSON.stringify(e);var t}(n);if("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName)return function(e){return null!==e.querySelector(":scope > :not(br)")}(r)&&!r.hasAttribute("data-payload-text")?(function(e,t,n){e.has(t)||(e.add(t),k(`[live-preview] LP0402: Skipping text update for "${n}": <${t.tagName.toLowerCase()}> has structured children. Move data-payload-field to the value element, or add data-payload-text to replace them.`))}(t,r,e.fieldName),!1):void(i.includes("\n")||i.includes("\r")?r.innerHTML=ar(function(e){return escapeHtml(e).replace(/\r\n|\r|\n/g,"<br>")}(i)):r.textContent=i);r.value=i})}}var fo=/* @__PURE__ */new Set,po=/* @__PURE__ */new Set,go=/* @__PURE__ */new Set(["DIV","SECTION","ARTICLE"]),mo={name:"richText",render:/* @__PURE__ */te((e,t,n)=>{const r=e.element;if(qr(t))return void(r.textContent="");const i=n.sanitizerPolicy;if(void 0!==n.renderRichText){const o=n.renderRichText(t,{fieldName:e.fieldName,element:r,locale:n.locale});return void(r.innerHTML=ar(Nr(o,i)))}if(lo(t)){const o=/* @__PURE__ */new Map,s=function(e,t){const n=e.cloneNode(!1);n.innerHTML=ar(t);const r=function(e,t){const n=e.firstElementChild;if(null!==n?.nextElementSibling||t.children.length<2)return null;if(!go.has(n.tagName)||n.hasAttribute(lt))return null;for(const e of t.children)if(e.tagName===n.tagName&&e.className===n.className)return null;return n}(e,n)??e,i=/* @__PURE__ */new Map,o=n.querySelectorAll(no);if(o.length>0&&null!==r.firstElementChild){const e=[];vo(r,n,e);for(const[t,n]of e)t.replaceWith(n),n.matches(no)||i.set(t.className,!1);for(const e of o)null!==e.parentNode&&i.set(e.className,!0)}return r.replaceChildren(...n.childNodes),i}(r,Nr(function(e,t={}){if(!lo(e))return"";const n=function(e){const t={renderChildren:e=>{let n="";for(const r of e)n+=uo(r,t);return n},resolveAlignment:Di,resolveIndent:Bi,onUnrenderedBlock:e};return t}(t.onUnrenderedBlock).renderChildren(e.root.children);return!1===t.sanitize?n:void 0!==t.document?sanitizeHtml(n,{document:t.document}):!0===t.requireDocument||void 0!==Fr()?sanitizeHtml(n):(function(){if(!ao){ao=!0;try{console.warn('[live-preview] lexicalToHtml() has no sanitizer document and returned unsanitised HTML; pass { document } (linkedom, jsdom) per call. 3.0 throws here instead: opt in now with { requireDocument: true }. See "HTML sanitization" in docs/security.md.')}catch{}}}(),n)}(t,{sanitize:!1,onUnrenderedBlock:(e,t)=>{o.set(t,e)}}),i));for(const[t,r]of s){const i=o.get(t);void 0!==i&&yo(e,n,i,r)}return}if("string"!=typeof t)return!1;r.innerHTML=ar(Nr(t,i))})};function vo(e,t,n){if(e.children.length!==t.children.length)return;let r=e.firstElementChild,i=t.firstElementChild;for(;null!==r&&null!==i;)i.matches(no)?n.push([i,r]):vo(r,i,n),r=r.nextElementSibling,i=i.nextElementSibling}function yo(e,t,n,r){r&&t.reportUnfaithful?.(e,`lost the markup the server drew for block "${n}"`);const i=r?po:fo;i.has(n)||(i.add(n),k(`[live-preview] ${r?`LP0413: no renderer for block "${n}", and the markup the server rendered for it is lost.`:`LP0410: no renderer for block "${n}"; keeping what the server rendered for it.`} Register one with registerBlockRenderer().`))}var bo={name:"html",render(e,t,n){if(qr(t))return void(e.element.textContent="");const r="string"==typeof t?t:Wr(t);e.element.innerHTML=ar(Nr(r,n.sanitizerPolicy))}},wo=/* @__PURE__ */new WeakSet;function So(e,t,n,r){if("string"!=typeof n||0===n.length)return{kind:"none"};const i=qi(n,r);return isSafeUrl(i)?{kind:"safe",url:i}:(wo.has(e)||(wo.add(e),k(`[live-preview] LP0401: refused an unsafe URL for "${t}" on <${e.tagName.toLowerCase()}>; the attribute was cleared.`)),{kind:"unsafe"})}function Ao(e,t=e=>e){return{name:e,render(e,n,r){const i=e.element;if(qr(n))return void function(e){"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName?(e.removeAttribute("href"),e.textContent=""):e.value=""}(i);const o=Wr(n);if("INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName){if("A"===i.tagName){const n=e.hrefField,s=void 0===n||0===n.length?t(o):Qn(r.allFields,n,r.locale,void 0!==e.locale),a=So(i,e.fieldName,s);"safe"===a.kind?i.setAttribute("href",a.url):"unsafe"===a.kind&&i.removeAttribute("href")}i.textContent=o}else i.value=o}}}var ko=Ao("url"),Ro=/^[a-zA-Z][a-zA-Z0-9+.-]*:/,To=Ao("email",function(e){const t=e.trim();return Ro.test(t)||!t.includes("@")?t:`mailto:${t}`}),Co=["src","srcset","sizes"];function $o(e){for(const t of Co)e.removeAttribute(t)}function Po(e,t,n,r){e.src=t;const i=function(e,t){if(void 0===e?.sizes)return;const n=[];for(const r of Object.values(e.sizes)){if("string"!=typeof r.url||"number"!=typeof r.width)continue;const e=qi(r.url,t);isSafeUrl(e)&&n.push(`${Lo(e)} ${String(r.width)}w`)}if(0!==n.length){if("number"==typeof e.width&&"string"==typeof e.url){const r=qi(e.url,t);isSafeUrl(r)&&n.push(`${Lo(r)} ${String(e.width)}w`)}return n.join(", ")}}(n,r);if(void 0===i)return e.removeAttribute("srcset"),void e.removeAttribute("sizes");e.setAttribute("srcset",i)}function Lo(e){return e.replace(/[\s,]/g,encodeURIComponent)}var No={name:"image",render:/* @__PURE__ */te((e,t,n)=>{const r=e.element;if(qr(t))return void Fo(r);const i=void 0!==e.locale,{media:o,candidate:s}=function(e,t,n,r){const i=void 0!==e.srcField&&e.srcField.length>0?Qn(n.allFields,e.srcField,n.locale,r):t,o=Wi(i);return{media:o,candidate:void 0===o?i:o.url}}(e,t,n,i),a=So(r,e.fieldName,s,void 0===o?void 0:n.serverURL);if("none"===a.kind)return!1;if("unsafe"!==a.kind){if("IMG"===r.tagName){const t=r;Po(t,a.url,o,n.serverURL);const s=function(e,t,n,r,i){if(void 0!==t&&t.length>0){const e=Qn(n,t,r,i);return"string"==typeof e?e:void 0}return e?.alt}(o,e.altField,n.allFields,n.locale,i);return void(void 0!==s&&(t.alt=s))}r.style.backgroundImage=`url('${function(e){return e.replace(/['"()\\]/g,"\\$&")}(a.url)}')`}else Fo(r)})};function Fo(e){"IMG"===e.tagName?$o(e):e.style.backgroundImage=""}var Uo={name:"upload",render:/* @__PURE__ */te((e,t,n)=>{const r=e.element;if(qr(t))return void xo(r);const i=Wi(t);if(void 0===i)return!1;const o=So(r,e.fieldName,i.url,n.serverURL);if("none"===o.kind)return!1;if("unsafe"===o.kind)return void xo(r);const s=o.url;if("IMG"===r.tagName){const e=r;return Po(e,s,i,n.serverURL),void(void 0!==i.alt&&(e.alt=i.alt))}if("A"===r.tagName)return r.setAttribute("href",s),void(r.textContent=i.filename??s);const a=escapeHtml(i.filename??s);r.innerHTML=ar(`<a href="${escapeHtmlAttribute(s)}">${a}</a>`)})};function xo(e){"IMG"!==e.tagName?(e.removeAttribute("href"),e.textContent=""):$o(e)}var Mo={name:"relationship",render(e,t){const n=e.element;if(qr(t))return n.removeAttribute("href"),void(n.textContent="");if("A"===n.tagName&&!Array.isArray(t)){const r=So(n,e.fieldName,Hi(t)?.url);"safe"===r.kind?n.setAttribute("href",r.url):"unsafe"===r.kind&&n.removeAttribute("href")}n.textContent=Array.isArray(t)?t.map(Eo).join(", "):Eo(t)}};function Eo(e){const t=Hi(e);return void 0===t?Wr(e):Ki(t)??""}var Oo={name:"select",render(e,t,n){const r=e.element,i=qr(t)?[]:function(e){return Array.isArray(e)?e.map(Wr):[Wr(e)]}(t);if("SELECT"!==r.tagName){if("INPUT"===r.tagName&&"radio"===r.type){const e=r;return void(e.checked=i.includes(e.value))}r.textContent=i.map(e=>function(e,t){const n=t.schema?.options;if(!Array.isArray(n))return e;for(const t of n){const n=Hi(t);if(void 0!==n&&Wr(n.value)===e)return"string"==typeof n.label?n.label:e}return e}(e,n)).join(", ")}else!function(e,t){if(e.multiple)for(const n of Array.from(e.options))n.selected=t.includes(n.value);else e.value=t[0]??""}(r,i)}},Io=/* @__PURE__ */new Set(["","false","0","off","no"]),Do={name:"checkbox",render(e,t){const n=e.element,r=function(e){return"boolean"==typeof e?e:"string"==typeof e?!Io.has(e.trim().toLowerCase()):"number"==typeof e?0!==e:null!=e}(t);"INPUT"!==n.tagName||"checkbox"!==n.type?n.hasAttribute("aria-checked")?n.setAttribute("aria-checked",r?"true":"false"):n.textContent=r?"true":"false":n.checked=r}},Bo=/* @__PURE__ */new Map,zo=/* @__PURE__ */new Map;function _o(e,t){const n=e??"";if(null==t)return n;const r=jo(t);return"{}"===r?n:`${n}|${r}`}function jo(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e=>jo(e)).join(",")}]`;const t=e,n=Object.keys(t).sort(),r=[];for(const e of n){const n=t[e];void 0!==n&&r.push(`${JSON.stringify(e)}:${jo(n)}`)}return`{${r.join(",")}}`}var Ho=/* @__PURE__ */new Set(["short","medium","long","full"]),Wo=/* @__PURE__ */new Set(["short","medium","long","full"]),qo=/^[A-Za-z]{3}$/u,Vo=/^[0-4]$/u;function Go(e){return{kind:"date",options:e}}function Ko(e){return{kind:"number",options:e}}var Jo=/* @__PURE__ */new WeakSet;function Qo(e,t,n,r){if(void 0===t||""===t)return;const i=function(e){const t=e.indexOf(":"),n=-1===t?e:e.slice(0,t),r=-1===t?void 0:e.slice(t+1);switch(n){case"date":return void 0===r?Go({dateStyle:"medium"}):Ho.has(r)?Go({dateStyle:r}):void 0;case"time":return void 0===r?Go({timeStyle:"short"}):Wo.has(r)?Go({timeStyle:r}):void 0;case"datetime":return void 0===r?Go({dateStyle:"medium",timeStyle:"short"}):Ho.has(r)?Go({dateStyle:r,timeStyle:"short"===r?"short":"medium"}):void 0;case"number":if(void 0===r)return Ko({});if(!Vo.test(r))return;return Ko({minimumFractionDigits:Number(r),maximumFractionDigits:Number(r)});case"currency":if(void 0===r||!qo.test(r))return;return Ko({style:"currency",currency:r.toUpperCase()});case"percent":return void 0===r?Ko({style:"percent"}):void 0;default:return}}(t);if(void 0!==i){if(i.kind===e)return i.options}else!function(e,t,n){Jo.has(e)||(Jo.add(e),k(`[live-preview] LP0408: data-payload-format="${n}" on "${t}" is not a known format; the default formatting was used. Known: date, time, datetime (each also :short|medium|long|full), number, number:0-4, currency:XXX, percent.`))}(n,r,t)}var Xo={name:"date",render(e,t,n){const r=e.element;if(qr(t))return void("INPUT"===r.tagName?r.value="":(r.removeAttribute("datetime"),r.textContent=""));const i="number"==typeof t?t:Wr(t),o=new Date(i),s=!Number.isNaN(o.getTime()),a=String(i);"INPUT"!==r.tagName?("TIME"===r.tagName&&r.setAttribute("datetime",s?o.toISOString():a),r.textContent=s?function(e,t,n){const r=t.locale??n.locale??detectInitialLocale(),i=Qo("date",t.format,t.element,t.fieldName)??Zo;try{return function(e,t){const n=_o(e,t);return Vr(zo,n)??Gr(zo,n,new Intl.DateTimeFormat(e,t),64)}(r,i).format(e)}catch{return e.toISOString()}}(o,e,n):a):r.value=s?function(e,t){const n=`${String(t.getFullYear()).padStart(4,"0")}-${Yo(t.getMonth()+1)}-${Yo(t.getDate())}`,r=`${Yo(t.getHours())}:${Yo(t.getMinutes())}`;return"date"===e?n:"datetime-local"===e?`${n}T${r}`:"time"===e?r:t.toISOString()}(r.type,o):a}},Zo={dateStyle:"medium",timeStyle:"short"};function Yo(e){return String(e).padStart(2,"0")}var es={name:"number",render(e,t,n){const r=e.element;if(qr(t))return void("INPUT"===r.tagName?r.value="":r.textContent="");const i="number"==typeof t?t:Number(Wr(t));Number.isNaN(i)?r.textContent=Wr(t):"INPUT"!==r.tagName?r.textContent=function(e,t,n){const r=t.locale??n.locale??detectInitialLocale(),i=Qo("number",t.format,t.element,t.fieldName);try{return function(e,t){const n=_o(e,t);return Vr(Bo,n)??Gr(Bo,n,new Intl.NumberFormat(e,t),64)}(r,i).format(e)}catch{return String(e)}}(i,e,n):r.value=String(i)}},ts={name:"array",render:/* @__PURE__ */te((e,t,n)=>{const r=e.element;if(qr(t))return void(r.textContent="");if(!Array.isArray(t))return!1;const i=e.arrayTemplate;if(void 0!==i&&i.length>0){const e=function(e,t){const n=zr(t);let r="";for(let i=0;i<t.length;i+=1)r+=_r(e,t[i],i,Wr,n);return r}(i,t),o=n.sanitizerPolicy,s=Zr(i),a=jr(r);r.innerHTML=ar(Nr(e,o,s));for(const e of Array.from(r.children))Hr(e,a);return}r.textContent=t.map(Wr).join(e.arraySeparator??", ")})};function ns(){const e=/* @__PURE__ */new WeakMap,t=/* @__PURE__ */new WeakSet,n=/* @__PURE__ */new WeakMap,r=/* @__PURE__ */new WeakMap;return{name:"structural-array",render:/* @__PURE__ */te((i,o,s)=>{const a=qr(o)?[]:o;if(!Array.isArray(a))return!1;const l=i.element,u=i.arrayTemplate;if(void 0===u||0===u.length)return function(e,t,n){e.has(t)||(e.add(t),k(`[live-preview] LP0403: Skipping structural update for "${n}": <${t.tagName.toLowerCase()} data-payload-structural> needs data-payload-array-template (for example "<li>{{label}}</li>").`))}(t,l,i.fieldName),!1;const d=e.get(l),c=rs(l),h=O(d?.values??c.map((e,t)=>null===e?{__payloadDomPosition:t}:{id:e}),a),f=function(e,t,n){return void 0===e||e.template!==t||!function(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}(e.domSnapshot,n)}(d,u,c);if(0===h.length&&!f)return e.set(l,{values:a.slice(),template:u,domSnapshot:c}),!1;!function(e,t,n,r,i){const o=i.map(is),s=/* @__PURE__ */new Set,a=o.find(e=>!(void 0===e||!s.has(e)&&(s.add(e),1)));if(void 0!==a&&os(e,t,n,a),o.some(e=>void 0===e)&&ss(e,t,"LP0404",`LP0404: an item of "${n}" has no id and pairs by position, so an insert re-renders every row after it. Give items a stable id.`),r?.length===i.length&&i.length>1){const i=new Set(r.map(is).filter(e=>void 0!==e)),s=o.some(e=>void 0!==e&&i.has(e));i.size>0&&!s&&ss(e,t,"LP0406",`LP0406: every key of "${n}" changed at once; the source generates ids per message, so no item can be retained across updates.`)}}(n,l,i.fieldName,d?.values,a);const p=ni({template:u,container:l,patches:h,nextItems:a,store:r,forceRender:f,sanitizerPolicy:s.sanitizerPolicy,onDuplicateKey:(e,t)=>{os(n,e,i.fieldName,t)}});return null!==p&&(e.set(l,{values:a.slice(),template:u,domSnapshot:rs(l)}),!!p&&void 0)})}}function rs(e){return Array.from(e.children,e=>e.getAttribute(Yr))}function is(e){if("object"!=typeof e||null===e)return;const t=e.id;return"string"==typeof t||"number"==typeof t?String(t):void 0}function os(e,t,n,r){ss(e,t,"LP0405",`LP0405: two items of "${n}" share the key "${r}"; later ones pair by position. Make \`id\` unique per item.`)}function ss(e,t,n,r){let i=e.get(t);void 0===i&&(i=/* @__PURE__ */new Set,e.set(t,i)),i.has(n)||(i.add(n),k(`[live-preview] ${r}`))}var as=/* @__PURE__ */new Map;function ls(e,t){return{name:e,render(){$(t)}}}var us=Object.freeze({disableReferrerDetection:!0,eventSourcePolicy:"parent-or-opener",skipUnchanged:!0,sanitizerPolicy:"strict"}),ds=Object.freeze({disableReferrerDetection:!1,eventSourcePolicy:"any",skipUnchanged:!1,sanitizerPolicy:"compat"});function cs(e){return void 0===e?void 0:!e}var hs,LivePreviewClient=class{#H=new EventEmitter;#W;#q;#V;#R;#n;#G=!1;#K=!1;#J=!1;#Q=null;constructor(e={}){const t=function(e){const t="v1"===e.defaults?ds:us;return{...e,skipUnchanged:e.skipUnchanged??t.skipUnchanged,disableReferrerDetection:e.disableReferrerDetection??t.disableReferrerDetection,eventSourcePolicy:e.eventSourcePolicy??t.eventSourcePolicy,sanitizerPolicy:e.sanitizerPolicy??t.sanitizerPolicy}}(e),n=t.serverURL??"";!function(e){if("v1"!==e.defaults&&""!==(e.serverURL??"")&&null==e.mergeDepth)throw new Error("payload-live-preview: `serverURL` needs an explicit `mergeDepth` under the 2.0 defaults — choose the population depth deliberately (0 for none), or pass `defaults: 'v1'` to keep the 1.x default of 1 while migrating (ADR 0007, entry 10).")}({defaults:e.defaults,serverURL:n,mergeDepth:t.mergeDepth});const r=t.debug??isDevMode();this.#n=r?(...e)=>{R("[live-preview]",...e)}:S,this.#W=new OriginDetector(N({additionalOrigins:t.allowedOrigins,enableReferrerDetection:cs(t.disableReferrerDetection),enableLocalhostMatching:cs(t.disableLocalhostMatching)})),this.#W.isProductionUnconfigured&&this.#n("no trusted origin could be detected — set allowedOrigins"),this.#q=new Ei(function(){const e=[mo,bo,ko,To,No,Uo,Mo,Oo,{...Oo,name:"radio"},Do,Xo,es,..."undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__?[ls("array","structural arrays"),ls("blocks","structural arrays")]:[ts,{...ts,name:"blocks"}]];return function(e=[]){const t={};for(const n of e)t[n.name]=n;for(const[e,n]of as)t[e]=n;return Object.freeze(t)}([ho("text"),ho("textarea"),...e,..."undefined"!=typeof __LEAN_BUILD__&&__LEAN_BUILD__?[]:[ns()]])}()),this.#R=new Mi({events:this.#H,config:Object.freeze({...t}),registerFieldRenderer:e=>this.#q.register(e),onTransformError:e=>{this.#H.emit("error",{error:e,context:"transform",code:"LP0602"})},log:this.#n}),this.#V=new Ci(N({root:t.root,renderers:this.#q.renderers,resolveRenderer:(e,n)=>t.resolveRenderer?.(e,n)??this.#q.resolve(e),renderRichText:t.renderRichText,sanitizerPolicy:t.sanitizerPolicy,transformValue:(e,t,n,r)=>this.#R.applyTransforms(e,t,n,r),originMatcher:e=>this.#W.matches(e),readyTargets:()=>this.#W.enumerate(),emitter:this.#H,dataMerge:""===n?void 0:N({serverURL:n,apiRoute:t.apiRoute,depth:t.mergeDepth,fetchFn:t.mergeFetch}),debounceMs:t.debounceMs,heartbeatMs:t.heartbeatMs,intersectionRootMargin:t.intersectionRootMargin,scopeBindingsByOwner:t.scopeBindingsByOwner,skipUnchanged:t.skipUnchanged,revealEditedField:t.revealEditedField,autoBind:t.autoBind,subfieldCoverage:t.subfieldCoverage,eventSourcePolicy:t.eventSourcePolicy,dependencies:t.dependencies,strategies:t.strategies,disableVisibilityGate:t.disableVisibilityGate,visibilityGateThreshold:t.visibilityGateThreshold,enableA11y:t.enableA11y,a11yLocale:t.a11yLocale,onHeartbeatTimeout:()=>{this.#W.unlockOrigin()},lockedOrigin:()=>this.#W.lockedOrigin,validateToken:t.validateToken,log:this.#n})),this.#H.on("connect",e=>{this.#W.lockOrigin(e.origin)}),!1!==t.autoStart&&this.start()}start(){if(this.#K)return!1;if(this.#G)return this.#V.start(),!0;if(!isInPreviewContext())return!1;const e=this.#V.start();return e&&(this.#G=!0),e}suspend(){return!(this.#K||!this.#G)&&this.#V.suspend()}resume(){return!(this.#K||!this.#G)&&this.#V.start()}destroy(){if(null!==this.#Q)return this.#Q;let e,t;this.#K=!0;const n=new Promise((n,r)=>{e=n,t=r});this.#Q=n;const r=()=>{this.#H.removeAllListeners(),this.#J=!0};try{this.#V.destroy(),this.#R.destroyAll().finally(r).then(e,t)}catch(e){r(),t(e)}return n}async use(e){if(this.#K)throw new Error("LivePreviewClient: already destroyed");await this.#R.register(e)}async unuse(e){if(this.#J)throw new Error("LivePreviewClient: already destroyed");await this.#R.unregister(e)}refreshCache(){this.#V.refreshCache()}refreshAfterNavigation(){this.#V.navigationCommit()}get events(){return this.#H}get plugins(){return this.#R.list()}get status(){return this.#V.status}inspect(){return{...this.#V.inspect(),plugins:this.#R.snapshot()}}get updateCount(){return this.#V.updateCount}get destroyed(){return this.#K}};function initLivePreview(e={}){const t=new LivePreviewClient({...e,autoStart:!1});return t.start()?t:null}function setCspCrypto(e){hs=e??void 0}function generateCspNonce(e=16){if(!Number.isInteger(e)||e<8)throw new RangeError(`generateCspNonce: bytes must be an integer >= 8, got ${String(e)}`);const t=function(){if(hs?.getRandomValues)return hs;const e=globalThis.crypto;return e?.getRandomValues?e:void 0}();if(!t)throw new Error("generateCspNonce: Web Crypto is unavailable. On Node 18 call setCspCrypto(webcrypto) once at startup, or run with --experimental-global-webcrypto. We won't fabricate a predictable nonce — that would silently defeat the entire CSP.");const n=new Uint8Array(e);return t.getRandomValues(n),function(e){let t="";for(const n of e)t+=String.fromCharCode(n);return("function"==typeof btoa?btoa(t):Buffer.from(e).toString("base64")).replaceAll("+","-").replaceAll("/","_").replaceAll("=","")}(n)}function buildFrameAncestors(e={}){const{self:t=!0,origins:n=[],allowNone:r=!1}=e,i=/* @__PURE__ */new Set,o=[];if(r&&!t&&0===n.length)return"'none'";t&&(o.push("'self'"),i.add("'self'"));for(const e of n){const t=e.trim();0===t.length||i.has(t)||(i.add(t),o.push(t))}return o.length>0?o.join(" "):"'none'"}function buildScriptSrcWithNonce(e,t={}){if(0===e.length)throw new RangeError("buildScriptSrcWithNonce: nonce is empty");const{self:n=!0,extra:r=[],strictDynamic:i=!1}=t,o=[];n&&o.push("'self'"),o.push(`'nonce-${e}'`),i&&o.push("'strict-dynamic'");for(const e of r){const t=e.trim();t.length>0&&o.push(t)}return o.join(" ")}var fs="payload-live-preview.authorized-preview-context",ps=Symbol.for(fs);function isAuthorizedPreviewContext(e){return"object"==typeof e&&null!==e&&!0===e[ps]&&Object.isFrozen(e)}var gs={basic:{gates:"data updates are applied to bound elements",fallback:"none — every peer has it"},"schema-json":{gates:"field typing from fieldSchemaJSON (Payload 2.x) and the payload-2 profile",fallback:"field types come from DOM heuristics and Lexical auto-detection"},locale:{gates:"locale-aware field resolution (`title_de` before `title`) and the locale on island events",fallback:"bindings resolve the unsuffixed field value"},"preview-token":{gates:"per-message token validation (library extension)",fallback:"messages carry no token; validateToken cannot be satisfied"},"nested-arrays":{gates:"keyed array diffs below the top level",fallback:"array updates replace the whole array"},"recursive-diffs":{gates:"recursive object diffs",fallback:"nested objects re-render as a unit"},"document-events":{gates:"the `documentSave` runtime event, the document-save plugin and the payload-3 profile",fallback:"no documentSave event; a save is not distinguishable from an edit"},"relationship-events":{gates:"the `relationshipUpdate` runtime event and an unconditional re-render of the update that carries it",fallback:"a related document edited in a drawer shows up on the next data update only"}},ms="__livePreviewRouteRefresh";function registerRouteRefresh(e){const t="undefined"==typeof window?void 0:window;return void 0===t?()=>{}:(t[ms]=e,()=>{t[ms]===e&&(t[ms]=void 0)})}var vs=Object.freeze({NoTrustedOrigin:"LP0101",ReferrerOnlyTrust:"LP0102",PluginIncompatible:"LP0103",ProfileFeatureOmitted:"LP0104",OrphanField:"LP0201",UnattributableUpdate:"LP0202",UnboundField:"LP0203",VisibilityGateDeferred:"LP0301",UnsafeAttributeWrite:"LP0401",TextTargetHasChildren:"LP0402",MissingArrayTemplate:"LP0403",StructuralItemUnkeyed:"LP0404",StructuralDuplicateKey:"LP0405",StructuralUnstableKeys:"LP0406",UnsupportedStrategy:"LP0407",UnknownValueFormat:"LP0408",SanitizerDroppedAttribute:"LP0409",UnrenderedBlockKept:"LP0410",UnfaithfulPatch:"LP0411",ServerFormatReplaced:"LP0412",UnrenderedBlockLost:"LP0413",MessageRejected:"LP0501",TokenRejected:"LP0502",ProtocolShapeUnknown:"LP0503",HandlerThrew:"LP0601",TransformThrew:"LP0602",RendererThrew:"LP0603",StartupFailed:"LP0605",ReadyFailed:"LP0606",HydrationWaitTimedOut:"LP0607",AuditRuntimeMissing:"LP0701",AuditNoFrameAncestors:"LP0702",AuditFrameOptionsBlocks:"LP0703",AuditBindingsExposed:"LP0704",AuditGateThresholdExceeded:"LP0705",AuditUnownedBindings:"LP0706",AuditNoBindings:"LP0707",AuditNotAPage:"LP0708",FragmentRequestFailed:"LP0801",FragmentResponseInvalid:"LP0802",FragmentUnauthorized:"LP0803",FragmentSuperseded:"LP0804",RouteRefreshLoop:"LP0805",FragmentStrategyUnavailable:"LP0806",UnboundChangeRefresh:"LP0807",EscalationUnavailable:"LP0808",IslandStartUnavailable:"LP0809",RouteRefreshUnconfirmed:"LP0810",V2ReadinessGap:"LP0709",RuntimeOnPublicPage:"LP0710"});function bind(e,t){return ys(e,t)}function bindByPath(e,t){const n=function(e){const t=[],n=new Proxy({},{get(e,r){if("symbol"!=typeof r)return/^\d+$/.test(r)||t.push(r),n}});try{e(n)}catch{}return t}(e);if(0===n.length)throw new Error("bindByPath: the picker did not read any field — return data.<field> instead of a constant");return ys(n.join("."),t)}function ys(e,t){if(0===e.length)throw new Error("bind: field name must be a non-empty string");const n={"data-payload-field":e};return void 0!==t?.attribute&&(n["data-payload-attribute"]=t.attribute),void 0!==t?.type&&(n["data-payload-type"]=t.type),!0===t?.richtext&&(n["data-payload-richtext"]=""),!0===t?.html&&(n["data-payload-html"]=""),void 0!==t?.locale&&(n["data-payload-locale"]=t.locale),void 0!==t?.alt&&(n["data-payload-alt"]=t.alt),void 0!==t?.href&&(n["data-payload-href"]=t.href),void 0!==t?.arrayTemplate&&(n["data-payload-array-template"]=t.arrayTemplate),n}var bs=/^[a-z][a-z0-9-]{0,63}$/u,ws=Object.freeze({});function createPreviewBindings(e){const t=isAuthorizedPreviewContext(e.authorization),n=void 0!==e.owner&&e.owner.length>0?e.owner:void 0;return Object.freeze({authorized:t,bind:(e,n)=>t?bind(e,n):ws,bindByPath:(e,n)=>t?bindByPath(e,n):ws,owner:()=>t&&void 0!==n?{"data-payload-owner":n}:ws,boundary:(e,n={})=>{const r=function(e,t){if(!bs.test(e))throw new RangeError(`createPreviewBindings().boundary(): "${e}" is not a registry id — lowercase, starting with a letter, then letters, digits or hyphens (max 64). The runtime would post it and the endpoint would refuse it.`);const n=t.key;if(void 0!==n&&(0===n.length||n.length>128))throw new RangeError(`createPreviewBindings().boundary(): the key for "${e}" must be 1 to ${String(128)} characters.`);const r=t.dependsOn??[];return{"data-payload-fragment":e,...void 0!==n?{"data-payload-fragment-key":n}:{},...r.length>0?{"data-payload-depends":r.join(",")}:{}}}(e,n);return t?r:ws},covers:(...e)=>{const n=function(e){for(const t of e)if(0===t.length||/[\s,]/u.test(t))throw new RangeError(`createPreviewBindings().covers(): "${t}" is not a field path — a name or a dotted path without spaces or commas.`);return{"data-payload-covers":e.join(" ")}}(e);return t&&e.length>0?n:ws}})}var Ss=!0;export{fs as AUTHORIZED_PREVIEW_BRAND_KEY,g as CAPABILITY_DECLARATIONS,gs as CAPABILITY_DOCUMENTATION,Ss as CORE_ENTRY,vs as DIAGNOSTIC_CODES,EventEmitter,Ve as ISLAND_EVENT,p as LIBRARY_PROTOCOL_VERSION,LivePreviewClient,OriginDetector,m as PROTOCOL_CAPABILITIES,e as VERSION,bind,bindByPath,buildFrameAncestors,buildScriptSrcWithNonce,createPreviewBindings,detectInitialLocale,detectProtocolProfile,escapeHtml,escapeHtmlAttribute,generateCspNonce,hasCapability,initLivePreview,isAuthorizedPreviewContext,isDevMode,isExternalHttpUrl,isInIframe,isInPopup,isInPreviewContext,isInsideIsland,isSafeUrl,negotiateProtocol,registerRouteRefresh,sanitizeHtml,setCspCrypto,setSanitizerDocument};
|
|
2
2
|
//# sourceMappingURL=core.js.map
|