payload-live-preview 1.8.0 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.d.cts CHANGED
@@ -1228,7 +1228,7 @@ interface SanitizerDocument {
1228
1228
  * libraries:
1229
1229
  *
1230
1230
  * ```ts
1231
- * // linkedom — recommended (smallest, fastest)
1231
+ * // linkedom — 1.8.2 or later; up to 1.8.1 its output was the input, unsanitised
1232
1232
  * import { parseHTML } from 'linkedom';
1233
1233
  * import { setSanitizerDocument } from 'payload-live-preview';
1234
1234
  * const { document } = parseHTML('<!doctype html><html><body></body></html>');
@@ -1251,7 +1251,8 @@ declare function setSanitizerDocument(doc: SanitizerDocument | null): void;
1251
1251
  * browser parser silently recovers and the sanitizer continues from
1252
1252
  * the recovered tree.
1253
1253
  *
1254
- * @throws {SanitizerEnvironmentError} when no DOM is available.
1254
+ * @throws {SanitizerEnvironmentError} when no DOM is available, or when its
1255
+ * document cannot write the cleaned nodes.
1255
1256
  */
1256
1257
  declare function sanitizeHtml(html: string, options?: SanitizeOptions): string;
1257
1258
 
package/dist/core.d.ts CHANGED
@@ -1228,7 +1228,7 @@ interface SanitizerDocument {
1228
1228
  * libraries:
1229
1229
  *
1230
1230
  * ```ts
1231
- * // linkedom — recommended (smallest, fastest)
1231
+ * // linkedom — 1.8.2 or later; up to 1.8.1 its output was the input, unsanitised
1232
1232
  * import { parseHTML } from 'linkedom';
1233
1233
  * import { setSanitizerDocument } from 'payload-live-preview';
1234
1234
  * const { document } = parseHTML('<!doctype html><html><body></body></html>');
@@ -1251,7 +1251,8 @@ declare function setSanitizerDocument(doc: SanitizerDocument | null): void;
1251
1251
  * browser parser silently recovers and the sanitizer continues from
1252
1252
  * the recovered tree.
1253
1253
  *
1254
- * @throws {SanitizerEnvironmentError} when no DOM is available.
1254
+ * @throws {SanitizerEnvironmentError} when no DOM is available, or when its
1255
+ * document cannot write the cleaned nodes.
1255
1256
  */
1256
1257
  declare function sanitizeHtml(html: string, options?: SanitizeOptions): string;
1257
1258
 
package/dist/core.js CHANGED
@@ -1,2 +1,2 @@
1
- var t="data-payload-field",e="data-payload-type",n="data-payload-attribute",i="data-payload-href",r="data-payload-src",s="data-payload-alt",o="data-payload-array-template",a="data-payload-array-separator",l="data-payload-locale",u="data-payload-richtext",c="data-payload-html",d="data-payload-array",h="data-payload-structural",f="data-payload-owner",p=[t,e,n,i,r,s,o,a,l,u,c,d,h,f,"type"],g=`[${t}]`,m=`[${f}]`,v=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"]),y=class{#t=new Map;#e=new WeakMap;#n;constructor(t={}){this.#n=t.filter??b}buildFromRoot(t){const e=performance.now();this.clear();const n=t.querySelectorAll(g);let i=0;for(const t of n)void 0!==this.add(t)&&(i+=1);return{elementCount:i,fieldCount:this.#t.size,durationMs:performance.now()-e}}add(t){const e=this.#n(t)?this.#i(t):void 0,n=this.#e.get(t);if(void 0!==e)return void 0!==n&&this.#r(n,e)?(this.#e.set(t,e),e):(void 0!==n&&this.#s(t,n),this.#o(e),this.#e.set(t,e),e);void 0!==n&&this.#s(t,n)}remove(t){const e=this.#e.get(t);return!!e&&this.#s(t,e)}#r(t,e){if(t.fieldName!==e.fieldName)return!1;const n=this.#t.get(t.fieldName);if(!n)return!1;const i=n.indexOf(t);return!(i<0||(n[i]=e,0))}#s(t,e){const n=this.#t.get(e.fieldName);if(!n)return this.#e.delete(t),!1;const i=n.indexOf(e);return i<0?(this.#e.delete(t),!1):(n.splice(i,1),0===n.length&&this.#t.delete(e.fieldName),this.#e.delete(t),!0)}get(t){return this.#t.get(t)}getByElement(t){return this.#e.get(t)}get fieldCount(){return this.#t.size}get elementCount(){let t=0;for(const e of this.#t.values())t+=e.length;return t}entries(){return this.#t.entries()}*values(){for(const t of this.#t.values())yield*t}has(t){return this.#e.has(t)}clear(){this.#t.clear(),this.#e=new WeakMap}#o(t){const e=this.#t.get(t.fieldName);e?e.push(t):this.#t.set(t.fieldName,[t])}#i(p){const g=p.getAttribute(t);if(null===g||0===g.length)return;const y=p.getAttribute(e),b=function(t){const n=t.getAttribute(e);if(null!==n&&v.has(n))return n;if(t.hasAttribute(u))return"richText";if(t.hasAttribute(c))return"html";if(t.hasAttribute(h))return"structural-array";if(t.hasAttribute(d))return"array";if("IMG"===t.tagName)return"image";if("A"===t.tagName)return"url";if("TIME"===t.tagName)return"date";if("INPUT"===t.tagName){const e=t.type;if("checkbox"===e)return"checkbox";if("number"===e)return"number";if("date"===e||"datetime-local"===e)return"date"}return"text"}(p),w=p.getAttribute(n),S=p.getAttribute(i),A=p.getAttribute(r),T=p.getAttribute(s),k=p.getAttribute(o),C=p.getAttribute(a),$=p.getAttribute(l),N=function(t){const e=t.closest(m)?.getAttribute(f);return null==e||0===e.length?void 0:e}(p);return{element:p,fieldName:g,fieldType:b,explicitFieldType:null!==y&&v.has(y),...null!==w&&w.length>0?{targetAttribute:w}:{},...null!==S&&S.length>0?{hrefField:S}:{},...null!==A&&A.length>0?{srcField:A}:{},...null!==T&&T.length>0?{altField:T}:{},...null!==k?{arrayTemplate:k}:{},...null!==C?{arraySeparator:C}:{},...null!==$&&$.length>0?{locale:$}:{},...void 0!==N?{owner:N}:{}}}};function b(){return!0}function w(t,e){return void 0===e||""===e?`collection:${t}`:`collection:${t}:${e}`}function S(t){return"string"==typeof t&&t.length>0}function A(t,e){return null!==e&&void 0!==t&&e.includes(t)}function T(t){const e=t.id;return"string"==typeof e&&e.length>0?e:"number"==typeof e&&Number.isFinite(e)?String(e):void 0}var k=class{s;constructor(t,e={}){this.s=[t,e.mutationDebounceMs??100,e.intersectionRootMargin??"200px",new Set,null,null,null,0]}start(t){const e=this.s[7];this.stop();const n=e+1;if(this.s[7]!==n)return;let i=null,r=null;try{i=new MutationObserver(t=>{this.#a(t,n)}),r=new IntersectionObserver(t=>{this.#l(t,n)},{rootMargin:this.s[2],threshold:0}),i.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...p]})}catch(t){throw i?.disconnect(),r?.disconnect(),t}if(this.s[7]!==n)return i.disconnect(),void r.disconnect();this.s[4]=i,this.s[5]=r}observeElement(t){this.s[5]?.observe(t)}unobserveElement(t){this.s[5]?.unobserve(t),this.s[3].delete(t)}markVisible(t,e){e?this.s[3].add(t):this.s[3].delete(t)}isVisible(t){return this.s[3].has(t)}stop(){this.s[7]+=1;const t=this.s[6],e=this.s[4],n=this.s[5];this.s[6]=null,this.s[4]=null,this.s[5]=null,this.s[3].clear(),null!==t&&clearTimeout(t);try{e?.disconnect()}finally{n?.disconnect()}}#a(e,n){if(!this.#u(n))return;if(!function(e){for(const n of e){if("attributes"===n.type&&null!==n.attributeName&&p.includes(n.attributeName)&&(n.attributeName===t||n.attributeName===f||1===n.target.nodeType&&n.target.hasAttribute(t)))return!0;for(const t of n.addedNodes)if(C(t))return!0;for(const t of n.removedNodes)if(C(t))return!0}return!1}(e))return;if(!this.#u(n))return;null!==this.s[6]&&clearTimeout(this.s[6]);const i=setTimeout(()=>{this.#u(n)&&this.s[6]===i&&(this.s[6]=null,this.s[0].onStructuralChange())},this.s[1]);this.s[6]=i}#l(t,e){for(const n of t){if(!this.#u(e))return;const t=n.target;if(n.isIntersecting){if(!this.s[3].has(t)&&(this.s[3].add(t),this.s[0].onVisibilityChange(t,!0),!this.#u(e)))return}else if(this.s[3].has(t)&&(this.s[3].delete(t),this.s[0].onVisibilityChange(t,!1),!this.#u(e)))return}}#u(t){return this.s[7]===t&&null!==this.s[5]}};function C(e){if(1!==e.nodeType)return!1;const n=e;return!!n.hasAttribute(t)||null!==n.querySelector(`[${t}]`)}function $(t){if(!Array.isArray(t))return[];const e=[];for(const n of t){const t=N(n);t&&e.push(t)}return e}function N(t){if("object"!=typeof t||null===t)return;const e=t,n=e.name,i=e.type;if("string"!=typeof n||0===n.length)return;if("string"!=typeof i||0===i.length)return;const r=$(e.fields),s=function(t){if(!Array.isArray(t))return[];const e=[];for(const n of t){if("object"!=typeof n||null===n)continue;const t=n,i=t.slug;if("string"!=typeof i||0===i.length)continue;const r=$(t.fields);e.push({...t,slug:i,fields:r})}return e}(e.blocks),o={...e,name:n,type:i};return r.length>0?o.fields=r:delete o.fields,s.length>0?o.blocks=s:delete o.blocks,o}var x=4,M={basic:1,"schema-json":2,"preview-token":3,"nested-arrays":4,"recursive-diffs":4};function negotiateProtocol(t){const e="number"==typeof t&&Number.isFinite(t)&&t>=1?Math.floor(t):void 0,n=e??1,i=Math.min(4,n),r=new Set;for(const[t,e]of Object.entries(M))i>=e&&r.add(t);return{ours:4,...void 0!==e?{theirs:e}:{theirs:void 0},negotiated:i,capabilities:r}}function hasCapability(t,e){return t.capabilities.has(e)}function P(t){return("object"==typeof t&&null!==t||"function"==typeof t)&&"function"==typeof t.then&&(Promise.resolve(t).catch(()=>{}),!0)}var R=class{s;constructor(t,e){this.s=[t,e,void 0,void 0,0,0,[],0]}attach(t=window){if(void 0!==this.s[3])return;let e=!1;const n=t=>{if(!e||this.s[2]!==n)return;const i=this.s[4];try{this.#c(t,i)}catch{let e="";try{e=t.origin}catch{}this.#d("shape",e,i)}};this.s[4]+=1,this.#h(),this.s[3]=t,this.s[2]=n;try{t.addEventListener("message",n)}catch(e){this.s[2]===n&&(this.s[3]=void 0,this.s[2]=void 0,this.#h());try{t.removeEventListener("message",n)}catch{}throw e}if(this.s[2]===n)e=!0;else try{t.removeEventListener("message",n)}catch{}}detach(t){const e=this.s[3],n=this.s[2];void 0!==e&&void 0!==n&&(this.s[3]=void 0,this.s[2]=void 0,this.#h(),e.removeEventListener("message",n))}advanceGeneration(){return void 0!==this.s[3]&&(this.s[4]+=1,this.#h(),!0)}static sendReady(t,e){const n=t.length>0;if(!n||0===e.length)return;const i={type:"payload-live-preview",ready:n,protocolVersion:4};for(const n of t)for(const t of e)try{n.postMessage(i,t)}catch{}}#c(t,e){if(!this.#u(e))return;const n=t.origin;if(!this.#u(e))return;if(!this.#f(n,e))return void this.#d("origin",n,e);const i=t.data;if(!this.#u(e))return;const r="object"==typeof(s=i)&&null!==s&&"type"in s&&"string"==typeof s.type;var s;if(!this.#u(e))return;if(!r)return void this.#d("shape",n,e);const o=i.type;if(this.#u(e))switch(o){case"payload-live-preview":{const t=function(t){const e=t;return!!((void 0===e.data||null===e.data||E(e.data))&&O(e.fieldSchemaJSON,t=>Array.isArray(t))&&O(e.globalSlug,t=>"string"==typeof t)&&O(e.collectionSlug,t=>"string"==typeof t)&&O(e.locale,t=>"string"==typeof t)&&O(e.ready,t=>"boolean"==typeof t)&&O(e.previewToken,t=>"string"==typeof t)&&O(e.protocolVersion,t=>"number"==typeof t))}(i);if(!this.#u(e))return;if(!t)return void this.#d("shape",n,e);const r=function(t){const e={...t};for(const t of I)null===Reflect.get(e,t)&&Reflect.deleteProperty(e,t);if(!Array.isArray(e.fieldSchemaJSON))return e;let n;try{n=$(e.fieldSchemaJSON)}catch{n=[]}return{...e,fieldSchemaJSON:n}}(i);if(!this.#u(e))return;return void this.#p(r,n,e)}case"payload-document-event":{const t=function(t){const e=t;return!!L(e.action,t=>"updated"===t||"created"===t||"deleted"===t)&&!!L(e.slug,t=>"string"==typeof t)&&!!L(e.id,t=>"string"==typeof t||"number"==typeof t&&Number.isFinite(t))}(i);if(!this.#u(e))return;if(!t)return void this.#d("shape",n,e);let r;try{r=this.s[1].onDocumentEvent}catch{return}if(!this.#u(e))return;return void this.#g(r,i,n)}default:this.#d("type",n,e)}}#p(t,e,n){if(!this.#u(n))return;const i=t.data;if(!this.#u(n))return;const r=E(i);if(!this.#u(n))return;const s=r?{generation:n,revision:this.s[5]+=1}:void 0;let o;try{o=this.s[1].validateToken}catch{return}if(!this.#u(n))return;if(void 0===o)return void this.#m(t,e,n,s);if(!0===t.ready&&void 0===i)return void this.#m(t,e,n,void 0);const a={generation:n,message:t,origin:e,messageRevision:s,settled:!1,approved:!1};let l;this.s[6].push(a);try{l=o(t.previewToken,e)}catch{return void this.#v(a,!1)}"boolean"!=typeof l?Promise.resolve(l).then(t=>{this.#v(a,!0===t)},()=>{this.#v(a,!1)}):this.#v(a,l)}#v(t,e){this.#u(t.generation)&&(t.approved=e,t.settled=!0,this.#y(t.generation))}#y(t){for(;this.#u(t);){const e=this.s[6][this.s[7]];if(void 0===e)return;if(this.#f(e.origin,t)){if(!e.settled)return;this.#b(e)&&(e.approved?this.#m(e.message,e.origin,e.generation,e.messageRevision):this.#d("token",e.origin,e.generation))}else{if(!this.#b(e))continue;this.#d("origin",e.origin,e.generation)}}}#m(t,e,n,i){if(!this.#u(n))return;let r;try{r=this.s[1].onUpdate}catch{return}this.#u(n)&&(void 0===i?this.#g(r,t,e):this.#g(r,t,e,i))}#d(t,e,n){if(!this.#u(n))return;let i;try{i=this.s[1].onInvalid}catch{return}this.#u(n)&&void 0!==i&&this.#g(i,t,e)}#f(t,e){if(!this.#u(e))return!1;try{return!0===this.s[0](t)&&this.#u(e)}catch{return!1}}#g(t,...e){try{P(t(...e))}catch{}}#u(t){return void 0!==this.s[3]&&this.s[4]===t}#b(t){const e=this.s;return e[6][e[7]]===t&&(e[7]+=1,e[7]===e[6].length?(this.#h(),!0):(e[7]>=1024&&2*e[7]>=e[6].length&&(e[6]=e[6].slice(e[7]),e[7]=0),!0))}#h(){this.s[6]=[],this.s[7]=0}};function L(t,e){return void 0===t||e(t)}function O(t,e){return null==t||e(t)}function E(t){if("object"!=typeof t||null===t)return!1;const e=Object.getPrototypeOf(t);return null===e||null===Object.getPrototypeOf(e)}var I=["data","fieldSchemaJSON","globalSlug","collectionSlug","locale","ready","previewToken","protocolVersion"],U=class{s;constructor(t){this.s=[t.timeoutMs??0,t.onTimeout,null,0]}kick(){if(this.s[3]=Date.now(),this.s[0]<=0)return;null!==this.s[2]&&clearTimeout(this.s[2]);const t=setTimeout(()=>{this.s[2]===t&&(this.s[2]=null,this.s[1]())},this.s[0]);this.s[2]=t}stop(){null!==this.s[2]&&(clearTimeout(this.s[2]),this.s[2]=null)}get lastKickAt(){return this.s[3]}get pending(){return null!==this.s[2]}},F=class{s;constructor(t){this.s=["disconnected",t]}get status(){return this.s[0]}markConnected(){return this.transition("connected")}markConnecting(){return this.transition("connecting")}markDisconnected(){return this.transition("disconnected")}transition(t){if(this.s[0]===t)return!1;const e=this.s[0];return this.s[0]=t,this.s[1](t,e),!0}};function j(t){return(...e)=>{try{P(t(...e))}catch{}}}function D(){}var H=j((...t)=>console.error(...t)),G=j((...t)=>console.warn(...t)),z=j((...t)=>console.debug(...t));function W(t){for(const e of t){const t=e.codePointAt(0);if(void 0!==t&&(t<=31||127===t))return!0}return!1}function V(t){if(void 0===t||0===t.length||t.length>128||"."===t||".."===t||t.includes("/")||t.includes("\\")||t.includes("?")||t.includes("#")||W(t))return!1;try{return encodeURIComponent(t),!0}catch{return!1}}var B=class{s;constructor(t){const e=t.serverURL.replace(/\/+$/,""),n=t.apiRoute??"/api";this.s=[e,n.startsWith("/")?n:`/${n}`,t.depth??1,t.fetchFn,void 0===t.log?D:j(t.log),null,0,0]}canMerge(t){try{return t.globalSlug?V(t.globalSlug):!!V(t.collectionSlug)&&function(t){if("number"==typeof t)return Number.isFinite(t);if("string"!=typeof t||0===t.length||t.length>512||"."===t||".."===t||t.includes("/")||t.includes("\\")||W(t))return!1;try{return encodeURIComponent(t),!0}catch{return!1}}(t.data.id)}catch{return!1}}async merge(t){if(this.s[7]>0)return{status:"superseded"};const e=this.s[6]+1;this.s[6]=e;const n=this.s[5];this.s[5]=null;let i=null;try{if(n?.abort(),!_(this.s,e))return{status:"superseded"};if(!this.canMerge(t))return _(this.s,e)?{status:"unavailable"}:{status:"superseded"};if(!_(this.s,e))return{status:"superseded"};const r=this.s[3]??("function"==typeof fetch?fetch:void 0);if(!_(this.s,e))return{status:"superseded"};if(void 0===r)return{status:"unavailable"};if(i=new AbortController,!_(this.s,e))return i.abort(),{status:"superseded"};this.s[5]=i;const s=t.globalSlug?`globals/${encodeURIComponent(t.globalSlug)}`:`${encodeURIComponent(t.collectionSlug??"")}/${encodeURIComponent(String(t.data.id))}`,o=`${this.s[0]}${this.s[1]}/${s}`,a=JSON.stringify({data:t.data,depth:this.s[2],flattenLocales:!1,...void 0!==t.locale?{locale:t.locale}:{}});if(!_(this.s,e))return{status:"superseded"};const l=await r(o,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","X-Payload-HTTP-Method-Override":"GET"},body:a,signal:i.signal});if(!_(this.s,e)||q(i.signal))return{status:"superseded"};const u=l.ok;if(!_(this.s,e))return{status:"superseded"};if(!u){const t=l.status;return _(this.s,e)?(this.s[4]("merge HTTP",t,o),_(this.s,e)?{status:"unavailable"}:{status:"superseded"}):{status:"superseded"}}const c=await l.json();return!_(this.s,e)||q(i.signal)?{status:"superseded"}:null===c||"object"!=typeof c||Array.isArray(c)?(this.s[4]("merge invalid",o),_(this.s,e)?{status:"unavailable"}:{status:"superseded"}):{status:"merged",doc:c}}catch(t){return!_(this.s,e)||null!==i&&q(i.signal)?{status:"superseded"}:(this.s[4]("merge exception",t),_(this.s,e)?{status:"unavailable"}:{status:"superseded"})}finally{null!==i&&_(this.s,e)&&this.s[5]===i&&(this.s[5]=null)}}destroy(){this.s[6]+=1;const t=this.s[5];this.s[5]=null,this.s[7]+=1;try{t?.abort()}finally{this.s[7]-=1}}};function _(t,e){return t[6]===e}function q(t){return t.aborted}var J=new Set(["http:","https:","mailto:","tel:"]),Q=/^\s*(?:javascript|data|vbscript|file|blob|about)\s*:/i,X=/^(?:\.{1,2}\/|[a-zA-Z0-9_-]+\/?)/;function isSafeUrl(t){if("string"!=typeof t||0===t.length)return!1;const e=t.trim();if(0===e.length)return!1;if(Q.test(e))return!1;if(e.startsWith("#")||e.startsWith("?"))return!0;if(e.startsWith("//"))return!0;if(e.startsWith("/"))return!0;try{const t=new URL(e);return J.has(t.protocol)}catch{return X.test(e)}}function isExternalHttpUrl(t){if(!isSafeUrl(t))return!1;const e=t.trim();return/^https?:\/\//i.test(e)||/^\/\/[^/]/.test(e)}var Y=new Set(["style","srcdoc","formaction","form","id","name","is","srcset","imagesrcset"]),K=new Set(["href","src","poster","cite","action","xlink:href","data"]),Z=new WeakSet;function tt(t){return Z.add(t),t}var et=class{s;constructor(t,e){const n=e.scheduleFrame??("function"==typeof requestAnimationFrame?requestAnimationFrame.bind(globalThis):t=>setTimeout(()=>{t(performance.now())},0)),i=e.cancelFrame??("function"==typeof cancelAnimationFrame?cancelAnimationFrame.bind(globalThis):t=>{clearTimeout(t)});this.s=[t,e.debounceMs??50,e.isVisible,e.visibilityGateThreshold??50,e.disableVisibilityGate??!1,e.getCacheSize,e.onFlush,n,i,new Map,new Map,new Set,null,0,null,0,null,!1]}schedule(t){if(void 0!==t.identity){if(this.s[17])return;if(!nt(t.identity,this.s[16]))return}const e=this.s[9],n=e.get(t.target.element);n?(n.value=t.value,n.allFields=t.allFields,n.identity=t.identity,n.data=t.data):e.set(t.target.element,{...t,identity:t.identity,data:t.data}),this.#w()}acceptRevision(t){const e=this.s[16];var n,i;nt(t,e)||null!==e&&(i=e,((n=t).generation!==i.generation?n.generation-i.generation:n.revision-i.revision)<0)||(this.#S(),this.#A(),this.s[16]=t,this.s[17]=!1)}cancelRevision(t){nt(t,this.s[16])&&(this.#S(),this.#A(),this.s[17]=!0)}flushNow(){return this.#S(),this.#T()}notifyVisible(t){const e=this.s[10],n=e.get(t);if(!n)return;if(e.delete(t),!this.#k(n))return;const i=performance.now(),r=this.#C(n)?1:0;this.s[6]?.(this.#$(n,r,0,performance.now()-i,1===r?[n.target.fieldName]:[]))}retarget(t){this.#N(this.s[9],t),this.#N(this.s[10],t);for(const e of this.s[11])this.#N(e,t)}forget(t){this.s[9].delete(t),this.s[10].delete(t);for(const e of this.s[11])e.delete(t)}destroy(){this.#S(),this.#A(),this.s[16]=null,this.s[17]=!1}get pendingCount(){return this.s[9].size}get replayCount(){return this.s[10].size}get gateThreshold(){return this.s[3]}get gateActive(){return!this.s[4]&&this.s[5]()>this.s[3]}#w(){const t=this.s[13]+=1,e=this.s[12];if(this.s[12]=null,null!==e&&clearTimeout(e),this.s[13]!==t)return;const n=setTimeout(()=>{this.s[13]===t&&(this.s[12]=null,this.#x())},this.s[1]);this.s[13]===t&&(this.s[12]=n)}#x(){const t=this.s[15]+=1,e=this.s[14];if(this.s[14]=null,null!==e&&this.s[8](e),this.s[15]!==t)return;let n=!1;const i=this.s[7](()=>{this.s[15]===t&&(n=!0,this.s[14]=null,this.#T())});n||this.s[15]!==t||(this.s[14]=i)}#T(){const t=performance.now(),e=!this.s[4]&&this.s[5]()>this.s[3],n=this.s[9];this.s[9]=new Map;let i=0;const r=[];let s,o=0;this.s[11].add(n);try{for(const t of n.values()){if(!this.#k(t))continue;const n=!e||this.s[2](t.target.element);this.#k(t)&&(s??=t,n?(this.s[10].delete(t.target.element),this.#C(t)&&(i+=1,r.push(t.target.fieldName))):(this.s[10].set(t.target.element,t),o+=1))}}finally{this.s[11].delete(n)}const a=this.#$(s,i,o,performance.now()-t,r);return this.s[6]?.(a),a}#k(t){return void 0===t.identity||!this.s[17]&&nt(t.identity,this.s[16])}#C(t){const e=this.s[0];return!1!==e(t)||(n=e,!Z.has(n));var n}#N(t,e){const n=t.get(e.element);void 0!==n&&(n.target.fieldName===e.fieldName&&n.target.locale===e.locale?n.target=e:t.delete(e.element))}#A(){this.s[9].clear(),this.s[10].clear();for(const t of this.s[11])t.clear()}#$(t,e,n,i,r){return{applied:e,appliedFields:r,deferred:n,durationMs:i,...void 0!==t?.identity?{identity:t.identity}:{},...void 0!==t?.data?{data:t.data}:{}}}#S(){const t=this.s[12],e=this.s[14];this.s[13]+=1,this.s[15]+=1,this.s[12]=null,this.s[14]=null,null!==t&&clearTimeout(t),null!==e&&this.s[8](e)}};function nt(t,e){return null!==e&&t.generation===e.generation&&t.revision===e.revision}var it="1.8.0",rt=new Set(["__proto__","prototype","constructor"]);function st(t,e,n,i=!1){if(i&&void 0!==n){const i=ot(t,`${e}_${n}`);if(void 0!==i)return i}const r=ot(t,e);if(void 0!==r)return r;if(e.includes(".")){let n=t,i=!0;for(const t of e.split(".")){if(rt.has(t)||null===n||"object"!=typeof n){i=!1;break}if(n=ot(n,t),void 0===n){i=!1;break}}if(i)return n}return void 0===n?void 0:ot(t,`${e}_${n}`)}function ot(t,e){if(!rt.has(e)&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}function detectInitialLocale(){const t=function(){if("undefined"==typeof document)return;const t=document.documentElement.getAttribute("lang");return null===t||0===t.length?void 0:t}();if(void 0!==t)return t;const e=function(){if("undefined"==typeof navigator)return;const t=navigator.language;return"string"==typeof t&&t.length>0?t:void 0}();return void 0!==e?e:"en"}var at="payload-live-preview-a11y";function lt(t){return/^de(?:[-_]|$)/i.test(t)}var ut=new WeakMap;function ct(t){null!==t[4]&&(clearTimeout(t[4]),t[4]=null),t[2]?.remove(),t[2]=null}var dt=class{s;constructor(t,e){const n=e??("undefined"==typeof document?null:document),i=n?.documentElement.getAttribute("lang")??"";this.s=[lt(t??(i.length>0?i:detectInitialLocale())),n,null]}mount(){const t=this.s[1];if(null==t?.body)return null;let e=this.s[2];null===e&&(e=function(t){let e=ut.get(t);return e??=[null,!1,null,0,null],ut.set(t,e),e[3]+=1,e}(t),this.s[2]=e);const n=e[0];if(n?.isConnected&&n.ownerDocument===t)return n;if(null!==n){const t=e[1];ct(e),t&&n.remove()}let i=t.getElementById(at);return e[1]=null===i,i||(i=t.createElement("div"),i.id=at,i.setAttribute("role","status"),i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),i.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"),t.body.appendChild(i)),e[0]=i,i}announceConnected(){this.say(this.s[0]?"Vorschau verbunden":"Live preview connected")}announceDisconnected(){this.say(this.s[0]?"Vorschau getrennt":"Live preview disconnected")}announceUpdate(t){t<=0||this.say(this.s[0]?`${String(t)} ${1===t?"Änderung":"Änderungen"} angewendet`:`${String(t)} ${1===t?"change":"changes"} applied`)}detach(){const t=this.s[2],e=this.s[1];if(null===t||null===e)return;if(this.s[2]=null,t[3]-=1,t[3]>0)return;const n=t[0];null!==n&&ct(t),t[1]&&n?.remove(),t[0]=null,ut.delete(e)}say(t){const e=this.mount(),n=this.s[2];if(null===e||null===n)return;let i=n[2];i?.parentNode!==e?(i?.remove(),i=e.ownerDocument.createTextNode(e.hasChildNodes()?` ${t}`:t),n[2]=i,e.appendChild(i)):i.data=null===i.previousSibling?t:` ${t}`,null!==n[4]&&clearTimeout(n[4]);const r=setTimeout(()=>{n[4]===r&&n[0]===e&&ct(n)},1500);n[4]=r}},ht=new Set(["tabs","row","collapsible"]);function ft(t,e=""){const n=new Map;return pt(t,e,n),n}function pt(t,e,n){for(const i of t){if(ht.has(i.type)){i.fields&&pt(i.fields,e,n);continue}if("group"===i.type){const t=""===e?i.name:`${e}.${i.name}`;n.set(t,i),i.fields&&pt(i.fields,t,n);continue}const t=""===e?i.name:`${e}.${i.name}`;if(n.set(t,i),"array"===i.type&&i.fields)pt(i.fields,`${t}.*`,n);else if("blocks"===i.type&&i.blocks)for(const e of i.blocks)pt(e.fields,`${t}.*.${e.slug}`,n)}}function gt(t){if("object"!=typeof t||null===t)return;const e=t.id;return"string"==typeof e||"number"==typeof e?e:void 0}function mt(t){if("object"!=typeof t||null===t)return;const e=t.blockType;return"string"==typeof e?e:void 0}function vt(t,e){return e.every(t=>void 0!==gt(t))?function(t,e){const n=[],i=new Map;for(let e=0;e<t.length;e+=1){const n=gt(t[e]);void 0!==n&&i.set(n,e)}const r=new Set;for(let s=0;s<e.length;s+=1){const o=e[s],a=gt(o);if(void 0===a){n.push({kind:"insert",index:s,value:o});continue}const l=i.get(a);if(void 0===l){n.push({kind:"insert",index:s,value:o});continue}r.add(l);const u=t[l];mt(u)===mt(o)?(l!==s&&n.push({kind:"move",from:l,to:s,value:o}),yt(u,o)||n.push({kind:"update",index:s,value:o})):n.push({kind:"replace",index:s,oldValue:u,value:o})}for(let e=0;e<t.length;e+=1)r.has(e)||n.push({kind:"remove",index:e,value:t[e]});return n}(t,e):function(t,e){const n=[],i=Math.min(t.length,e.length);for(let r=0;r<i;r+=1)yt(t[r],e[r])||n.push({kind:"update",index:r,value:e[r]});if(e.length>t.length)for(let i=t.length;i<e.length;i+=1)n.push({kind:"insert",index:i,value:e[i]});if(t.length>e.length)for(let i=e.length;i<t.length;i+=1)n.push({kind:"remove",index:i,value:t[i]});return n}(t,e)}function yt(t,e){if(Object.is(t,e))return!0;if("object"!=typeof t||"object"!=typeof e||null===t||null===e)return!1;const n=t,i=e,r=Object.keys(n),s=Object.keys(i);if(r.length!==s.length)return!1;for(const t of r)if(!Object.is(n[t],i[t]))return!1;return!0}var bt={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"},wt=[0,500,1e3,2e3],St=class{d;l;constructor(t){const e=t.emitter,n=t.renderers,i=t.resolveRenderer??(t=>n[t]),r=t.transformValue,s=t.root??("undefined"!=typeof document?document:null),o=t.readyTargets,a=t.sendReady??Tt,l=t.onHeartbeatTimeout,u=void 0===t.log?D:j(t.log),c=void 0===t.warn?G:j(t.warn),d=function(t){if(!1===t.enableA11y)return null;const e=void 0===t.root?void 0:9===t.root.nodeType?t.root:t.root.ownerDocument;return new dt(t.a11yLocale,e)}(t),h=void 0!==t.dataMerge?new B({serverURL:t.dataMerge.serverURL,...void 0!==t.dataMerge.apiRoute?{apiRoute:t.dataMerge.apiRoute}:{},...void 0!==t.dataMerge.depth?{depth:t.dataMerge.depth}:{},...void 0!==t.dataMerge.fetchFn?{fetchFn:t.dataMerge.fetchFn}:{},log:(...t)=>{u(...t)}}):null,f=new y,p=new k({onStructuralChange:()=>{this.#M()},onVisibilityChange:(t,e)=>{e&&this.d[3].notifyVisible(t)}},{...void 0!==t.intersectionRootMargin?{intersectionRootMargin:t.intersectionRootMargin}:{}}),g=new et(tt(t=>this.#P(t)),{...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.disableVisibilityGate?{disableVisibilityGate:t.disableVisibilityGate}:{},...void 0!==t.visibilityGateThreshold?{visibilityGateThreshold:t.visibilityGateThreshold}:{},isVisible:t=>p.isVisible(t),getCacheSize:()=>f.elementCount,onFlush:t=>{this.#R(t)}}),m=new R(t.originMatcher,{onUpdate:(t,e,n)=>{this.#L(t,e,n)},onDocumentEvent:()=>{e.emit("documentSave",{timestamp:Date.now()})},onInvalid:(t,n)=>{if("token"===t){const t=new Error(`Preview token rejected (origin: ${n})`);e.emit("error",{error:t,context:"token",code:"LP0502"})}u("LP0501 message rejected:",t,n)},...void 0!==t.validateToken?{validateToken:t.validateToken}:{}}),v=new F(()=>{}),b=new U({...void 0!==t.heartbeatMs?{timeoutMs:t.heartbeatMs}:{},onTimeout:()=>{this.#O()}});this.d=[e,f,p,g,m,v,b,n,i,r,s,o,a,l,u,c,[],d,h,!0===t.scopeBindingsByOwner,t.lockedOrigin??(()=>{})],this.l=[void 0,void 0,void 0,negotiateProtocol(void 0),!1,null,0,null,new Set,!1,!1,0,null,new Set]}start(){if(this.l[4])return!1;this.l[4]=!0;const t=this.d[10];if(At(t)&&"loading"===t.readyState){const e=()=>{if(this.l[4]){this.l[5]=null;try{this.#E()}catch(t){this.#I(),this.#U(t,"startup","LP0605")}}};this.l[5]=e;try{t.addEventListener("DOMContentLoaded",e,{once:!0})}catch(t){throw this.#I(),t}return!0}try{return this.#E(),!0}catch(t){throw this.#I(),t}}#E(){if(!this.l[4])return;const t=At(this.d[10])?this.d[10].body:this.d[10];if(null===t)throw new Error("LivePreviewRuntime: document.body unavailable");if(this.d[2].start(t),this.#F(),this.#j()&&(this.d[4].attach(),this.d[0].emitWhile("init",{timestamp:Date.now()},()=>this.l[4]),this.#j()))for(const t of wt){if(!this.#j())return;if(0===t){if(this.d[12](this.d[11]),!this.#j())return}else{const e=setTimeout(()=>{this.l[4]&&this.#D()},t);this.d[16].push(e)}}}suspend(){return!!this.l[4]&&(this.#H()&&this.d[0].emit("disconnect",{reason:"unload",timestamp:Date.now()}),!0)}destroy(){this.l[4]&&(this.#H()&&this.d[0].emit("disconnect",{reason:"destroy",timestamp:Date.now()}),this.d[17]?.detach(),this.d[0].emit("destroy",{timestamp:Date.now()}))}#H(){this.l[7]=null,this.l[4]=!1;const t=this.l[5];this.l[5]=null,null!==t&&At(this.d[10])&&this.#G(()=>{this.d[10].removeEventListener("DOMContentLoaded",t)});for(const t of this.d[16])this.#G(()=>{clearTimeout(t)});return this.d[16].length=0,this.#G(()=>{this.d[6].stop()}),this.#G(()=>{this.d[4].detach()}),this.#G(()=>{this.d[2].stop()}),this.#G(()=>{this.d[3].destroy()}),this.#G(()=>{this.d[18]?.destroy()}),this.d[1].clear(),this.d[5].markDisconnected()}#I(){this.#H(),this.#G(()=>{this.d[17]?.detach()})}#G(t){try{t()}catch(t){this.d[14]("cleanup failed:",t)}}refreshCache(){this.l[4]&&this.#M()}get status(){return this.d[5].status}get cache(){return this.d[1]}get updateCount(){return this.l[6]}get protocol(){return this.l[3]}inspect(){const t=this.d[1],e=this.d[3],n=this.l[3],i=this.l[7],r=this.l[12],s=[],o=new Set;for(const[e,n]of t.entries()){s.push(e);for(const t of n)void 0!==t.owner&&o.add(t.owner)}return{version:it,started:this.l[4],status:this.d[5].status,origins:{trusted:[...this.d[11]],locked:this.d[20]()},protocol:{ours:n.ours,theirs:n.theirs,negotiated:n.negotiated,capabilities:[...n.capabilities].sort()},revisions:{accepted:this.l[6],superseded:this.l[11],active:null===i?void 0:i.identity.revision},bindings:{elements:t.elementCount,fields:t.fieldCount,fieldNames:s.sort(),absentFields:[...this.l[13]].sort(),orphanFields:[...this.l[8]].sort(),ownerScoped:this.d[19],owners:[...o].sort()},scheduler:{pending:e.pendingCount,deferred:e.replayCount,visibilityGateThreshold:e.gateThreshold,visibilityGateActive:e.gateActive,lastFlush:null===r?void 0:{applied:r.applied,appliedFields:r.appliedFields,deferred:r.deferred,durationMs:r.durationMs}},renderers:Object.keys(this.d[7]).sort()}}#F(){if(!this.l[4])return;const t=this.d[1].buildFromRoot(this.d[10]);if(this.d[14]("cache",t),this.#j()&&(this.d[0].emitWhile("cacheRefresh",t,()=>this.l[4]),this.#j()))for(const t of this.d[1].values()){if(!this.#j())return;this.d[2].observeElement(t.element)}}#M(){if(!this.l[4])return;const t=new Map;for(const e of this.d[1].values())t.set(e.element,e),this.d[2].unobserveElement(e.element);if(this.#F(),this.#j()){for(const e of this.d[1].values()){const n=t.get(e.element);n?.fieldName===e.fieldName?this.d[3].retarget(e):this.d[3].forget(e.element),t.delete(e.element)}for(const e of t.values())this.d[3].forget(e.element)}}#z(t){const e=this.l[3];if(e.theirs===t)return;const n=negotiateProtocol(t);this.l[3]=n,n.negotiated!==e.negotiated&&this.d[14]("protocol","ours=4",`theirs=${t}`,`negotiated=${n.negotiated}`)}#L(t,e,n){if(this.d[6].kick(),void 0===t.data)return void(void 0!==t.protocolVersion&&this.#z(t.protocolVersion));if(void 0===n)return;"string"==typeof t.locale&&(this.l[0]=t.locale),Array.isArray(t.fieldSchemaJSON)&&(this.l[1]=t.fieldSchemaJSON,this.l[2]=ft(t.fieldSchemaJSON));const i={identity:n,message:t,locale:this.l[0],schema:this.l[1],schemaIndex:this.l[2],cancelled:!1};if(null!==this.l[7]&&(this.l[11]+=1),this.l[7]=i,this.d[3].acceptRevision(n),this.l[6]+=1,void 0===t.protocolVersion||(this.#z(t.protocolVersion),this.l[4]&&this.l[7]===i)){if(this.d[5].markConnected()){if(this.d[17]?.announceConnected(),this.d[0].emit("connect",{origin:e,timestamp:Date.now()}),!this.l[4]||this.l[7]!==i)return;if(this.d[14]("connection","disconnected","→","connected"),!this.l[4]||this.l[7]!==i)return}this.#W(i)}}async#W(t){const e=await this.#V(t);if(null===e||!this.l[4]||this.l[7]!==t)return;const{message:n}=t,i={fields:e,...void 0!==t.schema?{schema:t.schema}:{},..."string"==typeof n.globalSlug?{globalSlug:n.globalSlug}:{},..."string"==typeof n.collectionSlug?{collectionSlug:n.collectionSlug}:{},...void 0!==t.locale?{locale:t.locale}:{}};this.d[0].listenerCount("beforeUpdate")>0&&(!await this.d[0].emitWhile("beforeUpdate",{data:i,revision:t.identity.revision,cancel:()=>{t.cancelled=!0,this.d[3].cancelRevision(t.identity)}},()=>!t.cancelled&&this.l[4]&&this.l[7]===t)||t.cancelled||!this.l[4]||this.l[7]!==t)||this.l[4]&&this.l[7]===t&&this.#B(t,i)}async#V(t){const{message:e}=t,n=e.data??{};if(null===this.d[18])return n;const i=await this.d[18].merge({collectionSlug:e.collectionSlug,globalSlug:e.globalSlug,data:n,locale:t.locale});return this.l[4]&&this.l[7]===t?"merged"===i.status?i.doc:"superseded"===i.status?null:n:null}#B(t,e){if(!this.l[4]||this.l[7]!==t)return;const n=()=>this.l[4]&&this.l[7]===t,i=this.#_(t,e.fields);for(const[r,s]of this.d[1].entries()){if(!this.l[4]||this.l[7]!==t)return;for(const o of s){if(!1!==i&&!A(o.owner,i))continue;const s=st(e.fields,r,o.locale??t.locale,void 0!==o.locale);if(void 0===s){this.l[13].add(r);continue}if(!this.l[4]||this.l[7]!==t)return;const a=this.#q(o,s,e.fields,n);if(!this.l[4]||this.l[7]!==t)return;const l={target:o,value:a,allFields:e.fields,identity:t.identity,data:e};if(!this.l[4]||this.l[7]!==t)return;this.d[3].schedule(l)}}this.#J(e.fields,t.locale,i)}#_(t,e){if(!this.d[19])return!1;const{message:n}=t,i=function(t){if(S(t.globalSlug))return[(e=t.globalSlug,`global:${e}`)];var e;if(!S(t.collectionSlug))return null;const n=w(t.collectionSlug);return S(t.documentId)?[n,w(t.collectionSlug,t.documentId)]:[n]}({globalSlug:"string"==typeof n.globalSlug?n.globalSlug:void 0,collectionSlug:"string"==typeof n.collectionSlug?n.collectionSlug:void 0,documentId:T(e)});return null!==i||this.l[9]||(this.l[9]=!0,this.d[15]("[live-preview] LP0202: scopeBindingsByOwner: update names no document; nothing applied")),i}#Q(t){for(const e of this.d[1].values())if(A(e.owner,t))return!0;return!1}#X(t,e){const n=this.d[1].get(t);return void 0!==n&&(!1===e||n.some(t=>A(t.owner,e)))}#J(t,e,n){if(0===this.d[1].fieldCount)return;if(!1!==n&&!this.#Q(n))return;let i;for(const[r,s]of Object.entries(t)){if(this.l[8].has(r))continue;if(Ct.has(r))continue;if(!$t(s))continue;const t=Nt(r,e);if(!(this.#X(r,n)||t!==r&&this.#X(t,n))){if(void 0===i){i=new Set;for(const[t,e]of this.d[1].entries())for(const r of e)(!1===n||A(r.owner,n))&&void 0!==r.locale&&i.add(`${t}_${r.locale}`)}i.has(r)||(this.l[8].add(r),this.d[15](`[live-preview] LP0201: update arrived for field "${r}" but no <… data-payload-field="${t}"> element exists on this page. Render the binding anchor unconditionally in your template so live edits to an initially-empty field have somewhere to land.`))}}}#q(t,e,n,i){if(void 0===this.d[9])return e;try{const r=this.d[9](t.fieldName,e,{element:t.element,allFields:n},i),s=P(r);if(!i())return e;if(s)throw new TypeError(`Transform for "${t.fieldName}" returned a Promise/thenable; transforms must be synchronous`);return r}catch(t){if(!i())return e;const n=t instanceof Error?t:new Error(String(t));return this.d[0].emit("error",{error:n,context:"transform",code:"LP0602"}),e}}#j(){return this.l[4]}#Y(t){0!==t.deferred&&(this.l[10]||(this.l[10]=!0,this.d[15](`[live-preview] LP0301: visibility gate held ${String(t.deferred)} offscreen update(s) until scrolled into view; see visibilityGateThreshold.`)))}#P(t){const e=this.l[7];if(null===e||void 0===t.identity||!kt(e.identity,t.identity)||!this.l[4]||this.l[7]!==e)return!1;const n=void 0!==e.schemaIndex?function(t,e){if(t.has(e))return t.get(e);const n=e.replace(/\.\d+(?=\.|$)/g,".*");return t.has(n)?t.get(n):void 0}(e.schemaIndex,t.target.fieldName):void 0,i=t.value;let r,s=function(t,e){if(t.explicitFieldType)return t.fieldType;if(void 0!==e){const t=function(t){if(Object.prototype.hasOwnProperty.call(bt,t))return bt[t]}(e);if(void 0!==t)return t}return t.fieldType}(t.target,n?.type);"text"===s&&!0!==t.target.explicitFieldType&&function(t){if("object"!=typeof t||null===t)return!1;if(!("root"in t))return!1;const e=t.root;return"object"==typeof e&&null!==e&&Array.isArray(e.children)}(i)&&(s="richText");try{r=this.d[8](s)}catch(t){if(!this.l[4]||this.l[7]!==e)return!1;const n=t instanceof Error?t:new Error(String(t));return this.d[0].emitWhile("error",{error:n,context:"renderer",code:"LP0603"},()=>this.l[4]&&this.l[7]===e),!1}if(!this.l[4]||this.l[7]!==e)return!1;const o=this.d[0].listenerCount("elementUpdate")>0,a=o?"INPUT"===(l=t.target.element).tagName||"TEXTAREA"===l.tagName?l.value:"IMG"===l.tagName?l.src:l.textContent:void 0;var l;if(!this.l[4]||this.l[7]!==e)return!1;const u={allFields:t.allFields,locale:t.target.locale??e.locale,schema:n};try{if(void 0!==t.target.targetAttribute){const e=function(t,e,n){const i=e.toLowerCase().trim();if(0===i.length)return"blocked";if(i.startsWith("on"))return"blocked";if(Y.has(i))return"blocked";if(null==n)return t.removeAttribute(i),"applied";if("string"!=typeof n&&"number"!=typeof n&&"boolean"!=typeof n)return"blocked";const r=String(n);return K.has(i)&&!isSafeUrl(r)?"blocked":(t.setAttribute(i,r),"applied")}(t.target.element,t.target.targetAttribute,i);if("blocked"===e)return this.d[15](`[live-preview] LP0401: refused to write field "${t.target.fieldName}" into attribute "${t.target.targetAttribute}" (unsafe attribute or value)`),!1}else{if(!r)return this.d[14]("no renderer for",s),!1;{const e=function(t,e,n,i){return t.render(e,n,i)}(r,t.target,i,u);if(!1===e&&function(t){return Z.has(t.render)}(r))return!1}}}catch(t){if(!this.l[4]||this.l[7]!==e)return!1;const n=t instanceof Error?t:new Error(String(t));return this.d[0].emitWhile("error",{error:n,context:"renderer",code:"LP0603"},()=>this.l[4]&&this.l[7]===e),!1}return!(!this.l[4]||this.l[7]!==e)&&(o&&this.d[0].emitWhile("elementUpdate",{element:t.target.element,fieldName:t.target.fieldName,previousValue:a,nextValue:i,revision:e.identity.revision},()=>this.l[4]&&this.l[7]===e),this.l[4]&&this.l[7]===e)}#R(t){this.l[12]=t,this.#Y(t);const{identity:e,data:n}=t;if(0===t.applied||void 0===e||void 0===n)return;const i=this.l[7];if(null===i||!this.l[4]||this.l[7]!==i||!kt(i.identity,e))return;const r=()=>this.l[4]&&this.l[7]===i&&kt(i.identity,e);this.d[17]?.announceUpdate(t.applied),r()&&0!==this.d[0].listenerCount("afterUpdate")&&this.d[0].emitWhile("afterUpdate",{data:n,updatedCount:t.applied,durationMs:t.durationMs,revision:e.revision},r)}#O(){if(!this.#j())return;this.d[4].advanceGeneration();const t=this.l[7];this.l[7]=null,null!==t&&this.d[3].cancelRevision(t.identity),this.d[18]?.destroy();const e=this.d[5].markDisconnected();try{this.d[13]?.()}catch(t){this.d[14]("heartbeat:",t)}if(this.#j()){if(e&&this.#K()){if(this.d[17]?.announceDisconnected(),this.d[0].emitWhile("disconnect",{reason:"timeout",timestamp:Date.now()},()=>this.#K()),!this.#j())return;if(this.#K()&&(this.d[14]("connection","connected","→","disconnected"),!this.#j()))return}this.#j()&&this.#D()}}#D(){try{this.d[12](this.d[11])}catch(t){this.#U(t,"ready","LP0606")}}#U(t,e,n){const i=t instanceof Error?t:new Error(String(t));this.d[0].emit("error",{error:i,context:e,code:n})}#K(){return this.l[4]&&"disconnected"===this.d[5].status&&null===this.l[7]}};function At(t){return 9===t.nodeType}function Tt(t){if("undefined"==typeof window)return;const e=[];window.parent!==window&&e.push(window.parent),window.opener instanceof Window&&e.push(window.opener),R.sendReady(e,t)}function kt(t,e){return t.generation===e.generation&&t.revision===e.revision}var Ct=new Set(["id","_id","createdAt","updatedAt","createdBy","updatedBy","_status","globalType","collection","locale","localized"]);function $t(t){return null!=t&&("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"bigint"==typeof t)}function Nt(t,e){if(!e)return t;const n=`_${e}`;return t.endsWith(n)?t.slice(0,-n.length):t}var xt,Mt=class{#Z=new Map;#tt=new Map;on(t,e){return this.#et(this.#Z,t,e)}once(t,e){return this.#et(this.#tt,t,e)}off(t,e){this.#nt(this.#Z,t,e),this.#nt(this.#tt,t,e)}async emit(t,e){await this.#it(t,e)}async emitWhile(t,e,n){return this.#it(t,e,n)}async#it(t,e,n){const i=()=>n?.()??!0;if(!i())return!1;const r=this.#Z.get(t);if(r)for(const n of[...r]){if(!i())return!1;if(await this.#rt(n,e,t),!i())return!1}if(!i())return!1;const s=this.#tt.get(t);if(s&&s.size>0){const n=[...s];this.#tt.delete(t);for(const r of n){if(!i())return!1;if(await this.#rt(r,e,t),!i())return!1}}return i()}listenerCount(t){return(this.#Z.get(t)?.size??0)+(this.#tt.get(t)?.size??0)}removeAllListeners(t){if(void 0===t)return this.#Z.clear(),void this.#tt.clear();this.#Z.delete(t),this.#tt.delete(t)}eventNames(){const t=new Set;for(const e of this.#Z.keys())t.add(e);for(const e of this.#tt.keys())t.add(e);return[...t]}#et(t,e,n){let i=t.get(e);return i||(i=new Set,t.set(e,i)),i.add(n),()=>{this.#nt(t,e,n)}}#nt(t,e,n){const i=t.get(e);void 0!==i&&(i.delete(n),0===i.size&&t.delete(e))}async#rt(t,e,n){try{await t(e)}catch(t){const e="string"==typeof n||"number"==typeof n?String(n):"<event>";H(`[live-preview] LP0601: handler for "${e}" threw:`,t)}}};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 t=function(){if("undefined"==typeof process)return;const t=process.env.NODE_ENV;return"string"==typeof t?t:void 0}();if(void 0!==t)return"production"!==t;const e=function(){const t=Rt();if(!t)return;const e=t.DEV;return"boolean"==typeof e?e:void 0}();if(void 0!==e)return e;if("undefined"!=typeof window){const t=window.location.hostname;if("localhost"===t||"127.0.0.1"===t)return!0}return!1}function Pt(t){if("undefined"!=typeof process){const e=process.env[t];if("string"==typeof e&&e.length>0)return e}const e=Rt();if(e){const n=e[t];if("string"==typeof n&&n.length>0)return n}}function Rt(){if("undefined"==typeof __INLINE_RUNTIME_BUILD__||!__INLINE_RUNTIME_BUILD__){if(void 0!==xt)return xt??void 0;xt=null;try{const t=new Function("try { return import.meta && import.meta.env; } catch (_) { return undefined; }")();if(t&&"object"==typeof t)return xt=t}catch{}}}var Lt=/^https?:\/\/(localhost|127\.0\.0\.1)(?::\d+)?$/i,Ot=/^https?:\/\/[^/?#\s]+$/i,Et=["PAYLOAD_ADMIN_ORIGIN","PUBLIC_PAYLOAD_ADMIN_ORIGIN","NEXT_PUBLIC_PAYLOAD_ADMIN_ORIGIN"],It=class{#st;constructor(t={}){const e=new Set;for(const n of t.additionalOrigins??[]){const t=Ft(n);void 0!==t&&e.add(t)}for(const t of Et){const n=Pt(t);if(void 0!==n)for(const t of n.split(",")){const n=Ft(t);void 0!==n&&e.add(n)}}let n;if(t.enableReferrerDetection??1){const e=t.referrer??("undefined"!=typeof document?document.referrer:"");if(e.length>0)try{const t=new URL(e).origin;t&&"null"!==t&&(n=t)}catch{}}const i=(t.enableLocalhostMatching??!0)&&(t.forceDevMode??isDevMode());this.#st=[e,n,i,void 0!==n,void 0]}matches(t){return 0!==t.length&&"null"!==t&&(void 0!==this.#st[4]?t===this.#st[4]:!!this.#st[0].has(t)||0===this.#st[0].size&&void 0!==this.#st[1]&&t===this.#st[1]||!(!this.#st[2]||!Lt.test(t)))}lockOrigin(t){return!!this.matches(t)&&(this.#st[4]=t,!0)}unlockOrigin(){const t=this.#st[4];return this.#st[4]=void 0,t}get lockedOrigin(){return this.#st[4]}enumerate(){if(void 0!==this.#st[4])return[this.#st[4]];const t=new Set(this.#st[0]);if(0===this.#st[0].size&&void 0!==this.#st[1]&&t.add(this.#st[1]),this.#st[2])for(const e of Ut)t.add(`http://localhost:${String(e)}`),t.add(`http://127.0.0.1:${String(e)}`);return[...t]}get referrerWasAvailable(){return this.#st[3]}get isProductionUnconfigured(){return!(!isInIframe()||this.#st[0].size>0||this.#st[2]||void 0!==this.#st[1])}get isReferrerOnlyTrust(){return!(this.#st[0].size>0||this.#st[2]||void 0===this.#st[1])}},Ut=[3e3,3001,3333,4e3,4321,5e3,5173,5174,8e3,8080,8888,9e3];function Ft(t){const e=t.trim();if(0!==e.length)try{const t=new URL(e);if("http:"!==t.protocol&&"https:"!==t.protocol)return;if(!Ot.test(t.origin))return;return t.origin}catch{return}}var jt,Dt=()=>{},Ht=class{#ot;#at;#lt=new Set;#st="staging";constructor(t,e){this.#ot=t,this.#at=e}assertOpen(){if("closed"===this.#st)throw new Error(`Plugin context for "${this.#ot}" is no longer active`)}get active(){return"active"===this.#st}eligible(){return"closed"!==this.#st}own(t){return this.assertOpen(),this.#ut({acquire:void 0,finalize:void 0,cleanup:t,disposed:!1})}stage(t,e){this.assertOpen();const n={acquire:t,finalize:e,cleanup:void 0,disposed:!1},i=this.#ut(n);if("active"===this.#st)try{this.#ct(n)}catch(t){throw this.#dt(n),t}return i}commit(){if("staging"!==this.#st)throw new Error(`Plugin context for "${this.#ot}" cannot be committed`);this.#st="committing";try{for(const t of this.#lt)this.#ct(t);this.#st="active"}catch(t){throw this.close(),t}}close(){if("closed"!==this.#st){this.#st="closed";for(const t of[...this.#lt].reverse())this.#dt(t);this.#lt.clear()}}#ut(t){return this.#lt.add(t),()=>{this.#dt(t)}}#ct(t){if(t.disposed||void 0!==t.cleanup||void 0===t.acquire)return;const e=t.acquire();t.cleanup=e??Dt}#dt(t){if(t.disposed)return;t.disposed=!0,this.#lt.delete(t);const e=t.cleanup;if(t.cleanup=void 0,void 0!==e)try{P(e())&&this.#at(`plugin "${this.#ot}" cleanup returned a Promise/thenable; cleanups must be synchronous`)}catch(t){this.#at(`plugin "${this.#ot}" cleanup failed:`,t)}try{t.finalize?.()}catch(t){this.#at(`plugin "${this.#ot}" cleanup failed:`,t)}}},Gt=class extends Mt{#ht;#ft;#pt=new Set;constructor(t,e){super(),this.#ht=t,this.#ft=e}on(t,e){return this.#gt("on",t,e)}once(t,e){return this.#gt("once",t,e)}off(t,e){const n=e;for(const e of[...this.#pt])e.event===t&&e.handler===n&&e.dispose()}emit(t,e){return this.#ft.assertOpen(),this.#ht.emit(t,e)}emitWhile(t,e,n){return this.#ft.assertOpen(),this.#ht.emitWhile(t,e,()=>{if(!this.#ft.eligible())return!1;const t=n();return!!this.#ft.eligible()&&t})}listenerCount(t){let e=0;for(const n of this.#pt)n.event===t&&(e+=1);return e}removeAllListeners(t){for(const e of[...this.#pt])void 0!==t&&e.event!==t||e.dispose()}eventNames(){const t=new Set;for(const e of this.#pt)t.add(e.event);return[...t]}#gt(t,e,n){this.#ft.assertOpen();const i=n,r=[...this.#pt].find(n=>n.kind===t&&n.event===e&&n.handler===i);if(void 0!==r)return r.dispose;let s=Dt,o=!0;const a=async e=>{this.#ft.active&&o&&("once"===t&&s(),await n(e))},l={kind:t,event:e,handler:i,dispose:Dt};return s=this.#ft.stage(()=>this.#ht[t](e,a),()=>{o=!1,this.#pt.delete(l)}),l.dispose=s,this.#pt.add(l),s}},zt=class{#ht;#mt;#vt;#yt;#at;#bt=new Map;#wt=new Map;#St=new Map;#At=new Set;#Tt=new Map;#kt=Promise.resolve();#Ct=0;constructor(t){this.#ht=t.events,this.#mt=t.config,this.#vt=t.registerFieldRenderer,this.#at=j(t.log);const e=t.onTransformError;this.#yt=void 0===e?void 0:j((...t)=>{const n=t[0];if(n instanceof Error)try{return e(n)}catch(t){return void this.#at("transform error reporter failed:",t)}})}register(t){return this.#Ct>0?this.#$t(t):this.#Nt(()=>this.#$t(t))}unregister(t){return this.#Ct>0?this.#xt(t):this.#Nt(async()=>{await this.#xt(t)})}destroyAll(){return this.#Ct>0?this.#Mt():this.#Nt(async()=>{await this.#Mt()})}applyTransforms(t,e,n,i){const r=this.#Tt.get(t);if(void 0===r||0===r.length)return e;let s=e;for(const o of[...r]){if(!o.active)continue;const{transform:r}=o;if(!1===i?.())return e;try{s=r(s,{fieldName:t,element:n.element,allFields:n.allFields});const o=P(s);if(!1===i?.())return e;if(o)throw new TypeError(`Transform for "${t}" returned a Promise/thenable; transforms must be synchronous`)}catch(n){if(!1===i?.())return e;const r=n instanceof Error?n:new Error(String(n));return this.#at(`transform for "${t}" failed:`,r),this.#yt?.(r),e}}return s}list(){return[...this.#bt.keys()]}get size(){return this.#bt.size}async#$t(t){if(this.#bt.has(t.name)||this.#wt.has(t.name)||this.#St.has(t.name))return void this.#at(`plugin "${t.name}" already registered`);const e=new Ht(t.name,this.#at),n=this.#Pt(t.name,e),i={scope:e,cancelled:!1};this.#wt.set(t.name,i);try{if(await this.#Rt(()=>t.init(n)),i.cancelled)return;e.commit()}catch(n){return e.close(),void(i.cancelled||this.#at(`plugin "${t.name}" init failed:`,n))}finally{this.#wt.get(t.name)===i&&this.#wt.delete(t.name)}this.#bt.set(t.name,{plugin:t,scope:e}),this.#at(`plugin "${t.name}" registered`)}#Pt(t,e){return{events:new Gt(this.#ht,e),registerFieldRenderer:t=>{e.stage(()=>{const e=this.#vt(t);return"function"==typeof e?e:void 0})},registerTransform:(t,n)=>{const i={transform:n,active:!1};e.stage(()=>{i.active=!0;const e=this.#Tt.get(t);return void 0===e?this.#Tt.set(t,[i]):e.push(i),()=>{i.active=!1;const e=this.#Tt.get(t);if(void 0===e)return;const n=e.indexOf(i);n>=0&&e.splice(n,1),0===e.length&&this.#Tt.delete(t)}})},registerCleanup:t=>{e.own(t)},getConfig:()=>this.#mt,log:(...e)=>{this.#at(`[${t}]`,...e)}}}#xt(t){const e=this.#wt.get(t);if(void 0!==e)return e.cancelled=!0,e.scope.close(),Promise.resolve();const n=this.#St.get(t);if(void 0!==n)return this.#At.has(t)?Promise.resolve():n;const i=this.#bt.get(t);if(void 0===i)return Promise.resolve();this.#bt.delete(t),i.scope.close();const r=Promise.resolve().then(()=>this.#Lt(t,i.plugin));return this.#St.set(t,r),r.then(()=>{this.#St.get(t)===r&&this.#St.delete(t)}),r}async#Lt(t,e){if(void 0!==e.destroy){this.#At.add(t);try{await this.#Rt(()=>e.destroy?.())}catch(e){this.#at(`plugin "${t}" destroy failed:`,e)}finally{this.#At.delete(t)}}}async#Mt(){for(const t of this.#wt.values())t.cancelled=!0,t.scope.close();const t=[...this.#bt.keys()];for(const e of t)await this.#xt(e)}async#Rt(t){this.#Ct+=1;try{await t()}finally{this.#Ct-=1}}#Nt(t){const e=this.#kt.then(t);return this.#kt=e.catch(t=>{this.#at("plugin manager mutation failed:",t)}),e}},Wt=class{#Ot;#Et;#It=new Map;constructor(t){this.#Ot=t,this.#Et={...t}}get renderers(){return this.#Et}resolve(t){return this.#Et[t]}register(t){const e=t.name,n={renderer:t},i=this.#It.get(e);void 0===i?this.#It.set(e,[n]):i.push(n),this.#Et[e]=t;let r=!0;return()=>{if(!r)return;r=!1;const t=this.#It.get(e);if(void 0===t)return;const i=t.indexOf(n);if(i<0)return;const s=i===t.length-1;if(t.splice(i,1),0===t.length&&this.#It.delete(e),!s)return;const o=t.at(-1),a=o?.renderer??this.#Ot[e];void 0===a?Reflect.deleteProperty(this.#Et,e):this.#Et[e]=a}}},Vt=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"]),Bt=new Set(["script","style","iframe","object","embed","link","meta","base","form","input","button","select","textarea","svg","math","template","frame","frameset","noframes","noscript"]),_t=new Set(["id","class","lang","dir","title","role","tabindex"]),qt={a:new Set(["href","target","rel","download","hreflang","type"]),img:new Set(["src","srcset","sizes","alt","width","height","loading","decoding"]),picture:new Set([]),source:new Set(["src","srcset","sizes","type","media"]),audio:new Set(["src","controls","autoplay","loop","muted","preload"]),video:new Set(["src","poster","controls","autoplay","loop","muted","preload","width","height","playsinline"]),time:new Set(["datetime"]),abbr:new Set(["title"]),q:new Set(["cite"]),blockquote:new Set(["cite"]),table:new Set(["summary"]),th:new Set(["colspan","rowspan","scope","headers","abbr"]),td:new Set(["colspan","rowspan","headers"]),col:new Set(["span"]),colgroup:new Set(["span"]),ol:new Set(["start","reversed","type"]),li:new Set(["value"]),code:new Set(["class"]),pre:new Set(["class"])},Jt=new Set(["href","src","cite","poster"]),Qt=class extends Error{name="SanitizerEnvironmentError"};function setSanitizerDocument(t){jt=t??void 0}function sanitizeHtml(t,e){const n=Xt();if(!n)throw new Qt("sanitizeHtml needs a DOM; provide one with setSanitizerDocument() during SSR.");if(""===t)return"";const i=function(t){if(!t){const t=new Map;for(const[e,n]of Object.entries(qt))t.set(e,n);return{allowedTags:Vt,attrByTag:t}}const e=new Set(Vt);for(const n of t.additionalAllowedTags??[])e.add(n);const n=new Map;for(const[t,e]of Object.entries(qt))n.set(t,e);for(const[e,i]of Object.entries(t.additionalAllowedAttributes??{})){const t=n.get(e),r=new Set(t??[]);for(const t of i)r.add(t);n.set(e,r)}return{allowedTags:e,attrByTag:n}}(e),r=n.createElement("template");return r.innerHTML=t,Yt(r.content,i),r.innerHTML}function Xt(){return jt||("undefined"!=typeof document?document:void 0)}function Yt(t,e){for(const n of Array.from(t.childNodes))1===n.nodeType?Kt(n,e):8===n.nodeType&&n.remove()}function Kt(t,e){const n=t.tagName.toLowerCase();if(Bt.has(n))t.remove();else{if(!e.allowedTags.has(n)){Yt(t,e);const n=t.parentNode;if(n){for(;t.firstChild;)n.insertBefore(t.firstChild,t);t.remove()}return}!function(t,e,n){const i=n.attrByTag.get(e);for(const e of Array.from(t.attributes)){const n=e.name.toLowerCase();n.startsWith("on")?t.removeAttribute(e.name):"style"!==n?_t.has(n)||n.startsWith("aria-")||n.startsWith("data-")||(i?.has(n)?Jt.has(n)&&!isSafeUrl(e.value)?t.removeAttribute(e.name):"srcset"!==n||Zt(e.value)||t.removeAttribute(e.name):t.removeAttribute(e.name)):t.removeAttribute(e.name)}}(t,n,e),"a"===n&&function(t){const e=t.getAttribute("href");null!==e&&isExternalHttpUrl(e)&&(t.setAttribute("rel","noopener noreferrer"),t.hasAttribute("target")||t.setAttribute("target","_blank"))}(t),Yt(t,e)}}function Zt(t){const e=t.split(",");for(const t of e){const e=t.trim();if(0===e.length)continue;const n=e.search(/\s/);if(!isSafeUrl(-1===n?e:e.slice(0,n)))return!1}return!0}var te=new Map;function ee(t,e){te.set(t,e)}var ne={1:"left",2:"center",3:"right",4:"justify"},ie=new Set(["left","center","right","justify","start","end"]);function re(t){const e=t.format;if("string"==typeof e&&ie.has(e))return e;if("number"==typeof e){const t=ne[e];if(void 0!==t)return t}}function se(t){const e=t.indent;return"number"==typeof e&&e>0?e:0}function oe(t){return"rtl"===t.direction?' dir="rtl"':"ltr"===t.direction?' dir="ltr"':""}function ae(t){const e=re(t),n=se(t),i=[];return void 0!==e&&i.push(`text-align:${e}`),n>0&&i.push(`padding-inline-start:${String(40*n)}px`),0===i.length?"":` style="${i.join(";")}"`}var le=Object.freeze({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"}),ue=/[&<>"'/`=]/g;function escapeHtml(t){return""===t?"":t.replace(ue,t=>le[t])}var ce=Object.freeze({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}),de=/[&<>"']/g;function escapeHtmlAttribute(t){return""===t?"":t.replace(de,t=>ce[t])}function he(t){return escapeHtml(t).replace(/\r\n|\r|\n/g,"<br>")}var fe=new Set(["h1","h2","h3","h4","h5","h6"]),pe=(t,e)=>{const n="string"==typeof t.url?t.url:"",i=e.renderChildren(t.children??[]);if(0===n.length||!isSafeUrl(n))return i;const r=isExternalHttpUrl(n)?' target="_blank" rel="noopener noreferrer"':function(t){const e="string"==typeof t.target?t.target:"";if(0===e.length)return"";const n=escapeHtml(e);return"_blank"===e?' target="_blank" rel="noopener noreferrer"':` target="${n}"`}(t),s="string"==typeof t.title?` title="${escapeHtml(t.title)}"`:"";return`<a href="${escapeHtmlAttribute(n)}"${r}${s}>${i}</a>`};function ge(t){if("string"==typeof t.text)return t.text;if(!t.children)return"";let e="";for(const n of t.children)e+=ge(n);return e}function me(t){return t.replace(/[^a-zA-Z0-9_-]/g,"")}var ve=new Map;function ye(t){return ve.get(t)}function be(t){return t.replace(/[^a-zA-Z0-9_-]/g,"-").toLowerCase()}ee("text",t=>{let e=escapeHtml("string"==typeof t.text?t.text:"");const n="number"==typeof t.format?t.format:0;return!!(16&n)&&(e=`<code>${e}</code>`),!!(1&n)&&(e=`<strong>${e}</strong>`),!!(2&n)&&(e=`<em>${e}</em>`),!!(8&n)&&(e=`<u>${e}</u>`),!!(4&n)&&(e=`<s>${e}</s>`),!!(32&n)&&(e=`<sub>${e}</sub>`),!!(64&n)&&(e=`<sup>${e}</sup>`),!!(128&n)&&(e=`<mark>${e}</mark>`),e}),ee("paragraph",(t,e)=>{const n=e.renderChildren(t.children??[]);return`<p${oe(t)}${ae(t)}>${n}</p>`}),ee("heading",(t,e)=>{const n="string"==typeof t.tag?t.tag.toLowerCase():"h2",i=fe.has(n)?n:"h2",r=e.renderChildren(t.children??[]);return`<${i}${oe(t)}${ae(t)}>${r}</${i}>`}),ee("list",(t,e)=>{const n="string"==typeof t.listType?t.listType:"bullet",i="number"===n?"ol":"ul",r="number"===n&&"number"==typeof t.start&&t.start>1?` start="${String(t.start)}"`:"",s="check"===n?' role="list"':"",o=e.renderChildren(t.children??[]);return`<${i}${oe(t)}${ae(t)}${r}${s}>${o}</${i}>`}),ee("listitem",(t,e)=>{const n=e.renderChildren(t.children??[]);if("boolean"==typeof t.checked)return`<li role="checkbox" aria-checked="${t.checked?"true":"false"}"${ae(t)}>${n}</li>`;const i="number"==typeof t.value?` value="${escapeHtml(String(t.value))}"`:"";return`<li${oe(t)}${ae(t)}${i}>${n}</li>`}),ee("link",pe),ee("autolink",pe),ee("quote",(t,e)=>{const n=e.renderChildren(t.children??[]);return`<blockquote${oe(t)}${ae(t)}>${n}</blockquote>`}),ee("code",t=>{const e=me("string"==typeof t.language?t.language:"");return`<pre><code${""===e?"":` class="language-${e}"`}>${escapeHtml(ge(t))}</code></pre>`}),ee("code-highlight",t=>{const e="string"==typeof t.text?t.text:"";return`<span${"string"==typeof t.highlightType?` class="token-${me(t.highlightType)}"`:""}>${escapeHtml(e)}</span>`}),ee("linebreak",()=>"<br>"),ee("horizontalrule",()=>"<hr>"),ee("tab",()=>"\t"),ee("upload",t=>{const e=function(t){const e=t.value;return"object"!=typeof e||null===e?void 0:e}(t);if(void 0===e)return"";const n=e.url;if("string"!=typeof n||!isSafeUrl(n))return"";const i="string"==typeof e.mimeType?e.mimeType:"";return i.startsWith("video/")?function(t,e){const n="number"==typeof t.width?` width="${String(t.width)}"`:"",i="number"==typeof t.height?` height="${String(t.height)}"`:"",r="string"==typeof t.mimeType?` type="${escapeHtmlAttribute(t.mimeType)}"`:"";return`<video controls${n}${i}><source src="${escapeHtmlAttribute(e)}"${r}></video>`}(e,n):i.startsWith("audio/")?function(t,e){const n="string"==typeof t.mimeType?` type="${escapeHtmlAttribute(t.mimeType)}"`:"";return`<audio controls><source src="${escapeHtmlAttribute(e)}"${n}></audio>`}(e,n):""===i||i.startsWith("image/")?function(t,e){const n="string"==typeof t.alt?escapeHtml(t.alt):"",i="number"==typeof t.width?` width="${String(t.width)}"`:"",r="number"==typeof t.height?` height="${String(t.height)}"`:"";return`<img src="${escapeHtmlAttribute(e)}" alt="${n}"${i}${r} loading="lazy" decoding="async">`}(e,n):function(t,e){const n="string"==typeof t.filename?escapeHtml(t.filename):escapeHtml(e);return`<a href="${escapeHtmlAttribute(e)}" target="_blank" rel="noopener noreferrer">${n}</a>`}(e,n)}),ee("relationship",t=>{const e="string"==typeof t.relationTo?t.relationTo:"",n=function(t){const e=t.value;return"object"!=typeof e||null===e?void 0:e}(t),i=function(t,e){return void 0===t?""===e?"#":`#${e}`:"string"==typeof t.title&&t.title.length>0?t.title:"string"==typeof t.name&&t.name.length>0?t.name:"string"==typeof t.slug&&t.slug.length>0?t.slug:void 0!==t.id?String(t.id):""===e?"#":`#${e}`}(n,e),r=escapeHtml(i),s=""===e?"":` data-relation-to="${escapeHtml(e)}"`,o=n?.url;return"string"==typeof o&&isSafeUrl(o)?`<a href="${escapeHtmlAttribute(o)}"${s}>${r}</a>`:`<span${s}>${r}</span>`}),ee("block",(t,e)=>{const n=function(t){const e=t.fields;return"object"!=typeof e||null===e?{}:e}(t),i="string"==typeof n.blockType?n.blockType:"",r=be(i);if(""!==i){const t=ye(i)??ye(r);if(t)return t(n,{renderChildren:e.renderChildren})}const s=[];""!==r&&s.push(`data-block-type="${escapeHtml(r)}"`);for(const[t,e]of Object.entries(n)){if("blockType"===t||"id"===t)continue;if(null==e)continue;const n="string"==typeof e||"number"==typeof e||"boolean"==typeof e?String(e):JSON.stringify(e);s.push(`data-block-${be(t)}="${escapeHtml(n)}"`)}return`<div${0===s.length?"":` ${s.join(" ")}`}></div>`});var we={renderChildren:Te,resolveAlignment:re,resolveIndent:se};function Se(t){if("object"!=typeof t||null===t)return!1;if(!("root"in t))return!1;const e=t.root;return"object"==typeof e&&null!==e&&"children"in e&&Array.isArray(e.children)}function Ae(t){return Se(t)?t.root.children.map(Ce).join("\n").trim():""}function Te(t){let e="";for(const n of t)e+=ke(n);return e}function ke(t){const e=(n=t.type,te.get(n));var n;return e?e(t,we):void 0!==t.children?Te(t.children):""}function Ce(t){if("string"==typeof t.text)return t.text;if("linebreak"===t.type)return"\n";if(void 0===t.children)return"";let e="";for(const n of t.children)e+=Ce(n);return e}function $e(){const t=new WeakSet;return{name:"text",render:tt((e,n)=>{const i=e.element,r=function(t){return null==t?"":Se(t)?Ae(t):"string"==typeof t?t:"number"==typeof t||"boolean"==typeof t?String(t):JSON.stringify(t)}(n);if("INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName)return function(t){return null!==t.firstElementChild}(i)&&!i.hasAttribute("data-payload-text")?(function(t,e,n){t.has(e)||(t.add(e),G(`[live-preview] LP0402: Skipping text update for "${n}": <${e.tagName.toLowerCase()}> has structured children. Move data-payload-field to the value element, or add data-payload-text to replace them.`))}(t,i,e.fieldName),!1):void(r.includes("\n")||r.includes("\r")?i.innerHTML=he(r):i.textContent=r);i.value=r})}}function Ne(t){if(null==t)return"";if("string"==typeof t)return t;if("number"==typeof t||"boolean"==typeof t||"bigint"==typeof t)return String(t);try{return JSON.stringify(t)}catch{return""}}var xe={name:"textarea",render(t,e){const n=t.element,i=Se(e)?Ae(e):Ne(e);"INPUT"!==n.tagName&&"TEXTAREA"!==n.tagName?n.innerHTML=he(i):n.value=i}},Me={name:"richText",render:tt((t,e)=>{if(Se(e))t.element.innerHTML=function(t,e={}){if(!Se(t))return"";const n=Te(t.root.children);return!1===e.sanitize||void 0===Xt()?n:sanitizeHtml(n)}(e);else{if("string"!=typeof e)return!1;t.element.innerHTML=sanitizeHtml(e)}})},Pe={name:"html",render(t,e){if(null==e)return void(t.element.textContent="");const n="string"==typeof e?e:Ne(e);t.element.innerHTML=sanitizeHtml(n)}},Re={name:"url",render(t,e,n){const i=t.element,r=Ne(e);if("A"===i.tagName){const s=i,o=t.hrefField,a=void 0===o||0===o.length?e:st(n.allFields,o,n.locale,void 0!==t.locale);return"string"==typeof a&&isSafeUrl(a)&&(s.href=a),void(s.textContent=r)}"INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName?i.textContent=r:i.value=r}},Le={name:"image",render:tt((t,e,n)=>{const i=t.element,r=Oe(e),s=void 0!==t.locale,o=function(t,e,n,i,r,s){if(void 0!==n&&n.length>0){const t=st(i,n,r,s);if("string"==typeof t&&isSafeUrl(t))return t;const e=Oe(t);return void 0!==e?.url&&isSafeUrl(e.url)?e.url:void 0}return void 0!==t?.url&&isSafeUrl(t.url)?t.url:"string"==typeof e&&isSafeUrl(e)?e:void 0}(r,e,t.srcField,n.allFields,n.locale,s);if(void 0===o)return!1;if("IMG"===i.tagName){const e=i;e.src=o;const a=function(t,e,n,i,r){if(void 0!==e&&e.length>0){const t=st(n,e,i,r);return"string"==typeof t?t:void 0}return void 0!==t?.alt?t.alt:void 0}(r,t.altField,n.allFields,n.locale,s);return void(void 0!==a&&(e.alt=a))}i.style.backgroundImage=`url('${function(t){return t.replace(/['"()\\]/g,"\\$&")}(o)}')`})};function Oe(t){if("object"==typeof t&&null!==t)return t}var Ee={name:"upload",render:tt((t,e)=>{const n=t.element,i=function(t){return"object"!=typeof t||null===t?void 0:t}(e);if(void 0===i)return!1;const r=i.url;if("string"!=typeof r||!isSafeUrl(r))return!1;if("IMG"===n.tagName){const t=n;return t.src=r,void(void 0!==i.alt&&(t.alt=i.alt))}if("A"===n.tagName){const t=n;return t.href=r,void(t.textContent=i.filename??r)}const s=void 0!==i.filename?escapeHtml(i.filename):escapeHtml(r);n.innerHTML=`<a href="${escapeHtmlAttribute(r)}">${s}</a>`})},Ie={name:"relationship",render(t,e){const n=t.element,i=function(t){return null==t?[""]:Array.isArray(t)?t.map(Ue):[Ue(t)]}(e),r=i.join(", ");if("A"===n.tagName&&!Array.isArray(e)){const t=n,i=e?.url;return"string"==typeof i&&isSafeUrl(i)&&(t.href=i),void(t.textContent=r)}n.textContent=r}};function Ue(t){if("object"==typeof t&&null!==t){const e=t;return"string"==typeof e.title&&e.title.length>0?e.title:"string"==typeof e.name&&e.name.length>0?e.name:"string"==typeof e.slug&&e.slug.length>0?e.slug:void 0!==e.id?String(e.id):""}return Ne(t)}var Fe={name:"select",render(t,e){const n=t.element,i=je(e);if("SELECT"!==n.tagName){if("INPUT"===n.tagName&&"radio"===n.type){const t=n;return void(t.checked=t.value===i)}n.textContent=i}else n.value=i}};function je(t){return Array.isArray(t)?t.map(t=>je(t)).join(", "):Ne(t)}var De={name:"checkbox",render(t,e){const n=t.element,i=Boolean(e);"INPUT"!==n.tagName||"checkbox"!==n.type?n.hasAttribute("aria-checked")?n.setAttribute("aria-checked",i?"true":"false"):n.textContent=i?"true":"false":n.checked=i}},He=new Map,Ge=new Map;function ze(t,e){const n=t??"";if(null==e)return n;const i=We(e);return"{}"===i?n:`${n}|${i}`}function We(t){if(null===t||"object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t))return`[${t.map(t=>We(t)).join(",")}]`;const e=t,n=Object.keys(e).sort(),i=[];for(const t of n){const n=e[t];void 0!==n&&i.push(`${JSON.stringify(t)}:${We(n)}`)}return`{${i.join(",")}}`}function Ve(t){for(;t.size>64;){const e=t.keys().next().value;if(void 0===e)break;t.delete(e)}}var Be={name:"date",render(t,e,n){const i=t.element;if(null==e||""===e)return void("INPUT"===i.tagName?i.value="":"TIME"===i.tagName?(i.removeAttribute("datetime"),i.textContent=""):i.textContent="");const r="string"==typeof e?e:Ne(e),s=new Date(r),o=!Number.isNaN(s.getTime());if("INPUT"!==i.tagName)return"TIME"===i.tagName?(i.setAttribute("datetime",o?s.toISOString():r),void(i.textContent=o?_e(s,n):r)):void(i.textContent=o?_e(s,n):r);i.value=o?function(t,e){return"date"===t?e.toISOString().slice(0,10):"datetime-local"===t?e.toISOString().slice(0,16):e.toISOString()}(i.type,s):r}};function _e(t,e){const n=e.locale??detectInitialLocale();try{return function(t,e){const n=ze(t,e),i=Ge.get(n);if(void 0!==i)return Ge.delete(n),Ge.set(n,i),i;const r=new Intl.DateTimeFormat(t,e);return Ge.set(n,r),Ve(Ge),r}(n,{dateStyle:"medium",timeStyle:"short"}).format(t)}catch{return t.toISOString()}}var qe={name:"number",render(t,e,n){const i=t.element;if(null==e||""===e)return void("INPUT"===i.tagName?i.value="":i.textContent="");const r="number"==typeof e?e:Number(Ne(e));Number.isNaN(r)?i.textContent=Ne(e):"INPUT"!==i.tagName?i.textContent=function(t,e){const n=e.locale??detectInitialLocale();try{return function(t,e){const n=ze(t,e),i=He.get(n);if(void 0!==i)return He.delete(n),He.set(n,i),i;const r=new Intl.NumberFormat(t,e);return He.set(n,r),Ve(He),r}(n).format(t)}catch{return String(t)}}(r,n):i.value=String(r)}},Je=/\{\{([\s\S]*?)\}\}/g;function Qe(t,e,n,i){const r="object"==typeof e&&null!==e?e:null;return t.replace(Je,(t,s)=>null!==r&&function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(r,s)?escapeHtml(i(Reflect.get(r,s))):null===r&&"value"===s?escapeHtml(i(e)):"index"===s?String(n):t)}var Xe={name:"array",render:tt((t,e)=>{const n=t.element;if(!Array.isArray(e))return!1;const i=t.arrayTemplate;if(void 0!==i&&i.length>0){const t=function(t,e){let n="";for(let i=0;i<e.length;i+=1)n+=Ye(t,e[i],i);return n}(i,e);return void(n.innerHTML=sanitizeHtml(t))}const r=t.arraySeparator??", ";n.textContent=e.map(Ke).join(r)})};function Ye(t,e,n){return Qe(t,e,n,Ne)}function Ke(t){return Ne(t)}var Ze="data-payload-key",tn="data-payload-nested-key",en="data-payload-nested-template";function nn(t){const{template:e,container:n,patches:i,nextItems:r,store:s,forceRender:o=!1}=t,a=rn(n,e,i,r,o,s);return null===a?null:sn(a,s)}function rn(t,e,n,i,r,s){const o=function(t){const e=new Set,n=new Set;for(const i of t)"insert"===i.kind||"update"===i.kind?e.add(i.index):"replace"===i.kind&&(e.add(i.index),n.add(i.index));return{renders:e,replaces:n}}(n),a=function(t,e,n,i,r,s,o){const a=Array.from(t.children),l=hn(a,Ze),u=new Set,c=[];for(let d=0;d<n.length;d+=1){const h=n[d],f=dn(h);let p=void 0===f?a[d]??null:fn(l,f)??null;null!==p&&u.has(p)&&(p=null),null!==p&&u.add(p);const g=i.replaces.has(d),m=r||i.renders.has(d)||null===p?pn(t.ownerDocument,e,h,d):void 0;if(null===m)return null;const v=void 0===m?[]:on(g?null:p,m,h,s,o);if(null===v)return null;c.push([d,p,m??void 0,v])}return c}(t,e,i,o,r,s.get(t),s);return null===a?null:[t,a,i]}function sn(t,e){const[n,i,r]=t,s=new Set;let o=!1;for(const t of i){const[i,r,a,l]=t;let u=r;if(void 0!==a){for(const t of l)null!==t[0]&&(ln(t[0],t[1]),t[1].replaceWith(t[0])),void 0!==t[2]&&sn(t[2],e);null!==r&&(r.replaceWith(a),o=!0),u=a}if(null===u)continue;const c=n.children[i]??null;u!==c&&(n.insertBefore(u,c),o=!0),s.add(u)}for(const t of Array.from(n.children))s.has(t)||(t.remove(),o=!0);const a=function(t,e){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}(n,e);a.clear();for(const t of r)cn(a,t);return o}function on(t,e,n,i,r){const s=hn(null===t?[]:an(t),tn),o=dn(n),a=void 0!==o?i?.get(o):void 0,l=[];for(const t of an(e)){const e=t.getAttribute(tn);if(null===e)continue;const i=fn(s,e)??null,o=t.getAttribute(en),u=o?i:null,c=u?.getAttribute(en)??null;let d;if(o){const i=un(n,e);if(void 0!==i||null!==u){const n=i??[],s=vt(null===u?[]:un(a,e)??[],n),l=null!==u&&c!==o;if((s.length>0||l)&&(d=rn(u??t,o,s,n,l,r)??void 0,void 0===d))return null}}l.push([u,t,d])}return l}function an(t){return Array.from(t.querySelectorAll(`[${tn}]`)).filter(e=>{let n=e.parentElement;for(;null!==n&&n!==t;){if(n.hasAttribute(tn))return!1;n=n.parentElement}return n===t})}function ln(t,e){for(const n of Array.from(t.attributes))e.hasAttribute(n.name)||t.removeAttribute(n.name);for(const n of Array.from(e.attributes))t.getAttribute(n.name)!==n.value&&t.setAttribute(n.name,n.value)}function un(t,e){if("object"!=typeof t||null===t)return;const n=t[e];return Array.isArray(n)?n:void 0}function cn(t,e){const n=dn(e);void 0!==n&&t.set(n,e)}function dn(t){if("object"!=typeof t||null===t)return;const e=t.id;return"string"==typeof e||"number"==typeof e?String(e):void 0}function hn(t,e){const n=new Map;for(let i=t.length-1;i>=0;i-=1){const r=t[i];if(void 0===r)continue;const s=r.getAttribute(e);if(null===s)continue;const o=n.get(s);void 0===o?n.set(s,[r]):o.push(r)}return n}function fn(t,e){return t.get(e)?.pop()}function pn(t,e,n,i){const r=function(t,e,n){return Qe(t,e,n,Ne)}(e,n,i),s=sanitizeHtml(r),o=t.createElement("template");o.innerHTML=s;const a=o.content.firstElementChild;if(!a)return null;const l=dn(n);return void 0!==l&&a.setAttribute(Ze,l),a}function gn(){const t=new WeakMap,e=new WeakSet,n=new WeakMap;return{name:"structural-array",render:tt((i,r)=>{if(!Array.isArray(r))return!1;const s=i.element,o=i.arrayTemplate;if(void 0===o||0===o.length)return function(t,e,n){t.has(e)||(t.add(e),G(`[live-preview] LP0403: Skipping structural update for "${n}": <${e.tagName.toLowerCase()} data-payload-structural> needs data-payload-array-template (for example "<li>{{label}}</li>").`))}(e,s,i.fieldName),!1;const a=t.get(s),l=mn(s),u=vt(a?.values??l.map((t,e)=>null===t?{__payloadDomPosition:e}:{id:t}),r),c=function(t,e,n){return void 0===t||t.template!==e||!function(t,e){return t.length===e.length&&t.every((t,n)=>t===e[n])}(t.domSnapshot,n)}(a,o,l);if(0===u.length&&!c)return t.set(s,{values:r.slice(),template:o,domSnapshot:l}),!1;const d=nn({template:o,container:s,patches:u,nextItems:r,store:n,forceRender:c});return null!==d&&(t.set(s,{values:r.slice(),template:o,domSnapshot:mn(s)}),!!d&&void 0)})}}function mn(t){return Array.from(t.children,t=>t.getAttribute(Ze))}var vn,yn=new Map,bn=[xe,Me,Pe,Re,{...Re,name:"email"},Le,Ee,Ie,Fe,{...Fe,name:"radio"},De,Be,qe,Xe,{...Xe,name:"blocks"}],wn=class{#Ut=new Mt;#Ft;#jt;#Dt;#bt;#at;#Ht=!1;#Gt=!1;#zt=null;constructor(t={}){const e=t.debug??isDevMode();this.#at=e?(...t)=>{z("[live-preview]",...t)}:D,this.#Ft=new It({...void 0!==t.allowedOrigins?{additionalOrigins:t.allowedOrigins}:{},...void 0!==t.disableReferrerDetection?{enableReferrerDetection:!t.disableReferrerDetection}:{},...void 0!==t.disableLocalhostMatching?{enableLocalhostMatching:!t.disableLocalhostMatching}:{}}),this.#Ft.isProductionUnconfigured&&this.#at("no trusted origin could be detected — set allowedOrigins or PAYLOAD_ADMIN_ORIGIN"),this.#jt=new Wt(function(t=[]){const e={};for(const n of t)e[n.name]=n;for(const[t,n]of yn)e[t]=n;return Object.freeze(e)}([$e(),...bn,gn()])),this.#bt=new zt({events:this.#Ut,config:Object.freeze({...t}),registerFieldRenderer:t=>this.#jt.register(t),onTransformError:t=>{this.#Ut.emit("error",{error:t,context:"transform",code:"LP0602"})},log:this.#at}),this.#Dt=new St({...void 0!==t.root?{root:t.root}:{},renderers:this.#jt.renderers,resolveRenderer:t=>this.#jt.resolve(t),transformValue:(t,e,n,i)=>this.#bt.applyTransforms(t,e,n,i),originMatcher:t=>this.#Ft.matches(t),readyTargets:this.#Ft.enumerate(),emitter:this.#Ut,...void 0!==t.serverURL&&""!==t.serverURL?{dataMerge:{serverURL:t.serverURL,...void 0!==t.apiRoute?{apiRoute:t.apiRoute}:{},...void 0!==t.mergeDepth?{depth:t.mergeDepth}:{},...void 0!==t.mergeFetch?{fetchFn:t.mergeFetch}:{}}}:{},...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.heartbeatMs?{heartbeatMs:t.heartbeatMs}:{},...void 0!==t.intersectionRootMargin?{intersectionRootMargin:t.intersectionRootMargin}:{},...void 0!==t.scopeBindingsByOwner?{scopeBindingsByOwner:t.scopeBindingsByOwner}:{},...void 0!==t.disableVisibilityGate?{disableVisibilityGate:t.disableVisibilityGate}:{},...void 0!==t.visibilityGateThreshold?{visibilityGateThreshold:t.visibilityGateThreshold}:{},...void 0!==t.enableA11y?{enableA11y:t.enableA11y}:{},...void 0!==t.a11yLocale?{a11yLocale:t.a11yLocale}:{},onHeartbeatTimeout:()=>{this.#Ft.unlockOrigin()},lockedOrigin:()=>this.#Ft.lockedOrigin,...void 0!==t.validateToken?{validateToken:t.validateToken}:{},log:this.#at}),this.#Ut.on("connect",t=>{this.#Ft.lockOrigin(t.origin)}),!1!==t.autoStart&&this.start()}start(){if(this.#Gt)return!1;if(this.#Ht)return this.#Dt.start(),!0;if(!isInPreviewContext())return!1;const t=this.#Dt.start();return t&&(this.#Ht=!0),t}suspend(){return!(this.#Gt||!this.#Ht)&&this.#Dt.suspend()}resume(){return!(this.#Gt||!this.#Ht)&&this.#Dt.start()}destroy(){if(null!==this.#zt)return this.#zt;let t,e;this.#Gt=!0;const n=new Promise((n,i)=>{t=n,e=i});this.#zt=n;try{this.#Dt.destroy(),this.#bt.destroyAll().finally(()=>{this.#Ut.removeAllListeners()}).then(t,e)}catch(t){this.#Ut.removeAllListeners(),e(t)}return n}async use(t){if(this.#Gt)throw new Error("LivePreviewClient: already destroyed");await this.#bt.register(t)}async unuse(t){await this.#bt.unregister(t)}refreshCache(){this.#Dt.refreshCache()}get events(){return this.#Ut}get plugins(){return this.#bt.list()}get status(){return this.#Dt.status}inspect(){return this.#Dt.inspect()}get updateCount(){return this.#Dt.updateCount}get destroyed(){return this.#Gt}};function initLivePreview(t={}){const e=new wn({...t,autoStart:!1});return e.start()?e:null}function setCspCrypto(t){vn=t??void 0}function generateCspNonce(t=16){if(!Number.isInteger(t)||t<8)throw new RangeError(`generateCspNonce: bytes must be an integer >= 8, got ${String(t)}`);const e=function(){if(vn?.getRandomValues)return vn;const t=globalThis.crypto;return t?.getRandomValues?t:void 0}();if(!e)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(t);return e.getRandomValues(n),function(t){let e="";for(const n of t)e+=String.fromCharCode(n);return("function"==typeof btoa?btoa(e):Buffer.from(t).toString("base64")).replaceAll("+","-").replaceAll("/","_").replaceAll("=","")}(n)}function buildFrameAncestors(t={}){const{self:e=!0,origins:n=[],allowNone:i=!1}=t,r=new Set,s=[];if(i&&!e&&0===n.length)return"'none'";e&&(s.push("'self'"),r.add("'self'"));for(const t of n){const e=t.trim();0===e.length||r.has(e)||(r.add(e),s.push(e))}return s.length>0?s.join(" "):"'none'"}function buildScriptSrcWithNonce(t,e={}){if(0===t.length)throw new RangeError("buildScriptSrcWithNonce: nonce is empty");const{self:n=!0,extra:i=[],strictDynamic:r=!1}=e,s=[];n&&s.push("'self'"),s.push(`'nonce-${t}'`),r&&s.push("'strict-dynamic'");for(const t of i){const e=t.trim();e.length>0&&s.push(e)}return s.join(" ")}var Sn=Object.freeze({NoTrustedOrigin:"LP0101",ReferrerOnlyTrust:"LP0102",OrphanField:"LP0201",UnattributableUpdate:"LP0202",VisibilityGateDeferred:"LP0301",UnsafeAttributeWrite:"LP0401",TextTargetHasChildren:"LP0402",MissingArrayTemplate:"LP0403",MessageRejected:"LP0501",TokenRejected:"LP0502",HandlerThrew:"LP0601",TransformThrew:"LP0602",RendererThrew:"LP0603",StartupFailed:"LP0605",ReadyFailed:"LP0606",AuditRuntimeMissing:"LP0701",AuditNoFrameAncestors:"LP0702",AuditFrameOptionsBlocks:"LP0703",AuditBindingsExposed:"LP0704",AuditGateThresholdExceeded:"LP0705",AuditUnownedBindings:"LP0706",AuditNoBindings:"LP0707",AuditNotAPage:"LP0708"});function bind(t,e){return An(t,e)}function bindByPath(t,e){const n=function(t){const e=[],n=new Proxy({},{get(t,i){if("symbol"!=typeof i)return/^\d+$/.test(i)||e.push(i),n}});try{t(n)}catch{}return e}(t);if(0===n.length)throw new Error("bindByPath: the picker did not read any field — return data.<field> instead of a constant");return An(n.join("."),e)}function An(t,e){if(0===t.length)throw new Error("bind: field name must be a non-empty string");const n={"data-payload-field":t};return void 0!==e?.attribute&&(n["data-payload-attribute"]=e.attribute),void 0!==e?.type&&(n["data-payload-type"]=e.type),!0===e?.richtext&&(n["data-payload-richtext"]=""),!0===e?.html&&(n["data-payload-html"]=""),void 0!==e?.locale&&(n["data-payload-locale"]=e.locale),n}var Tn=Object.freeze({});function createPreviewBindings(t){const{authorized:e}=t,n=void 0!==t.owner&&t.owner.length>0?t.owner:void 0;return Object.freeze({authorized:e,bind:(t,n)=>e?bind(t,n):Tn,bindByPath:(t,n)=>e?bindByPath(t,n):Tn,owner:()=>e&&void 0!==n?{"data-payload-owner":n}:Tn})}for(const[t,e]of[[Mt,"EventEmitter"],[wn,"LivePreviewClient"],[It,"OriginDetector"]])Object.defineProperty(t,"name",{configurable:!0,value:e});var kn=!0;export{kn as CORE_ENTRY,Sn as DIAGNOSTIC_CODES,Mt as EventEmitter,x as LIBRARY_PROTOCOL_VERSION,wn as LivePreviewClient,It as OriginDetector,it as VERSION,bind,bindByPath,buildFrameAncestors,buildScriptSrcWithNonce,createPreviewBindings,detectInitialLocale,escapeHtml,escapeHtmlAttribute,generateCspNonce,hasCapability,initLivePreview,isDevMode,isExternalHttpUrl,isInIframe,isInPopup,isInPreviewContext,isSafeUrl,negotiateProtocol,sanitizeHtml,setCspCrypto,setSanitizerDocument};
1
+ var t="data-payload-field",e="data-payload-type",n="data-payload-attribute",i="data-payload-href",r="data-payload-src",s="data-payload-alt",o="data-payload-array-template",a="data-payload-array-separator",l="data-payload-locale",u="data-payload-richtext",c="data-payload-html",d="data-payload-array",h="data-payload-structural",f="data-payload-owner",p=[t,e,n,i,r,s,o,a,l,u,c,d,h,f,"type"],g=`[${t}]`,m=`[${f}]`,v=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"]),y=class{#t=new Map;#e=new WeakMap;#n;constructor(t={}){this.#n=t.filter??b}buildFromRoot(t){const e=performance.now();this.clear();const n=t.querySelectorAll(g);let i=0;for(const t of n)void 0!==this.add(t)&&(i+=1);return{elementCount:i,fieldCount:this.#t.size,durationMs:performance.now()-e}}add(t){const e=this.#n(t)?this.#i(t):void 0,n=this.#e.get(t);if(void 0!==e)return void 0!==n&&this.#r(n,e)?(this.#e.set(t,e),e):(void 0!==n&&this.#s(t,n),this.#o(e),this.#e.set(t,e),e);void 0!==n&&this.#s(t,n)}remove(t){const e=this.#e.get(t);return!!e&&this.#s(t,e)}#r(t,e){if(t.fieldName!==e.fieldName)return!1;const n=this.#t.get(t.fieldName);if(!n)return!1;const i=n.indexOf(t);return!(i<0||(n[i]=e,0))}#s(t,e){const n=this.#t.get(e.fieldName);if(!n)return this.#e.delete(t),!1;const i=n.indexOf(e);return i<0?(this.#e.delete(t),!1):(n.splice(i,1),0===n.length&&this.#t.delete(e.fieldName),this.#e.delete(t),!0)}get(t){return this.#t.get(t)}getByElement(t){return this.#e.get(t)}get fieldCount(){return this.#t.size}get elementCount(){let t=0;for(const e of this.#t.values())t+=e.length;return t}entries(){return this.#t.entries()}*values(){for(const t of this.#t.values())yield*t}has(t){return this.#e.has(t)}clear(){this.#t.clear(),this.#e=new WeakMap}#o(t){const e=this.#t.get(t.fieldName);e?e.push(t):this.#t.set(t.fieldName,[t])}#i(p){const g=p.getAttribute(t);if(null===g||0===g.length)return;const y=p.getAttribute(e),b=function(t){const n=t.getAttribute(e);if(null!==n&&v.has(n))return n;if(t.hasAttribute(u))return"richText";if(t.hasAttribute(c))return"html";if(t.hasAttribute(h))return"structural-array";if(t.hasAttribute(d))return"array";if("IMG"===t.tagName)return"image";if("A"===t.tagName)return"url";if("TIME"===t.tagName)return"date";if("INPUT"===t.tagName){const e=t.type;if("checkbox"===e)return"checkbox";if("number"===e)return"number";if("date"===e||"datetime-local"===e)return"date"}return"text"}(p),w=p.getAttribute(n),S=p.getAttribute(i),A=p.getAttribute(r),T=p.getAttribute(s),k=p.getAttribute(o),C=p.getAttribute(a),$=p.getAttribute(l),N=function(t){const e=t.closest(m)?.getAttribute(f);return null==e||0===e.length?void 0:e}(p);return{element:p,fieldName:g,fieldType:b,explicitFieldType:null!==y&&v.has(y),...null!==w&&w.length>0?{targetAttribute:w}:{},...null!==S&&S.length>0?{hrefField:S}:{},...null!==A&&A.length>0?{srcField:A}:{},...null!==T&&T.length>0?{altField:T}:{},...null!==k?{arrayTemplate:k}:{},...null!==C?{arraySeparator:C}:{},...null!==$&&$.length>0?{locale:$}:{},...void 0!==N?{owner:N}:{}}}};function b(){return!0}function w(t,e){return void 0===e||""===e?`collection:${t}`:`collection:${t}:${e}`}function S(t){return"string"==typeof t&&t.length>0}function A(t,e){return null!==e&&void 0!==t&&e.includes(t)}function T(t){const e=t.id;return"string"==typeof e&&e.length>0?e:"number"==typeof e&&Number.isFinite(e)?String(e):void 0}var k=class{s;constructor(t,e={}){this.s=[t,e.mutationDebounceMs??100,e.intersectionRootMargin??"200px",new Set,null,null,null,0]}start(t){const e=this.s[7];this.stop();const n=e+1;if(this.s[7]!==n)return;let i=null,r=null;try{i=new MutationObserver(t=>{this.#a(t,n)}),r=new IntersectionObserver(t=>{this.#l(t,n)},{rootMargin:this.s[2],threshold:0}),i.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...p]})}catch(t){throw i?.disconnect(),r?.disconnect(),t}if(this.s[7]!==n)return i.disconnect(),void r.disconnect();this.s[4]=i,this.s[5]=r}observeElement(t){this.s[5]?.observe(t)}unobserveElement(t){this.s[5]?.unobserve(t),this.s[3].delete(t)}markVisible(t,e){e?this.s[3].add(t):this.s[3].delete(t)}isVisible(t){return this.s[3].has(t)}stop(){this.s[7]+=1;const t=this.s[6],e=this.s[4],n=this.s[5];this.s[6]=null,this.s[4]=null,this.s[5]=null,this.s[3].clear(),null!==t&&clearTimeout(t);try{e?.disconnect()}finally{n?.disconnect()}}#a(e,n){if(!this.#u(n))return;if(!function(e){for(const n of e){if("attributes"===n.type&&null!==n.attributeName&&p.includes(n.attributeName)&&(n.attributeName===t||n.attributeName===f||1===n.target.nodeType&&n.target.hasAttribute(t)))return!0;for(const t of n.addedNodes)if(C(t))return!0;for(const t of n.removedNodes)if(C(t))return!0}return!1}(e))return;if(!this.#u(n))return;null!==this.s[6]&&clearTimeout(this.s[6]);const i=setTimeout(()=>{this.#u(n)&&this.s[6]===i&&(this.s[6]=null,this.s[0].onStructuralChange())},this.s[1]);this.s[6]=i}#l(t,e){for(const n of t){if(!this.#u(e))return;const t=n.target;if(n.isIntersecting){if(!this.s[3].has(t)&&(this.s[3].add(t),this.s[0].onVisibilityChange(t,!0),!this.#u(e)))return}else if(this.s[3].has(t)&&(this.s[3].delete(t),this.s[0].onVisibilityChange(t,!1),!this.#u(e)))return}}#u(t){return this.s[7]===t&&null!==this.s[5]}};function C(e){if(1!==e.nodeType)return!1;const n=e;return!!n.hasAttribute(t)||null!==n.querySelector(`[${t}]`)}function $(t){if(!Array.isArray(t))return[];const e=[];for(const n of t){const t=N(n);t&&e.push(t)}return e}function N(t){if("object"!=typeof t||null===t)return;const e=t,n=e.name,i=e.type;if("string"!=typeof n||0===n.length)return;if("string"!=typeof i||0===i.length)return;const r=$(e.fields),s=function(t){if(!Array.isArray(t))return[];const e=[];for(const n of t){if("object"!=typeof n||null===n)continue;const t=n,i=t.slug;if("string"!=typeof i||0===i.length)continue;const r=$(t.fields);e.push({...t,slug:i,fields:r})}return e}(e.blocks),o={...e,name:n,type:i};return r.length>0?o.fields=r:delete o.fields,s.length>0?o.blocks=s:delete o.blocks,o}var x=4,M={basic:1,"schema-json":2,"preview-token":3,"nested-arrays":4,"recursive-diffs":4};function negotiateProtocol(t){const e="number"==typeof t&&Number.isFinite(t)&&t>=1?Math.floor(t):void 0,n=e??1,i=Math.min(4,n),r=new Set;for(const[t,e]of Object.entries(M))i>=e&&r.add(t);return{ours:4,...void 0!==e?{theirs:e}:{theirs:void 0},negotiated:i,capabilities:r}}function hasCapability(t,e){return t.capabilities.has(e)}function P(t){return("object"==typeof t&&null!==t||"function"==typeof t)&&"function"==typeof t.then&&(Promise.resolve(t).catch(()=>{}),!0)}var R=class{s;constructor(t,e){this.s=[t,e,void 0,void 0,0,0,[],0]}attach(t=window){if(void 0!==this.s[3])return;let e=!1;const n=t=>{if(!e||this.s[2]!==n)return;const i=this.s[4];try{this.#c(t,i)}catch{let e="";try{e=t.origin}catch{}this.#d("shape",e,i)}};this.s[4]+=1,this.#h(),this.s[3]=t,this.s[2]=n;try{t.addEventListener("message",n)}catch(e){this.s[2]===n&&(this.s[3]=void 0,this.s[2]=void 0,this.#h());try{t.removeEventListener("message",n)}catch{}throw e}if(this.s[2]===n)e=!0;else try{t.removeEventListener("message",n)}catch{}}detach(t){const e=this.s[3],n=this.s[2];void 0!==e&&void 0!==n&&(this.s[3]=void 0,this.s[2]=void 0,this.#h(),e.removeEventListener("message",n))}advanceGeneration(){return void 0!==this.s[3]&&(this.s[4]+=1,this.#h(),!0)}static sendReady(t,e){const n=t.length>0;if(!n||0===e.length)return;const i={type:"payload-live-preview",ready:n,protocolVersion:4};for(const n of t)for(const t of e)try{n.postMessage(i,t)}catch{}}#c(t,e){if(!this.#u(e))return;const n=t.origin;if(!this.#u(e))return;if(!this.#f(n,e))return void this.#d("origin",n,e);const i=t.data;if(!this.#u(e))return;const r="object"==typeof(s=i)&&null!==s&&"type"in s&&"string"==typeof s.type;var s;if(!this.#u(e))return;if(!r)return void this.#d("shape",n,e);const o=i.type;if(this.#u(e))switch(o){case"payload-live-preview":{const t=function(t){const e=t;return!!((void 0===e.data||null===e.data||E(e.data))&&O(e.fieldSchemaJSON,t=>Array.isArray(t))&&O(e.globalSlug,t=>"string"==typeof t)&&O(e.collectionSlug,t=>"string"==typeof t)&&O(e.locale,t=>"string"==typeof t)&&O(e.ready,t=>"boolean"==typeof t)&&O(e.previewToken,t=>"string"==typeof t)&&O(e.protocolVersion,t=>"number"==typeof t))}(i);if(!this.#u(e))return;if(!t)return void this.#d("shape",n,e);const r=function(t){const e={...t};for(const t of I)null===Reflect.get(e,t)&&Reflect.deleteProperty(e,t);if(!Array.isArray(e.fieldSchemaJSON))return e;let n;try{n=$(e.fieldSchemaJSON)}catch{n=[]}return{...e,fieldSchemaJSON:n}}(i);if(!this.#u(e))return;return void this.#p(r,n,e)}case"payload-document-event":{const t=function(t){const e=t;return!!L(e.action,t=>"updated"===t||"created"===t||"deleted"===t)&&!!L(e.slug,t=>"string"==typeof t)&&!!L(e.id,t=>"string"==typeof t||"number"==typeof t&&Number.isFinite(t))}(i);if(!this.#u(e))return;if(!t)return void this.#d("shape",n,e);let r;try{r=this.s[1].onDocumentEvent}catch{return}if(!this.#u(e))return;return void this.#g(r,i,n)}default:this.#d("type",n,e)}}#p(t,e,n){if(!this.#u(n))return;const i=t.data;if(!this.#u(n))return;const r=E(i);if(!this.#u(n))return;const s=r?{generation:n,revision:this.s[5]+=1}:void 0;let o;try{o=this.s[1].validateToken}catch{return}if(!this.#u(n))return;if(void 0===o)return void this.#m(t,e,n,s);if(!0===t.ready&&void 0===i)return void this.#m(t,e,n,void 0);const a={generation:n,message:t,origin:e,messageRevision:s,settled:!1,approved:!1};let l;this.s[6].push(a);try{l=o(t.previewToken,e)}catch{return void this.#v(a,!1)}"boolean"!=typeof l?Promise.resolve(l).then(t=>{this.#v(a,!0===t)},()=>{this.#v(a,!1)}):this.#v(a,l)}#v(t,e){this.#u(t.generation)&&(t.approved=e,t.settled=!0,this.#y(t.generation))}#y(t){for(;this.#u(t);){const e=this.s[6][this.s[7]];if(void 0===e)return;if(this.#f(e.origin,t)){if(!e.settled)return;this.#b(e)&&(e.approved?this.#m(e.message,e.origin,e.generation,e.messageRevision):this.#d("token",e.origin,e.generation))}else{if(!this.#b(e))continue;this.#d("origin",e.origin,e.generation)}}}#m(t,e,n,i){if(!this.#u(n))return;let r;try{r=this.s[1].onUpdate}catch{return}this.#u(n)&&(void 0===i?this.#g(r,t,e):this.#g(r,t,e,i))}#d(t,e,n){if(!this.#u(n))return;let i;try{i=this.s[1].onInvalid}catch{return}this.#u(n)&&void 0!==i&&this.#g(i,t,e)}#f(t,e){if(!this.#u(e))return!1;try{return!0===this.s[0](t)&&this.#u(e)}catch{return!1}}#g(t,...e){try{P(t(...e))}catch{}}#u(t){return void 0!==this.s[3]&&this.s[4]===t}#b(t){const e=this.s;return e[6][e[7]]===t&&(e[7]+=1,e[7]===e[6].length?(this.#h(),!0):(e[7]>=1024&&2*e[7]>=e[6].length&&(e[6]=e[6].slice(e[7]),e[7]=0),!0))}#h(){this.s[6]=[],this.s[7]=0}};function L(t,e){return void 0===t||e(t)}function O(t,e){return null==t||e(t)}function E(t){if("object"!=typeof t||null===t)return!1;const e=Object.getPrototypeOf(t);return null===e||null===Object.getPrototypeOf(e)}var I=["data","fieldSchemaJSON","globalSlug","collectionSlug","locale","ready","previewToken","protocolVersion"],U=class{s;constructor(t){this.s=[t.timeoutMs??0,t.onTimeout,null,0]}kick(){if(this.s[3]=Date.now(),this.s[0]<=0)return;null!==this.s[2]&&clearTimeout(this.s[2]);const t=setTimeout(()=>{this.s[2]===t&&(this.s[2]=null,this.s[1]())},this.s[0]);this.s[2]=t}stop(){null!==this.s[2]&&(clearTimeout(this.s[2]),this.s[2]=null)}get lastKickAt(){return this.s[3]}get pending(){return null!==this.s[2]}},F=class{s;constructor(t){this.s=["disconnected",t]}get status(){return this.s[0]}markConnected(){return this.transition("connected")}markConnecting(){return this.transition("connecting")}markDisconnected(){return this.transition("disconnected")}transition(t){if(this.s[0]===t)return!1;const e=this.s[0];return this.s[0]=t,this.s[1](t,e),!0}};function j(t){return(...e)=>{try{P(t(...e))}catch{}}}function D(){}var H=j((...t)=>console.error(...t)),G=j((...t)=>console.warn(...t)),z=j((...t)=>console.debug(...t));function W(t){for(const e of t){const t=e.codePointAt(0);if(void 0!==t&&(t<=31||127===t))return!0}return!1}function V(t){if(void 0===t||0===t.length||t.length>128||"."===t||".."===t||t.includes("/")||t.includes("\\")||t.includes("?")||t.includes("#")||W(t))return!1;try{return encodeURIComponent(t),!0}catch{return!1}}var B=class{s;constructor(t){const e=t.serverURL.replace(/\/+$/,""),n=t.apiRoute??"/api";this.s=[e,n.startsWith("/")?n:`/${n}`,t.depth??1,t.fetchFn,void 0===t.log?D:j(t.log),null,0,0]}canMerge(t){try{return t.globalSlug?V(t.globalSlug):!!V(t.collectionSlug)&&function(t){if("number"==typeof t)return Number.isFinite(t);if("string"!=typeof t||0===t.length||t.length>512||"."===t||".."===t||t.includes("/")||t.includes("\\")||W(t))return!1;try{return encodeURIComponent(t),!0}catch{return!1}}(t.data.id)}catch{return!1}}async merge(t){if(this.s[7]>0)return{status:"superseded"};const e=this.s[6]+1;this.s[6]=e;const n=this.s[5];this.s[5]=null;let i=null;try{if(n?.abort(),!_(this.s,e))return{status:"superseded"};if(!this.canMerge(t))return _(this.s,e)?{status:"unavailable"}:{status:"superseded"};if(!_(this.s,e))return{status:"superseded"};const r=this.s[3]??("function"==typeof fetch?fetch:void 0);if(!_(this.s,e))return{status:"superseded"};if(void 0===r)return{status:"unavailable"};if(i=new AbortController,!_(this.s,e))return i.abort(),{status:"superseded"};this.s[5]=i;const s=t.globalSlug?`globals/${encodeURIComponent(t.globalSlug)}`:`${encodeURIComponent(t.collectionSlug??"")}/${encodeURIComponent(String(t.data.id))}`,o=`${this.s[0]}${this.s[1]}/${s}`,a=JSON.stringify({data:t.data,depth:this.s[2],flattenLocales:!1,...void 0!==t.locale?{locale:t.locale}:{}});if(!_(this.s,e))return{status:"superseded"};const l=await r(o,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","X-Payload-HTTP-Method-Override":"GET"},body:a,signal:i.signal});if(!_(this.s,e)||q(i.signal))return{status:"superseded"};const u=l.ok;if(!_(this.s,e))return{status:"superseded"};if(!u){const t=l.status;return _(this.s,e)?(this.s[4]("merge HTTP",t,o),_(this.s,e)?{status:"unavailable"}:{status:"superseded"}):{status:"superseded"}}const c=await l.json();return!_(this.s,e)||q(i.signal)?{status:"superseded"}:null===c||"object"!=typeof c||Array.isArray(c)?(this.s[4]("merge invalid",o),_(this.s,e)?{status:"unavailable"}:{status:"superseded"}):{status:"merged",doc:c}}catch(t){return!_(this.s,e)||null!==i&&q(i.signal)?{status:"superseded"}:(this.s[4]("merge exception",t),_(this.s,e)?{status:"unavailable"}:{status:"superseded"})}finally{null!==i&&_(this.s,e)&&this.s[5]===i&&(this.s[5]=null)}}destroy(){this.s[6]+=1;const t=this.s[5];this.s[5]=null,this.s[7]+=1;try{t?.abort()}finally{this.s[7]-=1}}};function _(t,e){return t[6]===e}function q(t){return t.aborted}var J=new Set(["http:","https:","mailto:","tel:"]),Q=/^\s*(?:javascript|data|vbscript|file|blob|about)\s*:/i,X=/^(?:\.{1,2}\/|[a-zA-Z0-9_-]+\/?)/;function isSafeUrl(t){if("string"!=typeof t||0===t.length)return!1;const e=t.trim();if(0===e.length)return!1;if(Q.test(e))return!1;if(e.startsWith("#")||e.startsWith("?"))return!0;if(e.startsWith("//"))return!0;if(e.startsWith("/"))return!0;try{const t=new URL(e);return J.has(t.protocol)}catch{return X.test(e)}}function isExternalHttpUrl(t){if(!isSafeUrl(t))return!1;const e=t.trim();return/^https?:\/\//i.test(e)||/^\/\/[^/]/.test(e)}var Y=new Set(["style","srcdoc","formaction","form","id","name","is","srcset","imagesrcset"]),K=new Set(["href","src","poster","cite","action","xlink:href","data"]),Z=new WeakSet;function tt(t){return Z.add(t),t}var et=class{s;constructor(t,e){const n=e.scheduleFrame??("function"==typeof requestAnimationFrame?requestAnimationFrame.bind(globalThis):t=>setTimeout(()=>{t(performance.now())},0)),i=e.cancelFrame??("function"==typeof cancelAnimationFrame?cancelAnimationFrame.bind(globalThis):t=>{clearTimeout(t)});this.s=[t,e.debounceMs??50,e.isVisible,e.visibilityGateThreshold??50,e.disableVisibilityGate??!1,e.getCacheSize,e.onFlush,n,i,new Map,new Map,new Set,null,0,null,0,null,!1]}schedule(t){if(void 0!==t.identity){if(this.s[17])return;if(!nt(t.identity,this.s[16]))return}const e=this.s[9],n=e.get(t.target.element);n?(n.value=t.value,n.allFields=t.allFields,n.identity=t.identity,n.data=t.data):e.set(t.target.element,{...t,identity:t.identity,data:t.data}),this.#w()}acceptRevision(t){const e=this.s[16];var n,i;nt(t,e)||null!==e&&(i=e,((n=t).generation!==i.generation?n.generation-i.generation:n.revision-i.revision)<0)||(this.#S(),this.#A(),this.s[16]=t,this.s[17]=!1)}cancelRevision(t){nt(t,this.s[16])&&(this.#S(),this.#A(),this.s[17]=!0)}flushNow(){return this.#S(),this.#T()}notifyVisible(t){const e=this.s[10],n=e.get(t);if(!n)return;if(e.delete(t),!this.#k(n))return;const i=performance.now(),r=this.#C(n)?1:0;this.s[6]?.(this.#$(n,r,0,performance.now()-i,1===r?[n.target.fieldName]:[]))}retarget(t){this.#N(this.s[9],t),this.#N(this.s[10],t);for(const e of this.s[11])this.#N(e,t)}forget(t){this.s[9].delete(t),this.s[10].delete(t);for(const e of this.s[11])e.delete(t)}destroy(){this.#S(),this.#A(),this.s[16]=null,this.s[17]=!1}get pendingCount(){return this.s[9].size}get replayCount(){return this.s[10].size}get gateThreshold(){return this.s[3]}get gateActive(){return!this.s[4]&&this.s[5]()>this.s[3]}#w(){const t=this.s[13]+=1,e=this.s[12];if(this.s[12]=null,null!==e&&clearTimeout(e),this.s[13]!==t)return;const n=setTimeout(()=>{this.s[13]===t&&(this.s[12]=null,this.#x())},this.s[1]);this.s[13]===t&&(this.s[12]=n)}#x(){const t=this.s[15]+=1,e=this.s[14];if(this.s[14]=null,null!==e&&this.s[8](e),this.s[15]!==t)return;let n=!1;const i=this.s[7](()=>{this.s[15]===t&&(n=!0,this.s[14]=null,this.#T())});n||this.s[15]!==t||(this.s[14]=i)}#T(){const t=performance.now(),e=!this.s[4]&&this.s[5]()>this.s[3],n=this.s[9];this.s[9]=new Map;let i=0;const r=[];let s,o=0;this.s[11].add(n);try{for(const t of n.values()){if(!this.#k(t))continue;const n=!e||this.s[2](t.target.element);this.#k(t)&&(s??=t,n?(this.s[10].delete(t.target.element),this.#C(t)&&(i+=1,r.push(t.target.fieldName))):(this.s[10].set(t.target.element,t),o+=1))}}finally{this.s[11].delete(n)}const a=this.#$(s,i,o,performance.now()-t,r);return this.s[6]?.(a),a}#k(t){return void 0===t.identity||!this.s[17]&&nt(t.identity,this.s[16])}#C(t){const e=this.s[0];return!1!==e(t)||(n=e,!Z.has(n));var n}#N(t,e){const n=t.get(e.element);void 0!==n&&(n.target.fieldName===e.fieldName&&n.target.locale===e.locale?n.target=e:t.delete(e.element))}#A(){this.s[9].clear(),this.s[10].clear();for(const t of this.s[11])t.clear()}#$(t,e,n,i,r){return{applied:e,appliedFields:r,deferred:n,durationMs:i,...void 0!==t?.identity?{identity:t.identity}:{},...void 0!==t?.data?{data:t.data}:{}}}#S(){const t=this.s[12],e=this.s[14];this.s[13]+=1,this.s[15]+=1,this.s[12]=null,this.s[14]=null,null!==t&&clearTimeout(t),null!==e&&this.s[8](e)}};function nt(t,e){return null!==e&&t.generation===e.generation&&t.revision===e.revision}var it="1.8.2",rt=new Set(["__proto__","prototype","constructor"]);function st(t,e,n,i=!1){if(i&&void 0!==n){const i=ot(t,`${e}_${n}`);if(void 0!==i)return i}const r=ot(t,e);if(void 0!==r)return r;if(e.includes(".")){let n=t,i=!0;for(const t of e.split(".")){if(rt.has(t)||null===n||"object"!=typeof n){i=!1;break}if(n=ot(n,t),void 0===n){i=!1;break}}if(i)return n}return void 0===n?void 0:ot(t,`${e}_${n}`)}function ot(t,e){if(!rt.has(e)&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}function detectInitialLocale(){const t=function(){if("undefined"==typeof document)return;const t=document.documentElement.getAttribute("lang");return null===t||0===t.length?void 0:t}();if(void 0!==t)return t;const e=function(){if("undefined"==typeof navigator)return;const t=navigator.language;return"string"==typeof t&&t.length>0?t:void 0}();return void 0!==e?e:"en"}var at="payload-live-preview-a11y";function lt(t){return/^de(?:[-_]|$)/i.test(t)}var ut=new WeakMap;function ct(t){null!==t[4]&&(clearTimeout(t[4]),t[4]=null),t[2]?.remove(),t[2]=null}var dt=class{s;constructor(t,e){const n=e??("undefined"==typeof document?null:document),i=n?.documentElement.getAttribute("lang")??"";this.s=[lt(t??(i.length>0?i:detectInitialLocale())),n,null]}mount(){const t=this.s[1];if(null==t?.body)return null;let e=this.s[2];null===e&&(e=function(t){let e=ut.get(t);return e??=[null,!1,null,0,null],ut.set(t,e),e[3]+=1,e}(t),this.s[2]=e);const n=e[0];if(n?.isConnected&&n.ownerDocument===t)return n;if(null!==n){const t=e[1];ct(e),t&&n.remove()}let i=t.getElementById(at);return e[1]=null===i,i||(i=t.createElement("div"),i.id=at,i.setAttribute("role","status"),i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),i.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"),t.body.appendChild(i)),e[0]=i,i}announceConnected(){this.say(this.s[0]?"Vorschau verbunden":"Live preview connected")}announceDisconnected(){this.say(this.s[0]?"Vorschau getrennt":"Live preview disconnected")}announceUpdate(t){t<=0||this.say(this.s[0]?`${String(t)} ${1===t?"Änderung":"Änderungen"} angewendet`:`${String(t)} ${1===t?"change":"changes"} applied`)}detach(){const t=this.s[2],e=this.s[1];if(null===t||null===e)return;if(this.s[2]=null,t[3]-=1,t[3]>0)return;const n=t[0];null!==n&&ct(t),t[1]&&n?.remove(),t[0]=null,ut.delete(e)}say(t){const e=this.mount(),n=this.s[2];if(null===e||null===n)return;let i=n[2];i?.parentNode!==e?(i?.remove(),i=e.ownerDocument.createTextNode(e.hasChildNodes()?` ${t}`:t),n[2]=i,e.appendChild(i)):i.data=null===i.previousSibling?t:` ${t}`,null!==n[4]&&clearTimeout(n[4]);const r=setTimeout(()=>{n[4]===r&&n[0]===e&&ct(n)},1500);n[4]=r}},ht=new Set(["tabs","row","collapsible"]);function ft(t,e=""){const n=new Map;return pt(t,e,n),n}function pt(t,e,n){for(const i of t){if(ht.has(i.type)){i.fields&&pt(i.fields,e,n);continue}if("group"===i.type){const t=""===e?i.name:`${e}.${i.name}`;n.set(t,i),i.fields&&pt(i.fields,t,n);continue}const t=""===e?i.name:`${e}.${i.name}`;if(n.set(t,i),"array"===i.type&&i.fields)pt(i.fields,`${t}.*`,n);else if("blocks"===i.type&&i.blocks)for(const e of i.blocks)pt(e.fields,`${t}.*.${e.slug}`,n)}}function gt(t){if("object"!=typeof t||null===t)return;const e=t.id;return"string"==typeof e||"number"==typeof e?e:void 0}function mt(t){if("object"!=typeof t||null===t)return;const e=t.blockType;return"string"==typeof e?e:void 0}function vt(t,e){return e.every(t=>void 0!==gt(t))?function(t,e){const n=[],i=new Map;for(let e=0;e<t.length;e+=1){const n=gt(t[e]);void 0!==n&&i.set(n,e)}const r=new Set;for(let s=0;s<e.length;s+=1){const o=e[s],a=gt(o);if(void 0===a){n.push({kind:"insert",index:s,value:o});continue}const l=i.get(a);if(void 0===l){n.push({kind:"insert",index:s,value:o});continue}r.add(l);const u=t[l];mt(u)===mt(o)?(l!==s&&n.push({kind:"move",from:l,to:s,value:o}),yt(u,o)||n.push({kind:"update",index:s,value:o})):n.push({kind:"replace",index:s,oldValue:u,value:o})}for(let e=0;e<t.length;e+=1)r.has(e)||n.push({kind:"remove",index:e,value:t[e]});return n}(t,e):function(t,e){const n=[],i=Math.min(t.length,e.length);for(let r=0;r<i;r+=1)yt(t[r],e[r])||n.push({kind:"update",index:r,value:e[r]});if(e.length>t.length)for(let i=t.length;i<e.length;i+=1)n.push({kind:"insert",index:i,value:e[i]});if(t.length>e.length)for(let i=e.length;i<t.length;i+=1)n.push({kind:"remove",index:i,value:t[i]});return n}(t,e)}function yt(t,e){if(Object.is(t,e))return!0;if("object"!=typeof t||"object"!=typeof e||null===t||null===e)return!1;const n=t,i=e,r=Object.keys(n),s=Object.keys(i);if(r.length!==s.length)return!1;for(const t of r)if(!Object.is(n[t],i[t]))return!1;return!0}var bt={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"},wt=[0,500,1e3,2e3],St=class{d;l;constructor(t){const e=t.emitter,n=t.renderers,i=t.resolveRenderer??(t=>n[t]),r=t.transformValue,s=t.root??("undefined"!=typeof document?document:null),o=t.readyTargets,a=t.sendReady??Tt,l=t.onHeartbeatTimeout,u=void 0===t.log?D:j(t.log),c=void 0===t.warn?G:j(t.warn),d=function(t){if(!1===t.enableA11y)return null;const e=void 0===t.root?void 0:9===t.root.nodeType?t.root:t.root.ownerDocument;return new dt(t.a11yLocale,e)}(t),h=void 0!==t.dataMerge?new B({serverURL:t.dataMerge.serverURL,...void 0!==t.dataMerge.apiRoute?{apiRoute:t.dataMerge.apiRoute}:{},...void 0!==t.dataMerge.depth?{depth:t.dataMerge.depth}:{},...void 0!==t.dataMerge.fetchFn?{fetchFn:t.dataMerge.fetchFn}:{},log:(...t)=>{u(...t)}}):null,f=new y,p=new k({onStructuralChange:()=>{this.#M()},onVisibilityChange:(t,e)=>{e&&this.d[3].notifyVisible(t)}},{...void 0!==t.intersectionRootMargin?{intersectionRootMargin:t.intersectionRootMargin}:{}}),g=new et(tt(t=>this.#P(t)),{...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.disableVisibilityGate?{disableVisibilityGate:t.disableVisibilityGate}:{},...void 0!==t.visibilityGateThreshold?{visibilityGateThreshold:t.visibilityGateThreshold}:{},isVisible:t=>p.isVisible(t),getCacheSize:()=>f.elementCount,onFlush:t=>{this.#R(t)}}),m=new R(t.originMatcher,{onUpdate:(t,e,n)=>{this.#L(t,e,n)},onDocumentEvent:()=>{e.emit("documentSave",{timestamp:Date.now()})},onInvalid:(t,n)=>{if("token"===t){const t=new Error(`Preview token rejected (origin: ${n})`);e.emit("error",{error:t,context:"token",code:"LP0502"})}u("LP0501 message rejected:",t,n)},...void 0!==t.validateToken?{validateToken:t.validateToken}:{}}),v=new F(()=>{}),b=new U({...void 0!==t.heartbeatMs?{timeoutMs:t.heartbeatMs}:{},onTimeout:()=>{this.#O()}});this.d=[e,f,p,g,m,v,b,n,i,r,s,o,a,l,u,c,[],d,h,!0===t.scopeBindingsByOwner,t.lockedOrigin??(()=>{})],this.l=[void 0,void 0,void 0,negotiateProtocol(void 0),!1,null,0,null,new Set,!1,!1,0,null,new Set]}start(){if(this.l[4])return!1;this.l[4]=!0;const t=this.d[10];if(At(t)&&"loading"===t.readyState){const e=()=>{if(this.l[4]){this.l[5]=null;try{this.#E()}catch(t){this.#I(),this.#U(t,"startup","LP0605")}}};this.l[5]=e;try{t.addEventListener("DOMContentLoaded",e,{once:!0})}catch(t){throw this.#I(),t}return!0}try{return this.#E(),!0}catch(t){throw this.#I(),t}}#E(){if(!this.l[4])return;const t=At(this.d[10])?this.d[10].body:this.d[10];if(null===t)throw new Error("LivePreviewRuntime: document.body unavailable");if(this.d[2].start(t),this.#F(),this.#j()&&(this.d[4].attach(),this.d[0].emitWhile("init",{timestamp:Date.now()},()=>this.l[4]),this.#j()))for(const t of wt){if(!this.#j())return;if(0===t){if(this.d[12](this.d[11]),!this.#j())return}else{const e=setTimeout(()=>{this.l[4]&&this.#D()},t);this.d[16].push(e)}}}suspend(){return!!this.l[4]&&(this.#H()&&this.d[0].emit("disconnect",{reason:"unload",timestamp:Date.now()}),!0)}destroy(){this.l[4]&&(this.#H()&&this.d[0].emit("disconnect",{reason:"destroy",timestamp:Date.now()}),this.d[17]?.detach(),this.d[0].emit("destroy",{timestamp:Date.now()}))}#H(){this.l[7]=null,this.l[4]=!1;const t=this.l[5];this.l[5]=null,null!==t&&At(this.d[10])&&this.#G(()=>{this.d[10].removeEventListener("DOMContentLoaded",t)});for(const t of this.d[16])this.#G(()=>{clearTimeout(t)});return this.d[16].length=0,this.#G(()=>{this.d[6].stop()}),this.#G(()=>{this.d[4].detach()}),this.#G(()=>{this.d[2].stop()}),this.#G(()=>{this.d[3].destroy()}),this.#G(()=>{this.d[18]?.destroy()}),this.d[1].clear(),this.d[5].markDisconnected()}#I(){this.#H(),this.#G(()=>{this.d[17]?.detach()})}#G(t){try{t()}catch(t){this.d[14]("cleanup failed:",t)}}refreshCache(){this.l[4]&&this.#M()}get status(){return this.d[5].status}get cache(){return this.d[1]}get updateCount(){return this.l[6]}get protocol(){return this.l[3]}inspect(){const t=this.d[1],e=this.d[3],n=this.l[3],i=this.l[7],r=this.l[12],s=[],o=new Set;for(const[e,n]of t.entries()){s.push(e);for(const t of n)void 0!==t.owner&&o.add(t.owner)}return{version:it,started:this.l[4],status:this.d[5].status,origins:{trusted:[...this.d[11]],locked:this.d[20]()},protocol:{ours:n.ours,theirs:n.theirs,negotiated:n.negotiated,capabilities:[...n.capabilities].sort()},revisions:{accepted:this.l[6],superseded:this.l[11],active:null===i?void 0:i.identity.revision},bindings:{elements:t.elementCount,fields:t.fieldCount,fieldNames:s.sort(),absentFields:[...this.l[13]].sort(),orphanFields:[...this.l[8]].sort(),ownerScoped:this.d[19],owners:[...o].sort()},scheduler:{pending:e.pendingCount,deferred:e.replayCount,visibilityGateThreshold:e.gateThreshold,visibilityGateActive:e.gateActive,lastFlush:null===r?void 0:{applied:r.applied,appliedFields:r.appliedFields,deferred:r.deferred,durationMs:r.durationMs}},renderers:Object.keys(this.d[7]).sort()}}#F(){if(!this.l[4])return;const t=this.d[1].buildFromRoot(this.d[10]);if(this.d[14]("cache",t),this.#j()&&(this.d[0].emitWhile("cacheRefresh",t,()=>this.l[4]),this.#j()))for(const t of this.d[1].values()){if(!this.#j())return;this.d[2].observeElement(t.element)}}#M(){if(!this.l[4])return;const t=new Map;for(const e of this.d[1].values())t.set(e.element,e),this.d[2].unobserveElement(e.element);if(this.#F(),this.#j()){for(const e of this.d[1].values()){const n=t.get(e.element);n?.fieldName===e.fieldName?this.d[3].retarget(e):this.d[3].forget(e.element),t.delete(e.element)}for(const e of t.values())this.d[3].forget(e.element)}}#z(t){const e=this.l[3];if(e.theirs===t)return;const n=negotiateProtocol(t);this.l[3]=n,n.negotiated!==e.negotiated&&this.d[14]("protocol","ours=4",`theirs=${t}`,`negotiated=${n.negotiated}`)}#L(t,e,n){if(this.d[6].kick(),void 0===t.data)return void(void 0!==t.protocolVersion&&this.#z(t.protocolVersion));if(void 0===n)return;"string"==typeof t.locale&&(this.l[0]=t.locale),Array.isArray(t.fieldSchemaJSON)&&(this.l[1]=t.fieldSchemaJSON,this.l[2]=ft(t.fieldSchemaJSON));const i={identity:n,message:t,locale:this.l[0],schema:this.l[1],schemaIndex:this.l[2],cancelled:!1};if(null!==this.l[7]&&(this.l[11]+=1),this.l[7]=i,this.d[3].acceptRevision(n),this.l[6]+=1,void 0===t.protocolVersion||(this.#z(t.protocolVersion),this.l[4]&&this.l[7]===i)){if(this.d[5].markConnected()){if(this.d[17]?.announceConnected(),this.d[0].emit("connect",{origin:e,timestamp:Date.now()}),!this.l[4]||this.l[7]!==i)return;if(this.d[14]("connection","disconnected","→","connected"),!this.l[4]||this.l[7]!==i)return}this.#W(i)}}async#W(t){const e=await this.#V(t);if(null===e||!this.l[4]||this.l[7]!==t)return;const{message:n}=t,i={fields:e,...void 0!==t.schema?{schema:t.schema}:{},..."string"==typeof n.globalSlug?{globalSlug:n.globalSlug}:{},..."string"==typeof n.collectionSlug?{collectionSlug:n.collectionSlug}:{},...void 0!==t.locale?{locale:t.locale}:{}};this.d[0].listenerCount("beforeUpdate")>0&&(!await this.d[0].emitWhile("beforeUpdate",{data:i,revision:t.identity.revision,cancel:()=>{t.cancelled=!0,this.d[3].cancelRevision(t.identity)}},()=>!t.cancelled&&this.l[4]&&this.l[7]===t)||t.cancelled||!this.l[4]||this.l[7]!==t)||this.l[4]&&this.l[7]===t&&this.#B(t,i)}async#V(t){const{message:e}=t,n=e.data??{};if(null===this.d[18])return n;const i=await this.d[18].merge({collectionSlug:e.collectionSlug,globalSlug:e.globalSlug,data:n,locale:t.locale});return this.l[4]&&this.l[7]===t?"merged"===i.status?i.doc:"superseded"===i.status?null:n:null}#B(t,e){if(!this.l[4]||this.l[7]!==t)return;const n=()=>this.l[4]&&this.l[7]===t,i=this.#_(t,e.fields);for(const[r,s]of this.d[1].entries()){if(!this.l[4]||this.l[7]!==t)return;for(const o of s){if(!1!==i&&!A(o.owner,i))continue;const s=st(e.fields,r,o.locale??t.locale,void 0!==o.locale);if(void 0===s){this.l[13].add(r);continue}if(!this.l[4]||this.l[7]!==t)return;const a=this.#q(o,s,e.fields,n);if(!this.l[4]||this.l[7]!==t)return;const l={target:o,value:a,allFields:e.fields,identity:t.identity,data:e};if(!this.l[4]||this.l[7]!==t)return;this.d[3].schedule(l)}}this.#J(e.fields,t.locale,i)}#_(t,e){if(!this.d[19])return!1;const{message:n}=t,i=function(t){if(S(t.globalSlug))return[(e=t.globalSlug,`global:${e}`)];var e;if(!S(t.collectionSlug))return null;const n=w(t.collectionSlug);return S(t.documentId)?[n,w(t.collectionSlug,t.documentId)]:[n]}({globalSlug:"string"==typeof n.globalSlug?n.globalSlug:void 0,collectionSlug:"string"==typeof n.collectionSlug?n.collectionSlug:void 0,documentId:T(e)});return null!==i||this.l[9]||(this.l[9]=!0,this.d[15]("[live-preview] LP0202: scopeBindingsByOwner: update names no document; nothing applied")),i}#Q(t){for(const e of this.d[1].values())if(A(e.owner,t))return!0;return!1}#X(t,e){const n=this.d[1].get(t);return void 0!==n&&(!1===e||n.some(t=>A(t.owner,e)))}#J(t,e,n){if(0===this.d[1].fieldCount)return;if(!1!==n&&!this.#Q(n))return;let i;for(const[r,s]of Object.entries(t)){if(this.l[8].has(r))continue;if(Ct.has(r))continue;if(!$t(s))continue;const t=Nt(r,e);if(!(this.#X(r,n)||t!==r&&this.#X(t,n))){if(void 0===i){i=new Set;for(const[t,e]of this.d[1].entries())for(const r of e)(!1===n||A(r.owner,n))&&void 0!==r.locale&&i.add(`${t}_${r.locale}`)}i.has(r)||(this.l[8].add(r),this.d[15](`[live-preview] LP0201: update arrived for field "${r}" but no <… data-payload-field="${t}"> element exists on this page. Render the binding anchor unconditionally in your template so live edits to an initially-empty field have somewhere to land.`))}}}#q(t,e,n,i){if(void 0===this.d[9])return e;try{const r=this.d[9](t.fieldName,e,{element:t.element,allFields:n},i),s=P(r);if(!i())return e;if(s)throw new TypeError(`Transform for "${t.fieldName}" returned a Promise/thenable; transforms must be synchronous`);return r}catch(t){if(!i())return e;const n=t instanceof Error?t:new Error(String(t));return this.d[0].emit("error",{error:n,context:"transform",code:"LP0602"}),e}}#j(){return this.l[4]}#Y(t){0!==t.deferred&&(this.l[10]||(this.l[10]=!0,this.d[15](`[live-preview] LP0301: visibility gate held ${String(t.deferred)} offscreen update(s) until scrolled into view; see visibilityGateThreshold.`)))}#P(t){const e=this.l[7];if(null===e||void 0===t.identity||!kt(e.identity,t.identity)||!this.l[4]||this.l[7]!==e)return!1;const n=void 0!==e.schemaIndex?function(t,e){if(t.has(e))return t.get(e);const n=e.replace(/\.\d+(?=\.|$)/g,".*");return t.has(n)?t.get(n):void 0}(e.schemaIndex,t.target.fieldName):void 0,i=t.value;let r,s=function(t,e){if(t.explicitFieldType)return t.fieldType;if(void 0!==e){const t=function(t){if(Object.prototype.hasOwnProperty.call(bt,t))return bt[t]}(e);if(void 0!==t)return t}return t.fieldType}(t.target,n?.type);"text"===s&&!0!==t.target.explicitFieldType&&function(t){if("object"!=typeof t||null===t)return!1;if(!("root"in t))return!1;const e=t.root;return"object"==typeof e&&null!==e&&Array.isArray(e.children)}(i)&&(s="richText");try{r=this.d[8](s)}catch(t){if(!this.l[4]||this.l[7]!==e)return!1;const n=t instanceof Error?t:new Error(String(t));return this.d[0].emitWhile("error",{error:n,context:"renderer",code:"LP0603"},()=>this.l[4]&&this.l[7]===e),!1}if(!this.l[4]||this.l[7]!==e)return!1;const o=this.d[0].listenerCount("elementUpdate")>0,a=o?"INPUT"===(l=t.target.element).tagName||"TEXTAREA"===l.tagName?l.value:"IMG"===l.tagName?l.src:l.textContent:void 0;var l;if(!this.l[4]||this.l[7]!==e)return!1;const u={allFields:t.allFields,locale:t.target.locale??e.locale,schema:n};try{if(void 0!==t.target.targetAttribute){const e=function(t,e,n){const i=e.toLowerCase().trim();if(0===i.length)return"blocked";if(i.startsWith("on"))return"blocked";if(Y.has(i))return"blocked";if(null==n)return t.removeAttribute(i),"applied";if("string"!=typeof n&&"number"!=typeof n&&"boolean"!=typeof n)return"blocked";const r=String(n);return K.has(i)&&!isSafeUrl(r)?"blocked":(t.setAttribute(i,r),"applied")}(t.target.element,t.target.targetAttribute,i);if("blocked"===e)return this.d[15](`[live-preview] LP0401: refused to write field "${t.target.fieldName}" into attribute "${t.target.targetAttribute}" (unsafe attribute or value)`),!1}else{if(!r)return this.d[14]("no renderer for",s),!1;{const e=function(t,e,n,i){return t.render(e,n,i)}(r,t.target,i,u);if(!1===e&&function(t){return Z.has(t.render)}(r))return!1}}}catch(t){if(!this.l[4]||this.l[7]!==e)return!1;const n=t instanceof Error?t:new Error(String(t));return this.d[0].emitWhile("error",{error:n,context:"renderer",code:"LP0603"},()=>this.l[4]&&this.l[7]===e),!1}return!(!this.l[4]||this.l[7]!==e)&&(o&&this.d[0].emitWhile("elementUpdate",{element:t.target.element,fieldName:t.target.fieldName,previousValue:a,nextValue:i,revision:e.identity.revision},()=>this.l[4]&&this.l[7]===e),this.l[4]&&this.l[7]===e)}#R(t){this.l[12]=t,this.#Y(t);const{identity:e,data:n}=t;if(0===t.applied||void 0===e||void 0===n)return;const i=this.l[7];if(null===i||!this.l[4]||this.l[7]!==i||!kt(i.identity,e))return;const r=()=>this.l[4]&&this.l[7]===i&&kt(i.identity,e);this.d[17]?.announceUpdate(t.applied),r()&&0!==this.d[0].listenerCount("afterUpdate")&&this.d[0].emitWhile("afterUpdate",{data:n,updatedCount:t.applied,durationMs:t.durationMs,revision:e.revision},r)}#O(){if(!this.#j())return;this.d[4].advanceGeneration();const t=this.l[7];this.l[7]=null,null!==t&&this.d[3].cancelRevision(t.identity),this.d[18]?.destroy();const e=this.d[5].markDisconnected();try{this.d[13]?.()}catch(t){this.d[14]("heartbeat:",t)}if(this.#j()){if(e&&this.#K()){if(this.d[17]?.announceDisconnected(),this.d[0].emitWhile("disconnect",{reason:"timeout",timestamp:Date.now()},()=>this.#K()),!this.#j())return;if(this.#K()&&(this.d[14]("connection","connected","→","disconnected"),!this.#j()))return}this.#j()&&this.#D()}}#D(){try{this.d[12](this.d[11])}catch(t){this.#U(t,"ready","LP0606")}}#U(t,e,n){const i=t instanceof Error?t:new Error(String(t));this.d[0].emit("error",{error:i,context:e,code:n})}#K(){return this.l[4]&&"disconnected"===this.d[5].status&&null===this.l[7]}};function At(t){return 9===t.nodeType}function Tt(t){if("undefined"==typeof window)return;const e=[];window.parent!==window&&e.push(window.parent),window.opener instanceof Window&&e.push(window.opener),R.sendReady(e,t)}function kt(t,e){return t.generation===e.generation&&t.revision===e.revision}var Ct=new Set(["id","_id","createdAt","updatedAt","createdBy","updatedBy","_status","globalType","collection","locale","localized"]);function $t(t){return null!=t&&("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"bigint"==typeof t)}function Nt(t,e){if(!e)return t;const n=`_${e}`;return t.endsWith(n)?t.slice(0,-n.length):t}var xt,Mt=class{#Z=new Map;#tt=new Map;on(t,e){return this.#et(this.#Z,t,e)}once(t,e){return this.#et(this.#tt,t,e)}off(t,e){this.#nt(this.#Z,t,e),this.#nt(this.#tt,t,e)}async emit(t,e){await this.#it(t,e)}async emitWhile(t,e,n){return this.#it(t,e,n)}async#it(t,e,n){const i=()=>n?.()??!0;if(!i())return!1;const r=this.#Z.get(t);if(r)for(const n of[...r]){if(!i())return!1;if(await this.#rt(n,e,t),!i())return!1}if(!i())return!1;const s=this.#tt.get(t);if(s&&s.size>0){const n=[...s];this.#tt.delete(t);for(const r of n){if(!i())return!1;if(await this.#rt(r,e,t),!i())return!1}}return i()}listenerCount(t){return(this.#Z.get(t)?.size??0)+(this.#tt.get(t)?.size??0)}removeAllListeners(t){if(void 0===t)return this.#Z.clear(),void this.#tt.clear();this.#Z.delete(t),this.#tt.delete(t)}eventNames(){const t=new Set;for(const e of this.#Z.keys())t.add(e);for(const e of this.#tt.keys())t.add(e);return[...t]}#et(t,e,n){let i=t.get(e);return i||(i=new Set,t.set(e,i)),i.add(n),()=>{this.#nt(t,e,n)}}#nt(t,e,n){const i=t.get(e);void 0!==i&&(i.delete(n),0===i.size&&t.delete(e))}async#rt(t,e,n){try{await t(e)}catch(t){const e="string"==typeof n||"number"==typeof n?String(n):"<event>";H(`[live-preview] LP0601: handler for "${e}" threw:`,t)}}};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 t=function(){if("undefined"==typeof process)return;const t=process.env.NODE_ENV;return"string"==typeof t?t:void 0}();if(void 0!==t)return"production"!==t;const e=function(){const t=Rt();if(!t)return;const e=t.DEV;return"boolean"==typeof e?e:void 0}();if(void 0!==e)return e;if("undefined"!=typeof window){const t=window.location.hostname;if("localhost"===t||"127.0.0.1"===t)return!0}return!1}function Pt(t){if("undefined"!=typeof process){const e=process.env[t];if("string"==typeof e&&e.length>0)return e}const e=Rt();if(e){const n=e[t];if("string"==typeof n&&n.length>0)return n}}function Rt(){if("undefined"==typeof __INLINE_RUNTIME_BUILD__||!__INLINE_RUNTIME_BUILD__){if(void 0!==xt)return xt??void 0;xt=null;try{const t=new Function("try { return import.meta && import.meta.env; } catch (_) { return undefined; }")();if(t&&"object"==typeof t)return xt=t}catch{}}}var Lt=/^https?:\/\/(localhost|127\.0\.0\.1)(?::\d+)?$/i,Ot=/^https?:\/\/[^/?#\s]+$/i,Et=["PAYLOAD_ADMIN_ORIGIN","PUBLIC_PAYLOAD_ADMIN_ORIGIN","NEXT_PUBLIC_PAYLOAD_ADMIN_ORIGIN"],It=class{#st;constructor(t={}){const e=new Set;for(const n of t.additionalOrigins??[]){const t=Ft(n);void 0!==t&&e.add(t)}for(const t of Et){const n=Pt(t);if(void 0!==n)for(const t of n.split(",")){const n=Ft(t);void 0!==n&&e.add(n)}}let n;if(t.enableReferrerDetection??1){const e=t.referrer??("undefined"!=typeof document?document.referrer:"");if(e.length>0)try{const t=new URL(e).origin;t&&"null"!==t&&(n=t)}catch{}}const i=(t.enableLocalhostMatching??!0)&&(t.forceDevMode??isDevMode());this.#st=[e,n,i,void 0!==n,void 0]}matches(t){return 0!==t.length&&"null"!==t&&(void 0!==this.#st[4]?t===this.#st[4]:!!this.#st[0].has(t)||0===this.#st[0].size&&void 0!==this.#st[1]&&t===this.#st[1]||!(!this.#st[2]||!Lt.test(t)))}lockOrigin(t){return!!this.matches(t)&&(this.#st[4]=t,!0)}unlockOrigin(){const t=this.#st[4];return this.#st[4]=void 0,t}get lockedOrigin(){return this.#st[4]}enumerate(){if(void 0!==this.#st[4])return[this.#st[4]];const t=new Set(this.#st[0]);if(0===this.#st[0].size&&void 0!==this.#st[1]&&t.add(this.#st[1]),this.#st[2])for(const e of Ut)t.add(`http://localhost:${String(e)}`),t.add(`http://127.0.0.1:${String(e)}`);return[...t]}get referrerWasAvailable(){return this.#st[3]}get isProductionUnconfigured(){return!(!isInIframe()||this.#st[0].size>0||this.#st[2]||void 0!==this.#st[1])}get isReferrerOnlyTrust(){return!(this.#st[0].size>0||this.#st[2]||void 0===this.#st[1])}},Ut=[3e3,3001,3333,4e3,4321,5e3,5173,5174,8e3,8080,8888,9e3];function Ft(t){const e=t.trim();if(0!==e.length)try{const t=new URL(e);if("http:"!==t.protocol&&"https:"!==t.protocol)return;if(!Ot.test(t.origin))return;return t.origin}catch{return}}var jt,Dt=()=>{},Ht=class{#ot;#at;#lt=new Set;#st="staging";constructor(t,e){this.#ot=t,this.#at=e}assertOpen(){if("closed"===this.#st)throw new Error(`Plugin context for "${this.#ot}" is no longer active`)}get active(){return"active"===this.#st}eligible(){return"closed"!==this.#st}own(t){return this.assertOpen(),this.#ut({acquire:void 0,finalize:void 0,cleanup:t,disposed:!1})}stage(t,e){this.assertOpen();const n={acquire:t,finalize:e,cleanup:void 0,disposed:!1},i=this.#ut(n);if("active"===this.#st)try{this.#ct(n)}catch(t){throw this.#dt(n),t}return i}commit(){if("staging"!==this.#st)throw new Error(`Plugin context for "${this.#ot}" cannot be committed`);this.#st="committing";try{for(const t of this.#lt)this.#ct(t);this.#st="active"}catch(t){throw this.close(),t}}close(){if("closed"!==this.#st){this.#st="closed";for(const t of[...this.#lt].reverse())this.#dt(t);this.#lt.clear()}}#ut(t){return this.#lt.add(t),()=>{this.#dt(t)}}#ct(t){if(t.disposed||void 0!==t.cleanup||void 0===t.acquire)return;const e=t.acquire();t.cleanup=e??Dt}#dt(t){if(t.disposed)return;t.disposed=!0,this.#lt.delete(t);const e=t.cleanup;if(t.cleanup=void 0,void 0!==e)try{P(e())&&this.#at(`plugin "${this.#ot}" cleanup returned a Promise/thenable; cleanups must be synchronous`)}catch(t){this.#at(`plugin "${this.#ot}" cleanup failed:`,t)}try{t.finalize?.()}catch(t){this.#at(`plugin "${this.#ot}" cleanup failed:`,t)}}},Gt=class extends Mt{#ht;#ft;#pt=new Set;constructor(t,e){super(),this.#ht=t,this.#ft=e}on(t,e){return this.#gt("on",t,e)}once(t,e){return this.#gt("once",t,e)}off(t,e){const n=e;for(const e of[...this.#pt])e.event===t&&e.handler===n&&e.dispose()}emit(t,e){return this.#ft.assertOpen(),this.#ht.emit(t,e)}emitWhile(t,e,n){return this.#ft.assertOpen(),this.#ht.emitWhile(t,e,()=>{if(!this.#ft.eligible())return!1;const t=n();return!!this.#ft.eligible()&&t})}listenerCount(t){let e=0;for(const n of this.#pt)n.event===t&&(e+=1);return e}removeAllListeners(t){for(const e of[...this.#pt])void 0!==t&&e.event!==t||e.dispose()}eventNames(){const t=new Set;for(const e of this.#pt)t.add(e.event);return[...t]}#gt(t,e,n){this.#ft.assertOpen();const i=n,r=[...this.#pt].find(n=>n.kind===t&&n.event===e&&n.handler===i);if(void 0!==r)return r.dispose;let s=Dt,o=!0;const a=async e=>{this.#ft.active&&o&&("once"===t&&s(),await n(e))},l={kind:t,event:e,handler:i,dispose:Dt};return s=this.#ft.stage(()=>this.#ht[t](e,a),()=>{o=!1,this.#pt.delete(l)}),l.dispose=s,this.#pt.add(l),s}},zt=class{#ht;#mt;#vt;#yt;#at;#bt=new Map;#wt=new Map;#St=new Map;#At=new Set;#Tt=new Map;#kt=Promise.resolve();#Ct=0;constructor(t){this.#ht=t.events,this.#mt=t.config,this.#vt=t.registerFieldRenderer,this.#at=j(t.log);const e=t.onTransformError;this.#yt=void 0===e?void 0:j((...t)=>{const n=t[0];if(n instanceof Error)try{return e(n)}catch(t){return void this.#at("transform error reporter failed:",t)}})}register(t){return this.#Ct>0?this.#$t(t):this.#Nt(()=>this.#$t(t))}unregister(t){return this.#Ct>0?this.#xt(t):this.#Nt(async()=>{await this.#xt(t)})}destroyAll(){return this.#Ct>0?this.#Mt():this.#Nt(async()=>{await this.#Mt()})}applyTransforms(t,e,n,i){const r=this.#Tt.get(t);if(void 0===r||0===r.length)return e;let s=e;for(const o of[...r]){if(!o.active)continue;const{transform:r}=o;if(!1===i?.())return e;try{s=r(s,{fieldName:t,element:n.element,allFields:n.allFields});const o=P(s);if(!1===i?.())return e;if(o)throw new TypeError(`Transform for "${t}" returned a Promise/thenable; transforms must be synchronous`)}catch(n){if(!1===i?.())return e;const r=n instanceof Error?n:new Error(String(n));return this.#at(`transform for "${t}" failed:`,r),this.#yt?.(r),e}}return s}list(){return[...this.#bt.keys()]}get size(){return this.#bt.size}async#$t(t){if(this.#bt.has(t.name)||this.#wt.has(t.name)||this.#St.has(t.name))return void this.#at(`plugin "${t.name}" already registered`);const e=new Ht(t.name,this.#at),n=this.#Pt(t.name,e),i={scope:e,cancelled:!1};this.#wt.set(t.name,i);try{if(await this.#Rt(()=>t.init(n)),i.cancelled)return;e.commit()}catch(n){return e.close(),void(i.cancelled||this.#at(`plugin "${t.name}" init failed:`,n))}finally{this.#wt.get(t.name)===i&&this.#wt.delete(t.name)}this.#bt.set(t.name,{plugin:t,scope:e}),this.#at(`plugin "${t.name}" registered`)}#Pt(t,e){return{events:new Gt(this.#ht,e),registerFieldRenderer:t=>{e.stage(()=>{const e=this.#vt(t);return"function"==typeof e?e:void 0})},registerTransform:(t,n)=>{const i={transform:n,active:!1};e.stage(()=>{i.active=!0;const e=this.#Tt.get(t);return void 0===e?this.#Tt.set(t,[i]):e.push(i),()=>{i.active=!1;const e=this.#Tt.get(t);if(void 0===e)return;const n=e.indexOf(i);n>=0&&e.splice(n,1),0===e.length&&this.#Tt.delete(t)}})},registerCleanup:t=>{e.own(t)},getConfig:()=>this.#mt,log:(...e)=>{this.#at(`[${t}]`,...e)}}}#xt(t){const e=this.#wt.get(t);if(void 0!==e)return e.cancelled=!0,e.scope.close(),Promise.resolve();const n=this.#St.get(t);if(void 0!==n)return this.#At.has(t)?Promise.resolve():n;const i=this.#bt.get(t);if(void 0===i)return Promise.resolve();this.#bt.delete(t),i.scope.close();const r=Promise.resolve().then(()=>this.#Lt(t,i.plugin));return this.#St.set(t,r),r.then(()=>{this.#St.get(t)===r&&this.#St.delete(t)}),r}async#Lt(t,e){if(void 0!==e.destroy){this.#At.add(t);try{await this.#Rt(()=>e.destroy?.())}catch(e){this.#at(`plugin "${t}" destroy failed:`,e)}finally{this.#At.delete(t)}}}async#Mt(){for(const t of this.#wt.values())t.cancelled=!0,t.scope.close();const t=[...this.#bt.keys()];for(const e of t)await this.#xt(e)}async#Rt(t){this.#Ct+=1;try{await t()}finally{this.#Ct-=1}}#Nt(t){const e=this.#kt.then(t);return this.#kt=e.catch(t=>{this.#at("plugin manager mutation failed:",t)}),e}},Wt=class{#Ot;#Et;#It=new Map;constructor(t){this.#Ot=t,this.#Et={...t}}get renderers(){return this.#Et}resolve(t){return this.#Et[t]}register(t){const e=t.name,n={renderer:t},i=this.#It.get(e);void 0===i?this.#It.set(e,[n]):i.push(n),this.#Et[e]=t;let r=!0;return()=>{if(!r)return;r=!1;const t=this.#It.get(e);if(void 0===t)return;const i=t.indexOf(n);if(i<0)return;const s=i===t.length-1;if(t.splice(i,1),0===t.length&&this.#It.delete(e),!s)return;const o=t.at(-1),a=o?.renderer??this.#Ot[e];void 0===a?Reflect.deleteProperty(this.#Et,e):this.#Et[e]=a}}},Vt=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"]),Bt=new Set(["script","style","iframe","object","embed","link","meta","base","form","input","button","select","textarea","svg","math","template","frame","frameset","noframes","noscript"]),_t=new Set(["id","class","lang","dir","title","role","tabindex"]),qt={a:new Set(["href","target","rel","download","hreflang","type"]),img:new Set(["src","srcset","sizes","alt","width","height","loading","decoding"]),picture:new Set([]),source:new Set(["src","srcset","sizes","type","media"]),audio:new Set(["src","controls","autoplay","loop","muted","preload"]),video:new Set(["src","poster","controls","autoplay","loop","muted","preload","width","height","playsinline"]),time:new Set(["datetime"]),abbr:new Set(["title"]),q:new Set(["cite"]),blockquote:new Set(["cite"]),table:new Set(["summary"]),th:new Set(["colspan","rowspan","scope","headers","abbr"]),td:new Set(["colspan","rowspan","headers"]),col:new Set(["span"]),colgroup:new Set(["span"]),ol:new Set(["start","reversed","type"]),li:new Set(["value"]),code:new Set(["class"]),pre:new Set(["class"])},Jt=new Set(["href","src","cite","poster"]),Qt=class extends Error{name="SanitizerEnvironmentError"};function setSanitizerDocument(t){jt=t??void 0}function sanitizeHtml(t,e){const n=Xt();if(!n)throw new Qt("sanitizeHtml needs a DOM; provide one with setSanitizerDocument() during SSR.");if(""===t)return"";const i=function(t){if(!t){const t=new Map;for(const[e,n]of Object.entries(qt))t.set(e,n);return{allowedTags:Vt,attrByTag:t}}const e=new Set(Vt);for(const n of t.additionalAllowedTags??[])e.add(n);const n=new Map;for(const[t,e]of Object.entries(qt))n.set(t,e);for(const[e,i]of Object.entries(t.additionalAllowedAttributes??{})){const t=n.get(e),r=new Set(t??[]);for(const t of i)r.add(t);n.set(e,r)}return{allowedTags:e,attrByTag:n}}(e),r=n.createElement("template");r.innerHTML=t;const s=r.content;return Yt(s,i),function(t){const e=t.ownerDocument?.createElement("div"),n=t.firstChild;if(void 0!==e&&(e.append(t),e.firstChild===n))return e.innerHTML;throw new Qt("sanitizeHtml could not write what it cleaned with this document; use a browser, jsdom or linkedom document.")}(s)}function Xt(){return jt||("undefined"!=typeof document?document:void 0)}function Yt(t,e){for(const n of Array.from(t.childNodes))1===n.nodeType?Kt(n,e):8===n.nodeType&&n.remove()}function Kt(t,e){const n=t.tagName.toLowerCase();if(Bt.has(n))t.remove();else{if(!e.allowedTags.has(n)){Yt(t,e);const n=t.parentNode;if(n){for(;t.firstChild;)n.insertBefore(t.firstChild,t);t.remove()}return}!function(t,e,n){const i=n.attrByTag.get(e);for(const e of Array.from(t.attributes)){const n=e.name.toLowerCase();n.startsWith("on")?t.removeAttribute(e.name):"style"!==n?_t.has(n)||n.startsWith("aria-")||n.startsWith("data-")||(i?.has(n)?Jt.has(n)&&!isSafeUrl(e.value)?t.removeAttribute(e.name):"srcset"!==n||Zt(e.value)||t.removeAttribute(e.name):t.removeAttribute(e.name)):t.removeAttribute(e.name)}}(t,n,e),"a"===n&&function(t){const e=t.getAttribute("href");null!==e&&isExternalHttpUrl(e)&&(t.setAttribute("rel","noopener noreferrer"),t.hasAttribute("target")||t.setAttribute("target","_blank"))}(t),Yt(t,e)}}function Zt(t){const e=t.split(",");for(const t of e){const e=t.trim();if(0===e.length)continue;const n=e.search(/\s/);if(!isSafeUrl(-1===n?e:e.slice(0,n)))return!1}return!0}var te=new Map;function ee(t,e){te.set(t,e)}var ne={1:"left",2:"center",3:"right",4:"justify"},ie=new Set(["left","center","right","justify","start","end"]);function re(t){const e=t.format;if("string"==typeof e&&ie.has(e))return e;if("number"==typeof e){const t=ne[e];if(void 0!==t)return t}}function se(t){const e=t.indent;return"number"==typeof e&&e>0?e:0}function oe(t){return"rtl"===t.direction?' dir="rtl"':"ltr"===t.direction?' dir="ltr"':""}function ae(t){const e=re(t),n=se(t),i=[];return void 0!==e&&i.push(`text-align:${e}`),n>0&&i.push(`padding-inline-start:${String(40*n)}px`),0===i.length?"":` style="${i.join(";")}"`}var le=Object.freeze({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"}),ue=/[&<>"'/`=]/g;function escapeHtml(t){return""===t?"":t.replace(ue,t=>le[t])}var ce=Object.freeze({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}),de=/[&<>"']/g;function escapeHtmlAttribute(t){return""===t?"":t.replace(de,t=>ce[t])}function he(t){return escapeHtml(t).replace(/\r\n|\r|\n/g,"<br>")}var fe=new Set(["h1","h2","h3","h4","h5","h6"]),pe=(t,e)=>{const n="string"==typeof t.url?t.url:"",i=e.renderChildren(t.children??[]);if(0===n.length||!isSafeUrl(n))return i;const r=isExternalHttpUrl(n)?' target="_blank" rel="noopener noreferrer"':function(t){const e="string"==typeof t.target?t.target:"";if(0===e.length)return"";const n=escapeHtml(e);return"_blank"===e?' target="_blank" rel="noopener noreferrer"':` target="${n}"`}(t),s="string"==typeof t.title?` title="${escapeHtml(t.title)}"`:"";return`<a href="${escapeHtmlAttribute(n)}"${r}${s}>${i}</a>`};function ge(t){if("string"==typeof t.text)return t.text;if(!t.children)return"";let e="";for(const n of t.children)e+=ge(n);return e}function me(t){return t.replace(/[^a-zA-Z0-9_-]/g,"")}var ve=new Map;function ye(t){return ve.get(t)}function be(t){return t.replace(/[^a-zA-Z0-9_-]/g,"-").toLowerCase()}ee("text",t=>{let e=escapeHtml("string"==typeof t.text?t.text:"");const n="number"==typeof t.format?t.format:0;return!!(16&n)&&(e=`<code>${e}</code>`),!!(1&n)&&(e=`<strong>${e}</strong>`),!!(2&n)&&(e=`<em>${e}</em>`),!!(8&n)&&(e=`<u>${e}</u>`),!!(4&n)&&(e=`<s>${e}</s>`),!!(32&n)&&(e=`<sub>${e}</sub>`),!!(64&n)&&(e=`<sup>${e}</sup>`),!!(128&n)&&(e=`<mark>${e}</mark>`),e}),ee("paragraph",(t,e)=>{const n=e.renderChildren(t.children??[]);return`<p${oe(t)}${ae(t)}>${n}</p>`}),ee("heading",(t,e)=>{const n="string"==typeof t.tag?t.tag.toLowerCase():"h2",i=fe.has(n)?n:"h2",r=e.renderChildren(t.children??[]);return`<${i}${oe(t)}${ae(t)}>${r}</${i}>`}),ee("list",(t,e)=>{const n="string"==typeof t.listType?t.listType:"bullet",i="number"===n?"ol":"ul",r="number"===n&&"number"==typeof t.start&&t.start>1?` start="${String(t.start)}"`:"",s="check"===n?' role="list"':"",o=e.renderChildren(t.children??[]);return`<${i}${oe(t)}${ae(t)}${r}${s}>${o}</${i}>`}),ee("listitem",(t,e)=>{const n=e.renderChildren(t.children??[]);if("boolean"==typeof t.checked)return`<li role="checkbox" aria-checked="${t.checked?"true":"false"}"${ae(t)}>${n}</li>`;const i="number"==typeof t.value?` value="${escapeHtml(String(t.value))}"`:"";return`<li${oe(t)}${ae(t)}${i}>${n}</li>`}),ee("link",pe),ee("autolink",pe),ee("quote",(t,e)=>{const n=e.renderChildren(t.children??[]);return`<blockquote${oe(t)}${ae(t)}>${n}</blockquote>`}),ee("code",t=>{const e=me("string"==typeof t.language?t.language:"");return`<pre><code${""===e?"":` class="language-${e}"`}>${escapeHtml(ge(t))}</code></pre>`}),ee("code-highlight",t=>{const e="string"==typeof t.text?t.text:"";return`<span${"string"==typeof t.highlightType?` class="token-${me(t.highlightType)}"`:""}>${escapeHtml(e)}</span>`}),ee("linebreak",()=>"<br>"),ee("horizontalrule",()=>"<hr>"),ee("tab",()=>"\t"),ee("upload",t=>{const e=function(t){const e=t.value;return"object"!=typeof e||null===e?void 0:e}(t);if(void 0===e)return"";const n=e.url;if("string"!=typeof n||!isSafeUrl(n))return"";const i="string"==typeof e.mimeType?e.mimeType:"";return i.startsWith("video/")?function(t,e){const n="number"==typeof t.width?` width="${String(t.width)}"`:"",i="number"==typeof t.height?` height="${String(t.height)}"`:"",r="string"==typeof t.mimeType?` type="${escapeHtmlAttribute(t.mimeType)}"`:"";return`<video controls${n}${i}><source src="${escapeHtmlAttribute(e)}"${r}></video>`}(e,n):i.startsWith("audio/")?function(t,e){const n="string"==typeof t.mimeType?` type="${escapeHtmlAttribute(t.mimeType)}"`:"";return`<audio controls><source src="${escapeHtmlAttribute(e)}"${n}></audio>`}(e,n):""===i||i.startsWith("image/")?function(t,e){const n="string"==typeof t.alt?escapeHtml(t.alt):"",i="number"==typeof t.width?` width="${String(t.width)}"`:"",r="number"==typeof t.height?` height="${String(t.height)}"`:"";return`<img src="${escapeHtmlAttribute(e)}" alt="${n}"${i}${r} loading="lazy" decoding="async">`}(e,n):function(t,e){const n="string"==typeof t.filename?escapeHtml(t.filename):escapeHtml(e);return`<a href="${escapeHtmlAttribute(e)}" target="_blank" rel="noopener noreferrer">${n}</a>`}(e,n)}),ee("relationship",t=>{const e="string"==typeof t.relationTo?t.relationTo:"",n=function(t){const e=t.value;return"object"!=typeof e||null===e?void 0:e}(t),i=function(t,e){return void 0===t?""===e?"#":`#${e}`:"string"==typeof t.title&&t.title.length>0?t.title:"string"==typeof t.name&&t.name.length>0?t.name:"string"==typeof t.slug&&t.slug.length>0?t.slug:void 0!==t.id?String(t.id):""===e?"#":`#${e}`}(n,e),r=escapeHtml(i),s=""===e?"":` data-relation-to="${escapeHtml(e)}"`,o=n?.url;return"string"==typeof o&&isSafeUrl(o)?`<a href="${escapeHtmlAttribute(o)}"${s}>${r}</a>`:`<span${s}>${r}</span>`}),ee("block",(t,e)=>{const n=function(t){const e=t.fields;return"object"!=typeof e||null===e?{}:e}(t),i="string"==typeof n.blockType?n.blockType:"",r=be(i);if(""!==i){const t=ye(i)??ye(r);if(t)return t(n,{renderChildren:e.renderChildren})}const s=[];""!==r&&s.push(`data-block-type="${escapeHtml(r)}"`);for(const[t,e]of Object.entries(n)){if("blockType"===t||"id"===t)continue;if(null==e)continue;const n="string"==typeof e||"number"==typeof e||"boolean"==typeof e?String(e):JSON.stringify(e);s.push(`data-block-${be(t)}="${escapeHtml(n)}"`)}return`<div${0===s.length?"":` ${s.join(" ")}`}></div>`});var we={renderChildren:Te,resolveAlignment:re,resolveIndent:se};function Se(t){if("object"!=typeof t||null===t)return!1;if(!("root"in t))return!1;const e=t.root;return"object"==typeof e&&null!==e&&"children"in e&&Array.isArray(e.children)}function Ae(t){return Se(t)?t.root.children.map(Ce).join("\n").trim():""}function Te(t){let e="";for(const n of t)e+=ke(n);return e}function ke(t){const e=(n=t.type,te.get(n));var n;return e?e(t,we):void 0!==t.children?Te(t.children):""}function Ce(t){if("string"==typeof t.text)return t.text;if("linebreak"===t.type)return"\n";if(void 0===t.children)return"";let e="";for(const n of t.children)e+=Ce(n);return e}function $e(){const t=new WeakSet;return{name:"text",render:tt((e,n)=>{const i=e.element,r=function(t){return null==t?"":Se(t)?Ae(t):"string"==typeof t?t:"number"==typeof t||"boolean"==typeof t?String(t):JSON.stringify(t)}(n);if("INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName)return function(t){return null!==t.querySelector(":scope > :not(br)")}(i)&&!i.hasAttribute("data-payload-text")?(function(t,e,n){t.has(e)||(t.add(e),G(`[live-preview] LP0402: Skipping text update for "${n}": <${e.tagName.toLowerCase()}> has structured children. Move data-payload-field to the value element, or add data-payload-text to replace them.`))}(t,i,e.fieldName),!1):void(r.includes("\n")||r.includes("\r")?i.innerHTML=he(r):i.textContent=r);i.value=r})}}function Ne(t){if(null==t)return"";if("string"==typeof t)return t;if("number"==typeof t||"boolean"==typeof t||"bigint"==typeof t)return String(t);try{return JSON.stringify(t)}catch{return""}}var xe={name:"textarea",render(t,e){const n=t.element,i=Se(e)?Ae(e):Ne(e);"INPUT"!==n.tagName&&"TEXTAREA"!==n.tagName?n.innerHTML=he(i):n.value=i}},Me={name:"richText",render:tt((t,e)=>{if(Se(e))t.element.innerHTML=function(t,e={}){if(!Se(t))return"";const n=Te(t.root.children);return!1===e.sanitize||void 0===Xt()?n:sanitizeHtml(n)}(e);else{if("string"!=typeof e)return!1;t.element.innerHTML=sanitizeHtml(e)}})},Pe={name:"html",render(t,e){if(null==e)return void(t.element.textContent="");const n="string"==typeof e?e:Ne(e);t.element.innerHTML=sanitizeHtml(n)}},Re={name:"url",render(t,e,n){const i=t.element,r=Ne(e);if("A"===i.tagName){const s=i,o=t.hrefField,a=void 0===o||0===o.length?e:st(n.allFields,o,n.locale,void 0!==t.locale);return"string"==typeof a&&isSafeUrl(a)&&(s.href=a),void(s.textContent=r)}"INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName?i.textContent=r:i.value=r}},Le={name:"image",render:tt((t,e,n)=>{const i=t.element,r=Oe(e),s=void 0!==t.locale,o=function(t,e,n,i,r,s){if(void 0!==n&&n.length>0){const t=st(i,n,r,s);if("string"==typeof t&&isSafeUrl(t))return t;const e=Oe(t);return void 0!==e?.url&&isSafeUrl(e.url)?e.url:void 0}return void 0!==t?.url&&isSafeUrl(t.url)?t.url:"string"==typeof e&&isSafeUrl(e)?e:void 0}(r,e,t.srcField,n.allFields,n.locale,s);if(void 0===o)return!1;if("IMG"===i.tagName){const e=i;e.src=o;const a=function(t,e,n,i,r){if(void 0!==e&&e.length>0){const t=st(n,e,i,r);return"string"==typeof t?t:void 0}return void 0!==t?.alt?t.alt:void 0}(r,t.altField,n.allFields,n.locale,s);return void(void 0!==a&&(e.alt=a))}i.style.backgroundImage=`url('${function(t){return t.replace(/['"()\\]/g,"\\$&")}(o)}')`})};function Oe(t){if("object"==typeof t&&null!==t)return t}var Ee={name:"upload",render:tt((t,e)=>{const n=t.element,i=function(t){return"object"!=typeof t||null===t?void 0:t}(e);if(void 0===i)return!1;const r=i.url;if("string"!=typeof r||!isSafeUrl(r))return!1;if("IMG"===n.tagName){const t=n;return t.src=r,void(void 0!==i.alt&&(t.alt=i.alt))}if("A"===n.tagName){const t=n;return t.href=r,void(t.textContent=i.filename??r)}const s=void 0!==i.filename?escapeHtml(i.filename):escapeHtml(r);n.innerHTML=`<a href="${escapeHtmlAttribute(r)}">${s}</a>`})},Ie={name:"relationship",render(t,e){const n=t.element,i=function(t){return null==t?[""]:Array.isArray(t)?t.map(Ue):[Ue(t)]}(e),r=i.join(", ");if("A"===n.tagName&&!Array.isArray(e)){const t=n,i=e?.url;return"string"==typeof i&&isSafeUrl(i)&&(t.href=i),void(t.textContent=r)}n.textContent=r}};function Ue(t){if("object"==typeof t&&null!==t){const e=t;return"string"==typeof e.title&&e.title.length>0?e.title:"string"==typeof e.name&&e.name.length>0?e.name:"string"==typeof e.slug&&e.slug.length>0?e.slug:void 0!==e.id?String(e.id):""}return Ne(t)}var Fe={name:"select",render(t,e){const n=t.element,i=je(e);if("SELECT"!==n.tagName){if("INPUT"===n.tagName&&"radio"===n.type){const t=n;return void(t.checked=t.value===i)}n.textContent=i}else n.value=i}};function je(t){return Array.isArray(t)?t.map(t=>je(t)).join(", "):Ne(t)}var De={name:"checkbox",render(t,e){const n=t.element,i=Boolean(e);"INPUT"!==n.tagName||"checkbox"!==n.type?n.hasAttribute("aria-checked")?n.setAttribute("aria-checked",i?"true":"false"):n.textContent=i?"true":"false":n.checked=i}},He=new Map,Ge=new Map;function ze(t,e){const n=t??"";if(null==e)return n;const i=We(e);return"{}"===i?n:`${n}|${i}`}function We(t){if(null===t||"object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t))return`[${t.map(t=>We(t)).join(",")}]`;const e=t,n=Object.keys(e).sort(),i=[];for(const t of n){const n=e[t];void 0!==n&&i.push(`${JSON.stringify(t)}:${We(n)}`)}return`{${i.join(",")}}`}function Ve(t){for(;t.size>64;){const e=t.keys().next().value;if(void 0===e)break;t.delete(e)}}var Be={name:"date",render(t,e,n){const i=t.element;if(null==e||""===e)return void("INPUT"===i.tagName?i.value="":"TIME"===i.tagName?(i.removeAttribute("datetime"),i.textContent=""):i.textContent="");const r="string"==typeof e?e:Ne(e),s=new Date(r),o=!Number.isNaN(s.getTime());if("INPUT"!==i.tagName)return"TIME"===i.tagName?(i.setAttribute("datetime",o?s.toISOString():r),void(i.textContent=o?_e(s,n):r)):void(i.textContent=o?_e(s,n):r);i.value=o?function(t,e){return"date"===t?e.toISOString().slice(0,10):"datetime-local"===t?e.toISOString().slice(0,16):e.toISOString()}(i.type,s):r}};function _e(t,e){const n=e.locale??detectInitialLocale();try{return function(t,e){const n=ze(t,e),i=Ge.get(n);if(void 0!==i)return Ge.delete(n),Ge.set(n,i),i;const r=new Intl.DateTimeFormat(t,e);return Ge.set(n,r),Ve(Ge),r}(n,{dateStyle:"medium",timeStyle:"short"}).format(t)}catch{return t.toISOString()}}var qe={name:"number",render(t,e,n){const i=t.element;if(null==e||""===e)return void("INPUT"===i.tagName?i.value="":i.textContent="");const r="number"==typeof e?e:Number(Ne(e));Number.isNaN(r)?i.textContent=Ne(e):"INPUT"!==i.tagName?i.textContent=function(t,e){const n=e.locale??detectInitialLocale();try{return function(t,e){const n=ze(t,e),i=He.get(n);if(void 0!==i)return He.delete(n),He.set(n,i),i;const r=new Intl.NumberFormat(t,e);return He.set(n,r),Ve(He),r}(n).format(t)}catch{return String(t)}}(r,n):i.value=String(r)}},Je=/\{\{([\s\S]*?)\}\}/g;function Qe(t,e,n,i){const r="object"==typeof e&&null!==e?e:null;return t.replace(Je,(t,s)=>null!==r&&function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(r,s)?escapeHtml(i(Reflect.get(r,s))):null===r&&"value"===s?escapeHtml(i(e)):"index"===s?String(n):t)}var Xe={name:"array",render:tt((t,e)=>{const n=t.element;if(!Array.isArray(e))return!1;const i=t.arrayTemplate;if(void 0!==i&&i.length>0){const t=function(t,e){let n="";for(let i=0;i<e.length;i+=1)n+=Ye(t,e[i],i);return n}(i,e);return void(n.innerHTML=sanitizeHtml(t))}const r=t.arraySeparator??", ";n.textContent=e.map(Ke).join(r)})};function Ye(t,e,n){return Qe(t,e,n,Ne)}function Ke(t){return Ne(t)}var Ze="data-payload-key",tn="data-payload-nested-key",en="data-payload-nested-template";function nn(t){const{template:e,container:n,patches:i,nextItems:r,store:s,forceRender:o=!1}=t,a=rn(n,e,i,r,o,s);return null===a?null:sn(a,s)}function rn(t,e,n,i,r,s){const o=function(t){const e=new Set,n=new Set;for(const i of t)"insert"===i.kind||"update"===i.kind?e.add(i.index):"replace"===i.kind&&(e.add(i.index),n.add(i.index));return{renders:e,replaces:n}}(n),a=function(t,e,n,i,r,s,o){const a=Array.from(t.children),l=hn(a,Ze),u=new Set,c=[];for(let d=0;d<n.length;d+=1){const h=n[d],f=dn(h);let p=void 0===f?a[d]??null:fn(l,f)??null;null!==p&&u.has(p)&&(p=null),null!==p&&u.add(p);const g=i.replaces.has(d),m=r||i.renders.has(d)||null===p?pn(t.ownerDocument,e,h,d):void 0;if(null===m)return null;const v=void 0===m?[]:on(g?null:p,m,h,s,o);if(null===v)return null;c.push([d,p,m??void 0,v])}return c}(t,e,i,o,r,s.get(t),s);return null===a?null:[t,a,i]}function sn(t,e){const[n,i,r]=t,s=new Set;let o=!1;for(const t of i){const[i,r,a,l]=t;let u=r;if(void 0!==a){for(const t of l)null!==t[0]&&(ln(t[0],t[1]),t[1].replaceWith(t[0])),void 0!==t[2]&&sn(t[2],e);null!==r&&(r.replaceWith(a),o=!0),u=a}if(null===u)continue;const c=n.children[i]??null;u!==c&&(n.insertBefore(u,c),o=!0),s.add(u)}for(const t of Array.from(n.children))s.has(t)||(t.remove(),o=!0);const a=function(t,e){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}(n,e);a.clear();for(const t of r)cn(a,t);return o}function on(t,e,n,i,r){const s=hn(null===t?[]:an(t),tn),o=dn(n),a=void 0!==o?i?.get(o):void 0,l=[];for(const t of an(e)){const e=t.getAttribute(tn);if(null===e)continue;const i=fn(s,e)??null,o=t.getAttribute(en),u=o?i:null,c=u?.getAttribute(en)??null;let d;if(o){const i=un(n,e);if(void 0!==i||null!==u){const n=i??[],s=vt(null===u?[]:un(a,e)??[],n),l=null!==u&&c!==o;if((s.length>0||l)&&(d=rn(u??t,o,s,n,l,r)??void 0,void 0===d))return null}}l.push([u,t,d])}return l}function an(t){return Array.from(t.querySelectorAll(`[${tn}]`)).filter(e=>{let n=e.parentElement;for(;null!==n&&n!==t;){if(n.hasAttribute(tn))return!1;n=n.parentElement}return n===t})}function ln(t,e){for(const n of Array.from(t.attributes))e.hasAttribute(n.name)||t.removeAttribute(n.name);for(const n of Array.from(e.attributes))t.getAttribute(n.name)!==n.value&&t.setAttribute(n.name,n.value)}function un(t,e){if("object"!=typeof t||null===t)return;const n=t[e];return Array.isArray(n)?n:void 0}function cn(t,e){const n=dn(e);void 0!==n&&t.set(n,e)}function dn(t){if("object"!=typeof t||null===t)return;const e=t.id;return"string"==typeof e||"number"==typeof e?String(e):void 0}function hn(t,e){const n=new Map;for(let i=t.length-1;i>=0;i-=1){const r=t[i];if(void 0===r)continue;const s=r.getAttribute(e);if(null===s)continue;const o=n.get(s);void 0===o?n.set(s,[r]):o.push(r)}return n}function fn(t,e){return t.get(e)?.pop()}function pn(t,e,n,i){const r=function(t,e,n){return Qe(t,e,n,Ne)}(e,n,i),s=sanitizeHtml(r),o=t.createElement("template");o.innerHTML=s;const a=o.content.firstElementChild;if(!a)return null;const l=dn(n);return void 0!==l&&a.setAttribute(Ze,l),a}function gn(){const t=new WeakMap,e=new WeakSet,n=new WeakMap;return{name:"structural-array",render:tt((i,r)=>{if(!Array.isArray(r))return!1;const s=i.element,o=i.arrayTemplate;if(void 0===o||0===o.length)return function(t,e,n){t.has(e)||(t.add(e),G(`[live-preview] LP0403: Skipping structural update for "${n}": <${e.tagName.toLowerCase()} data-payload-structural> needs data-payload-array-template (for example "<li>{{label}}</li>").`))}(e,s,i.fieldName),!1;const a=t.get(s),l=mn(s),u=vt(a?.values??l.map((t,e)=>null===t?{__payloadDomPosition:e}:{id:t}),r),c=function(t,e,n){return void 0===t||t.template!==e||!function(t,e){return t.length===e.length&&t.every((t,n)=>t===e[n])}(t.domSnapshot,n)}(a,o,l);if(0===u.length&&!c)return t.set(s,{values:r.slice(),template:o,domSnapshot:l}),!1;const d=nn({template:o,container:s,patches:u,nextItems:r,store:n,forceRender:c});return null!==d&&(t.set(s,{values:r.slice(),template:o,domSnapshot:mn(s)}),!!d&&void 0)})}}function mn(t){return Array.from(t.children,t=>t.getAttribute(Ze))}var vn,yn=new Map,bn=[xe,Me,Pe,Re,{...Re,name:"email"},Le,Ee,Ie,Fe,{...Fe,name:"radio"},De,Be,qe,Xe,{...Xe,name:"blocks"}],wn=class{#Ut=new Mt;#Ft;#jt;#Dt;#bt;#at;#Ht=!1;#Gt=!1;#zt=null;constructor(t={}){const e=t.debug??isDevMode();this.#at=e?(...t)=>{z("[live-preview]",...t)}:D,this.#Ft=new It({...void 0!==t.allowedOrigins?{additionalOrigins:t.allowedOrigins}:{},...void 0!==t.disableReferrerDetection?{enableReferrerDetection:!t.disableReferrerDetection}:{},...void 0!==t.disableLocalhostMatching?{enableLocalhostMatching:!t.disableLocalhostMatching}:{}}),this.#Ft.isProductionUnconfigured&&this.#at("no trusted origin could be detected — set allowedOrigins or PAYLOAD_ADMIN_ORIGIN"),this.#jt=new Wt(function(t=[]){const e={};for(const n of t)e[n.name]=n;for(const[t,n]of yn)e[t]=n;return Object.freeze(e)}([$e(),...bn,gn()])),this.#bt=new zt({events:this.#Ut,config:Object.freeze({...t}),registerFieldRenderer:t=>this.#jt.register(t),onTransformError:t=>{this.#Ut.emit("error",{error:t,context:"transform",code:"LP0602"})},log:this.#at}),this.#Dt=new St({...void 0!==t.root?{root:t.root}:{},renderers:this.#jt.renderers,resolveRenderer:t=>this.#jt.resolve(t),transformValue:(t,e,n,i)=>this.#bt.applyTransforms(t,e,n,i),originMatcher:t=>this.#Ft.matches(t),readyTargets:this.#Ft.enumerate(),emitter:this.#Ut,...void 0!==t.serverURL&&""!==t.serverURL?{dataMerge:{serverURL:t.serverURL,...void 0!==t.apiRoute?{apiRoute:t.apiRoute}:{},...void 0!==t.mergeDepth?{depth:t.mergeDepth}:{},...void 0!==t.mergeFetch?{fetchFn:t.mergeFetch}:{}}}:{},...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.heartbeatMs?{heartbeatMs:t.heartbeatMs}:{},...void 0!==t.intersectionRootMargin?{intersectionRootMargin:t.intersectionRootMargin}:{},...void 0!==t.scopeBindingsByOwner?{scopeBindingsByOwner:t.scopeBindingsByOwner}:{},...void 0!==t.disableVisibilityGate?{disableVisibilityGate:t.disableVisibilityGate}:{},...void 0!==t.visibilityGateThreshold?{visibilityGateThreshold:t.visibilityGateThreshold}:{},...void 0!==t.enableA11y?{enableA11y:t.enableA11y}:{},...void 0!==t.a11yLocale?{a11yLocale:t.a11yLocale}:{},onHeartbeatTimeout:()=>{this.#Ft.unlockOrigin()},lockedOrigin:()=>this.#Ft.lockedOrigin,...void 0!==t.validateToken?{validateToken:t.validateToken}:{},log:this.#at}),this.#Ut.on("connect",t=>{this.#Ft.lockOrigin(t.origin)}),!1!==t.autoStart&&this.start()}start(){if(this.#Gt)return!1;if(this.#Ht)return this.#Dt.start(),!0;if(!isInPreviewContext())return!1;const t=this.#Dt.start();return t&&(this.#Ht=!0),t}suspend(){return!(this.#Gt||!this.#Ht)&&this.#Dt.suspend()}resume(){return!(this.#Gt||!this.#Ht)&&this.#Dt.start()}destroy(){if(null!==this.#zt)return this.#zt;let t,e;this.#Gt=!0;const n=new Promise((n,i)=>{t=n,e=i});this.#zt=n;try{this.#Dt.destroy(),this.#bt.destroyAll().finally(()=>{this.#Ut.removeAllListeners()}).then(t,e)}catch(t){this.#Ut.removeAllListeners(),e(t)}return n}async use(t){if(this.#Gt)throw new Error("LivePreviewClient: already destroyed");await this.#bt.register(t)}async unuse(t){await this.#bt.unregister(t)}refreshCache(){this.#Dt.refreshCache()}get events(){return this.#Ut}get plugins(){return this.#bt.list()}get status(){return this.#Dt.status}inspect(){return this.#Dt.inspect()}get updateCount(){return this.#Dt.updateCount}get destroyed(){return this.#Gt}};function initLivePreview(t={}){const e=new wn({...t,autoStart:!1});return e.start()?e:null}function setCspCrypto(t){vn=t??void 0}function generateCspNonce(t=16){if(!Number.isInteger(t)||t<8)throw new RangeError(`generateCspNonce: bytes must be an integer >= 8, got ${String(t)}`);const e=function(){if(vn?.getRandomValues)return vn;const t=globalThis.crypto;return t?.getRandomValues?t:void 0}();if(!e)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(t);return e.getRandomValues(n),function(t){let e="";for(const n of t)e+=String.fromCharCode(n);return("function"==typeof btoa?btoa(e):Buffer.from(t).toString("base64")).replaceAll("+","-").replaceAll("/","_").replaceAll("=","")}(n)}function buildFrameAncestors(t={}){const{self:e=!0,origins:n=[],allowNone:i=!1}=t,r=new Set,s=[];if(i&&!e&&0===n.length)return"'none'";e&&(s.push("'self'"),r.add("'self'"));for(const t of n){const e=t.trim();0===e.length||r.has(e)||(r.add(e),s.push(e))}return s.length>0?s.join(" "):"'none'"}function buildScriptSrcWithNonce(t,e={}){if(0===t.length)throw new RangeError("buildScriptSrcWithNonce: nonce is empty");const{self:n=!0,extra:i=[],strictDynamic:r=!1}=e,s=[];n&&s.push("'self'"),s.push(`'nonce-${t}'`),r&&s.push("'strict-dynamic'");for(const t of i){const e=t.trim();e.length>0&&s.push(e)}return s.join(" ")}var Sn=Object.freeze({NoTrustedOrigin:"LP0101",ReferrerOnlyTrust:"LP0102",OrphanField:"LP0201",UnattributableUpdate:"LP0202",VisibilityGateDeferred:"LP0301",UnsafeAttributeWrite:"LP0401",TextTargetHasChildren:"LP0402",MissingArrayTemplate:"LP0403",MessageRejected:"LP0501",TokenRejected:"LP0502",HandlerThrew:"LP0601",TransformThrew:"LP0602",RendererThrew:"LP0603",StartupFailed:"LP0605",ReadyFailed:"LP0606",AuditRuntimeMissing:"LP0701",AuditNoFrameAncestors:"LP0702",AuditFrameOptionsBlocks:"LP0703",AuditBindingsExposed:"LP0704",AuditGateThresholdExceeded:"LP0705",AuditUnownedBindings:"LP0706",AuditNoBindings:"LP0707",AuditNotAPage:"LP0708"});function bind(t,e){return An(t,e)}function bindByPath(t,e){const n=function(t){const e=[],n=new Proxy({},{get(t,i){if("symbol"!=typeof i)return/^\d+$/.test(i)||e.push(i),n}});try{t(n)}catch{}return e}(t);if(0===n.length)throw new Error("bindByPath: the picker did not read any field — return data.<field> instead of a constant");return An(n.join("."),e)}function An(t,e){if(0===t.length)throw new Error("bind: field name must be a non-empty string");const n={"data-payload-field":t};return void 0!==e?.attribute&&(n["data-payload-attribute"]=e.attribute),void 0!==e?.type&&(n["data-payload-type"]=e.type),!0===e?.richtext&&(n["data-payload-richtext"]=""),!0===e?.html&&(n["data-payload-html"]=""),void 0!==e?.locale&&(n["data-payload-locale"]=e.locale),n}var Tn=Object.freeze({});function createPreviewBindings(t){const{authorized:e}=t,n=void 0!==t.owner&&t.owner.length>0?t.owner:void 0;return Object.freeze({authorized:e,bind:(t,n)=>e?bind(t,n):Tn,bindByPath:(t,n)=>e?bindByPath(t,n):Tn,owner:()=>e&&void 0!==n?{"data-payload-owner":n}:Tn})}for(const[t,e]of[[Mt,"EventEmitter"],[wn,"LivePreviewClient"],[It,"OriginDetector"]])Object.defineProperty(t,"name",{configurable:!0,value:e});var kn=!0;export{kn as CORE_ENTRY,Sn as DIAGNOSTIC_CODES,Mt as EventEmitter,x as LIBRARY_PROTOCOL_VERSION,wn as LivePreviewClient,It as OriginDetector,it as VERSION,bind,bindByPath,buildFrameAncestors,buildScriptSrcWithNonce,createPreviewBindings,detectInitialLocale,escapeHtml,escapeHtmlAttribute,generateCspNonce,hasCapability,initLivePreview,isDevMode,isExternalHttpUrl,isInIframe,isInPopup,isInPreviewContext,isSafeUrl,negotiateProtocol,sanitizeHtml,setCspCrypto,setSanitizerDocument};
2
2
  //# sourceMappingURL=core.js.map