payload-live-preview 1.4.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -1
- package/dist/adapters/astro/index.js +1 -1
- package/dist/adapters/astro/index.js.map +1 -1
- package/dist/adapters/astro/middleware-entry.js +1 -1
- package/dist/adapters/astro/middleware-entry.js.map +1 -1
- package/dist/adapters/nextjs/index.js +1 -1
- package/dist/adapters/nextjs/index.js.map +1 -1
- package/dist/adapters/nuxt/index.js +1 -1
- package/dist/adapters/nuxt/index.js.map +1 -1
- package/dist/adapters/sveltekit/index.js +1 -1
- package/dist/adapters/sveltekit/index.js.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +247 -2
- package/dist/core.d.ts +247 -2
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/doctor-cli.d.ts +34 -0
- package/dist/doctor-cli.js +3 -0
- package/dist/doctor-cli.js.map +1 -0
- package/dist/doctor.d.ts +37 -0
- package/dist/doctor.js +2 -0
- package/dist/doctor.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +247 -2
- package/dist/index.d.ts +247 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/probe-tMHdim5y.d.ts +190 -0
- package/package.json +9 -2
package/README.md
CHANGED
|
@@ -567,9 +567,119 @@ Together these span the whole spectrum: tier 1 proves the real thing works end t
|
|
|
567
567
|
|
|
568
568
|
Full details in [docs/security.md](docs/security.md). Report vulnerabilities per [SECURITY.md](SECURITY.md).
|
|
569
569
|
|
|
570
|
+
## Inspecting a running preview
|
|
571
|
+
|
|
572
|
+
When a preview misbehaves, `inspect()` returns a point-in-time snapshot of what
|
|
573
|
+
the runtime actually sees. It performs no I/O and transmits nothing.
|
|
574
|
+
|
|
575
|
+
Adapter users reach it on the global handle inside the preview iframe — that is
|
|
576
|
+
the point, because there is no client object to call a method on:
|
|
577
|
+
|
|
578
|
+
```js
|
|
579
|
+
// In the browser console, inside the preview iframe
|
|
580
|
+
__livePreview.inspect();
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
Consumers driving the runtime themselves call it on the client:
|
|
584
|
+
|
|
585
|
+
```ts
|
|
586
|
+
const client = initLivePreview({ allowedOrigins: ['https://cms.example.com'] });
|
|
587
|
+
console.log(client.inspect());
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
The snapshot answers the questions that are otherwise guesswork:
|
|
591
|
+
|
|
592
|
+
| Reading | What it tells you |
|
|
593
|
+
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
594
|
+
| `bindings.orphanFields` | Field names that arrived but matched no element. A name here is a markup problem; a name in neither this nor `bindings.fieldNames` was never sent. |
|
|
595
|
+
| `scheduler.deferred` with `scheduler.visibilityGateActive` | Updates the visibility gate is holding until the element scrolls into view. On a page nobody scrolls, that is "never" — the symptom is a preview that stops updating below the fold. |
|
|
596
|
+
| `revisions.superseded` | Updates abandoned because a newer one arrived. Tracking `accepted` closely is normal for fast typing; it only matters when the _last_ update is among them. |
|
|
597
|
+
| `origins.locked` | The origin the runtime locked onto after its first accepted update. Every other origin is refused from then on. |
|
|
598
|
+
| `bindings.ownerScoped` with `bindings.owners` | Whether owner scoping is on, and which documents the page declares. Under scoping, an unowned binding receives nothing. |
|
|
599
|
+
| `protocol.negotiated` | The version both sides share, which caps the capabilities in `protocol.capabilities`. |
|
|
600
|
+
|
|
601
|
+
This is deliberately not gated to development builds. A snapshot discloses
|
|
602
|
+
nothing that is not already on the page — the trusted origins are inside the
|
|
603
|
+
injected script and the field names are `data-payload-field` attributes in the
|
|
604
|
+
DOM — and a preview that misbehaves only on the deployed site is exactly the
|
|
605
|
+
case where the information is worth having.
|
|
606
|
+
|
|
607
|
+
## Auditing a deployment: `pll doctor`
|
|
608
|
+
|
|
609
|
+
`inspect()` answers "what is this runtime doing right now" from inside the page.
|
|
610
|
+
`pll doctor` answers the question one step earlier: **what is this deployment
|
|
611
|
+
actually serving?**
|
|
612
|
+
|
|
613
|
+
```
|
|
614
|
+
npx pll doctor https://example.com/some-page --admin https://cms.example.com
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
It fetches the URL twice — once as an ordinary visitor, once with the headers
|
|
618
|
+
the admin's iframe sends — and reports the difference. That comparison is the
|
|
619
|
+
point: a config can say `allowedOrigins: [...]` while a proxy strips the
|
|
620
|
+
header, an adapter runs in a mode nobody remembers choosing, or a build emits
|
|
621
|
+
binding attributes on public pages.
|
|
622
|
+
|
|
623
|
+
What it checks:
|
|
624
|
+
|
|
625
|
+
| Code | Finding |
|
|
626
|
+
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
627
|
+
| `LP0701` | No inline runtime in the preview response. A warning, not an error: the audit cannot tell an adapter that missed the request from a consumer who starts `LivePreviewClient` themselves. Also reports, as information, when the runtime reaches anonymous visitors (correct for `inject: 'always'`). |
|
|
628
|
+
| `LP0702` | No `frame-ancestors` on the preview response, or a policy that does not admit `--admin`. A bare `'self'` counts as admitting it when admin and site share an origin. |
|
|
629
|
+
| `LP0703` | `X-Frame-Options` forbids framing — browsers honour it independently of CSP. `SAMEORIGIN` is accepted when `--admin` shares the page's origin; `DENY` never is. |
|
|
630
|
+
| `LP0704` | Binding attributes served to anonymous visitors. |
|
|
631
|
+
| `LP0705` | More bindings than the default `visibilityGateThreshold` writes eagerly. |
|
|
632
|
+
| `LP0706` | Bindings outside every owner marker, which receive nothing under `scopeBindingsByOwner`. |
|
|
633
|
+
| `LP0707` | The runtime is present with nothing to write into. |
|
|
634
|
+
|
|
635
|
+
Exit codes: `0` no error-level findings, `1` usage error or the URL could not be
|
|
636
|
+
fetched, `2` at least one error-level finding — so it drops into CI as a smoke
|
|
637
|
+
test against a deploy preview. `--json` emits the report as data.
|
|
638
|
+
|
|
639
|
+
The audit makes exactly the two requests it is told to make, sends no
|
|
640
|
+
credentials, and reports no telemetry. `analyzeProbe()` is exported from
|
|
641
|
+
`payload-live-preview/doctor` for callers who fetch the responses themselves.
|
|
642
|
+
|
|
643
|
+
## Diagnostic codes
|
|
644
|
+
|
|
645
|
+
Every message the runtime reports carries a stable code. Prose gets reworded; a
|
|
646
|
+
code does not — so a log filter, an alert rule, or a bug report that names
|
|
647
|
+
`LP0301` still means the same thing after the sentence around it changes.
|
|
648
|
+
|
|
649
|
+
| Code | Meaning | What to do |
|
|
650
|
+
| -------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
651
|
+
| `LP0101` | No trusted origin configured in production | Set `PAYLOAD_ADMIN_ORIGIN` or pass `allowedOrigins`. Nothing is accepted until you do. |
|
|
652
|
+
| `LP0102` | Origin trust rests on `document.referrer` | Any framing site is trusted. Set `allowedOrigins` and a `frame-ancestors` CSP. |
|
|
653
|
+
| `LP0201` | An update named a field with no binding on the page | Render the binding anchor unconditionally so edits to an initially-empty field have somewhere to land. |
|
|
654
|
+
| `LP0202` | Owner scoping is on and the update names no document | The message carries neither a global slug nor a collection slug plus id. |
|
|
655
|
+
| `LP0301` | The visibility gate held offscreen writes back | Raise `visibilityGateThreshold`, or accept that below-the-fold updates wait for a scroll. |
|
|
656
|
+
| `LP0401` | A value was refused as an unsafe attribute write | The attribute or the value is not safe to write; see the security model. |
|
|
657
|
+
| `LP0402` | A text element has structured children | Move `data-payload-field` to the value element, or add `data-payload-text`. |
|
|
658
|
+
| `LP0403` | A structural container has no array template | Add `data-payload-array-template`. |
|
|
659
|
+
| `LP0501` | A message was rejected before the update pipeline | Reason is one of origin, shape, type, token. Visible with `debug: true`. |
|
|
660
|
+
| `LP0502` | A preview token was rejected | Also reported when your `validateToken` throws — a throwing validator fails closed. |
|
|
661
|
+
| `LP0601` | A consumer event handler threw | Your `on(...)` handler; the runtime continued. |
|
|
662
|
+
| `LP0602` | A consumer transform threw | The original value was kept. |
|
|
663
|
+
| `LP0603` | A renderer threw while writing | That one write was abandoned. |
|
|
664
|
+
| `LP0605` | Runtime startup failed | |
|
|
665
|
+
| `LP0606` | Sending the ready handshake failed | |
|
|
666
|
+
|
|
667
|
+
Codes on the `error` event can be branched on directly:
|
|
668
|
+
|
|
669
|
+
```ts
|
|
670
|
+
import { DIAGNOSTIC_CODES } from 'payload-live-preview';
|
|
671
|
+
|
|
672
|
+
client.events.on('error', (e) => {
|
|
673
|
+
if (e.code === DIAGNOSTIC_CODES.TransformThrew) reportToSentry(e.error);
|
|
674
|
+
});
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
Codes are never reused for a different meaning and never renumbered. `LP0604`
|
|
678
|
+
is reserved and unassigned.
|
|
679
|
+
|
|
570
680
|
## Troubleshooting
|
|
571
681
|
|
|
572
|
-
- **Nothing updates** —
|
|
682
|
+
- **Nothing updates** — call `__livePreview.inspect()` in the preview iframe's console first; it names the cause in most cases (see [Inspecting a running preview](#inspecting-a-running-preview)). `debug: true` adds verbose diagnostics on top. The most common causes: the admin origin is not in `allowedOrigins`; the page is not actually loaded in an iframe; the binding element does not exist (see the empty-field gotcha above — orphan-update warnings are always enabled and deduplicated per field).
|
|
573
683
|
- **Relationship fields show IDs** — set `serverURL` (Payload 3.x sends unpopulated form values).
|
|
574
684
|
- **`Referrer-Policy: no-referrer`** on the admin breaks zero-config origin detection — set `allowedOrigins` explicitly.
|
|
575
685
|
- **Preview iframe refuses to load** — your host sets `X-Frame-Options` or a restrictive `frame-ancestors`. The adapters' CSP management overrides `frame-ancestors` on intent-matched responses, but `X-Frame-Options: DENY` from a proxy must be removed for authorized preview responses.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=Object.defineProperty,e=(e,i)=>t(e,"name",{value:i,configurable:!0}),i='(()=>{function t(t){return("object"!=typeof t||null===t)&&"function"!=typeof t||"function"!=typeof t.then?0:(Promise.resolve(t).catch(()=>{}),1)}function e(e){return(...i)=>{try{t(e(...i))}catch{}}}function i(){}function n(){return 1}function r(t){return`global:${t}`}function l(t,e){return void 0===e||""===e?`collection:${t}`:`collection:${t}:${e}`}function s(t){return"string"==typeof t&&t.length>0}function o(t,e){return null===e||void 0===t?0:e.includes(t)}function a(t){let e=t.id;return"string"==typeof e&&e.length>0?e:"number"==typeof e&&Number.isFinite(e)?String(e):void 0}function u(t){if(t.nodeType!==Ze)return 0;let e=t;return e.hasAttribute(Te)?1:null!==e.querySelector(`[${Te}]`)}function h(t){if(!Array.isArray(t))return[];let e=[];for(let i of t){let t=c(i);t&&e.push(t)}return e}function c(t){if("object"!=typeof t||null===t)return;let e=t,i=e.name,n=e.type;if("string"!=typeof i||0===i.length||"string"!=typeof n||0===n.length)return;let r=h(e.fields),l=function(t){if(!Array.isArray(t))return[];let e=[];for(let i of t){if("object"!=typeof i||null===i)continue;let t=i,n=t.slug;if("string"!=typeof n||0===n.length)continue;let r=h(t.fields);e.push({...t,slug:n,fields:r})}return e}(e.blocks),s={...e,name:i,type:n};return r.length>0?s.fields=r:delete s.fields,l.length>0?s.blocks=l:delete s.blocks,s}function d(t){let e="number"==typeof t&&Number.isFinite(t)&&t>=1?Math.floor(t):void 0,i=Math.min(4,e??1),n=new Set;for(let[t,e]of Object.entries(ni))i>=e&&n.add(t);return{ours:4,...void 0!==e?{theirs:e}:{theirs:void 0},negotiated:i,capabilities:n}}function f(t,e){return void 0===t||e(t)}function p(t,e){return null==t?1:e(t)}function g(t){if("object"!=typeof t||null===t)return 0;let e=Object.getPrototypeOf(t);return null===e||null===Object.getPrototypeOf(e)}function m(t){for(let e of t){let t=e.codePointAt(0);if(void 0!==t&&(t<=31||127===t))return 1}return 0}function y(t){if(void 0===t||0===t.length||t.length>128||"."===t||".."===t||t.includes("/")||t.includes("\\\\")||t.includes("?")||t.includes("#")||m(t))return 0;try{return encodeURIComponent(t),1}catch{return 0}}function v(t,e){return t[6]===e}function b(t){return t.aborted}function w(t){if("string"!=typeof t||0===t.length)return 0;let e=t.trim();if(0===e.length||$i.test(e))return 0;if(e.startsWith("#")||e.startsWith("?")||e.startsWith("//")||e.startsWith("/"))return 1;try{let t=new URL(e);return Si.has(t.protocol)}catch{return Ai.test(e)}}function S(t){if(!w(t))return 0;let e=t.trim();return/^https?:\\/\\//i.test(e)||/^\\/\\/[^/]/.test(e)}function $(t){return Ni.add(t),t}function A(t,e){return null!==e&&t.generation===e.generation&&t.revision===e.revision}function T(t,e,i,n=0){if(n&&void 0!==i){let n=k(t,`${e}_${i}`);if(void 0!==n)return n}let r=k(t,e);if(void 0!==r)return r;if(e.includes(".")){let i=t,n=1;for(let t of e.split(".")){if(Pi.has(t)||null===i||"object"!=typeof i){n=0;break}if(i=k(i,t),void 0===i){n=0;break}}if(n)return i}return void 0===i?void 0:k(t,`${e}_${i}`)}function k(t,e){if(!Pi.has(e)&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}function N(){let t=function(){if(typeof document>"u")return;let t=document.documentElement.getAttribute("lang");return null===t||0===t.length?void 0:t}();if(void 0!==t)return t;let e=function(){if(typeof navigator>"u")return;let t=navigator.language;return"string"==typeof t&&t.length>0?t:void 0}();return void 0!==e?e:"en"}function x(t){return/^de(?:[-_]|$)/i.test(t)}function M(t){null!==t[4]&&(clearTimeout(t[4]),t[4]=null),t[2]?.remove(),t[2]=null}function C(t,e=""){let i=new Map;return O(t,e,i),i}function O(t,e,i){for(let n of t){if(zi.has(n.type)){n.fields&&O(n.fields,e,i);continue}if("group"===n.type){let t=""===e?n.name:`${e}.${n.name}`;i.set(t,n),n.fields&&O(n.fields,t,i);continue}let t=""===e?n.name:`${e}.${n.name}`;if(i.set(t,n),"array"===n.type&&n.fields)O(n.fields,`${t}.*`,i);else if("blocks"===n.type&&n.blocks)for(let e of n.blocks)O(e.fields,`${t}.*.${e.slug}`,i)}}function j(t){if("object"!=typeof t||null===t)return;let e=t.id;return"string"==typeof e||"number"==typeof e?e:void 0}function E(t){if("object"!=typeof t||null===t)return;let e=t.blockType;return"string"==typeof e?e:void 0}function I(t,e){return e.every(t=>void 0!==j(t))?function(t,e){let i=[],n=new Map;for(let e=0;e<t.length;e+=1){let i=j(t[e]);void 0!==i&&n.set(i,e)}let r=new Set;for(let l=0;l<e.length;l+=1){let s=e[l],o=j(s);if(void 0===o){i.push({kind:"insert",index:l,value:s});continue}let a=n.get(o);if(void 0===a){i.push({kind:"insert",index:l,value:s});continue}r.add(a);let u=t[a];E(u)===E(s)?(a!==l&&i.push({kind:"move",from:a,to:l,value:s}),R(u,s)||i.push({kind:"update",index:l,value:s})):i.push({kind:"replace",index:l,oldValue:u,value:s})}for(let e=0;e<t.length;e+=1)r.has(e)||i.push({kind:"remove",index:e,value:t[e]});return i}(t,e):function(t,e){let i=[],n=Math.min(t.length,e.length);for(let r=0;r<n;r+=1)R(t[r],e[r])||i.push({kind:"update",index:r,value:e[r]});if(e.length>t.length)for(let n=t.length;n<e.length;n+=1)i.push({kind:"insert",index:n,value:e[n]});if(t.length>e.length)for(let n=e.length;n<t.length;n+=1)i.push({kind:"remove",index:n,value:t[n]});return i}(t,e)}function R(t,e){if(Object.is(t,e))return 1;if("object"!=typeof t||"object"!=typeof e||null===t||null===e)return 0;let i=t,n=e,r=Object.keys(i),l=Object.keys(n);if(r.length!==l.length)return 0;for(let t of r)if(!Object.is(i[t],n[t]))return 0;return 1}function L(t){return 9===t.nodeType}function _(t){if(typeof window>"u")return;let e=[];window.parent!==window&&e.push(window.parent),window.opener instanceof Window&&e.push(window.opener),ri.sendReady(e,t)}function W(t,e){return t.generation===e.generation&&t.revision===e.revision}function P(t){return null==t?0:"string"==typeof t||"number"==typeof t||"boolean"==typeof t||"bigint"==typeof t}function F(t,e){if(!e)return t;let i=`_${e}`;return t.endsWith(i)?t.slice(0,-i.length):t}function D(){if(typeof window>"u")return 0;try{return window.self!==window.top}catch{return 1}}function U(t){if(typeof process<"u"){let e=process.env[t];if("string"==typeof e&&e.length>0)return e}}function z(t){let e=t.trim();if(0!==e.length)try{let t=new URL(e);return"http:"!==t.protocol&&"https:"!==t.protocol||!wn.test(t.origin)?void 0:t.origin}catch{return}}function V(t,e){let i=G();if(!i)throw new Rn("sanitizeHtml needs a DOM; provide one with setSanitizerDocument() during SSR.");if(""===t)return"";let n=function(t){if(!t){let t=new Map;for(let[e,i]of Object.entries(On))t.set(e,i);return{allowedTags:kn,attrByTag:t}}let e=new Set(kn);for(let i of t.additionalAllowedTags??[])e.add(i);let i=new Map;for(let[t,e]of Object.entries(On))i.set(t,e);for(let[e,n]of Object.entries(t.additionalAllowedAttributes??{})){let t=i.get(e),r=new Set(t??[]);for(let t of n)r.add(t);i.set(e,r)}return{allowedTags:e,attrByTag:i}}(e),r=i.createElement("template");return r.innerHTML=t,B(r.content,n),r.innerHTML}function G(){if(!(typeof document>"u"))return document}function B(t,e){for(let i of Array.from(t.childNodes))i.nodeType===En?H(i,e):i.nodeType===In&&i.remove()}function H(t,e){let i=t.tagName.toLowerCase();if(Nn.has(i))t.remove();else{if(!e.allowedTags.has(i)){B(t,e);let i=t.parentNode;if(i){for(;t.firstChild;)i.insertBefore(t.firstChild,t);t.remove()}return}(function(t,e,i){let n=i.attrByTag.get(e);for(let e of Array.from(t.attributes)){let i=e.name.toLowerCase();if(i.startsWith("on"))t.removeAttribute(e.name);else if("style"!==i){if(!(xn.has(i)||i.startsWith(Mn)||i.startsWith(Cn))){if(n?.has(i)){(jn.has(i)&&!w(e.value)||"srcset"===i&&!q(e.value))&&t.removeAttribute(e.name);continue}t.removeAttribute(e.name)}}else t.removeAttribute(e.name)}})(t,i,e),"a"===i&&function(t){let e=t.getAttribute("href");null===e||!S(e)||(t.setAttribute("rel","noopener noreferrer"),t.hasAttribute("target")||t.setAttribute("target","_blank"))}(t),B(t,e)}}function q(t){let e=t.split(",");for(let t of e){let e=t.trim();if(0===e.length)continue;let i=e.search(/\\s/);if(!w(-1===i?e:e.slice(0,i)))return 0}return 1}function J(t,e){Ln.set(t,e)}function X(t){let e=t.format;if("string"==typeof e&&Wn.has(e))return e;if("number"==typeof e){let t=_n[e];if(void 0!==t)return t}}function Y(t){let e=t.indent;return"number"==typeof e&&e>0?e:0}function Z(t){return"rtl"===t.direction?\' dir="rtl"\':"ltr"===t.direction?\' dir="ltr"\':""}function K(t){let e=X(t),i=Y(t),n=[];return void 0!==e&&n.push(`text-align:${e}`),i>0&&n.push(`padding-inline-start:${String(40*i)}px`),0===n.length?"":` style="${n.join(";")}"`}function Q(t){return""===t?"":t.replace(Fn,t=>Pn[t])}function tt(t){return""===t?"":t.replace(Un,t=>Dn[t])}function et(t){return Q(t).replace(/\\r\\n|\\r|\\n/g,"<br>")}function it(t){if("string"==typeof t.text)return t.text;if(!t.children)return"";let e="";for(let i of t.children)e+=it(i);return e}function nt(t){return t.replace(/[^a-zA-Z0-9_-]/g,"")}function rt(t){return Gn.get(t)}function lt(t){return t.replace(/[^a-zA-Z0-9_-]/g,"-").toLowerCase()}function st(t){if("object"!=typeof t||null===t||!("root"in t))return 0;let e=t.root;return"object"==typeof e&&null!==e&&"children"in e?Array.isArray(e.children):0}function ot(t){return st(t)?t.root.children.map(ht).join("\\n").trim():""}function at(t){let e="";for(let i of t)e+=ut(i);return e}function ut(t){let e=function(t){return Ln.get(t)}(t.type);return e?e(t,_t):void 0!==t.children?at(t.children):""}function ht(t){if("string"==typeof t.text)return t.text;if("linebreak"===t.type)return"\\n";if(void 0===t.children)return"";let e="";for(let i of t.children)e+=ht(i);return e}function ct(){let t=new WeakSet;return{name:"text",render:$((e,i)=>{let n=e.element,r=function(t){return null==t?"":st(t)?ot(t):"string"==typeof t?t:"number"==typeof t||"boolean"==typeof t?String(t):JSON.stringify(t)}(i);if("INPUT"!==n.tagName&&"TEXTAREA"!==n.tagName){if(function(t){return null!==t.firstElementChild}(n)&&!n.hasAttribute(Wt))return function(t,e,i){t.has(e)||(t.add(e),pe(`[live-preview] Skipping text update for "${i}": <${e.tagName.toLowerCase()}> has structured children. Move data-payload-field to the value element, or add data-payload-text to replace them.`))}(t,n,e.fieldName),0;r.includes("\\n")||r.includes("\\r")?n.innerHTML=et(r):n.textContent=r}else n.value=r})}}function dt(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""}}function ft(t){if("object"==typeof t&&null!==t)return t}function pt(t){if("object"==typeof t&&null!==t){let 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 dt(t)}function gt(t){return Array.isArray(t)?t.map(t=>gt(t)).join(", "):dt(t)}function mt(t,e){let i=t??"";if(null==e)return i;let n=yt(e);return"{}"===n?i:`${i}|${n}`}function yt(t){if(null===t||"object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t))return`[${t.map(t=>yt(t)).join(",")}]`;let e=t,i=Object.keys(e).sort(),n=[];for(let t of i){let i=e[t];void 0!==i&&n.push(`${JSON.stringify(t)}:${yt(i)}`)}return`{${n.join(",")}}`}function vt(t){for(;t.size>Xt;){let e=t.keys().next().value;if(void 0===e)break;t.delete(e)}}function bt(t,e,i,n){let r="object"==typeof e&&null!==e?e:null;return t.replace(Kt,(t,l)=>null!==r&&function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(r,l)?Q(n(Reflect.get(r,l))):null===r&&"value"===l?Q(n(e)):"index"===l?String(i):t)}function wt(t,e,i){return bt(t,e,i,dt)}function St(t){return dt(t)}function $t(t){let{template:e,container:i,patches:n,nextItems:r,store:l,forceRender:s=0}=t,o=At(i,e,n,r,s,l);return null===o?null:Tt(o,l)}function At(t,e,i,n,r,l){let s=function(t){let e=new Set,i=new Set;for(let n of t)"insert"===n.kind||"update"===n.kind?e.add(n.index):"replace"===n.kind&&(e.add(n.index),i.add(n.index));return{renders:e,replaces:i}}(i),o=function(t,e,i,n,r,l,s){let o=Array.from(t.children),a=jt(o,te),u=new Set,h=[];for(let c=0;c<i.length;c+=1){let d=i[c],f=Ot(d),p=void 0===f?o[c]??null:Et(a,f)??null;null!==p&&u.has(p)&&(p=null),null!==p&&u.add(p);let g=n.replaces.has(c),m=r||n.renders.has(c)||null===p?It(t.ownerDocument,e,d,c):void 0;if(null===m)return null;let y=void 0===m?[]:kt(g?null:p,m,d,l,s);if(null===y)return null;h.push([c,p,m??void 0,y])}return h}(t,e,n,s,r,l.get(t),l);return null===o?null:[t,o,n]}function Tt(t,e){let[i,n,r]=t,l=new Set,s=0;for(let t of n){let[n,r,o,a]=t,u=r;if(void 0!==o){for(let t of a)null!==t[0]&&(xt(t[0],t[1]),t[1].replaceWith(t[0])),void 0!==t[2]&&Tt(t[2],e);null!==r&&(r.replaceWith(o),s=1),u=o}if(null===u)continue;let h=i.children[n]??null;u!==h&&(i.insertBefore(u,h),s=1),l.add(u)}for(let t of Array.from(i.children))l.has(t)||(t.remove(),s=1);let o=function(t,e){let i=e.get(t);return i||(i=new Map,e.set(t,i)),i}(i,e);o.clear();for(let t of r)Ct(o,t);return s}function kt(t,e,i,n,r){let l=jt(null===t?[]:Nt(t),ee),s=Ot(i),o=void 0!==s?n?.get(s):void 0,a=[];for(let t of Nt(e)){let e=t.getAttribute(ee);if(null===e)continue;let n,s=Et(l,e)??null,u=t.getAttribute(ie),h=u?s:null,c=h?.getAttribute(ie)??null;if(u){let l=Mt(i,e);if(void 0!==l||null!==h){let i=l??[],s=I(null===h?[]:Mt(o,e)??[],i),a=null!==h&&c!==u;if((s.length>0||a)&&(n=At(h??t,u,s,i,a,r)??void 0,void 0===n))return null}}a.push([h,t,n])}return a}function Nt(t){return Array.from(t.querySelectorAll(`[${ee}]`)).filter(e=>{let i=e.parentElement;for(;null!==i&&i!==t;){if(i.hasAttribute(ee))return 0;i=i.parentElement}return i===t})}function xt(t,e){for(let i of Array.from(t.attributes))e.hasAttribute(i.name)||t.removeAttribute(i.name);for(let i of Array.from(e.attributes))t.getAttribute(i.name)!==i.value&&t.setAttribute(i.name,i.value)}function Mt(t,e){if("object"!=typeof t||null===t)return;let i=t[e];return Array.isArray(i)?i:void 0}function Ct(t,e){let i=Ot(e);void 0!==i&&t.set(i,e)}function Ot(t){if("object"!=typeof t||null===t)return;let e=t.id;return"string"==typeof e||"number"==typeof e?String(e):void 0}function jt(t,e){let i=new Map;for(let n=t.length-1;n>=0;n-=1){let r=t[n];if(void 0===r)continue;let l=r.getAttribute(e);if(null===l)continue;let s=i.get(l);void 0===s?i.set(l,[r]):s.push(r)}return i}function Et(t,e){return t.get(e)?.pop()}function It(t,e,i,n){let r=function(t,e,i){return bt(t,e,i,dt)}(e,i,n),l=V(r),s=t.createElement("template");s.innerHTML=l;let o=s.content.firstElementChild;if(!o)return null;let a=Ot(i);return void 0!==a&&o.setAttribute(te,a),o}function Rt(){let t=new WeakMap,e=new WeakSet,i=new WeakMap;return{name:"structural-array",render:$((n,r)=>{if(!Array.isArray(r))return 0;let l=n.element,s=n.arrayTemplate;if(void 0===s||0===s.length)return function(t,e,i){t.has(e)||(t.add(e),pe(`[live-preview] Skipping structural update for "${i}": <${e.tagName.toLowerCase()} data-payload-structural> needs data-payload-array-template (for example "<li>{{label}}</li>").`))}(e,l,n.fieldName),0;let o=t.get(l),a=Lt(l),u=o?.values??function(t){return t.map((t,e)=>null===t?{__payloadDomPosition:e}:{id:t})}(a),h=I(u,r),c=function(t,e,i){return void 0===t?1:t.template!==e||!function(t,e){return t.length!==e.length?0:t.every((t,i)=>t===e[i])}(t.domSnapshot,i)}(o,s,a);if(0===h.length&&!c)return t.set(l,{values:r.slice(),template:s,domSnapshot:a}),0;let d=$t({template:s,container:l,patches:h,nextItems:r,store:i,forceRender:c});return null===d?0:(t.set(l,{values:r.slice(),template:s,domSnapshot:Lt(l)}),d?void 0:0)})}}function Lt(t){return Array.from(t.children,t=>t.getAttribute(te))}var _t,Wt,Pt,Ft,Dt,Ut,zt,Vt,Gt,Bt,Ht,qt,Jt,Xt,Yt,Zt,Kt,Qt,te,ee,ie,ne,re,le=Object.defineProperty,se=t=>{throw TypeError(t)},oe=(t,e,i)=>((t,e,i)=>e in t?le(t,e,{enumerable:1,configurable:1,writable:1,value:i}):t[e]=i)(t,"symbol"!=typeof e?e+"":e,i),ae=(t,e,i)=>e.has(t)||se("Cannot "+i),ue=(t,e,i)=>(ae(t,e,"read from private field"),i?i.call(t):e.get(t)),he=(t,e,i)=>e.has(t)?se("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),ce=(t,e,i,n)=>(ae(t,e,"write to private field"),n?n.call(t,i):e.set(t,i),i),de=(t,e,i)=>(ae(t,e,"access private method"),i),fe=e((...t)=>console.error(...t)),pe=e((...t)=>console.warn(...t)),ge=e((...t)=>console.debug(...t)),me=class{constructor(){he(this,be);he(this,ye,new Map);he(this,ve,new Map)}on(t,e){return de(this,be,Se).call(this,ue(this,ye),t,e)}once(t,e){return de(this,be,Se).call(this,ue(this,ve),t,e)}off(t,e){de(this,be,$e).call(this,ue(this,ye),t,e),de(this,be,$e).call(this,ue(this,ve),t,e)}async emit(t,e){await de(this,be,we).call(this,t,e)}async emitWhile(t,e,i){return de(this,be,we).call(this,t,e,i)}listenerCount(t){return(ue(this,ye).get(t)?.size??0)+(ue(this,ve).get(t)?.size??0)}removeAllListeners(t){void 0!==t?(ue(this,ye).delete(t),ue(this,ve).delete(t)):(ue(this,ye).clear(),ue(this,ve).clear())}eventNames(){let t=new Set;for(let e of ue(this,ye).keys())t.add(e);for(let e of ue(this,ve).keys())t.add(e);return[...t]}},ye=new WeakMap,ve=new WeakMap,be=new WeakSet,we=async function(t,e,i){let n=()=>i?.()??1;if(!n())return 0;let r=ue(this,ye).get(t);if(r)for(let i of[...r])if(!n()||(await de(this,be,Ae).call(this,i,e,t),!n()))return 0;if(!n())return 0;let l=ue(this,ve).get(t);if(l&&l.size>0){let i=[...l];ue(this,ve).delete(t);for(let r of i)if(!n()||(await de(this,be,Ae).call(this,r,e,t),!n()))return 0}return n()},Se=function(t,e,i){let n=t.get(e);return n||(n=new Set,t.set(e,n)),n.add(i),()=>{de(this,be,$e).call(this,t,e,i)}},$e=function(t,e,i){let n=t.get(e);void 0!==n&&(n.delete(i),0===n.size&&t.delete(e))},Ae=async function(t,e,i){try{await t(e)}catch(t){let e="string"==typeof i||"number"==typeof i?String(i):"<event>";fe(`[live-preview] handler for "${e}" threw:`,t)}},Te="data-payload-field",ke="data-payload-type",Ne="data-payload-attribute",xe="data-payload-href",Me="data-payload-src",Ce="data-payload-alt",Oe="data-payload-array-template",je="data-payload-array-separator",Ee="data-payload-locale",Ie="data-payload-richtext",Re="data-payload-html",Le="data-payload-array",_e="data-payload-structural",We="data-payload-owner",Pe=[Te,ke,Ne,xe,Me,Ce,Oe,je,Ee,Ie,Re,Le,_e,We,"type"],Fe=`[${Te}]`,De=`[${We}]`,Ue=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"]),ze=class{constructor(t={}){he(this,He);he(this,Ve,new Map);he(this,Ge,new WeakMap);he(this,Be);ce(this,Be,t.filter??n)}buildFromRoot(t){let e=performance.now();this.clear();let i=t.querySelectorAll(Fe),n=0;for(let t of i)void 0!==this.add(t)&&(n+=1);return{elementCount:n,fieldCount:ue(this,Ve).size,durationMs:performance.now()-e}}add(t){let e=ue(this,Be).call(this,t)?de(this,He,Ye).call(this,t):void 0,i=ue(this,Ge).get(t);if(void 0!==e)return void 0!==i&&de(this,He,qe).call(this,i,e)?(ue(this,Ge).set(t,e),e):(void 0!==i&&de(this,He,Je).call(this,t,i),de(this,He,Xe).call(this,e),ue(this,Ge).set(t,e),e);void 0!==i&&de(this,He,Je).call(this,t,i)}remove(t){let e=ue(this,Ge).get(t);return e?de(this,He,Je).call(this,t,e):0}get(t){return ue(this,Ve).get(t)}getByElement(t){return ue(this,Ge).get(t)}get fieldCount(){return ue(this,Ve).size}get elementCount(){let t=0;for(let e of ue(this,Ve).values())t+=e.length;return t}entries(){return ue(this,Ve).entries()}*values(){for(let t of ue(this,Ve).values())yield*t}has(t){return ue(this,Ge).has(t)}clear(){ue(this,Ve).clear(),ce(this,Ge,new WeakMap)}},Ve=new WeakMap,Ge=new WeakMap,Be=new WeakMap,He=new WeakSet,qe=function(t,e){if(t.fieldName!==e.fieldName)return 0;let i=ue(this,Ve).get(t.fieldName);if(!i)return 0;let n=i.indexOf(t);return n<0?0:(i[n]=e,1)},Je=function(t,e){let i=ue(this,Ve).get(e.fieldName);if(!i)return ue(this,Ge).delete(t),0;let n=i.indexOf(e);return n<0?(ue(this,Ge).delete(t),0):(i.splice(n,1),0===i.length&&ue(this,Ve).delete(e.fieldName),ue(this,Ge).delete(t),1)},Xe=function(t){let e=ue(this,Ve).get(t.fieldName);e?e.push(t):ue(this,Ve).set(t.fieldName,[t])},Ye=function(t){let e=t.getAttribute(Te);if(null===e||0===e.length)return;let i=t.getAttribute(ke),n=function(t){let e=t.getAttribute(ke);if(null!==e&&Ue.has(e))return e;if(t.hasAttribute(Ie))return"richText";if(t.hasAttribute(Re))return"html";if(t.hasAttribute(_e))return"structural-array";if(t.hasAttribute(Le))return"array";if("IMG"===t.tagName)return"image";if("A"===t.tagName)return"url";if("TIME"===t.tagName)return"date";if("INPUT"===t.tagName){let e=t.type;if("checkbox"===e)return"checkbox";if("number"===e)return"number";if("date"===e||"datetime-local"===e)return"date"}return"text"}(t),r=t.getAttribute(Ne),l=t.getAttribute(xe),s=t.getAttribute(Me),o=t.getAttribute(Ce),a=t.getAttribute(Oe),u=t.getAttribute(je),h=t.getAttribute(Ee),c=function(t){let e=t.closest(De)?.getAttribute(We);return null==e||0===e.length?void 0:e}(t);return{element:t,fieldName:e,fieldType:n,explicitFieldType:null!==i&&Ue.has(i),...null!==r&&r.length>0?{targetAttribute:r}:{},...null!==l&&l.length>0?{hrefField:l}:{},...null!==s&&s.length>0?{srcField:s}:{},...null!==o&&o.length>0?{altField:o}:{},...null!==a?{arrayTemplate:a}:{},...null!==u?{arraySeparator:u}:{},...null!==h&&h.length>0?{locale:h}:{},...void 0!==c?{owner:c}:{}}},Ze=1,Ke=class{constructor(t,e={}){he(this,Qe);oe(this,"s");this.s=[t,e.mutationDebounceMs??100,e.intersectionRootMargin??"200px",new Set,null,null,null,0]}start(t){let e=this.s[7];this.stop();let i=e+1;if(this.s[7]!==i)return;let n=null,r=null;try{n=new MutationObserver(t=>{de(this,Qe,ti).call(this,t,i)}),r=new IntersectionObserver(t=>{de(this,Qe,ei).call(this,t,i)},{rootMargin:this.s[2],threshold:0}),n.observe(t,{childList:1,subtree:1,attributes:1,attributeFilter:[...Pe]})}catch(t){throw n?.disconnect(),r?.disconnect(),t}this.s[7]===i?(this.s[4]=n,this.s[5]=r):(n.disconnect(),r.disconnect())}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;let t=this.s[6],e=this.s[4],i=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{i?.disconnect()}}},Qe=new WeakSet,ti=function(t,e){if(!de(this,Qe,ii).call(this,e)||!function(t){for(let e of t){if("attributes"===e.type&&null!==e.attributeName&&Pe.includes(e.attributeName)&&(e.attributeName===Te||e.attributeName===We||e.target.nodeType===Ze&&e.target.hasAttribute(Te)))return 1;for(let t of e.addedNodes)if(u(t))return 1;for(let t of e.removedNodes)if(u(t))return 1}return 0}(t)||!de(this,Qe,ii).call(this,e))return;null!==this.s[6]&&clearTimeout(this.s[6]);let i=setTimeout(()=>{!de(this,Qe,ii).call(this,e)||this.s[6]!==i||(this.s[6]=null,this.s[0].onStructuralChange())},this.s[1]);this.s[6]=i},ei=function(t,e){for(let i of t){if(!de(this,Qe,ii).call(this,e))return;let t=i.target;if(i.isIntersecting){if(!this.s[3].has(t)&&(this.s[3].add(t),this.s[0].onVisibilityChange(t,1),!de(this,Qe,ii).call(this,e)))return}else if(this.s[3].has(t)&&(this.s[3].delete(t),this.s[0].onVisibilityChange(t,0),!de(this,Qe,ii).call(this,e)))return}},ii=function(t){return this.s[7]===t&&null!==this.s[5]},ni={basic:1,"schema-json":2,"preview-token":3,"nested-arrays":4,"recursive-diffs":4},ri=class{constructor(t,e){he(this,li);oe(this,"s");this.s=[t,e,void 0,void 0,0,0,[],0]}attach(t=window){if(void 0!==this.s[3])return;let e=0,i=t=>{if(!e||this.s[2]!==i)return;let n=this.s[4];try{de(this,li,si).call(this,t,n)}catch{let e="";try{e=t.origin}catch{}de(this,li,ci).call(this,"shape",e,n)}};this.s[4]+=1,de(this,li,mi).call(this),this.s[3]=t,this.s[2]=i;try{t.addEventListener("message",i)}catch(e){this.s[2]===i&&(this.s[3]=void 0,this.s[2]=void 0,de(this,li,mi).call(this));try{t.removeEventListener("message",i)}catch{}throw e}if(this.s[2]===i)e=1;else try{t.removeEventListener("message",i)}catch{}}detach(t){let e=this.s[3],i=this.s[2];void 0===e||void 0===i||(this.s[3]=void 0,this.s[2]=void 0,de(this,li,mi).call(this),e.removeEventListener("message",i))}advanceGeneration(){return void 0===this.s[3]?0:(this.s[4]+=1,de(this,li,mi).call(this),1)}static sendReady(t,e){let i=t.length>0;if(!i||0===e.length)return;let n={type:"payload-live-preview",ready:i,protocolVersion:4};for(let i of t)for(let t of e)try{i.postMessage(n,t)}catch{}}},li=new WeakSet,si=function(t,e){if(!de(this,li,pi).call(this,e))return;let i=t.origin;if(!de(this,li,pi).call(this,e))return;if(!de(this,li,di).call(this,i,e)){de(this,li,ci).call(this,"origin",i,e);return}let n=t.data;if(!de(this,li,pi).call(this,e))return;let r=function(t){return"object"==typeof t&&null!==t&&"type"in t?"string"==typeof t.type:0}(n);if(!de(this,li,pi).call(this,e))return;if(!r){de(this,li,ci).call(this,"shape",i,e);return}let l=n.type;if(de(this,li,pi).call(this,e))switch(l){case"payload-live-preview":{let t=function(t){let e=t;return!!((void 0===e.data||null===e.data||g(e.data))&&p(e.fieldSchemaJSON,t=>Array.isArray(t))&&p(e.globalSlug,t=>"string"==typeof t)&&p(e.collectionSlug,t=>"string"==typeof t)&&p(e.locale,t=>"string"==typeof t)&&p(e.ready,t=>"boolean"==typeof t)&&p(e.previewToken,t=>"string"==typeof t)&&p(e.protocolVersion,t=>"number"==typeof t))}(n);if(!de(this,li,pi).call(this,e))return;if(!t){de(this,li,ci).call(this,"shape",i,e);return}let r=function(t){let e={...t};for(let t of yi)null===Reflect.get(e,t)&&Reflect.deleteProperty(e,t);if(!Array.isArray(e.fieldSchemaJSON))return e;let i;try{i=h(e.fieldSchemaJSON)}catch{i=[]}return{...e,fieldSchemaJSON:i}}(n);if(!de(this,li,pi).call(this,e))return;de(this,li,oi).call(this,r,i,e);return}case"payload-document-event":{let t=function(t){let e=t;return!(!f(e.action,t=>"updated"===t||"created"===t||"deleted"===t)||!f(e.slug,t=>"string"==typeof t)||!f(e.id,t=>"string"==typeof t||"number"==typeof t&&Number.isFinite(t)))}(n);if(!de(this,li,pi).call(this,e))return;if(!t){de(this,li,ci).call(this,"shape",i,e);return}let r;try{r=this.s[1].onDocumentEvent}catch{return}if(!de(this,li,pi).call(this,e))return;de(this,li,fi).call(this,r,n,i);return}default:de(this,li,ci).call(this,"type",i,e)}},oi=function(t,e,i){if(!de(this,li,pi).call(this,i))return;let n=t.data;if(!de(this,li,pi).call(this,i))return;let r=g(n);if(!de(this,li,pi).call(this,i))return;let l,s=r?{generation:i,revision:this.s[5]+=1}:void 0;try{l=this.s[1].validateToken}catch{return}if(!de(this,li,pi).call(this,i))return;if(void 0===l){de(this,li,hi).call(this,t,e,i,s);return}if(1==t.ready&&void 0===n){de(this,li,hi).call(this,t,e,i,void 0);return}let o={generation:i,message:t,origin:e,messageRevision:s,settled:0,approved:0};this.s[6].push(o);let a;try{a=l(t.previewToken,e)}catch{de(this,li,ai).call(this,o,0);return}"boolean"!=typeof a?Promise.resolve(a).then(t=>{de(this,li,ai).call(this,o,1==t)},()=>{de(this,li,ai).call(this,o,0)}):de(this,li,ai).call(this,o,a)},ai=function(t,e){de(this,li,pi).call(this,t.generation)&&(t.approved=e,t.settled=1,de(this,li,ui).call(this,t.generation))},ui=function(t){for(;de(this,li,pi).call(this,t);){let e=this.s[6][this.s[7]];if(void 0===e)return;if(de(this,li,di).call(this,e.origin,t)){if(!e.settled)return;de(this,li,gi).call(this,e)&&(e.approved?de(this,li,hi).call(this,e.message,e.origin,e.generation,e.messageRevision):de(this,li,ci).call(this,"token",e.origin,e.generation))}else{if(!de(this,li,gi).call(this,e))continue;de(this,li,ci).call(this,"origin",e.origin,e.generation)}}},hi=function(t,e,i,n){if(!de(this,li,pi).call(this,i))return;let r;try{r=this.s[1].onUpdate}catch{return}de(this,li,pi).call(this,i)&&(void 0===n?de(this,li,fi).call(this,r,t,e):de(this,li,fi).call(this,r,t,e,n))},ci=function(t,e,i){if(!de(this,li,pi).call(this,i))return;let n;try{n=this.s[1].onInvalid}catch{return}de(this,li,pi).call(this,i)&&void 0!==n&&de(this,li,fi).call(this,n,t,e)},di=function(t,e){if(!de(this,li,pi).call(this,e))return 0;try{return 1==this.s[0](t)&&de(this,li,pi).call(this,e)}catch{return 0}},fi=function(e,...i){try{t(e(...i))}catch{}},pi=function(t){return void 0!==this.s[3]&&this.s[4]===t},gi=function(t){let e=this.s;return e[6][e[7]]!==t?0:(e[7]+=1,e[7]===e[6].length?(de(this,li,mi).call(this),1):(e[7]>=1024&&2*e[7]>=e[6].length&&(e[6]=e[6].slice(e[7]),e[7]=0),1))},mi=function(){this.s[6]=[],this.s[7]=0},yi=["data","fieldSchemaJSON","globalSlug","collectionSlug","locale","ready","previewToken","protocolVersion"],vi=class{constructor(t){oe(this,"s");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]);let 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]}},bi=class{constructor(t){oe(this,"s");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 0;let e=this.s[0];return this.s[0]=t,this.s[1](t,e),1}},wi=class{constructor(t){oe(this,"s");let n=t.serverURL.replace(/\\/+$/,""),r=t.apiRoute??"/api";this.s=[n,r.startsWith("/")?r:`/${r}`,t.depth??1,t.fetchFn,void 0===t.log?i:e(t.log),null,0,0]}canMerge(t){try{return t.globalSlug?y(t.globalSlug):y(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("\\\\")||m(t))return 0;try{return encodeURIComponent(t),1}catch{return 0}}(t.data.id):0}catch{return 0}}async merge(t){if(this.s[7]>0)return{status:"superseded"};let e=this.s[6]+1;this.s[6]=e;let i=this.s[5];this.s[5]=null;let n=null;try{if(i?.abort(),!v(this.s,e))return{status:"superseded"};if(!this.canMerge(t))return v(this.s,e)?{status:"unavailable"}:{status:"superseded"};if(!v(this.s,e))return{status:"superseded"};let r=this.s[3]??("function"==typeof fetch?fetch:void 0);if(!v(this.s,e))return{status:"superseded"};if(void 0===r)return{status:"unavailable"};if(n=new AbortController,!v(this.s,e))return n.abort(),{status:"superseded"};this.s[5]=n;let l=t.globalSlug?`globals/${encodeURIComponent(t.globalSlug)}`:`${encodeURIComponent(t.collectionSlug??"")}/${encodeURIComponent(String(t.data.id))}`,s=`${this.s[0]}${this.s[1]}/${l}`,o=JSON.stringify({data:t.data,depth:this.s[2],flattenLocales:0,...void 0!==t.locale?{locale:t.locale}:{}});if(!v(this.s,e))return{status:"superseded"};let a=await r(s,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","X-Payload-HTTP-Method-Override":"GET"},body:o,signal:n.signal});if(!v(this.s,e)||b(n.signal))return{status:"superseded"};let u=a.ok;if(!v(this.s,e))return{status:"superseded"};if(!u){let t=a.status;return v(this.s,e)?(this.s[4]("merge HTTP",t,s),v(this.s,e)?{status:"unavailable"}:{status:"superseded"}):{status:"superseded"}}let h=await a.json();return!v(this.s,e)||b(n.signal)?{status:"superseded"}:null===h||"object"!=typeof h||Array.isArray(h)?(this.s[4]("merge invalid",s),v(this.s,e)?{status:"unavailable"}:{status:"superseded"}):{status:"merged",doc:h}}catch(t){return!v(this.s,e)||null!==n&&b(n.signal)?{status:"superseded"}:(this.s[4]("merge exception",t),v(this.s,e)?{status:"unavailable"}:{status:"superseded"})}finally{null!==n&&v(this.s,e)&&this.s[5]===n&&(this.s[5]=null)}}destroy(){this.s[6]+=1;let t=this.s[5];this.s[5]=null,this.s[7]+=1;try{t?.abort()}finally{this.s[7]-=1}}},Si=new Set(["http:","https:","mailto:","tel:"]),$i=/^\\s*(?:javascript|data|vbscript|file|blob|about)\\s*:/i,Ai=/^(?:\\.{1,2}\\/|[a-zA-Z0-9_-]+\\/?)/,Ti=new Set(["style","srcdoc","formaction","form","id","name","is","srcset","imagesrcset"]),ki=new Set(["href","src","poster","cite","action","xlink:href","data"]),Ni=new WeakSet,xi=class{constructor(t,e){he(this,Mi);oe(this,"s");let i=e.scheduleFrame??("function"==typeof requestAnimationFrame?requestAnimationFrame.bind(globalThis):t=>setTimeout(()=>{t(performance.now())},0)),n=e.cancelFrame??("function"==typeof cancelAnimationFrame?cancelAnimationFrame.bind(globalThis):t=>{clearTimeout(t)});this.s=[t,e.debounceMs??50,e.isVisible,e.visibilityGateThreshold??50,e.disableVisibilityGate??0,e.getCacheSize,e.onFlush,i,n,new Map,new Map,new Set,null,0,null,0,null,0]}schedule(t){if(void 0!==t.identity&&(this.s[17]||!A(t.identity,this.s[16])))return;let e=this.s[9],i=e.get(t.target.element);i?(i.value=t.value,i.allFields=t.allFields,i.identity=t.identity,i.data=t.data):e.set(t.target.element,{...t,identity:t.identity,data:t.data}),de(this,Mi,Ci).call(this)}acceptRevision(t){let e=this.s[16];A(t,e)||null!==e&&function(t,e){return t.generation!==e.generation?t.generation-e.generation:t.revision-e.revision}(t,e)<0||(de(this,Mi,Wi).call(this),de(this,Mi,Li).call(this),this.s[16]=t,this.s[17]=0)}cancelRevision(t){A(t,this.s[16])&&(de(this,Mi,Wi).call(this),de(this,Mi,Li).call(this),this.s[17]=1)}flushNow(){return de(this,Mi,Wi).call(this),de(this,Mi,ji).call(this)}notifyVisible(t){let e=this.s[10],i=e.get(t);if(!i||(e.delete(t),!de(this,Mi,Ei).call(this,i)))return;let n=performance.now(),r=de(this,Mi,Ii).call(this,i)?1:0;this.s[6]?.(de(this,Mi,_i).call(this,i,r,0,performance.now()-n))}retarget(t){de(this,Mi,Ri).call(this,this.s[9],t),de(this,Mi,Ri).call(this,this.s[10],t);for(let e of this.s[11])de(this,Mi,Ri).call(this,e,t)}forget(t){this.s[9].delete(t),this.s[10].delete(t);for(let e of this.s[11])e.delete(t)}destroy(){de(this,Mi,Wi).call(this),de(this,Mi,Li).call(this),this.s[16]=null,this.s[17]=0}get pendingCount(){return this.s[9].size}get replayCount(){return this.s[10].size}},Mi=new WeakSet,Ci=function(){let t=this.s[13]+=1,e=this.s[12];if(this.s[12]=null,null!==e&&clearTimeout(e),this.s[13]!==t)return;let i=setTimeout(()=>{this.s[13]===t&&(this.s[12]=null,de(this,Mi,Oi).call(this))},this.s[1]);this.s[13]===t&&(this.s[12]=i)},Oi=function(){let 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 i=0,n=this.s[7](()=>{this.s[15]===t&&(i=1,this.s[14]=null,de(this,Mi,ji).call(this))});!i&&this.s[15]===t&&(this.s[14]=n)},ji=function(){let t=performance.now(),e=!this.s[4]&&this.s[5]()>this.s[3],i=this.s[9];this.s[9]=new Map;let n,r=0,l=0;this.s[11].add(i);try{for(let t of i.values()){if(!de(this,Mi,Ei).call(this,t))continue;let i=!e||this.s[2](t.target.element);if(de(this,Mi,Ei).call(this,t)){if(n??(n=t),!i){this.s[10].set(t.target.element,t),l+=1;continue}this.s[10].delete(t.target.element),de(this,Mi,Ii).call(this,t)&&(r+=1)}}}finally{this.s[11].delete(i)}let s=de(this,Mi,_i).call(this,n,r,l,performance.now()-t);return this.s[6]?.(s),s},Ei=function(t){return void 0===t.identity||!this.s[17]&&A(t.identity,this.s[16])},Ii=function(t){let e=this.s[0];return 0!=e(t)||!function(t){return Ni.has(t)}(e)},Ri=function(t,e){let i=t.get(e.element);if(void 0!==i){if(i.target.fieldName!==e.fieldName||i.target.locale!==e.locale){t.delete(e.element);return}i.target=e}},Li=function(){this.s[9].clear(),this.s[10].clear();for(let t of this.s[11])t.clear()},_i=function(t,e,i,n){return{applied:e,deferred:i,durationMs:n,...void 0!==t?.identity?{identity:t.identity}:{},...void 0!==t?.data?{data:t.data}:{}}},Wi=function(){let 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)},Pi=new Set(["__proto__","prototype","constructor"]),Fi="payload-live-preview-a11y",Di=new WeakMap,Ui=class{constructor(t,e){oe(this,"s");let i=e??(typeof document>"u"?null:document),n=i?.documentElement.getAttribute("lang")??"";this.s=[x(t??(n.length>0?n:N())),i,null]}mount(){let t=this.s[1];if(null==t?.body)return null;let e=this.s[2];null===e&&(e=function(t){let e=Di.get(t);return e??(e=[null,0,null,0,null]),Di.set(t,e),e[3]+=1,e}(t),this.s[2]=e);let i=e[0];if(i?.isConnected&&i.ownerDocument===t)return i;if(null!==i){let t=e[1];M(e),t&&i.remove()}let n=t.getElementById(Fi);return e[1]=null===n,n||(n=t.createElement("div"),n.id=Fi,n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),n.setAttribute("aria-atomic","true"),n.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(n)),e[0]=n,n}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?"\\xc4nderung":"\\xc4nderungen"} angewendet`:`${String(t)} ${1===t?"change":"changes"} applied`)}detach(){let t=this.s[2],e=this.s[1];if(null===t||null===e||(this.s[2]=null,t[3]-=1,t[3]>0))return;let i=t[0];null!==i&&M(t),t[1]&&i?.remove(),t[0]=null,Di.delete(e)}say(t){let e=this.mount(),i=this.s[2];if(null===e||null===i)return;let n=i[2];n?.parentNode!==e?(n?.remove(),n=e.ownerDocument.createTextNode(e.hasChildNodes()?` ${t}`:t),i[2]=n,e.appendChild(n)):n.data=null===n.previousSibling?t:` ${t}`,null!==i[4]&&clearTimeout(i[4]);let r=setTimeout(()=>{i[4]===r&&i[0]===e&&M(i)},1500);i[4]=r}},zi=new Set(["tabs","row","collapsible"]),Vi={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"},Gi=[0,500,1e3,2e3],Bi=class{constructor(t){he(this,Hi);oe(this,"d");oe(this,"l");let n=t.emitter,r=t.renderers,l=t.resolveRenderer??(t=>r[t]),s=t.transformValue,o=t.root??(typeof document<"u"?document:null),a=t.readyTargets,u=t.sendReady??_,h=t.onHeartbeatTimeout,c=void 0===t.log?i:e(t.log),f=void 0===t.warn?pe:e(t.warn),p=function(t){if(0==t.enableA11y)return null;let e=void 0===t.root?void 0:9===t.root.nodeType?t.root:t.root.ownerDocument;return new Ui(t.a11yLocale,e)}(t),g=void 0!==t.dataMerge?new wi({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)=>{c(...t)}}):null,m=new ze,y=new Ke({onStructuralChange:()=>{de(this,Hi,Ki).call(this)},onVisibilityChange:(t,e)=>{e&&this.d[3].notifyVisible(t)}},{...void 0!==t.intersectionRootMargin?{intersectionRootMargin:t.intersectionRootMargin}:{}}),v=new xi($(t=>de(this,Hi,dn).call(this,t)),{...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.disableVisibilityGate?{disableVisibilityGate:t.disableVisibilityGate}:{},...void 0!==t.visibilityGateThreshold?{visibilityGateThreshold:t.visibilityGateThreshold}:{},isVisible:t=>y.isVisible(t),getCacheSize:()=>m.elementCount,onFlush:t=>{de(this,Hi,fn).call(this,t)}}),b=new ri(t.originMatcher,{onUpdate:(t,e,i)=>{de(this,Hi,tn).call(this,t,e,i)},onDocumentEvent:()=>{n.emit("documentSave",{timestamp:Date.now()})},onInvalid:(t,e)=>{if("token"===t){let t=new Error(`Preview token rejected (origin: ${e})`);n.emit("error",{error:t,context:"token"})}c("message rejected:",t,e)},...void 0!==t.validateToken?{validateToken:t.validateToken}:{}}),w=new bi(()=>{}),S=new vi({...void 0!==t.heartbeatMs?{timeoutMs:t.heartbeatMs}:{},onTimeout:()=>{de(this,Hi,pn).call(this)}});this.d=[n,m,y,v,b,w,S,r,l,s,o,a,u,h,c,f,[],p,g,1==t.scopeBindingsByOwner],this.l=[void 0,void 0,void 0,d(void 0),0,null,0,null,new Set,0,0]}start(){if(this.l[4])return 0;this.l[4]=1;let t=this.d[10];if(L(t)&&"loading"===t.readyState){let e=()=>{if(this.l[4]){this.l[5]=null;try{de(this,Hi,qi).call(this)}catch(t){de(this,Hi,Xi).call(this),de(this,Hi,mn).call(this,t,"startup")}}};this.l[5]=e;try{t.addEventListener("DOMContentLoaded",e,{once:1})}catch(t){throw de(this,Hi,Xi).call(this),t}return 1}try{return de(this,Hi,qi).call(this),1}catch(t){throw de(this,Hi,Xi).call(this),t}}suspend(){return this.l[4]?(de(this,Hi,Ji).call(this)&&this.d[0].emit("disconnect",{reason:"unload",timestamp:Date.now()}),1):0}destroy(){this.l[4]&&(de(this,Hi,Ji).call(this)&&this.d[0].emit("disconnect",{reason:"destroy",timestamp:Date.now()}),this.d[17]?.detach(),this.d[0].emit("destroy",{timestamp:Date.now()}))}refreshCache(){this.l[4]&&de(this,Hi,Ki).call(this)}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]}},Hi=new WeakSet,qi=function(){if(!this.l[4])return;let t=L(this.d[10])?function(t){return t.body}(this.d[10]):this.d[10];if(null===t)throw new Error("LivePreviewRuntime: document.body unavailable");if(this.d[2].start(t),de(this,Hi,Zi).call(this),de(this,Hi,hn).call(this)&&(this.d[4].attach(),this.d[0].emitWhile("init",{timestamp:Date.now()},()=>this.l[4]),de(this,Hi,hn).call(this)))for(let t of Gi){if(!de(this,Hi,hn).call(this))return;if(0===t){if(this.d[12](this.d[11]),!de(this,Hi,hn).call(this))return}else{let e=setTimeout(()=>{this.l[4]&&de(this,Hi,gn).call(this)},t);this.d[16].push(e)}}},Ji=function(){this.l[7]=null,this.l[4]=0;let t=this.l[5];this.l[5]=null,null!==t&&L(this.d[10])&&de(this,Hi,Yi).call(this,()=>{this.d[10].removeEventListener("DOMContentLoaded",t)});for(let t of this.d[16])de(this,Hi,Yi).call(this,()=>{clearTimeout(t)});return this.d[16].length=0,de(this,Hi,Yi).call(this,()=>{this.d[6].stop()}),de(this,Hi,Yi).call(this,()=>{this.d[4].detach()}),de(this,Hi,Yi).call(this,()=>{this.d[2].stop()}),de(this,Hi,Yi).call(this,()=>{this.d[3].destroy()}),de(this,Hi,Yi).call(this,()=>{this.d[18]?.destroy()}),this.d[1].clear(),this.d[5].markDisconnected()},Xi=function(){de(this,Hi,Ji).call(this),de(this,Hi,Yi).call(this,()=>{this.d[17]?.detach()})},Yi=function(t){try{t()}catch(t){this.d[14]("cleanup failed:",t)}},Zi=function(){if(!this.l[4])return;let t=this.d[1].buildFromRoot(this.d[10]);if(this.d[14]("cache",t),de(this,Hi,hn).call(this)&&(this.d[0].emitWhile("cacheRefresh",t,()=>this.l[4]),de(this,Hi,hn).call(this)))for(let t of this.d[1].values()){if(!de(this,Hi,hn).call(this))return;this.d[2].observeElement(t.element)}},Ki=function(){if(!this.l[4])return;let t=new Map;for(let e of this.d[1].values())t.set(e.element,e),this.d[2].unobserveElement(e.element);if(de(this,Hi,Zi).call(this),de(this,Hi,hn).call(this)){for(let e of this.d[1].values())t.get(e.element)?.fieldName===e.fieldName?this.d[3].retarget(e):this.d[3].forget(e.element),t.delete(e.element);for(let e of t.values())this.d[3].forget(e.element)}},Qi=function(t){let e=d(t);e.negotiated!==this.l[3].negotiated&&(this.l[3]=e,this.d[14]("protocol","ours=4",`theirs=${t}`,`negotiated=${e.negotiated}`))},tn=function(t,e,i){if(this.d[6].kick(),void 0===t.data){void 0!==t.protocolVersion&&de(this,Hi,Qi).call(this,t.protocolVersion);return}if(void 0===i)return;"string"==typeof t.locale&&(this.l[0]=t.locale),Array.isArray(t.fieldSchemaJSON)&&(this.l[1]=t.fieldSchemaJSON,this.l[2]=C(t.fieldSchemaJSON));let n={identity:i,message:t,locale:this.l[0],schema:this.l[1],schemaIndex:this.l[2],cancelled:0};this.l[7]=n,this.d[3].acceptRevision(i),this.l[6]+=1,(void 0===t.protocolVersion||(de(this,Hi,Qi).call(this,t.protocolVersion),this.l[4]&&this.l[7]===n))&&(this.d[5].markConnected()&&(this.d[17]?.announceConnected(),this.d[0].emit("connect",{origin:e,timestamp:Date.now()}),!this.l[4]||this.l[7]!==n||(this.d[14]("connection","disconnected","\\u2192","connected"),!this.l[4]||this.l[7]!==n))||de(this,Hi,en).call(this,n))},en=async function(t){let e=await de(this,Hi,nn).call(this,t);if(null===e||!this.l[4]||this.l[7]!==t)return;let{message:i}=t,n={fields:e,...void 0!==t.schema?{schema:t.schema}:{},..."string"==typeof i.globalSlug?{globalSlug:i.globalSlug}:{},..."string"==typeof i.collectionSlug?{collectionSlug:i.collectionSlug}:{},...void 0!==t.locale?{locale:t.locale}:{}};this.d[0].listenerCount("beforeUpdate")>0&&(!await this.d[0].emitWhile("beforeUpdate",{data:n,revision:t.identity.revision,cancel:()=>{t.cancelled=1,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&&de(this,Hi,rn).call(this,t,n)},nn=async function(t){let{message:e}=t,i=e.data??{};if(null===this.d[18])return i;let n=await this.d[18].merge({collectionSlug:e.collectionSlug,globalSlug:e.globalSlug,data:i,locale:t.locale});return this.l[4]&&this.l[7]===t?"merged"===n.status?n.doc:"superseded"===n.status?null:i:null},rn=function(t,e){if(!this.l[4]||this.l[7]!==t)return;let i=()=>this.l[4]&&this.l[7]===t,n=de(this,Hi,ln).call(this,t,e.fields);for(let[r,l]of this.d[1].entries()){if(!this.l[4]||this.l[7]!==t)return;for(let s of l){if(0!=n&&!o(s.owner,n))continue;let l=T(e.fields,r,s.locale??t.locale,void 0!==s.locale);if(void 0===l)continue;if(!this.l[4]||this.l[7]!==t)return;let a=de(this,Hi,un).call(this,s,l,e.fields,i);if(!this.l[4]||this.l[7]!==t)return;let u={target:s,value:a,allFields:e.fields,identity:t.identity,data:e};if(!this.l[4]||this.l[7]!==t)return;this.d[3].schedule(u)}}de(this,Hi,an).call(this,e.fields,t.locale,n)},ln=function(t,e){if(!this.d[19])return 0;let{message:i}=t,n=function(t){if(s(t.globalSlug))return[r(t.globalSlug)];if(!s(t.collectionSlug))return null;let e=l(t.collectionSlug);return s(t.documentId)?[e,l(t.collectionSlug,t.documentId)]:[e]}({globalSlug:"string"==typeof i.globalSlug?i.globalSlug:void 0,collectionSlug:"string"==typeof i.collectionSlug?i.collectionSlug:void 0,documentId:a(e)});return null===n&&!this.l[9]&&(this.l[9]=1,this.d[15]("[live-preview] scopeBindingsByOwner: update names no document; nothing applied")),n},sn=function(t){for(let e of this.d[1].values())if(o(e.owner,t))return 1;return 0},on=function(t,e){let i=this.d[1].get(t);return void 0===i?0:0==e?1:i.some(t=>o(t.owner,e))},an=function(t,e,i){if(0===this.d[1].fieldCount||0!=i&&!de(this,Hi,sn).call(this,i))return;let n;for(let[r,l]of Object.entries(t)){if(this.l[8].has(r)||vn.has(r)||!P(l))continue;let t=F(r,e);if(!(de(this,Hi,on).call(this,r,i)||t!==r&&de(this,Hi,on).call(this,t,i))){if(void 0===n){n=new Set;for(let[t,e]of this.d[1].entries())for(let r of e)0!=i&&!o(r.owner,i)||void 0!==r.locale&&n.add(`${t}_${r.locale}`)}n.has(r)||(this.l[8].add(r),this.d[15](`[live-preview] update arrived for field "${r}" but no <\\u2026 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.`))}}},un=function(e,i,n,r){if(void 0===this.d[9])return i;try{let l=this.d[9](e.fieldName,i,{element:e.element,allFields:n},r),s=t(l);if(!r())return i;if(s)throw new TypeError(`Transform for "${e.fieldName}" returned a Promise/thenable; transforms must be synchronous`);return l}catch(t){if(!r())return i;let e=t instanceof Error?t:new Error(String(t));return this.d[0].emit("error",{error:e,context:"transform"}),i}},hn=function(){return this.l[4]},cn=function(t){0!==t.deferred&&(this.l[10]||(this.l[10]=1,this.d[15](`[live-preview] visibility gate held ${String(t.deferred)} offscreen update(s) until scrolled into view; see visibilityGateThreshold.`)))},dn=function(t){let e=this.l[7];if(null===e||void 0===t.identity||!W(e.identity,t.identity)||!this.l[4]||this.l[7]!==e)return 0;let i=void 0!==e.schemaIndex?function(t,e){if(t.has(e))return t.get(e);let i=e.replace(/\\.\\d+(?=\\.|$)/g,".*");return t.has(i)?t.get(i):void 0}(e.schemaIndex,t.target.fieldName):void 0,n=t.value,r=function(t,e){if(t.explicitFieldType)return t.fieldType;if(void 0!==e){let t=function(t){if(Object.prototype.hasOwnProperty.call(Vi,t))return Vi[t]}(e);if(void 0!==t)return t}return t.fieldType}(t.target,i?.type);"text"===r&&1!=t.target.explicitFieldType&&function(t){if("object"!=typeof t||null===t||!("root"in t))return 0;let e=t.root;return"object"!=typeof e||null===e?0:Array.isArray(e.children)}(n)&&(r="richText");let l;try{l=this.d[8](r)}catch(t){if(!this.l[4]||this.l[7]!==e)return 0;let i=t instanceof Error?t:new Error(String(t));return this.d[0].emitWhile("error",{error:i,context:"renderer"},()=>this.l[4]&&this.l[7]===e),0}if(!this.l[4]||this.l[7]!==e)return 0;let s=this.d[0].listenerCount("elementUpdate")>0,o=s?function(t){return"INPUT"===t.tagName||"TEXTAREA"===t.tagName?t.value:"IMG"===t.tagName?t.src:t.textContent}(t.target.element):void 0;if(!this.l[4]||this.l[7]!==e)return 0;let a={allFields:t.allFields,locale:t.target.locale??e.locale,schema:i};try{if(void 0!==t.target.targetAttribute){if("blocked"===function(t,e,i){let n=e.toLowerCase().trim();if(0===n.length||n.startsWith("on")||Ti.has(n))return"blocked";if(null==i)return t.removeAttribute(n),"applied";if("string"!=typeof i&&"number"!=typeof i&&"boolean"!=typeof i)return"blocked";let r=String(i);return ki.has(n)&&!w(r)?"blocked":(t.setAttribute(n,r),"applied")}(t.target.element,t.target.targetAttribute,n))return this.d[15](`[live-preview] refused to write field "${t.target.fieldName}" into attribute "${t.target.targetAttribute}" (unsafe attribute or value)`),0}else{if(!l)return this.d[14]("no renderer for",r),0;if(0==function(t,e,i,n){return t.render(e,i,n)}(l,t.target,n,a)&&function(t){return Ni.has(t.render)}(l))return 0}}catch(t){if(!this.l[4]||this.l[7]!==e)return 0;let i=t instanceof Error?t:new Error(String(t));return this.d[0].emitWhile("error",{error:i,context:"renderer"},()=>this.l[4]&&this.l[7]===e),0}return this.l[4]&&this.l[7]===e?(s&&this.d[0].emitWhile("elementUpdate",{element:t.target.element,fieldName:t.target.fieldName,previousValue:o,nextValue:n,revision:e.identity.revision},()=>this.l[4]&&this.l[7]===e),this.l[4]&&this.l[7]===e):0},fn=function(t){de(this,Hi,cn).call(this,t);let{identity:e,data:i}=t;if(0===t.applied||void 0===e||void 0===i)return;let n=this.l[7];if(null===n||!this.l[4]||this.l[7]!==n||!W(n.identity,e))return;let r=()=>this.l[4]&&this.l[7]===n&&W(n.identity,e);this.d[17]?.announceUpdate(t.applied),r()&&0!==this.d[0].listenerCount("afterUpdate")&&this.d[0].emitWhile("afterUpdate",{data:i,updatedCount:t.applied,durationMs:t.durationMs,revision:e.revision},r)},pn=function(){if(!de(this,Hi,hn).call(this))return;this.d[4].advanceGeneration();let t=this.l[7];this.l[7]=null,null!==t&&this.d[3].cancelRevision(t.identity),this.d[18]?.destroy();let e=this.d[5].markDisconnected();try{this.d[13]?.()}catch(t){this.d[14]("heartbeat:",t)}de(this,Hi,hn).call(this)&&(e&&de(this,Hi,yn).call(this)&&(this.d[17]?.announceDisconnected(),this.d[0].emitWhile("disconnect",{reason:"timeout",timestamp:Date.now()},()=>de(this,Hi,yn).call(this)),!de(this,Hi,hn).call(this)||de(this,Hi,yn).call(this)&&(this.d[14]("connection","connected","\\u2192","disconnected"),!de(this,Hi,hn).call(this)))||de(this,Hi,hn).call(this)&&de(this,Hi,gn).call(this))},gn=function(){try{this.d[12](this.d[11])}catch(t){de(this,Hi,mn).call(this,t,"ready")}},mn=function(t,e){let i=t instanceof Error?t:new Error(String(t));this.d[0].emit("error",{error:i,context:e})},yn=function(){return this.l[4]&&"disconnected"===this.d[5].status&&null===this.l[7]},vn=new Set(["id","_id","createdAt","updatedAt","createdBy","updatedBy","_status","globalType","collection","locale","localized"]),bn=/^https?:\\/\\/(localhost|127\\.0\\.0\\.1)(?::\\d+)?$/i,wn=/^https?:\\/\\/[^/?#\\s]+$/i,Sn=["PAYLOAD_ADMIN_ORIGIN","PUBLIC_PAYLOAD_ADMIN_ORIGIN","NEXT_PUBLIC_PAYLOAD_ADMIN_ORIGIN"],$n=class{constructor(t={}){he(this,An);let e=new Set;for(let i of t.additionalOrigins??[]){let t=z(i);void 0!==t&&e.add(t)}for(let t of Sn){let i=U(t);if(void 0!==i)for(let t of i.split(",")){let i=z(t);void 0!==i&&e.add(i)}}let i;if(t.enableReferrerDetection??1){let e=t.referrer??(typeof document<"u"?document.referrer:"");if(e.length>0)try{let t=new URL(e).origin;t&&"null"!==t&&(i=t)}catch{}}let n=(t.enableLocalhostMatching??1)&&(t.forceDevMode??function(){let t=function(){if(!(typeof process>"u"))return"production"}();if(void 0!==t)return"production"!==t;0;if(typeof window<"u"){let t=window.location.hostname;if("localhost"===t||"127.0.0.1"===t)return 1}return 0}());ce(this,An,[e,i,n,void 0!==i,void 0])}matches(t){return 0===t.length||"null"===t?0:void 0!==ue(this,An)[4]?t===ue(this,An)[4]:!!(ue(this,An)[0].has(t)||0===ue(this,An)[0].size&&void 0!==ue(this,An)[1]&&t===ue(this,An)[1]||ue(this,An)[2]&&bn.test(t))}lockOrigin(t){return this.matches(t)?(ue(this,An)[4]=t,1):0}unlockOrigin(){let t=ue(this,An)[4];return ue(this,An)[4]=void 0,t}get lockedOrigin(){return ue(this,An)[4]}enumerate(){if(void 0!==ue(this,An)[4])return[ue(this,An)[4]];let t=new Set(ue(this,An)[0]);if(0===ue(this,An)[0].size&&void 0!==ue(this,An)[1]&&t.add(ue(this,An)[1]),ue(this,An)[2])for(let e of Tn)t.add(`http://localhost:${String(e)}`),t.add(`http://127.0.0.1:${String(e)}`);return[...t]}get referrerWasAvailable(){return ue(this,An)[3]}get isProductionUnconfigured(){return!(!D()||ue(this,An)[0].size>0||ue(this,An)[2]||void 0!==ue(this,An)[1])}get isReferrerOnlyTrust(){return ue(this,An)[0].size>0||ue(this,An)[2]?0:void 0!==ue(this,An)[1]}},An=new WeakMap,Tn=[3e3,3001,3333,4e3,4321,5e3,5173,5174,8e3,8080,8888,9e3],kn=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"]),Nn=new Set(["script","style","iframe","object","embed","link","meta","base","form","input","button","select","textarea","svg","math","template","frame","frameset","noframes","noscript"]),xn=new Set(["id","class","lang","dir","title","role","tabindex"]),Mn="aria-",Cn="data-",On={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"])},jn=new Set(["href","src","cite","poster"]),En=1,In=8,Rn=class extends Error{constructor(){super(...arguments);oe(this,"name","SanitizerEnvironmentError")}},Ln=(Object.freeze({allowedTags:kn,removeCompletely:Nn,globalAttributes:xn,attributesByTag:On,urlAttributes:jn}),new Map),_n={1:"left",2:"center",3:"right",4:"justify"},Wn=new Set(["left","center","right","justify","start","end"]),Pn=Object.freeze({"&":"&","<":"<",">":">",\'"\':""","\'":"'","/":"/","`":"`","=":"="}),Fn=/[&<>"\'/`=]/g,Dn=Object.freeze({"&":"&","<":"<",">":">",\'"\':""","\'":"'"}),Un=/[&<>"\']/g,zn=new Set(["h1","h2","h3","h4","h5","h6"]),Vn=(t,e)=>{let i="string"==typeof t.url?t.url:"",n=e.renderChildren(t.children??[]);if(0===i.length||!w(i))return n;let r=S(i)?\' target="_blank" rel="noopener noreferrer"\':function(t){let e="string"==typeof t.target?t.target:"";if(0===e.length)return"";let i=Q(e);return"_blank"===e?\' target="_blank" rel="noopener noreferrer"\':` target="${i}"`}(t),l="string"==typeof t.title?` title="${Q(t.title)}"`:"";return`<a href="${tt(i)}"${r}${l}>${n}</a>`},Gn=new Map;J("text",t=>{let e=Q("string"==typeof t.text?t.text:""),i="number"==typeof t.format?t.format:0;return!!(16&i)&&(e=`<code>${e}</code>`),!!(1&i)&&(e=`<strong>${e}</strong>`),!!(2&i)&&(e=`<em>${e}</em>`),!!(8&i)&&(e=`<u>${e}</u>`),!!(4&i)&&(e=`<s>${e}</s>`),!!(32&i)&&(e=`<sub>${e}</sub>`),!!(64&i)&&(e=`<sup>${e}</sup>`),!!(128&i)&&(e=`<mark>${e}</mark>`),e});J("paragraph",(t,e)=>{let i=e.renderChildren(t.children??[]);return`<p${Z(t)}${K(t)}>${i}</p>`});J("heading",(t,e)=>{let i="string"==typeof t.tag?t.tag.toLowerCase():"h2",n=zn.has(i)?i:"h2",r=e.renderChildren(t.children??[]);return`<${n}${Z(t)}${K(t)}>${r}</${n}>`});J("list",(t,e)=>{let i="string"==typeof t.listType?t.listType:"bullet",n="number"===i?"ol":"ul",r="number"===i&&"number"==typeof t.start&&t.start>1?` start="${String(t.start)}"`:"",l="check"===i?\' role="list"\':"",s=e.renderChildren(t.children??[]);return`<${n}${Z(t)}${K(t)}${r}${l}>${s}</${n}>`});J("listitem",(t,e)=>{let i=e.renderChildren(t.children??[]);if("boolean"==typeof t.checked)return`<li role="checkbox" aria-checked="${t.checked?"true":"false"}"${K(t)}>${i}</li>`;let n="number"==typeof t.value?` value="${Q(String(t.value))}"`:"";return`<li${Z(t)}${K(t)}${n}>${i}</li>`});J("link",Vn);J("autolink",Vn);J("quote",(t,e)=>{let i=e.renderChildren(t.children??[]);return`<blockquote${Z(t)}${K(t)}>${i}</blockquote>`});J("code",t=>{let e=nt("string"==typeof t.language?t.language:"");return`<pre><code${""===e?"":` class="language-${e}"`}>${Q(it(t))}</code></pre>`});J("code-highlight",t=>{let e="string"==typeof t.text?t.text:"";return`<span${"string"==typeof t.highlightType?` class="token-${nt(t.highlightType)}"`:""}>${Q(e)}</span>`});J("linebreak",()=>"<br>");J("horizontalrule",()=>"<hr>");J("tab",()=>"\\t");J("upload",t=>{let e=function(t){let e=t.value;if("object"==typeof e&&null!==e)return e}(t);if(void 0===e)return"";let i=e.url;if("string"!=typeof i||!w(i))return"";let n="string"==typeof e.mimeType?e.mimeType:"";return n.startsWith("video/")?function(t,e){let i="number"==typeof t.width?` width="${String(t.width)}"`:"",n="number"==typeof t.height?` height="${String(t.height)}"`:"",r="string"==typeof t.mimeType?` type="${tt(t.mimeType)}"`:"";return`<video controls${i}${n}><source src="${tt(e)}"${r}></video>`}(e,i):n.startsWith("audio/")?function(t,e){let i="string"==typeof t.mimeType?` type="${tt(t.mimeType)}"`:"";return`<audio controls><source src="${tt(e)}"${i}></audio>`}(e,i):""===n||n.startsWith("image/")?function(t,e){let i="string"==typeof t.alt?Q(t.alt):"",n="number"==typeof t.width?` width="${String(t.width)}"`:"",r="number"==typeof t.height?` height="${String(t.height)}"`:"";return`<img src="${tt(e)}" alt="${i}"${n}${r} loading="lazy" decoding="async">`}(e,i):function(t,e){let i="string"==typeof t.filename?Q(t.filename):Q(e);return`<a href="${tt(e)}" target="_blank" rel="noopener noreferrer">${i}</a>`}(e,i)});J("relationship",t=>{let e="string"==typeof t.relationTo?t.relationTo:"",i=function(t){let e=t.value;if("object"==typeof e&&null!==e)return e}(t),n=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}`}(i,e),r=Q(n),l=""===e?"":` data-relation-to="${Q(e)}"`,s=i?.url;return"string"==typeof s&&w(s)?`<a href="${tt(s)}"${l}>${r}</a>`:`<span${l}>${r}</span>`});J("block",(t,e)=>{let i=function(t){let e=t.fields;return"object"!=typeof e||null===e?{}:e}(t),n="string"==typeof i.blockType?i.blockType:"",r=lt(n);if(""!==n){let t=rt(n)??rt(r);if(t)return t(i,{renderChildren:e.renderChildren})}let l=[];""!==r&&l.push(`data-block-type="${Q(r)}"`);for(let[t,e]of Object.entries(i)){if("blockType"===t||"id"===t||null==e)continue;let i="string"==typeof e||"number"==typeof e||"boolean"==typeof e?String(e):JSON.stringify(e);l.push(`data-block-${lt(t)}="${Q(i)}"`)}return`<div${0===l.length?"":` ${l.join(" ")}`}></div>`});_t={renderChildren:at,resolveAlignment:X,resolveIndent:Y};Wt="data-payload-text";Pt={name:"textarea",render(t,e){let i=t.element,n=st(e)?ot(e):dt(e);"INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName?i.innerHTML=et(n):i.value=n}};Ft={name:"richText",render:$((t,e)=>{if(st(e))t.element.innerHTML=function(t,e={}){if(!st(t))return"";let i=at(t.root.children);return 0==e.sanitize||void 0===G()?i:V(i)}(e);else{if("string"!=typeof e)return 0;t.element.innerHTML=V(e)}})};Dt={name:"html",render(t,e){if(null==e){t.element.textContent="";return}let i="string"==typeof e?e:dt(e);t.element.innerHTML=V(i)}};Ut={name:"url",render(t,e,i){let n=t.element,r=dt(e);if("A"===n.tagName){let l=n,s=t.hrefField,o=void 0===s||0===s.length?e:T(i.allFields,s,i.locale,void 0!==t.locale);"string"==typeof o&&w(o)&&(l.href=o),l.textContent=r;return}"INPUT"!==n.tagName&&"TEXTAREA"!==n.tagName?n.textContent=r:n.value=r}};zt={name:"image",render:$((t,e,i)=>{let n=t.element,r=ft(e),l=void 0!==t.locale,s=function(t,e,i,n,r,l){if(void 0!==i&&i.length>0){let t=T(n,i,r,l);if("string"==typeof t&&w(t))return t;let e=ft(t);return void 0!==e?.url&&w(e.url)?e.url:void 0}return void 0!==t?.url&&w(t.url)?t.url:"string"==typeof e&&w(e)?e:void 0}(r,e,t.srcField,i.allFields,i.locale,l);if(void 0===s)return 0;if("IMG"===n.tagName){let e=n;e.src=s;let o=function(t,e,i,n,r){if(void 0!==e&&e.length>0){let t=T(i,e,n,r);return"string"==typeof t?t:void 0}if(void 0!==t?.alt)return t.alt}(r,t.altField,i.allFields,i.locale,l);void 0!==o&&(e.alt=o);return}n.style.backgroundImage=`url(\'${function(t){return t.replace(/[\'"()\\\\]/g,"\\\\$&")}(s)}\')`})};Vt={name:"upload",render:$((t,e)=>{let i=t.element,n=function(t){if("object"==typeof t&&null!==t)return t}(e);if(void 0===n)return 0;let r=n.url;if("string"!=typeof r||!w(r))return 0;if("IMG"===i.tagName){let t=i;t.src=r,void 0!==n.alt&&(t.alt=n.alt);return}if("A"===i.tagName){let t=i;t.href=r,t.textContent=n.filename??r;return}let l=void 0!==n.filename?Q(n.filename):Q(r);i.innerHTML=`<a href="${tt(r)}">${l}</a>`})};Gt={name:"relationship",render(t,e){let i=t.element,n=function(t){return null==t?[""]:Array.isArray(t)?t.map(pt):[pt(t)]}(e).join(", ");if("A"===i.tagName&&!Array.isArray(e)){let t=i,r=e?.url;"string"==typeof r&&w(r)&&(t.href=r),t.textContent=n;return}i.textContent=n}};Bt={name:"select",render(t,e){let i=t.element,n=gt(e);if("SELECT"!==i.tagName){if("INPUT"===i.tagName&&"radio"===i.type){let t=i;t.checked=t.value===n;return}i.textContent=n}else i.value=n}};Ht={name:"checkbox",render(t,e){let i=t.element,n=!!e;"INPUT"!==i.tagName||"checkbox"!==i.type?i.hasAttribute("aria-checked")?i.setAttribute("aria-checked",n?"true":"false"):i.textContent=n?"true":"false":i.checked=n}};qt=new Map,Jt=new Map,Xt=64;Yt={name:"date",render(t,e,i){let n=t.element;if(null==e||""===e){"INPUT"===n.tagName?n.value="":("TIME"===n.tagName&&n.removeAttribute("datetime"),n.textContent="");return}let r="string"==typeof e?e:dt(e),l=new Date(r),s=!Number.isNaN(l.getTime());"INPUT"!==n.tagName?("TIME"!==n.tagName||n.setAttribute("datetime",s?l.toISOString():r),n.textContent=s?function(t,e){let i=e.locale??N();try{return function(t,e){let i=mt(t,e),n=Jt.get(i);if(void 0!==n)return Jt.delete(i),Jt.set(i,n),n;let r=new Intl.DateTimeFormat(t,e);return Jt.set(i,r),vt(Jt),r}(i,{dateStyle:"medium",timeStyle:"short"}).format(t)}catch{return t.toISOString()}}(l,i):r):n.value=s?function(t,e){return"date"===t?e.toISOString().slice(0,10):"datetime-local"===t?e.toISOString().slice(0,16):e.toISOString()}(n.type,l):r}};Zt={name:"number",render(t,e,i){let n=t.element;if(null==e||""===e){"INPUT"===n.tagName?n.value="":n.textContent="";return}let r="number"==typeof e?e:Number(dt(e));Number.isNaN(r)?n.textContent=dt(e):"INPUT"!==n.tagName?n.textContent=function(t,e){let i=e.locale??N();try{return function(t,e){let i=mt(t,e),n=qt.get(i);if(void 0!==n)return qt.delete(i),qt.set(i,n),n;let r=new Intl.NumberFormat(t,e);return qt.set(i,r),vt(qt),r}(i).format(t)}catch{return String(t)}}(r,i):n.value=String(r)}};Kt=/\\{\\{([\\s\\S]*?)\\}\\}/g;Qt={name:"array",render:$((t,e)=>{let i=t.element;if(!Array.isArray(e))return 0;let n=t.arrayTemplate;if(void 0!==n&&n.length>0){let t=function(t,e){let i="";for(let n=0;n<e.length;n+=1)i+=wt(t,e[n],n);return i}(n,e);i.innerHTML=V(t);return}let r=t.arraySeparator??", ";i.textContent=e.map(St).join(r)})};te="data-payload-key",ee="data-payload-nested-key",ie="data-payload-nested-template";ne=new Map;re=[Pt,Ft,Dt,Ut,{...Ut,name:"email"},zt,Vt,Gt,Bt,{...Bt,name:"radio"},Ht,Yt,Zt,Qt,{...Qt,name:"blocks"}];!function(){if(typeof window>"u"||!D()&&(typeof window>"u"||null==window.opener))return;let t=window.__livePreview;if(void 0!==t)return t;let[e=[],i="",n="/api",r=1,l=0,s=50,o=1,a=0,u=0,h=50,c="200px",d=0,f=0,p=0]=typeof __LIVE_PREVIEW_CONFIG__>"u"?[]:__LIVE_PREVIEW_CONFIG__,g=new $n({additionalOrigins:e,enableReferrerDetection:!d,enableLocalhostMatching:!f});g.isProductionUnconfigured?pe("[live-preview] No trusted origin. Set PAYLOAD_ADMIN_ORIGIN or pass allowedOrigins to generateInlineScript()."):g.isReferrerOnlyTrust&&pe("[live-preview] document.referrer fallback trusts any framing site. Set allowedOrigins and a frame-ancestors CSP in production.");let m=new me,y=function(t=[]){let e={};for(let i of t)e[i.name]=i;for(let[t,i]of ne)e[t]=i;return Object.freeze(e)}([ct(),...re,Rt()]),v=new Bi({renderers:y,originMatcher:t=>g.matches(t),readyTargets:g.enumerate(),emitter:m,...""!==i?{dataMerge:{serverURL:i,apiRoute:n,depth:r}}:{},debounceMs:s,heartbeatMs:a,intersectionRootMargin:c,disableVisibilityGate:u,visibilityGateThreshold:h,enableA11y:o,scopeBindingsByOwner:p,onHeartbeatTimeout:()=>{g.unlockOrigin()},...l?{log:(...t)=>{ge("[live-preview]",...t)}}:{}});m.on("connect",t=>{g.lockOrigin(t.origin)}),v.start();let b=function(t,e={}){let i=e.windowTarget??globalThis.window,n=e.documentTarget??globalThis.document,r=e.softNavigationEvents??[],l=()=>{t.suspend()},s=e=>{1==e.persisted&&t.resume()},o=()=>{t.refreshCache()};i?.addEventListener("pagehide",l),i?.addEventListener("pageshow",s);for(let t of r)n?.addEventListener(t,o);let a=0;return()=>{if(!a){a=1,i?.removeEventListener("pagehide",l),i?.removeEventListener("pageshow",s);for(let t of r)n?.removeEventListener(t,o)}}}({suspend:()=>v.suspend(),resume:()=>v.start(),refreshCache:()=>{v.refreshCache()}}),w=Object.freeze({version:"1.4.1",destroy:()=>{b(),v.destroy();let t=window;t.__livePreview===w&&delete t.__livePreview},refresh:()=>{v.refreshCache()},enumerateOrigins:()=>g.enumerate()});try{Object.defineProperty(window,"__livePreview",{value:w,writable:0,configurable:1})}catch(t){throw b(),v.destroy(),t}}()})();';function n(t={}){if(0===i.length)throw new Error("[live-preview] runtime.generated.ts is empty. Run `npm run build:runtime` before bundling.");let e=[t.allowedOrigins,t.serverURL,t.apiRoute,t.mergeDepth,t.debug,t.debounceMs,t.enableA11y,t.heartbeatMs,t.disableVisibilityGate,t.visibilityGateThreshold,t.intersectionRootMargin,t.disableReferrerDetection,t.disableLocalhostMatching,t.scopeBindingsByOwner];for(;e.length>0&&void 0===e.at(-1);)e.pop();return[`var __LIVE_PREVIEW_CONFIG__=${`[${e.map(t=>void 0===t?"":JSON.stringify(t)).join(",")}]`.replace(/</g,"\\u003C")};`,i].join("\n")}function r(t,e={}){return`<script${void 0!==e.nonce?` nonce="${l(e.nonce)}"`:""}>${t}<\/script>`}function l(t){if(!/^[A-Za-z0-9+/=_-]+$/.test(t))throw new RangeError("wrapWithScriptTag: nonce contains invalid characters");return t}e(n,"generateInlineScript"),e(r,"wrapWithScriptTag"),e(l,"escapeNonce");var s="virtual:payload-live-preview/options",o=`\0${s}`;function a(t={}){return{name:"payload-live-preview",hooks:{"astro:config:setup":e(e=>{if("middleware"===t.mode)return void u(e,t);if(!1===t.autoInject)return;let i=n({...void 0!==t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{},...void 0!==t.serverURL?{serverURL:t.serverURL}:{},...void 0!==t.apiRoute?{apiRoute:t.apiRoute}:{},...void 0!==t.mergeDepth?{mergeDepth:t.mergeDepth}:{},...void 0!==t.debug?{debug:t.debug}:{},...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.heartbeatMs?{heartbeatMs:t.heartbeatMs}:{}});e.injectScript("head-inline",i)},"astro:config:setup")}}}function u(t,i){if(void 0===t.addMiddleware||void 0===t.updateConfig)throw new Error("payload-live-preview: mode 'middleware' needs Astro's addMiddleware/updateConfig hooks (Astro >= 4). Upgrade Astro or use the default inline mode.");if(void 0!==i.shouldInject)throw new Error("payload-live-preview: `shouldInject` cannot be used with mode 'middleware' — options are serialized into the build. Use `previewQueryParams`/`previewSignals`, or register createLivePreviewMiddleware() manually in src/middleware.ts.");let{mode:n,shouldInject:r,...l}=i,a=`export default ${JSON.stringify(l).replace(/</g,"\\u003C")};`;t.updateConfig({vite:{plugins:[{name:"payload-live-preview-options",resolveId:e(t=>t===s?o:void 0,"resolveId"),load:e(t=>t===o?a:void 0,"load")}]}}),t.addMiddleware({entrypoint:"payload-live-preview/astro/middleware-entry",order:"pre"})}e(a,"livePreview"),e(u,"setupMiddlewareMode");var d=/[\t\n\f\r ]+/,h=/^[\t\n\f\r ]+|[\t\n\f\r ]+$/g;function c(t){return t.replace(/[A-Z]/g,t=>t.toLowerCase())}function f(t=16){if(!Number.isInteger(t)||t<8)throw new RangeError(`generateCspNonce: bytes must be an integer >= 8, got ${String(t)}`);let e=p();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.");let i=new Uint8Array(t);return e.getRandomValues(i),g(i)}function p(){let t=globalThis.crypto;if(t?.getRandomValues)return t}function g(t){let e="";for(let i of t)e+=String.fromCharCode(i);return("function"==typeof btoa?btoa(e):Buffer.from(t).toString("base64")).replaceAll("+","-").replaceAll("/","_").replaceAll("=","")}function m(t={}){let{self:e=!0,origins:i=[],allowNone:n=!1}=t,r=new Set,l=[];if(n&&!e&&0===i.length)return"'none'";e&&(l.push("'self'"),r.add("'self'"));for(let t of i){let e=t.trim();0===e.length||r.has(e)||(r.add(e),l.push(e))}return l.length>0?l.join(" "):"'none'"}function y(t,e={}){if(0===t.length)throw new RangeError("buildScriptSrcWithNonce: nonce is empty");let{self:i=!0,extra:n=[],strictDynamic:r=!1}=e,l=[];i&&l.push("'self'"),l.push(`'nonce-${t}'`),r&&l.push("'strict-dynamic'");for(let t of n){let e=t.trim();e.length>0&&l.push(e)}return l.join(" ")}function v(t,e){let i=new Map;for(let e of t.split(";")){let t=e.replace(h,"");if(0===t.length)continue;let n=t.search(d),r=c(n<0?t:t.slice(0,n));if(i.has(r))continue;let l=n<0?"":t.slice(n).replace(h,"");i.set(r,l)}for(let[t,n]of Object.entries(e)){let e=c(t),r="string"==typeof n?{value:n}:n,l=r.mode??"union",s=i.get(e);if("replace"===l||void 0===s||0===s.length){i.set(e,r.value);continue}let o=new Set,a=[];for(let t of[...s.split(d),...r.value.split(d)])0===t.length||o.has(t)||(o.add(t),a.push(t));let u=a.filter(t=>"'none'"!==t);i.set(e,(u.length>0?u:a).join(" "))}let n=[];for(let[t,e]of i)n.push(0===e.length?t:`${t} ${e}`);return n.join("; ")}e(c,"asciiLowercase"),e(f,"generateCspNonce"),e(p,"resolveCrypto"),e(g,"base64UrlEncode"),e(m,"buildFrameAncestors"),e(y,"buildScriptSrcWithNonce"),e(v,"mergeCspHeader");var b=["preview","draft","livePreview"];function w(t,e={}){let i=new Set(e.signals??["query","fetch-dest","referer"]),n=e.queryParams??b,r=(e.checkFetchDest??!0)&&i.has("fetch-dest");if(i.has("query")){let e;try{e=new URL(t.url)}catch{e=void 0}if(void 0!==e)for(let t of n){let i=e.searchParams.get(t);if("true"===i||"1"===i)return!0}}if(r&&"iframe"===t.headers.get("sec-fetch-dest"))return!0;let l=i.has("referer")?e.adminOrigins??[]:[];if(l.length>0){let e=t.headers.get("referer");if(null!==e)try{let t=new URL(e).origin;for(let e of l)try{if(new URL(e).origin===t)return!0}catch{}}catch{}}return!1}e(w,"isPreviewRequest");var S="livePreviewNonce",A=/text\/html/i,$=/<head(\s[^>]*)?>/i;function T(t={}){let i,r=t.allowedOrigins??[],l=t.autoInject??!0,s=t.inject??"preview-only",o=M(t.manageCsp),a=t.shouldInject,u=e(()=>(i??=n({...void 0!==t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{},...void 0!==t.serverURL?{serverURL:t.serverURL}:{},...void 0!==t.apiRoute?{apiRoute:t.apiRoute}:{},...void 0!==t.mergeDepth?{mergeDepth:t.mergeDepth}:{},...void 0!==t.debug?{debug:t.debug}:{},...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.heartbeatMs?{heartbeatMs:t.heartbeatMs}:{}}),i),"scriptBody");return async(e,i)=>{let n=f();e.locals[S]=n;let d=await i();if(!0===e.isPrerendered||"always"!==s&&!w(e.request,{...void 0!==t.previewQueryParams?{queryParams:t.previewQueryParams}:{},...void 0!==t.previewSignals?{signals:t.previewSignals}:{},adminOrigins:r}))return d;let h=d,c=d.headers.get("content-type")??"";return l&&(a?.(e.request)??!0)&&A.test(c)&&(h=await k(d,n,u())),!1!==o&&(h=N(h,n,r,o,t)),h}}function M(t){return!1!==t&&("full"===t?"full":"frame-ancestors")}async function k(t,e,i){let n=await t.text(),l=new Headers(t.headers);if(l.delete("content-length"),!$.test(n))return new Response(n,{status:t.status,statusText:t.statusText,headers:l});let s=r(i,{nonce:e}),o=n.replace($,t=>`${t}${s}`);return new Response(o,{status:t.status,statusText:t.statusText,headers:l})}function N(t,e,i,n,r){let l={"frame-ancestors":m({self:!0,origins:[...i,...r.frameAncestorsExtra??[]]})};"full"===n&&(l["script-src"]=y(e,{self:!0,strictDynamic:r.strictDynamic??!1,...void 0!==r.scriptSrcExtra?{extra:r.scriptSrcExtra}:{}}));let s=v(t.headers.get("content-security-policy")??"",l);try{return t.headers.set("content-security-policy",s),t}catch{let e=new Headers(t.headers);return e.set("content-security-policy",s),new Response(t.body,{status:t.status,statusText:t.statusText,headers:e})}}function x(t={}){return r(n({...void 0!==t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{},...void 0!==t.serverURL?{serverURL:t.serverURL}:{},...void 0!==t.apiRoute?{apiRoute:t.apiRoute}:{},...void 0!==t.mergeDepth?{mergeDepth:t.mergeDepth}:{},...void 0!==t.debug?{debug:t.debug}:{},...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.heartbeatMs?{heartbeatMs:t.heartbeatMs}:{},...void 0!==t.nonce?{nonce:t.nonce}:{}}),void 0!==t.nonce?{nonce:t.nonce}:{})}e(T,"createLivePreviewMiddleware"),e(M,"normalizeManageCsp"),e(k,"injectScript"),e(N,"applyCspHeaders"),e(x,"renderLivePreviewScript");export{S as NONCE_LOCALS_KEY,T as createLivePreviewMiddleware,w as isPreviewRequest,a as livePreview,x as renderLivePreviewScript};
|
|
1
|
+
var t=Object.defineProperty,e=(e,i)=>t(e,"name",{value:i,configurable:!0}),i='(()=>{function t(t){return("object"==typeof t&&null!==t||"function"==typeof t)&&"function"==typeof t.then&&(Promise.resolve(t).catch(()=>{}),!0)}function e(e){return(...i)=>{try{t(e(...i))}catch{}}}function i(){}function n(){return!0}function r(t){return`global:${t}`}function l(t,e){return void 0===e||""===e?`collection:${t}`:`collection:${t}:${e}`}function s(t){return"string"==typeof t&&t.length>0}function o(t,e){return null!==e&&void 0!==t&&e.includes(t)}function a(t){let e=t.id;return"string"==typeof e&&e.length>0?e:"number"==typeof e&&Number.isFinite(e)?String(e):void 0}function u(t){if(t.nodeType!==Ze)return!1;let e=t;return!!e.hasAttribute(ke)||null!==e.querySelector(`[${ke}]`)}function h(t){if(!Array.isArray(t))return[];let e=[];for(let i of t){let t=c(i);t&&e.push(t)}return e}function c(t){if("object"!=typeof t||null===t)return;let e=t,i=e.name,n=e.type;if("string"!=typeof i||0===i.length||"string"!=typeof n||0===n.length)return;let r=h(e.fields),l=function(t){if(!Array.isArray(t))return[];let e=[];for(let i of t){if("object"!=typeof i||null===i)continue;let t=i,n=t.slug;if("string"!=typeof n||0===n.length)continue;let r=h(t.fields);e.push({...t,slug:n,fields:r})}return e}(e.blocks),s={...e,name:i,type:n};return r.length>0?s.fields=r:delete s.fields,l.length>0?s.blocks=l:delete s.blocks,s}function d(t){let e="number"==typeof t&&Number.isFinite(t)&&t>=1?Math.floor(t):void 0,i=Math.min(4,e??1),n=new Set;for(let[t,e]of Object.entries(ni))i>=e&&n.add(t);return{ours:4,...void 0!==e?{theirs:e}:{theirs:void 0},negotiated:i,capabilities:n}}function f(t,e){return void 0===t||e(t)}function p(t,e){return null==t||e(t)}function g(t){if("object"!=typeof t||null===t)return!1;let e=Object.getPrototypeOf(t);return null===e||null===Object.getPrototypeOf(e)}function m(t){for(let e of t){let t=e.codePointAt(0);if(void 0!==t&&(t<=31||127===t))return!0}return!1}function y(t){if(void 0===t||0===t.length||t.length>128||"."===t||".."===t||t.includes("/")||t.includes("\\\\")||t.includes("?")||t.includes("#")||m(t))return!1;try{return encodeURIComponent(t),!0}catch{return!1}}function v(t,e){return t[6]===e}function b(t){return t.aborted}function w(t){if("string"!=typeof t||0===t.length)return!1;let e=t.trim();if(0===e.length||$i.test(e))return!1;if(e.startsWith("#")||e.startsWith("?")||e.startsWith("//")||e.startsWith("/"))return!0;try{let t=new URL(e);return Si.has(t.protocol)}catch{return Ai.test(e)}}function S(t){if(!w(t))return!1;let e=t.trim();return/^https?:\\/\\//i.test(e)||/^\\/\\/[^/]/.test(e)}function $(t){return Ni.add(t),t}function A(t,e){return null!==e&&t.generation===e.generation&&t.revision===e.revision}function k(t,e,i,n=!1){if(n&&void 0!==i){let n=T(t,`${e}_${i}`);if(void 0!==n)return n}let r=T(t,e);if(void 0!==r)return r;if(e.includes(".")){let i=t,n=!0;for(let t of e.split(".")){if(Fi.has(t)||null===i||"object"!=typeof i){n=!1;break}if(i=T(i,t),void 0===i){n=!1;break}}if(n)return i}return void 0===i?void 0:T(t,`${e}_${i}`)}function T(t,e){if(!Fi.has(e)&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}function N(){let t=function(){if(typeof document>"u")return;let t=document.documentElement.getAttribute("lang");return null===t||0===t.length?void 0:t}();if(void 0!==t)return t;let e=function(){if(typeof navigator>"u")return;let t=navigator.language;return"string"==typeof t&&t.length>0?t:void 0}();return void 0!==e?e:"en"}function x(t){return/^de(?:[-_]|$)/i.test(t)}function M(t){null!==t[4]&&(clearTimeout(t[4]),t[4]=null),t[2]?.remove(),t[2]=null}function C(t,e=""){let i=new Map;return O(t,e,i),i}function O(t,e,i){for(let n of t){if(Vi.has(n.type)){n.fields&&O(n.fields,e,i);continue}if("group"===n.type){let t=""===e?n.name:`${e}.${n.name}`;i.set(t,n),n.fields&&O(n.fields,t,i);continue}let t=""===e?n.name:`${e}.${n.name}`;if(i.set(t,n),"array"===n.type&&n.fields)O(n.fields,`${t}.*`,i);else if("blocks"===n.type&&n.blocks)for(let e of n.blocks)O(e.fields,`${t}.*.${e.slug}`,i)}}function L(t){if("object"!=typeof t||null===t)return;let e=t.id;return"string"==typeof e||"number"==typeof e?e:void 0}function j(t){if("object"!=typeof t||null===t)return;let e=t.blockType;return"string"==typeof e?e:void 0}function E(t,e){return e.every(t=>void 0!==L(t))?function(t,e){let i=[],n=new Map;for(let e=0;e<t.length;e+=1){let i=L(t[e]);void 0!==i&&n.set(i,e)}let r=new Set;for(let l=0;l<e.length;l+=1){let s=e[l],o=L(s);if(void 0===o){i.push({kind:"insert",index:l,value:s});continue}let a=n.get(o);if(void 0===a){i.push({kind:"insert",index:l,value:s});continue}r.add(a);let u=t[a];j(u)===j(s)?(a!==l&&i.push({kind:"move",from:a,to:l,value:s}),I(u,s)||i.push({kind:"update",index:l,value:s})):i.push({kind:"replace",index:l,oldValue:u,value:s})}for(let e=0;e<t.length;e+=1)r.has(e)||i.push({kind:"remove",index:e,value:t[e]});return i}(t,e):function(t,e){let i=[],n=Math.min(t.length,e.length);for(let r=0;r<n;r+=1)I(t[r],e[r])||i.push({kind:"update",index:r,value:e[r]});if(e.length>t.length)for(let n=t.length;n<e.length;n+=1)i.push({kind:"insert",index:n,value:e[n]});if(t.length>e.length)for(let n=e.length;n<t.length;n+=1)i.push({kind:"remove",index:n,value:t[n]});return i}(t,e)}function I(t,e){if(Object.is(t,e))return!0;if("object"!=typeof t||"object"!=typeof e||null===t||null===e)return!1;let i=t,n=e,r=Object.keys(i),l=Object.keys(n);if(r.length!==l.length)return!1;for(let t of r)if(!Object.is(i[t],n[t]))return!1;return!0}function P(t){return 9===t.nodeType}function R(t){if(typeof window>"u")return;let e=[];window.parent!==window&&e.push(window.parent),window.opener instanceof Window&&e.push(window.opener),ri.sendReady(e,t)}function _(t,e){return t.generation===e.generation&&t.revision===e.revision}function W(t){return null!=t&&("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"bigint"==typeof t)}function F(t,e){if(!e)return t;let i=`_${e}`;return t.endsWith(i)?t.slice(0,-i.length):t}function D(){if(typeof window>"u")return!1;try{return window.self!==window.top}catch{return!0}}function U(t){if(typeof process<"u"){let e=process.env[t];if("string"==typeof e&&e.length>0)return e}}function z(t){let e=t.trim();if(0!==e.length)try{let t=new URL(e);return"http:"!==t.protocol&&"https:"!==t.protocol||!Sn.test(t.origin)?void 0:t.origin}catch{return}}function V(t,e){let i=G();if(!i)throw new Pn("sanitizeHtml needs a DOM; provide one with setSanitizerDocument() during SSR.");if(""===t)return"";let n=function(t){if(!t){let t=new Map;for(let[e,i]of Object.entries(Ln))t.set(e,i);return{allowedTags:Nn,attrByTag:t}}let e=new Set(Nn);for(let i of t.additionalAllowedTags??[])e.add(i);let i=new Map;for(let[t,e]of Object.entries(Ln))i.set(t,e);for(let[e,n]of Object.entries(t.additionalAllowedAttributes??{})){let t=i.get(e),r=new Set(t??[]);for(let t of n)r.add(t);i.set(e,r)}return{allowedTags:e,attrByTag:i}}(e),r=i.createElement("template");return r.innerHTML=t,B(r.content,n),r.innerHTML}function G(){if(!(typeof document>"u"))return document}function B(t,e){for(let i of Array.from(t.childNodes))i.nodeType===En?H(i,e):i.nodeType===In&&i.remove()}function H(t,e){let i=t.tagName.toLowerCase();if(xn.has(i))t.remove();else{if(!e.allowedTags.has(i)){B(t,e);let i=t.parentNode;if(i){for(;t.firstChild;)i.insertBefore(t.firstChild,t);t.remove()}return}(function(t,e,i){let n=i.attrByTag.get(e);for(let e of Array.from(t.attributes)){let i=e.name.toLowerCase();if(i.startsWith("on"))t.removeAttribute(e.name);else if("style"!==i){if(!(Mn.has(i)||i.startsWith(Cn)||i.startsWith(On))){if(n?.has(i)){(jn.has(i)&&!w(e.value)||"srcset"===i&&!q(e.value))&&t.removeAttribute(e.name);continue}t.removeAttribute(e.name)}}else t.removeAttribute(e.name)}})(t,i,e),"a"===i&&function(t){let e=t.getAttribute("href");null===e||!S(e)||(t.setAttribute("rel","noopener noreferrer"),t.hasAttribute("target")||t.setAttribute("target","_blank"))}(t),B(t,e)}}function q(t){let e=t.split(",");for(let t of e){let e=t.trim();if(0===e.length)continue;let i=e.search(/\\s/);if(!w(-1===i?e:e.slice(0,i)))return!1}return!0}function J(t,e){Rn.set(t,e)}function X(t){let e=t.format;if("string"==typeof e&&Wn.has(e))return e;if("number"==typeof e){let t=_n[e];if(void 0!==t)return t}}function Y(t){let e=t.indent;return"number"==typeof e&&e>0?e:0}function Z(t){return"rtl"===t.direction?\' dir="rtl"\':"ltr"===t.direction?\' dir="ltr"\':""}function K(t){let e=X(t),i=Y(t),n=[];return void 0!==e&&n.push(`text-align:${e}`),i>0&&n.push(`padding-inline-start:${String(40*i)}px`),0===n.length?"":` style="${n.join(";")}"`}function Q(t){return""===t?"":t.replace(Dn,t=>Fn[t])}function tt(t){return""===t?"":t.replace(zn,t=>Un[t])}function et(t){return Q(t).replace(/\\r\\n|\\r|\\n/g,"<br>")}function it(t){if("string"==typeof t.text)return t.text;if(!t.children)return"";let e="";for(let i of t.children)e+=it(i);return e}function nt(t){return t.replace(/[^a-zA-Z0-9_-]/g,"")}function rt(t){return Bn.get(t)}function lt(t){return t.replace(/[^a-zA-Z0-9_-]/g,"-").toLowerCase()}function st(t){if("object"!=typeof t||null===t||!("root"in t))return!1;let e=t.root;return"object"==typeof e&&null!==e&&"children"in e&&Array.isArray(e.children)}function ot(t){return st(t)?t.root.children.map(ht).join("\\n").trim():""}function at(t){let e="";for(let i of t)e+=ut(i);return e}function ut(t){let e=function(t){return Rn.get(t)}(t.type);return e?e(t,Rt):void 0!==t.children?at(t.children):""}function ht(t){if("string"==typeof t.text)return t.text;if("linebreak"===t.type)return"\\n";if(void 0===t.children)return"";let e="";for(let i of t.children)e+=ht(i);return e}function ct(){let t=new WeakSet;return{name:"text",render:$((e,i)=>{let n=e.element,r=function(t){return null==t?"":st(t)?ot(t):"string"==typeof t?t:"number"==typeof t||"boolean"==typeof t?String(t):JSON.stringify(t)}(i);if("INPUT"!==n.tagName&&"TEXTAREA"!==n.tagName){if(function(t){return null!==t.firstElementChild}(n)&&!n.hasAttribute(_t))return function(t,e,i){t.has(e)||(t.add(e),pe(`[live-preview] LP0402: Skipping text update for "${i}": <${e.tagName.toLowerCase()}> has structured children. Move data-payload-field to the value element, or add data-payload-text to replace them.`))}(t,n,e.fieldName),!1;r.includes("\\n")||r.includes("\\r")?n.innerHTML=et(r):n.textContent=r}else n.value=r})}}function dt(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""}}function ft(t){if("object"==typeof t&&null!==t)return t}function pt(t){if("object"==typeof t&&null!==t){let 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 dt(t)}function gt(t){return Array.isArray(t)?t.map(t=>gt(t)).join(", "):dt(t)}function mt(t,e){let i=t??"";if(null==e)return i;let n=yt(e);return"{}"===n?i:`${i}|${n}`}function yt(t){if(null===t||"object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t))return`[${t.map(t=>yt(t)).join(",")}]`;let e=t,i=Object.keys(e).sort(),n=[];for(let t of i){let i=e[t];void 0!==i&&n.push(`${JSON.stringify(t)}:${yt(i)}`)}return`{${n.join(",")}}`}function vt(t){for(;t.size>Xt;){let e=t.keys().next().value;if(void 0===e)break;t.delete(e)}}function bt(t,e,i,n){let r="object"==typeof e&&null!==e?e:null;return t.replace(Kt,(t,l)=>null!==r&&function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(r,l)?Q(n(Reflect.get(r,l))):null===r&&"value"===l?Q(n(e)):"index"===l?String(i):t)}function wt(t,e,i){return bt(t,e,i,dt)}function St(t){return dt(t)}function $t(t){let{template:e,container:i,patches:n,nextItems:r,store:l,forceRender:s=!1}=t,o=At(i,e,n,r,s,l);return null===o?null:kt(o,l)}function At(t,e,i,n,r,l){let s=function(t){let e=new Set,i=new Set;for(let n of t)"insert"===n.kind||"update"===n.kind?e.add(n.index):"replace"===n.kind&&(e.add(n.index),i.add(n.index));return{renders:e,replaces:i}}(i),o=function(t,e,i,n,r,l,s){let o=Array.from(t.children),a=Lt(o,te),u=new Set,h=[];for(let c=0;c<i.length;c+=1){let d=i[c],f=Ot(d),p=void 0===f?o[c]??null:jt(a,f)??null;null!==p&&u.has(p)&&(p=null),null!==p&&u.add(p);let g=n.replaces.has(c),m=r||n.renders.has(c)||null===p?Et(t.ownerDocument,e,d,c):void 0;if(null===m)return null;let y=void 0===m?[]:Tt(g?null:p,m,d,l,s);if(null===y)return null;h.push([c,p,m??void 0,y])}return h}(t,e,n,s,r,l.get(t),l);return null===o?null:[t,o,n]}function kt(t,e){let[i,n,r]=t,l=new Set,s=!1;for(let t of n){let[n,r,o,a]=t,u=r;if(void 0!==o){for(let t of a)null!==t[0]&&(xt(t[0],t[1]),t[1].replaceWith(t[0])),void 0!==t[2]&&kt(t[2],e);null!==r&&(r.replaceWith(o),s=!0),u=o}if(null===u)continue;let h=i.children[n]??null;u!==h&&(i.insertBefore(u,h),s=!0),l.add(u)}for(let t of Array.from(i.children))l.has(t)||(t.remove(),s=!0);let o=function(t,e){let i=e.get(t);return i||(i=new Map,e.set(t,i)),i}(i,e);o.clear();for(let t of r)Ct(o,t);return s}function Tt(t,e,i,n,r){let l=Lt(null===t?[]:Nt(t),ee),s=Ot(i),o=void 0!==s?n?.get(s):void 0,a=[];for(let t of Nt(e)){let e=t.getAttribute(ee);if(null===e)continue;let n,s=jt(l,e)??null,u=t.getAttribute(ie),h=u?s:null,c=h?.getAttribute(ie)??null;if(u){let l=Mt(i,e);if(void 0!==l||null!==h){let i=l??[],s=E(null===h?[]:Mt(o,e)??[],i),a=null!==h&&c!==u;if((s.length>0||a)&&(n=At(h??t,u,s,i,a,r)??void 0,void 0===n))return null}}a.push([h,t,n])}return a}function Nt(t){return Array.from(t.querySelectorAll(`[${ee}]`)).filter(e=>{let i=e.parentElement;for(;null!==i&&i!==t;){if(i.hasAttribute(ee))return!1;i=i.parentElement}return i===t})}function xt(t,e){for(let i of Array.from(t.attributes))e.hasAttribute(i.name)||t.removeAttribute(i.name);for(let i of Array.from(e.attributes))t.getAttribute(i.name)!==i.value&&t.setAttribute(i.name,i.value)}function Mt(t,e){if("object"!=typeof t||null===t)return;let i=t[e];return Array.isArray(i)?i:void 0}function Ct(t,e){let i=Ot(e);void 0!==i&&t.set(i,e)}function Ot(t){if("object"!=typeof t||null===t)return;let e=t.id;return"string"==typeof e||"number"==typeof e?String(e):void 0}function Lt(t,e){let i=new Map;for(let n=t.length-1;n>=0;n-=1){let r=t[n];if(void 0===r)continue;let l=r.getAttribute(e);if(null===l)continue;let s=i.get(l);void 0===s?i.set(l,[r]):s.push(r)}return i}function jt(t,e){return t.get(e)?.pop()}function Et(t,e,i,n){let r=function(t,e,i){return bt(t,e,i,dt)}(e,i,n),l=V(r),s=t.createElement("template");s.innerHTML=l;let o=s.content.firstElementChild;if(!o)return null;let a=Ot(i);return void 0!==a&&o.setAttribute(te,a),o}function It(){let t=new WeakMap,e=new WeakSet,i=new WeakMap;return{name:"structural-array",render:$((n,r)=>{if(!Array.isArray(r))return!1;let l=n.element,s=n.arrayTemplate;if(void 0===s||0===s.length)return function(t,e,i){t.has(e)||(t.add(e),pe(`[live-preview] LP0403: Skipping structural update for "${i}": <${e.tagName.toLowerCase()} data-payload-structural> needs data-payload-array-template (for example "<li>{{label}}</li>").`))}(e,l,n.fieldName),!1;let o=t.get(l),a=Pt(l),u=o?.values??function(t){return t.map((t,e)=>null===t?{__payloadDomPosition:e}:{id:t})}(a),h=E(u,r),c=function(t,e,i){return void 0===t||t.template!==e||!function(t,e){return t.length===e.length&&t.every((t,i)=>t===e[i])}(t.domSnapshot,i)}(o,s,a);if(0===h.length&&!c)return t.set(l,{values:r.slice(),template:s,domSnapshot:a}),!1;let d=$t({template:s,container:l,patches:h,nextItems:r,store:i,forceRender:c});return null!==d&&(t.set(l,{values:r.slice(),template:s,domSnapshot:Pt(l)}),!!d&&void 0)})}}function Pt(t){return Array.from(t.children,t=>t.getAttribute(te))}var Rt,_t,Wt,Ft,Dt,Ut,zt,Vt,Gt,Bt,Ht,qt,Jt,Xt,Yt,Zt,Kt,Qt,te,ee,ie,ne,re,le=Object.defineProperty,se=t=>{throw TypeError(t)},oe=(t,e,i)=>((t,e,i)=>e in t?le(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i)(t,"symbol"!=typeof e?e+"":e,i),ae=(t,e,i)=>e.has(t)||se("Cannot "+i),ue=(t,e,i)=>(ae(t,e,"read from private field"),i?i.call(t):e.get(t)),he=(t,e,i)=>e.has(t)?se("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),ce=(t,e,i,n)=>(ae(t,e,"write to private field"),n?n.call(t,i):e.set(t,i),i),de=(t,e,i)=>(ae(t,e,"access private method"),i),fe=e((...t)=>console.error(...t)),pe=e((...t)=>console.warn(...t)),ge=e((...t)=>console.debug(...t)),me=class{constructor(){he(this,be);he(this,ye,new Map);he(this,ve,new Map)}on(t,e){return de(this,be,Se).call(this,ue(this,ye),t,e)}once(t,e){return de(this,be,Se).call(this,ue(this,ve),t,e)}off(t,e){de(this,be,$e).call(this,ue(this,ye),t,e),de(this,be,$e).call(this,ue(this,ve),t,e)}async emit(t,e){await de(this,be,we).call(this,t,e)}async emitWhile(t,e,i){return de(this,be,we).call(this,t,e,i)}listenerCount(t){return(ue(this,ye).get(t)?.size??0)+(ue(this,ve).get(t)?.size??0)}removeAllListeners(t){void 0!==t?(ue(this,ye).delete(t),ue(this,ve).delete(t)):(ue(this,ye).clear(),ue(this,ve).clear())}eventNames(){let t=new Set;for(let e of ue(this,ye).keys())t.add(e);for(let e of ue(this,ve).keys())t.add(e);return[...t]}},ye=new WeakMap,ve=new WeakMap,be=new WeakSet,we=async function(t,e,i){let n=()=>i?.()??!0;if(!n())return!1;let r=ue(this,ye).get(t);if(r)for(let i of[...r])if(!n()||(await de(this,be,Ae).call(this,i,e,t),!n()))return!1;if(!n())return!1;let l=ue(this,ve).get(t);if(l&&l.size>0){let i=[...l];ue(this,ve).delete(t);for(let r of i)if(!n()||(await de(this,be,Ae).call(this,r,e,t),!n()))return!1}return n()},Se=function(t,e,i){let n=t.get(e);return n||(n=new Set,t.set(e,n)),n.add(i),()=>{de(this,be,$e).call(this,t,e,i)}},$e=function(t,e,i){let n=t.get(e);void 0!==n&&(n.delete(i),0===n.size&&t.delete(e))},Ae=async function(t,e,i){try{await t(e)}catch(t){let e="string"==typeof i||"number"==typeof i?String(i):"<event>";fe(`[live-preview] LP0601: handler for "${e}" threw:`,t)}},ke="data-payload-field",Te="data-payload-type",Ne="data-payload-attribute",xe="data-payload-href",Me="data-payload-src",Ce="data-payload-alt",Oe="data-payload-array-template",Le="data-payload-array-separator",je="data-payload-locale",Ee="data-payload-richtext",Ie="data-payload-html",Pe="data-payload-array",Re="data-payload-structural",_e="data-payload-owner",We=[ke,Te,Ne,xe,Me,Ce,Oe,Le,je,Ee,Ie,Pe,Re,_e,"type"],Fe=`[${ke}]`,De=`[${_e}]`,Ue=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"]),ze=class{constructor(t={}){he(this,He);he(this,Ve,new Map);he(this,Ge,new WeakMap);he(this,Be);ce(this,Be,t.filter??n)}buildFromRoot(t){let e=performance.now();this.clear();let i=t.querySelectorAll(Fe),n=0;for(let t of i)void 0!==this.add(t)&&(n+=1);return{elementCount:n,fieldCount:ue(this,Ve).size,durationMs:performance.now()-e}}add(t){let e=ue(this,Be).call(this,t)?de(this,He,Ye).call(this,t):void 0,i=ue(this,Ge).get(t);if(void 0!==e)return void 0!==i&&de(this,He,qe).call(this,i,e)?(ue(this,Ge).set(t,e),e):(void 0!==i&&de(this,He,Je).call(this,t,i),de(this,He,Xe).call(this,e),ue(this,Ge).set(t,e),e);void 0!==i&&de(this,He,Je).call(this,t,i)}remove(t){let e=ue(this,Ge).get(t);return!!e&&de(this,He,Je).call(this,t,e)}get(t){return ue(this,Ve).get(t)}getByElement(t){return ue(this,Ge).get(t)}get fieldCount(){return ue(this,Ve).size}get elementCount(){let t=0;for(let e of ue(this,Ve).values())t+=e.length;return t}entries(){return ue(this,Ve).entries()}*values(){for(let t of ue(this,Ve).values())yield*t}has(t){return ue(this,Ge).has(t)}clear(){ue(this,Ve).clear(),ce(this,Ge,new WeakMap)}},Ve=new WeakMap,Ge=new WeakMap,Be=new WeakMap,He=new WeakSet,qe=function(t,e){if(t.fieldName!==e.fieldName)return!1;let i=ue(this,Ve).get(t.fieldName);if(!i)return!1;let n=i.indexOf(t);return!(n<0||(i[n]=e,0))},Je=function(t,e){let i=ue(this,Ve).get(e.fieldName);if(!i)return ue(this,Ge).delete(t),!1;let n=i.indexOf(e);return n<0?(ue(this,Ge).delete(t),!1):(i.splice(n,1),0===i.length&&ue(this,Ve).delete(e.fieldName),ue(this,Ge).delete(t),!0)},Xe=function(t){let e=ue(this,Ve).get(t.fieldName);e?e.push(t):ue(this,Ve).set(t.fieldName,[t])},Ye=function(t){let e=t.getAttribute(ke);if(null===e||0===e.length)return;let i=t.getAttribute(Te),n=function(t){let e=t.getAttribute(Te);if(null!==e&&Ue.has(e))return e;if(t.hasAttribute(Ee))return"richText";if(t.hasAttribute(Ie))return"html";if(t.hasAttribute(Re))return"structural-array";if(t.hasAttribute(Pe))return"array";if("IMG"===t.tagName)return"image";if("A"===t.tagName)return"url";if("TIME"===t.tagName)return"date";if("INPUT"===t.tagName){let e=t.type;if("checkbox"===e)return"checkbox";if("number"===e)return"number";if("date"===e||"datetime-local"===e)return"date"}return"text"}(t),r=t.getAttribute(Ne),l=t.getAttribute(xe),s=t.getAttribute(Me),o=t.getAttribute(Ce),a=t.getAttribute(Oe),u=t.getAttribute(Le),h=t.getAttribute(je),c=function(t){let e=t.closest(De)?.getAttribute(_e);return null==e||0===e.length?void 0:e}(t);return{element:t,fieldName:e,fieldType:n,explicitFieldType:null!==i&&Ue.has(i),...null!==r&&r.length>0?{targetAttribute:r}:{},...null!==l&&l.length>0?{hrefField:l}:{},...null!==s&&s.length>0?{srcField:s}:{},...null!==o&&o.length>0?{altField:o}:{},...null!==a?{arrayTemplate:a}:{},...null!==u?{arraySeparator:u}:{},...null!==h&&h.length>0?{locale:h}:{},...void 0!==c?{owner:c}:{}}},Ze=1,Ke=class{constructor(t,e={}){he(this,Qe);oe(this,"s");this.s=[t,e.mutationDebounceMs??100,e.intersectionRootMargin??"200px",new Set,null,null,null,0]}start(t){let e=this.s[7];this.stop();let i=e+1;if(this.s[7]!==i)return;let n=null,r=null;try{n=new MutationObserver(t=>{de(this,Qe,ti).call(this,t,i)}),r=new IntersectionObserver(t=>{de(this,Qe,ei).call(this,t,i)},{rootMargin:this.s[2],threshold:0}),n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...We]})}catch(t){throw n?.disconnect(),r?.disconnect(),t}this.s[7]===i?(this.s[4]=n,this.s[5]=r):(n.disconnect(),r.disconnect())}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;let t=this.s[6],e=this.s[4],i=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{i?.disconnect()}}},Qe=new WeakSet,ti=function(t,e){if(!de(this,Qe,ii).call(this,e)||!function(t){for(let e of t){if("attributes"===e.type&&null!==e.attributeName&&We.includes(e.attributeName)&&(e.attributeName===ke||e.attributeName===_e||e.target.nodeType===Ze&&e.target.hasAttribute(ke)))return!0;for(let t of e.addedNodes)if(u(t))return!0;for(let t of e.removedNodes)if(u(t))return!0}return!1}(t)||!de(this,Qe,ii).call(this,e))return;null!==this.s[6]&&clearTimeout(this.s[6]);let i=setTimeout(()=>{!de(this,Qe,ii).call(this,e)||this.s[6]!==i||(this.s[6]=null,this.s[0].onStructuralChange())},this.s[1]);this.s[6]=i},ei=function(t,e){for(let i of t){if(!de(this,Qe,ii).call(this,e))return;let t=i.target;if(i.isIntersecting){if(!this.s[3].has(t)&&(this.s[3].add(t),this.s[0].onVisibilityChange(t,!0),!de(this,Qe,ii).call(this,e)))return}else if(this.s[3].has(t)&&(this.s[3].delete(t),this.s[0].onVisibilityChange(t,!1),!de(this,Qe,ii).call(this,e)))return}},ii=function(t){return this.s[7]===t&&null!==this.s[5]},ni={basic:1,"schema-json":2,"preview-token":3,"nested-arrays":4,"recursive-diffs":4},ri=class{constructor(t,e){he(this,li);oe(this,"s");this.s=[t,e,void 0,void 0,0,0,[],0]}attach(t=window){if(void 0!==this.s[3])return;let e=!1,i=t=>{if(!e||this.s[2]!==i)return;let n=this.s[4];try{de(this,li,si).call(this,t,n)}catch{let e="";try{e=t.origin}catch{}de(this,li,ci).call(this,"shape",e,n)}};this.s[4]+=1,de(this,li,mi).call(this),this.s[3]=t,this.s[2]=i;try{t.addEventListener("message",i)}catch(e){this.s[2]===i&&(this.s[3]=void 0,this.s[2]=void 0,de(this,li,mi).call(this));try{t.removeEventListener("message",i)}catch{}throw e}if(this.s[2]===i)e=!0;else try{t.removeEventListener("message",i)}catch{}}detach(t){let e=this.s[3],i=this.s[2];void 0===e||void 0===i||(this.s[3]=void 0,this.s[2]=void 0,de(this,li,mi).call(this),e.removeEventListener("message",i))}advanceGeneration(){return void 0!==this.s[3]&&(this.s[4]+=1,de(this,li,mi).call(this),!0)}static sendReady(t,e){let i=t.length>0;if(!i||0===e.length)return;let n={type:"payload-live-preview",ready:i,protocolVersion:4};for(let i of t)for(let t of e)try{i.postMessage(n,t)}catch{}}},li=new WeakSet,si=function(t,e){if(!de(this,li,pi).call(this,e))return;let i=t.origin;if(!de(this,li,pi).call(this,e))return;if(!de(this,li,di).call(this,i,e)){de(this,li,ci).call(this,"origin",i,e);return}let n=t.data;if(!de(this,li,pi).call(this,e))return;let r=function(t){return"object"==typeof t&&null!==t&&"type"in t&&"string"==typeof t.type}(n);if(!de(this,li,pi).call(this,e))return;if(!r){de(this,li,ci).call(this,"shape",i,e);return}let l=n.type;if(de(this,li,pi).call(this,e))switch(l){case"payload-live-preview":{let t=function(t){let e=t;return!!((void 0===e.data||null===e.data||g(e.data))&&p(e.fieldSchemaJSON,t=>Array.isArray(t))&&p(e.globalSlug,t=>"string"==typeof t)&&p(e.collectionSlug,t=>"string"==typeof t)&&p(e.locale,t=>"string"==typeof t)&&p(e.ready,t=>"boolean"==typeof t)&&p(e.previewToken,t=>"string"==typeof t)&&p(e.protocolVersion,t=>"number"==typeof t))}(n);if(!de(this,li,pi).call(this,e))return;if(!t){de(this,li,ci).call(this,"shape",i,e);return}let r=function(t){let e={...t};for(let t of yi)null===Reflect.get(e,t)&&Reflect.deleteProperty(e,t);if(!Array.isArray(e.fieldSchemaJSON))return e;let i;try{i=h(e.fieldSchemaJSON)}catch{i=[]}return{...e,fieldSchemaJSON:i}}(n);if(!de(this,li,pi).call(this,e))return;de(this,li,oi).call(this,r,i,e);return}case"payload-document-event":{let t=function(t){let e=t;return!(!f(e.action,t=>"updated"===t||"created"===t||"deleted"===t)||!f(e.slug,t=>"string"==typeof t)||!f(e.id,t=>"string"==typeof t||"number"==typeof t&&Number.isFinite(t)))}(n);if(!de(this,li,pi).call(this,e))return;if(!t){de(this,li,ci).call(this,"shape",i,e);return}let r;try{r=this.s[1].onDocumentEvent}catch{return}if(!de(this,li,pi).call(this,e))return;de(this,li,fi).call(this,r,n,i);return}default:de(this,li,ci).call(this,"type",i,e)}},oi=function(t,e,i){if(!de(this,li,pi).call(this,i))return;let n=t.data;if(!de(this,li,pi).call(this,i))return;let r=g(n);if(!de(this,li,pi).call(this,i))return;let l,s=r?{generation:i,revision:this.s[5]+=1}:void 0;try{l=this.s[1].validateToken}catch{return}if(!de(this,li,pi).call(this,i))return;if(void 0===l){de(this,li,hi).call(this,t,e,i,s);return}if(!0===t.ready&&void 0===n){de(this,li,hi).call(this,t,e,i,void 0);return}let o={generation:i,message:t,origin:e,messageRevision:s,settled:!1,approved:!1};this.s[6].push(o);let a;try{a=l(t.previewToken,e)}catch{de(this,li,ai).call(this,o,!1);return}"boolean"!=typeof a?Promise.resolve(a).then(t=>{de(this,li,ai).call(this,o,!0===t)},()=>{de(this,li,ai).call(this,o,!1)}):de(this,li,ai).call(this,o,a)},ai=function(t,e){de(this,li,pi).call(this,t.generation)&&(t.approved=e,t.settled=!0,de(this,li,ui).call(this,t.generation))},ui=function(t){for(;de(this,li,pi).call(this,t);){let e=this.s[6][this.s[7]];if(void 0===e)return;if(de(this,li,di).call(this,e.origin,t)){if(!e.settled)return;de(this,li,gi).call(this,e)&&(e.approved?de(this,li,hi).call(this,e.message,e.origin,e.generation,e.messageRevision):de(this,li,ci).call(this,"token",e.origin,e.generation))}else{if(!de(this,li,gi).call(this,e))continue;de(this,li,ci).call(this,"origin",e.origin,e.generation)}}},hi=function(t,e,i,n){if(!de(this,li,pi).call(this,i))return;let r;try{r=this.s[1].onUpdate}catch{return}de(this,li,pi).call(this,i)&&(void 0===n?de(this,li,fi).call(this,r,t,e):de(this,li,fi).call(this,r,t,e,n))},ci=function(t,e,i){if(!de(this,li,pi).call(this,i))return;let n;try{n=this.s[1].onInvalid}catch{return}de(this,li,pi).call(this,i)&&void 0!==n&&de(this,li,fi).call(this,n,t,e)},di=function(t,e){if(!de(this,li,pi).call(this,e))return!1;try{return!0===this.s[0](t)&&de(this,li,pi).call(this,e)}catch{return!1}},fi=function(e,...i){try{t(e(...i))}catch{}},pi=function(t){return void 0!==this.s[3]&&this.s[4]===t},gi=function(t){let e=this.s;return e[6][e[7]]===t&&(e[7]+=1,e[7]===e[6].length?(de(this,li,mi).call(this),!0):(e[7]>=1024&&2*e[7]>=e[6].length&&(e[6]=e[6].slice(e[7]),e[7]=0),!0))},mi=function(){this.s[6]=[],this.s[7]=0},yi=["data","fieldSchemaJSON","globalSlug","collectionSlug","locale","ready","previewToken","protocolVersion"],vi=class{constructor(t){oe(this,"s");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]);let 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]}},bi=class{constructor(t){oe(this,"s");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;let e=this.s[0];return this.s[0]=t,this.s[1](t,e),!0}},wi=class{constructor(t){oe(this,"s");let n=t.serverURL.replace(/\\/+$/,""),r=t.apiRoute??"/api";this.s=[n,r.startsWith("/")?r:`/${r}`,t.depth??1,t.fetchFn,void 0===t.log?i:e(t.log),null,0,0]}canMerge(t){try{return t.globalSlug?y(t.globalSlug):!!y(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("\\\\")||m(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"};let e=this.s[6]+1;this.s[6]=e;let i=this.s[5];this.s[5]=null;let n=null;try{if(i?.abort(),!v(this.s,e))return{status:"superseded"};if(!this.canMerge(t))return v(this.s,e)?{status:"unavailable"}:{status:"superseded"};if(!v(this.s,e))return{status:"superseded"};let r=this.s[3]??("function"==typeof fetch?fetch:void 0);if(!v(this.s,e))return{status:"superseded"};if(void 0===r)return{status:"unavailable"};if(n=new AbortController,!v(this.s,e))return n.abort(),{status:"superseded"};this.s[5]=n;let l=t.globalSlug?`globals/${encodeURIComponent(t.globalSlug)}`:`${encodeURIComponent(t.collectionSlug??"")}/${encodeURIComponent(String(t.data.id))}`,s=`${this.s[0]}${this.s[1]}/${l}`,o=JSON.stringify({data:t.data,depth:this.s[2],flattenLocales:!1,...void 0!==t.locale?{locale:t.locale}:{}});if(!v(this.s,e))return{status:"superseded"};let a=await r(s,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","X-Payload-HTTP-Method-Override":"GET"},body:o,signal:n.signal});if(!v(this.s,e)||b(n.signal))return{status:"superseded"};let u=a.ok;if(!v(this.s,e))return{status:"superseded"};if(!u){let t=a.status;return v(this.s,e)?(this.s[4]("merge HTTP",t,s),v(this.s,e)?{status:"unavailable"}:{status:"superseded"}):{status:"superseded"}}let h=await a.json();return!v(this.s,e)||b(n.signal)?{status:"superseded"}:null===h||"object"!=typeof h||Array.isArray(h)?(this.s[4]("merge invalid",s),v(this.s,e)?{status:"unavailable"}:{status:"superseded"}):{status:"merged",doc:h}}catch(t){return!v(this.s,e)||null!==n&&b(n.signal)?{status:"superseded"}:(this.s[4]("merge exception",t),v(this.s,e)?{status:"unavailable"}:{status:"superseded"})}finally{null!==n&&v(this.s,e)&&this.s[5]===n&&(this.s[5]=null)}}destroy(){this.s[6]+=1;let t=this.s[5];this.s[5]=null,this.s[7]+=1;try{t?.abort()}finally{this.s[7]-=1}}},Si=new Set(["http:","https:","mailto:","tel:"]),$i=/^\\s*(?:javascript|data|vbscript|file|blob|about)\\s*:/i,Ai=/^(?:\\.{1,2}\\/|[a-zA-Z0-9_-]+\\/?)/,ki=new Set(["style","srcdoc","formaction","form","id","name","is","srcset","imagesrcset"]),Ti=new Set(["href","src","poster","cite","action","xlink:href","data"]),Ni=new WeakSet,xi=class{constructor(t,e){he(this,Mi);oe(this,"s");let i=e.scheduleFrame??("function"==typeof requestAnimationFrame?requestAnimationFrame.bind(globalThis):t=>setTimeout(()=>{t(performance.now())},0)),n=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,i,n,new Map,new Map,new Set,null,0,null,0,null,!1]}schedule(t){if(void 0!==t.identity&&(this.s[17]||!A(t.identity,this.s[16])))return;let e=this.s[9],i=e.get(t.target.element);i?(i.value=t.value,i.allFields=t.allFields,i.identity=t.identity,i.data=t.data):e.set(t.target.element,{...t,identity:t.identity,data:t.data}),de(this,Mi,Ci).call(this)}acceptRevision(t){let e=this.s[16];A(t,e)||null!==e&&function(t,e){return t.generation!==e.generation?t.generation-e.generation:t.revision-e.revision}(t,e)<0||(de(this,Mi,_i).call(this),de(this,Mi,Pi).call(this),this.s[16]=t,this.s[17]=!1)}cancelRevision(t){A(t,this.s[16])&&(de(this,Mi,_i).call(this),de(this,Mi,Pi).call(this),this.s[17]=!0)}flushNow(){return de(this,Mi,_i).call(this),de(this,Mi,Li).call(this)}notifyVisible(t){let e=this.s[10],i=e.get(t);if(!i||(e.delete(t),!de(this,Mi,ji).call(this,i)))return;let n=performance.now(),r=de(this,Mi,Ei).call(this,i)?1:0;this.s[6]?.(de(this,Mi,Ri).call(this,i,r,0,performance.now()-n))}retarget(t){de(this,Mi,Ii).call(this,this.s[9],t),de(this,Mi,Ii).call(this,this.s[10],t);for(let e of this.s[11])de(this,Mi,Ii).call(this,e,t)}forget(t){this.s[9].delete(t),this.s[10].delete(t);for(let e of this.s[11])e.delete(t)}destroy(){de(this,Mi,_i).call(this),de(this,Mi,Pi).call(this),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]}},Mi=new WeakSet,Ci=function(){let t=this.s[13]+=1,e=this.s[12];if(this.s[12]=null,null!==e&&clearTimeout(e),this.s[13]!==t)return;let i=setTimeout(()=>{this.s[13]===t&&(this.s[12]=null,de(this,Mi,Oi).call(this))},this.s[1]);this.s[13]===t&&(this.s[12]=i)},Oi=function(){let 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 i=!1,n=this.s[7](()=>{this.s[15]===t&&(i=!0,this.s[14]=null,de(this,Mi,Li).call(this))});!i&&this.s[15]===t&&(this.s[14]=n)},Li=function(){let t=performance.now(),e=!this.s[4]&&this.s[5]()>this.s[3],i=this.s[9];this.s[9]=new Map;let n,r=0,l=0;this.s[11].add(i);try{for(let t of i.values()){if(!de(this,Mi,ji).call(this,t))continue;let i=!e||this.s[2](t.target.element);if(de(this,Mi,ji).call(this,t)){if(n??(n=t),!i){this.s[10].set(t.target.element,t),l+=1;continue}this.s[10].delete(t.target.element),de(this,Mi,Ei).call(this,t)&&(r+=1)}}}finally{this.s[11].delete(i)}let s=de(this,Mi,Ri).call(this,n,r,l,performance.now()-t);return this.s[6]?.(s),s},ji=function(t){return void 0===t.identity||!this.s[17]&&A(t.identity,this.s[16])},Ei=function(t){let e=this.s[0];return!1!==e(t)||!function(t){return Ni.has(t)}(e)},Ii=function(t,e){let i=t.get(e.element);if(void 0!==i){if(i.target.fieldName!==e.fieldName||i.target.locale!==e.locale){t.delete(e.element);return}i.target=e}},Pi=function(){this.s[9].clear(),this.s[10].clear();for(let t of this.s[11])t.clear()},Ri=function(t,e,i,n){return{applied:e,deferred:i,durationMs:n,...void 0!==t?.identity?{identity:t.identity}:{},...void 0!==t?.data?{data:t.data}:{}}},_i=function(){let 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)},Wi="1.5.0",Fi=new Set(["__proto__","prototype","constructor"]),Di="payload-live-preview-a11y",Ui=new WeakMap,zi=class{constructor(t,e){oe(this,"s");let i=e??(typeof document>"u"?null:document),n=i?.documentElement.getAttribute("lang")??"";this.s=[x(t??(n.length>0?n:N())),i,null]}mount(){let t=this.s[1];if(null==t?.body)return null;let e=this.s[2];null===e&&(e=function(t){let e=Ui.get(t);return e??(e=[null,!1,null,0,null]),Ui.set(t,e),e[3]+=1,e}(t),this.s[2]=e);let i=e[0];if(i?.isConnected&&i.ownerDocument===t)return i;if(null!==i){let t=e[1];M(e),t&&i.remove()}let n=t.getElementById(Di);return e[1]=null===n,n||(n=t.createElement("div"),n.id=Di,n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),n.setAttribute("aria-atomic","true"),n.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(n)),e[0]=n,n}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?"\\xc4nderung":"\\xc4nderungen"} angewendet`:`${String(t)} ${1===t?"change":"changes"} applied`)}detach(){let t=this.s[2],e=this.s[1];if(null===t||null===e||(this.s[2]=null,t[3]-=1,t[3]>0))return;let i=t[0];null!==i&&M(t),t[1]&&i?.remove(),t[0]=null,Ui.delete(e)}say(t){let e=this.mount(),i=this.s[2];if(null===e||null===i)return;let n=i[2];n?.parentNode!==e?(n?.remove(),n=e.ownerDocument.createTextNode(e.hasChildNodes()?` ${t}`:t),i[2]=n,e.appendChild(n)):n.data=null===n.previousSibling?t:` ${t}`,null!==i[4]&&clearTimeout(i[4]);let r=setTimeout(()=>{i[4]===r&&i[0]===e&&M(i)},1500);i[4]=r}},Vi=new Set(["tabs","row","collapsible"]),Gi={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"},Bi=[0,500,1e3,2e3],Hi=class{constructor(t){he(this,qi);oe(this,"d");oe(this,"l");let n=t.emitter,r=t.renderers,l=t.resolveRenderer??(t=>r[t]),s=t.transformValue,o=t.root??(typeof document<"u"?document:null),a=t.readyTargets,u=t.sendReady??R,h=t.onHeartbeatTimeout,c=void 0===t.log?i:e(t.log),f=void 0===t.warn?pe:e(t.warn),p=function(t){if(!1===t.enableA11y)return null;let e=void 0===t.root?void 0:9===t.root.nodeType?t.root:t.root.ownerDocument;return new zi(t.a11yLocale,e)}(t),g=void 0!==t.dataMerge?new wi({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)=>{c(...t)}}):null,m=new ze,y=new Ke({onStructuralChange:()=>{de(this,qi,Qi).call(this)},onVisibilityChange:(t,e)=>{e&&this.d[3].notifyVisible(t)}},{...void 0!==t.intersectionRootMargin?{intersectionRootMargin:t.intersectionRootMargin}:{}}),v=new xi($(t=>de(this,qi,fn).call(this,t)),{...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.disableVisibilityGate?{disableVisibilityGate:t.disableVisibilityGate}:{},...void 0!==t.visibilityGateThreshold?{visibilityGateThreshold:t.visibilityGateThreshold}:{},isVisible:t=>y.isVisible(t),getCacheSize:()=>m.elementCount,onFlush:t=>{de(this,qi,pn).call(this,t)}}),b=new ri(t.originMatcher,{onUpdate:(t,e,i)=>{de(this,qi,en).call(this,t,e,i)},onDocumentEvent:()=>{n.emit("documentSave",{timestamp:Date.now()})},onInvalid:(t,e)=>{if("token"===t){let t=new Error(`Preview token rejected (origin: ${e})`);n.emit("error",{error:t,context:"token",code:"LP0502"})}c("LP0501 message rejected:",t,e)},...void 0!==t.validateToken?{validateToken:t.validateToken}:{}}),w=new bi(()=>{}),S=new vi({...void 0!==t.heartbeatMs?{timeoutMs:t.heartbeatMs}:{},onTimeout:()=>{de(this,qi,gn).call(this)}});this.d=[n,m,y,v,b,w,S,r,l,s,o,a,u,h,c,f,[],p,g,!0===t.scopeBindingsByOwner,t.lockedOrigin??(()=>{})],this.l=[void 0,void 0,void 0,d(void 0),!1,null,0,null,new Set,!1,!1,0,null]}start(){if(this.l[4])return!1;this.l[4]=!0;let t=this.d[10];if(P(t)&&"loading"===t.readyState){let e=()=>{if(this.l[4]){this.l[5]=null;try{de(this,qi,Ji).call(this)}catch(t){de(this,qi,Yi).call(this),de(this,qi,yn).call(this,t,"startup","LP0605")}}};this.l[5]=e;try{t.addEventListener("DOMContentLoaded",e,{once:!0})}catch(t){throw de(this,qi,Yi).call(this),t}return!0}try{return de(this,qi,Ji).call(this),!0}catch(t){throw de(this,qi,Yi).call(this),t}}suspend(){return!!this.l[4]&&(de(this,qi,Xi).call(this)&&this.d[0].emit("disconnect",{reason:"unload",timestamp:Date.now()}),!0)}destroy(){this.l[4]&&(de(this,qi,Xi).call(this)&&this.d[0].emit("disconnect",{reason:"destroy",timestamp:Date.now()}),this.d[17]?.detach(),this.d[0].emit("destroy",{timestamp:Date.now()}))}refreshCache(){this.l[4]&&de(this,qi,Qi).call(this)}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(){let t=this.d[1],e=this.d[3],i=this.l[3],n=this.l[7],r=this.l[12],l=[],s=new Set;for(let[e,i]of t.entries()){l.push(e);for(let t of i)void 0!==t.owner&&s.add(t.owner)}return{version:Wi,started:this.l[4],status:this.d[5].status,origins:{trusted:[...this.d[11]],locked:this.d[20]()},protocol:{ours:i.ours,theirs:i.theirs,negotiated:i.negotiated,capabilities:[...i.capabilities].sort()},revisions:{accepted:this.l[6],superseded:this.l[11],active:null===n?void 0:n.identity.revision},bindings:{elements:t.elementCount,fields:t.fieldCount,fieldNames:l.sort(),orphanFields:[...this.l[8]].sort(),ownerScoped:this.d[19],owners:[...s].sort()},scheduler:{pending:e.pendingCount,deferred:e.replayCount,visibilityGateThreshold:e.gateThreshold,visibilityGateActive:e.gateActive,lastFlush:null===r?void 0:{applied:r.applied,deferred:r.deferred,durationMs:r.durationMs}},renderers:Object.keys(this.d[7]).sort()}}},qi=new WeakSet,Ji=function(){if(!this.l[4])return;let t=P(this.d[10])?function(t){return t.body}(this.d[10]):this.d[10];if(null===t)throw new Error("LivePreviewRuntime: document.body unavailable");if(this.d[2].start(t),de(this,qi,Ki).call(this),de(this,qi,cn).call(this)&&(this.d[4].attach(),this.d[0].emitWhile("init",{timestamp:Date.now()},()=>this.l[4]),de(this,qi,cn).call(this)))for(let t of Bi){if(!de(this,qi,cn).call(this))return;if(0===t){if(this.d[12](this.d[11]),!de(this,qi,cn).call(this))return}else{let e=setTimeout(()=>{this.l[4]&&de(this,qi,mn).call(this)},t);this.d[16].push(e)}}},Xi=function(){this.l[7]=null,this.l[4]=!1;let t=this.l[5];this.l[5]=null,null!==t&&P(this.d[10])&&de(this,qi,Zi).call(this,()=>{this.d[10].removeEventListener("DOMContentLoaded",t)});for(let t of this.d[16])de(this,qi,Zi).call(this,()=>{clearTimeout(t)});return this.d[16].length=0,de(this,qi,Zi).call(this,()=>{this.d[6].stop()}),de(this,qi,Zi).call(this,()=>{this.d[4].detach()}),de(this,qi,Zi).call(this,()=>{this.d[2].stop()}),de(this,qi,Zi).call(this,()=>{this.d[3].destroy()}),de(this,qi,Zi).call(this,()=>{this.d[18]?.destroy()}),this.d[1].clear(),this.d[5].markDisconnected()},Yi=function(){de(this,qi,Xi).call(this),de(this,qi,Zi).call(this,()=>{this.d[17]?.detach()})},Zi=function(t){try{t()}catch(t){this.d[14]("cleanup failed:",t)}},Ki=function(){if(!this.l[4])return;let t=this.d[1].buildFromRoot(this.d[10]);if(this.d[14]("cache",t),de(this,qi,cn).call(this)&&(this.d[0].emitWhile("cacheRefresh",t,()=>this.l[4]),de(this,qi,cn).call(this)))for(let t of this.d[1].values()){if(!de(this,qi,cn).call(this))return;this.d[2].observeElement(t.element)}},Qi=function(){if(!this.l[4])return;let t=new Map;for(let e of this.d[1].values())t.set(e.element,e),this.d[2].unobserveElement(e.element);if(de(this,qi,Ki).call(this),de(this,qi,cn).call(this)){for(let e of this.d[1].values())t.get(e.element)?.fieldName===e.fieldName?this.d[3].retarget(e):this.d[3].forget(e.element),t.delete(e.element);for(let e of t.values())this.d[3].forget(e.element)}},tn=function(t){let e=this.l[3];if(e.theirs===t)return;let i=d(t);this.l[3]=i,i.negotiated!==e.negotiated&&this.d[14]("protocol","ours=4",`theirs=${t}`,`negotiated=${i.negotiated}`)},en=function(t,e,i){if(this.d[6].kick(),void 0===t.data){void 0!==t.protocolVersion&&de(this,qi,tn).call(this,t.protocolVersion);return}if(void 0===i)return;"string"==typeof t.locale&&(this.l[0]=t.locale),Array.isArray(t.fieldSchemaJSON)&&(this.l[1]=t.fieldSchemaJSON,this.l[2]=C(t.fieldSchemaJSON));let n={identity:i,message:t,locale:this.l[0],schema:this.l[1],schemaIndex:this.l[2],cancelled:!1};null!==this.l[7]&&(this.l[11]+=1),this.l[7]=n,this.d[3].acceptRevision(i),this.l[6]+=1,(void 0===t.protocolVersion||(de(this,qi,tn).call(this,t.protocolVersion),this.l[4]&&this.l[7]===n))&&(this.d[5].markConnected()&&(this.d[17]?.announceConnected(),this.d[0].emit("connect",{origin:e,timestamp:Date.now()}),!this.l[4]||this.l[7]!==n||(this.d[14]("connection","disconnected","\\u2192","connected"),!this.l[4]||this.l[7]!==n))||de(this,qi,nn).call(this,n))},nn=async function(t){let e=await de(this,qi,rn).call(this,t);if(null===e||!this.l[4]||this.l[7]!==t)return;let{message:i}=t,n={fields:e,...void 0!==t.schema?{schema:t.schema}:{},..."string"==typeof i.globalSlug?{globalSlug:i.globalSlug}:{},..."string"==typeof i.collectionSlug?{collectionSlug:i.collectionSlug}:{},...void 0!==t.locale?{locale:t.locale}:{}};this.d[0].listenerCount("beforeUpdate")>0&&(!await this.d[0].emitWhile("beforeUpdate",{data:n,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&&de(this,qi,ln).call(this,t,n)},rn=async function(t){let{message:e}=t,i=e.data??{};if(null===this.d[18])return i;let n=await this.d[18].merge({collectionSlug:e.collectionSlug,globalSlug:e.globalSlug,data:i,locale:t.locale});return this.l[4]&&this.l[7]===t?"merged"===n.status?n.doc:"superseded"===n.status?null:i:null},ln=function(t,e){if(!this.l[4]||this.l[7]!==t)return;let i=()=>this.l[4]&&this.l[7]===t,n=de(this,qi,sn).call(this,t,e.fields);for(let[r,l]of this.d[1].entries()){if(!this.l[4]||this.l[7]!==t)return;for(let s of l){if(!1!==n&&!o(s.owner,n))continue;let l=k(e.fields,r,s.locale??t.locale,void 0!==s.locale);if(void 0===l)continue;if(!this.l[4]||this.l[7]!==t)return;let a=de(this,qi,hn).call(this,s,l,e.fields,i);if(!this.l[4]||this.l[7]!==t)return;let u={target:s,value:a,allFields:e.fields,identity:t.identity,data:e};if(!this.l[4]||this.l[7]!==t)return;this.d[3].schedule(u)}}de(this,qi,un).call(this,e.fields,t.locale,n)},sn=function(t,e){if(!this.d[19])return!1;let{message:i}=t,n=function(t){if(s(t.globalSlug))return[r(t.globalSlug)];if(!s(t.collectionSlug))return null;let e=l(t.collectionSlug);return s(t.documentId)?[e,l(t.collectionSlug,t.documentId)]:[e]}({globalSlug:"string"==typeof i.globalSlug?i.globalSlug:void 0,collectionSlug:"string"==typeof i.collectionSlug?i.collectionSlug:void 0,documentId:a(e)});return null===n&&!this.l[9]&&(this.l[9]=!0,this.d[15]("[live-preview] LP0202: scopeBindingsByOwner: update names no document; nothing applied")),n},on=function(t){for(let e of this.d[1].values())if(o(e.owner,t))return!0;return!1},an=function(t,e){let i=this.d[1].get(t);return void 0!==i&&(!1===e||i.some(t=>o(t.owner,e)))},un=function(t,e,i){if(0===this.d[1].fieldCount||!1!==i&&!de(this,qi,on).call(this,i))return;let n;for(let[r,l]of Object.entries(t)){if(this.l[8].has(r)||bn.has(r)||!W(l))continue;let t=F(r,e);if(!(de(this,qi,an).call(this,r,i)||t!==r&&de(this,qi,an).call(this,t,i))){if(void 0===n){n=new Set;for(let[t,e]of this.d[1].entries())for(let r of e)!1!==i&&!o(r.owner,i)||void 0!==r.locale&&n.add(`${t}_${r.locale}`)}n.has(r)||(this.l[8].add(r),this.d[15](`[live-preview] LP0201: update arrived for field "${r}" but no <\\u2026 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.`))}}},hn=function(e,i,n,r){if(void 0===this.d[9])return i;try{let l=this.d[9](e.fieldName,i,{element:e.element,allFields:n},r),s=t(l);if(!r())return i;if(s)throw new TypeError(`Transform for "${e.fieldName}" returned a Promise/thenable; transforms must be synchronous`);return l}catch(t){if(!r())return i;let e=t instanceof Error?t:new Error(String(t));return this.d[0].emit("error",{error:e,context:"transform",code:"LP0602"}),i}},cn=function(){return this.l[4]},dn=function(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.`)))},fn=function(t){let e=this.l[7];if(null===e||void 0===t.identity||!_(e.identity,t.identity)||!this.l[4]||this.l[7]!==e)return!1;let i=void 0!==e.schemaIndex?function(t,e){if(t.has(e))return t.get(e);let i=e.replace(/\\.\\d+(?=\\.|$)/g,".*");return t.has(i)?t.get(i):void 0}(e.schemaIndex,t.target.fieldName):void 0,n=t.value,r=function(t,e){if(t.explicitFieldType)return t.fieldType;if(void 0!==e){let t=function(t){if(Object.prototype.hasOwnProperty.call(Gi,t))return Gi[t]}(e);if(void 0!==t)return t}return t.fieldType}(t.target,i?.type);"text"===r&&!0!==t.target.explicitFieldType&&function(t){if("object"!=typeof t||null===t||!("root"in t))return!1;let e=t.root;return"object"==typeof e&&null!==e&&Array.isArray(e.children)}(n)&&(r="richText");let l;try{l=this.d[8](r)}catch(t){if(!this.l[4]||this.l[7]!==e)return!1;let i=t instanceof Error?t:new Error(String(t));return this.d[0].emitWhile("error",{error:i,context:"renderer",code:"LP0603"},()=>this.l[4]&&this.l[7]===e),!1}if(!this.l[4]||this.l[7]!==e)return!1;let s=this.d[0].listenerCount("elementUpdate")>0,o=s?function(t){return"INPUT"===t.tagName||"TEXTAREA"===t.tagName?t.value:"IMG"===t.tagName?t.src:t.textContent}(t.target.element):void 0;if(!this.l[4]||this.l[7]!==e)return!1;let a={allFields:t.allFields,locale:t.target.locale??e.locale,schema:i};try{if(void 0!==t.target.targetAttribute){if("blocked"===function(t,e,i){let n=e.toLowerCase().trim();if(0===n.length||n.startsWith("on")||ki.has(n))return"blocked";if(null==i)return t.removeAttribute(n),"applied";if("string"!=typeof i&&"number"!=typeof i&&"boolean"!=typeof i)return"blocked";let r=String(i);return Ti.has(n)&&!w(r)?"blocked":(t.setAttribute(n,r),"applied")}(t.target.element,t.target.targetAttribute,n))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(!l)return this.d[14]("no renderer for",r),!1;if(!1===function(t,e,i,n){return t.render(e,i,n)}(l,t.target,n,a)&&function(t){return Ni.has(t.render)}(l))return!1}}catch(t){if(!this.l[4]||this.l[7]!==e)return!1;let i=t instanceof Error?t:new Error(String(t));return this.d[0].emitWhile("error",{error:i,context:"renderer",code:"LP0603"},()=>this.l[4]&&this.l[7]===e),!1}return!(!this.l[4]||this.l[7]!==e)&&(s&&this.d[0].emitWhile("elementUpdate",{element:t.target.element,fieldName:t.target.fieldName,previousValue:o,nextValue:n,revision:e.identity.revision},()=>this.l[4]&&this.l[7]===e),this.l[4]&&this.l[7]===e)},pn=function(t){this.l[12]=t,de(this,qi,dn).call(this,t);let{identity:e,data:i}=t;if(0===t.applied||void 0===e||void 0===i)return;let n=this.l[7];if(null===n||!this.l[4]||this.l[7]!==n||!_(n.identity,e))return;let r=()=>this.l[4]&&this.l[7]===n&&_(n.identity,e);this.d[17]?.announceUpdate(t.applied),r()&&0!==this.d[0].listenerCount("afterUpdate")&&this.d[0].emitWhile("afterUpdate",{data:i,updatedCount:t.applied,durationMs:t.durationMs,revision:e.revision},r)},gn=function(){if(!de(this,qi,cn).call(this))return;this.d[4].advanceGeneration();let t=this.l[7];this.l[7]=null,null!==t&&this.d[3].cancelRevision(t.identity),this.d[18]?.destroy();let e=this.d[5].markDisconnected();try{this.d[13]?.()}catch(t){this.d[14]("heartbeat:",t)}de(this,qi,cn).call(this)&&(e&&de(this,qi,vn).call(this)&&(this.d[17]?.announceDisconnected(),this.d[0].emitWhile("disconnect",{reason:"timeout",timestamp:Date.now()},()=>de(this,qi,vn).call(this)),!de(this,qi,cn).call(this)||de(this,qi,vn).call(this)&&(this.d[14]("connection","connected","\\u2192","disconnected"),!de(this,qi,cn).call(this)))||de(this,qi,cn).call(this)&&de(this,qi,mn).call(this))},mn=function(){try{this.d[12](this.d[11])}catch(t){de(this,qi,yn).call(this,t,"ready","LP0606")}},yn=function(t,e,i){let n=t instanceof Error?t:new Error(String(t));this.d[0].emit("error",{error:n,context:e,code:i})},vn=function(){return this.l[4]&&"disconnected"===this.d[5].status&&null===this.l[7]},bn=new Set(["id","_id","createdAt","updatedAt","createdBy","updatedBy","_status","globalType","collection","locale","localized"]),wn=/^https?:\\/\\/(localhost|127\\.0\\.0\\.1)(?::\\d+)?$/i,Sn=/^https?:\\/\\/[^/?#\\s]+$/i,$n=["PAYLOAD_ADMIN_ORIGIN","PUBLIC_PAYLOAD_ADMIN_ORIGIN","NEXT_PUBLIC_PAYLOAD_ADMIN_ORIGIN"],An=class{constructor(t={}){he(this,kn);let e=new Set;for(let i of t.additionalOrigins??[]){let t=z(i);void 0!==t&&e.add(t)}for(let t of $n){let i=U(t);if(void 0!==i)for(let t of i.split(",")){let i=z(t);void 0!==i&&e.add(i)}}let i;if(t.enableReferrerDetection??1){let e=t.referrer??(typeof document<"u"?document.referrer:"");if(e.length>0)try{let t=new URL(e).origin;t&&"null"!==t&&(i=t)}catch{}}let n=(t.enableLocalhostMatching??!0)&&(t.forceDevMode??function(){let t=function(){if(!(typeof process>"u"))return"production"}();if(void 0!==t)return"production"!==t;0;if(typeof window<"u"){let t=window.location.hostname;if("localhost"===t||"127.0.0.1"===t)return!0}return!1}());ce(this,kn,[e,i,n,void 0!==i,void 0])}matches(t){return 0!==t.length&&"null"!==t&&(void 0!==ue(this,kn)[4]?t===ue(this,kn)[4]:!!(ue(this,kn)[0].has(t)||0===ue(this,kn)[0].size&&void 0!==ue(this,kn)[1]&&t===ue(this,kn)[1]||ue(this,kn)[2]&&wn.test(t)))}lockOrigin(t){return!!this.matches(t)&&(ue(this,kn)[4]=t,!0)}unlockOrigin(){let t=ue(this,kn)[4];return ue(this,kn)[4]=void 0,t}get lockedOrigin(){return ue(this,kn)[4]}enumerate(){if(void 0!==ue(this,kn)[4])return[ue(this,kn)[4]];let t=new Set(ue(this,kn)[0]);if(0===ue(this,kn)[0].size&&void 0!==ue(this,kn)[1]&&t.add(ue(this,kn)[1]),ue(this,kn)[2])for(let e of Tn)t.add(`http://localhost:${String(e)}`),t.add(`http://127.0.0.1:${String(e)}`);return[...t]}get referrerWasAvailable(){return ue(this,kn)[3]}get isProductionUnconfigured(){return!(!D()||ue(this,kn)[0].size>0||ue(this,kn)[2]||void 0!==ue(this,kn)[1])}get isReferrerOnlyTrust(){return!(ue(this,kn)[0].size>0||ue(this,kn)[2])&&void 0!==ue(this,kn)[1]}},kn=new WeakMap,Tn=[3e3,3001,3333,4e3,4321,5e3,5173,5174,8e3,8080,8888,9e3],Nn=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"]),xn=new Set(["script","style","iframe","object","embed","link","meta","base","form","input","button","select","textarea","svg","math","template","frame","frameset","noframes","noscript"]),Mn=new Set(["id","class","lang","dir","title","role","tabindex"]),Cn="aria-",On="data-",Ln={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"])},jn=new Set(["href","src","cite","poster"]),En=1,In=8,Pn=class extends Error{constructor(){super(...arguments);oe(this,"name","SanitizerEnvironmentError")}},Rn=(Object.freeze({allowedTags:Nn,removeCompletely:xn,globalAttributes:Mn,attributesByTag:Ln,urlAttributes:jn}),new Map),_n={1:"left",2:"center",3:"right",4:"justify"},Wn=new Set(["left","center","right","justify","start","end"]),Fn=Object.freeze({"&":"&","<":"<",">":">",\'"\':""","\'":"'","/":"/","`":"`","=":"="}),Dn=/[&<>"\'/`=]/g,Un=Object.freeze({"&":"&","<":"<",">":">",\'"\':""","\'":"'"}),zn=/[&<>"\']/g,Vn=new Set(["h1","h2","h3","h4","h5","h6"]),Gn=(t,e)=>{let i="string"==typeof t.url?t.url:"",n=e.renderChildren(t.children??[]);if(0===i.length||!w(i))return n;let r=S(i)?\' target="_blank" rel="noopener noreferrer"\':function(t){let e="string"==typeof t.target?t.target:"";if(0===e.length)return"";let i=Q(e);return"_blank"===e?\' target="_blank" rel="noopener noreferrer"\':` target="${i}"`}(t),l="string"==typeof t.title?` title="${Q(t.title)}"`:"";return`<a href="${tt(i)}"${r}${l}>${n}</a>`},Bn=new Map;J("text",t=>{let e=Q("string"==typeof t.text?t.text:""),i="number"==typeof t.format?t.format:0;return!!(16&i)&&(e=`<code>${e}</code>`),!!(1&i)&&(e=`<strong>${e}</strong>`),!!(2&i)&&(e=`<em>${e}</em>`),!!(8&i)&&(e=`<u>${e}</u>`),!!(4&i)&&(e=`<s>${e}</s>`),!!(32&i)&&(e=`<sub>${e}</sub>`),!!(64&i)&&(e=`<sup>${e}</sup>`),!!(128&i)&&(e=`<mark>${e}</mark>`),e});J("paragraph",(t,e)=>{let i=e.renderChildren(t.children??[]);return`<p${Z(t)}${K(t)}>${i}</p>`});J("heading",(t,e)=>{let i="string"==typeof t.tag?t.tag.toLowerCase():"h2",n=Vn.has(i)?i:"h2",r=e.renderChildren(t.children??[]);return`<${n}${Z(t)}${K(t)}>${r}</${n}>`});J("list",(t,e)=>{let i="string"==typeof t.listType?t.listType:"bullet",n="number"===i?"ol":"ul",r="number"===i&&"number"==typeof t.start&&t.start>1?` start="${String(t.start)}"`:"",l="check"===i?\' role="list"\':"",s=e.renderChildren(t.children??[]);return`<${n}${Z(t)}${K(t)}${r}${l}>${s}</${n}>`});J("listitem",(t,e)=>{let i=e.renderChildren(t.children??[]);if("boolean"==typeof t.checked)return`<li role="checkbox" aria-checked="${t.checked?"true":"false"}"${K(t)}>${i}</li>`;let n="number"==typeof t.value?` value="${Q(String(t.value))}"`:"";return`<li${Z(t)}${K(t)}${n}>${i}</li>`});J("link",Gn);J("autolink",Gn);J("quote",(t,e)=>{let i=e.renderChildren(t.children??[]);return`<blockquote${Z(t)}${K(t)}>${i}</blockquote>`});J("code",t=>{let e=nt("string"==typeof t.language?t.language:"");return`<pre><code${""===e?"":` class="language-${e}"`}>${Q(it(t))}</code></pre>`});J("code-highlight",t=>{let e="string"==typeof t.text?t.text:"";return`<span${"string"==typeof t.highlightType?` class="token-${nt(t.highlightType)}"`:""}>${Q(e)}</span>`});J("linebreak",()=>"<br>");J("horizontalrule",()=>"<hr>");J("tab",()=>"\\t");J("upload",t=>{let e=function(t){let e=t.value;if("object"==typeof e&&null!==e)return e}(t);if(void 0===e)return"";let i=e.url;if("string"!=typeof i||!w(i))return"";let n="string"==typeof e.mimeType?e.mimeType:"";return n.startsWith("video/")?function(t,e){let i="number"==typeof t.width?` width="${String(t.width)}"`:"",n="number"==typeof t.height?` height="${String(t.height)}"`:"",r="string"==typeof t.mimeType?` type="${tt(t.mimeType)}"`:"";return`<video controls${i}${n}><source src="${tt(e)}"${r}></video>`}(e,i):n.startsWith("audio/")?function(t,e){let i="string"==typeof t.mimeType?` type="${tt(t.mimeType)}"`:"";return`<audio controls><source src="${tt(e)}"${i}></audio>`}(e,i):""===n||n.startsWith("image/")?function(t,e){let i="string"==typeof t.alt?Q(t.alt):"",n="number"==typeof t.width?` width="${String(t.width)}"`:"",r="number"==typeof t.height?` height="${String(t.height)}"`:"";return`<img src="${tt(e)}" alt="${i}"${n}${r} loading="lazy" decoding="async">`}(e,i):function(t,e){let i="string"==typeof t.filename?Q(t.filename):Q(e);return`<a href="${tt(e)}" target="_blank" rel="noopener noreferrer">${i}</a>`}(e,i)});J("relationship",t=>{let e="string"==typeof t.relationTo?t.relationTo:"",i=function(t){let e=t.value;if("object"==typeof e&&null!==e)return e}(t),n=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}`}(i,e),r=Q(n),l=""===e?"":` data-relation-to="${Q(e)}"`,s=i?.url;return"string"==typeof s&&w(s)?`<a href="${tt(s)}"${l}>${r}</a>`:`<span${l}>${r}</span>`});J("block",(t,e)=>{let i=function(t){let e=t.fields;return"object"!=typeof e||null===e?{}:e}(t),n="string"==typeof i.blockType?i.blockType:"",r=lt(n);if(""!==n){let t=rt(n)??rt(r);if(t)return t(i,{renderChildren:e.renderChildren})}let l=[];""!==r&&l.push(`data-block-type="${Q(r)}"`);for(let[t,e]of Object.entries(i)){if("blockType"===t||"id"===t||null==e)continue;let i="string"==typeof e||"number"==typeof e||"boolean"==typeof e?String(e):JSON.stringify(e);l.push(`data-block-${lt(t)}="${Q(i)}"`)}return`<div${0===l.length?"":` ${l.join(" ")}`}></div>`});Rt={renderChildren:at,resolveAlignment:X,resolveIndent:Y};_t="data-payload-text";Wt={name:"textarea",render(t,e){let i=t.element,n=st(e)?ot(e):dt(e);"INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName?i.innerHTML=et(n):i.value=n}};Ft={name:"richText",render:$((t,e)=>{if(st(e))t.element.innerHTML=function(t,e={}){if(!st(t))return"";let i=at(t.root.children);return!1===e.sanitize||void 0===G()?i:V(i)}(e);else{if("string"!=typeof e)return!1;t.element.innerHTML=V(e)}})};Dt={name:"html",render(t,e){if(null==e){t.element.textContent="";return}let i="string"==typeof e?e:dt(e);t.element.innerHTML=V(i)}};Ut={name:"url",render(t,e,i){let n=t.element,r=dt(e);if("A"===n.tagName){let l=n,s=t.hrefField,o=void 0===s||0===s.length?e:k(i.allFields,s,i.locale,void 0!==t.locale);"string"==typeof o&&w(o)&&(l.href=o),l.textContent=r;return}"INPUT"!==n.tagName&&"TEXTAREA"!==n.tagName?n.textContent=r:n.value=r}};zt={name:"image",render:$((t,e,i)=>{let n=t.element,r=ft(e),l=void 0!==t.locale,s=function(t,e,i,n,r,l){if(void 0!==i&&i.length>0){let t=k(n,i,r,l);if("string"==typeof t&&w(t))return t;let e=ft(t);return void 0!==e?.url&&w(e.url)?e.url:void 0}return void 0!==t?.url&&w(t.url)?t.url:"string"==typeof e&&w(e)?e:void 0}(r,e,t.srcField,i.allFields,i.locale,l);if(void 0===s)return!1;if("IMG"===n.tagName){let e=n;e.src=s;let o=function(t,e,i,n,r){if(void 0!==e&&e.length>0){let t=k(i,e,n,r);return"string"==typeof t?t:void 0}if(void 0!==t?.alt)return t.alt}(r,t.altField,i.allFields,i.locale,l);void 0!==o&&(e.alt=o);return}n.style.backgroundImage=`url(\'${function(t){return t.replace(/[\'"()\\\\]/g,"\\\\$&")}(s)}\')`})};Vt={name:"upload",render:$((t,e)=>{let i=t.element,n=function(t){if("object"==typeof t&&null!==t)return t}(e);if(void 0===n)return!1;let r=n.url;if("string"!=typeof r||!w(r))return!1;if("IMG"===i.tagName){let t=i;t.src=r,void 0!==n.alt&&(t.alt=n.alt);return}if("A"===i.tagName){let t=i;t.href=r,t.textContent=n.filename??r;return}let l=void 0!==n.filename?Q(n.filename):Q(r);i.innerHTML=`<a href="${tt(r)}">${l}</a>`})};Gt={name:"relationship",render(t,e){let i=t.element,n=function(t){return null==t?[""]:Array.isArray(t)?t.map(pt):[pt(t)]}(e).join(", ");if("A"===i.tagName&&!Array.isArray(e)){let t=i,r=e?.url;"string"==typeof r&&w(r)&&(t.href=r),t.textContent=n;return}i.textContent=n}};Bt={name:"select",render(t,e){let i=t.element,n=gt(e);if("SELECT"!==i.tagName){if("INPUT"===i.tagName&&"radio"===i.type){let t=i;t.checked=t.value===n;return}i.textContent=n}else i.value=n}};Ht={name:"checkbox",render(t,e){let i=t.element,n=!!e;"INPUT"!==i.tagName||"checkbox"!==i.type?i.hasAttribute("aria-checked")?i.setAttribute("aria-checked",n?"true":"false"):i.textContent=n?"true":"false":i.checked=n}};qt=new Map,Jt=new Map,Xt=64;Yt={name:"date",render(t,e,i){let n=t.element;if(null==e||""===e){"INPUT"===n.tagName?n.value="":("TIME"===n.tagName&&n.removeAttribute("datetime"),n.textContent="");return}let r="string"==typeof e?e:dt(e),l=new Date(r),s=!Number.isNaN(l.getTime());"INPUT"!==n.tagName?("TIME"!==n.tagName||n.setAttribute("datetime",s?l.toISOString():r),n.textContent=s?function(t,e){let i=e.locale??N();try{return function(t,e){let i=mt(t,e),n=Jt.get(i);if(void 0!==n)return Jt.delete(i),Jt.set(i,n),n;let r=new Intl.DateTimeFormat(t,e);return Jt.set(i,r),vt(Jt),r}(i,{dateStyle:"medium",timeStyle:"short"}).format(t)}catch{return t.toISOString()}}(l,i):r):n.value=s?function(t,e){return"date"===t?e.toISOString().slice(0,10):"datetime-local"===t?e.toISOString().slice(0,16):e.toISOString()}(n.type,l):r}};Zt={name:"number",render(t,e,i){let n=t.element;if(null==e||""===e){"INPUT"===n.tagName?n.value="":n.textContent="";return}let r="number"==typeof e?e:Number(dt(e));Number.isNaN(r)?n.textContent=dt(e):"INPUT"!==n.tagName?n.textContent=function(t,e){let i=e.locale??N();try{return function(t,e){let i=mt(t,e),n=qt.get(i);if(void 0!==n)return qt.delete(i),qt.set(i,n),n;let r=new Intl.NumberFormat(t,e);return qt.set(i,r),vt(qt),r}(i).format(t)}catch{return String(t)}}(r,i):n.value=String(r)}};Kt=/\\{\\{([\\s\\S]*?)\\}\\}/g;Qt={name:"array",render:$((t,e)=>{let i=t.element;if(!Array.isArray(e))return!1;let n=t.arrayTemplate;if(void 0!==n&&n.length>0){let t=function(t,e){let i="";for(let n=0;n<e.length;n+=1)i+=wt(t,e[n],n);return i}(n,e);i.innerHTML=V(t);return}let r=t.arraySeparator??", ";i.textContent=e.map(St).join(r)})};te="data-payload-key",ee="data-payload-nested-key",ie="data-payload-nested-template";ne=new Map;re=[Wt,Ft,Dt,Ut,{...Ut,name:"email"},zt,Vt,Gt,Bt,{...Bt,name:"radio"},Ht,Yt,Zt,Qt,{...Qt,name:"blocks"}];!function(){if(typeof window>"u"||!D()&&(typeof window>"u"||null==window.opener))return;let t=window.__livePreview;if(void 0!==t)return t;let[e=[],i="",n="/api",r=1,l=!1,s=50,o=!0,a=0,u=!1,h=50,c="200px",d=!1,f=!1,p=!1]=typeof __LIVE_PREVIEW_CONFIG__>"u"?[]:__LIVE_PREVIEW_CONFIG__,g=new An({additionalOrigins:e,enableReferrerDetection:!d,enableLocalhostMatching:!f});g.isProductionUnconfigured?pe("[live-preview] LP0101: No trusted origin. Set PAYLOAD_ADMIN_ORIGIN or pass allowedOrigins to generateInlineScript()."):g.isReferrerOnlyTrust&&pe("[live-preview] LP0102: document.referrer fallback trusts any framing site. Set allowedOrigins and a frame-ancestors CSP in production.");let m=new me,y=function(t=[]){let e={};for(let i of t)e[i.name]=i;for(let[t,i]of ne)e[t]=i;return Object.freeze(e)}([ct(),...re,It()]),v=new Hi({renderers:y,originMatcher:t=>g.matches(t),lockedOrigin:()=>g.lockedOrigin,readyTargets:g.enumerate(),emitter:m,...""!==i?{dataMerge:{serverURL:i,apiRoute:n,depth:r}}:{},debounceMs:s,heartbeatMs:a,intersectionRootMargin:c,disableVisibilityGate:u,visibilityGateThreshold:h,enableA11y:o,scopeBindingsByOwner:p,onHeartbeatTimeout:()=>{g.unlockOrigin()},...l?{log:(...t)=>{ge("[live-preview]",...t)}}:{}});m.on("connect",t=>{g.lockOrigin(t.origin)}),v.start();let b=function(t,e={}){let i=e.windowTarget??globalThis.window,n=e.documentTarget??globalThis.document,r=e.softNavigationEvents??[],l=()=>{t.suspend()},s=e=>{!0===e.persisted&&t.resume()},o=()=>{t.refreshCache()};i?.addEventListener("pagehide",l),i?.addEventListener("pageshow",s);for(let t of r)n?.addEventListener(t,o);let a=!1;return()=>{if(!a){a=!0,i?.removeEventListener("pagehide",l),i?.removeEventListener("pageshow",s);for(let t of r)n?.removeEventListener(t,o)}}}({suspend:()=>v.suspend(),resume:()=>v.start(),refreshCache:()=>{v.refreshCache()}}),w=Object.freeze({version:Wi,destroy:()=>{b(),v.destroy();let t=window;t.__livePreview===w&&delete t.__livePreview},refresh:()=>{v.refreshCache()},enumerateOrigins:()=>g.enumerate(),inspect:()=>v.inspect()});try{Object.defineProperty(window,"__livePreview",{value:w,writable:!1,configurable:!0})}catch(t){throw b(),v.destroy(),t}}()})();';function n(t={}){if(0===i.length)throw new Error("[live-preview] runtime.generated.ts is empty. Run `npm run build:runtime` before bundling.");let e=[t.allowedOrigins,t.serverURL,t.apiRoute,t.mergeDepth,t.debug,t.debounceMs,t.enableA11y,t.heartbeatMs,t.disableVisibilityGate,t.visibilityGateThreshold,t.intersectionRootMargin,t.disableReferrerDetection,t.disableLocalhostMatching,t.scopeBindingsByOwner];for(;e.length>0&&void 0===e.at(-1);)e.pop();return[`var __LIVE_PREVIEW_CONFIG__=${`[${e.map(t=>void 0===t?"":JSON.stringify(t)).join(",")}]`.replace(/</g,"\\u003C")};`,i].join("\n")}function r(t,e={}){return`<script${void 0!==e.nonce?` nonce="${l(e.nonce)}"`:""}>${t}<\/script>`}function l(t){if(!/^[A-Za-z0-9+/=_-]+$/.test(t))throw new RangeError("wrapWithScriptTag: nonce contains invalid characters");return t}e(n,"generateInlineScript"),e(r,"wrapWithScriptTag"),e(l,"escapeNonce");var s="virtual:payload-live-preview/options",o=`\0${s}`;function a(t={}){return{name:"payload-live-preview",hooks:{"astro:config:setup":e(e=>{if("middleware"===t.mode)return void u(e,t);if(!1===t.autoInject)return;let i=n({...void 0!==t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{},...void 0!==t.serverURL?{serverURL:t.serverURL}:{},...void 0!==t.apiRoute?{apiRoute:t.apiRoute}:{},...void 0!==t.mergeDepth?{mergeDepth:t.mergeDepth}:{},...void 0!==t.debug?{debug:t.debug}:{},...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.heartbeatMs?{heartbeatMs:t.heartbeatMs}:{}});e.injectScript("head-inline",i)},"astro:config:setup")}}}function u(t,i){if(void 0===t.addMiddleware||void 0===t.updateConfig)throw new Error("payload-live-preview: mode 'middleware' needs Astro's addMiddleware/updateConfig hooks (Astro >= 4). Upgrade Astro or use the default inline mode.");if(void 0!==i.shouldInject)throw new Error("payload-live-preview: `shouldInject` cannot be used with mode 'middleware' — options are serialized into the build. Use `previewQueryParams`/`previewSignals`, or register createLivePreviewMiddleware() manually in src/middleware.ts.");let{mode:n,shouldInject:r,...l}=i,a=`export default ${JSON.stringify(l).replace(/</g,"\\u003C")};`;t.updateConfig({vite:{plugins:[{name:"payload-live-preview-options",resolveId:e(t=>t===s?o:void 0,"resolveId"),load:e(t=>t===o?a:void 0,"load")}]}}),t.addMiddleware({entrypoint:"payload-live-preview/astro/middleware-entry",order:"pre"})}e(a,"livePreview"),e(u,"setupMiddlewareMode");var d=/[\t\n\f\r ]+/,h=/^[\t\n\f\r ]+|[\t\n\f\r ]+$/g;function c(t){return t.replace(/[A-Z]/g,t=>t.toLowerCase())}function f(t=16){if(!Number.isInteger(t)||t<8)throw new RangeError(`generateCspNonce: bytes must be an integer >= 8, got ${String(t)}`);let e=p();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.");let i=new Uint8Array(t);return e.getRandomValues(i),g(i)}function p(){let t=globalThis.crypto;if(t?.getRandomValues)return t}function g(t){let e="";for(let i of t)e+=String.fromCharCode(i);return("function"==typeof btoa?btoa(e):Buffer.from(t).toString("base64")).replaceAll("+","-").replaceAll("/","_").replaceAll("=","")}function m(t={}){let{self:e=!0,origins:i=[],allowNone:n=!1}=t,r=new Set,l=[];if(n&&!e&&0===i.length)return"'none'";e&&(l.push("'self'"),r.add("'self'"));for(let t of i){let e=t.trim();0===e.length||r.has(e)||(r.add(e),l.push(e))}return l.length>0?l.join(" "):"'none'"}function v(t,e={}){if(0===t.length)throw new RangeError("buildScriptSrcWithNonce: nonce is empty");let{self:i=!0,extra:n=[],strictDynamic:r=!1}=e,l=[];i&&l.push("'self'"),l.push(`'nonce-${t}'`),r&&l.push("'strict-dynamic'");for(let t of n){let e=t.trim();e.length>0&&l.push(e)}return l.join(" ")}function y(t,e){let i=new Map;for(let e of t.split(";")){let t=e.replace(h,"");if(0===t.length)continue;let n=t.search(d),r=c(n<0?t:t.slice(0,n));if(i.has(r))continue;let l=n<0?"":t.slice(n).replace(h,"");i.set(r,l)}for(let[t,n]of Object.entries(e)){let e=c(t),r="string"==typeof n?{value:n}:n,l=r.mode??"union",s=i.get(e);if("replace"===l||void 0===s||0===s.length){i.set(e,r.value);continue}let o=new Set,a=[];for(let t of[...s.split(d),...r.value.split(d)])0===t.length||o.has(t)||(o.add(t),a.push(t));let u=a.filter(t=>"'none'"!==t);i.set(e,(u.length>0?u:a).join(" "))}let n=[];for(let[t,e]of i)n.push(0===e.length?t:`${t} ${e}`);return n.join("; ")}e(c,"asciiLowercase"),e(f,"generateCspNonce"),e(p,"resolveCrypto"),e(g,"base64UrlEncode"),e(m,"buildFrameAncestors"),e(v,"buildScriptSrcWithNonce"),e(y,"mergeCspHeader");var b=["preview","draft","livePreview"];function w(t,e={}){let i=new Set(e.signals??["query","fetch-dest","referer"]),n=e.queryParams??b,r=(e.checkFetchDest??!0)&&i.has("fetch-dest");if(i.has("query")){let e;try{e=new URL(t.url)}catch{e=void 0}if(void 0!==e)for(let t of n){let i=e.searchParams.get(t);if("true"===i||"1"===i)return!0}}if(r&&"iframe"===t.headers.get("sec-fetch-dest"))return!0;let l=i.has("referer")?e.adminOrigins??[]:[];if(l.length>0){let e=t.headers.get("referer");if(null!==e)try{let t=new URL(e).origin;for(let e of l)try{if(new URL(e).origin===t)return!0}catch{}}catch{}}return!1}e(w,"isPreviewRequest");var S="livePreviewNonce",k=/text\/html/i,$=/<head(\s[^>]*)?>/i;function A(t={}){let i,r=t.allowedOrigins??[],l=t.autoInject??!0,s=t.inject??"preview-only",o=M(t.manageCsp),a=t.shouldInject,u=e(()=>(i??=n({...void 0!==t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{},...void 0!==t.serverURL?{serverURL:t.serverURL}:{},...void 0!==t.apiRoute?{apiRoute:t.apiRoute}:{},...void 0!==t.mergeDepth?{mergeDepth:t.mergeDepth}:{},...void 0!==t.debug?{debug:t.debug}:{},...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.heartbeatMs?{heartbeatMs:t.heartbeatMs}:{}}),i),"scriptBody");return async(e,i)=>{let n=f();e.locals[S]=n;let d=await i();if(!0===e.isPrerendered||"always"!==s&&!w(e.request,{...void 0!==t.previewQueryParams?{queryParams:t.previewQueryParams}:{},...void 0!==t.previewSignals?{signals:t.previewSignals}:{},adminOrigins:r}))return d;let h=d,c=d.headers.get("content-type")??"";return l&&(a?.(e.request)??!0)&&k.test(c)&&(h=await T(d,n,u())),!1!==o&&(h=N(h,n,r,o,t)),h}}function M(t){return!1!==t&&("full"===t?"full":"frame-ancestors")}async function T(t,e,i){let n=await t.text(),l=new Headers(t.headers);if(l.delete("content-length"),!$.test(n))return new Response(n,{status:t.status,statusText:t.statusText,headers:l});let s=r(i,{nonce:e}),o=n.replace($,t=>`${t}${s}`);return new Response(o,{status:t.status,statusText:t.statusText,headers:l})}function N(t,e,i,n,r){let l={"frame-ancestors":m({self:!0,origins:[...i,...r.frameAncestorsExtra??[]]})};"full"===n&&(l["script-src"]=v(e,{self:!0,strictDynamic:r.strictDynamic??!1,...void 0!==r.scriptSrcExtra?{extra:r.scriptSrcExtra}:{}}));let s=y(t.headers.get("content-security-policy")??"",l);try{return t.headers.set("content-security-policy",s),t}catch{let e=new Headers(t.headers);return e.set("content-security-policy",s),new Response(t.body,{status:t.status,statusText:t.statusText,headers:e})}}function x(t={}){return r(n({...void 0!==t.allowedOrigins?{allowedOrigins:t.allowedOrigins}:{},...void 0!==t.serverURL?{serverURL:t.serverURL}:{},...void 0!==t.apiRoute?{apiRoute:t.apiRoute}:{},...void 0!==t.mergeDepth?{mergeDepth:t.mergeDepth}:{},...void 0!==t.debug?{debug:t.debug}:{},...void 0!==t.debounceMs?{debounceMs:t.debounceMs}:{},...void 0!==t.heartbeatMs?{heartbeatMs:t.heartbeatMs}:{},...void 0!==t.nonce?{nonce:t.nonce}:{}}),void 0!==t.nonce?{nonce:t.nonce}:{})}e(A,"createLivePreviewMiddleware"),e(M,"normalizeManageCsp"),e(T,"injectScript"),e(N,"applyCspHeaders"),e(x,"renderLivePreviewScript");export{S as NONCE_LOCALS_KEY,A as createLivePreviewMiddleware,w as isPreviewRequest,a as livePreview,x as renderLivePreviewScript};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|