@panphora/clayjs 1.24.0 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.js +1 -1
- package/dist/clay-dom.js +1 -1
- package/dist/clay-events.js +1 -1
- package/dist/clay-internals.js +1 -1
- package/dist/clay-options.js +1 -1
- package/dist/clay-router.js +1 -1
- package/dist/clay-ui.js +1 -1
- package/dist/clay-utils.js +1 -1
- package/dist/clay.js +1 -1
- package/dist/clay.standalone.js +15016 -13603
- package/dist/m/c-277QP5ET.js +1 -0
- package/dist/m/{c-BULK5J4M.js → c-3UW5EJ77.js} +1 -1
- package/dist/m/{c-GM7OA6EJ.js → c-42ZNV7LI.js} +1 -1
- package/dist/m/{c-RXTPKCMC.js → c-6IJEVE6B.js} +1 -1
- package/dist/m/{c-2R4OBWIP.js → c-6LEYVQJK.js} +1 -1
- package/dist/m/{c-LO4C4J77.js → c-6Q6RGFBF.js} +1 -1
- package/dist/m/{c-PD5AKHY3.js → c-7CM4GMTS.js} +1 -1
- package/dist/m/c-APGHGDZM.js +1 -0
- package/dist/m/{c-Q6VNQDJE.js → c-B7GOFGQR.js} +1 -1
- package/dist/m/{c-RJKKRWHW.js → c-BGN7RCTJ.js} +1 -1
- package/dist/m/{c-A7N5TNSL.js → c-C5AKJVRH.js} +1 -1
- package/dist/m/{c-SNVDWMM3.js → c-CJ7QYEWI.js} +1 -1
- package/dist/m/{c-PVJMJL3P.js → c-CZHTXGJS.js} +1 -1
- package/dist/m/{c-KJHVB2KG.js → c-DDS23EY6.js} +1 -1
- package/dist/m/{c-VSEUFJAO.js → c-DFKBGSN2.js} +1 -1
- package/dist/m/{c-DLBX4JCJ.js → c-EDE45NM7.js} +1 -1
- package/dist/m/c-EILLN2H2.js +1 -0
- package/dist/m/{c-EY5KDUZF.js → c-FEC6LGFF.js} +1 -1
- package/dist/m/{c-PMRRMT72.js → c-HDVH3MVC.js} +1 -1
- package/dist/m/c-HKSLOVU4.js +1 -0
- package/dist/m/{c-GNIVHLEJ.js → c-HL6BLJNA.js} +1 -1
- package/dist/m/c-HTLYXCUH.js +1 -0
- package/dist/m/{c-RTSRGGTP.js → c-JQF2EUCG.js} +1 -1
- package/dist/m/{c-O5ARALMJ.js → c-JWDCQL6J.js} +1 -1
- package/dist/m/{c-WOELSNWS.js → c-LATNQ6Q5.js} +1 -1
- package/dist/m/{c-UM7VZDTW.js → c-LSVN3OLG.js} +1 -1
- package/dist/m/{c-HSNGLIFB.js → c-MFOSMAVM.js} +2 -2
- package/dist/m/{c-FZRZPIFS.js → c-MQYEDF3Q.js} +1 -1
- package/dist/m/{c-2OIKXOY6.js → c-ND3Q2G2I.js} +1 -1
- package/dist/m/{c-PZRWZZRO.js → c-OCYG4NBQ.js} +1 -1
- package/dist/m/{c-54ZZZYUN.js → c-P2HKMJAW.js} +1 -1
- package/dist/m/{c-VI3BJHCM.js → c-PCNJETUA.js} +1 -1
- package/dist/m/{c-7YETSAVY.js → c-PDBNCJCT.js} +1 -1
- package/dist/m/{c-A5ZBFICF.js → c-PYG2NGWU.js} +1 -1
- package/dist/m/{c-RBPZNU2D.js → c-QQFHEODI.js} +1 -1
- package/dist/m/{c-YINHPF4V.js → c-SGH3UTF3.js} +1 -1
- package/dist/m/{c-FV46ZKGX.js → c-SKMIR5HQ.js} +1 -1
- package/dist/m/{c-TWOXQQKV.js → c-STRI73GQ.js} +1 -1
- package/dist/m/{c-75N3KG35.js → c-T3P3AXEW.js} +1 -1
- package/dist/m/c-U4NTUVDZ.js +1 -0
- package/dist/m/{c-P5NKFRL4.js → c-UOOIF2AL.js} +1 -1
- package/dist/m/c-VHSMPITY.js +1 -0
- package/dist/m/{c-6UPEKW6O.js → c-X75G43SZ.js} +1 -1
- package/dist/m/{c-YGGO2G2L.js → c-XW5TIYYB.js} +1 -1
- package/dist/m/{c-DZPO22O3.js → c-YDW4VCHP.js} +1 -1
- package/dist/m/{c-YB3CDTDZ.js → c-YLHTD3KX.js} +1 -1
- package/dist/m/c-Z4G2UK6T.js +4 -0
- package/dist/m/{c-VNAYHV2J.js → c-ZGCO4J3H.js} +1 -1
- package/dist/m/core/{admin-attrs-5UGMYCKW.js → admin-attrs-ONRWVXPK.js} +1 -1
- package/dist/m/core/{autosave-4P66VXX7.js → autosave-TBKAAAFB.js} +1 -1
- package/dist/m/core/{conflict-notice-BAR23OWH.js → conflict-notice-FOEE6I7E.js} +1 -1
- package/dist/m/core/draft-mode-4MCL3LYI.js +1 -0
- package/dist/m/core/{host-permission-3HE4CFD6.js → host-permission-X4BENZEU.js} +1 -1
- package/dist/m/core/{is-edit-mode-GK7IFFMT.js → is-edit-mode-FFHCQ5DR.js} +1 -1
- package/dist/m/core/{persist-AIJGTKKI.js → persist-6ILUR34S.js} +1 -1
- package/dist/m/core/{recovery-LPB6X72P.js → recovery-APWADU4K.js} +1 -1
- package/dist/m/core/{save-FV4ZCKBI.js → save-6HT2LABE.js} +1 -1
- package/dist/m/core/{save-core-K7XFAWQ4.js → save-core-EVMNZQ4V.js} +1 -1
- package/dist/m/core/{site-edits-TEQORBJU.js → site-edits-G4BOZMV4.js} +1 -1
- package/dist/m/core/{unsaved-warning-FF63QGKI.js → unsaved-warning-ITZDIZ2I.js} +1 -1
- package/dist/m/internals/{index-AX4CG7B2.js → index-HS3CQDFW.js} +1 -1
- package/dist/m/loader-GLLVDUZA.js +1 -0
- package/dist/m/manifest-50FF1C45.js +1 -0
- package/dist/m/manifest-edit-BE1A621D.js +1 -0
- package/dist/m/manifest.json +710 -674
- package/dist/m/plugins/{ai-edit-CUKQQWJX.js → ai-edit-LABECCSN.js} +1 -1
- package/dist/m/plugins/{cms-JANMGPHM.js → cms-T2HLI7JG.js} +16 -16
- package/dist/m/plugins/{demo-JIR7DXJA.js → demo-T7B4RIKL.js} +1 -1
- package/dist/m/plugins/{derive-QVI3LI3A.js → derive-6LPJOCAV.js} +1 -1
- package/dist/m/plugins/{indicator-DAKZGAWI.js → indicator-J4ABFARX.js} +1 -1
- package/dist/m/plugins/{live-UAJGWRNP.js → live-PGBIEMGB.js} +1 -1
- package/dist/m/plugins/{menu-BFJ644YX.js → menu-YZL3X2AJ.js} +1 -1
- package/dist/m/plugins/page-WOCNX2IN.js +2 -0
- package/dist/m/plugins/{page-view-OYN7Z5TS.js → page-view-SJODOOGE.js} +1 -1
- package/dist/m/plugins/{people-VBDR5Y22.js → people-C4TCWFOQ.js} +1 -1
- package/dist/m/plugins/{richclay-CBLZRFB4.js → richclay-Y2NV44NA.js} +3 -3
- package/dist/m/plugins/sortable-XCHQG65Z.js +1 -0
- package/dist/m/plugins/{source-ZXDD7F6X.js → source-YK7MO23W.js} +1 -1
- package/dist/m/plugins/{undo-5JI5G7CQ.js → undo-VLRBQNPN.js} +1 -1
- package/dist/m/plugins/{upgrade-6B6QS3NR.js → upgrade-NNTJBSK2.js} +1 -1
- package/dist/m/plugins/{upload-DNJNW6H3.js → upload-ZKKJV76X.js} +1 -1
- package/dist/m/plugins/visitor-drafts-RTZNONHT.js +20 -0
- package/dist/m/plugins/{visitor-drafts-owner-VIAZC3CF.js → visitor-drafts-owner-LHUHFU3L.js} +1 -1
- package/dist/m/plugins/{visitor-menu-ZHKWIKKY.js → visitor-menu-FY4KM2SW.js} +1 -1
- package/dist/m/plugins/wire-M2NR354P.js +1 -0
- package/dist/m/{reader-core-F6RY3V64.js → reader-core-T2S3JC4E.js} +2 -2
- package/dist/m/sync/{live-sync-M2PP2IWY.js → live-sync-Z64YREWQ.js} +1 -1
- package/dist/m/vendor/{sap-core.vendor-OA5SKL7Q.js → sap-core.vendor-QAEPMETX.js} +1 -1
- package/dist/offline-manifest.json +455 -425
- package/entries/clay-data.js +1 -1
- package/entries/sap.js +1 -1
- package/package.json +2 -2
- package/src/core/draft-mode.js +6 -0
- package/src/core/save-core.js +7 -8
- package/src/core/unsaved-warning.js +2 -2
- package/src/lib/idb-error-code.js +20 -0
- package/src/loader.js +2 -0
- package/src/plugins/page.js +19 -5
- package/src/plugins/sortable.js +7 -0
- package/src/plugins/visitor-drafts/commit.js +303 -0
- package/src/plugins/visitor-drafts/idb.js +221 -0
- package/src/plugins/visitor-drafts/prompt.js +23 -3
- package/src/plugins/visitor-drafts/session.js +345 -0
- package/src/plugins/visitor-drafts/store.js +210 -26
- package/src/plugins/visitor-drafts.js +148 -28
- package/src/vendor/hyper-html-api-data.vendor.js +1 -1
- package/src/vendor/hyper-html-api-upgrade.vendor.js +2 -2
- package/src/vendor/hypercms.vendor.js +16 -16
- package/src/vendor/richclay.vendor.js +1 -1
- package/src/vendor/sap-core.vendor.js +1 -1
- package/dist/m/c-234RSEIW.js +0 -1
- package/dist/m/c-2YIJ6ZA6.js +0 -1
- package/dist/m/c-H2H7TI6O.js +0 -1
- package/dist/m/c-JMDKPBMC.js +0 -4
- package/dist/m/c-N7JPUPGC.js +0 -1
- package/dist/m/c-NEXFVJIT.js +0 -1
- package/dist/m/c-T527QHOB.js +0 -1
- package/dist/m/core/draft-mode-WSQAT67S.js +0 -1
- package/dist/m/loader-5IA5OJ3J.js +0 -1
- package/dist/m/manifest-98258645.js +0 -1
- package/dist/m/manifest-edit-ABF56000.js +0 -1
- package/dist/m/plugins/page-ZBIYHGK4.js +0 -2
- package/dist/m/plugins/sortable-HDOQ6GAC.js +0 -1
- package/dist/m/plugins/visitor-drafts-A5FDQ2G7.js +0 -20
- package/dist/m/plugins/wire-XOT7XKJL.js +0 -1
- /package/dist/m/plugins/{richclay-CBLZRFB4.js.LEGAL.txt → richclay-Y2NV44NA.js.LEGAL.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var $="hha:upgrade-check:",M=1440*60*1e3,S="upgrade-dismissed",P="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function T(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${$}${o.href}:${t}`,u=T(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<M)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=(R,V=null)=>({status:R,version:u,update:V}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?"File at latest version":`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(P,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-
|
|
1
|
+
import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var $="hha:upgrade-check:",M=1440*60*1e3,S="upgrade-dismissed",P="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function T(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${$}${o.href}:${t}`,u=T(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<M)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=(R,V=null)=>({status:R,version:u,update:V}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?"File at latest version":`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(P,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-VHSMPITY.js")).replace(e,t)}function B(e){import("../c-Z4G2UK6T.js").then(t=>t.start(e.detail)).catch(t=>console.error("clayjs: the upgrade could not start:",t))}var l=typeof window<"u"?window.clay:null;if(l&&l.canEdit&&!l.isDraftMode){document.addEventListener("clay:upgrade-requested",B);let e=l.ready;e&&typeof e.then=="function"?e.then(()=>E(),()=>{}):E()}export{q as announce,C as checkUpdate,H as findUpdate,J as replace,E as start};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as r,c as p,d as n,e as u}from"../c-
|
|
1
|
+
import{b as r,c as p,d as n,e as u}from"../c-P2HKMJAW.js";import"../c-I2SCCUEW.js";import"../c-QQFHEODI.js";import"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";function o(a,{requiredAccess:t,...i}={}){return r(t),p(a,{...i,requiredAccess:t})}o.mount=async(a,t)=>(await import("../c-DDS23EY6.js")).mount(a,t);o.start=n;var c=o;export{c as default,u as modeParticipant,o as upload};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{a as le,b as ue,c as de}from"../c-Y6F2FORL.js";import{a as ce,b as V,c as lt}from"../c-HKSLOVU4.js";import{a as fe,b as pe,c as he,d as me}from"../c-OKEGUICD.js";import{b as se}from"../c-QY7F6EN6.js";import{a as ie}from"../c-HTLYXCUH.js";import"../c-4ASQPRQL.js";import"../c-GQ6F6IDK.js";import"../c-I2SCCUEW.js";import"../c-5VYOWDTI.js";import"../c-6Q6RGFBF.js";import"../c-SKMIR5HQ.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-LA2BW7UY.js";import"../c-MFOSMAVM.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-6IJEVE6B.js";import"../c-QQFHEODI.js";import"../c-IJUK2GPW.js";import{b as oe,f as ae,h as Mt}from"../c-EDE45NM7.js";import{d as Qt}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as yt,f as te,h as ee,j as tt,k as ne,l as re}from"../c-U4NTUVDZ.js";import"../c-PWJSJEJU.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Ee="clay:visitor-drafts:",ye=1,ge=32,Ve=512*1024,We=16*1024*1024,Ze=()=>Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6);function Oe(t){let e=2166136261;for(let r=0;r<t.length;r++)e=Math.imul(e^t.charCodeAt(r),16777619);return(e>>>0).toString(36)+"."+t.length.toString(36)}function Y(t=window.location.pathname){let r=String(t||"/").replace(/\/{2,}/g,"/").match(/^(.*?\/[^/]+\.(?:html|htmlclay))(?:\/|$)/i),l=r?r[1]:"/";return l.toLowerCase()==="/index.html"?"/":l}var Nt=t=>Ee+t,Ie=(t,e=Y())=>`${Ee}${t}@${e}`;function kt(){try{return window.localStorage}catch{return null}}var A=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);function Ye(t){let e=[];for(let r of t.matchAll(/([^.[\]]+)|\[(\d+)\]/g))e.push(r[2]!==void 0?Number(r[2]):r[1]);return e}function Ge(t,e){let r=Ye(e),l=t;for(let i=0;i<r.length-1;i++)if(l=l?.[r[i]],l==null||typeof l!="object")return;l&&typeof l=="object"&&delete l[r[r.length-1]]}function q(t,e){return Array.isArray(t)?Array.isArray(e)&&e.length===t.length&&t.every((r,l)=>q(r,e[l])):A(t)?A(e)&&Object.keys(t).every(r=>q(t[r],e[r])):t===e}function Z(t,e){return q(t,e)&&q(e,t)}var Le='script[type="application/json"][merge][clay~="live"]',jt="article[data-blockeditor]",we=t=>t==="blockeditor"||/^blockeditor\.\d+$/.test(t),Ct=t=>JSON.stringify(Object.keys(t).sort().map(e=>[e,t[e]]));function gt(t){let e=t.querySelectorAll(jt);if(e.length!==1)return null;let r={};for(let l of t.querySelectorAll(Le))try{r[l.getAttribute("merge")]=JSON.parse(l.textContent)}catch{return null}return{live:r,blockeditor:{rev:e[0].getAttribute("data-rev")||"",html:e[0].innerHTML}}}var W=(t,e)=>!t||!e?t===e:t.blockeditor.rev===e.blockeditor.rev&&Ct(t.live)===Ct(e.live),ve=t=>A(t?.live)&&A(t?.blockeditor)?`${t.blockeditor.rev}:${Oe(Ct(t.live))}`:null;function wt(t){if(!A(t?.live)||!A(t?.blockeditor))return null;let{live:e,blockeditor:r}=t;return!Object.keys(e).length||typeof r.rev!="string"||typeof r.html!="string"?null:{live:e,blockeditor:r}}var et=t=>Array.isArray(t)&&t.every(e=>A(e)&&(typeof e.id=="string"||typeof e.id=="number"))&&new Set(t.map(e=>e.id)).size===t.length;function ut(t,e,r=!1){if(A(t)&&A(e)){let l={...t};for(let i of Object.keys(e))i in t?l[i]=ut(t[i],e[i]):r||(l[i]=e[i]);return l}if(et(t)&&et(e)){let l=new Map(e.map(i=>[i.id,i]));return t.map(i=>l.has(i.id)?ut(i,l.get(i.id)):i)}return t}var be=(t,e)=>t.length===e.length&&t.every((r,l)=>r===e[l]);function Xe(t,e,r){let l=c=>new Map(c.map(k=>[k.id,k])),i=l(t),b=l(e),w=l(r),u=c=>c.filter(k=>i.has(k.id)&&b.has(k.id)&&w.has(k.id)).map(k=>k.id),v=u(t);if(!be(v,u(e))||!be(v,u(r)))return null;for(let[c,k]of i)if(b.has(c)&&!w.has(c)&&!Z(b.get(c),k)||!b.has(c)&&w.has(c)&&!Z(w.get(c),k))return null;let a=!1,m=[];for(let c of e){if(i.has(c.id)&&!w.has(c.id))continue;if(!w.has(c.id)){m.push(c);continue}let k=vt(i.get(c.id),c,w.get(c.id),!0);a||=k.conflict,m.push(k.value)}return r.forEach((c,k)=>{if(i.has(c.id)||b.has(c.id))return;let S=0;for(let M=k-1;M>=0;M--){let L=m.findIndex(O=>O.id===r[M].id);if(L!==-1){S=L+1;break}}m.splice(S,0,c)}),{value:m,conflict:a}}function vt(t,e,r,l){if(Z(e,r)||Z(r,t))return{value:e,conflict:!1};if(Z(e,t))return{value:r,conflict:!1};if(A(e)&&A(r)){let i={},b=!1;for(let w of new Set([...Object.keys(e),...Object.keys(r)])){let u=vt(A(t)?t[w]:void 0,e[w],r[w],l);b||=u.conflict,u.value!==void 0&&(i[w]=u.value)}return{value:i,conflict:b}}if(l&&et(t)&&et(e)&&et(r)){let i=Xe(t,e,r);if(i)return i}return{value:e,conflict:!0}}function bt(t,e=new Map){if(Array.isArray(t)){if(et(t))for(let r of t)e.set(r.id,(e.get(r.id)||0)+1);for(let r of t)bt(r,e)}else if(A(t))for(let r of Object.values(t))bt(r,e);return e}function ke(t,e,r){let l=vt(t,e,r,!0),i=bt(e);for(let[b,w]of bt(l.value))if(w>1&&w>(i.get(b)||0))return vt(t,e,r,!1);return l}function _(t,e){tt(!0),t.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:e}}));let r=new Error("Couldn't save in this browser. Storage is full or turned off.");return r.code="draft-storage",r}var Se=t=>{try{return String(JSON.parse(t)?.savedAt??"")}catch{return""}};function xe(t,{path:e=Y(),storage:r=kt()}={}){let l=Nt(t),i=Ie(t,e),b=i+":legacy";try{let w=r?.getItem(i),u=r?.getItem(l);if(u==null){let c=r?.getItem(l+":ui");return c!=null&&r.getItem(i+":ui")==null&&r.getItem(i+":ui-legacy")==null&&(r.setItem(i+":ui",c),r.setItem(i+":ui-legacy","1")),"none"}let v=Se(u),a=r.getItem(b);if(a===v)return"none";let m=r.getItem(i);if(m!==w)return"none";if(m==null||a!=null&&Se(m)===a?r.setItem(i,u):m!==u&&(r.setItem(i+":conflict",u),console.warn("visitor-drafts: an older tab changed this draft after it moved; its copy was kept under",i+":conflict")),a==null){let c=r.getItem(l+":ui");c!=null&&r.getItem(i+":ui")==null&&r.setItem(i+":ui",c)}return r.setItem(b,v),"copied"}catch{return"failed"}}function Qe(t){if(!A(t)||!("site"in t))return t;let{site:e,...r}=t;return r}function Ae({doc:t=document,storage:e=kt(),now:r=()=>new Date,path:l=Y(),fallback:i=null,slotLimit:b=Ve,pendingLimit:w=We}={}){let u=yt(t),v=Ie(u,l),a=Qe(ce.findRulesIn(t,"api").rules),m=null,c=null,k=null,S=null,M=!0,L=null,O=!1,j=null,$,N=null,D=null,G=()=>{$===void 0&&($=gt(t))};function rt(n){return n?(G(),$?n.blockeditor.rev!==$.blockeditor.rev||Object.keys(n.live).some(s=>!we(s)&&JSON.stringify(n.live[s])!==JSON.stringify($.live[s]))||N||D?n:null:n):null}function ft(n){if(t.querySelector(jt)||t.readyState!=="loading")return n();t.addEventListener("DOMContentLoaded",n,{once:!0})}function ot(n){G();let o=t.querySelector(jt);if(!o)return!1;let s=new Map([...t.querySelectorAll(Le)].map(p=>[p.getAttribute("merge"),p]));for(let[p,y]of s)we(p)&&!(p in n.live)&&y.remove();for(let[p,y]of Object.entries(n.live)){let E=s.get(p);E||(E=t.createElement("script"),E.setAttribute("type","application/json"),E.setAttribute("merge",p),E.setAttribute("clay","live"),o.parentNode.insertBefore(E,o)),E.textContent=JSON.stringify(y).replace(/</g,"\\u003c")}return!0}let B=Ze,H=v+":reset";function Ot(){try{return"root:"+(e?.getItem(H)??"")}catch{return"root:"}}let at=n=>"legacy:"+Oe(n);function pt(n,o){return n?n.id?Array.isArray(n.ancestry)?[n.id,...n.ancestry].slice(0,ge):null:[at(o)]:null}function ht(n){if(!j||j.raw!==m||!j.ancestry||!n?.id||n.id===j.id)return!1;let o=n.ancestry;return!Array.isArray(o)||o.includes(j.id)?!1:o.includes(j.ancestry[0])||o.length>=ge}function J(){try{if(!e)return null;let n=e.getItem(v);return n==null&&i?e.getItem(i):n}catch{return null}}function d(n){try{let o=JSON.parse(n);if(A(o)&&o.v===ye&&A(o.data))return o}catch{}return null}function x(){let n=J();return n==null?null:{raw:n,record:d(n)}}function I(){return V(t,a)}function X(){let n=window.clay?.getHTML;return typeof n!="function"?I():V(new DOMParser().parseFromString(n.call(window.clay),"text/html"),a)}function _t(){try{if(typeof e.keys=="function")return e.keys();let n=[];for(let o=0;o<e.length;o++)n.push(e.key(o));return n}catch{return[]}}function Pe(){try{return JSON.stringify(X())}catch{return null}}function Q(n,{keepSlot:o=!1}={}){let s=_t().find(y=>y.startsWith(v+":unreadable:")&&e.getItem(y)===n);if(s){if(L=null,!o)try{e.removeItem(v)}catch{}return s}let p=v+":unreadable:"+r().toISOString();try{e.setItem(p,n)}catch{return L=n,console.warn("visitor-drafts: this browser's saved copy no longer fits the page, and there is no room to keep it aside; nothing will be saved over it"),null}if(L=null,!o)try{e.removeItem(v)}catch{}return console.warn(o?"visitor-drafts: part of this browser's saved copy no longer fits the page; the original was kept under":"visitor-drafts: this browser's saved copy no longer fits the page; it was kept under",p),p}function Bt(n){let o=ut(JSON.parse(JSON.stringify(n)),I(),!0),s=[];for(let p=0;p<4;p++){let y=t.cloneNode(!0);try{lt(y,o,a)}catch(g){let F=g?.details?.unknownKeys??g?.unknownKeys;if(Array.isArray(F)&&F.length){for(let P of F)Ge(o,P);continue}let st=Object.keys(o).filter(P=>{try{return lt(t.cloneNode(!0),{[P]:o[P]},a),!1}catch{return!0}});if(!st.length)return null;for(let P of st)delete o[P];s.push(...st);continue}let E=V(y,a),T=Object.keys(o).filter(g=>!q(o[g],E[g]));if(!T.length)return{data:o,dropped:s};for(let g of T)delete o[g];s.push(...T)}return null}function It({raw:n,record:o}){let s=Q(n);return s||(m=n),c=I(),S=o?.data??c,s?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}let $t=()=>k??=I();function Ue(n=x()){if($t(),!n)return c=S=k,ft(G),{restored:!1,hadDraft:!1};if(M=!1,!n.record)return It(n);let o=wt(n.record),s=Object.keys(n.record.data).length>0,p=s?Bt(n.record.data):{data:{},dropped:[]},y=!!p&&(!s||Object.keys(p.data).length>0);if(!o&&!y||!o&&!s)return It(n);if(s&&y&<(t,p.data,a),o&&(ft(()=>{ot(o)||(console.warn("visitor-drafts: this browser's saved page has no page to go into; it was kept aside"),Q(n.raw,{keepSlot:!0}))}),N=o,D=o),m=n.raw,c=I(),S=n.record.data,!y||p.dropped.length){let E=Q(n.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:y?p.data:{},partial:!0,parked:!!E,blocked:!E}}return{restored:!0,hadDraft:!0,data:p.data}}function it(){if(O)return!1;try{let n=window.clay?.getHTML;if(typeof n!="function")return!q(I(),c);let o=new DOMParser().parseFromString(n.call(window.clay),"text/html"),s=rt(gt(o));return!q(V(o,a),c)||!W(s,N)&&!W(s,D)}catch{return!0}}function Jt(n){let o=v+":conflict";try{e.setItem(o,n)}catch(s){throw _(t,s)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",o)}function Re(n){let o=J(),s=o==null?null:d(o);if(!s)return{data:n,stored:null,ancestry:[Ot()],parentData:c};let p=n;if(o!==m){let y=ke(ht(s)?j.parentData:c,n,s.data);y.conflict&&Jt(o),p=y.value}return p=ut(p,s.data),{data:p,stored:Z(p,s.data)?o:null,ancestry:pt(s,o),parentData:s.data}}function Lt(n){let o=Bt(n);if(!o||!Object.keys(o.data).length)return null;lt(t,o.data,a);try{window.Sap?.refresh?.()}catch{}return t.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:{restored:!0,hadDraft:!0,parked:!1,external:!0}})),o.data}let f={id:B(),reset:"",acked:0,seq:0,journaled:0,ops:[],sizes:[]};try{f.reset=e?.getItem(H)??""}catch{}try{let n=JSON.parse(window.sessionStorage.getItem(v+":generation"));n?.marker===f.reset&&typeof n.reset=="string"&&(f.reset=n.reset)}catch{}let xt=`${v}:op:${f.id}`,Ft=()=>({tab:f.id,reset:f.reset,acked:f.acked,at:r().getTime(),ops:f.ops});function At(){try{if(!f.ops.length){f.journaled=f.seq,e.removeItem(xt);return}let n=JSON.stringify(Ft());if(n.length>b)return;e.setItem(xt,n),f.journaled=f.seq}catch{}}let Kt=null;function zt(n){if(O)return null;if(L!=null&&Q(L,{keepSlot:!0})===null)throw _(t,new Error("an earlier saved copy could not be kept aside"));if(f.sizes.reduce((g,F)=>g+F,0)>=w)throw _(t,new Error("too many changes are waiting to be saved"));let o=new DOMParser().parseFromString(n,"text/html"),s=V(o,a),p=rt(gt(o)),y=!W(p,N),E={};for(let g of Object.keys(s))g in c&&q(s[g],c[g])||(E[g]=g in S?{b:S[g],m:ut(s[g],S[g])}:{m:s[g]});if(!Object.keys(E).length&&!y)return f.ops.length||(tt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:s,unchanged:!0}}))),null;f.ops.length||(Kt={base:c,editorUnit:N,seenUnit:D});let T={seq:++f.seq,savedAt:r().toISOString(),keys:E,...y&&{unit:{seen:ve(D),to:p}}};c={...c},S={...S};for(let g of Object.keys(E))c[g]=s[g],S[g]=E[g].m;return y&&(N=D=p),M=!1,f.ops.push(T),f.sizes.push(JSON.stringify(T).length),At(),T}function He(){if(O)return!0;try{it()&&zt(window.clay.getHTML())}catch{return!1}return f.journaled===f.seq}function qe(n){if(n<=f.acked)return!1;f.acked=n;let o=f.ops.filter(s=>s.seq<=n).length;return f.ops.splice(0,o),f.sizes.splice(0,o),At(),o>0}function Vt(){f.ops.length=0,f.sizes.length=0,At()}function _e(){f.ops.length&&({base:c,editorUnit:N,seenUnit:D}=Kt),Vt()}function Be(n){let o=Object.fromEntries(Object.entries(n).filter(([p,y])=>!Z(y,S[p])));if(!Object.keys(o).length)return!1;let s=Lt(o);return S={...S,...o},s&&(c={...c,...s}),M=!1,!0}function Wt({keepPending:n=!1}={}){O=!0,n||Vt()}let Zt=()=>_t().filter(n=>n.startsWith(v+":op:"));function Yt(n){if(O)return null;if(L!=null&&Q(L,{keepSlot:!0})===null)throw _(t,new Error("an earlier saved copy could not be kept aside"));let o=new DOMParser().parseFromString(n,"text/html"),s=V(o,a),p=rt(gt(o)),y=!W(p,N),E=J();if(q(s,c)&&!y&&(E===m||E==null))return tt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:s,unchanged:!0}})),s;let{data:T,stored:g,ancestry:F,parentData:st}=Re(s),P=E==null?null:d(E),Tt=wt(P),ct=y?p:P?Tt:p;y&&P&&!W(Tt,D)&&Jt(E);let Gt=B(),mt=g&&W(ct,Tt)?g:JSON.stringify({v:ye,savedAt:r().toISOString(),id:Gt,ancestry:F,reset:f.reset,data:T,...ct&&{live:ct.live,blockeditor:ct.blockeditor}});if(mt!==g){try{if(!e)throw new Error("no storage");e.setItem(v,mt)}catch(z){throw _(t,z)}j={id:Gt,ancestry:F,parentData:st,raw:mt}}let Xt=Object.keys(s).filter(z=>!q(s[z],T[z]));return Xt.length&&Lt(Object.fromEntries(Xt.map(z=>[z,T[z]]))),m=mt,c=T,y&&(N=p),(y||!P)&&(D=ct),tt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:T}})),T}function Dt(){try{return Yt(window.clay.getHTML()),!0}catch{return!1}}function $e(){return O||!it()?!0:Dt()}function Je(){if(O)return!1;let n=J();if(n==null&&m!=null&&!it())return O=!0,window.location.reload(),!0;if(n==null||n===m||it())return!1;let o=d(n);if(ht(o)&&typeof window.clay?.getHTML=="function")return Dt();let s=o&&Lt(o.data);return!s&&!wt(o)?!1:(m=n,c={...c,...s||{}},!0)}function Fe(n){if(O)return null;if(n===void 0){let s=J();n=s==null?null:d(s)}let o=wt(n);return o&&!W(o,D)?o:null}function Ke(n){D=n}function ze(){Wt(),L=null,tt(!1);try{e.removeItem(v)}catch{}let n=/^(\d+)~/.exec(f.reset),o=n?Number(n[1]):f.reset===""?1:null;try{e.setItem(H,o===null?B():`${o+1}~${B()}`)}catch{}}return{slot:u,key:v,rules:a,read:x,restore:Ue,write:Yt,writeLive:Dt,flush:$e,changed:it,adoptExternal:Je,externalUnit:Fe,adoptedUnit:Ke,park:Q,clear:ze,snapshot:Pe,tab:f.id,slotKey:xt,chain:Ft,capture:zt,keep:He,acknowledge:qe,release:_e,take:Be,stop:Wt,journalSlots:Zt,seed:$t,merge3:ke,unitMark:ve,newId:B,failed:n=>_(t,n),generation:()=>f.reset,enter:n=>{f.reset=n},fresh:()=>M,shown:()=>c!==null,pending:()=>f.ops.length,unsafe:()=>f.journaled<f.seq,stopped:()=>O,held(){try{let n=JSON.parse(J());return A(n)?n:null}catch{return null}},kept:()=>!!x()||f.ops.length>0||Zt().length>0}}function De(t,e){let r=`${t}:ui`,l=()=>({v:1,prompt:{},intro:{done:null},src:null}),i=l();try{let b=JSON.parse(e?.getItem(r)||"null");b&&typeof b=="object"&&b.v===1&&(i={...l(),...b})}catch{}return{get:()=>i,save(){try{e?.setItem(r,JSON.stringify(i))}catch{}},reset(){i=l();try{e?.removeItem(r)}catch{}}}}var tn=/^[a-z0-9][a-z0-9-]{0,39}$/;function Te(t,e=window.location.search){let r=t.get(),l=null;try{l=new URLSearchParams(e).get("src")}catch{}return!r.src&&l&&tn.test(l)&&(r.src=l,t.save()),r.src}function Me(t,e=window.location){let r=Y(e.pathname);return`/_/download${r==="/"?"":r}?as=htmlclay${t?`&src=${encodeURIComponent(t)}`:""}`}var en=`<aside class="hcp" id="hcp" hidden aria-label="Download this app" data-hcp-state="tab" data-hcp-reason="open" sap-ignore clay="editor-ui">
|
|
2
|
+
<section class="hcp-card" id="hcp-card" role="dialog" aria-modal="false" aria-labelledby="hcp-title">
|
|
3
|
+
<button type="button" class="hcp-x" data-hcp="minimize" aria-label="Minimize"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square" aria-hidden="true"><path d="M5 12h14"/></svg></button>
|
|
4
|
+
<div class="hcp-kicker">Free download</div>
|
|
5
|
+
<h2 class="hcp-title" id="hcp-title"><span data-hcp-for="use">Your work is saved in this browser only.</span><span data-hcp-for="open">This app is free to keep.</span><span data-hcp-for="return">Your work is saved in this browser only.</span><span data-hcp-for="error">Your work isn't being saved in this browser.</span></h2>
|
|
6
|
+
<p class="hcp-body"><span data-hcp-for="open">Download it as one file and use it on your computer, no account needed.</span><span data-hcp-for="use">Download the file to keep it on your computer for good.</span><span data-hcp-for="return">Download the file to keep it on your computer for good.</span><span data-hcp-for="error">Storage is full or turned off here. Download the file to keep what you've done.</span></p>
|
|
7
|
+
<div class="hcp-file">
|
|
8
|
+
<svg width="20" height="20" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg>
|
|
9
|
+
<div><b class="hcp-name" data-hcp-name>This app</b><small>One file with the whole app and your work in it</small></div>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="hcp-actions">
|
|
12
|
+
<a class="hcp-btn hcp-btn--primary" data-hcp-link href="/_/download?as=htmlclay"><span><svg width="16" height="16" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg>Download free</span></a>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="hcp-foot"><button type="button" class="hcp-quiet" data-hcp="dismiss">Don’t show again</button></div>
|
|
15
|
+
</section>
|
|
16
|
+
<div class="hcp-dock">
|
|
17
|
+
<button type="button" class="hcp-btn hcp-tab" data-hcp="open" aria-controls="hcp-card" aria-expanded="false" aria-label="This app is free to keep"><span><svg width="16" height="16" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg><span class="hcp-tab__label">This app is free to keep</span><span class="hcp-tab__mini">Keep</span></span></button>
|
|
18
|
+
<button type="button" class="hcp-x" data-hcp="minimize" aria-label="Minimize download notice"><svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor" aria-hidden="true"><path d="M1.4 0 6 4.6 10.6 0 12 1.4 7.4 6 12 10.6 10.6 12 6 7.4 1.4 12 0 10.6 4.6 6 0 1.4z"/></svg></button>
|
|
19
|
+
</div>
|
|
20
|
+
</aside>`;async function je({memory:t,appName:e,link:r,settle:l,canDownloadCurrent:i=()=>!0}){let{PROMPT_CSS:b}=await import("../c-SGIA4IEQ.js"),u=document.querySelector('clay-editor-ui[data-clay-ui="download-prompt"]')?.shadowRoot.getElementById("hcp");if(!u){let d=document.createElement("template");d.innerHTML=en,u=d.content.firstElementChild,se({name:"download-prompt",content:u,css:[b],attributes:{"sap-ignore":""}})}let v=t.get();(!v.prompt||typeof v.prompt!="object")&&(v.prompt={});let a=v.prompt,m=3,c=2500,k=/^(INPUT|TEXTAREA|SELECT)$/,S="#hcp, .clay-intro, .clay-owner",M=u.querySelector("[data-hcp-link]");M.href=r,e&&(u.querySelector("[data-hcp-name]").textContent=e);let L=u.querySelector("[data-hcp=open]");function O(d,x){u.hidden=!1,u.setAttribute("data-hcp-state",d),x&&u.setAttribute("data-hcp-reason",x),L.setAttribute("aria-expanded",d==="card"?"true":"false"),(d==="card"||d==="mini")&&(a.shown=!0,t.save(),u.setAttribute("data-hcp-arrived","")),H()}function j(d){return d&&!u.contains(d)&&!d.closest(S)&&(k.test(d.tagName)||d.isContentEditable)}let $=null;function N(d){clearTimeout($),$=setTimeout(()=>{if(a.shown||a.dismissed||u.getAttribute("data-hcp-state")!=="tab")return;let x=document.activeElement;if(j(x)){let I=x.getBoundingClientRect(),X=Math.min(360,innerWidth-32);if(innerWidth<700||I.right>innerWidth-X-32&&I.bottom>innerHeight-380)return}O("card",d)},c)}let D=[];function G(d){u.contains(d.target)||!j(d.target)||(D.indexOf(d.target)<0&&D.push(d.target),a.uses=Math.max(a.uses||0,D.length),a.shown||t.save(),D.length>=m&&N("use"))}function rt(d){j(d.target)&&(u.getAttribute("data-hcp-state")==="card"&&O(a.shown?"mini":"tab"),innerWidth<700&&u.setAttribute("data-hcp-typing",""))}function ft(){setTimeout(()=>{j(document.activeElement)||u.removeAttribute("data-hcp-typing")},50)}let ot=0,B=!1;function H(){ot||(ot=requestAnimationFrame(()=>{ot=0;let x=de(innerWidth-24,I=>u.contains(I)||I.closest("[data-hcp-preview], .clay-owner"))+"px";u.style.getPropertyValue("--hcp-lift")!==x&&u.style.setProperty("--hcp-lift",x),B=!0,ue(),B=!1}))}async function Ot(){let d=window.clay&&window.clay.getHTML;if(typeof d!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let x=location.pathname.split("/").filter(Boolean).pop()||"index.html";try{let{downloadHtml:I}=await import("../c-3TWCKFOP.js");return await I({html:d(),name:x.replace(/\.html$/,".htmlclay")})}catch{return!1}}let at=!1;u.addEventListener("click",async d=>{let x=d.target.closest("[data-hcp]");if(x){let I=x.getAttribute("data-hcp");I==="open"?(O("card",u.getAttribute("data-hcp-reason")==="error"?void 0:"open"),M.focus()):I==="minimize"?(O("mini"),L.focus()):I==="dismiss"&&(u.getAttribute("data-hcp-reason")==="error"?(O("mini"),L.focus()):(a.dismissed=!0,O("mini"),L.focus()));return}if(d.target.closest("[data-hcp-link]")){if(!i())return;let I=at||u.getAttribute("data-hcp-reason")==="error";if(!I){let X=l?.();if(X){if(d.preventDefault(),await X!==!1){M.click();return}I=!0}}if(I&&(d.preventDefault(),!await Ot())){pt(),u.querySelector(".hcp-body [data-hcp-for='error']").textContent="The download could not be made. Keep this page open and try Download free again.";return}a.downloaded=!0,a.shown=!0,t.save()}}),u.addEventListener("animationend",d=>{(d.animationName==="hcp-arrive"||d.animationName==="hcp-arrive-fade")&&u.setAttribute("data-hcp-arrived","")}),u.addEventListener("keydown",d=>{d.key==="Escape"&&u.getAttribute("data-hcp-state")==="card"&&(O("mini"),L.focus())});function pt(){O("card","error")}function ht(){u.getAttribute("data-hcp-reason")==="error"&&u.setAttribute("data-hcp-reason","use")}let J={set:O,root:u,showError:pt,clearError:ht,download:(d=!1)=>{at=d;try{M.click()}finally{at=!1}}};return document.addEventListener("input",G,!0),document.addEventListener("change",G,!0),document.addEventListener("focusin",rt),document.addEventListener("focusout",ft),addEventListener("scroll",H,{passive:!0}),addEventListener("resize",H),document.addEventListener(le,()=>{B||H()}),document.addEventListener("transitionend",H,!0),u.addEventListener("transitionend",H),O(a.shown||a.dismissed?"mini":"tab"),!a.shown&&(a.uses||0)>=m&&N("return"),J}var h=null,U=null,C=!0,Ne=!1,nt=Promise.resolve(),K=!1,R=null,Rt=fe,Ht=null,qt=Promise.resolve(),Pt=Promise.resolve(),St=()=>!0,Et=()=>null,nn=3e3;function Ce(){return import("../c-XW5TIYYB.js").then(t=>t.mountOwnerChip()).catch(t=>(console.warn("visitor-drafts: the owner chip did not load",t),null))}function rn(t){return t.template?import("../c-VBXRXTVS.js").then(e=>e.mountIntro(t)).catch(e=>(console.warn("visitor-drafts: the intro did not load",e),null)):Promise.resolve(null)}var dt=yt(),Ut=document.querySelector('script[data-rules-name~="api"]');if(oe&&dt&&Ut){let i=function(a){R={restored:a.restored,hadDraft:a.hadDraft,parked:!!a.parked,...a.partial&&{partial:!0},...a.blocked&&{blocked:!0}},document.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:R}));let m=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",c=document.querySelector("template[visitor-intro]"),k=()=>{qt=je({memory:l,appName:m,link:Rt,settle:()=>Et(),canDownloadCurrent:()=>!K&&!R.blocked}).then(S=>rn({memory:l,template:c,appName:m,hadDraft:a.hadDraft||h.kept()}).then(()=>S)).then(S=>(document.addEventListener("clay:drafts-store-failed",()=>S.showError()),document.addEventListener("clay:drafts-saved",()=>S.clearError()),ne()&&S.showError(),(Mt?Ce():Promise.resolve(null)).then(()=>S)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",k,{once:!0}):k()},t=Y(),e=xe(dt,{path:t}),r=kt();h=Ae({path:t,fallback:e==="failed"?Nt(dt):null}),C=!(typeof globalThis.indexedDB?.open=="function"&&globalThis.IDBKeyRange),Ne=!C,nt=C?Promise.resolve():import("../c-EILLN2H2.js").then(a=>a.openSession({store:h,storage:r,reload:()=>ie({isCurrent:()=>!0,reload:()=>window.location.reload()})})).then(a=>{U=a},()=>{C=!0}),te(a=>{let m=!R;return Pt.then(()=>{if(K)throw _(document,new Error("the draft database did not open"));return m&&(a=window.clay.getHTML()),C?void h.write(a):(h.capture(a),nt.then(()=>{if(U)return U.sync().then(()=>{});h.write(a)}))})});let l=De(h.key,r);Ht=Te(l),Rt=Me(Ht),St=()=>{if(K)return!1;if(!R)return!0;if(C)return h.flush();let a=h.keep();return U?.hide(),a},ee(St),re(()=>!C&&h.unsafe()),Et=()=>{if(K)return Promise.resolve(!1);if(!R)return Pt.then(()=>Et());if(C)return h.flush()?null:Promise.resolve(!1);let a=h.keep();if(!h.pending())return a?null:Promise.resolve(!1);let m=nt.then(()=>U?U.sync().then(()=>!0):h.flush()).catch(()=>!1),c;return Promise.race([m,new Promise(k=>{c=setTimeout(()=>k(!1),nn)})]).finally(()=>clearTimeout(c))},document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&St()}),window.addEventListener("pagehide",St);let b=()=>{if(!C||K||!R)return;let a=h.externalUnit();a&&document.dispatchEvent(new CustomEvent("clay:drafts-blockeditor-external",{detail:{live:a.live,adopted:()=>h.adoptedUnit(a)}})),h.adoptExternal()};window.addEventListener("storage",a=>{a.key===h.key&&b()}),document.addEventListener("clay:drafts-blockeditor-listening",b),window.addEventListener("pageshow",a=>{a.persisted&&b()});let w=h.held(),u=w?.v===2&&w.idb===!0,v=!C&&w?.v===1&&w.w===void 0&&h.generation()!=="";u||v||!C&&w?.w&&w.w.reset!==h.generation()?Pt=nt.then(()=>U?.first).then(a=>{if(a)return i(h.restore(a.record&&{raw:JSON.stringify(a.record),record:a.record}));throw new Error("the draft database did not open")}).catch(a=>{if(!u){if(!v)try{r?.removeItem(h.key)}catch{}return i(h.restore())}K=!0,_(document,a),i({restored:!1,hadDraft:!0,blocked:!0})}):(i(h.restore()),nt.then(()=>{U||(h.release(),h.flush())}))}else if(!dt||!Ut){let t=[];dt||t.push('a visitor-drafts="<slot>" attribute on <html>'),Ut||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}else Mt&&ae&&!Qt()&&(qt=Ce());var En=h?{active:!0,slot:h.slot,key:h.key,hasDraft:()=>h.kept(),restored:()=>R,saveNow(){if(K||!R)return!1;if(C)return h.writeLive();try{h.capture(window.clay.getHTML())}catch{return!1}return U?.sync().catch(()=>{}),!h.unsafe()},reset(){return Ne?(nt.then(()=>{if(U)return U.startOver();if(C&&!K)return h.clear();throw new Error("the draft database did not open")}).then(()=>window.location.reload(),t=>_(document,t)),!0):(h.clear(),window.location.reload(),!0)},onRestore(t){return R?(t(R),!0):(document.addEventListener("clay:drafts-restored",e=>t(e.detail),{once:!0}),!1)},editOriginal:pe,backToDraft:he,downloadUrl:()=>Rt,download:()=>qt.then(async t=>{let e=await Et();return t?.download(e===!1)}),source:Ht}:me();export{qt as ready,Pt as restoring,En as visitorDrafts};
|
package/dist/m/plugins/{visitor-drafts-owner-VIAZC3CF.js → visitor-drafts-owner-LHUHFU3L.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as p}from"../c-OKEGUICD.js";import{f as l,h as m}from"../c-
|
|
1
|
+
import{d as p}from"../c-OKEGUICD.js";import{f as l,h as m}from"../c-EDE45NM7.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var o=u(),i=document.querySelector('script[data-rules-name~="api"]'),r=null,e=null,s=0,c=()=>m&&l&&!a()&&!!o&&!!i;function f(){if(r)return Promise.resolve(r);if(!e){let t=s;e=import("../c-XW5TIYYB.js").then(({mountOwnerChip:d,ownerChip:h})=>{let n=d()||h();return t===s?(r=n,n):(n?.unmount?.(),null)}).finally(()=>{e=null})}return e}function v(){s+=1,r?.unmount?.(),r=null,document.getElementById("clay-owner-vars")?.remove()}if(!o||!i){let t=[];o||t.push('a visitor-drafts="<slot>" attribute on <html>'),i||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}var g=c()?f():Promise.resolve(null),k=g;function C(){return{id:"clay:drafts-owner",order:400,prepare(t={}){return{enable(){t.initial!==!0&&c()&&f()},quiesce(){},resume(){},dispose(){v()}}}}}var S=p();export{C as draftsOwnerParticipant,C as modeParticipant,k as ready,S as visitorDrafts};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as t}from"../c-CUMXGHVD.js";import{a as e}from"../c-VKEDWYDF.js";import{b as r}from"../c-
|
|
1
|
+
import{f as t}from"../c-CUMXGHVD.js";import{a as e}from"../c-VKEDWYDF.js";import{b as r}from"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";r&&(t(),document.addEventListener("clay:drafts-restored",()=>t()),e(()=>{import("../c-V2U3F4QX.js").then(o=>o.start()).catch(o=>console.warn("visitor-menu: the menu did not load",o))}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c}from"../c-DFKBGSN2.js";import"../c-QQFHEODI.js";import"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{c as default,a as modeParticipant,b as wire,a as wireParticipant};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";import{a as m}from"./c-VKEDWYDF.js";import{b as F}from"./c-LA2BW7UY.js";import{e as H}from"./c-
|
|
1
|
+
import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";import{a as m}from"./c-VKEDWYDF.js";import{b as F}from"./c-LA2BW7UY.js";import{e as H}from"./c-QQFHEODI.js";import"./c-IJUK2GPW.js";import{a as S,b as f,c as r,f as u,g as n,h as b,j as T,o as q}from"./c-EDE45NM7.js";import{c as j,e as $}from"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4NTUVDZ.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import{d as U,s as V}from"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import{a as k}from"./c-VHNSBD2M.js";var C={};k(C,{activateInitialMode:()=>Ee,canEdit:()=>r,default:()=>Le,init:()=>N,isEditMode:()=>u,isOwner:()=>b,mode:()=>n,modeLifecycle:()=>be,noteLiveSwitch:()=>xe,setMode:()=>y,setPageTypeOnPageLoad:()=>X,toggleEditMode:()=>Y});var A=!1,ve=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return q(e)},be={register:ve,canWrite:()=>T().phase==="idle"&&u,get state(){return Object.freeze(T())}},L=null,G=()=>L||=import("./c-HL6BLJNA.js").catch(()=>L=null),M=null,xe=e=>{M=e};async function Ee(){if(u)try{await(await G()).activateInitial()}catch(e){console.error("clayjs: the mode lifecycle failed to start:",e)}}var p=null;async function y(e){if(e!=="edit"&&e!=="view")throw new TypeError(`clay.setMode: unknown mode "${e}"`);if(p)return p.target===e?p.promise:{ok:!1,mode:n,code:"busy"};if(e===n&&!L)return{ok:!0,mode:n,changed:!1};if(f)return{ok:!1,mode:n,code:"not-allowed"};let t=ke(e);p={target:e,promise:t};try{return await t}finally{p?.promise===t&&(p=null)}}async function ke(e){let t=typeof window<"u"?window.clay?._requestHostMode:void 0;if(typeof t=="function"&&e!==n){let o;try{o=await t(e)}catch{return{ok:!1,mode:n,code:"host-failed"}}if(o?.reason!=="host-unsupported")return o?.ok?(A=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:n,code:o?.reason||"host-refused"}}return e==="edit"&&n!=="edit"?Se():!r&&!(e==="view"&&n==="edit")?{ok:!1,mode:n,code:"not-allowed"}:J(e)}async function Se(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-X4BENZEU.js"),o=await t({fresh:!0});return location.pathname!==e?{ok:!1,mode:n,code:"cancelled"}:o===!1?{ok:!1,mode:n,code:"permission-denied"}:r?J("edit"):{ok:!1,mode:n,code:"not-allowed"}}async function J(e){if(M){let t=await G(),o=t&&await t.switchMode(e,M);if(o)return o}if(e===n)return{ok:!0,mode:n,changed:!1};if(n==="edit"){let t;try{t=await window.clay?.save?.flush?.()}catch(o){return{ok:!1,mode:n,code:"save-failed",state:o?.state}}if(t&&t.state&&t.state!=="saved"&&t.state!=="clean")return{ok:!1,mode:n,code:"save-failed",state:t.state}}return A=!0,S({mode:e,canEdit:r,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function Te(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var Y=()=>f?Te():y(n==="edit"?"view":"edit");function De(){!r||f||window.addEventListener("pagehide",()=>{A||S({mode:n,canEdit:r,internal:!1})})}function B(){r?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function X(){m(()=>{document.documentElement.setAttribute("editmode",u?"true":"false"),document.documentElement.setAttribute("pageowner",b?"true":"false"),B(),document.addEventListener("clay:capabilitychange",B),f?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function N(){X(),De()}N();var Le={init:N,setMode:y,toggleEditMode:Y,isEditMode:u,isOwner:b,canEdit:r,mode:n};var ae={};var Q=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),Me=Q?"\u2318\u21E7E":"Ctrl+Shift+E",Ae=`.clay-mode-note {
|
|
2
2
|
position: fixed;
|
|
3
3
|
right: calc(16px + env(safe-area-inset-right, 0px));
|
|
4
4
|
bottom: calc(16px + env(safe-area-inset-bottom, 0px));
|
|
@@ -74,4 +74,4 @@ import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";i
|
|
|
74
74
|
right: calc(16px + env(safe-area-inset-right, 0px));
|
|
75
75
|
max-width: none;
|
|
76
76
|
}
|
|
77
|
-
}`,Z=new WeakSet;function ee(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{Z.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function te(e){Z.add(e),e.getRootNode().host?.remove()}function oe(e){return y(e).then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:o})=>{let i=o(t);i&&(typeof window.clay?.toast=="function"?window.clay.toast(i,"error"):typeof window.clay?.menu?.note=="function"?window.clay.menu.note(i):re(i))})})}function Ne(e){(r||n==="edit")&&(!(Q?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),oe(n==="edit"?"view":"edit")))}var Ce="In view mode, so edits won't be saved.",Re=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",a=null;function ne(e){if(!e.isConnected)return!1;let t=V(e);return t.persist===U.FULL&&!t.extension}function ie(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Re)||t.closest(R)||(t.isContentEditable?t:null);return o&&ne(o)?o:null}var Pe=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>r&&n==="view";function Ie(e){P()&&ie(e.target)&&I()}function Oe(e){if(!P()||e.defaultPrevented||e.isComposing||e.ctrlKey||e.metaKey||e.altKey||!(e.key.length===1&&e.key!==" ")&&e.key!=="Backspace"&&e.key!=="Delete")return;let t=e.target;if(t?.nodeType!==1||Pe(t)||t!==document.body&&!t.closest(R))return;ie(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function _e(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ne(t)&&I()}function I(){a||(console.warn('clayjs: this tab is in view mode, so edits made here are not saved. clay.setMode("edit") switches; a page that must edit as soon as it opens declares <html opens-in="edit">.'),document.querySelector('clay-editor-ui[data-clay-ui="mode-note"]')?.remove(),a=document.createElement("div"),a.setAttribute("clay","editor-ui"),a.setAttribute("role","alert"),a.className="clay-mode-note clay-view-notice",a.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',a.querySelector("span").textContent=Ce,a.querySelector("button").addEventListener("click",()=>oe("edit")),ee(a))}function Ke(){n==="view"||!a||(te(a),a=null)}function re(e){let t=document.createElement("div");t.setAttribute("clay","editor-ui"),t.setAttribute("role","status"),t.className="clay-mode-note",t.innerHTML=`<span>This page opens in view mode. Press <kbd>${Me}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>te(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),ee(t)}f||(document.addEventListener("keydown",Ne),document.addEventListener("input",Ie,!0),document.addEventListener("pointerdown",_e,!0),window.addEventListener("keydown",Oe),document.addEventListener("clay:modechange",Ke),m(()=>{if(!r||n!=="view"||document.querySelector("[clay-mode-toggle]"))return;(t=>{let o=window.clay?.ready;window.clay?.storage||typeof o?.then!="function"?queueMicrotask(t):o.then(t,()=>{})})(()=>{if(window.clay?.menu||window.clay?.plugins?.includes?.("menu"))return;let t=window.clay?.storage?.local;!t||t.get("mode-note")||(t.set("mode-note",!0),re())})}));var O={};k(O,{whenShown:()=>Ve});var je="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",s=null,d=null;function h(){if(!s)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;D(s,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){s&&(D(s,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){s=d.bevelSurface("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483001","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${d.pageScheme()}`]),s.setAttribute("clay",d.RUNTIME_ONLY),s.setAttribute("data-clay-stale-host",""),s.setAttribute("role","alert");let e=W("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${d.TOKENS.ox}`]);e.setAttribute("clay",d.RUNTIME_ONLY);let t=d.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e});t.setAttribute("aria-label","Dismiss this message"),s.append(e,d.bevelText("span",[],je),t),document.body.appendChild(s),h(),d.paintLook(s,{background:d.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!$()||u)return;let[e,t]=await Promise.all([import("./c-TFLRT5JX.js"),import("./c-46LJAZZJ.js")]);d={...e,TOKENS:t.TOKENS},qe()}var se=Promise.resolve();m(()=>{se=Ue()});var Ve=()=>se;var K={};k(K,{createPageDataApi:()=>le,readData:()=>Ge,setPageDataLiveSync:()=>Ye,writeData:()=>Je});var Fe="data-read",ze="data-write";function x(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function ce(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function He(e){let t={};try{t=await ce(e)||{}}catch{}let o=t.message||t.error||e.statusText||`Request failed (${e.status})`,i=new Error(o);return i.status=e.status,i.error=t.error,i.details=t.details,i}function We(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Be(e,t){let o=`${t.origin}${t.pathname}`;return e!==void 0?`${o}?data=${encodeURIComponent(JSON.stringify(e))}`:`${t.origin}/_/api${t.pathname}`}async function de(){let{isDraftMode:e}=await import("./core/is-edit-mode-
|
|
77
|
+
}`,Z=new WeakSet;function ee(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{Z.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function te(e){Z.add(e),e.getRootNode().host?.remove()}function oe(e){return y(e).then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:o})=>{let i=o(t);i&&(typeof window.clay?.toast=="function"?window.clay.toast(i,"error"):typeof window.clay?.menu?.note=="function"?window.clay.menu.note(i):re(i))})})}function Ne(e){(r||n==="edit")&&(!(Q?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),oe(n==="edit"?"view":"edit")))}var Ce="In view mode, so edits won't be saved.",Re=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",a=null;function ne(e){if(!e.isConnected)return!1;let t=V(e);return t.persist===U.FULL&&!t.extension}function ie(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Re)||t.closest(R)||(t.isContentEditable?t:null);return o&&ne(o)?o:null}var Pe=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>r&&n==="view";function Ie(e){P()&&ie(e.target)&&I()}function Oe(e){if(!P()||e.defaultPrevented||e.isComposing||e.ctrlKey||e.metaKey||e.altKey||!(e.key.length===1&&e.key!==" ")&&e.key!=="Backspace"&&e.key!=="Delete")return;let t=e.target;if(t?.nodeType!==1||Pe(t)||t!==document.body&&!t.closest(R))return;ie(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function _e(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ne(t)&&I()}function I(){a||(console.warn('clayjs: this tab is in view mode, so edits made here are not saved. clay.setMode("edit") switches; a page that must edit as soon as it opens declares <html opens-in="edit">.'),document.querySelector('clay-editor-ui[data-clay-ui="mode-note"]')?.remove(),a=document.createElement("div"),a.setAttribute("clay","editor-ui"),a.setAttribute("role","alert"),a.className="clay-mode-note clay-view-notice",a.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',a.querySelector("span").textContent=Ce,a.querySelector("button").addEventListener("click",()=>oe("edit")),ee(a))}function Ke(){n==="view"||!a||(te(a),a=null)}function re(e){let t=document.createElement("div");t.setAttribute("clay","editor-ui"),t.setAttribute("role","status"),t.className="clay-mode-note",t.innerHTML=`<span>This page opens in view mode. Press <kbd>${Me}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>te(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),ee(t)}f||(document.addEventListener("keydown",Ne),document.addEventListener("input",Ie,!0),document.addEventListener("pointerdown",_e,!0),window.addEventListener("keydown",Oe),document.addEventListener("clay:modechange",Ke),m(()=>{if(!r||n!=="view"||document.querySelector("[clay-mode-toggle]"))return;(t=>{let o=window.clay?.ready;window.clay?.storage||typeof o?.then!="function"?queueMicrotask(t):o.then(t,()=>{})})(()=>{if(window.clay?.menu||window.clay?.plugins?.includes?.("menu"))return;let t=window.clay?.storage?.local;!t||t.get("mode-note")||(t.set("mode-note",!0),re())})}));var O={};k(O,{whenShown:()=>Ve});var je="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",s=null,d=null;function h(){if(!s)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;D(s,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){s&&(D(s,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){s=d.bevelSurface("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483001","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${d.pageScheme()}`]),s.setAttribute("clay",d.RUNTIME_ONLY),s.setAttribute("data-clay-stale-host",""),s.setAttribute("role","alert");let e=W("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${d.TOKENS.ox}`]);e.setAttribute("clay",d.RUNTIME_ONLY);let t=d.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e});t.setAttribute("aria-label","Dismiss this message"),s.append(e,d.bevelText("span",[],je),t),document.body.appendChild(s),h(),d.paintLook(s,{background:d.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!$()||u)return;let[e,t]=await Promise.all([import("./c-TFLRT5JX.js"),import("./c-46LJAZZJ.js")]);d={...e,TOKENS:t.TOKENS},qe()}var se=Promise.resolve();m(()=>{se=Ue()});var Ve=()=>se;var K={};k(K,{createPageDataApi:()=>le,readData:()=>Ge,setPageDataLiveSync:()=>Ye,writeData:()=>Je});var Fe="data-read",ze="data-write";function x(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function ce(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function He(e){let t={};try{t=await ce(e)||{}}catch{}let o=t.message||t.error||e.statusText||`Request failed (${e.status})`,i=new Error(o);return i.status=e.status,i.error=t.error,i.details=t.details,i}function We(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Be(e,t){let o=`${t.origin}${t.pathname}`;return e!==void 0?`${o}?data=${encodeURIComponent(JSON.stringify(e))}`:`${t.origin}/_/api${t.pathname}`}async function de(){let{isDraftMode:e}=await import("./core/is-edit-mode-FFHCQ5DR.js");return e?x("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function le({supports:e=H,token:t=j,fetchImpl:o=(...g)=>fetch(...g),getLocation:i=()=>window.location,eventTarget:ue=document,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe}={}){let g=null,w=null;function we(c){g=c}async function ye(c){let v=await de();if(v)throw v;if(!await e(Fe))throw x("DataReadUnsupported","This host does not support reading page data.");let l;try{l=await o(Be(c,i()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(E){throw Object.assign(x("DataReadFailed",E?.message||"Could not read page data."),{cause:E})}if(!l.ok)throw await He(l);return{data:await ce(l),etag:We(l)}}function he(){return w||(w=import("./c-PCNJETUA.js").then(({createPageDataWrite:c})=>c({supports:e,token:t,fetchImpl:o,getLocation:i,eventTarget:ue,getLiveSync:()=>g,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe})).catch(c=>{throw w=null,c}),w)}async function ge(c,v){let l=await de();if(l)throw l;if(!await e(ze))throw x("DataWriteUnsupported","This host does not support writing page data.");return(await he()).writeData(c,v)}return{readData:ye,writeData:ge,setLiveSync:we}}var _=le(),Ge=_.readData,Je=_.writeData,Ye=_.setLiveSync;var lt={"lib/mutation.js":F,"core/preserve-authored.js":z,"core/edit-mode.js":C,"core/mode-key.js":ae,"core/stale-host-notice.js":O,"core/page-data.js":K};export{lt as core};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b as c,c as d,d as e,e as f,f as g,g as h}from"../c-
|
|
1
|
+
import{a,b as c,c as d,d as e,e as f,f as g,g as h}from"../c-SGH3UTF3.js";import{f as b}from"../c-UOOIF2AL.js";import"../c-LZJPNR2W.js";import"../c-QTTJYJMA.js";import"../c-5VYOWDTI.js";import"../c-6Q6RGFBF.js";import"../c-WYFDLITL.js";import"../c-LA2BW7UY.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-6IJEVE6B.js";import"../c-QQFHEODI.js";import"../c-IJUK2GPW.js";import"../c-EDE45NM7.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4NTUVDZ.js";import"../c-PWJSJEJU.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{e as LiveSync,d as REMOTE_WINS_SELECTOR,c as SYNC_IGNORE_SELECTOR,b as WIRE_PROFILES,a as conflicts,h as default,f as liveSync,g as morph};
|
|
@@ -3,4 +3,4 @@ import"../c-VHNSBD2M.js";var Qn=(()=>{var ue=Object.defineProperty,dt=Object.get
|
|
|
3
3
|
`)),a}error(e,t,r={}){let n=this.block(e,t,r);return this.errors.push(n),n}warn(e,t,r={}){let n=this.block(e,t,r);return this.warnings.push(n),n}report(){return{ok:this.errors.length===0&&!this.halted,app:this.appName,halted:this.halted,haltReason:this.haltReason,errors:this.errors.slice(),warnings:this.warnings.slice()}}};function K(e,t){e&&e.getAttribute("sap-error")!==t&&e.setAttribute("sap-error",t)}function Et(e){e&&e.hasAttribute("sap-error")&&e.removeAttribute("sap-error")}function Se(e,t){let r=null,n=3;for(let a of t){let l=kt(e,a);l<n&&(n=l,r=a)}return r}function kt(e,t){let r=e.length,n=t.length,a=Array.from({length:r+1},(l,o)=>[o,...new Array(n).fill(0)]);for(let l=0;l<=n;l++)a[0][l]=l;for(let l=1;l<=r;l++)for(let o=1;o<=n;o++)a[l][o]=Math.min(a[l-1][o]+1,a[l][o-1]+1,a[l-1][o-1]+(e[l-1]===t[o-1]?0:1));return a[r][n]}var xt=new Set(ce),St={readonly:"readOnly",novalidate:"noValidate"},Nt=0,Ne=new WeakMap;function $t(e,t="sap"){let r=e.getAttribute("data-id");if(r)return r;if(e.id)return e.id;let n=Ne.get(e);return n||(n=`${t}-${(Nt++).toString(36)}`,Ne.set(e,n)),n}function Lt(e){let t=[];for(let r=e.firstElementChild;r;r=r.nextElementSibling)r.hasAttribute("item")&&!r.hasAttribute("template")&&!r.hasAttribute("cms-template")&&t.push(r);return t}function $e(e,t){if(!e||!t)return null;let r=[...e.querySelectorAll(`template[items="${t}"]`)].find(a=>a.closest("[sap]")===e),n=r&&r.content.firstElementChild;return n&&n.hasAttribute("item")?n:null}function Tt(e){for(let t=e.firstElementChild;t;t=t.nextElementSibling)if(t.hasAttribute("item")&&t.hasAttribute("template"))return t;return $e(e.closest("[sap]"),e.getAttribute("items"))}function Le(e){let t=[];if(!e)return t;for(let r of e.trim().split(/\s+/)){if(!r)continue;let n=r,a,l=n.indexOf("=");l>=0&&(a=n.slice(l+1),n=n.slice(0,l));let o=n.split(":"),f=o[0],u="string",c=!1;for(let p of o.slice(1))p==="num"?u="num":p==="bool"?u="bool":p==="presence"?u="presence":p==="transient"&&(c=!0);let i=f,d=i.startsWith("data-")&&i.length>5?i.slice(5).replace(/-([a-z])/g,(p,k)=>k.toUpperCase()):i;t.push({name:d,attr:i,type:u,default:a,transient:c})}return t}function fe(e,t){if(t==="num"){if(e==null||e==="")return 0;let r=Number(e);return Number.isNaN(r)?0:r}return t==="bool"?e==="true"||e===""||e==="1":e??""}function _t(e,t){return t==="bool"?e?"true":"false":e==null?"":String(e)}function Te(e,t){return xt.has(t)&&typeof e[St[t]||t]=="boolean"}function _e(e,t){return t.type==="presence"||t.type!=="num"&&Te(e,t.attr||t.name)}function Ce(e){return e.default!=null?e.default:e.type==="num"?"0":e.type==="bool"?"false":""}function Ct(e,t){let r=t.attr||t.name,n=e._sapTransient||(e._sapTransient={});if(!(t.name in n)){let a=e.getAttribute(r);a==null&&(a=Ce(t)),n[t.name]=fe(a,t.type)}return e.hasAttribute(r)&&e.removeAttribute(r),n[t.name]}function R(e){if(typeof e=="number")return e;if(e==null||e==="")return 0;let t=Number(typeof e=="string"?e.replace(/[$,%\s]/g,""):e);return Number.isNaN(t)?0:t}function J(e,t){return Array.isArray(e)?t==null?e:e.map(r=>typeof t=="function"?t(r):r?.[t]):[]}function Re(e,t){return J(e,t).reduce((r,n)=>r+R(n),0)}function Rt(e,t){return Array.isArray(e)?t==null?e.length:e.reduce((r,n)=>r+(t(n)?1:0),0):0}function jt(e,t){let r=J(e,t);return r.length?Re(e,t)/r.length:0}function Mt(e,t){let r=J(e,t).filter(n=>n!=null&&n!=="");return r.length?r.every(n=>typeof n=="number"||!Number.isNaN(Number(n)))?Math.min(...r.map(Number)):r.reduce((n,a)=>String(n)<=String(a)?n:a):0}function Pt(e,t){let r=J(e,t).filter(n=>n!=null&&n!=="");return r.length?r.every(n=>typeof n=="number"||!Number.isNaN(Number(n)))?Math.max(...r.map(Number)):r.reduce((n,a)=>String(n)>=String(a)?n:a):0}function Wt(e,t,r){let n=R(e)===1?t:r??t+"s";return`${e} ${n}`}function Ot(e,t){let r=new Date(e),n=new Date(t);return Number.isNaN(+r)||Number.isNaN(+n)?0:Math.round((n-r)/864e5)}function j(e){return typeof e=="number"?e:Number(e)}var Q={usd:e=>"$"+j(e).toLocaleString("en-US",{maximumFractionDigits:0}),usd2:e=>"$"+j(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}),pct:e=>Math.round(j(e))+"%",pct1:e=>j(e).toFixed(1)+"%",int:e=>Math.round(j(e)).toLocaleString("en-US"),num:e=>j(e).toLocaleString("en-US"),num2:e=>j(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}),compact:e=>j(e).toLocaleString("en-US",{notation:"compact"}),date:e=>{let t=new Date(e);return Number.isNaN(+t)?String(e):t.toLocaleDateString("en-US")},clock:e=>{let t=j(e),r=Math.floor(t/100),n=r%10,a=Math.floor(r/10)%60;return`${Math.floor(r/600)}:${String(a).padStart(2,"0")}.${n}`}},Dt=new Set(["usd","usd2","pct","pct1","int","num","num2","compact","clock"]);function Bt(e,t){if(!e)return t==null?"":String(t);let r=Q[e];if(typeof r!="function"){let n=new Error(`unknown format "${e}"`);throw n.sapCode="E22",n}if(Dt.has(e)){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n)){let a=new Error(`format "${e}" received ${typeof t=="string"?`"${t}"`:t}`);throw a.sapCode="E22",a}}return r(t)}var Ft=["state","item","el","root","fmt","num","sum","count","avg","min","max","plural","days"],Z=new Map,je=/\bstate\.([a-z][a-z0-9_]*)/g,Me=/\bitem\.([a-z][a-z0-9_]*)/g;function Ht(e){let t=new Set,r=new Set,n;for(je.lastIndex=0;n=je.exec(e);)t.add(n[1]);for(Me.lastIndex=0;n=Me.exec(e);)r.add(n[1]);return{state:t,item:r}}function M(e,t=!1){let r=(t?"!":"")+e,n=Z.get(r);if(n)return n;Z.size>512&&Z.clear();try{let a=t?`"use strict";
|
|
4
4
|
${e}`:`"use strict"; return (${e});`;n={fn:new Function(...Ft,a),src:e,statement:t,deps:Ht(e),error:null}}catch(a){n={fn:null,src:e,statement:t,deps:{state:new Set,item:new Set},error:a}}return Z.set(r,n),n}function It(e,t,r,n,a){if(e.error)throw e.error;return e.fn(t,r,n,a,Q,R,Re,Rt,jt,Mt,Pt,Wt,Ot)}var U={},G=null,Pe=!0,ee=!1;function zt(){U={}}function qt(e){let t=ee;return G?We(G.takeRecords()):Pe&&Gt(),ee=!!G&&e.getRootNode()===document,t}function Ut(e){ee=e}function Gt(){if(typeof document>"u"||typeof MutationObserver!="function"){Pe=!1;return}G=new MutationObserver(We),G.observe(document,{attributes:!0,childList:!0,subtree:!0})}function We(e){for(let t of e)if(t.type==="attributes")t.target._sapPlan&&(t.target._sapPlan=null);else for(let r of t.addedNodes)r.nodeType===1&&Oe(r)}function Oe(e){e._sapPlan&&(e._sapPlan=null);for(let t=e.firstElementChild;t;t=t.nextElementSibling)Oe(t)}function de(e){if(!ee)return De(e);let t=e._sapPlan;return t&&t.gen===U?t:e._sapPlan=De(e)}function De(e){let t={gen:U,inert:e.tagName==="TEMPLATE",template:!1,cms:!1,item:!1,scope:!1,items:!1,detail:!1,each:!1,boundary:null,bind:null,transient:!1,decls:null,calcs:null,paints:null,effects:null,invalids:null};for(let r of e.attributes){let n=r.name,a=r.value,l=n.indexOf(":");if(l<0){switch(n){case"sap-ignore":t.inert=!0;break;case"cms-template":t.inert=!0,t.cms=!0;break;case"template":t.inert=!0,t.template=!0;break;case"item":t.item=!0;break;case"scope":t.scope=!0;break;case"items":t.items=!0;break;case"detail":t.detail=!0;break;case"each":t.each=!0;break;case"bind":t.bind=a;break;case"transient":t.transient=!0;break;case"state":t.decls=Le(a);break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:null,entry:M(a)});break;case"show":(t.paints||(t.paints=[])).push({kind:"show",entry:M(a)});break;case"effect":(t.effects||(t.effects=[])).push({entry:M(a,!0)});break;case"invalid":(t.invalids||(t.invalids=[])).push({entry:M(a)});break}continue}let o=n.slice(0,l),f=n.slice(l+1);switch(o){case"calc":(t.calcs||(t.calcs=[])).push({name:f,entry:M(a)});break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:f,entry:M(a)});break;case"attr":(t.paints||(t.paints=[])).push({kind:"attr",arg:f,entry:M(a)});break;case"class":(t.paints||(t.paints=[])).push({kind:"class",arg:f,entry:M(a)});break;case"css":(t.paints||(t.paints=[])).push({kind:"css",arg:f,entry:M(a)});break;case"show-when":case"option":(t.paints||(t.paints=[])).push({kind:"when",match:"show",field:f,values:a.split("|")});break;case"hide-when":(t.paints||(t.paints=[])).push({kind:"when",match:"hide",field:f,values:a.split("|")});break;case"option-not":(t.paints||(t.paints=[])).push({kind:"when",match:"show-not",field:f,values:a.split("|")});break}}return t.boundary=t.scope?"scope":t.items?"items":t.detail?"detail":t.each?"each":null,Yt(t)?Xt():t}var te=null;function Xt(){return(!te||te.gen!==U)&&(te=Object.freeze({gen:U,inert:!1,template:!1,cms:!1,item:!1,scope:!1,items:!1,detail:!1,each:!1,boundary:null,bind:null,transient:!1,decls:null,calcs:null,paints:null,effects:null,invalids:null})),te}function Yt(e){return!e.inert&&!e.item&&e.boundary===null&&e.bind===null&&!e.transient&&!e.decls&&!e.calcs&&!e.paints&&!e.effects&&!e.invalids}var D=new WeakMap,B=new WeakMap,F=null,P=!1;function Vt(){D=new WeakMap,B=new WeakMap}function Be(e){for(let t of e){let r=t.target.nodeType===1?t.target:t.target.parentElement;for(let n=r;n;n=n.parentElement)B.delete(n);if(t.type==="attributes"){D.delete(t.target);continue}for(let n=r;n;n=n.parentElement)D.delete(n);for(let n of t.addedNodes||[])if(n.nodeType===1){D.delete(n),B.delete(n);for(let a of n.querySelectorAll("*"))D.delete(a),B.delete(a)}}}function Kt(){return P}function Jt(e){return P?B.get(e):void 0}function Qt(e,t){P&&B.set(e,t)}function Zt(e){B.delete(e)}function en(e){let t=P;return!F&&typeof MutationObserver=="function"&&(F=new MutationObserver(Be),F.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),F&&Be(F.takeRecords()),P=!!F&&e.getRootNode()===document,t}function tn(e){P=e}function Fe(e){let t=D.get(e);return t||D.set(e,t={attrs:new Map,hasText:!1,text:""}),t}function nn(e,t){if(!P)return e.getAttribute(t);let r=Fe(e);return r.attrs.has(t)||r.attrs.set(t,e.getAttribute(t)),r.attrs.get(t)}function rn(e){if(!P)return e.textContent;let t=Fe(e);return t.hasText||(t.text=e.textContent,t.hasText=!0),t.text}function He(e){return(e.getAttribute("type")||"text").toLowerCase()}function pe(e){let t=e.tagName;if(t==="INPUT"){let r=He(e);r==="checkbox"||r==="radio"?e.checked?e.setAttribute("checked",""):e.removeAttribute("checked"):e.setAttribute("value",e.value);return}if(t==="TEXTAREA"){e.setAttribute("data-value",e.value);return}if(t==="SELECT"){let r=e.options;for(let n=0;n<r.length;n++)r[n].selected?r[n].setAttribute("selected",""):r[n].removeAttribute("selected")}}function an(e,t=e){let r=e.tagName;if(r==="INPUT"){let n=He(e);n==="checkbox"||n==="radio"?t.checked?e.hasAttribute("checked")||e.setAttribute("checked",""):e.removeAttribute("checked"):t.value!==(e.getAttribute("value")??"")&&e.setAttribute("value",t.value);return}if(r==="TEXTAREA"){let n=t.value.startsWith(`
|
|
5
5
|
`)?`
|
|
6
|
-
`+t.value:t.value;e.textContent!==n&&(e.textContent=n),e.removeAttribute("data-value");return}if(r==="SELECT"){let n=e.options,a=t.options;for(let l=0;l<n.length;l++)a[l]&&a[l].selected?n[l].hasAttribute("selected")||n[l].setAttribute("selected",""):n[l].removeAttribute("selected")}}function Ie(e){e.tagName!=="TEXTAREA"||!e.hasAttribute("data-value")||e!==e.ownerDocument.activeElement&&(e.textContent=e.getAttribute("data-value"),e.removeAttribute("data-value"))}function T(e){if(typeof window>"u")return null;let t=window.clay,r=window.hyperclay;return e==="consent"?t?.confirm||r?.consent||null:t?.[e]||r?.[e]||null}function on(){let e=T("visitorDrafts");return!!(e&&typeof e.restored=="function"&&e.restored()?.restored)}var ze=["clay:mutation-ready","hyperclay:mutation-ready"],ln=["clay:sync-applied","hyperclay:livesync-applied"],sn=["clay:ready","hyperclay:ready"],un=["clay:route"],cn=["clay:modechange"];function ne(e,t,r){let n=null,a=l=>{n!==null&&n!==l.type||(n=l.type,queueMicrotask(()=>{n=null}),r(l))};for(let l of t)e.addEventListener(l,a);return()=>{for(let l of t)e.removeEventListener(l,a)}}function fn(e){let t=typeof window<"u"&&window.clay&&window.clay.ready;t&&typeof t.then=="function"?t.then(()=>e(),()=>e()):e()}function qe(e){let t=T("region");return!t||typeof t.resolveRegionPolicy!="function"||typeof t.skipForPolicy!="function"?!1:t.skipForPolicy(t.resolveRegionPolicy(e),void 0,["no-save","freeze"])}function Ue(){return typeof window>"u"?null:window.clay?.modeLifecycle||null}function me(e,{transient:t=!1}={}){if(t)return!0;let r=Ue();return typeof r?.canWrite!="function"||T("region")?.resolveRegionPolicy?.(e)?.persist==="none"?!0:r.canWrite()}function dn(e,t){if(typeof t!="function")throw new Error("Sap.batch(label, fn): fn must be a function");let r=T("undo");r&&r.flush&&r.flush();let n=t();if(n&&typeof n.then=="function")throw new Error("Sap.batch fn must be synchronous (it returned a promise)");return r&&r.commitCaptured&&r.commitCaptured(e),n}function pn(e){if(typeof window>"u"||typeof document>"u")return;let t=()=>{let p=!1;for(let k of e.apps())k.root.isConnected?e.runNow(k,"platform"):p=!0;p&&e.pruneDisconnected(),e.remountIfPresent()},r=T("derived"),n=r&&typeof r.register=="function"?r.register(t):null,a=typeof n=="function"?null:ne(document,ln,t),l=ne(document,un,t),o=null,f=!1,u=()=>{let p=o;o=null,p&&(p[2](),p[3]())},c=()=>{if(f)return!1;let p=T("undo"),k=Ue()?.state?.generation;if(o&&o[0]===p&&o[1]===k)return!0;if(u(),!p||typeof p.on!="function")return!1;let L=p.on("undo",t);if(typeof L!="function")return!1;let _=p.on("redo",t);return typeof _!="function"?(L(),!1):(o=[p,k,L,_],!0)};c();let i=[ze,sn,cn].map(p=>ne(document,p,c)),d=T("ready");return d&&typeof d.then=="function"&&d.then(c,()=>{}),()=>{f=!0,typeof n=="function"&&n(),a&&a(),l();for(let p of i)p();u()}}function Ge(e){let t=e.tagName;if(t==="INPUT"){let r=(e.getAttribute("type")||"text").toLowerCase();return r==="checkbox"?"checkbox":r==="radio"?"radio":r==="number"||r==="range"?"number":r==="hidden"?"hidden":"text"}return t==="TEXTAREA"?"text":t==="SELECT"?e.multiple?"select-multiple":"select-one":"leaf"}function mn(e){if(e.validity&&e.validity.badInput)return e.hasAttribute("value")?Number(e.getAttribute("value"))||0:e._sapLastGood??0;if(e.value==="")return 0;let t=Number(e.value);return Number.isNaN(t)?e._sapLastGood??0:(e._sapLastGood=t,t)}function Xe(e,t){switch(t){case"checkbox":return e.checked;case"radio":return e.checked?e.value:void 0;case"number":return mn(e);case"select-one":return e.value;case"select-multiple":return[...e.selectedOptions].map(r=>r.value);case"hidden":case"text":return e.value;case"leaf":return e.textContent;default:return e.value}}function hn(e,t,r){switch(t){case"checkbox":e.checked=!!r;break;case"radio":e.checked=String(e.value)===String(r);break;case"number":case"text":case"hidden":e.value=r==null?"":String(r);break;case"select-one":e.value=r==null?"":String(r);break;case"select-multiple":{let n=new Set((Array.isArray(r)?r:[r]).map(String));for(let a of e.options)a.selected=n.has(a.value);break}case"leaf":e.textContent=r==null?"":String(r);break;default:e.value=r==null?"":String(r)}}function Ye(e){if(e.hasAttribute("transient")){e.removeAttribute("value"),e.removeAttribute("checked"),e.removeAttribute("data-value");return}qe(e)||pe(e)}function bn(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function gn(e,t){return Xe(e,t)}function yn(e){let t=Ge(e);return{el:e,kind:t,read(){return Xe(e,t)},write(r,n={}){hn(e,t,r),n.noMirror||Ye(e),n.silent||bn(e)},mirror(){Ye(e)}}}var W=null,re=!1,H=null;function Ve(e){let t=null;return{kind:"hub",subscribe(r){let n=e.onAnyChange({debounce:0,require:"observed"},r);typeof n=="function"&&(t=n)},suppress(r){e.pause();try{return r()}finally{e.resume()}},teardown(){if(t){try{t()}catch{}t=null}}}}function vn(){let e=null;return{kind:"native",subscribe(t){e=new MutationObserver(n=>t(wn(n)));let r=typeof document<"u"&&document.body||typeof document<"u"&&document.documentElement;r&&e.observe(r,{childList:!0,subtree:!0,attributes:!0,characterData:!0})},suppress(t){let r=T("undo");r&&r.pause&&r.pause();try{return t()}finally{e&&e.takeRecords(),r&&r.resume&&r.resume()}},teardown(){e&&(e.disconnect(),e=null)}}}function wn(e){let t=[];for(let r of e)if(r.type==="attributes"){let n=r.target;n&&n.nodeType===1&&!ae(n)&&t.push({type:"attribute",element:n})}else if(r.type==="characterData"){let n=r.target&&r.target.parentElement;n&&!ae(n)&&t.push({type:"characterData",element:n})}else if(r.type==="childList"){for(let n of r.addedNodes)if(!(n.nodeType!==1||ae(n))&&(t.push({type:"add",element:n}),n.querySelectorAll))for(let a of n.querySelectorAll("*"))ae(a)||t.push({type:"add",element:a});for(let n of r.removedNodes)n.nodeType===1&&t.push({type:"remove",element:n,parent:r.target})}return t}function ae(e){return!!(e.closest&&e.closest("[sap-ignore],[template],[cms-template]"))}function An(e,t){e.pruneDisconnected();let r=new Set,n=!1;for(let a of t){let l=a.type==="remove"?a.parent:a.element,o=l&&e.appFor(l);o&&r.add(o),a.type==="add"&&a.element&&a.element.nodeType===1&&a.element.hasAttribute&&a.element.hasAttribute("sap")&&!(e.isRegistered&&e.isRegistered(a.element))&&(n=!0)}n&&e.remountIfPresent();for(let a of r)a.root.isConnected&&e.schedule(a,"mutation")}function En(e){if(W)return W.suppress(e);let t=T("undo");if(t&&t.pause&&t.resume){t.pause();try{return e()}finally{t.resume()}}return e()}function he(e,t){re=!0,W=e,e.subscribe(r=>An(t,r))}function Ke(e){if(re||typeof window>"u"||typeof document>"u")return;let t=T("Mutation");if(t&&typeof t.onAnyChange=="function"){he(Ve(t),e);return}typeof MutationObserver=="function"&&(he(vn(),e),H=ne(document,ze,function(){let r=T("Mutation");r&&(H(),H=null,W&&W.teardown(),re=!1,he(Ve(r),e))}))}function Je(){if(W)try{W.teardown()}catch{}H&&typeof document<"u"&&H(),W=null,re=!1,H=null}var kn=new Set(ce),oe=Object.freeze([]),O=[],Qe={},Ze={};function xn(e){O.includes(e)||(O.push(e),e.boundary&&Object.assign(Qe,e.boundary),e.paintKinds&&Object.assign(Ze,e.paintKinds))}function et(e,t={}){if(t.breaker){e.diag.error("E26",e.root,{problem:"recompute loop halted after 50 passes; recent triggers: "+(e._breakerRing||[]).join(", ")}),K(e.root,"loop");return}t.full&&(zt(),Vt());let r=qt(e.root);try{En(()=>Sn(e,t))}finally{Ut(r)}e._viewsChanged&&(e._viewsChanged=!1,e.root.dispatchEvent(new CustomEvent("sap:views-updated",{bubbles:!0})))}function Sn(e,t){let r=e.root,n={},a=[],l=[],o=new Set;e.diag.errors=[];let f={root:n,state:n,item:null,ownerEl:r,projection:!1},u=null;function c(s,h,b=!1){let m=h.attr||h.name,g=b?nn(s,m):s.getAttribute(m);return g==null&&(g=Ce(h),l.push({el:s,name:h.name,attr:m,value:_t(fe(g,h.type),h.type)})),fe(g,h.type)}function i(s,h,b,m){let g=h.decls;if(!g)return;let A=!!m.item&&!m.projection&&!m.view;for(let S of g){if(S.transient){u&&(u.pure=!1),b[S.name]=Ct(s,S);continue}if(_e(s,S)){b[S.name]=s.hasAttribute(S.attr);continue}b[S.name]=c(s,S,A)}}function d(s,h,b){let m=h.bind,g=b.item||b.state,A=Ge(s);u&&(A!=="leaf"||h.transient)&&(u.pure=!1),A==="radio"?(m in g||(g[m]=""),s.checked&&(g[m]=s.value)):A==="leaf"&&b.item&&!b.projection&&!b.view?g[m]=rn(s):g[m]=gn(s,A),h.transient&&(s.removeAttribute("value"),s.removeAttribute("checked"))}function p(s,h,b){let m=!1;if(h.paints){m=!0;for(let g of h.paints)g.kind==="when"&&o.add(g.field),a.push({def:g,el:s,ctx:b})}for(let g of O)g.collect&&g.collect(w,s,h,b)!==!1&&(m=!0);u&&m&&(h.calcs&&(u.pure=!1),u.collects.push(s,h))}function k(s,h,b){Object.defineProperty(s,"$key",{value:$t(h,"row"),enumerable:!1}),Object.defineProperty(s,"$index",{value:b,enumerable:!1,configurable:!0}),Object.defineProperty(s,"$el",{value:h,enumerable:!1})}function L(s,h,b){let m=de(s);i(s,m,h,b),s._sapScope=h,!b.projection&&m.bind!=null&&d(s,m,b),p(s,m,b),m.items?le(s,h,b):_(s,h,b)}function _(s,h,b){for(let m=s.firstElementChild;m;m=m.nextElementSibling)z(m,h,b)}function z(s,h,b){let m=de(s);if(!m.inert){if(m.boundary){u&&(u.pure=!1),m.boundary==="scope"?ie(s,h,b):m.boundary==="items"?(p(s,m,b),le(s,h,b)):Qe[m.boundary](w,s,m,h,b);return}!b.projection&&!b.view&&m.bind!=null&&d(s,m,b),p(s,m,b);for(let g=s.firstElementChild;g;g=g.nextElementSibling)z(g,h,b)}}function ie(s,h,b){let m=s.getAttribute("scope"),g={};h[m]=g;let A={root:b.root,state:g,item:null,ownerEl:s,projection:b.projection};L(s,g,A)}function le(s,h,b){u&&(u.pure=!1);let m=s.getAttribute("items"),g=[];h[m]=g,s._sapList=g;let A=!b.projection&&!b.view&&Kt(),S=0;for(let N=s.firstElementChild;N;N=N.nextElementSibling){let E=de(N);if(!E.item||E.template||E.cms)continue;let $=A?Jt(N):void 0;g.push($&&$.plan===E&&Object.isExtensible($.obj)&&se($,N,S,b)||V(N,E,S,b,A)),S++}}function V(s,h,b,m,g){let A={};k(A,s,b);let S={root:m.root,state:m.state,item:A,ownerEl:s,projection:m.projection};if(!g)return L(s,A,S),A;let N=u,E={plan:h,obj:A,fields:null,presence:oe,pending:oe,collects:[],pure:!0},$=l.length,Jn=e.diag.errors.length;u=E;try{L(s,A,S)}finally{u=N}if(!E.pure||e.halted||e.diag.errors.length!==Jn)return A;let ft=[];for(let q of Object.keys(A)){let Ae=A[q];if(Ae!==null&&typeof Ae=="object")return A;ft.push(q,Ae)}if(h.decls)for(let q of h.decls)_e(s,q)&&(E.presence===oe?E.presence=[]:E.presence).push(q.name,q.attr);return l.length>$&&(E.pending=l.slice($)),E.collects.length||(E.collects=oe),E.fields=ft,Qt(s,E),A}function se(s,h,b,m){let g=s.obj;try{g.$index!==b&&Object.defineProperty(g,"$index",{value:b,enumerable:!1,configurable:!0});let N=s.presence;for(let $=0;$<N.length;$+=2)g[N[$]]=h.hasAttribute(N[$+1]);let E=s.fields;for(let $=0;$<E.length;$+=2)g[E[$]]=E[$+1]}catch{return Zt(h),null}h._sapScope=g;let A=s.pending;for(let N=0;N<A.length;N++)l.push(A[N]);let S=s.collects;if(S.length){let N={root:m.root,state:m.state,item:g,ownerEl:h,projection:m.projection};for(let E=0;E<S.length;E+=2)p(S[E],S[E+1],N)}return g}let w={app:e,root:r,rootObj:n,paints:a,stats:{calcs:0,lists:0},resolveDefault:c,collectEl:p,walkScope:_};for(let s of O)s.begin&&s.begin(w);let y=t.cacheReads===!1?null:en(r);try{L(r,n,f)}finally{t.cacheReads!==!1&&tn(y)}if(e.halted)return;for(let s of O)s.afterIntake&&s.afterIntake(w);if(l.length&&o.size)for(let s of l)o.has(s.attr)&&s.el.getAttribute(s.attr)==null&&s.el.setAttribute(s.attr,s.value);for(let s of O)s.compute&&s.compute(w);let v=0;for(let s of O)s.reconcile&&(v+=s.reconcile(w));let x=0,C=v;for(let s of a){let h=$n(s,e);s.ctx.view?C+=h:x+=h}for(let s of O)s.afterPaint&&s.afterPaint(w);e._state=n,e._stats={fields:Object.keys(n).filter(s=>typeof n[s]!="function").length,calcs:w.stats.calcs,paints:a.length,lists:w.stats.lists,writes:x,viewWrites:C},e._viewsChanged=C>0,e._lastPass={trigger:t.trigger||"refresh",writes:x},e._debug&&console.log(`sap pass \xB7 trigger: ${e._lastPass.trigger} \xB7 writes ${x}/${a.length}`)}function Nn(e){return e.kind==="text"?e.fmt?"text:"+e.fmt:"text":e.kind==="attr"?"attr:"+e.arg:e.kind==="class"?"class:"+e.arg:e.kind==="css"?"css:"+e.arg:e.kind==="when"?(e.match==="hide"?"hide-when:":e.match==="show-not"?"option-not:":"show-when:")+e.field:e.kind}function be(e,t,r,n){let a=e;for(;a&&a.nodeType===1;){if(a.hasAttribute&&a.hasAttribute(t)){let l=r.includes(a.getAttribute(t));if(n?!l:l)return!0}a=a.parentElement}return!1}function $n(e,t){let r=e.def,n=e.el,a=Ze[r.kind];if(a)return a(e,t);if(r.kind==="when")return tt(r,n,null);try{let l=It(r.entry,e.ctx.state,e.ctx.item,n,e.ctx.root),o=tt(r,n,l);return Et(n),o}catch(l){return t.diag.error(l.sapCode==="E22"?"E22":"E24",n,{attr:Nn(r),expr:r.entry&&r.entry.src,problem:String(l.message)}),K(n,l.sapCode||"E24"),0}}function tt(e,t,r){switch(e.kind){case"text":{let n=e.fmt!=null?Bt(e.fmt,r):r==null?"":String(r);return t.textContent!==n?(t.textContent=n,1):0}case"show":{let n=!r;return t.hidden!==n?(t.hidden=n,1):0}case"when":{let n=T("optionVisibility");if(n&&n._started)return t._sapWhen&&t.hidden?(t.hidden=!1,t._sapWhen=!1,1):0;let a;e.match==="hide"?a=!be(t,e.field,e.values,!1):e.match==="show-not"?a=be(t,e.field,e.values,!0):a=be(t,e.field,e.values,!1),t._sapWhen=!0;let l=!a;return t.hidden!==l?(t.hidden=l,1):0}case"attr":{let n=e.arg;if((n==="checked"||n==="selected")&&typeof t[n]=="boolean"&&!t.hasAttribute("bind")&&!t.closest("select[bind]")){let l=0;return t[n]!==!!r&&(t[n]=!!r,l=1),!!r!==t.hasAttribute(n)&&(r?t.setAttribute(n,""):t.removeAttribute(n),l=1),l}if(kn.has(n)){let l=t.hasAttribute(n);return r&&!l?(t.setAttribute(n,""),1):!r&&l?(t.removeAttribute(n),1):0}let a=typeof r=="boolean"?String(r):r==null?"":String(r);return t.getAttribute(n)!==a?(t.setAttribute(n,a),1):0}case"class":{let n=!!r;return t.classList.contains(e.arg)!==n?(t.classList.toggle(e.arg,n),1):0}case"css":{let n=r==null?"":String(r);return t.style.getPropertyValue("--"+e.arg)!==n?(t.style.setProperty("--"+e.arg,n),1):0}default:return 0}}var Ln=new Set(ce),nt=new Set(["calc","text","attr","class","css","set","move","sort","option","option-not","show-when","hide-when","editmode","viewmode"]),Tn=new Set(["show-when","hide-when","option","option-not"]),_n=/\b(?:state|item|root)\.|===|!==|&&|\|\||[()]|^\s*!/,rt=new Set(["sap","scope","items","item","template","bind","show","effect","invalid","detail","state","transient","confirm","default","persist","sortable","trigger-add","trigger-remove","trigger-reset","sap-ignore","sap-error","no-save","no-watch","no-undo","no-trigger-autosave","freeze","mutations-ignore","save-remove","save-ignore","save-freeze"]),ge=[];function Cn(e){ge.includes(e)||ge.push(e)}function Rn(e){return e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"}function ye(e){return e.hasAttribute("bind")}function jn(e,t){t(e);for(let n=e.firstElementChild;n;n=n.nextElementSibling)r(n);function r(n){if(!n.hasAttribute("sap-ignore")){if(n.tagName==="TEMPLATE"){if(n.hasAttribute("items"))for(let a=n.content.firstElementChild;a;a=a.nextElementSibling)r(a);return}t(n);for(let a=n.firstElementChild;a;a=a.nextElementSibling)r(a)}}}function Mn(e,t){let r=!1,n=(o,f,u)=>{t.error(o,f,u),r=!0},a=e.ownerDocument.createTreeWalker(e,4),l;for(;l=a.nextNode();)if(/\{\{.*\}\}/.test(l.nodeValue||"")){n("E02",l.parentElement||e,{problem:"moustaches in text content are not a Sap feature",fix:'move the expression onto the element: text="state.x"'});break}return jn(e,o=>{let f=new Set;for(let c of ge)c(o,n,i=>f.add(i));let u=o.closest&&o.closest("[detail]");for(let c of[...o.attributes]){let i=c.name;if(f.has(i))continue;if(i.includes(":")){let p=i.slice(0,i.indexOf(":"));if(nt.has(p)){if(Tn.has(p)&&_n.test(c.value)){let k=i.slice(i.indexOf(":")+1);t.warn("W04",o,{attr:i,expr:c.value,problem:`${p}: compares the "${k}" attribute against a literal value, not a JS expression`,fix:`use show="${c.value}" for an expression, or a literal like ${p}:${k}="overview"`})}}else{let k=Se(p,[...nt]);t.warn("W03",o,{attr:i,problem:`unknown "${p}:" attribute`,didYouMean:k?`${k}:`:null})}}else if(!rt.has(i)&&!xe.has(i)&&!Ln.has(i)&&!/^(data-|aria-|on)/.test(i)&&!(i in o)){let p=Se(i,[...rt]);p&&t.warn("W03",o,{attr:i,problem:`unknown "${i}" attribute`,didYouMean:p})}i==="attr:hidden"&&t.warn("W03",o,{attr:i,problem:"attr:hidden paints the wrong attribute",fix:'use show="expr"'});let d=ye(o)||i==="attr:selected"&&o.tagName==="OPTION"&&!!o.closest("select[bind]");(i==="attr:value"||i==="attr:checked"||i==="attr:selected")&&d&&n("E30",o,{attr:i,problem:"attr: on a bound control collides with persist ownership",fix:"remove it; bind owns this attribute"}),i==="effect"&&ye(o)&&/\b(value|checked)\s*=[^=]/.test(c.value)&&n("E30",o,{attr:i,expr:c.value,problem:"effect writes value/checked on a bound control (writes a stale value with no synthetic event)",fix:"write through onclick + Sap(this) instead"}),(i==="text"||i.startsWith("text:")||i==="show")&&Rn(o)&&(i==="show"||n("E18",o,{attr:i,problem:"paint belongs on output elements, not form controls",fix:"move the paint to an <output> or <span>"}))}if(o.hasAttribute("state")){let c=Le(o.getAttribute("state")),i=new Set;for(let d of c){d.name.includes("-")&&n("E08",o,{attr:"state",problem:`field "${d.name}" is not a valid identifier (the hyphen parses as subtraction)`,fix:`rename to ${d.name.replace(/-/g,"")}`}),i.has(d.name)&&n("E04",o,{attr:"state",problem:`field "${d.name}" is declared twice in one scope`}),i.add(d.name),vt.has(d.attr)&&n("E05",o,{attr:"state",problem:`"${d.name}" is a reserved Sap word`}),xe.has(d.attr)&&n("E06",o,{attr:"state",problem:`"${d.name}" is a global HTML attribute name; pick another field name`}),d.name==="open"&&o.tagName==="DIALOG"&&n("E33",o,{attr:"state",problem:"dialog open is transient",fix:"use showModal() \u2014 declare state= only on <details> or popovers"});let p=Te(o,d.attr);p&&(d.attr==="checked"||d.attr==="selected")&&n("E35",o,{attr:"state",problem:`"${d.attr}" on a form control is the control's own state, not a declared field`,fix:'bind the control instead, e.g. <input type="checkbox" bind="done">'}),p&&d.type==="num"&&n("E35",o,{attr:"state",problem:`"${d.attr}" is an HTML boolean attribute; it cannot hold a number`,fix:`declare it bare: state="${d.attr}"`}),d.transient&&(p||d.type==="presence")&&n("E35",o,{attr:"state",problem:`"${d.name}" is carried by attribute presence, which transient would strip`,fix:"declare a separate name:bool:transient field and paint the attribute from it"})}}if(ye(o)){if(o.hasAttribute("-"),o.tagName==="INPUT"){let c=(o.getAttribute("type")||"text").toLowerCase();c==="file"&&n("E32",o,{attr:"bind",problem:"files never serialize into an HTML file",fix:"use no-save + effect instead of bind"}),c==="password"&&!o.hasAttribute("transient")&&n("E31",o,{attr:"bind",problem:"a password must never serialize into a world-readable file",fix:"add transient to the password input"})}else if(o.tagName!=="SELECT"&&o.tagName!=="TEXTAREA"){let c=o.getAttribute("contenteditable");!(c!=null&&c!=="false")&&o.children.length>0&&n("E20",o,{attr:"bind",problem:"bind on a container element is not a control; a write would overwrite its children",fix:"bind a control (input/select/textarea), a contenteditable, or an empty text leaf"})}}if(o.hasAttribute("transient")&&o.hasAttribute("persist")&&n("E34",o,{problem:"transient and persist are opposite: persist forces the live value into the saved bytes, leaking exactly what transient drops",fix:"remove one \u2014 transient to keep it out of the file, or persist to save it"}),o.tagName==="DIALOG"&&o.hasAttribute("detail")&&!(o.parentElement&&o.parentElement.closest('[clay~="freeze"], [freeze], [save-freeze]'))&&t.warn("W31",o,{attr:"detail",problem:"a detail dialog writes open when it opens, and that attribute would be saved into the file",fix:'wrap the dialog in an element with clay="freeze" (not editor-ui, which removes it from the file), and make its key field transient'}),o.hasAttribute("item")&&!o.hasAttribute("template")&&o.parentNode&&o.parentNode.nodeType===1){let c=o.parentElement;(!c||!c.hasAttribute("items"))&&n("E10",o,{problem:"an [item] must be a direct child of an [items] list",fix:'wrap it in a container with items="name"'})}if(o.hasAttribute("items")&&u&&n("E17",o,{attr:"items",problem:"nested items inside a detail panel is a v1 mount error (nested collections ship in v1.1)"}),o.hasAttribute("items")){let c=e.querySelector(`[trigger-add="${o.getAttribute("items")}"]`);!Tt(o)&&!$e(e,o.getAttribute("items"))&&Lt(o).length===0&&c&&n("E17",o,{attr:"items",problem:`trigger-add targets items="${o.getAttribute("items")}" but it has no [item template] to clone`})}}),r&&(t.halted=!0,t.haltReason=t.errors[0]?t.errors[0].code:"halt",K(e,t.haltReason)),!r}var at="sap-styles",ot="[item][template]{display:none!important}[hidden]{display:none!important}[sap-error]{outline:2px solid #e5484d;outline-offset:1px}",ve=new WeakSet;function Pn(e){if(ve.has(e))return;let t=e.defaultView,r=t&&t.CSSStyleSheet;if(r&&"adoptedStyleSheets"in e)try{let n=new r;n.replaceSync(ot),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],ve.add(e);return}catch{}if(!e.getElementById(at)){let n=e.createElement("style");n.id=at,n.textContent=ot,(e.head||e.documentElement).appendChild(n)}ve.add(e)}var Wn=0;function it(){return typeof performance<"u"&&performance.now?performance.now():0}function lt(e){let t=e.id||e.getAttribute("sap")||`app-${Wn++}`,r=new At(t),n={root:e,name:t,diag:r,_state:null,_stats:null,_lastPass:null,_passes:0,_broken:!1,_mountMs:0,_mountWrites:0};if(!Mn(e,r))return n.halted=!0,n;Pn(e.ownerDocument);for(let l of e.querySelectorAll("textarea[data-value]"))Ie(l);let a=it();return et(n,{trigger:"mount",full:!0}),n._mountMs=it()-a,n._mountWrites=n._stats?n._stats.writes:0,n._mountWrites>0&&!on()&&!T("derived")&&r.warn("W30",e,{problem:`${n._mountWrites} paint(s) ran at mount; the saved file was out of sync with its declared state`,fix:"re-save once so the file mounts clean (a settled file writes nothing)"}),n}var st=/^(set:|move:|sort:|trigger-add$|trigger-remove$|trigger-reset$)/;function On(e){return`${e.tagName.toLowerCase()}[sap]`}function Dn(e){let t=0;for(let r of e.querySelectorAll("*"))for(let n of r.attributes)if(st.test(n.name)){t++;break}for(let r of e.attributes)if(st.test(r.name)){t++;break}return t}function Bn(e){function t(f){let u=f._stats||{},c=f.root;return{root:On(c),fields:u.fields||0,calcs:u.calcs||0,paints:u.paints||0,actions:Dn(c),lists:(c.hasAttribute("items")?1:0)+c.querySelectorAll("[items]").length,rows:c.querySelectorAll("[item]:not([template])").length,warnings:f.diag.warnings.length,errors:f.diag.errors.length,mountWrites:f._mountWrites||0,ms:Math.round((f._mountMs||0)*10)/10,passes:f._passes||0,lastPass:f._lastPass||null,ok:f.diag.errors.length===0&&!f.halted}}function r(){let f=e.apps().map(t);return{ok:f.every(u=>u.ok),apps:f}}function n(f){let u=t(f);return u.ok?`sap \u2713 ${u.root} \xB7 fields ${u.fields} \xB7 calcs ${u.calcs} \xB7 paints ${u.paints} \xB7 actions ${u.actions} \xB7 lists ${u.lists} \xB7 rows ${u.rows} \xB7 warnings ${u.warnings} \xB7 mount writes ${u.mountWrites} \xB7 ${u.ms}ms`:`sap \u2717 ${u.root} \xB7 errors ${u.errors} \xB7 warnings ${u.warnings} \xB7 ${u.ms}ms`}function a(){for(let f of e.apps()){let u=n(f);f.diag.errors.length||f.halted?console.error(u):console.log(u)}}function l(){let f=[],u=[];for(let c of e.apps())f.push(...c.diag.errors),u.push(...c.diag.warnings);return{ok:f.length===0,errors:f,warnings:u,counts:{errors:f.length,warnings:u.length}}}function o(f){let u=f===void 0?!0:!!f;for(let c of e.apps())c._debug=u;return console.log(`sap debug ${u?"on":"off"} \u2014 per-pass headers will ${u?"":"no longer "}log`),u}return{status:r,report:l,debug:o,greenLine:n,printGreenLines:a,REGISTRY:ke}}var Fn="0.7.1";function Hn({createAccessor:e,installInput:t,debugExtras:r}){let n=new Map,a=[],l=yt(et);function o(y){let v=y;for(;v;){if(v.nodeType===1&&v.hasAttribute&&v.hasAttribute("sap"))return n.get(v)||null;v=v.parentNode&&v.parentNode.host?v.parentNode.host:v.parentElement}return null}function f(){for(let y=a.length-1;y>=0;y--){let v=a[y];v.root.isConnected||(n.delete(v.root),a.splice(y,1))}}function u(y,v){if(y.moveBefore)try{y.moveBefore(v,null);return}catch{}y.appendChild(v)}function c(y,v){let x=v.parentElement;if(x){if(x.moveBefore)try{x.moveBefore(y,v);return}catch{}x.insertBefore(y,v)}}let i={apps:()=>a.slice(),appFor:o,isRegistered:y=>n.has(y),pruneDisconnected:f,schedule:(y,v)=>l.schedule(y,v),runNow:(y,v)=>l.runNow(y,v),moveInto:u,placeBefore:c,remountIfPresent:()=>V()},d=e(i),p=Bn(i),k=r?r(i,p):{},L=!1,_=!1,z=null;function ie(){L||(L=!0,t(i,d,document),z=pn(i))}function le(){let y=T("derived");y&&typeof y.mounted=="function"&&y.mounted()}function V(y=document){if(_)return[];ie(),Ke(i);let v=y.querySelectorAll("[sap]"),x=[];for(let C of v){if(n.has(C))continue;let s=lt(C);n.set(C,s),a.push(s),x.push(s)}for(let C of x){let s=p.greenLine(C);C.diag.errors.length||C.halted?console.error(s):console.log(s)}return le(),x}function se(y){if(_)return null;if(ie(),Ke(i),!y)return V();let v=typeof y=="string"?document.querySelector(y):y;if(!v)return null;if(n.has(v))return n.get(v);let x=lt(v);n.set(v,x),a.push(x);let C=p.greenLine(x);return x.diag.errors.length||x.halted?console.error(C):console.log(C),x}let w=d.Sap;return w.version=Fn,w.refresh=function(){for(let y of a)y.root.isConnected&&l.runNow(y,"refresh")},w.batch=dn,w.status=p.status,w.report=p.report,w.why=k.why,w.debug=p.debug,w.doctor=k.doctor,w.greenLine=p.greenLine,w.formats=Q,w.serializeControlToAttributes=pe,w.finalizeControlForSave=an,w.rehydrateControlFromAttributes=Ie,w.mount=se,w.config=function(y={}){return y.formats&&Object.assign(Q,y.formats),w},w._registry=n,w._reset=function(){n.clear(),a.length=0,Je()},w.unmount=function(){_=!0,n.clear(),a.length=0,Je(),typeof z=="function"&&z()},{Sap:w,mountAll:V,mount:se,runtime:i}}function In(e){if(typeof document>"u")return;let t=()=>fn(()=>e());document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function zn(e){let t=[];function r(u){let c=u.target;if(!c||c.nodeType!==1)return;let i=e.appFor(c);if(i){c.hasAttribute("persist")&&!qe(c)&&me(c)&&pe(c);for(let d of t)if(d(c,i))return;e.schedule(i,u.type+" "+(c.id||c.tagName.toLowerCase()))}}function n(u){let c=u.target,i=e.appFor(c);i&&[...c.querySelectorAll("[bind]")].every(d=>me(d))&&setTimeout(()=>{c.querySelectorAll("[bind]").forEach(d=>{d.dispatchEvent(new Event("input",{bubbles:!0})),d.dispatchEvent(new Event("change",{bubbles:!0}))}),e.schedule(i,"reset")},0)}function a(u){let c=e.appFor(u.target);c&&e.schedule(c,"toggle")}function l(u){let c=u.detail||{};for(let i of[c.from,c.to,u.target]){if(!i||i.nodeType!==1)continue;let d=e.appFor(i);d&&e.schedule(d,"sorted")}}function o(u){if(u.key!=="ArrowUp"&&u.key!=="ArrowDown")return;let c=u.target;if(!c||c.nodeType!==1||c.tagName!=="INPUT"||!c.hasAttribute("bind")||!c.hasAttribute("step"))return;let i=(c.getAttribute("type")||"text").toLowerCase();if(i!=="text"&&i!=="tel"&&i!=="search"||!e.appFor(c)||!me(c))return;u.preventDefault();let d=R(c.getAttribute("step"))||1,p=u.key==="ArrowUp"?1:-1,k=R(c.value)+d*(u.shiftKey?10:1)*p,L=c.getAttribute("min"),_=c.getAttribute("max");L!==null&&L!==""&&k<R(L)&&(k=R(L)),_!==null&&_!==""&&k>R(_)&&(k=R(_)),yn(c).write(String(Number(k.toFixed(2))))}function f(u=document){u.addEventListener("reset",n),u.addEventListener("toggle",a,!0),u.addEventListener("input",r),u.addEventListener("change",r),u.addEventListener("clay:sorted",l),u.addEventListener("keydown",o)}return{install:f,addRouter:u=>t.push(u)}}var X="https://clayjs.com/v1/sap.js",qn=/^(calc|set|move|sort):/,Un=new Set(["each","detail","effect","invalid","confirm","trigger-add","trigger-remove","trigger-reset"]);function we(e){return qn.test(e)||Un.has(e)}Cn((e,t)=>{for(let r of e.attributes)we(r.name)&&t("E50",e,{attr:r.name,expr:r.value,problem:`${r.name} is full sapjs; the sapjs core only paints declared state`,fix:`load ${X}; the markup stays as it is`})});function I(e,t,r){e.app.diag.error("E50",t,{attr:r,problem:`${r} is full sapjs; the sapjs core only paints declared state`,fix:`load ${X}; the markup stays as it is`}),K(t,"E50"),e.app.halted=!0}xn({name:"core-only",collect(e,t,r){r.calcs&&I(e,t,"calc:"+r.calcs[0].name),r.effects&&I(e,t,"effect"),r.invalids&&I(e,t,"invalid");for(let n of t.attributes)we(n.name)&&(n.name.startsWith("calc:")&&r.calcs||n.name==="effect"&&r.effects||n.name==="invalid"&&r.invalids||I(e,t,n.name));return!1},boundary:{each(e,t){I(e,t,"each")},detail(e,t){I(e,t,"detail")}}});function Gn(){return{Sap:function(){throw new Error(`Sap(el) is full sapjs; load ${X}`)}}}var ut=e=>()=>(console.warn(`Sap.${e} is full sapjs; load ${X}`),null),{Sap:Y,mountAll:ct,mount:Xn,runtime:Yn}=Hn({createAccessor:Gn,debugExtras:()=>({why:ut("why"),doctor:ut("doctor")}),installInput(e,t,r){zn(e).install(r)}});Y.core=!0;var Vn=typeof window<"u"&&window.Sap&&!window.Sap.core;Vn?Y.unmount():In(ct),typeof window<"u"&&!window.Sap&&(window.Sap=Y);var Kn=Y;return gt(Ee)})(),Zn=Qn.default;export{Zn as default};
|
|
6
|
+
`+t.value:t.value;e.textContent!==n&&(e.textContent=n),e.removeAttribute("data-value");return}if(r==="SELECT"){let n=e.options,a=t.options;for(let l=0;l<n.length;l++)a[l]&&a[l].selected?n[l].hasAttribute("selected")||n[l].setAttribute("selected",""):n[l].removeAttribute("selected")}}function Ie(e){e.tagName!=="TEXTAREA"||!e.hasAttribute("data-value")||e!==e.ownerDocument.activeElement&&(e.textContent=e.getAttribute("data-value"),e.removeAttribute("data-value"))}function T(e){if(typeof window>"u")return null;let t=window.clay,r=window.hyperclay;return e==="consent"?t?.confirm||r?.consent||null:t?.[e]||r?.[e]||null}function on(){let e=T("visitorDrafts");return!!(e&&typeof e.restored=="function"&&e.restored()?.restored)}var ze=["clay:mutation-ready","hyperclay:mutation-ready"],ln=["clay:sync-applied","hyperclay:livesync-applied"],sn=["clay:ready","hyperclay:ready"],un=["clay:route"],cn=["clay:modechange"];function ne(e,t,r){let n=null,a=l=>{n!==null&&n!==l.type||(n=l.type,queueMicrotask(()=>{n=null}),r(l))};for(let l of t)e.addEventListener(l,a);return()=>{for(let l of t)e.removeEventListener(l,a)}}function fn(e){let t=typeof window<"u"&&window.clay&&window.clay.ready;t&&typeof t.then=="function"?t.then(()=>e(),()=>e()):e()}function qe(e){let t=T("region");return!t||typeof t.resolveRegionPolicy!="function"||typeof t.skipForPolicy!="function"?!1:t.skipForPolicy(t.resolveRegionPolicy(e),void 0,["no-save","freeze"])}function Ue(){return typeof window>"u"?null:window.clay?.modeLifecycle||null}function me(e,{transient:t=!1}={}){if(t)return!0;let r=Ue();return typeof r?.canWrite!="function"||T("region")?.resolveRegionPolicy?.(e)?.persist==="none"?!0:r.canWrite()}function dn(e,t){if(typeof t!="function")throw new Error("Sap.batch(label, fn): fn must be a function");let r=T("undo");r&&r.flush&&r.flush();let n=t();if(n&&typeof n.then=="function")throw new Error("Sap.batch fn must be synchronous (it returned a promise)");return r&&r.commitCaptured&&r.commitCaptured(e),n}function pn(e){if(typeof window>"u"||typeof document>"u")return;let t=()=>{let p=!1;for(let k of e.apps())k.root.isConnected?e.runNow(k,"platform"):p=!0;p&&e.pruneDisconnected(),e.remountIfPresent()},r=T("derived"),n=r&&typeof r.register=="function"?r.register(t):null,a=typeof n=="function"?null:ne(document,ln,t),l=ne(document,un,t),o=null,f=!1,u=()=>{let p=o;o=null,p&&(p[2](),p[3]())},c=()=>{if(f)return!1;let p=T("undo"),k=Ue()?.state?.generation;if(o&&o[0]===p&&o[1]===k)return!0;if(u(),!p||typeof p.on!="function")return!1;let L=p.on("undo",t);if(typeof L!="function")return!1;let _=p.on("redo",t);return typeof _!="function"?(L(),!1):(o=[p,k,L,_],!0)};c();let i=[ze,sn,cn].map(p=>ne(document,p,c)),d=T("ready");return d&&typeof d.then=="function"&&d.then(c,()=>{}),()=>{f=!0,typeof n=="function"&&n(),a&&a(),l();for(let p of i)p();u()}}function Ge(e){let t=e.tagName;if(t==="INPUT"){let r=(e.getAttribute("type")||"text").toLowerCase();return r==="checkbox"?"checkbox":r==="radio"?"radio":r==="number"||r==="range"?"number":r==="hidden"?"hidden":"text"}return t==="TEXTAREA"?"text":t==="SELECT"?e.multiple?"select-multiple":"select-one":"leaf"}function mn(e){if(e.validity&&e.validity.badInput)return e.hasAttribute("value")?Number(e.getAttribute("value"))||0:e._sapLastGood??0;if(e.value==="")return 0;let t=Number(e.value);return Number.isNaN(t)?e._sapLastGood??0:(e._sapLastGood=t,t)}function Xe(e,t){switch(t){case"checkbox":return e.checked;case"radio":return e.checked?e.value:void 0;case"number":return mn(e);case"select-one":return e.value;case"select-multiple":return[...e.selectedOptions].map(r=>r.value);case"hidden":case"text":return e.value;case"leaf":return e.textContent;default:return e.value}}function hn(e,t,r){switch(t){case"checkbox":e.checked=!!r;break;case"radio":e.checked=String(e.value)===String(r);break;case"number":case"text":case"hidden":e.value=r==null?"":String(r);break;case"select-one":e.value=r==null?"":String(r);break;case"select-multiple":{let n=new Set((Array.isArray(r)?r:[r]).map(String));for(let a of e.options)a.selected=n.has(a.value);break}case"leaf":e.textContent=r==null?"":String(r);break;default:e.value=r==null?"":String(r)}}function Ye(e){if(e.hasAttribute("transient")){e.removeAttribute("value"),e.removeAttribute("checked"),e.removeAttribute("data-value");return}qe(e)||pe(e)}function bn(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function gn(e,t){return Xe(e,t)}function yn(e){let t=Ge(e);return{el:e,kind:t,read(){return Xe(e,t)},write(r,n={}){hn(e,t,r),n.noMirror||Ye(e),n.silent||bn(e)},mirror(){Ye(e)}}}var W=null,re=!1,H=null;function Ve(e){let t=null;return{kind:"hub",subscribe(r){let n=e.onAnyChange({debounce:0,require:"observed"},r);typeof n=="function"&&(t=n)},suppress(r){e.pause();try{return r()}finally{e.resume()}},teardown(){if(t){try{t()}catch{}t=null}}}}function vn(){let e=null;return{kind:"native",subscribe(t){e=new MutationObserver(n=>t(wn(n)));let r=typeof document<"u"&&document.body||typeof document<"u"&&document.documentElement;r&&e.observe(r,{childList:!0,subtree:!0,attributes:!0,characterData:!0})},suppress(t){let r=T("undo");r&&r.pause&&r.pause();try{return t()}finally{e&&e.takeRecords(),r&&r.resume&&r.resume()}},teardown(){e&&(e.disconnect(),e=null)}}}function wn(e){let t=[];for(let r of e)if(r.type==="attributes"){let n=r.target;n&&n.nodeType===1&&!ae(n)&&t.push({type:"attribute",element:n})}else if(r.type==="characterData"){let n=r.target&&r.target.parentElement;n&&!ae(n)&&t.push({type:"characterData",element:n})}else if(r.type==="childList"){for(let n of r.addedNodes)if(!(n.nodeType!==1||ae(n))&&(t.push({type:"add",element:n}),n.querySelectorAll))for(let a of n.querySelectorAll("*"))ae(a)||t.push({type:"add",element:a});for(let n of r.removedNodes)n.nodeType===1&&t.push({type:"remove",element:n,parent:r.target})}return t}function ae(e){return!!(e.closest&&e.closest("[sap-ignore],[template],[cms-template]"))}function An(e,t){e.pruneDisconnected();let r=new Set,n=!1;for(let a of t){let l=a.type==="remove"?a.parent:a.element,o=l&&e.appFor(l);o&&r.add(o),a.type==="add"&&a.element&&a.element.nodeType===1&&a.element.hasAttribute&&a.element.hasAttribute("sap")&&!(e.isRegistered&&e.isRegistered(a.element))&&(n=!0)}n&&e.remountIfPresent();for(let a of r)a.root.isConnected&&e.schedule(a,"mutation")}function En(e){if(W)return W.suppress(e);let t=T("undo");if(t&&t.pause&&t.resume){t.pause();try{return e()}finally{t.resume()}}return e()}function he(e,t){re=!0,W=e,e.subscribe(r=>An(t,r))}function Ke(e){if(re||typeof window>"u"||typeof document>"u")return;let t=T("Mutation");if(t&&typeof t.onAnyChange=="function"){he(Ve(t),e);return}typeof MutationObserver=="function"&&(he(vn(),e),H=ne(document,ze,function(){let r=T("Mutation");r&&(H(),H=null,W&&W.teardown(),re=!1,he(Ve(r),e))}))}function Je(){if(W)try{W.teardown()}catch{}H&&typeof document<"u"&&H(),W=null,re=!1,H=null}var kn=new Set(ce),oe=Object.freeze([]),O=[],Qe={},Ze={};function xn(e){O.includes(e)||(O.push(e),e.boundary&&Object.assign(Qe,e.boundary),e.paintKinds&&Object.assign(Ze,e.paintKinds))}function et(e,t={}){if(t.breaker){e.diag.error("E26",e.root,{problem:"recompute loop halted after 50 passes; recent triggers: "+(e._breakerRing||[]).join(", ")}),K(e.root,"loop");return}t.full&&(zt(),Vt());let r=qt(e.root);try{En(()=>Sn(e,t))}finally{Ut(r)}e._viewsChanged&&(e._viewsChanged=!1,e.root.dispatchEvent(new CustomEvent("sap:views-updated",{bubbles:!0})))}function Sn(e,t){let r=e.root,n={},a=[],l=[],o=new Set;e.diag.errors=[];let f={root:n,state:n,item:null,ownerEl:r,projection:!1},u=null;function c(s,h,b=!1){let m=h.attr||h.name,g=b?nn(s,m):s.getAttribute(m);return g==null&&(g=Ce(h),l.push({el:s,name:h.name,attr:m,value:_t(fe(g,h.type),h.type)})),fe(g,h.type)}function i(s,h,b,m){let g=h.decls;if(!g)return;let A=!!m.item&&!m.projection&&!m.view;for(let S of g){if(S.transient){u&&(u.pure=!1),b[S.name]=Ct(s,S);continue}if(_e(s,S)){b[S.name]=s.hasAttribute(S.attr);continue}b[S.name]=c(s,S,A)}}function d(s,h,b){let m=h.bind,g=b.item||b.state,A=Ge(s);u&&(A!=="leaf"||h.transient)&&(u.pure=!1),A==="radio"?(m in g||(g[m]=""),s.checked&&(g[m]=s.value)):A==="leaf"&&b.item&&!b.projection&&!b.view?g[m]=rn(s):g[m]=gn(s,A),h.transient&&(s.removeAttribute("value"),s.removeAttribute("checked"))}function p(s,h,b){let m=!1;if(h.paints){m=!0;for(let g of h.paints)g.kind==="when"&&o.add(g.field),a.push({def:g,el:s,ctx:b})}for(let g of O)g.collect&&g.collect(w,s,h,b)!==!1&&(m=!0);u&&m&&(h.calcs&&(u.pure=!1),u.collects.push(s,h))}function k(s,h,b){Object.defineProperty(s,"$key",{value:$t(h,"row"),enumerable:!1}),Object.defineProperty(s,"$index",{value:b,enumerable:!1,configurable:!0}),Object.defineProperty(s,"$el",{value:h,enumerable:!1})}function L(s,h,b){let m=de(s);i(s,m,h,b),s._sapScope=h,!b.projection&&m.bind!=null&&d(s,m,b),p(s,m,b),m.items?le(s,h,b):_(s,h,b)}function _(s,h,b){for(let m=s.firstElementChild;m;m=m.nextElementSibling)z(m,h,b)}function z(s,h,b){let m=de(s);if(!m.inert){if(m.boundary){u&&(u.pure=!1),m.boundary==="scope"?ie(s,h,b):m.boundary==="items"?(p(s,m,b),le(s,h,b)):Qe[m.boundary](w,s,m,h,b);return}!b.projection&&!b.view&&m.bind!=null&&d(s,m,b),p(s,m,b);for(let g=s.firstElementChild;g;g=g.nextElementSibling)z(g,h,b)}}function ie(s,h,b){let m=s.getAttribute("scope"),g={};h[m]=g;let A={root:b.root,state:g,item:null,ownerEl:s,projection:b.projection};L(s,g,A)}function le(s,h,b){u&&(u.pure=!1);let m=s.getAttribute("items"),g=[];h[m]=g,s._sapList=g;let A=!b.projection&&!b.view&&Kt(),S=0;for(let N=s.firstElementChild;N;N=N.nextElementSibling){let E=de(N);if(!E.item||E.template||E.cms)continue;let $=A?Jt(N):void 0;g.push($&&$.plan===E&&Object.isExtensible($.obj)&&se($,N,S,b)||V(N,E,S,b,A)),S++}}function V(s,h,b,m,g){let A={};k(A,s,b);let S={root:m.root,state:m.state,item:A,ownerEl:s,projection:m.projection};if(!g)return L(s,A,S),A;let N=u,E={plan:h,obj:A,fields:null,presence:oe,pending:oe,collects:[],pure:!0},$=l.length,Jn=e.diag.errors.length;u=E;try{L(s,A,S)}finally{u=N}if(!E.pure||e.halted||e.diag.errors.length!==Jn)return A;let ft=[];for(let q of Object.keys(A)){let Ae=A[q];if(Ae!==null&&typeof Ae=="object")return A;ft.push(q,Ae)}if(h.decls)for(let q of h.decls)_e(s,q)&&(E.presence===oe?E.presence=[]:E.presence).push(q.name,q.attr);return l.length>$&&(E.pending=l.slice($)),E.collects.length||(E.collects=oe),E.fields=ft,Qt(s,E),A}function se(s,h,b,m){let g=s.obj;try{g.$index!==b&&Object.defineProperty(g,"$index",{value:b,enumerable:!1,configurable:!0});let N=s.presence;for(let $=0;$<N.length;$+=2)g[N[$]]=h.hasAttribute(N[$+1]);let E=s.fields;for(let $=0;$<E.length;$+=2)g[E[$]]=E[$+1]}catch{return Zt(h),null}h._sapScope=g;let A=s.pending;for(let N=0;N<A.length;N++)l.push(A[N]);let S=s.collects;if(S.length){let N={root:m.root,state:m.state,item:g,ownerEl:h,projection:m.projection};for(let E=0;E<S.length;E+=2)p(S[E],S[E+1],N)}return g}let w={app:e,root:r,rootObj:n,paints:a,stats:{calcs:0,lists:0},resolveDefault:c,collectEl:p,walkScope:_};for(let s of O)s.begin&&s.begin(w);let y=t.cacheReads===!1?null:en(r);try{L(r,n,f)}finally{t.cacheReads!==!1&&tn(y)}if(e.halted)return;for(let s of O)s.afterIntake&&s.afterIntake(w);if(l.length&&o.size)for(let s of l)o.has(s.attr)&&s.el.getAttribute(s.attr)==null&&s.el.setAttribute(s.attr,s.value);for(let s of O)s.compute&&s.compute(w);let v=0;for(let s of O)s.reconcile&&(v+=s.reconcile(w));let x=0,C=v;for(let s of a){let h=$n(s,e);s.ctx.view?C+=h:x+=h}for(let s of O)s.afterPaint&&s.afterPaint(w);e._state=n,e._stats={fields:Object.keys(n).filter(s=>typeof n[s]!="function").length,calcs:w.stats.calcs,paints:a.length,lists:w.stats.lists,writes:x,viewWrites:C},e._viewsChanged=C>0,e._lastPass={trigger:t.trigger||"refresh",writes:x},e._debug&&console.log(`sap pass \xB7 trigger: ${e._lastPass.trigger} \xB7 writes ${x}/${a.length}`)}function Nn(e){return e.kind==="text"?e.fmt?"text:"+e.fmt:"text":e.kind==="attr"?"attr:"+e.arg:e.kind==="class"?"class:"+e.arg:e.kind==="css"?"css:"+e.arg:e.kind==="when"?(e.match==="hide"?"hide-when:":e.match==="show-not"?"option-not:":"show-when:")+e.field:e.kind}function be(e,t,r,n){let a=e;for(;a&&a.nodeType===1;){if(a.hasAttribute&&a.hasAttribute(t)){let l=r.includes(a.getAttribute(t));if(n?!l:l)return!0}a=a.parentElement}return!1}function $n(e,t){let r=e.def,n=e.el,a=Ze[r.kind];if(a)return a(e,t);if(r.kind==="when")return tt(r,n,null);try{let l=It(r.entry,e.ctx.state,e.ctx.item,n,e.ctx.root),o=tt(r,n,l);return Et(n),o}catch(l){return t.diag.error(l.sapCode==="E22"?"E22":"E24",n,{attr:Nn(r),expr:r.entry&&r.entry.src,problem:String(l.message)}),K(n,l.sapCode||"E24"),0}}function tt(e,t,r){switch(e.kind){case"text":{let n=e.fmt!=null?Bt(e.fmt,r):r==null?"":String(r);return t.textContent!==n?(t.textContent=n,1):0}case"show":{let n=!r;return t.hidden!==n?(t.hidden=n,1):0}case"when":{let n=T("optionVisibility");if(n&&n._started)return t._sapWhen&&t.hidden?(t.hidden=!1,t._sapWhen=!1,1):0;let a;e.match==="hide"?a=!be(t,e.field,e.values,!1):e.match==="show-not"?a=be(t,e.field,e.values,!0):a=be(t,e.field,e.values,!1),t._sapWhen=!0;let l=!a;return t.hidden!==l?(t.hidden=l,1):0}case"attr":{let n=e.arg;if((n==="checked"||n==="selected")&&typeof t[n]=="boolean"&&!t.hasAttribute("bind")&&!t.closest("select[bind]")){let l=0;return t[n]!==!!r&&(t[n]=!!r,l=1),!!r!==t.hasAttribute(n)&&(r?t.setAttribute(n,""):t.removeAttribute(n),l=1),l}if(kn.has(n)){let l=t.hasAttribute(n);return r&&!l?(t.setAttribute(n,""),1):!r&&l?(t.removeAttribute(n),1):0}let a=typeof r=="boolean"?String(r):r==null?"":String(r);return t.getAttribute(n)!==a?(t.setAttribute(n,a),1):0}case"class":{let n=!!r;return t.classList.contains(e.arg)!==n?(t.classList.toggle(e.arg,n),1):0}case"css":{let n=r==null?"":String(r);return t.style.getPropertyValue("--"+e.arg)!==n?(t.style.setProperty("--"+e.arg,n),1):0}default:return 0}}var Ln=new Set(ce),nt=new Set(["calc","text","attr","class","css","set","move","sort","option","option-not","show-when","hide-when","editmode","viewmode"]),Tn=new Set(["show-when","hide-when","option","option-not"]),_n=/\b(?:state|item|root)\.|===|!==|&&|\|\||[()]|^\s*!/,rt=new Set(["sap","scope","items","item","template","bind","show","effect","invalid","detail","state","transient","confirm","default","persist","sortable","trigger-add","trigger-remove","trigger-reset","sap-ignore","sap-error","no-save","no-watch","no-undo","no-trigger-autosave","freeze","mutations-ignore","save-remove","save-ignore","save-freeze"]),ge=[];function Cn(e){ge.includes(e)||ge.push(e)}function Rn(e){return e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"}function ye(e){return e.hasAttribute("bind")}function jn(e,t){t(e);for(let n=e.firstElementChild;n;n=n.nextElementSibling)r(n);function r(n){if(!n.hasAttribute("sap-ignore")){if(n.tagName==="TEMPLATE"){if(n.hasAttribute("items"))for(let a=n.content.firstElementChild;a;a=a.nextElementSibling)r(a);return}t(n);for(let a=n.firstElementChild;a;a=a.nextElementSibling)r(a)}}}function Mn(e,t){let r=!1,n=(o,f,u)=>{t.error(o,f,u),r=!0},a=e.ownerDocument.createTreeWalker(e,4),l;for(;l=a.nextNode();)if(/\{\{.*\}\}/.test(l.nodeValue||"")){n("E02",l.parentElement||e,{problem:"moustaches in text content are not a Sap feature",fix:'move the expression onto the element: text="state.x"'});break}return jn(e,o=>{let f=new Set;for(let c of ge)c(o,n,i=>f.add(i));let u=o.closest&&o.closest("[detail]");for(let c of[...o.attributes]){let i=c.name;if(f.has(i))continue;if(i.includes(":")){let p=i.slice(0,i.indexOf(":"));if(nt.has(p)){if(Tn.has(p)&&_n.test(c.value)){let k=i.slice(i.indexOf(":")+1);t.warn("W04",o,{attr:i,expr:c.value,problem:`${p}: compares the "${k}" attribute against a literal value, not a JS expression`,fix:`use show="${c.value}" for an expression, or a literal like ${p}:${k}="overview"`})}}else{let k=Se(p,[...nt]);t.warn("W03",o,{attr:i,problem:`unknown "${p}:" attribute`,didYouMean:k?`${k}:`:null})}}else if(!rt.has(i)&&!xe.has(i)&&!Ln.has(i)&&!/^(data-|aria-|on)/.test(i)&&!(i in o)){let p=Se(i,[...rt]);p&&t.warn("W03",o,{attr:i,problem:`unknown "${i}" attribute`,didYouMean:p})}i==="attr:hidden"&&t.warn("W03",o,{attr:i,problem:"attr:hidden paints the wrong attribute",fix:'use show="expr"'});let d=ye(o)||i==="attr:selected"&&o.tagName==="OPTION"&&!!o.closest("select[bind]");(i==="attr:value"||i==="attr:checked"||i==="attr:selected")&&d&&n("E30",o,{attr:i,problem:"attr: on a bound control collides with persist ownership",fix:"remove it; bind owns this attribute"}),i==="effect"&&ye(o)&&/\b(value|checked)\s*=[^=]/.test(c.value)&&n("E30",o,{attr:i,expr:c.value,problem:"effect writes value/checked on a bound control (writes a stale value with no synthetic event)",fix:"write through onclick + Sap(this) instead"}),(i==="text"||i.startsWith("text:")||i==="show")&&Rn(o)&&(i==="show"||n("E18",o,{attr:i,problem:"paint belongs on output elements, not form controls",fix:"move the paint to an <output> or <span>"}))}if(o.hasAttribute("state")){let c=Le(o.getAttribute("state")),i=new Set;for(let d of c){d.name.includes("-")&&n("E08",o,{attr:"state",problem:`field "${d.name}" is not a valid identifier (the hyphen parses as subtraction)`,fix:`rename to ${d.name.replace(/-/g,"")}`}),i.has(d.name)&&n("E04",o,{attr:"state",problem:`field "${d.name}" is declared twice in one scope`}),i.add(d.name),vt.has(d.attr)&&n("E05",o,{attr:"state",problem:`"${d.name}" is a reserved Sap word`}),xe.has(d.attr)&&n("E06",o,{attr:"state",problem:`"${d.name}" is a global HTML attribute name; pick another field name`}),d.name==="open"&&o.tagName==="DIALOG"&&n("E33",o,{attr:"state",problem:"dialog open is transient",fix:"use showModal() \u2014 declare state= only on <details> or popovers"});let p=Te(o,d.attr);p&&(d.attr==="checked"||d.attr==="selected")&&n("E35",o,{attr:"state",problem:`"${d.attr}" on a form control is the control's own state, not a declared field`,fix:'bind the control instead, e.g. <input type="checkbox" bind="done">'}),p&&d.type==="num"&&n("E35",o,{attr:"state",problem:`"${d.attr}" is an HTML boolean attribute; it cannot hold a number`,fix:`declare it bare: state="${d.attr}"`}),d.transient&&(p||d.type==="presence")&&n("E35",o,{attr:"state",problem:`"${d.name}" is carried by attribute presence, which transient would strip`,fix:"declare a separate name:bool:transient field and paint the attribute from it"})}}if(ye(o)){if(o.hasAttribute("-"),o.tagName==="INPUT"){let c=(o.getAttribute("type")||"text").toLowerCase();c==="file"&&n("E32",o,{attr:"bind",problem:"files never serialize into an HTML file",fix:"use no-save + effect instead of bind"}),c==="password"&&!o.hasAttribute("transient")&&n("E31",o,{attr:"bind",problem:"a password must never serialize into a world-readable file",fix:"add transient to the password input"})}else if(o.tagName!=="SELECT"&&o.tagName!=="TEXTAREA"){let c=o.getAttribute("contenteditable");!(c!=null&&c!=="false")&&o.children.length>0&&n("E20",o,{attr:"bind",problem:"bind on a container element is not a control; a write would overwrite its children",fix:"bind a control (input/select/textarea), a contenteditable, or an empty text leaf"})}}if(o.hasAttribute("transient")&&o.hasAttribute("persist")&&n("E34",o,{problem:"transient and persist are opposite: persist forces the live value into the saved bytes, leaking exactly what transient drops",fix:"remove one \u2014 transient to keep it out of the file, or persist to save it"}),o.tagName==="DIALOG"&&o.hasAttribute("detail")&&!(o.parentElement&&o.parentElement.closest('[clay~="freeze"], [freeze], [save-freeze]'))&&t.warn("W31",o,{attr:"detail",problem:"a detail dialog writes open when it opens, and that attribute would be saved into the file",fix:'wrap the dialog in an element with clay="freeze" (not editor-ui, which removes it from the file), and make its key field transient'}),o.hasAttribute("item")&&!o.hasAttribute("template")&&o.parentNode&&o.parentNode.nodeType===1){let c=o.parentElement;(!c||!c.hasAttribute("items"))&&n("E10",o,{problem:"an [item] must be a direct child of an [items] list",fix:'wrap it in a container with items="name"'})}if(o.hasAttribute("items")&&u&&n("E17",o,{attr:"items",problem:"nested items inside a detail panel is a v1 mount error (nested collections ship in v1.1)"}),o.hasAttribute("items")){let c=e.querySelector(`[trigger-add="${o.getAttribute("items")}"]`);!Tt(o)&&!$e(e,o.getAttribute("items"))&&Lt(o).length===0&&c&&n("E17",o,{attr:"items",problem:`trigger-add targets items="${o.getAttribute("items")}" but it has no [item template] to clone`})}}),r&&(t.halted=!0,t.haltReason=t.errors[0]?t.errors[0].code:"halt",K(e,t.haltReason)),!r}var at="sap-styles",ot="[item][template]{display:none!important}[hidden]{display:none!important}[sap-error]{outline:2px solid #e5484d;outline-offset:1px}",ve=new WeakSet;function Pn(e){if(ve.has(e))return;let t=e.defaultView,r=t&&t.CSSStyleSheet;if(r&&"adoptedStyleSheets"in e)try{let n=new r;n.replaceSync(ot),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],ve.add(e);return}catch{}if(!e.getElementById(at)){let n=e.createElement("style");n.id=at,n.textContent=ot,(e.head||e.documentElement).appendChild(n)}ve.add(e)}var Wn=0;function it(){return typeof performance<"u"&&performance.now?performance.now():0}function lt(e){let t=e.id||e.getAttribute("sap")||`app-${Wn++}`,r=new At(t),n={root:e,name:t,diag:r,_state:null,_stats:null,_lastPass:null,_passes:0,_broken:!1,_mountMs:0,_mountWrites:0};if(!Mn(e,r))return n.halted=!0,n;Pn(e.ownerDocument);for(let l of e.querySelectorAll("textarea[data-value]"))Ie(l);let a=it();return et(n,{trigger:"mount",full:!0}),n._mountMs=it()-a,n._mountWrites=n._stats?n._stats.writes:0,n._mountWrites>0&&!on()&&!T("derived")&&r.warn("W30",e,{problem:`${n._mountWrites} paint(s) ran at mount; the saved file was out of sync with its declared state`,fix:"re-save once so the file mounts clean (a settled file writes nothing)"}),n}var st=/^(set:|move:|sort:|trigger-add$|trigger-remove$|trigger-reset$)/;function On(e){return`${e.tagName.toLowerCase()}[sap]`}function Dn(e){let t=0;for(let r of e.querySelectorAll("*"))for(let n of r.attributes)if(st.test(n.name)){t++;break}for(let r of e.attributes)if(st.test(r.name)){t++;break}return t}function Bn(e){function t(f){let u=f._stats||{},c=f.root;return{root:On(c),fields:u.fields||0,calcs:u.calcs||0,paints:u.paints||0,actions:Dn(c),lists:(c.hasAttribute("items")?1:0)+c.querySelectorAll("[items]").length,rows:c.querySelectorAll("[item]:not([template])").length,warnings:f.diag.warnings.length,errors:f.diag.errors.length,mountWrites:f._mountWrites||0,ms:Math.round((f._mountMs||0)*10)/10,passes:f._passes||0,lastPass:f._lastPass||null,ok:f.diag.errors.length===0&&!f.halted}}function r(){let f=e.apps().map(t);return{ok:f.every(u=>u.ok),apps:f}}function n(f){let u=t(f);return u.ok?`sap \u2713 ${u.root} \xB7 fields ${u.fields} \xB7 calcs ${u.calcs} \xB7 paints ${u.paints} \xB7 actions ${u.actions} \xB7 lists ${u.lists} \xB7 rows ${u.rows} \xB7 warnings ${u.warnings} \xB7 mount writes ${u.mountWrites} \xB7 ${u.ms}ms`:`sap \u2717 ${u.root} \xB7 errors ${u.errors} \xB7 warnings ${u.warnings} \xB7 ${u.ms}ms`}function a(){for(let f of e.apps()){let u=n(f);f.diag.errors.length||f.halted?console.error(u):console.log(u)}}function l(){let f=[],u=[];for(let c of e.apps())f.push(...c.diag.errors),u.push(...c.diag.warnings);return{ok:f.length===0,errors:f,warnings:u,counts:{errors:f.length,warnings:u.length}}}function o(f){let u=f===void 0?!0:!!f;for(let c of e.apps())c._debug=u;return console.log(`sap debug ${u?"on":"off"} \u2014 per-pass headers will ${u?"":"no longer "}log`),u}return{status:r,report:l,debug:o,greenLine:n,printGreenLines:a,REGISTRY:ke}}var Fn="0.8.0";function Hn({createAccessor:e,installInput:t,debugExtras:r}){let n=new Map,a=[],l=yt(et);function o(y){let v=y;for(;v;){if(v.nodeType===1&&v.hasAttribute&&v.hasAttribute("sap"))return n.get(v)||null;v=v.parentNode&&v.parentNode.host?v.parentNode.host:v.parentElement}return null}function f(){for(let y=a.length-1;y>=0;y--){let v=a[y];v.root.isConnected||(n.delete(v.root),a.splice(y,1))}}function u(y,v){if(y.moveBefore)try{y.moveBefore(v,null);return}catch{}y.appendChild(v)}function c(y,v){let x=v.parentElement;if(x){if(x.moveBefore)try{x.moveBefore(y,v);return}catch{}x.insertBefore(y,v)}}let i={apps:()=>a.slice(),appFor:o,isRegistered:y=>n.has(y),pruneDisconnected:f,schedule:(y,v)=>l.schedule(y,v),runNow:(y,v)=>l.runNow(y,v),moveInto:u,placeBefore:c,remountIfPresent:()=>V()},d=e(i),p=Bn(i),k=r?r(i,p):{},L=!1,_=!1,z=null;function ie(){L||(L=!0,t(i,d,document),z=pn(i))}function le(){let y=T("derived");y&&typeof y.mounted=="function"&&y.mounted()}function V(y=document){if(_)return[];ie(),Ke(i);let v=y.querySelectorAll("[sap]"),x=[];for(let C of v){if(n.has(C))continue;let s=lt(C);n.set(C,s),a.push(s),x.push(s)}for(let C of x){let s=p.greenLine(C);C.diag.errors.length||C.halted?console.error(s):console.log(s)}return le(),x}function se(y){if(_)return null;if(ie(),Ke(i),!y)return V();let v=typeof y=="string"?document.querySelector(y):y;if(!v)return null;if(n.has(v))return n.get(v);let x=lt(v);n.set(v,x),a.push(x);let C=p.greenLine(x);return x.diag.errors.length||x.halted?console.error(C):console.log(C),x}let w=d.Sap;return w.version=Fn,w.refresh=function(){for(let y of a)y.root.isConnected&&l.runNow(y,"refresh")},w.batch=dn,w.status=p.status,w.report=p.report,w.why=k.why,w.debug=p.debug,w.doctor=k.doctor,w.greenLine=p.greenLine,w.formats=Q,w.serializeControlToAttributes=pe,w.finalizeControlForSave=an,w.rehydrateControlFromAttributes=Ie,w.mount=se,w.config=function(y={}){return y.formats&&Object.assign(Q,y.formats),w},w._registry=n,w._reset=function(){n.clear(),a.length=0,Je()},w.unmount=function(){_=!0,n.clear(),a.length=0,Je(),typeof z=="function"&&z()},{Sap:w,mountAll:V,mount:se,runtime:i}}function In(e){if(typeof document>"u")return;let t=()=>fn(()=>e());document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function zn(e){let t=[];function r(u){let c=u.target;if(!c||c.nodeType!==1)return;let i=e.appFor(c);if(i){c.hasAttribute("persist")&&!qe(c)&&me(c)&&pe(c);for(let d of t)if(d(c,i))return;e.schedule(i,u.type+" "+(c.id||c.tagName.toLowerCase()))}}function n(u){let c=u.target,i=e.appFor(c);i&&[...c.querySelectorAll("[bind]")].every(d=>me(d))&&setTimeout(()=>{c.querySelectorAll("[bind]").forEach(d=>{d.dispatchEvent(new Event("input",{bubbles:!0})),d.dispatchEvent(new Event("change",{bubbles:!0}))}),e.schedule(i,"reset")},0)}function a(u){let c=e.appFor(u.target);c&&e.schedule(c,"toggle")}function l(u){let c=u.detail||{};for(let i of[c.from,c.to,u.target]){if(!i||i.nodeType!==1)continue;let d=e.appFor(i);d&&e.schedule(d,"sorted")}}function o(u){if(u.key!=="ArrowUp"&&u.key!=="ArrowDown")return;let c=u.target;if(!c||c.nodeType!==1||c.tagName!=="INPUT"||!c.hasAttribute("bind")||!c.hasAttribute("step"))return;let i=(c.getAttribute("type")||"text").toLowerCase();if(i!=="text"&&i!=="tel"&&i!=="search"||!e.appFor(c)||!me(c))return;u.preventDefault();let d=R(c.getAttribute("step"))||1,p=u.key==="ArrowUp"?1:-1,k=R(c.value)+d*(u.shiftKey?10:1)*p,L=c.getAttribute("min"),_=c.getAttribute("max");L!==null&&L!==""&&k<R(L)&&(k=R(L)),_!==null&&_!==""&&k>R(_)&&(k=R(_)),yn(c).write(String(Number(k.toFixed(2))))}function f(u=document){u.addEventListener("reset",n),u.addEventListener("toggle",a,!0),u.addEventListener("input",r),u.addEventListener("change",r),u.addEventListener("clay:sorted",l),u.addEventListener("keydown",o)}return{install:f,addRouter:u=>t.push(u)}}var X="https://clayjs.com/v1/sap.js",qn=/^(calc|set|move|sort):/,Un=new Set(["each","detail","effect","invalid","confirm","trigger-add","trigger-remove","trigger-reset"]);function we(e){return qn.test(e)||Un.has(e)}Cn((e,t)=>{for(let r of e.attributes)we(r.name)&&t("E50",e,{attr:r.name,expr:r.value,problem:`${r.name} is full sapjs; the sapjs core only paints declared state`,fix:`load ${X}; the markup stays as it is`})});function I(e,t,r){e.app.diag.error("E50",t,{attr:r,problem:`${r} is full sapjs; the sapjs core only paints declared state`,fix:`load ${X}; the markup stays as it is`}),K(t,"E50"),e.app.halted=!0}xn({name:"core-only",collect(e,t,r){r.calcs&&I(e,t,"calc:"+r.calcs[0].name),r.effects&&I(e,t,"effect"),r.invalids&&I(e,t,"invalid");for(let n of t.attributes)we(n.name)&&(n.name.startsWith("calc:")&&r.calcs||n.name==="effect"&&r.effects||n.name==="invalid"&&r.invalids||I(e,t,n.name));return!1},boundary:{each(e,t){I(e,t,"each")},detail(e,t){I(e,t,"detail")}}});function Gn(){return{Sap:function(){throw new Error(`Sap(el) is full sapjs; load ${X}`)}}}var ut=e=>()=>(console.warn(`Sap.${e} is full sapjs; load ${X}`),null),{Sap:Y,mountAll:ct,mount:Xn,runtime:Yn}=Hn({createAccessor:Gn,debugExtras:()=>({why:ut("why"),doctor:ut("doctor")}),installInput(e,t,r){zn(e).install(r)}});Y.core=!0;var Vn=typeof window<"u"&&window.Sap&&!window.Sap.core;Vn?Y.unmount():In(ct),typeof window<"u"&&!window.Sap&&(window.Sap=Y);var Kn=Y;return gt(Ee)})(),Zn=Qn.default;export{Zn as default};
|