@panphora/clayjs 1.26.0 → 1.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +5 -4
- package/dist/m/{c-EQ5NBOGA.js → c-26W3BMWK.js} +1 -1
- package/dist/m/{c-AQVQKFKB.js → c-3JQY5MB2.js} +1 -1
- package/dist/m/{c-MKAUC6DB.js → c-3KG4SDZ5.js} +1 -1
- package/dist/m/{c-HYNM5U6B.js → c-5CJCIAFK.js} +1 -1
- package/dist/m/{c-O3DPFZCE.js → c-6266A3CU.js} +1 -1
- package/dist/m/{c-WOJ2RTV4.js → c-627JDXWT.js} +1 -1
- package/dist/m/{c-MMEVDN6D.js → c-7PZS45FY.js} +1 -1
- package/dist/m/{c-NYJ577NL.js → c-7RJCYD4F.js} +1 -1
- package/dist/m/{c-EHAR4RJJ.js → c-CKG4NF7J.js} +2 -2
- package/dist/m/{c-EXZOA6XY.js → c-E37MV4WS.js} +1 -1
- package/dist/m/{c-N4GEJMXW.js → c-EFXPKDJP.js} +1 -1
- package/dist/m/{c-ZPI7M5U5.js → c-G426P2SE.js} +1 -1
- package/dist/m/{c-BJ2RRQBQ.js → c-GXOUAT7E.js} +1 -1
- package/dist/m/{c-VU4WEWPH.js → c-H25R2UF3.js} +1 -1
- package/dist/m/{c-VO6RSFCO.js → c-HBSBQBD7.js} +1 -1
- package/dist/m/{c-CL5LSATX.js → c-I4ZVJZC7.js} +1 -1
- package/dist/m/{c-67TBU56I.js → c-I62KCFMW.js} +1 -1
- package/dist/m/{c-Y3MPVURA.js → c-IJ4VUYDN.js} +1 -1
- package/dist/m/{c-FC5RUFPR.js → c-IOJOJTPL.js} +1 -1
- package/dist/m/{c-HXGNH6GY.js → c-IPCSVZAB.js} +1 -1
- package/dist/m/c-JEWSJHMK.js +1 -0
- package/dist/m/{c-3F3AADKG.js → c-JOA4OJGK.js} +1 -1
- package/dist/m/{c-GFASNR55.js → c-JUSHNY3I.js} +1 -1
- package/dist/m/{c-7RHOMAMR.js → c-K5HRHUTK.js} +1 -1
- package/dist/m/{c-H3M6UDNV.js → c-KFXW6SZO.js} +1 -1
- package/dist/m/{c-EAV7A6BT.js → c-MB5FZ2PD.js} +1 -1
- package/dist/m/{c-2EPHRF47.js → c-MIQYK2VM.js} +1 -1
- package/dist/m/{c-ARO6CPMA.js → c-O3BSWMVD.js} +1 -1
- package/dist/m/{c-U35T5NAY.js → c-O54PVIAQ.js} +1 -1
- package/dist/m/{c-H4M2T4A6.js → c-OEEJRV2M.js} +1 -1
- package/dist/m/{c-KU3PX7LL.js → c-OSGTRM4C.js} +1 -1
- package/dist/m/{c-YZGWSCMT.js → c-QLGTY326.js} +1 -1
- package/dist/m/{c-WOWGGNCJ.js → c-RC37IFYT.js} +1 -1
- package/dist/m/{c-SMLAJASY.js → c-RHYX6KUH.js} +1 -1
- package/dist/m/{c-RGFPLQGV.js → c-SMCZC3V6.js} +1 -1
- package/dist/m/{c-P73XPAOA.js → c-T6RRRHX7.js} +1 -1
- package/dist/m/{c-3S5TNRZA.js → c-USO6XV23.js} +1 -1
- package/dist/m/{c-ZFAPQQIB.js → c-VPUSMVKE.js} +1 -1
- package/dist/m/{c-YYIN4NAF.js → c-VXJJ7BJL.js} +1 -1
- package/dist/m/{c-EEWPNUM2.js → c-W3DMFFGK.js} +1 -1
- package/dist/m/{c-755ZOHOM.js → c-W5HY5JHM.js} +1 -1
- package/dist/m/{c-C5UGNOC2.js → c-WJVW76R6.js} +1 -1
- package/dist/m/{c-Q2CB57UG.js → c-X3WLDGBX.js} +1 -1
- package/dist/m/{c-SRW5OBCF.js → c-XLVZN7DT.js} +1 -1
- package/dist/m/{c-3WX5FABT.js → c-YIFBOWQE.js} +1 -1
- package/dist/m/{c-34J5HC7N.js → c-YJS2V3MX.js} +1 -1
- package/dist/m/core/{admin-attrs-43JBA6JB.js → admin-attrs-H26XE2AE.js} +1 -1
- package/dist/m/core/{autosave-HD7Y7UNV.js → autosave-U5UIKPM3.js} +1 -1
- package/dist/m/core/{conflict-notice-UNDOD4BL.js → conflict-notice-HTF6CECH.js} +1 -1
- package/dist/m/core/{host-permission-5BYP24GC.js → host-permission-JHMPKRPO.js} +1 -1
- package/dist/m/core/{is-edit-mode-73OXKK5H.js → is-edit-mode-QBJUFMVF.js} +1 -1
- package/dist/m/core/{persist-MX3VYVBN.js → persist-TRXZPS6T.js} +1 -1
- package/dist/m/core/{recovery-VZF7RJZF.js → recovery-YJS7CI66.js} +1 -1
- package/dist/m/core/{save-JZ7R4ET2.js → save-KY3ZMPU4.js} +1 -1
- package/dist/m/core/{save-core-I4N6S4ED.js → save-core-LBW6DNJ6.js} +1 -1
- package/dist/m/core/{site-edits-C22O53GS.js → site-edits-M44KWAQN.js} +1 -1
- package/dist/m/core/{unsaved-warning-BP6ZY3PG.js → unsaved-warning-2X7NJNHZ.js} +1 -1
- package/dist/m/internals/{index-3LAVREAU.js → index-CDXUFQZK.js} +1 -1
- package/dist/m/{loader-DCKCZKY6.js → loader-CRCEH7TD.js} +1 -1
- package/dist/m/manifest-6D031725.js +1 -0
- package/dist/m/{manifest-edit-93AA79D7.js → manifest-edit-A75598BC.js} +1 -1
- package/dist/m/manifest.json +593 -593
- package/dist/m/plugins/{ai-edit-WDV2GLDU.js → ai-edit-T2SM7TRD.js} +1 -1
- package/dist/m/plugins/{demo-LMCMBILC.js → demo-57MJ3GOO.js} +1 -1
- package/dist/m/plugins/{derive-R4USHZ7P.js → derive-TRMYDN7J.js} +1 -1
- package/dist/m/plugins/{indicator-OLPZ4WFI.js → indicator-D5PZJGVS.js} +1 -1
- package/dist/m/plugins/{live-DF5YS5AH.js → live-J52JO243.js} +1 -1
- package/dist/m/plugins/{menu-ESEFQARM.js → menu-KCCEDUMJ.js} +1 -1
- package/dist/m/plugins/{page-GZSU77JS.js → page-F7JG3JZX.js} +2 -2
- package/dist/m/plugins/{page-view-7MM3FEAR.js → page-view-QPRXXAT3.js} +1 -1
- package/dist/m/plugins/{people-EBWE337I.js → people-FEMXINJK.js} +1 -1
- package/dist/m/plugins/{richclay-MXH2GFAZ.js → richclay-XL64ZGOZ.js} +2 -2
- package/dist/m/plugins/{sortable-BAG3MSWS.js → sortable-HE7Q4KKP.js} +1 -1
- package/dist/m/plugins/{source-OYHDXKTB.js → source-5RTLTD75.js} +1 -1
- package/dist/m/plugins/{undo-KLHAGV75.js → undo-5MFW3OD5.js} +1 -1
- package/dist/m/plugins/{upgrade-SZQJYEQQ.js → upgrade-ORK24FK6.js} +1 -1
- package/dist/m/plugins/{upload-NZET3DNQ.js → upload-YMBDWTLR.js} +1 -1
- package/dist/m/plugins/{visitor-drafts-ZE6PCAFP.js → visitor-drafts-DCVGLCBX.js} +2 -2
- package/dist/m/plugins/{visitor-drafts-owner-TLECTYWS.js → visitor-drafts-owner-QLF6IALP.js} +1 -1
- package/dist/m/plugins/{visitor-menu-5XY57JQA.js → visitor-menu-VNWJZ6PV.js} +1 -1
- package/dist/m/plugins/{wire-S5ATC4QI.js → wire-I3TDGBGZ.js} +1 -1
- package/dist/m/{reader-core-AHOAP5DH.js → reader-core-7JOVUCEQ.js} +2 -2
- package/dist/m/sync/{live-sync-RZQSDMZW.js → live-sync-2UYQQSD7.js} +1 -1
- package/dist/m/vendor/{sap-core.vendor-5TWOJYVM.js → sap-core.vendor-UYOHDPAV.js} +1 -1
- package/dist/offline-manifest.json +388 -388
- package/entries/sap.js +1 -1
- package/package.json +1 -1
- package/src/core/mode-receipt.js +7 -5
- package/src/vendor/sap-core.vendor.js +1 -1
- package/dist/m/c-C7SUMNMI.js +0 -1
- package/dist/m/manifest-7954CBE3.js +0 -1
- /package/dist/m/plugins/{richclay-MXH2GFAZ.js.LEGAL.txt → richclay-XL64ZGOZ.js.LEGAL.txt} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as he,b as me,c as ye}from"../c-Y6F2FORL.js";import{a as pe,b as F,c as ut}from"../c-Y6HH7LTM.js";import{a as ge,b as we,c as ve,d as be}from"../c-OKEGUICD.js";import{b as fe}from"../c-QY7F6EN6.js";import{a as de}from"../c-FC5RUFPR.js";import"../c-4ASQPRQL.js";import"../c-GQ6F6IDK.js";import"../c-I2SCCUEW.js";import"../c-5VYOWDTI.js";import"../c-P73XPAOA.js";import"../c-ZPI7M5U5.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-MZCOGNZL.js";import"../c-EHAR4RJJ.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-KU3PX7LL.js";import"../c-EQ5NBOGA.js";import"../c-IJUK2GPW.js";import{b as le,f as ue,h as Nt}from"../c-C7SUMNMI.js";import{d as oe}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as vt,g as bt,h as ae,j as ie,l as rt,m as se,n as ce}from"../c-U4TWEIKZ.js";import"../c-UW6MMZ4V.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var xe="clay:visitor-drafts:",ke=1,Se=32,er=512*1024,rr=16*1024*1024,nr=()=>Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6);function Ae(t){let r=2166136261;for(let n=0;n<t.length;n++)r=Math.imul(r^t.charCodeAt(n),16777619);return(r>>>0).toString(36)+"."+t.length.toString(36)}function Z(t=window.location.pathname){let n=String(t||"/").replace(/\/{2,}/g,"/").match(/^(.*?\/[^/]+\.(?:html|htmlclay))(?:\/|$)/i),c=n?n[1]:"/";return c.toLowerCase()==="/index.html"?"/":c}var Ut=t=>xe+t,Te=(t,r=Z())=>`${xe}${t}@${r}`;function Ot(){try{return window.localStorage}catch{return null}}var D=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);function or(t){let r=[];for(let n of t.matchAll(/([^.[\]]+)|\[(\d+)\]/g))r.push(n[2]!==void 0?Number(n[2]):n[1]);return r}function ar(t,r){let n=or(r),c=t;for(let i=0;i<n.length-1;i++)if(c=c?.[n[i]],c==null||typeof c!="object")return;c&&typeof c=="object"&&delete c[n[n.length-1]]}function _(t,r){return Array.isArray(t)?Array.isArray(r)&&r.length===t.length&&t.every((n,c)=>_(n,r[c])):D(t)?D(r)&&Object.keys(t).every(n=>_(t[n],r[n])):t===r}function z(t,r){return _(t,r)&&_(r,t)}var Me='script[type="application/json"][merge][clay~="live"]',Pt="article[data-blockeditor]",ir="[onbeforesave], [onbeforesnapshot]",Ee=t=>t==="blockeditor"||/^blockeditor\.\d+$/.test(t),Rt=t=>JSON.stringify(Object.keys(t).sort().map(r=>[r,t[r]]));function dt(t){let r=t.querySelectorAll(Pt);if(r.length!==1)return null;let n={};for(let c of t.querySelectorAll(Me))try{n[c.getAttribute("merge")]=JSON.parse(c.textContent)}catch{return null}return{live:n,blockeditor:{rev:r[0].getAttribute("data-rev")||"",html:r[0].innerHTML}}}var W=(t,r)=>!t||!r?t===r:t.blockeditor.rev===r.blockeditor.rev&&Rt(t.live)===Rt(r.live),Oe=t=>D(t?.live)&&D(t?.blockeditor)?`${t.blockeditor.rev}:${Ae(Rt(t.live))}`:null;function kt(t){if(!D(t?.live)||!D(t?.blockeditor))return null;let{live:r,blockeditor:n}=t;return!Object.keys(r).length||typeof n.rev!="string"||typeof n.html!="string"?null:{live:r,blockeditor:n}}var nt=t=>Array.isArray(t)&&t.every(r=>D(r)&&(typeof r.id=="string"||typeof r.id=="number"))&&new Set(t.map(r=>r.id)).size===t.length;function ft(t,r,n=!1){if(D(t)&&D(r)){let c={...t};for(let i of Object.keys(r))i in t?c[i]=ft(t[i],r[i]):n||(c[i]=r[i]);return c}if(nt(t)&&nt(r)){let c=new Map(r.map(i=>[i.id,i]));return t.map(i=>c.has(i.id)?ft(i,c.get(i.id)):i)}return t}var Ie=(t,r)=>t.length===r.length&&t.every((n,c)=>n===r[c]);function sr(t,r,n){let c=u=>new Map(u.map(d=>[d.id,d])),i=c(t),v=c(r),k=c(n),l=u=>u.filter(d=>i.has(d.id)&&v.has(d.id)&&k.has(d.id)).map(d=>d.id),x=l(t);if(!Ie(x,l(r))||!Ie(x,l(n)))return null;for(let[u,d]of i)if(v.has(u)&&!k.has(u)&&!z(v.get(u),d)||!v.has(u)&&k.has(u)&&!z(k.get(u),d))return null;let m=!1,a=[];for(let u of r){if(i.has(u.id)&&!k.has(u.id))continue;if(!k.has(u.id)){a.push(u);continue}let d=St(i.get(u.id),u,k.get(u.id),!0);m||=d.conflict,a.push(d.value)}return n.forEach((u,d)=>{if(i.has(u.id)||v.has(u.id))return;let A=0;for(let g=d-1;g>=0;g--){let j=a.findIndex(E=>E.id===n[g].id);if(j!==-1){A=j+1;break}}a.splice(A,0,u)}),{value:a,conflict:m}}function St(t,r,n,c){if(z(r,n)||z(n,t))return{value:r,conflict:!1};if(z(r,t))return{value:n,conflict:!1};if(D(r)&&D(n)){let i={},v=!1;for(let k of new Set([...Object.keys(r),...Object.keys(n)])){let l=St(D(t)?t[k]:void 0,r[k],n[k],c);v||=l.conflict,l.value!==void 0&&(i[k]=l.value)}return{value:i,conflict:v}}if(c&&nt(t)&&nt(r)&&nt(n)){let i=sr(t,r,n);if(i)return i}return{value:r,conflict:!0}}function Et(t,r=new Map){if(Array.isArray(t)){if(nt(t))for(let n of t)r.set(n.id,(r.get(n.id)||0)+1);for(let n of t)Et(n,r)}else if(D(t))for(let n of Object.values(t))Et(n,r);return r}function Le(t,r,n){let c=St(t,r,n,!0),i=Et(r);for(let[v,k]of Et(c.value))if(k>1&&k>(i.get(v)||0))return St(t,r,n,!1);return c}function B(t,r){rt(!0),t.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:r}}));let n=new Error("Couldn't save in this browser. Storage is full or turned off.");return n.code="draft-storage",n}var De=t=>{try{return String(JSON.parse(t)?.savedAt??"")}catch{return""}};function je(t,{path:r=Z(),storage:n=Ot()}={}){let c=Ut(t),i=Te(t,r),v=i+":legacy";try{let k=n?.getItem(i),l=n?.getItem(c);if(l==null){let u=n?.getItem(c+":ui");return u!=null&&n.getItem(i+":ui")==null&&n.getItem(i+":ui-legacy")==null&&(n.setItem(i+":ui",u),n.setItem(i+":ui-legacy","1")),"none"}let x=De(l),m=n.getItem(v);if(m===x)return"none";let a=n.getItem(i);if(a!==k)return"none";if(a==null||m!=null&&De(a)===m?n.setItem(i,l):a!==l&&(n.setItem(i+":conflict",l),console.warn("visitor-drafts: an older tab changed this draft after it moved; its copy was kept under",i+":conflict")),m==null){let u=n.getItem(c+":ui");u!=null&&n.getItem(i+":ui")==null&&n.setItem(i+":ui",u)}return n.setItem(v,x),"copied"}catch{return"failed"}}function cr(t){if(!D(t)||!("site"in t))return t;let{site:r,...n}=t;return n}function Ce({doc:t=document,storage:r=Ot(),gate:n=bt,now:c=()=>new Date,path:i=Z(),fallback:v=null,slotLimit:k=er,pendingLimit:l=rr}={}){let x=vt(t),m=Te(x,i),a=cr(pe.findRulesIn(t,"api").rules),u=null,d=null,A=null,g=null,j=!0,E=null,L=!1,U=null,$,T=null,M=null,Y=()=>{$===void 0&&($=dt(t))};function X(e){return e?(Y(),$?e.blockeditor.rev!==$.blockeditor.rev||Object.keys(e.live).some(s=>!Ee(s)&&JSON.stringify(e.live[s])!==JSON.stringify($.live[s]))||T||M?e:null:e):null}function Q(e){if(t.querySelector(Pt)||t.readyState!=="loading")return e();t.addEventListener("DOMContentLoaded",e,{once:!0})}function ot(e){Y();let o=t.querySelector(Pt);if(!o)return!1;let s=new Map([...t.querySelectorAll(Me)].map(h=>[h.getAttribute("merge"),h]));for(let[h,w]of s)Ee(h)&&!(h in e.live)&&w.remove();for(let[h,w]of Object.entries(e.live)){let S=s.get(h);S||(S=t.createElement("script"),S.setAttribute("type","application/json"),S.setAttribute("merge",h),S.setAttribute("clay","live"),o.parentNode.insertBefore(S,o)),S.textContent=JSON.stringify(w).replace(/</g,"\\u003c")}return!0}let R=nr,at=m+":reset";function it(){try{return"root:"+(r?.getItem(at)??"")}catch{return"root:"}}let mt=e=>"legacy:"+Ae(e);function Dt(e,o){return e?e.id?Array.isArray(e.ancestry)?[e.id,...e.ancestry].slice(0,Se):null:[mt(o)]:null}function yt(e){if(!U||U.raw!==u||!U.ancestry||!e?.id||e.id===U.id)return!1;let o=e.ancestry;return!Array.isArray(o)||o.includes(U.id)?!1:o.includes(U.ancestry[0])||o.length>=Se}function f(){try{if(!r)return null;let e=r.getItem(m);return e==null&&v?r.getItem(v):e}catch{return null}}function O(e){try{let o=JSON.parse(e);if(D(o)&&o.v===ke&&D(o.data))return o}catch{}return null}function I(){let e=f();return e==null?null:{raw:e,record:O(e)}}function H(){return F(t,a)}function Ke(){let e=window.clay?.getHTML;return typeof e!="function"?H():F(new DOMParser().parseFromString(e.call(window.clay),"text/html"),a)}function Bt(){try{if(typeof r.keys=="function")return r.keys();let e=[];for(let o=0;o<r.length;o++)e.push(r.key(o));return e}catch{return[]}}function Be(){try{return JSON.stringify(Ke())}catch{return null}}function tt(e,{keepSlot:o=!1}={}){let s=Bt().find(w=>w.startsWith(m+":unreadable:")&&r.getItem(w)===e);if(s){if(E=null,!o)try{r.removeItem(m)}catch{}return s}let h=m+":unreadable:"+c().toISOString();try{r.setItem(h,e)}catch{return E=e,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(E=null,!o)try{r.removeItem(m)}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",h),h}function $t(e){let o=ft(JSON.parse(JSON.stringify(e)),H(),!0),s=[];for(let h=0;h<4;h++){let w=t.cloneNode(!0);try{ut(w,o,a)}catch(C){let et=C?.details?.unknownKeys??C?.unknownKeys;if(Array.isArray(et)&&et.length){for(let q of et)ar(o,q);continue}let ct=Object.keys(o).filter(q=>{try{return ut(t.cloneNode(!0),{[q]:o[q]},a),!1}catch{return!0}});if(!ct.length)return null;for(let q of ct)delete o[q];s.push(...ct);continue}let S=F(w,a),b=Object.keys(o).filter(C=>!_(o[C],S[C]));if(!b.length)return{data:o,dropped:s};for(let C of b)delete o[C];s.push(...b)}return null}function xt({raw:e,record:o}){let s=tt(e);return s||(u=e),d=H(),g=o?.data??d,s?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}let Jt=()=>A??=H();function $e(e=I()){if(Jt(),!e)return d=g=A,Q(Y),{restored:!1,hadDraft:!1};if(j=!1,!e.record)return xt(e);let o=kt(e.record),s=Object.keys(e.record.data).length>0,h=s?$t(e.record.data):{data:{},dropped:[]},w=!!h&&(!s||Object.keys(h.data).length>0);if(!o&&!w||!o&&!s)return xt(e);if(s&&w&&ut(t,h.data,a),o&&(Q(()=>{ot(o)||(console.warn("visitor-drafts: this browser's saved page has no page to go into; it was kept aside"),tt(e.raw,{keepSlot:!0}))}),T=o,M=o),u=e.raw,d=H(),g=e.record.data,!w||h.dropped.length){let S=tt(e.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:w?h.data:{},partial:!0,parked:!!S,blocked:!S}}return{restored:!0,hadDraft:!0,data:h.data}}function st(){if(L)return!1;try{let e=window.clay?.getHTML;if(typeof e!="function")return!_(H(),d);let o=new DOMParser().parseFromString(e.call(window.clay),"text/html"),s=X(dt(o));return!_(F(o,a),d)||!W(s,T)&&!W(s,M)}catch{return!0}}function Ft(e){let o=m+":conflict";try{r.setItem(o,e)}catch(s){throw B(t,s)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",o)}function Je(e){let o=f(),s=o==null?null:O(o);if(!s)return{data:e,stored:null,ancestry:[it()],parentData:d};let h=e;if(o!==u){let w=Le(yt(s)?U.parentData:d,e,s.data);w.conflict&&Ft(o),h=w.value}return h=ft(h,s.data),{data:h,stored:z(h,s.data)?o:null,ancestry:Dt(s,o),parentData:s.data}}function At(e){let o=$t(e);if(!o||!Object.keys(o.data).length)return null;ut(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 p={id:R(),reset:"",acked:0,seq:0,journaled:0,ops:[],sizes:[]};try{p.reset=r?.getItem(at)??""}catch{}try{let e=JSON.parse(window.sessionStorage.getItem(m+":generation"));e?.marker===p.reset&&typeof e.reset=="string"&&(p.reset=e.reset)}catch{}let Tt=`${m}:op:${p.id}`,zt=()=>({tab:p.id,reset:p.reset,acked:p.acked,at:c().getTime(),ops:p.ops});function Mt(){try{if(!p.ops.length){p.journaled=p.seq,r.removeItem(Tt);return}let e=JSON.stringify(zt());if(e.length>k)return;r.setItem(Tt,e),p.journaled=p.seq}catch{}}let Vt=null,gt=null,Wt=e=>e===void 0?t:new DOMParser().parseFromString(e,"text/html");function Zt(e,{reset:o=p.reset,at:s=null}={}){if(L)return null;let h=Wt(e),w=Yt(F(h,a),X(dt(h)),o);return gt=s,w}function Gt(e=p.reset){if(L)return null;let o=n()?.token()??null;return Zt(window.clay.getHTML(),{reset:e,at:o})}function Fe(e=p.reset){if(L)return null;let o=gt!==null&&t.querySelector(ir)!==null&&n()?.unchangedSince(gt)===!0,s=Wt(window.clay?.getHTML?.());return Yt(o?d:F(s,a),X(dt(s)),e)}function Yt(e,o,s=p.reset){if(E!=null&&tt(E,{keepSlot:!0})===null)throw B(t,new Error("an earlier saved copy could not be kept aside"));if(p.sizes.reduce((b,C)=>b+C,0)>=l)throw B(t,new Error("too many changes are waiting to be saved"));let h=!W(o,T),w={};for(let b of Object.keys(e))b in d&&_(e[b],d[b])||(w[b]=b in g?{b:g[b],m:ft(e[b],g[b])}:{m:e[b]});if(!Object.keys(w).length&&!h)return p.ops.length||(rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:e,unchanged:!0}}))),null;p.ops.length||(Vt={base:d,editorUnit:T,seenUnit:M});let S={seq:++p.seq,savedAt:c().toISOString(),keys:w,...h&&{unit:{seen:Oe(M),to:o}}};d={...d},g={...g};for(let b of Object.keys(w))d[b]=e[b],g[b]=w[b].m;return h&&(T=M=o),j=!1,p.reset=s,p.ops.push(S),p.sizes.push(JSON.stringify(S).length),Mt(),S}function ze(){if(L)return!0;try{st()&&Gt()}catch{return!1}return p.journaled===p.seq}function Ve(e){if(e<=p.acked)return!1;p.acked=e;let o=p.ops.filter(s=>s.seq<=e).length;return p.ops.splice(0,o),p.sizes.splice(0,o),Mt(),o>0}function Xt(){p.ops.length=0,p.sizes.length=0,Mt()}function We(){p.ops.length&&({base:d,editorUnit:T,seenUnit:M}=Vt),gt=null,Xt()}function Ze(e){let o=Object.fromEntries(Object.entries(e).filter(([h,w])=>!z(w,g[h])));if(!Object.keys(o).length)return!1;let s=At(o);return g={...g,...o},s&&(d={...d,...s}),j=!1,!0}function Qt({keepPending:e=!1}={}){L=!0,e||Xt()}let te=()=>Bt().filter(e=>e.startsWith(m+":op:"));function ee(e){if(L)return null;if(E!=null&&tt(E,{keepSlot:!0})===null)throw B(t,new Error("an earlier saved copy could not be kept aside"));let o=new DOMParser().parseFromString(e,"text/html"),s=F(o,a),h=X(dt(o)),w=!W(h,T),S=f();if(_(s,d)&&!w&&(S===u||S==null))return rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:s,unchanged:!0}})),s;let{data:b,stored:C,ancestry:et,parentData:ct}=Je(s),q=S==null?null:O(S),Ct=kt(q),lt=w?h:q?Ct:h;w&&q&&!W(Ct,M)&&Ft(S);let re=R(),wt=C&&W(lt,Ct)?C:JSON.stringify({v:ke,savedAt:c().toISOString(),id:re,ancestry:et,reset:p.reset,data:b,...lt&&{live:lt.live,blockeditor:lt.blockeditor}});if(wt!==C){try{if(!r)throw new Error("no storage");r.setItem(m,wt)}catch(V){throw B(t,V)}U={id:re,ancestry:et,parentData:ct,raw:wt}}let ne=Object.keys(s).filter(V=>!_(s[V],b[V]));return ne.length&&At(Object.fromEntries(ne.map(V=>[V,b[V]]))),u=wt,d=b,w&&(T=h),(w||!q)&&(M=lt),rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:b}})),b}function jt(){try{return ee(window.clay.getHTML()),!0}catch{return!1}}function Ge(){return L||!st()?!0:jt()}function Ye(){if(L)return!1;let e=f();if(e==null&&u!=null&&!st())return L=!0,window.location.reload(),!0;if(e==null||e===u||st())return!1;let o=O(e);if(yt(o)&&typeof window.clay?.getHTML=="function")return jt();let s=o&&At(o.data);return!s&&!kt(o)?!1:(u=e,d={...d,...s||{}},!0)}function Xe(e){if(L)return null;if(e===void 0){let s=f();e=s==null?null:O(s)}let o=kt(e);return o&&!W(o,M)?o:null}function Qe(e){M=e}function tr(){Qt(),E=null,rt(!1);try{r.removeItem(m)}catch{}let e=/^(\d+)~/.exec(p.reset),o=e?Number(e[1]):p.reset===""?1:null;try{r.setItem(at,o===null?R():`${o+1}~${R()}`)}catch{}}return{slot:x,key:m,rules:a,read:I,restore:$e,write:ee,writeLive:jt,flush:Ge,changed:st,adoptExternal:Ye,externalUnit:Xe,adoptedUnit:Qe,park:tt,clear:tr,snapshot:Be,tab:p.id,slotKey:Tt,chain:zt,capture:Zt,captureNow:Gt,captureLate:Fe,keep:ze,acknowledge:Ve,release:We,take:Ze,stop:Qt,journalSlots:te,seed:Jt,servedUnit:()=>(Y(),$),fitsInto:_,same:z,merge3:Le,unitMark:Oe,newId:R,failed:e=>B(t,e),generation:()=>p.reset,enter:e=>{p.reset=e},fresh:()=>j,shown:()=>d!==null,pending:()=>p.ops.length,unsafe:()=>p.journaled<p.seq,stopped:()=>L,held(){try{let e=JSON.parse(f());return D(e)?e:null}catch{return null}},kept:()=>!!I()||p.ops.length>0||te().length>0}}function Ne(t,r){let n=`${t}:ui`,c=()=>({v:1,prompt:{},intro:{done:null},src:null}),i=c();try{let v=JSON.parse(r?.getItem(n)||"null");v&&typeof v=="object"&&v.v===1&&(i={...c(),...v})}catch{}return{get:()=>i,save(){try{r?.setItem(n,JSON.stringify(i))}catch{}},reset(){i=c();try{r?.removeItem(n)}catch{}}}}var lr=/^[a-z0-9][a-z0-9-]{0,39}$/;function Pe(t,r=window.location.search){let n=t.get(),c=null;try{c=new URLSearchParams(r).get("src")}catch{}return!n.src&&c&&lr.test(c)&&(n.src=c,t.save()),n.src}function Re(t,r=window.location){let n=Z(r.pathname);return`/_/download${n==="/"?"":n}?as=htmlclay${t?`&src=${encodeURIComponent(t)}`:""}`}var ur=`<aside class="hcp" id="hcp" hidden aria-label="Download this app" data-hcp-state="tab" data-hcp-reason="open" sap-ignore clay="editor-ui">
|
|
1
|
+
import{a as he,b as me,c as ye}from"../c-Y6F2FORL.js";import{a as pe,b as F,c as ut}from"../c-Y6HH7LTM.js";import{a as ge,b as we,c as ve,d as be}from"../c-OKEGUICD.js";import{b as fe}from"../c-QY7F6EN6.js";import{a as de}from"../c-IOJOJTPL.js";import"../c-4ASQPRQL.js";import"../c-GQ6F6IDK.js";import"../c-I2SCCUEW.js";import"../c-5VYOWDTI.js";import"../c-T6RRRHX7.js";import"../c-G426P2SE.js";import"../c-WYFDLITL.js";import"../c-UGHH4MB3.js";import"../c-MZCOGNZL.js";import"../c-CKG4NF7J.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-OSGTRM4C.js";import"../c-26W3BMWK.js";import"../c-IJUK2GPW.js";import{b as le,f as ue,h as Nt}from"../c-JEWSJHMK.js";import{d as oe}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as vt,g as bt,h as ae,j as ie,l as rt,m as se,n as ce}from"../c-U4TWEIKZ.js";import"../c-UW6MMZ4V.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var xe="clay:visitor-drafts:",ke=1,Se=32,er=512*1024,rr=16*1024*1024,nr=()=>Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6);function Ae(t){let r=2166136261;for(let n=0;n<t.length;n++)r=Math.imul(r^t.charCodeAt(n),16777619);return(r>>>0).toString(36)+"."+t.length.toString(36)}function Z(t=window.location.pathname){let n=String(t||"/").replace(/\/{2,}/g,"/").match(/^(.*?\/[^/]+\.(?:html|htmlclay))(?:\/|$)/i),c=n?n[1]:"/";return c.toLowerCase()==="/index.html"?"/":c}var Ut=t=>xe+t,Te=(t,r=Z())=>`${xe}${t}@${r}`;function Ot(){try{return window.localStorage}catch{return null}}var D=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);function or(t){let r=[];for(let n of t.matchAll(/([^.[\]]+)|\[(\d+)\]/g))r.push(n[2]!==void 0?Number(n[2]):n[1]);return r}function ar(t,r){let n=or(r),c=t;for(let i=0;i<n.length-1;i++)if(c=c?.[n[i]],c==null||typeof c!="object")return;c&&typeof c=="object"&&delete c[n[n.length-1]]}function _(t,r){return Array.isArray(t)?Array.isArray(r)&&r.length===t.length&&t.every((n,c)=>_(n,r[c])):D(t)?D(r)&&Object.keys(t).every(n=>_(t[n],r[n])):t===r}function z(t,r){return _(t,r)&&_(r,t)}var Me='script[type="application/json"][merge][clay~="live"]',Pt="article[data-blockeditor]",ir="[onbeforesave], [onbeforesnapshot]",Ee=t=>t==="blockeditor"||/^blockeditor\.\d+$/.test(t),Rt=t=>JSON.stringify(Object.keys(t).sort().map(r=>[r,t[r]]));function dt(t){let r=t.querySelectorAll(Pt);if(r.length!==1)return null;let n={};for(let c of t.querySelectorAll(Me))try{n[c.getAttribute("merge")]=JSON.parse(c.textContent)}catch{return null}return{live:n,blockeditor:{rev:r[0].getAttribute("data-rev")||"",html:r[0].innerHTML}}}var W=(t,r)=>!t||!r?t===r:t.blockeditor.rev===r.blockeditor.rev&&Rt(t.live)===Rt(r.live),Oe=t=>D(t?.live)&&D(t?.blockeditor)?`${t.blockeditor.rev}:${Ae(Rt(t.live))}`:null;function kt(t){if(!D(t?.live)||!D(t?.blockeditor))return null;let{live:r,blockeditor:n}=t;return!Object.keys(r).length||typeof n.rev!="string"||typeof n.html!="string"?null:{live:r,blockeditor:n}}var nt=t=>Array.isArray(t)&&t.every(r=>D(r)&&(typeof r.id=="string"||typeof r.id=="number"))&&new Set(t.map(r=>r.id)).size===t.length;function ft(t,r,n=!1){if(D(t)&&D(r)){let c={...t};for(let i of Object.keys(r))i in t?c[i]=ft(t[i],r[i]):n||(c[i]=r[i]);return c}if(nt(t)&&nt(r)){let c=new Map(r.map(i=>[i.id,i]));return t.map(i=>c.has(i.id)?ft(i,c.get(i.id)):i)}return t}var Ie=(t,r)=>t.length===r.length&&t.every((n,c)=>n===r[c]);function sr(t,r,n){let c=u=>new Map(u.map(d=>[d.id,d])),i=c(t),v=c(r),k=c(n),l=u=>u.filter(d=>i.has(d.id)&&v.has(d.id)&&k.has(d.id)).map(d=>d.id),x=l(t);if(!Ie(x,l(r))||!Ie(x,l(n)))return null;for(let[u,d]of i)if(v.has(u)&&!k.has(u)&&!z(v.get(u),d)||!v.has(u)&&k.has(u)&&!z(k.get(u),d))return null;let m=!1,a=[];for(let u of r){if(i.has(u.id)&&!k.has(u.id))continue;if(!k.has(u.id)){a.push(u);continue}let d=St(i.get(u.id),u,k.get(u.id),!0);m||=d.conflict,a.push(d.value)}return n.forEach((u,d)=>{if(i.has(u.id)||v.has(u.id))return;let A=0;for(let g=d-1;g>=0;g--){let j=a.findIndex(E=>E.id===n[g].id);if(j!==-1){A=j+1;break}}a.splice(A,0,u)}),{value:a,conflict:m}}function St(t,r,n,c){if(z(r,n)||z(n,t))return{value:r,conflict:!1};if(z(r,t))return{value:n,conflict:!1};if(D(r)&&D(n)){let i={},v=!1;for(let k of new Set([...Object.keys(r),...Object.keys(n)])){let l=St(D(t)?t[k]:void 0,r[k],n[k],c);v||=l.conflict,l.value!==void 0&&(i[k]=l.value)}return{value:i,conflict:v}}if(c&&nt(t)&&nt(r)&&nt(n)){let i=sr(t,r,n);if(i)return i}return{value:r,conflict:!0}}function Et(t,r=new Map){if(Array.isArray(t)){if(nt(t))for(let n of t)r.set(n.id,(r.get(n.id)||0)+1);for(let n of t)Et(n,r)}else if(D(t))for(let n of Object.values(t))Et(n,r);return r}function Le(t,r,n){let c=St(t,r,n,!0),i=Et(r);for(let[v,k]of Et(c.value))if(k>1&&k>(i.get(v)||0))return St(t,r,n,!1);return c}function B(t,r){rt(!0),t.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:r}}));let n=new Error("Couldn't save in this browser. Storage is full or turned off.");return n.code="draft-storage",n}var De=t=>{try{return String(JSON.parse(t)?.savedAt??"")}catch{return""}};function je(t,{path:r=Z(),storage:n=Ot()}={}){let c=Ut(t),i=Te(t,r),v=i+":legacy";try{let k=n?.getItem(i),l=n?.getItem(c);if(l==null){let u=n?.getItem(c+":ui");return u!=null&&n.getItem(i+":ui")==null&&n.getItem(i+":ui-legacy")==null&&(n.setItem(i+":ui",u),n.setItem(i+":ui-legacy","1")),"none"}let x=De(l),m=n.getItem(v);if(m===x)return"none";let a=n.getItem(i);if(a!==k)return"none";if(a==null||m!=null&&De(a)===m?n.setItem(i,l):a!==l&&(n.setItem(i+":conflict",l),console.warn("visitor-drafts: an older tab changed this draft after it moved; its copy was kept under",i+":conflict")),m==null){let u=n.getItem(c+":ui");u!=null&&n.getItem(i+":ui")==null&&n.setItem(i+":ui",u)}return n.setItem(v,x),"copied"}catch{return"failed"}}function cr(t){if(!D(t)||!("site"in t))return t;let{site:r,...n}=t;return n}function Ce({doc:t=document,storage:r=Ot(),gate:n=bt,now:c=()=>new Date,path:i=Z(),fallback:v=null,slotLimit:k=er,pendingLimit:l=rr}={}){let x=vt(t),m=Te(x,i),a=cr(pe.findRulesIn(t,"api").rules),u=null,d=null,A=null,g=null,j=!0,E=null,L=!1,U=null,$,T=null,M=null,Y=()=>{$===void 0&&($=dt(t))};function X(e){return e?(Y(),$?e.blockeditor.rev!==$.blockeditor.rev||Object.keys(e.live).some(s=>!Ee(s)&&JSON.stringify(e.live[s])!==JSON.stringify($.live[s]))||T||M?e:null:e):null}function Q(e){if(t.querySelector(Pt)||t.readyState!=="loading")return e();t.addEventListener("DOMContentLoaded",e,{once:!0})}function ot(e){Y();let o=t.querySelector(Pt);if(!o)return!1;let s=new Map([...t.querySelectorAll(Me)].map(h=>[h.getAttribute("merge"),h]));for(let[h,w]of s)Ee(h)&&!(h in e.live)&&w.remove();for(let[h,w]of Object.entries(e.live)){let S=s.get(h);S||(S=t.createElement("script"),S.setAttribute("type","application/json"),S.setAttribute("merge",h),S.setAttribute("clay","live"),o.parentNode.insertBefore(S,o)),S.textContent=JSON.stringify(w).replace(/</g,"\\u003c")}return!0}let R=nr,at=m+":reset";function it(){try{return"root:"+(r?.getItem(at)??"")}catch{return"root:"}}let mt=e=>"legacy:"+Ae(e);function Dt(e,o){return e?e.id?Array.isArray(e.ancestry)?[e.id,...e.ancestry].slice(0,Se):null:[mt(o)]:null}function yt(e){if(!U||U.raw!==u||!U.ancestry||!e?.id||e.id===U.id)return!1;let o=e.ancestry;return!Array.isArray(o)||o.includes(U.id)?!1:o.includes(U.ancestry[0])||o.length>=Se}function f(){try{if(!r)return null;let e=r.getItem(m);return e==null&&v?r.getItem(v):e}catch{return null}}function O(e){try{let o=JSON.parse(e);if(D(o)&&o.v===ke&&D(o.data))return o}catch{}return null}function I(){let e=f();return e==null?null:{raw:e,record:O(e)}}function H(){return F(t,a)}function Ke(){let e=window.clay?.getHTML;return typeof e!="function"?H():F(new DOMParser().parseFromString(e.call(window.clay),"text/html"),a)}function Bt(){try{if(typeof r.keys=="function")return r.keys();let e=[];for(let o=0;o<r.length;o++)e.push(r.key(o));return e}catch{return[]}}function Be(){try{return JSON.stringify(Ke())}catch{return null}}function tt(e,{keepSlot:o=!1}={}){let s=Bt().find(w=>w.startsWith(m+":unreadable:")&&r.getItem(w)===e);if(s){if(E=null,!o)try{r.removeItem(m)}catch{}return s}let h=m+":unreadable:"+c().toISOString();try{r.setItem(h,e)}catch{return E=e,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(E=null,!o)try{r.removeItem(m)}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",h),h}function $t(e){let o=ft(JSON.parse(JSON.stringify(e)),H(),!0),s=[];for(let h=0;h<4;h++){let w=t.cloneNode(!0);try{ut(w,o,a)}catch(C){let et=C?.details?.unknownKeys??C?.unknownKeys;if(Array.isArray(et)&&et.length){for(let q of et)ar(o,q);continue}let ct=Object.keys(o).filter(q=>{try{return ut(t.cloneNode(!0),{[q]:o[q]},a),!1}catch{return!0}});if(!ct.length)return null;for(let q of ct)delete o[q];s.push(...ct);continue}let S=F(w,a),b=Object.keys(o).filter(C=>!_(o[C],S[C]));if(!b.length)return{data:o,dropped:s};for(let C of b)delete o[C];s.push(...b)}return null}function xt({raw:e,record:o}){let s=tt(e);return s||(u=e),d=H(),g=o?.data??d,s?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}let Jt=()=>A??=H();function $e(e=I()){if(Jt(),!e)return d=g=A,Q(Y),{restored:!1,hadDraft:!1};if(j=!1,!e.record)return xt(e);let o=kt(e.record),s=Object.keys(e.record.data).length>0,h=s?$t(e.record.data):{data:{},dropped:[]},w=!!h&&(!s||Object.keys(h.data).length>0);if(!o&&!w||!o&&!s)return xt(e);if(s&&w&&ut(t,h.data,a),o&&(Q(()=>{ot(o)||(console.warn("visitor-drafts: this browser's saved page has no page to go into; it was kept aside"),tt(e.raw,{keepSlot:!0}))}),T=o,M=o),u=e.raw,d=H(),g=e.record.data,!w||h.dropped.length){let S=tt(e.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:w?h.data:{},partial:!0,parked:!!S,blocked:!S}}return{restored:!0,hadDraft:!0,data:h.data}}function st(){if(L)return!1;try{let e=window.clay?.getHTML;if(typeof e!="function")return!_(H(),d);let o=new DOMParser().parseFromString(e.call(window.clay),"text/html"),s=X(dt(o));return!_(F(o,a),d)||!W(s,T)&&!W(s,M)}catch{return!0}}function Ft(e){let o=m+":conflict";try{r.setItem(o,e)}catch(s){throw B(t,s)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",o)}function Je(e){let o=f(),s=o==null?null:O(o);if(!s)return{data:e,stored:null,ancestry:[it()],parentData:d};let h=e;if(o!==u){let w=Le(yt(s)?U.parentData:d,e,s.data);w.conflict&&Ft(o),h=w.value}return h=ft(h,s.data),{data:h,stored:z(h,s.data)?o:null,ancestry:Dt(s,o),parentData:s.data}}function At(e){let o=$t(e);if(!o||!Object.keys(o.data).length)return null;ut(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 p={id:R(),reset:"",acked:0,seq:0,journaled:0,ops:[],sizes:[]};try{p.reset=r?.getItem(at)??""}catch{}try{let e=JSON.parse(window.sessionStorage.getItem(m+":generation"));e?.marker===p.reset&&typeof e.reset=="string"&&(p.reset=e.reset)}catch{}let Tt=`${m}:op:${p.id}`,zt=()=>({tab:p.id,reset:p.reset,acked:p.acked,at:c().getTime(),ops:p.ops});function Mt(){try{if(!p.ops.length){p.journaled=p.seq,r.removeItem(Tt);return}let e=JSON.stringify(zt());if(e.length>k)return;r.setItem(Tt,e),p.journaled=p.seq}catch{}}let Vt=null,gt=null,Wt=e=>e===void 0?t:new DOMParser().parseFromString(e,"text/html");function Zt(e,{reset:o=p.reset,at:s=null}={}){if(L)return null;let h=Wt(e),w=Yt(F(h,a),X(dt(h)),o);return gt=s,w}function Gt(e=p.reset){if(L)return null;let o=n()?.token()??null;return Zt(window.clay.getHTML(),{reset:e,at:o})}function Fe(e=p.reset){if(L)return null;let o=gt!==null&&t.querySelector(ir)!==null&&n()?.unchangedSince(gt)===!0,s=Wt(window.clay?.getHTML?.());return Yt(o?d:F(s,a),X(dt(s)),e)}function Yt(e,o,s=p.reset){if(E!=null&&tt(E,{keepSlot:!0})===null)throw B(t,new Error("an earlier saved copy could not be kept aside"));if(p.sizes.reduce((b,C)=>b+C,0)>=l)throw B(t,new Error("too many changes are waiting to be saved"));let h=!W(o,T),w={};for(let b of Object.keys(e))b in d&&_(e[b],d[b])||(w[b]=b in g?{b:g[b],m:ft(e[b],g[b])}:{m:e[b]});if(!Object.keys(w).length&&!h)return p.ops.length||(rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:e,unchanged:!0}}))),null;p.ops.length||(Vt={base:d,editorUnit:T,seenUnit:M});let S={seq:++p.seq,savedAt:c().toISOString(),keys:w,...h&&{unit:{seen:Oe(M),to:o}}};d={...d},g={...g};for(let b of Object.keys(w))d[b]=e[b],g[b]=w[b].m;return h&&(T=M=o),j=!1,p.reset=s,p.ops.push(S),p.sizes.push(JSON.stringify(S).length),Mt(),S}function ze(){if(L)return!0;try{st()&&Gt()}catch{return!1}return p.journaled===p.seq}function Ve(e){if(e<=p.acked)return!1;p.acked=e;let o=p.ops.filter(s=>s.seq<=e).length;return p.ops.splice(0,o),p.sizes.splice(0,o),Mt(),o>0}function Xt(){p.ops.length=0,p.sizes.length=0,Mt()}function We(){p.ops.length&&({base:d,editorUnit:T,seenUnit:M}=Vt),gt=null,Xt()}function Ze(e){let o=Object.fromEntries(Object.entries(e).filter(([h,w])=>!z(w,g[h])));if(!Object.keys(o).length)return!1;let s=At(o);return g={...g,...o},s&&(d={...d,...s}),j=!1,!0}function Qt({keepPending:e=!1}={}){L=!0,e||Xt()}let te=()=>Bt().filter(e=>e.startsWith(m+":op:"));function ee(e){if(L)return null;if(E!=null&&tt(E,{keepSlot:!0})===null)throw B(t,new Error("an earlier saved copy could not be kept aside"));let o=new DOMParser().parseFromString(e,"text/html"),s=F(o,a),h=X(dt(o)),w=!W(h,T),S=f();if(_(s,d)&&!w&&(S===u||S==null))return rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:s,unchanged:!0}})),s;let{data:b,stored:C,ancestry:et,parentData:ct}=Je(s),q=S==null?null:O(S),Ct=kt(q),lt=w?h:q?Ct:h;w&&q&&!W(Ct,M)&&Ft(S);let re=R(),wt=C&&W(lt,Ct)?C:JSON.stringify({v:ke,savedAt:c().toISOString(),id:re,ancestry:et,reset:p.reset,data:b,...lt&&{live:lt.live,blockeditor:lt.blockeditor}});if(wt!==C){try{if(!r)throw new Error("no storage");r.setItem(m,wt)}catch(V){throw B(t,V)}U={id:re,ancestry:et,parentData:ct,raw:wt}}let ne=Object.keys(s).filter(V=>!_(s[V],b[V]));return ne.length&&At(Object.fromEntries(ne.map(V=>[V,b[V]]))),u=wt,d=b,w&&(T=h),(w||!q)&&(M=lt),rt(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:b}})),b}function jt(){try{return ee(window.clay.getHTML()),!0}catch{return!1}}function Ge(){return L||!st()?!0:jt()}function Ye(){if(L)return!1;let e=f();if(e==null&&u!=null&&!st())return L=!0,window.location.reload(),!0;if(e==null||e===u||st())return!1;let o=O(e);if(yt(o)&&typeof window.clay?.getHTML=="function")return jt();let s=o&&At(o.data);return!s&&!kt(o)?!1:(u=e,d={...d,...s||{}},!0)}function Xe(e){if(L)return null;if(e===void 0){let s=f();e=s==null?null:O(s)}let o=kt(e);return o&&!W(o,M)?o:null}function Qe(e){M=e}function tr(){Qt(),E=null,rt(!1);try{r.removeItem(m)}catch{}let e=/^(\d+)~/.exec(p.reset),o=e?Number(e[1]):p.reset===""?1:null;try{r.setItem(at,o===null?R():`${o+1}~${R()}`)}catch{}}return{slot:x,key:m,rules:a,read:I,restore:$e,write:ee,writeLive:jt,flush:Ge,changed:st,adoptExternal:Ye,externalUnit:Xe,adoptedUnit:Qe,park:tt,clear:tr,snapshot:Be,tab:p.id,slotKey:Tt,chain:zt,capture:Zt,captureNow:Gt,captureLate:Fe,keep:ze,acknowledge:Ve,release:We,take:Ze,stop:Qt,journalSlots:te,seed:Jt,servedUnit:()=>(Y(),$),fitsInto:_,same:z,merge3:Le,unitMark:Oe,newId:R,failed:e=>B(t,e),generation:()=>p.reset,enter:e=>{p.reset=e},fresh:()=>j,shown:()=>d!==null,pending:()=>p.ops.length,unsafe:()=>p.journaled<p.seq,stopped:()=>L,held(){try{let e=JSON.parse(f());return D(e)?e:null}catch{return null}},kept:()=>!!I()||p.ops.length>0||te().length>0}}function Ne(t,r){let n=`${t}:ui`,c=()=>({v:1,prompt:{},intro:{done:null},src:null}),i=c();try{let v=JSON.parse(r?.getItem(n)||"null");v&&typeof v=="object"&&v.v===1&&(i={...c(),...v})}catch{}return{get:()=>i,save(){try{r?.setItem(n,JSON.stringify(i))}catch{}},reset(){i=c();try{r?.removeItem(n)}catch{}}}}var lr=/^[a-z0-9][a-z0-9-]{0,39}$/;function Pe(t,r=window.location.search){let n=t.get(),c=null;try{c=new URLSearchParams(r).get("src")}catch{}return!n.src&&c&&lr.test(c)&&(n.src=c,t.save()),n.src}function Re(t,r=window.location){let n=Z(r.pathname);return`/_/download${n==="/"?"":n}?as=htmlclay${t?`&src=${encodeURIComponent(t)}`:""}`}var ur=`<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
2
|
<section class="hcp-card" id="hcp-card" role="dialog" aria-modal="false" aria-labelledby="hcp-title">
|
|
3
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
4
|
<div class="hcp-kicker">Free download</div>
|
|
@@ -17,4 +17,4 @@ import{a as he,b as me,c as ye}from"../c-Y6F2FORL.js";import{a as pe,b as F,c as
|
|
|
17
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
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
19
|
</div>
|
|
20
|
-
</aside>`;async function Ue({memory:t,appName:r,link:n,settle:c,canDownloadCurrent:i=()=>!0}){let{PROMPT_CSS:v}=await import("../c-SGIA4IEQ.js"),l=document.querySelector('clay-editor-ui[data-clay-ui="download-prompt"]')?.shadowRoot.getElementById("hcp");if(!l){let f=document.createElement("template");f.innerHTML=ur,l=f.content.firstElementChild,fe({name:"download-prompt",content:l,css:[v],attributes:{"sap-ignore":""}})}let x=t.get();(!x.prompt||typeof x.prompt!="object")&&(x.prompt={});let m=x.prompt,a=3,u=2500,d=/^(INPUT|TEXTAREA|SELECT)$/,A="#hcp, .clay-intro, .clay-owner",g=l.querySelector("[data-hcp-link]");g.href=n,r&&(l.querySelector("[data-hcp-name]").textContent=r);let j=l.querySelector("[data-hcp=open]");function E(f,O){l.hidden=!1,l.setAttribute("data-hcp-state",f),O&&l.setAttribute("data-hcp-reason",O),j.setAttribute("aria-expanded",f==="card"?"true":"false"),(f==="card"||f==="mini")&&(m.shown=!0,t.save(),l.setAttribute("data-hcp-arrived","")),R()}function L(f){return f&&!l.contains(f)&&!f.closest(A)&&(d.test(f.tagName)||f.isContentEditable)}let U=null;function $(f){clearTimeout(U),U=setTimeout(()=>{if(m.shown||m.dismissed||l.getAttribute("data-hcp-state")!=="tab")return;let O=document.activeElement;if(L(O)){let I=O.getBoundingClientRect(),H=Math.min(360,innerWidth-32);if(innerWidth<700||I.right>innerWidth-H-32&&I.bottom>innerHeight-380)return}E("card",f)},u)}let T=[];function M(f){l.contains(f.target)||!L(f.target)||(T.indexOf(f.target)<0&&T.push(f.target),m.uses=Math.max(m.uses||0,T.length),m.shown||t.save(),T.length>=a&&$("use"))}function Y(f){L(f.target)&&(l.getAttribute("data-hcp-state")==="card"&&E(m.shown?"mini":"tab"),innerWidth<700&&l.setAttribute("data-hcp-typing",""))}function X(){setTimeout(()=>{L(document.activeElement)||l.removeAttribute("data-hcp-typing")},50)}let Q=0,ot=!1;function R(){Q||(Q=requestAnimationFrame(()=>{Q=0;let O=ye(innerWidth-24,I=>l.contains(I)||I.closest("[data-hcp-preview], .clay-owner"))+"px";l.style.getPropertyValue("--hcp-lift")!==O&&l.style.setProperty("--hcp-lift",O),ot=!0,me(),ot=!1}))}async function at(){let f=window.clay&&window.clay.getHTML;if(typeof f!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let O=location.pathname.split("/").filter(Boolean).pop()||"index.html";try{let{downloadHtml:I}=await import("../c-3TWCKFOP.js");return await I({html:f(),name:O.replace(/\.html$/,".htmlclay")})}catch{return!1}}let it=!1;l.addEventListener("click",async f=>{let O=f.target.closest("[data-hcp]");if(O){let I=O.getAttribute("data-hcp");I==="open"?(E("card",l.getAttribute("data-hcp-reason")==="error"?void 0:"open"),g.focus()):I==="minimize"?(E("mini"),j.focus()):I==="dismiss"&&(l.getAttribute("data-hcp-reason")==="error"?(E("mini"),j.focus()):(m.dismissed=!0,E("mini"),j.focus()));return}if(f.target.closest("[data-hcp-link]")){if(!i())return;let I=it||l.getAttribute("data-hcp-reason")==="error";if(!I){let H=c?.();if(H){if(f.preventDefault(),await H!==!1){g.click();return}I=!0}}if(I&&(f.preventDefault(),!await at())){mt(),l.querySelector(".hcp-body [data-hcp-for='error']").textContent="The download could not be made. Keep this page open and try Download free again.";return}m.downloaded=!0,m.shown=!0,t.save()}}),l.addEventListener("animationend",f=>{(f.animationName==="hcp-arrive"||f.animationName==="hcp-arrive-fade")&&l.setAttribute("data-hcp-arrived","")}),l.addEventListener("keydown",f=>{f.key==="Escape"&&l.getAttribute("data-hcp-state")==="card"&&(E("mini"),j.focus())});function mt(){E("card","error")}function Dt(){l.getAttribute("data-hcp-reason")==="error"&&l.setAttribute("data-hcp-reason","use")}let yt={set:E,root:l,showError:mt,clearError:Dt,download:(f=!1)=>{it=f;try{g.click()}finally{it=!1}}};return document.addEventListener("input",M,!0),document.addEventListener("change",M,!0),document.addEventListener("focusin",Y),document.addEventListener("focusout",X),addEventListener("scroll",R,{passive:!0}),addEventListener("resize",R),document.addEventListener(he,()=>{ot||R()}),document.addEventListener("transitionend",R,!0),l.addEventListener("transitionend",R),E(m.shown||m.dismissed?"mini":"tab"),!m.shown&&(m.uses||0)>=a&&$("return"),yt}var y=null,P=null,N=!0,_e=!1,G=Promise.resolve(),J=!1,K=null,qt=ge,_t=null,Kt=Promise.resolve(),Lt=Promise.resolve(),It=()=>!0,ht=()=>null,He=3e3;function qe(){return import("../c-
|
|
20
|
+
</aside>`;async function Ue({memory:t,appName:r,link:n,settle:c,canDownloadCurrent:i=()=>!0}){let{PROMPT_CSS:v}=await import("../c-SGIA4IEQ.js"),l=document.querySelector('clay-editor-ui[data-clay-ui="download-prompt"]')?.shadowRoot.getElementById("hcp");if(!l){let f=document.createElement("template");f.innerHTML=ur,l=f.content.firstElementChild,fe({name:"download-prompt",content:l,css:[v],attributes:{"sap-ignore":""}})}let x=t.get();(!x.prompt||typeof x.prompt!="object")&&(x.prompt={});let m=x.prompt,a=3,u=2500,d=/^(INPUT|TEXTAREA|SELECT)$/,A="#hcp, .clay-intro, .clay-owner",g=l.querySelector("[data-hcp-link]");g.href=n,r&&(l.querySelector("[data-hcp-name]").textContent=r);let j=l.querySelector("[data-hcp=open]");function E(f,O){l.hidden=!1,l.setAttribute("data-hcp-state",f),O&&l.setAttribute("data-hcp-reason",O),j.setAttribute("aria-expanded",f==="card"?"true":"false"),(f==="card"||f==="mini")&&(m.shown=!0,t.save(),l.setAttribute("data-hcp-arrived","")),R()}function L(f){return f&&!l.contains(f)&&!f.closest(A)&&(d.test(f.tagName)||f.isContentEditable)}let U=null;function $(f){clearTimeout(U),U=setTimeout(()=>{if(m.shown||m.dismissed||l.getAttribute("data-hcp-state")!=="tab")return;let O=document.activeElement;if(L(O)){let I=O.getBoundingClientRect(),H=Math.min(360,innerWidth-32);if(innerWidth<700||I.right>innerWidth-H-32&&I.bottom>innerHeight-380)return}E("card",f)},u)}let T=[];function M(f){l.contains(f.target)||!L(f.target)||(T.indexOf(f.target)<0&&T.push(f.target),m.uses=Math.max(m.uses||0,T.length),m.shown||t.save(),T.length>=a&&$("use"))}function Y(f){L(f.target)&&(l.getAttribute("data-hcp-state")==="card"&&E(m.shown?"mini":"tab"),innerWidth<700&&l.setAttribute("data-hcp-typing",""))}function X(){setTimeout(()=>{L(document.activeElement)||l.removeAttribute("data-hcp-typing")},50)}let Q=0,ot=!1;function R(){Q||(Q=requestAnimationFrame(()=>{Q=0;let O=ye(innerWidth-24,I=>l.contains(I)||I.closest("[data-hcp-preview], .clay-owner"))+"px";l.style.getPropertyValue("--hcp-lift")!==O&&l.style.setProperty("--hcp-lift",O),ot=!0,me(),ot=!1}))}async function at(){let f=window.clay&&window.clay.getHTML;if(typeof f!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let O=location.pathname.split("/").filter(Boolean).pop()||"index.html";try{let{downloadHtml:I}=await import("../c-3TWCKFOP.js");return await I({html:f(),name:O.replace(/\.html$/,".htmlclay")})}catch{return!1}}let it=!1;l.addEventListener("click",async f=>{let O=f.target.closest("[data-hcp]");if(O){let I=O.getAttribute("data-hcp");I==="open"?(E("card",l.getAttribute("data-hcp-reason")==="error"?void 0:"open"),g.focus()):I==="minimize"?(E("mini"),j.focus()):I==="dismiss"&&(l.getAttribute("data-hcp-reason")==="error"?(E("mini"),j.focus()):(m.dismissed=!0,E("mini"),j.focus()));return}if(f.target.closest("[data-hcp-link]")){if(!i())return;let I=it||l.getAttribute("data-hcp-reason")==="error";if(!I){let H=c?.();if(H){if(f.preventDefault(),await H!==!1){g.click();return}I=!0}}if(I&&(f.preventDefault(),!await at())){mt(),l.querySelector(".hcp-body [data-hcp-for='error']").textContent="The download could not be made. Keep this page open and try Download free again.";return}m.downloaded=!0,m.shown=!0,t.save()}}),l.addEventListener("animationend",f=>{(f.animationName==="hcp-arrive"||f.animationName==="hcp-arrive-fade")&&l.setAttribute("data-hcp-arrived","")}),l.addEventListener("keydown",f=>{f.key==="Escape"&&l.getAttribute("data-hcp-state")==="card"&&(E("mini"),j.focus())});function mt(){E("card","error")}function Dt(){l.getAttribute("data-hcp-reason")==="error"&&l.setAttribute("data-hcp-reason","use")}let yt={set:E,root:l,showError:mt,clearError:Dt,download:(f=!1)=>{it=f;try{g.click()}finally{it=!1}}};return document.addEventListener("input",M,!0),document.addEventListener("change",M,!0),document.addEventListener("focusin",Y),document.addEventListener("focusout",X),addEventListener("scroll",R,{passive:!0}),addEventListener("resize",R),document.addEventListener(he,()=>{ot||R()}),document.addEventListener("transitionend",R,!0),l.addEventListener("transitionend",R),E(m.shown||m.dismissed?"mini":"tab"),!m.shown&&(m.uses||0)>=a&&$("return"),yt}var y=null,P=null,N=!0,_e=!1,G=Promise.resolve(),J=!1,K=null,qt=ge,_t=null,Kt=Promise.resolve(),Lt=Promise.resolve(),It=()=>!0,ht=()=>null,He=3e3;function qe(){return import("../c-EFXPKDJP.js").then(t=>t.mountOwnerChip()).catch(t=>(console.warn("visitor-drafts: the owner chip did not load",t),null))}function dr(t){return t.template?import("../c-VBXRXTVS.js").then(r=>r.mountIntro(t)).catch(r=>(console.warn("visitor-drafts: the intro did not load",r),null)):Promise.resolve(null)}var pt=vt(),Ht=document.querySelector('script[data-rules-name~="api"]');if(le&&pt&&Ht){let i=function(a){K={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:K}));let u=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",d=document.querySelector("template[visitor-intro]"),A=()=>{Kt=Ue({memory:c,appName:u,link:qt,settle:()=>ht(),canDownloadCurrent:()=>!J&&!K.blocked}).then(g=>dr({memory:c,template:d,appName:u,hadDraft:a.hadDraft||y.kept()}).then(()=>g)).then(g=>(document.addEventListener("clay:drafts-store-failed",()=>g.showError()),document.addEventListener("clay:drafts-saved",()=>g.clearError()),se()&&g.showError(),(Nt?qe():Promise.resolve(null)).then(()=>g)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",A,{once:!0}):A()},t=Z(),r=je(pt,{path:t}),n=Ot();y=Ce({path:t,fallback:r==="failed"?Ut(pt):null}),N=!(typeof globalThis.indexedDB?.open=="function"&&globalThis.IDBKeyRange),_e=!N,G=N?Promise.resolve():import("../c-W7LWCJHD.js").then(a=>a.openSession({store:y,storage:n,reload:()=>de({isCurrent:()=>!0,reload:()=>window.location.reload()})})).then(a=>{P=a},()=>{N=!0}),ae((a,u=null)=>{let d=!K;return Lt.then(()=>{if(J)throw B(document,new Error("the draft database did not open"));return d&&([u,a]=[bt()?.token()??null,window.clay.getHTML()]),N?void y.write(a):(y.capture(a,{at:u}),G.then(()=>{if(P)return P.sync().then(()=>{});y.write(a)}))})});let c=Ne(y.key,n);_t=Pe(c),qt=Re(_t),It=()=>{if(J)return!1;if(!K)return!0;if(N)return y.flush();let a=y.keep();return P?.hide(),a},ie(It),ce(()=>!N&&y.unsafe()),ht=()=>{if(J)return Promise.resolve(!1);if(!K)return Lt.then(()=>ht());if(N)return y.flush()?null:Promise.resolve(!1);let a=y.keep();if(!y.pending())return a?null:Promise.resolve(!1);let u=G.then(()=>P?P.sync().then(()=>!0):y.flush()).catch(()=>!1),d;return Promise.race([u,new Promise(A=>{d=setTimeout(()=>A(!1),He)})]).finally(()=>clearTimeout(d))},document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&It()}),window.addEventListener("pagehide",It);let v=!1;document.addEventListener("click",async a=>{let u=a.composedPath().find(g=>g instanceof Element&&g.matches("a[clay-wait-drafts][href]"));if(!u||a.defaultPrevented||a.button!==0||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||u.target&&u.target!=="_self")return;if(v){a.preventDefault();return}let d=ht();if(!d)return;a.preventDefault(),v=!0;let A;await Promise.race([d,new Promise(g=>{A=setTimeout(g,He)})]),clearTimeout(A),v=!1,window.location.assign(u.href)},!0);let k=()=>{if(!N||J||!K)return;let a=y.externalUnit();a&&document.dispatchEvent(new CustomEvent("clay:drafts-blockeditor-external",{detail:{live:a.live,adopted:()=>y.adoptedUnit(a)}})),y.adoptExternal()};window.addEventListener("storage",a=>{a.key===y.key&&k()}),document.addEventListener("clay:drafts-blockeditor-listening",k),window.addEventListener("pageshow",a=>{a.persisted&&k()});let l=y.held(),x=l?.v===2&&l.idb===!0,m=!N&&l?.v===1&&l.w===void 0&&y.generation()!=="";x||m||!N&&l?.w&&l.w.reset!==y.generation()?Lt=G.then(()=>P?.first).then(a=>{if(a)return i(y.restore(a.record&&{raw:JSON.stringify(a.record),record:a.record}));throw new Error("the draft database did not open")}).catch(a=>{if(!x){if(!m)try{n?.removeItem(y.key)}catch{}return i(y.restore())}J=!0,B(document,a),i({restored:!1,hadDraft:!0,blocked:!0})}):(i(y.restore()),G.then(()=>{P||(y.release(),y.flush())}))}else if(!pt||!Ht){let t=[];pt||t.push('a visitor-drafts="<slot>" attribute on <html>'),Ht||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}else Nt&&ue&&!oe()&&(Kt=qe());var Tr=y?{active:!0,slot:y.slot,key:y.key,hasDraft:()=>y.kept(),restored:()=>K,saveNow(){if(J||!K)return!1;if(N)return y.writeLive();try{y.captureNow()}catch{return!1}return P?.sync().catch(()=>{}),!y.unsafe()},reset(){return _e?(G.then(()=>{if(P)return P.startOver();if(N&&!J)return y.clear();throw new Error("the draft database did not open")}).then(()=>window.location.reload(),t=>B(document,t)),!0):(y.clear(),window.location.reload(),!0)},onRestore(t){return K?(t(K),!0):(document.addEventListener("clay:drafts-restored",r=>t(r.detail),{once:!0}),!1)},editOriginal:we,backToDraft:ve,downloadUrl:()=>qt,download:()=>Kt.then(async t=>{let r=await ht();return t?.download(r===!1)}),source:_t}:be();async function Mr(){if(await Lt,await G,!y||!P||J)return null;let{createRecovery:t}=await import("../c-CPRGR2II.js");return t({store:y,session:P})}export{Kt as ready,Mr as recoveryDrafts,Lt as restoring,Tr as visitorDrafts};
|
package/dist/m/plugins/{visitor-drafts-owner-TLECTYWS.js → visitor-drafts-owner-QLF6IALP.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-JEWSJHMK.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-U4TWEIKZ.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-EFXPKDJP.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-JEWSJHMK.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";r&&(t(),document.addEventListener("clay:drafts-restored",()=>t()),e(()=>{import("../c-7PZS45FY.js").then(o=>o.start()).catch(o=>console.warn("visitor-menu: the menu did not load",o))}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c}from"../c-
|
|
1
|
+
import{a,b,c}from"../c-WJVW76R6.js";import"../c-26W3BMWK.js";import"../c-JEWSJHMK.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.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{a as W,b as x,c as B}from"./c-NUHP2XDB.js";import{g as F}from"./c-QCDVDZIR.js";import{a as m}from"./c-VKEDWYDF.js";import{b as V}from"./c-MZCOGNZL.js";import{e as z}from"./c-
|
|
1
|
+
import{a as W,b as x,c as B}from"./c-NUHP2XDB.js";import{g as F}from"./c-QCDVDZIR.js";import{a as m}from"./c-VKEDWYDF.js";import{b as V}from"./c-MZCOGNZL.js";import{e as z}from"./c-26W3BMWK.js";import"./c-IJUK2GPW.js";import{a as T,b as f,c as a,f as u,g as n,h as v,j as L,o as $}from"./c-JEWSJHMK.js";import{c as j,e as H}from"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4TWEIKZ.js";import"./c-MOP5KBWZ.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import{d as q,s as U}from"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import{a as S}from"./c-VHNSBD2M.js";var C={};S(C,{activateInitialMode:()=>ke,canEdit:()=>a,default:()=>Me,init:()=>A,isEditMode:()=>u,isOwner:()=>v,mode:()=>n,modeLifecycle:()=>xe,noteLiveSwitch:()=>Ee,setMode:()=>y,setPageTypeOnPageLoad:()=>Q,toggleEditMode:()=>X});var N=!1,ve=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return $(e)},xe={register:ve,canWrite:()=>L().phase==="idle"&&u,get state(){return Object.freeze(L())}},D=null,J=()=>D||=import("./c-YIFBOWQE.js").catch(()=>D=null),M=null,Ee=e=>{M=e};async function ke(){if(u)try{await(await J()).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&&!D)return{ok:!0,mode:n,changed:!1};if(f)return{ok:!1,mode:n,code:"not-allowed"};let t=Se(e);p={target:e,promise:t};try{return await t}finally{p?.promise===t&&(p=null)}}async function Se(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?(N=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:n,code:o?.reason||"host-refused"}}return e==="edit"&&n!=="edit"?Te():!a&&!(e==="view"&&n==="edit")?{ok:!1,mode:n,code:"not-allowed"}:Y(e)}async function Te(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-JHMPKRPO.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"}:a?Y("edit"):{ok:!1,mode:n,code:"not-allowed"}}async function Y(e){if(M){let t=await J(),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 N=!0,T({mode:e,canEdit:a,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function Le(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var X=()=>f?Le():y(n==="edit"?"view":"edit");function De(){!a||f||window.addEventListener("pagehide",()=>{N||T({mode:n,canEdit:a,internal:!1})})}function G(){a?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function Q(){m(()=>{document.documentElement.setAttribute("editmode",u?"true":"false"),document.documentElement.setAttribute("pageowner",v?"true":"false"),G(),document.addEventListener("clay:capabilitychange",G),f?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function A(){Q(),De()}A();var Me={init:A,setMode:y,toggleEditMode:X,isEditMode:u,isOwner:v,canEdit:a,mode:n};var se={};var Z=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),Ne=Z?"\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{a as W,b as x,c as B}from"./c-NUHP2XDB.js";import{g as F}from"./c-QCDVDZI
|
|
|
74
74
|
right: calc(16px + env(safe-area-inset-right, 0px));
|
|
75
75
|
max-width: none;
|
|
76
76
|
}
|
|
77
|
-
}`,ee=new WeakSet;function te(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{ee.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function oe(e){ee.add(e),e.getRootNode().host?.remove()}function ne(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):ae(i))})})}function Ce(e){(a||n==="edit")&&(!(Z?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),ne(n==="edit"?"view":"edit")))}var Re="In view mode, so edits won't be saved.",Pe=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",s=null;function ie(e){if(!e.isConnected)return!1;let t=U(e);return t.persist===q.FULL&&!t.extension}function re(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Pe)||t.closest(R)||(t.isContentEditable?t:null);return o&&ie(o)?o:null}var Ie=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>a&&n==="view";function Oe(e){P()&&re(e.target)&&I()}function _e(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||Ie(t)||t!==document.body&&!t.closest(R))return;re(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function Ke(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ie(t)&&I()}function I(){s||(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(),s=document.createElement("div"),s.setAttribute("clay","editor-ui"),s.setAttribute("role","alert"),s.className="clay-mode-note clay-view-notice",s.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',s.querySelector("span").textContent=Re,s.querySelector("button").addEventListener("click",()=>ne("edit")),te(s))}function je(){n==="view"||!s||(oe(s),s=null)}function ae(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>${Ne}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>oe(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),te(t)}f||(document.addEventListener("keydown",Ce),document.addEventListener("input",Oe,!0),document.addEventListener("pointerdown",Ke,!0),window.addEventListener("keydown",_e),document.addEventListener("clay:modechange",je),m(()=>{if(!a||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),ae())})}));var O={};S(O,{whenShown:()=>Ve});var He="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",d=null,r=null;function h(){if(!d)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;x(d,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){d&&(x(d,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){let e=r.resolveTheme();d=r.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:${r.pageScheme()}`],{theme:e,parts:["notice.root","notice.panel","staleHost.root","staleHost.panel"]}),d.setAttribute("clay",r.RUNTIME_ONLY),d.setAttribute("data-clay-stale-host",""),d.setAttribute("role","alert");let t=B("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${r.TOKENS.ox}`]);t.setAttribute("clay",r.RUNTIME_ONLY);let o=["notice.dot","staleHost.dot"];r.themed(e)&&(r.markParts(t,e,o),W(t,r.partRules(e,o,{})));let i=r.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e,theme:e,parts:["notice.button","staleHost.button"],labelParts:["notice.buttonLabel","staleHost.buttonLabel"]});i.setAttribute("aria-label","Dismiss this message"),d.append(t,r.bevelText("span",[],He,{theme:e,parts:["notice.text","staleHost.text"]}),i),document.body.appendChild(d),h(),r.themed(e)?x(d,"color-scheme",e.scheme==="light dark"?"light":e.scheme):r.paintLook(d,{background:r.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!H()||u)return;let[e,t,o,i]=await Promise.all([import("./c-33SS5A4Y.js"),import("./c-46LJAZZJ.js"),import("./c-OCSZ4QGN.js"),import("./c-ELXMSEN5.js")]);r={...e,...i,TOKENS:t.TOKENS,resolveTheme:o.resolveTheme},qe()}var de=Promise.resolve();m(()=>{de=Ue()});var Ve=()=>de;var K={};S(K,{createPageDataApi:()=>ue,readData:()=>Je,setPageDataLiveSync:()=>Xe,writeData:()=>Ye});var Fe="data-read",ze="data-write";function E(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function le(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function We(e){let t={};try{t=await le(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 Be(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Ge(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 ce(){let{isDraftMode:e}=await import("./core/is-edit-mode-
|
|
77
|
+
}`,ee=new WeakSet;function te(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{ee.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function oe(e){ee.add(e),e.getRootNode().host?.remove()}function ne(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):ae(i))})})}function Ce(e){(a||n==="edit")&&(!(Z?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),ne(n==="edit"?"view":"edit")))}var Re="In view mode, so edits won't be saved.",Pe=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",s=null;function ie(e){if(!e.isConnected)return!1;let t=U(e);return t.persist===q.FULL&&!t.extension}function re(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Pe)||t.closest(R)||(t.isContentEditable?t:null);return o&&ie(o)?o:null}var Ie=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>a&&n==="view";function Oe(e){P()&&re(e.target)&&I()}function _e(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||Ie(t)||t!==document.body&&!t.closest(R))return;re(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function Ke(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ie(t)&&I()}function I(){s||(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(),s=document.createElement("div"),s.setAttribute("clay","editor-ui"),s.setAttribute("role","alert"),s.className="clay-mode-note clay-view-notice",s.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',s.querySelector("span").textContent=Re,s.querySelector("button").addEventListener("click",()=>ne("edit")),te(s))}function je(){n==="view"||!s||(oe(s),s=null)}function ae(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>${Ne}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>oe(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),te(t)}f||(document.addEventListener("keydown",Ce),document.addEventListener("input",Oe,!0),document.addEventListener("pointerdown",Ke,!0),window.addEventListener("keydown",_e),document.addEventListener("clay:modechange",je),m(()=>{if(!a||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),ae())})}));var O={};S(O,{whenShown:()=>Ve});var He="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",d=null,r=null;function h(){if(!d)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;x(d,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){d&&(x(d,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){let e=r.resolveTheme();d=r.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:${r.pageScheme()}`],{theme:e,parts:["notice.root","notice.panel","staleHost.root","staleHost.panel"]}),d.setAttribute("clay",r.RUNTIME_ONLY),d.setAttribute("data-clay-stale-host",""),d.setAttribute("role","alert");let t=B("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${r.TOKENS.ox}`]);t.setAttribute("clay",r.RUNTIME_ONLY);let o=["notice.dot","staleHost.dot"];r.themed(e)&&(r.markParts(t,e,o),W(t,r.partRules(e,o,{})));let i=r.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e,theme:e,parts:["notice.button","staleHost.button"],labelParts:["notice.buttonLabel","staleHost.buttonLabel"]});i.setAttribute("aria-label","Dismiss this message"),d.append(t,r.bevelText("span",[],He,{theme:e,parts:["notice.text","staleHost.text"]}),i),document.body.appendChild(d),h(),r.themed(e)?x(d,"color-scheme",e.scheme==="light dark"?"light":e.scheme):r.paintLook(d,{background:r.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!H()||u)return;let[e,t,o,i]=await Promise.all([import("./c-33SS5A4Y.js"),import("./c-46LJAZZJ.js"),import("./c-OCSZ4QGN.js"),import("./c-ELXMSEN5.js")]);r={...e,...i,TOKENS:t.TOKENS,resolveTheme:o.resolveTheme},qe()}var de=Promise.resolve();m(()=>{de=Ue()});var Ve=()=>de;var K={};S(K,{createPageDataApi:()=>ue,readData:()=>Je,setPageDataLiveSync:()=>Xe,writeData:()=>Ye});var Fe="data-read",ze="data-write";function E(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function le(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function We(e){let t={};try{t=await le(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 Be(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Ge(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 ce(){let{isDraftMode:e}=await import("./core/is-edit-mode-QBJUFMVF.js");return e?E("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function ue({supports:e=z,token:t=j,fetchImpl:o=(...g)=>fetch(...g),getLocation:i=()=>window.location,eventTarget:fe=document,loadWriteModules:me,syncTimeoutMs:pe,httpTimeoutMs:we}={}){let g=null,w=null;function ye(c){g=c}async function he(c){let b=await ce();if(b)throw b;if(!await e(Fe))throw E("DataReadUnsupported","This host does not support reading page data.");let l;try{l=await o(Ge(c,i()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(k){throw Object.assign(E("DataReadFailed",k?.message||"Could not read page data."),{cause:k})}if(!l.ok)throw await We(l);return{data:await le(l),etag:Be(l)}}function ge(){return w||(w=import("./c-YJS2V3MX.js").then(({createPageDataWrite:c})=>c({supports:e,token:t,fetchImpl:o,getLocation:i,eventTarget:fe,getLiveSync:()=>g,loadWriteModules:me,syncTimeoutMs:pe,httpTimeoutMs:we})).catch(c=>{throw w=null,c}),w)}async function be(c,b){let l=await ce();if(l)throw l;if(!await e(ze))throw E("DataWriteUnsupported","This host does not support writing page data.");return(await ge()).writeData(c,b)}return{readData:he,writeData:be,setLiveSync:ye}}var _=ue(),Je=_.readData,Ye=_.writeData,Xe=_.setLiveSync;var ut={"lib/mutation.js":V,"core/preserve-authored.js":F,"core/edit-mode.js":C,"core/mode-key.js":se,"core/stale-host-notice.js":O,"core/page-data.js":K};export{ut 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-VPUSMVKE.js";import{f as b}from"../c-O3BSWMVD.js";import"../c-LZJPNR2W.js";import"../c-FILLTJA7.js";import"../c-5VYOWDTI.js";import"../c-T6RRRHX7.js";import"../c-WYFDLITL.js";import"../c-MZCOGNZL.js";import"../c-LD6UVV5R.js";import"../c-PGSBXHUE.js";import"../c-OSGTRM4C.js";import"../c-26W3BMWK.js";import"../c-IJUK2GPW.js";import"../c-JEWSJHMK.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-U4TWEIKZ.js";import"../c-UW6MMZ4V.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-MOP5KBWZ.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};
|
|
@@ -4,4 +4,4 @@ import"../c-VHNSBD2M.js";var qr=(()=>{var Se=Object.defineProperty,Jt=Object.get
|
|
|
4
4
|
${e}`:`"use strict"; return (${e});`;r={fn:Pe.length?new Function(...Pe,`return function(${je}){${a}
|
|
5
5
|
}`)(...ct):new Function(...je,a),src:e,statement:t,deps:Pn(e),error:null,waits:ge(e)}}catch(a){r={fn:null,src:e,statement:t,deps:{state:new Set,item:new Set},error:a,waits:null}}return r.waits||le.set(n,r),r}function Rn(e,t){return Me(e,t.state,t.item,t.el??null,t.root)}function Me(e,t,n,r,a){if(e.error)throw e.error;return e.fn(t,n,r,a,V,O,st,vn,En,An,kn,xn,Sn)}var ue={},U=null,mt=!0,ye=!1;function ht(){ue={}}function Mn(e){let t=ye;return U?Oe(U.takeRecords()):mt&&Dn(),ye=!!U&&e.getRootNode()===document,t}function On(e){ye=e}function Wn(){U&&Oe(U.takeRecords())}function Dn(){if(typeof document>"u"||typeof MutationObserver!="function"){mt=!1;return}U=new MutationObserver(Oe),U.observe(document,{attributes:!0,childList:!0,subtree:!0})}function Oe(e){for(let t of e)if(t.type==="attributes")bt(t.target);else if(t.addedNodes.length&&!(t.target.nodeType===1&&Le(t.target)))for(let n of t.addedNodes)n.nodeType===1&&X(n,bt)}function bt(e){e._sapPlan&&(e._sapPlan=null)}function ce(e){if(!ye)return gt(e);let t=e._sapPlan;return t&&t.gen===ue?t:e._sapPlan=gt(e)}function W(e,t,n){let r=pt(t,n);return r.waits&&(e.waits=r.waits),r}function gt(e){let t={gen:ue,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,waits:null,wants:null,ext:!1,impure:!1};for(let r of e.attributes){let a=r.name,l=r.value,o=a.indexOf(":");if(o<0){switch(a){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,t.waits=ge(l)||t.waits;break;case"each":t.each=!0,t.waits=ge(l)||ge(e.getAttribute("key"))||t.waits;break;case"bind":t.bind=l;break;case"transient":t.transient=!0;break;case"state":t.decls=at(l);break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:null,entry:W(t,l)});break;case"show":(t.paints||(t.paints=[])).push({kind:"show",entry:W(t,l)});break;case"effect":(t.effects||(t.effects=[])).push({entry:W(t,l,!0)});break;case"invalid":(t.invalids||(t.invalids=[])).push({entry:W(t,l)});break;default:yt(t,a,"",l)}continue}let g=a.slice(0,o),b=a.slice(o+1);switch(g){case"calc":(t.calcs||(t.calcs=[])).push({name:b,entry:W(t,l)});break;case"text":(t.paints||(t.paints=[])).push({kind:"text",fmt:b,entry:W(t,l)});break;case"attr":(t.paints||(t.paints=[])).push({kind:"attr",arg:b,entry:W(t,l)});break;case"class":(t.paints||(t.paints=[])).push({kind:"class",arg:b,entry:W(t,l)});break;case"css":(t.paints||(t.paints=[])).push({kind:"css",arg:b,entry:W(t,l)});break;case"show-when":case"option":(t.paints||(t.paints=[])).push({kind:"when",match:"show",field:b,values:l.split("|")});break;case"hide-when":(t.paints||(t.paints=[])).push({kind:"when",match:"hide",field:b,values:l.split("|")});break;case"option-not":(t.paints||(t.paints=[])).push({kind:"when",match:"show-not",field:b,values:l.split("|")});break;default:yt(t,g+":",b,l)}}let n=tt(e);return t.boundary=t.scope?"scope":t.items?"items":t.detail?"detail":t.each?"each":n?n.name:null,n&&!n.installed&&(t.wants||=[]).push(n.plugin),Bn(t)?zn():t}function yt(e,t,n,r){let a=fn(t);if(!a)return;if(!a.parse){(e.wants||=[]).push(a.plugin);return}let l=a.parse(n,r);l!==void 0&&((e[a.key]||(e[a.key]=[])).push(l),e.ext=!0,a.impure&&(e.impure=!0),l&&l.entry&&l.entry.waits&&(e.waits=l.entry.waits))}var we=null;function zn(){return(!we||we.gen!==ue)&&(we=Object.freeze({gen:ue,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,waits:null,wants:null,ext:!1,impure:!1})),we}function Bn(e){return!e.inert&&!e.item&&e.boundary===null&&e.bind===null&&!e.transient&&!e.decls&&!e.calcs&&!e.paints&&!e.effects&&!e.invalids&&!e.wants&&!e.ext}var J=new WeakMap,K=new WeakMap,Q=null,I=!1;function Fn(){J=new WeakMap,K=new WeakMap}function wt(e){for(let t of e){let n=t.target.nodeType===1?t.target:t.target.parentElement;for(let a=n;a;a=a.parentElement)K.delete(a);if(t.type==="attributes"){J.delete(t.target);continue}for(let a=n;a;a=a.parentElement)J.delete(a);let r=t.addedNodes;if(!(!r||!r.length||n&&Le(n)))for(let a of r)a.nodeType===1&&X(a,In)}}function In(e){J.delete(e),K.delete(e)}function Hn(){return I}function Un(e){return I?K.get(e):void 0}function qn(e,t){I&&K.set(e,t)}function vt(e){K.delete(e)}function Yn(e){let t=I;return!Q&&typeof MutationObserver=="function"&&(Q=new MutationObserver(wt),Q.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),Q&&wt(Q.takeRecords()),I=!!Q&&e.getRootNode()===document,t}function Gn(e){I=e}function Et(e){let t=J.get(e);return t||J.set(e,t={attrs:new Map,hasText:!1,text:""}),t}function Xn(e,t){if(!I)return e.getAttribute(t);let n=Et(e);return n.attrs.has(t)||n.attrs.set(t,e.getAttribute(t)),n.attrs.get(t)}function Vn(e){if(!I)return e.textContent;let t=Et(e);return t.hasText||(t.text=e.textContent,t.hasText=!0),t.text}function At(e){return(e.getAttribute("type")||"text").toLowerCase()}function We(e){let t=e.tagName;if(t==="INPUT"){let n=At(e);n==="checkbox"||n==="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 n=e.options;for(let r=0;r<n.length;r++)n[r].selected?n[r].setAttribute("selected",""):n[r].removeAttribute("selected")}}function Jn(e,t=e){let n=e.tagName;if(n==="INPUT"){let r=At(e);r==="checkbox"||r==="radio"?t.checked?e.hasAttribute("checked")||e.setAttribute("checked",""):e.removeAttribute("checked"):t.value!==(e.getAttribute("value")??"")&&e.setAttribute("value",t.value);return}if(n==="TEXTAREA"){let r=t.value.startsWith(`
|
|
6
6
|
`)?`
|
|
7
|
-
`+t.value:t.value;e.textContent!==r&&(e.textContent=r),e.removeAttribute("data-value");return}if(n==="SELECT"){let r=e.options,a=t.options;for(let l=0;l<r.length;l++)a[l]&&a[l].selected?r[l].hasAttribute("selected")||r[l].setAttribute("selected",""):r[l].removeAttribute("selected")}}function kt(e){e.tagName!=="TEXTAREA"||!e.hasAttribute("data-value")||e!==e.ownerDocument.activeElement&&(e.textContent=e.getAttribute("data-value"),e.removeAttribute("data-value"))}function j(e){if(typeof window>"u")return null;let t=window.clay,n=window.hyperclay;return e==="consent"?t?.confirm||n?.consent||null:t?.[e]||n?.[e]||null}function Kn(){let e=j("visitorDrafts");return!!(e&&typeof e.restored=="function"&&e.restored()?.restored)}var xt=["clay:mutation-ready","hyperclay:mutation-ready"],Qn=["clay:sync-applied","hyperclay:livesync-applied"],Zn=["clay:ready","hyperclay:ready"],er=["clay:route"],tr=["clay:modechange"];function ve(e,t,n){let r=null,a=l=>{r!==null&&r!==l.type||(r=l.type,queueMicrotask(()=>{r=null}),n(l))};for(let l of t)e.addEventListener(l,a);return()=>{for(let l of t)e.removeEventListener(l,a)}}function nr(e){let t=typeof window<"u"&&window.clay&&window.clay.ready;t&&typeof t.then=="function"?t.then(()=>e(),()=>e()):e()}function St(e){let t=j("region");return!t||typeof t.resolveRegionPolicy!="function"||typeof t.skipForPolicy!="function"?!1:t.skipForPolicy(t.resolveRegionPolicy(e),void 0,["no-save","freeze"])}function $t(){return typeof window>"u"?null:window.clay?.modeLifecycle||null}function Ee(e,{transient:t=!1}={}){if(t)return!0;let n=$t();return typeof n?.canWrite!="function"||j("region")?.resolveRegionPolicy?.(e)?.persist==="none"?!0:n.canWrite()}function rr(e,t){if(typeof t!="function")throw new Error("Sap.batch(label, fn): fn must be a function");let n=j("undo");n&&n.flush&&n.flush();let r=t();if(r&&typeof r.then=="function")throw new Error("Sap.batch fn must be synchronous (it returned a promise)");return n&&n.commitCaptured&&n.commitCaptured(e),r}function ar(e){if(typeof window>"u"||typeof document>"u")return;let t=()=>{let p=!1;for(let A of e.apps())A.root.isConnected?e.runNow(A,"platform"):p=!0;p&&e.pruneDisconnected(),e.remountIfPresent()},n=j("derived"),r=n&&typeof n.register=="function"?n.register(t):null,a=typeof r=="function"?null:ve(document,Qn,t),l=ve(document,er,t),o=null,g=!1,b=()=>{let p=o;o=null,p&&(p[2](),p[3]())},m=()=>{if(g)return!1;let p=j("undo"),A=$t()?.state?.generation;if(o&&o[0]===p&&o[1]===A)return!0;if(b(),!p||typeof p.on!="function")return!1;let T=p.on("undo",t);if(typeof T!="function")return!1;let _=p.on("redo",t);return typeof _!="function"?(T(),!1):(o=[p,A,T,_],!0)};m();let d=[xt,Zn,tr].map(p=>ve(document,p,m)),c=j("ready");return c&&typeof c.then=="function"&&c.then(m,()=>{}),()=>{g=!0,typeof r=="function"&&r(),a&&a(),l();for(let p of d)p();b()}}function Nt(e){let t=e.tagName;if(t==="INPUT"){let n=(e.getAttribute("type")||"text").toLowerCase();return n==="checkbox"?"checkbox":n==="radio"?"radio":n==="number"||n==="range"?"number":n==="hidden"?"hidden":"text"}return t==="TEXTAREA"?"text":t==="SELECT"?e.multiple?"select-multiple":"select-one":"leaf"}function or(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 Tt(e,t){switch(t){case"checkbox":return e.checked;case"radio":return e.checked?e.value:void 0;case"number":return or(e);case"select-one":return e.value;case"select-multiple":return[...e.selectedOptions].map(n=>n.value);case"hidden":case"text":return e.value;case"leaf":return e.textContent;default:return e.value}}function ir(e,t,n){switch(t){case"checkbox":e.checked=!!n;break;case"radio":e.checked=String(e.value)===String(n);break;case"number":case"text":case"hidden":e.value=n==null?"":String(n);break;case"select-one":e.value=n==null?"":String(n);break;case"select-multiple":{let r=new Set((Array.isArray(n)?n:[n]).map(String));for(let a of e.options)a.selected=r.has(a.value);break}case"leaf":e.textContent=n==null?"":String(n);break;default:e.value=n==null?"":String(n)}}function _t(e){if(e.hasAttribute("transient")){e.removeAttribute("value"),e.removeAttribute("checked"),e.removeAttribute("data-value");return}St(e)||We(e)}function lr(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function sr(e,t){return Tt(e,t)}function ur(e){let t=Nt(e);return{el:e,kind:t,read(){return Tt(e,t)},write(n,r={}){ir(e,t,n),r.noMirror||_t(e),r.silent||lr(e)},mirror(){_t(e)}}}var cr=[],R=null,Ae=0,De=null,ke=!1,Z=null;function Lt(e){let t=null;return{kind:"hub",flush(){e.pause(),e.resume()},subscribe(n){let r=e.onAnyChange({debounce:0,require:"observed"},n);typeof r=="function"&&(t=r)},suppress(n){e.pause();try{return n()}finally{e.resume()}},teardown(){if(t){try{t()}catch{}t=null}}}}function fr(){let e=null,t=null;function n(){let r=e?e.takeRecords():cr;r.length&&t(Ct(r))}return{kind:"native",flush:n,subscribe(r){t=r,e=new MutationObserver(l=>r(Ct(l)));let a=document.body||document.documentElement;a&&e.observe(a,{childList:!0,subtree:!0,attributes:!0,characterData:!0})},suppress(r,a){let l=j("undo");a&&n(),l&&l.pause&&l.pause();try{return r()}finally{e&&e.takeRecords(),l&&l.resume&&l.resume()}},teardown(){e&&(e.disconnect(),e=null)}}}function Ct(e){let t=[];for(let n of e)if(n.type==="attributes"){let r=n.target;r&&r.nodeType===1&&!fe(r)&&t.push({type:"attribute",element:r,attribute:n.attributeName})}else if(n.type==="characterData"){let r=n.target&&n.target.parentElement;r&&!fe(r)&&t.push({type:"characterData",element:r})}else if(n.type==="childList"){let r=n.target;r.nodeType===1&&[...n.addedNodes,...n.removedNodes].some(l=>l.nodeType===3)&&!fe(r)&&t.push({type:"characterData",element:r});let a=n.addedNodes.length>0&&r.nodeType===1&&Le(r);for(let l of n.addedNodes)l.nodeType!==1||fe(l)||(a?t.push({type:"add",element:l,parent:r}):X(l,o=>{(o===l||!fe(o))&&t.push({type:"add",element:o,parent:r})}));for(let l of n.removedNodes)l.nodeType===1&&t.push({type:"remove",element:l,parent:r})}return t}function fe(e){return!!(e.closest&&e.closest("[sap-ignore],[template],[cms-template]"))}function dr(e,t){e.pruneDisconnected();let n=new Map,r=!1;for(let a of t){let l=a.type==="remove"?a.parent:a.element,o=l&&e.appFor(l);if(o){let g=n.get(o);g?g.push(a):n.set(o,[a])}a.type==="add"&&a.element&&a.element.nodeType===1&&a.element.hasAttribute&&a.element.hasAttribute("sap")&&!(e.isRegistered&&e.isRegistered(a.element))&&(r=!0)}r&&(De=e.remountIfPresent,Ae?queueMicrotask(ze):ze());for(let[a,l]of n)a.root.isConnected&&e.schedule(a,"mutation",l)}function ze(){let e=De;De=null,e?.()}function xe(e){if(R){let n=!Ae++;try{return R.suppress(e,n)}finally{Ae--}}let t=j("undo");if(t&&t.pause&&t.resume){t.pause();try{return e()}finally{t.resume()}}return e()}function Be(e,t){ke=!0,R=e,e.subscribe(n=>dr(t,n))}function jt(e){if(ke||typeof window>"u"||typeof document>"u")return;let t=j("Mutation");if(t&&typeof t.onAnyChange=="function"){Be(Lt(t),e);return}typeof MutationObserver=="function"&&(Be(fr(),e),Z=ve(document,xt,function(){let n=j("Mutation");n&&(Z(),Z=null,R&&R.teardown(),ke=!1,Be(Lt(n),e))}))}function Pt(){if(R)try{R.teardown()}catch{}Z&&typeof document<"u"&&Z(),R=null,ke=!1,Z=null}function pr(){Ae||(R&&R.flush(),ze())}var mr=new Set($e),de=Object.freeze([]),D=[],Rt={},Mt={},Fe=null;function Ot(e){D.includes(e)||(D.push(e),D.sort((t,n)=>(t.order??100)-(n.order??100)),e.boundary&&Object.assign(Rt,e.boundary),e.paintKinds&&Object.assign(Mt,e.paintKinds))}function hr(e){Fe=e}function Wt(e,t={}){if(t.breaker){e.diag.error("E26",e.root,{problem:"recompute loop halted after 50 passes; recent triggers: "+(e._breakerRing||[]).join(", ")}),G(e.root,"loop");return}t.full&&(ht(),Fn()),e._inPass=!0;let n=Mn(e.root),r=null;try{xe(()=>{r=br(e,t)})}finally{e._inPass=!1,On(n)}Fe&&r&&Fe(e,r),e._viewsChanged&&(e._viewsChanged=!1,e.root.dispatchEvent(new CustomEvent("sap:views-updated",{bubbles:!0})))}function br(e,t){let n=e.root,r={},a=[],l=[],o=new Set;e.diag.errors=[];let g=t.full||e._changes===!1?null:e._changes||de;e._changes=null;let b=new Set,m=new Map,d=(s,i)=>s.map(u=>m.get(u)?.push(i)??m.set(u,[i])),c={root:r,state:r,item:null,ownerEl:n,projection:!1},p=null;function A(s,i,u=!1){let f=i.attr||i.name,h=u?Xn(s,f):s.getAttribute(f);return h==null&&(h=lt(i),l.push({el:s,name:i.name,attr:f,value:yn(Ce(h,i.type),i.type)})),Ce(h,i.type)}function T(s,i,u,f){let h=i.decls;if(!h)return;let y=!!f.item&&!f.projection&&!f.view;for(let E of h){if(E.transient){p&&(p.pure=!1),u[E.name]=wn(s,E);continue}if(it(s,E)){u[E.name]=s.hasAttribute(E.attr);continue}u[E.name]=A(s,E,y)}}function _(s,i,u){let f=i.bind,h=u.item||u.state,y=Nt(s);p&&(y!=="leaf"||i.transient)&&(p.pure=!1),y==="radio"?(f in h||(h[f]=""),s.checked&&(h[f]=s.value)):y==="leaf"&&u.item&&!u.projection&&!u.view?h[f]=Vn(s):h[f]=sr(s,y),i.transient&&(s.removeAttribute("value"),s.removeAttribute("checked"))}function P(s,i,u){let f=!1;if(i.waits&&b.add(i.waits),i.wants&&(d(i.wants,s),f=!0),p&&i.impure&&(p.pure=!1),i.paints){f=!0;for(let h of i.paints)h.kind==="when"&&o.add(h.field),a.push({def:h,el:s,ctx:u})}for(let h of D)h.collect&&h.collect($,s,i,u)!==!1&&(f=!0);p&&f&&(i.calcs&&(p.pure=!1),p.collects.push(s,i))}function q(s,i,u){Object.defineProperty(s,"$key",{value:hn(i,"row"),enumerable:!1}),Object.defineProperty(s,"$index",{value:u,enumerable:!1,configurable:!0}),Object.defineProperty(s,"$el",{value:i,enumerable:!1})}function z(s,i,u){let f=ce(s);T(s,f,i,u),s._sapScope=i,!u.projection&&f.bind!=null&&_(s,f,u),P(s,f,u),f.items?Y(s,i,u):B(s,i,u)}function B(s,i,u){for(let f=s.firstElementChild;f;f=f.nextElementSibling)H(f,i,u)}function H(s,i,u){let f=ce(s);if(!f.inert){if(f.boundary){if(p&&(p.pure=!1),f.boundary==="scope")N(s,i,u);else if(f.boundary==="items")P(s,f,u),Y(s,i,u);else if(f.waits)b.add(f.waits);else{let h=Rt[f.boundary];h?h($,s,f,i,u):f.wants&&d(f.wants,s)}return}!u.projection&&!u.view&&f.bind!=null&&_(s,f,u),P(s,f,u);for(let h=s.firstElementChild;h;h=h.nextElementSibling)H(h,i,u)}}function N(s,i,u){let f=s.getAttribute("scope"),h={};i[f]=h;let y={root:u.root,state:h,item:null,ownerEl:s,projection:u.projection};z(s,h,y)}function Y(s,i,u){p&&(p.pure=!1);let f=s.getAttribute("items"),h=[];i[f]=h,s._sapList=h;let y=!u.projection&&!u.view&&Hn(),E=0;for(let x=s.firstElementChild;x;x=x.nextElementSibling){let S=ce(x);if(!S.item||S.template||S.cms)continue;let w=y?Un(x):void 0;h.push(w&&w.plan===S&&Object.isExtensible(w.obj)&&k(w,x,E,u)||v(x,S,E,u,y)),E++}}function v(s,i,u,f,h){let y={};q(y,s,u);let E={root:f.root,state:f.state,item:y,ownerEl:s,projection:f.projection};if(!h)return z(s,y,E),y;let x=p,S={plan:i,obj:y,fields:null,presence:de,pending:de,collects:[],pure:!0},w=l.length,Ge=e.diag.errors.length;p=S;try{z(s,y,E)}finally{p=x}if(!S.pure||e.halted||e.diag.errors.length!==Ge)return y;let ne=[];for(let re of Object.keys(y)){let Xe=y[re];if(Xe!==null&&typeof Xe=="object")return y;ne.push(re,Xe)}if(i.decls)for(let re of i.decls)it(s,re)&&(S.presence===de?S.presence=[]:S.presence).push(re.name,re.attr);return l.length>w&&(S.pending=l.slice(w)),S.collects.length||(S.collects=de),S.fields=ne,qn(s,S),y}function k(s,i,u,f){let h=s.obj;try{h.$index!==u&&Object.defineProperty(h,"$index",{value:u,enumerable:!1,configurable:!0});let x=s.presence;for(let w=0;w<x.length;w+=2)h[x[w]]=i.hasAttribute(x[w+1]);let S=s.fields;for(let w=0;w<S.length;w+=2)h[S[w]]=S[w+1]}catch{return vt(i),null}i._sapScope=h;let y=s.pending;for(let x=0;x<y.length;x++)l.push(y[x]);let E=s.collects;if(E.length){let x={root:f.root,state:f.state,item:h,ownerEl:i,projection:f.projection};for(let S=0;S<E.length;S+=2)P(E[S],E[S+1],x)}return h}let $={app:e,root:n,rootObj:r,paints:a,stats:{calcs:0,lists:0},resolveDefault:A,collectEl:P,walkScope:B,changes:g,full:g===null,trigger:t.cause||t.trigger||"refresh",waiting:b,wanted:m};for(let s of D)s.begin&&s.begin($);let L=t.cacheReads===!1?null:Yn(n);try{z(n,r,c)}finally{t.cacheReads!==!1&&Gn(L)}if(e.halted||b.size)return $;for(let s of D)s.afterIntake&&s.afterIntake($);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 D)s.compute&&s.compute($);let C=0;for(let s of D)s.reconcile&&(C+=s.reconcile($));let te=0,M=C;for(let s of a){let i=wr(s,e);s.ctx.view?M+=i:te+=i}for(let s of D)s.afterPaint&&s.afterPaint($);return e._state=r,e._stats={fields:Object.keys(r).filter(s=>typeof r[s]!="function").length,calcs:$.stats.calcs,paints:a.length,lists:$.stats.lists,writes:te,viewWrites:M},e._viewsChanged=M>0,e._lastPass={trigger:t.trigger||"refresh",writes:te},e._debug&&console.log(`sap pass \xB7 trigger: ${e._lastPass.trigger} \xB7 writes ${te}/${a.length}`),$}function gr(e){let t=e.kind==="text"?e.fmt||null:e.arg;return t==null?e.kind:e.kind+":"+t}function yr(e,t,n,r){let a=e;for(;a&&a.nodeType===1;){if(a.hasAttribute&&a.hasAttribute(t)){let l=n.includes(a.getAttribute(t));if(r?!l:l)return!0}a=a.parentElement}return!1}function wr(e,t){let n=e.def,r=e.el,a=Mt[n.kind];if(a)return a(e,t);if(n.kind==="when")return Dt(n,r,null);try{let l=Me(n.entry,e.ctx.state,e.ctx.item,r,e.ctx.root),o=Dt(n,r,l);return Ne(r),o}catch(l){return t.diag.error(l.sapCode==="E22"?"E22":"E24",r,{attr:gr(n),expr:n.entry&&n.entry.src,problem:String(l.message)}),G(r,l.sapCode||"E24"),0}}function Dt(e,t,n){switch(e.kind){case"text":{let r=e.fmt!=null?Nn(e.fmt,n):n==null?"":String(n);return t.textContent!==r?(t.textContent=r,1):0}case"show":{let r=!n;return t.hidden!==r?(t.hidden=r,1):0}case"when":{let r=j("optionVisibility");if(r&&r._started)return t._sapWhen&&t.hidden?(t.hidden=!1,t._sapWhen=!1,1):0;t._sapWhen=!0;let a=yr(t,e.field,e.values,e.match==="show-not")===(e.match==="hide");return t.hidden!==a?(t.hidden=a,1):0}case"attr":{let r=e.arg;if((r==="checked"||r==="selected")&&typeof t[r]=="boolean"&&!t.hasAttribute("bind")&&!t.closest("select[bind]")){let l=0;return t[r]!==!!n&&(t[r]=!!n,l=1),!!n!==t.hasAttribute(r)&&(n?t.setAttribute(r,""):t.removeAttribute(r),l=1),l}if(mr.has(r)){let l=t.hasAttribute(r);return n&&!l?(t.setAttribute(r,""),1):!n&&l?(t.removeAttribute(r),1):0}let a=typeof n=="boolean"?String(n):n==null?"":String(n);return t.getAttribute(r)!==a?(t.setAttribute(r,a),1):0}case"class":{let r=!!n;return t.classList.contains(e.arg)!==r?(t.classList.toggle(e.arg,r),1):0}case"css":{let r=n==null?"":String(n);return t.style.getPropertyValue("--"+e.arg)!==r?(t.style.setProperty("--"+e.arg,r),1):0}default:return 0}}var vr=new Set($e),zt=new Set(["calc","text","attr","class","css","set","move","sort","option","option-not","show-when","hide-when","editmode","viewmode"]),Er=new Set(["show-when","hide-when","option","option-not"]),Ar=/\b(?:state|item|root)\.|===|!==|&&|\|\||[()]|^\s*!/,Bt=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"]),Ie=[];function Ft(e){Ie.includes(e)||Ie.push(e)}function kr(e){return e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"}function He(e){return e.hasAttribute("bind")}function xr(e,t){t(e);for(let r=e.firstElementChild;r;r=r.nextElementSibling)n(r);function n(r){if(!r.hasAttribute("sap-ignore")){if(r.tagName==="TEMPLATE"){if(r.hasAttribute("items"))for(let a=r.content.firstElementChild;a;a=a.nextElementSibling)n(a);return}if(t(r),!ie(r))for(let a=r.firstElementChild;a;a=a.nextElementSibling)n(a)}}}function Sr(e,t){let n=!1,r=(o,g,b)=>{t.error(o,g,b),n=!0},a=e.ownerDocument.createTreeWalker(e,5,{acceptNode:o=>o.nodeType===3?1:ie(o)||o.hasAttribute("bind")||o.hasAttribute("sap-ignore")?2:3}),l;for(;l=a.nextNode();)if(/\{\{.*\}\}/.test(l.nodeValue||"")){r("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 xr(e,o=>{let g=new Set;for(let m of Ie)m(o,r,d=>g.add(d));let b=o.closest&&o.closest("[detail]");for(let m of[...o.attributes]){let d=m.name;if(g.has(d))continue;if(d.includes(":")){let p=d.slice(0,d.indexOf(":"));if(!zt.has(p)&&!et(d)){let A=Ke(p,[...zt]);t.warn("W03",o,{attr:d,problem:`unknown "${p}:" attribute`,didYouMean:A?`${A}:`:null})}else if(Er.has(p)&&Ar.test(m.value)){let A=d.slice(d.indexOf(":")+1);t.warn("W04",o,{attr:d,expr:m.value,problem:`${p}: compares the "${A}" attribute against a literal value, not a JS expression`,fix:`use show="${m.value}" for an expression, or a literal like ${p}:${A}="overview"`})}}else if(!Bt.has(d)&&!et(d)&&!Je.has(d)&&!vr.has(d)&&!/^(data-|aria-|on)/.test(d)&&!(d in o)){let p=Ke(d,[...Bt]);p&&t.warn("W03",o,{attr:d,problem:`unknown "${d}" attribute`,didYouMean:p})}d==="attr:hidden"&&t.warn("W03",o,{attr:d,problem:"attr:hidden paints the wrong attribute",fix:'use show="expr"'});let c=He(o)||d==="attr:selected"&&o.tagName==="OPTION"&&!!o.closest("select[bind]");(d==="attr:value"||d==="attr:checked"||d==="attr:selected")&&c&&r("E30",o,{attr:d,problem:"attr: on a bound control collides with persist ownership",fix:"remove it; bind owns this attribute"}),d==="effect"&&He(o)&&/\b(value|checked)\s*=[^=]/.test(m.value)&&r("E30",o,{attr:d,expr:m.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"}),(d==="text"||d.startsWith("text:")||d==="show")&&kr(o)&&(d==="show"||r("E18",o,{attr:d,problem:"paint belongs on output elements, not form controls",fix:"move the paint to an <output> or <span>"}))}if(o.hasAttribute("state")){let m=at(o.getAttribute("state")),d=new Set;for(let c of m){c.name.includes("-")&&r("E08",o,{attr:"state",problem:`field "${c.name}" is not a valid identifier (the hyphen parses as subtraction)`,fix:`rename to ${c.name.replace(/-/g,"")}`}),d.has(c.name)&&r("E04",o,{attr:"state",problem:`field "${c.name}" is declared twice in one scope`}),d.add(c.name),an.has(c.attr)&&r("E05",o,{attr:"state",problem:`"${c.name}" is a reserved Sap word`}),Je.has(c.attr)&&r("E06",o,{attr:"state",problem:`"${c.name}" is a global HTML attribute name; pick another field name`}),c.name==="open"&&o.tagName==="DIALOG"&&r("E33",o,{attr:"state",problem:"dialog open is transient",fix:"use showModal() \u2014 declare state= only on <details> or popovers"});let p=ot(o,c.attr);p&&(c.attr==="checked"||c.attr==="selected")&&r("E35",o,{attr:"state",problem:`"${c.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&&c.type==="num"&&r("E35",o,{attr:"state",problem:`"${c.attr}" is an HTML boolean attribute; it cannot hold a number`,fix:`declare it bare: state="${c.attr}"`}),c.transient&&(p||c.type==="presence")&&r("E35",o,{attr:"state",problem:`"${c.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(He(o)){if(o.hasAttribute("-"),o.tagName==="INPUT"){let m=(o.getAttribute("type")||"text").toLowerCase();m==="file"&&r("E32",o,{attr:"bind",problem:"files never serialize into an HTML file",fix:"use no-save + effect instead of bind"}),m==="password"&&!o.hasAttribute("transient")&&r("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 m=o.getAttribute("contenteditable");!(m!=null&&m!=="false")&&o.children.length>0&&r("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")&&r("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 m=o.parentElement;(!m||!m.hasAttribute("items"))&&r("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")&&b&&r("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 m=e.querySelector(`[trigger-add="${o.getAttribute("items")}"]`);!gn(o)&&!rt(e,o.getAttribute("items"))&&bn(o).length===0&&m&&r("E17",o,{attr:"items",problem:`trigger-add targets items="${o.getAttribute("items")}" but it has no [item template] to clone`})}}),n&&(t.halted=!0,t.haltReason=t.errors[0]?t.errors[0].code:"halt",G(e,t.haltReason)),!n}var It="sap-styles",Ht="[item][template]{display:none!important}[hidden]{display:none!important}[sap-error]{outline:2px solid #e5484d;outline-offset:1px}",Ue=new WeakSet;function $r(e){if(Ue.has(e))return;let t=e.defaultView,n=t&&t.CSSStyleSheet;if(n&&"adoptedStyleSheets"in e)try{let r=new n;r.replaceSync(Ht),e.adoptedStyleSheets=[...e.adoptedStyleSheets,r],Ue.add(e);return}catch{}if(!e.getElementById(It)){let r=e.createElement("style");r.id=It,r.textContent=Ht,(e.head||e.documentElement).appendChild(r)}Ue.add(e)}var Nr=0;function Ut(){return typeof performance<"u"&&performance.now?performance.now():0}function qt(e){let t=e.id||e.getAttribute("sap")||`app-${Nr++}`,n=new ln(t),r={root:e,name:t,diag:n,_state:null,_stats:null,_lastPass:null,_passes:0,_broken:!1,_mountMs:0,_mountWrites:0};if(!Sr(e,n))return r.halted=!0,r;$r(e.ownerDocument);for(let l of e.querySelectorAll("textarea[data-value]"))_e(l)||kt(l);let a=Ut();return Wt(r,{trigger:"mount",full:!0}),r._mountMs=Ut()-a,r._mountWrites=r._stats?r._stats.writes:0,r._mountWrites>0&&!Kn()&&!j("derived")&&n.warn("W30",e,{problem:`${r._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)"}),r}var Tr=/^(set:|move:|sort:|trigger-add$|trigger-remove$|trigger-reset$)/;function _r(e){return`${e.tagName.toLowerCase()}[sap]`}function Lr(e){let t={actions:0,lists:0,rows:0};return X(e,n=>{n.hasAttribute("items")&&t.lists++,n!==e&&n.hasAttribute("item")&&!n.hasAttribute("template")&&t.rows++,[...n.attributes].some(r=>Tr.test(r.name))&&t.actions++}),t}function Cr(e){function t(o){let g=o._stats||{},b=o.root;return{root:_r(b),fields:g.fields||0,calcs:g.calcs||0,paints:g.paints||0,...Lr(b),warnings:o.diag.warnings.length,errors:o.diag.errors.length,mountWrites:o._mountWrites||0,ms:Math.round((o._mountMs||0)*10)/10,passes:o._passes||0,lastPass:o._lastPass||null,ok:o.diag.errors.length===0&&!o.halted}}function n(){let o=e.apps().map(t);return{ok:o.every(g=>g.ok),apps:o}}function r(o){let g=t(o);return g.ok?`sap \u2713 ${g.root} \xB7 fields ${g.fields} \xB7 calcs ${g.calcs} \xB7 paints ${g.paints} \xB7 actions ${g.actions} \xB7 lists ${g.lists} \xB7 rows ${g.rows} \xB7 warnings ${g.warnings} \xB7 mount writes ${g.mountWrites} \xB7 ${g.ms}ms`:`sap \u2717 ${g.root} \xB7 errors ${g.errors} \xB7 warnings ${g.warnings} \xB7 ${g.ms}ms`}function a(){let o=[],g=[];for(let b of e.apps())o.push(...b.diag.errors),g.push(...b.diag.warnings);return{ok:o.length===0,errors:o,warnings:g,counts:{errors:o.length,warnings:g.length}}}function l(o){let g=o===void 0?!0:!!o;for(let b of e.apps())b._debug=g;return console.log(`sap debug ${g?"on":"off"} \u2014 per-pass headers will ${g?"":"no longer "}log`),g}return{status:n,report:a,debug:l,greenLine:r}}var qe="0.9.1",jr={},Pr=/^(https:\/\/(?:cdn\.jsdelivr\.net\/npm|unpkg\.com)\/@panphora\/sapjs)(?=[@/]|$)/,Yt=e=>new Promise(t=>setTimeout(t,e)),Gt=e=>e.getAttribute("plugins")?.match(/\S+/g)||[];function Rr(e,t,n){let r=new Map,a=new Map,l=new Map,o=new Map,g=[],b=new Set,m={},d=!1,c,p=globalThis,A=Array.isArray(p.sapPlugins)?p.sapPlugins:p.sapPlugins==null?p.sapPlugins=[]:[],T=p.document?.currentScript?.src||"",_=Pr.exec(T),P=i=>a.get(i)?.api||null,q=i=>Promise.allSettled(i.map(C));function z(){let i=new Map;for(let u of r.values())if(!a.has(u.name))for(let f of u.helpers||[])i.set(f,u.name);_n(m,i),ht()}function B(i){r.set(i.name,{...r.get(i.name),...i}),un(i),z()}function H(i){r.has(i.name)||B(i)}function N(i){A.includes(i)||A.push(i),B(i)}function Y(i){for(let u of e.apps())u.root.isConnected&&e.schedule(u,i)}let v=Object.freeze({api:1,version:qe,compile:pt,run:Rn,runWith:Me,planOf:ce,drainPlans:Wn,forgetRow:vt,setBeacon:G,clearBeacon:Ne,write:xe,schedule(i,u="plugin"){let f=i?.root?i:e.appFor(i);f&&e.schedule(f,u)},appFor:e.appFor,apps:e.apps,capability:j,mayWrite:Ee,load:C,plugin:P});function k(i){if(typeof i=="string")return C(i);let{name:u,api:f}=i,h=w=>{throw new Error(`Sap.use: plugin "${u}" ${w}`)};if((typeof u!="string"||f!==1)&&h(`needs a name and plugin API 1; it gives API ${f}`),d)return null;if(a.has(u))return P(u);if((i.requires||[]).some(w=>!a.has(w)))return N(i),g.includes(i)||g.push(i),null;let y=i.setup?.(v)||{},E=(w,Ge)=>{for(let ne of Array.isArray(i[w])?i[w]:Object.keys(i[w]||{}))(typeof(y[w]||{})[ne]!="function"||Ge(ne))&&h(`cannot add "${ne}" to ${w}: the name is taken or not valid, or setup does not supply it`)},x=w=>!Te(w,u);E("helpers",w=>(dt(w)&&h(`cannot add "${w}": window.${w} exists; rename the helper`),!Ln(w)||w in m)),E("boundaries",x),E("directives",x);for(let w in y.api)w in t&&h(`cannot add Sap.${w}: the name is taken`);N(i);let S={...y,name:u,order:i.order,boundary:{}};for(let w in i.boundaries)S.boundary[w]=y.boundaries[w];for(let w of i.helpers||[])m[w]=y.helpers[w];for(let w in y.formats)w in V||(V[w]=y.formats[w]);return Ot(S),y.lint&&Ft(y.lint),Object.assign(t,y.api),a.set(u,S),o.delete(u),cn(u,y.directives||!0),z(),xe(()=>b.forEach(Ne)),b.clear(),g.splice(0).forEach($),Y("plugin:"+u),P(u)}function $(i){try{k(i)}catch(u){console.error(u)}}function L(i){if(d||a.has(i))return null;let u=r.get(i)||{},f=M.loader?.(i,u),h=u.url||M.base&&M.base+(u.file||i)+".js";return(f!==void 0?Promise.resolve(f):new Promise((y,E)=>{if(!h)throw new Error(`no address for plugin "${i}": call Sap.use(definition)`);let x=document.createElement("script");x.src=h,x.setAttribute("clay","editor-ui"),x.onload=x.onerror=S=>{x.remove(),S.type==="load"?y():E(new Error("could not load "+h))},document.head.append(x)})).then(y=>{if(d)return;let E=y?.default||y||A.find(x=>x.name===i);if(E?.name&&k(E),!a.has(i))throw new Error(`plugin "${i}" loaded and did not register`)})}function C(i){if(a.has(i))return Promise.resolve(P(i));if(l.has(i))return l.get(i);o.delete(i);let u=Promise.all((r.get(i)?.requires||[]).map(C)).then(()=>L(i));for(let h of M.retryDelays)u=u.catch(()=>Yt(h).then(()=>L(i)));let f=u.finally(()=>l.delete(i)).then(()=>P(i),h=>{throw o.set(i,h),c||=!p.addEventListener?.("online",()=>M.retry()),Y("plugin-failed:"+i),document.dispatchEvent(new CustomEvent("sap:plugin-failed",{detail:{plugin:i,error:h}})),h});return l.set(i,f),f}function te(i){let u=new Set;for(let f of i.closest?.("[sap]")?[i]:i.querySelectorAll("[sap]")){for(let h of Gt(f.closest("[sap]")))u.add(h);r.size>a.size&&X(f,h=>{let y=ce(h);return y.inert?!1:(y.wants?.map(E=>u.add(E)),!!u.add(y.waits))})}return[...u].filter(f=>f&&!a.has(f))}hr((i,u)=>{for(let f of new Set([...u.wanted.keys(),...u.waiting,...Gt(i.root)])){if(a.has(f))continue;let h=o.get(f);if(!h)C(f).catch(()=>{});else{let y=u.wanted.get(f)?.[0]||i.root;i.diag.error("E52",y,{problem:`the "${f}" plugin did not load: ${h.message}`,fix:"Sap.plugins.retry() tries again"}),b.add(y),xe(()=>G(y,"E52"))}}});let M={api:1,base:_?`${_[1]}@${qe}/dist/sap-plugins/`:/^[^:]+:\//.test(T)?new URL("sap-plugins/",T).href:null,loader:null,retryDelays:[1e3,4e3],declare:H,load:C,ready(i=document,u=3e3){let f=new Set,h=()=>{let E=te(i).filter(x=>!f.has(x)&&f.add(x));return E.length&&q(E).then(h)},y=h();return y?Promise.race([y,Yt(u)]):null},has:i=>a.has(i),status:()=>({installed:[...a.keys()],loading:[...l.keys()],failed:[...o.keys()]}),retry:i=>q(i?[i]:[...o.keys()])};function s(){let i=[],u=()=>(pr(),n.flushNow()),f=[...a.values()].filter(h=>h.flush);u();for(let h=0;f.length&&h<8;h++){for(let y of f){let E=y.flush();E?.then&&i.push(E)}if(!u())break}return i.length?Promise.all(i).then(s):null}t.use=k,t.plugins=M,t.flush=s;for(let i of Object.values(jr))H(i);return A.slice().forEach($),function(){d=!0;for(let i of a.values())i.dispose?.();a.clear(),o.clear()}}function Mr({createAccessor:e,installInput:t,debugExtras:n}){let r=new Map,a=[],l=nn(Wt);function o(v){let k=v;for(;k;){if(k.nodeType===1&&k.hasAttribute&&k.hasAttribute("sap"))return r.get(k)||null;k=k.parentNode&&k.parentNode.host?k.parentNode.host:k.parentElement}return null}function g(){for(let v=a.length-1;v>=0;v--){let k=a[v];k.root.isConnected||(r.delete(k.root),a.splice(v,1))}}function b(v,k){if(v.moveBefore)try{v.moveBefore(k,null);return}catch{}v.appendChild(k)}function m(v,k){let $=k.parentElement;if($){if($.moveBefore)try{$.moveBefore(v,k);return}catch{}$.insertBefore(v,k)}}let d={apps:()=>a.slice(),appFor:o,isRegistered:v=>r.has(v),pruneDisconnected:g,schedule:l.schedule,runNow:(v,k)=>l.runNow(v,k),moveInto:b,placeBefore:m,remountIfPresent:()=>B()},c=e(d),p=Cr(d),A=n?n(d,p):{},T=!1,_=!1,P=null;function q(){T||(T=!0,t(d,c,document),P=ar(d))}function z(){let v=j("derived");v&&typeof v.mounted=="function"&&v.mounted()}function B(v=document){if(_)return[];q(),jt(d);let k=v.querySelectorAll("[sap]"),$=[];for(let L of k){if(r.has(L)||_e(L))continue;let C=qt(L);r.set(L,C),a.push(C),$.push(C)}for(let L of $){let C=p.greenLine(L);L.diag.errors.length||L.halted?console.error(C):console.log(C)}return z(),$}function H(v){if(_)return null;if(q(),jt(d),!v)return B();let k=typeof v=="string"?document.querySelector(v):v;if(!k)return null;if(r.has(k))return r.get(k);let $=qt(k);r.set(k,$),a.push($);let L=p.greenLine($);return $.diag.errors.length||$.halted?console.error(L):console.log(L),$}let N=c.Sap;N.version=qe,N.refresh=function(){for(let v of a.slice())v.root.isConnected&&l.runNow(v,"refresh")},N.batch=rr,N.status=p.status,N.report=p.report,N.why=A.why,N.debug=p.debug,N.doctor=A.doctor,N.greenLine=p.greenLine,N.formats=V,N.serializeControlToAttributes=We,N.finalizeControlForSave=Jn,N.rehydrateControlFromAttributes=kt,N.mount=H,N.config=function(v={}){return v.formats&&Object.assign(V,v.formats),N},N._registry=r,N._reset=function(){r.clear(),a.length=0,Pt()},N.unmount=function(){_=!0,r.clear(),a.length=0,Pt(),typeof P=="function"&&P(),Y()};let Y=Rr(d,N,l);return{Sap:N,mountAll:B,mount:H,runtime:d}}function Or(e){if(typeof document>"u")return;let t=()=>nr(()=>e());document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Wr(e){let t=[];function n(b){let m=b.target;if(!m||m.nodeType!==1)return;let d=e.appFor(m);if(d){m.hasAttribute("persist")&&!St(m)&&Ee(m)&&We(m);for(let c of t)if(c(m,d))return;e.schedule(d,b.type+" "+(m.id||m.tagName.toLowerCase()))}}function r(b){let m=b.target,d=e.appFor(m);d&&[...m.querySelectorAll("[bind]")].every(c=>Ee(c))&&setTimeout(()=>{m.querySelectorAll("[bind]").forEach(c=>{c.dispatchEvent(new Event("input",{bubbles:!0})),c.dispatchEvent(new Event("change",{bubbles:!0}))}),e.schedule(d,"reset")},0)}function a(b){let m=e.appFor(b.target);m&&e.schedule(m,"toggle")}function l(b){let m=b.detail||{};for(let d of[m.from,m.to,b.target]){if(!d||d.nodeType!==1)continue;let c=e.appFor(d);c&&e.schedule(c,"sorted")}}function o(b){if(b.key!=="ArrowUp"&&b.key!=="ArrowDown")return;let m=b.target;if(!m||m.nodeType!==1||m.tagName!=="INPUT"||!m.hasAttribute("bind")||!m.hasAttribute("step"))return;let d=(m.getAttribute("type")||"text").toLowerCase();if(d!=="text"&&d!=="tel"&&d!=="search"||!e.appFor(m)||!Ee(m))return;b.preventDefault();let c=O(m.getAttribute("step"))||1,p=b.key==="ArrowUp"?1:-1,A=O(m.value)+c*(b.shiftKey?10:1)*p,T=m.getAttribute("min"),_=m.getAttribute("max");T!==null&&T!==""&&A<O(T)&&(A=O(T)),_!==null&&_!==""&&A>O(_)&&(A=O(_)),ur(m).write(String(Number(A.toFixed(2))))}function g(b=document){b.addEventListener("reset",r),b.addEventListener("toggle",a,!0),b.addEventListener("input",n),b.addEventListener("change",n),b.addEventListener("clay:sorted",l),b.addEventListener("keydown",o)}return{install:g,addRouter:b=>t.push(b)}}var pe="https://clayjs.com/v1/sap.js",Dr=/^(calc|set|move|sort):/,zr=new Set(["each","detail","effect","invalid","confirm","trigger-add","trigger-remove","trigger-reset"]);function Ye(e){return Dr.test(e)||zr.has(e)}Ft((e,t)=>{for(let n of e.attributes)Ye(n.name)&&t("E50",e,{attr:n.name,expr:n.value,problem:`${n.name} is full sapjs; the sapjs core only paints declared state`,fix:`load ${pe}; the markup stays as it is`})});function ee(e,t,n){e.app.diag.error("E50",t,{attr:n,problem:`${n} is full sapjs; the sapjs core only paints declared state`,fix:`load ${pe}; the markup stays as it is`}),G(t,"E50"),e.app.halted=!0}Ot({name:"core-only",collect(e,t,n){n.calcs&&ee(e,t,"calc:"+n.calcs[0].name),n.effects&&ee(e,t,"effect"),n.invalids&&ee(e,t,"invalid");for(let r of t.attributes)Ye(r.name)&&(r.name.startsWith("calc:")&&n.calcs||r.name==="effect"&&n.effects||r.name==="invalid"&&n.invalids||ee(e,t,r.name));return!1},boundary:{each(e,t){ee(e,t,"each")},detail(e,t){ee(e,t,"detail")}}});function Br(){return{Sap:function(){throw new Error(`Sap(el) is full sapjs; load ${pe}`)}}}var Xt=e=>()=>(console.warn(`Sap.${e} is full sapjs; load ${pe}`),null),{Sap:me,mountAll:Vt,mount:Fr,runtime:Ir}=Mr({createAccessor:Br,debugExtras:()=>({why:Xt("why"),doctor:Xt("doctor")}),installInput(e,t,n){Wr(e).install(n)}});me.core=!0;var Hr=typeof window<"u"&&window.Sap&&!window.Sap.core;Hr?me.unmount():Or(Vt),typeof window<"u"&&!window.Sap&&(window.Sap=me);var Ur=me;return tn(Ve)})(),Yr=qr.default;export{Yr as default};
|
|
7
|
+
`+t.value:t.value;e.textContent!==r&&(e.textContent=r),e.removeAttribute("data-value");return}if(n==="SELECT"){let r=e.options,a=t.options;for(let l=0;l<r.length;l++)a[l]&&a[l].selected?r[l].hasAttribute("selected")||r[l].setAttribute("selected",""):r[l].removeAttribute("selected")}}function kt(e){e.tagName!=="TEXTAREA"||!e.hasAttribute("data-value")||e!==e.ownerDocument.activeElement&&(e.textContent=e.getAttribute("data-value"),e.removeAttribute("data-value"))}function j(e){if(typeof window>"u")return null;let t=window.clay,n=window.hyperclay;return e==="consent"?t?.confirm||n?.consent||null:t?.[e]||n?.[e]||null}function Kn(){let e=j("visitorDrafts");return!!(e&&typeof e.restored=="function"&&e.restored()?.restored)}var xt=["clay:mutation-ready","hyperclay:mutation-ready"],Qn=["clay:sync-applied","hyperclay:livesync-applied"],Zn=["clay:ready","hyperclay:ready"],er=["clay:route"],tr=["clay:modechange"];function ve(e,t,n){let r=null,a=l=>{r!==null&&r!==l.type||(r=l.type,queueMicrotask(()=>{r=null}),n(l))};for(let l of t)e.addEventListener(l,a);return()=>{for(let l of t)e.removeEventListener(l,a)}}function nr(e){let t=typeof window<"u"&&window.clay&&window.clay.ready;t&&typeof t.then=="function"?t.then(()=>e(),()=>e()):e()}function St(e){let t=j("region");return!t||typeof t.resolveRegionPolicy!="function"||typeof t.skipForPolicy!="function"?!1:t.skipForPolicy(t.resolveRegionPolicy(e),void 0,["no-save","freeze"])}function $t(){return typeof window>"u"?null:window.clay?.modeLifecycle||null}function Ee(e,{transient:t=!1}={}){if(t)return!0;let n=$t();return typeof n?.canWrite!="function"||j("region")?.resolveRegionPolicy?.(e)?.persist==="none"?!0:n.canWrite()}function rr(e,t){if(typeof t!="function")throw new Error("Sap.batch(label, fn): fn must be a function");let n=j("undo");n&&n.flush&&n.flush();let r=t();if(r&&typeof r.then=="function")throw new Error("Sap.batch fn must be synchronous (it returned a promise)");return n&&n.commitCaptured&&n.commitCaptured(e),r}function ar(e){if(typeof window>"u"||typeof document>"u")return;let t=()=>{let p=!1;for(let A of e.apps())A.root.isConnected?e.runNow(A,"platform"):p=!0;p&&e.pruneDisconnected(),e.remountIfPresent()},n=j("derived"),r=n&&typeof n.register=="function"?n.register(t):null,a=typeof r=="function"?null:ve(document,Qn,t),l=ve(document,er,t),o=null,g=!1,b=()=>{let p=o;o=null,p&&(p[2](),p[3]())},m=()=>{if(g)return!1;let p=j("undo"),A=$t()?.state?.generation;if(o&&o[0]===p&&o[1]===A)return!0;if(b(),!p||typeof p.on!="function")return!1;let T=p.on("undo",t);if(typeof T!="function")return!1;let _=p.on("redo",t);return typeof _!="function"?(T(),!1):(o=[p,A,T,_],!0)};m();let d=[xt,Zn,tr].map(p=>ve(document,p,m)),c=j("ready");return c&&typeof c.then=="function"&&c.then(m,()=>{}),()=>{g=!0,typeof r=="function"&&r(),a&&a(),l();for(let p of d)p();b()}}function Nt(e){let t=e.tagName;if(t==="INPUT"){let n=(e.getAttribute("type")||"text").toLowerCase();return n==="checkbox"?"checkbox":n==="radio"?"radio":n==="number"||n==="range"?"number":n==="hidden"?"hidden":"text"}return t==="TEXTAREA"?"text":t==="SELECT"?e.multiple?"select-multiple":"select-one":"leaf"}function or(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 Tt(e,t){switch(t){case"checkbox":return e.checked;case"radio":return e.checked?e.value:void 0;case"number":return or(e);case"select-one":return e.value;case"select-multiple":return[...e.selectedOptions].map(n=>n.value);case"hidden":case"text":return e.value;case"leaf":return e.textContent;default:return e.value}}function ir(e,t,n){switch(t){case"checkbox":e.checked=!!n;break;case"radio":e.checked=String(e.value)===String(n);break;case"number":case"text":case"hidden":e.value=n==null?"":String(n);break;case"select-one":e.value=n==null?"":String(n);break;case"select-multiple":{let r=new Set((Array.isArray(n)?n:[n]).map(String));for(let a of e.options)a.selected=r.has(a.value);break}case"leaf":e.textContent=n==null?"":String(n);break;default:e.value=n==null?"":String(n)}}function _t(e){if(e.hasAttribute("transient")){e.removeAttribute("value"),e.removeAttribute("checked"),e.removeAttribute("data-value");return}St(e)||We(e)}function lr(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function sr(e,t){return Tt(e,t)}function ur(e){let t=Nt(e);return{el:e,kind:t,read(){return Tt(e,t)},write(n,r={}){ir(e,t,n),r.noMirror||_t(e),r.silent||lr(e)},mirror(){_t(e)}}}var cr=[],R=null,Ae=0,De=null,ke=!1,Z=null;function Lt(e){let t=null;return{kind:"hub",flush(){e.pause(),e.resume()},subscribe(n){let r=e.onAnyChange({debounce:0,require:"observed"},n);typeof r=="function"&&(t=r)},suppress(n){e.pause();try{return n()}finally{e.resume()}},teardown(){if(t){try{t()}catch{}t=null}}}}function fr(){let e=null,t=null;function n(){let r=e?e.takeRecords():cr;r.length&&t(Ct(r))}return{kind:"native",flush:n,subscribe(r){t=r,e=new MutationObserver(l=>r(Ct(l)));let a=document.body||document.documentElement;a&&e.observe(a,{childList:!0,subtree:!0,attributes:!0,characterData:!0})},suppress(r,a){let l=j("undo");a&&n(),l&&l.pause&&l.pause();try{return r()}finally{e&&e.takeRecords(),l&&l.resume&&l.resume()}},teardown(){e&&(e.disconnect(),e=null)}}}function Ct(e){let t=[];for(let n of e)if(n.type==="attributes"){let r=n.target;r&&r.nodeType===1&&!fe(r)&&t.push({type:"attribute",element:r,attribute:n.attributeName})}else if(n.type==="characterData"){let r=n.target&&n.target.parentElement;r&&!fe(r)&&t.push({type:"characterData",element:r})}else if(n.type==="childList"){let r=n.target;r.nodeType===1&&[...n.addedNodes,...n.removedNodes].some(l=>l.nodeType===3)&&!fe(r)&&t.push({type:"characterData",element:r});let a=n.addedNodes.length>0&&r.nodeType===1&&Le(r);for(let l of n.addedNodes)l.nodeType!==1||fe(l)||(a?t.push({type:"add",element:l,parent:r}):X(l,o=>{(o===l||!fe(o))&&t.push({type:"add",element:o,parent:r})}));for(let l of n.removedNodes)l.nodeType===1&&t.push({type:"remove",element:l,parent:r})}return t}function fe(e){return!!(e.closest&&e.closest("[sap-ignore],[template],[cms-template]"))}function dr(e,t){e.pruneDisconnected();let n=new Map,r=!1;for(let a of t){let l=a.type==="remove"?a.parent:a.element,o=l&&e.appFor(l);if(o){let g=n.get(o);g?g.push(a):n.set(o,[a])}a.type==="add"&&a.element&&a.element.nodeType===1&&a.element.hasAttribute&&a.element.hasAttribute("sap")&&!(e.isRegistered&&e.isRegistered(a.element))&&(r=!0)}r&&(De=e.remountIfPresent,Ae?queueMicrotask(ze):ze());for(let[a,l]of n)a.root.isConnected&&e.schedule(a,"mutation",l)}function ze(){let e=De;De=null,e?.()}function xe(e){if(R){let n=!Ae++;try{return R.suppress(e,n)}finally{Ae--}}let t=j("undo");if(t&&t.pause&&t.resume){t.pause();try{return e()}finally{t.resume()}}return e()}function Be(e,t){ke=!0,R=e,e.subscribe(n=>dr(t,n))}function jt(e){if(ke||typeof window>"u"||typeof document>"u")return;let t=j("Mutation");if(t&&typeof t.onAnyChange=="function"){Be(Lt(t),e);return}typeof MutationObserver=="function"&&(Be(fr(),e),Z=ve(document,xt,function(){let n=j("Mutation");n&&(Z(),Z=null,R&&R.teardown(),ke=!1,Be(Lt(n),e))}))}function Pt(){if(R)try{R.teardown()}catch{}Z&&typeof document<"u"&&Z(),R=null,ke=!1,Z=null}function pr(){Ae||(R&&R.flush(),ze())}var mr=new Set($e),de=Object.freeze([]),D=[],Rt={},Mt={},Fe=null;function Ot(e){D.includes(e)||(D.push(e),D.sort((t,n)=>(t.order??100)-(n.order??100)),e.boundary&&Object.assign(Rt,e.boundary),e.paintKinds&&Object.assign(Mt,e.paintKinds))}function hr(e){Fe=e}function Wt(e,t={}){if(t.breaker){e.diag.error("E26",e.root,{problem:"recompute loop halted after 50 passes; recent triggers: "+(e._breakerRing||[]).join(", ")}),G(e.root,"loop");return}t.full&&(ht(),Fn()),e._inPass=!0;let n=Mn(e.root),r=null;try{xe(()=>{r=br(e,t)})}finally{e._inPass=!1,On(n)}Fe&&r&&Fe(e,r),e._viewsChanged&&(e._viewsChanged=!1,e.root.dispatchEvent(new CustomEvent("sap:views-updated",{bubbles:!0})))}function br(e,t){let n=e.root,r={},a=[],l=[],o=new Set;e.diag.errors=[];let g=t.full||e._changes===!1?null:e._changes||de;e._changes=null;let b=new Set,m=new Map,d=(s,i)=>s.map(u=>m.get(u)?.push(i)??m.set(u,[i])),c={root:r,state:r,item:null,ownerEl:n,projection:!1},p=null;function A(s,i,u=!1){let f=i.attr||i.name,h=u?Xn(s,f):s.getAttribute(f);return h==null&&(h=lt(i),l.push({el:s,name:i.name,attr:f,value:yn(Ce(h,i.type),i.type)})),Ce(h,i.type)}function T(s,i,u,f){let h=i.decls;if(!h)return;let y=!!f.item&&!f.projection&&!f.view;for(let E of h){if(E.transient){p&&(p.pure=!1),u[E.name]=wn(s,E);continue}if(it(s,E)){u[E.name]=s.hasAttribute(E.attr);continue}u[E.name]=A(s,E,y)}}function _(s,i,u){let f=i.bind,h=u.item||u.state,y=Nt(s);p&&(y!=="leaf"||i.transient)&&(p.pure=!1),y==="radio"?(f in h||(h[f]=""),s.checked&&(h[f]=s.value)):y==="leaf"&&u.item&&!u.projection&&!u.view?h[f]=Vn(s):h[f]=sr(s,y),i.transient&&(s.removeAttribute("value"),s.removeAttribute("checked"))}function P(s,i,u){let f=!1;if(i.waits&&b.add(i.waits),i.wants&&(d(i.wants,s),f=!0),p&&i.impure&&(p.pure=!1),i.paints){f=!0;for(let h of i.paints)h.kind==="when"&&o.add(h.field),a.push({def:h,el:s,ctx:u})}for(let h of D)h.collect&&h.collect($,s,i,u)!==!1&&(f=!0);p&&f&&(i.calcs&&(p.pure=!1),p.collects.push(s,i))}function q(s,i,u){Object.defineProperty(s,"$key",{value:hn(i,"row"),enumerable:!1}),Object.defineProperty(s,"$index",{value:u,enumerable:!1,configurable:!0}),Object.defineProperty(s,"$el",{value:i,enumerable:!1})}function z(s,i,u){let f=ce(s);T(s,f,i,u),s._sapScope=i,!u.projection&&f.bind!=null&&_(s,f,u),P(s,f,u),f.items?Y(s,i,u):B(s,i,u)}function B(s,i,u){for(let f=s.firstElementChild;f;f=f.nextElementSibling)H(f,i,u)}function H(s,i,u){let f=ce(s);if(!f.inert){if(f.boundary){if(p&&(p.pure=!1),f.boundary==="scope")N(s,i,u);else if(f.boundary==="items")P(s,f,u),Y(s,i,u);else if(f.waits)b.add(f.waits);else{let h=Rt[f.boundary];h?h($,s,f,i,u):f.wants&&d(f.wants,s)}return}!u.projection&&!u.view&&f.bind!=null&&_(s,f,u),P(s,f,u);for(let h=s.firstElementChild;h;h=h.nextElementSibling)H(h,i,u)}}function N(s,i,u){let f=s.getAttribute("scope"),h={};i[f]=h;let y={root:u.root,state:h,item:null,ownerEl:s,projection:u.projection};z(s,h,y)}function Y(s,i,u){p&&(p.pure=!1);let f=s.getAttribute("items"),h=[];i[f]=h,s._sapList=h;let y=!u.projection&&!u.view&&Hn(),E=0;for(let x=s.firstElementChild;x;x=x.nextElementSibling){let S=ce(x);if(!S.item||S.template||S.cms)continue;let w=y?Un(x):void 0;h.push(w&&w.plan===S&&Object.isExtensible(w.obj)&&k(w,x,E,u)||v(x,S,E,u,y)),E++}}function v(s,i,u,f,h){let y={};q(y,s,u);let E={root:f.root,state:f.state,item:y,ownerEl:s,projection:f.projection};if(!h)return z(s,y,E),y;let x=p,S={plan:i,obj:y,fields:null,presence:de,pending:de,collects:[],pure:!0},w=l.length,Ge=e.diag.errors.length;p=S;try{z(s,y,E)}finally{p=x}if(!S.pure||e.halted||e.diag.errors.length!==Ge)return y;let ne=[];for(let re of Object.keys(y)){let Xe=y[re];if(Xe!==null&&typeof Xe=="object")return y;ne.push(re,Xe)}if(i.decls)for(let re of i.decls)it(s,re)&&(S.presence===de?S.presence=[]:S.presence).push(re.name,re.attr);return l.length>w&&(S.pending=l.slice(w)),S.collects.length||(S.collects=de),S.fields=ne,qn(s,S),y}function k(s,i,u,f){let h=s.obj;try{h.$index!==u&&Object.defineProperty(h,"$index",{value:u,enumerable:!1,configurable:!0});let x=s.presence;for(let w=0;w<x.length;w+=2)h[x[w]]=i.hasAttribute(x[w+1]);let S=s.fields;for(let w=0;w<S.length;w+=2)h[S[w]]=S[w+1]}catch{return vt(i),null}i._sapScope=h;let y=s.pending;for(let x=0;x<y.length;x++)l.push(y[x]);let E=s.collects;if(E.length){let x={root:f.root,state:f.state,item:h,ownerEl:i,projection:f.projection};for(let S=0;S<E.length;S+=2)P(E[S],E[S+1],x)}return h}let $={app:e,root:n,rootObj:r,paints:a,stats:{calcs:0,lists:0},resolveDefault:A,collectEl:P,walkScope:B,changes:g,full:g===null,trigger:t.cause||t.trigger||"refresh",waiting:b,wanted:m};for(let s of D)s.begin&&s.begin($);let L=t.cacheReads===!1?null:Yn(n);try{z(n,r,c)}finally{t.cacheReads!==!1&&Gn(L)}if(e.halted||b.size)return $;for(let s of D)s.afterIntake&&s.afterIntake($);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 D)s.compute&&s.compute($);let C=0;for(let s of D)s.reconcile&&(C+=s.reconcile($));let te=0,M=C;for(let s of a){let i=wr(s,e);s.ctx.view?M+=i:te+=i}for(let s of D)s.afterPaint&&s.afterPaint($);return e._state=r,e._stats={fields:Object.keys(r).filter(s=>typeof r[s]!="function").length,calcs:$.stats.calcs,paints:a.length,lists:$.stats.lists,writes:te,viewWrites:M},e._viewsChanged=M>0,e._lastPass={trigger:t.trigger||"refresh",writes:te},e._debug&&console.log(`sap pass \xB7 trigger: ${e._lastPass.trigger} \xB7 writes ${te}/${a.length}`),$}function gr(e){let t=e.kind==="text"?e.fmt||null:e.arg;return t==null?e.kind:e.kind+":"+t}function yr(e,t,n,r){let a=e;for(;a&&a.nodeType===1;){if(a.hasAttribute&&a.hasAttribute(t)){let l=n.includes(a.getAttribute(t));if(r?!l:l)return!0}a=a.parentElement}return!1}function wr(e,t){let n=e.def,r=e.el,a=Mt[n.kind];if(a)return a(e,t);if(n.kind==="when")return Dt(n,r,null);try{let l=Me(n.entry,e.ctx.state,e.ctx.item,r,e.ctx.root),o=Dt(n,r,l);return Ne(r),o}catch(l){return t.diag.error(l.sapCode==="E22"?"E22":"E24",r,{attr:gr(n),expr:n.entry&&n.entry.src,problem:String(l.message)}),G(r,l.sapCode||"E24"),0}}function Dt(e,t,n){switch(e.kind){case"text":{let r=e.fmt!=null?Nn(e.fmt,n):n==null?"":String(n);return t.textContent!==r?(t.textContent=r,1):0}case"show":{let r=!n;return t.hidden!==r?(t.hidden=r,1):0}case"when":{let r=j("optionVisibility");if(r&&r._started)return t._sapWhen&&t.hidden?(t.hidden=!1,t._sapWhen=!1,1):0;t._sapWhen=!0;let a=yr(t,e.field,e.values,e.match==="show-not")===(e.match==="hide");return t.hidden!==a?(t.hidden=a,1):0}case"attr":{let r=e.arg;if((r==="checked"||r==="selected")&&typeof t[r]=="boolean"&&!t.hasAttribute("bind")&&!t.closest("select[bind]")){let l=0;return t[r]!==!!n&&(t[r]=!!n,l=1),!!n!==t.hasAttribute(r)&&(n?t.setAttribute(r,""):t.removeAttribute(r),l=1),l}if(mr.has(r)){let l=t.hasAttribute(r);return n&&!l?(t.setAttribute(r,""),1):!n&&l?(t.removeAttribute(r),1):0}let a=typeof n=="boolean"?String(n):n==null?"":String(n);return t.getAttribute(r)!==a?(t.setAttribute(r,a),1):0}case"class":{let r=!!n;return t.classList.contains(e.arg)!==r?(t.classList.toggle(e.arg,r),1):0}case"css":{let r=n==null?"":String(n);return t.style.getPropertyValue("--"+e.arg)!==r?(t.style.setProperty("--"+e.arg,r),1):0}default:return 0}}var vr=new Set($e),zt=new Set(["calc","text","attr","class","css","set","move","sort","option","option-not","show-when","hide-when","editmode","viewmode"]),Er=new Set(["show-when","hide-when","option","option-not"]),Ar=/\b(?:state|item|root)\.|===|!==|&&|\|\||[()]|^\s*!/,Bt=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"]),Ie=[];function Ft(e){Ie.includes(e)||Ie.push(e)}function kr(e){return e.tagName==="INPUT"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"}function He(e){return e.hasAttribute("bind")}function xr(e,t){t(e);for(let r=e.firstElementChild;r;r=r.nextElementSibling)n(r);function n(r){if(!r.hasAttribute("sap-ignore")){if(r.tagName==="TEMPLATE"){if(r.hasAttribute("items"))for(let a=r.content.firstElementChild;a;a=a.nextElementSibling)n(a);return}if(t(r),!ie(r))for(let a=r.firstElementChild;a;a=a.nextElementSibling)n(a)}}}function Sr(e,t){let n=!1,r=(o,g,b)=>{t.error(o,g,b),n=!0},a=e.ownerDocument.createTreeWalker(e,5,{acceptNode:o=>o.nodeType===3?1:ie(o)||o.hasAttribute("bind")||o.hasAttribute("sap-ignore")?2:3}),l;for(;l=a.nextNode();)if(/\{\{.*\}\}/.test(l.nodeValue||"")){r("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 xr(e,o=>{let g=new Set;for(let m of Ie)m(o,r,d=>g.add(d));let b=o.closest&&o.closest("[detail]");for(let m of[...o.attributes]){let d=m.name;if(g.has(d))continue;if(d.includes(":")){let p=d.slice(0,d.indexOf(":"));if(!zt.has(p)&&!et(d)){let A=Ke(p,[...zt]);t.warn("W03",o,{attr:d,problem:`unknown "${p}:" attribute`,didYouMean:A?`${A}:`:null})}else if(Er.has(p)&&Ar.test(m.value)){let A=d.slice(d.indexOf(":")+1);t.warn("W04",o,{attr:d,expr:m.value,problem:`${p}: compares the "${A}" attribute against a literal value, not a JS expression`,fix:`use show="${m.value}" for an expression, or a literal like ${p}:${A}="overview"`})}}else if(!Bt.has(d)&&!et(d)&&!Je.has(d)&&!vr.has(d)&&!/^(data-|aria-|on)/.test(d)&&!(d in o)){let p=Ke(d,[...Bt]);p&&t.warn("W03",o,{attr:d,problem:`unknown "${d}" attribute`,didYouMean:p})}d==="attr:hidden"&&t.warn("W03",o,{attr:d,problem:"attr:hidden paints the wrong attribute",fix:'use show="expr"'});let c=He(o)||d==="attr:selected"&&o.tagName==="OPTION"&&!!o.closest("select[bind]");(d==="attr:value"||d==="attr:checked"||d==="attr:selected")&&c&&r("E30",o,{attr:d,problem:"attr: on a bound control collides with persist ownership",fix:"remove it; bind owns this attribute"}),d==="effect"&&He(o)&&/\b(value|checked)\s*=[^=]/.test(m.value)&&r("E30",o,{attr:d,expr:m.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"}),(d==="text"||d.startsWith("text:")||d==="show")&&kr(o)&&(d==="show"||r("E18",o,{attr:d,problem:"paint belongs on output elements, not form controls",fix:"move the paint to an <output> or <span>"}))}if(o.hasAttribute("state")){let m=at(o.getAttribute("state")),d=new Set;for(let c of m){c.name.includes("-")&&r("E08",o,{attr:"state",problem:`field "${c.name}" is not a valid identifier (the hyphen parses as subtraction)`,fix:`rename to ${c.name.replace(/-/g,"")}`}),d.has(c.name)&&r("E04",o,{attr:"state",problem:`field "${c.name}" is declared twice in one scope`}),d.add(c.name),an.has(c.attr)&&r("E05",o,{attr:"state",problem:`"${c.name}" is a reserved Sap word`}),Je.has(c.attr)&&r("E06",o,{attr:"state",problem:`"${c.name}" is a global HTML attribute name; pick another field name`}),c.name==="open"&&o.tagName==="DIALOG"&&r("E33",o,{attr:"state",problem:"dialog open is transient",fix:"use showModal() \u2014 declare state= only on <details> or popovers"});let p=ot(o,c.attr);p&&(c.attr==="checked"||c.attr==="selected")&&r("E35",o,{attr:"state",problem:`"${c.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&&c.type==="num"&&r("E35",o,{attr:"state",problem:`"${c.attr}" is an HTML boolean attribute; it cannot hold a number`,fix:`declare it bare: state="${c.attr}"`}),c.transient&&(p||c.type==="presence")&&r("E35",o,{attr:"state",problem:`"${c.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(He(o)){if(o.hasAttribute("-"),o.tagName==="INPUT"){let m=(o.getAttribute("type")||"text").toLowerCase();m==="file"&&r("E32",o,{attr:"bind",problem:"files never serialize into an HTML file",fix:"use no-save + effect instead of bind"}),m==="password"&&!o.hasAttribute("transient")&&r("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 m=o.getAttribute("contenteditable");!(m!=null&&m!=="false")&&o.children.length>0&&r("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")&&r("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 m=o.parentElement;(!m||!m.hasAttribute("items"))&&r("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")&&b&&r("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 m=e.querySelector(`[trigger-add="${o.getAttribute("items")}"]`);!gn(o)&&!rt(e,o.getAttribute("items"))&&bn(o).length===0&&m&&r("E17",o,{attr:"items",problem:`trigger-add targets items="${o.getAttribute("items")}" but it has no [item template] to clone`})}}),n&&(t.halted=!0,t.haltReason=t.errors[0]?t.errors[0].code:"halt",G(e,t.haltReason)),!n}var It="sap-styles",Ht="[item][template]{display:none!important}[hidden]{display:none!important}[sap-error]{outline:2px solid #e5484d;outline-offset:1px}",Ue=new WeakSet;function $r(e){if(Ue.has(e))return;let t=e.defaultView,n=t&&t.CSSStyleSheet;if(n&&"adoptedStyleSheets"in e)try{let r=new n;r.replaceSync(Ht),e.adoptedStyleSheets=[...e.adoptedStyleSheets,r],Ue.add(e);return}catch{}if(!e.getElementById(It)){let r=e.createElement("style");r.id=It,r.textContent=Ht,(e.head||e.documentElement).appendChild(r)}Ue.add(e)}var Nr=0;function Ut(){return typeof performance<"u"&&performance.now?performance.now():0}function qt(e){let t=e.id||e.getAttribute("sap")||`app-${Nr++}`,n=new ln(t),r={root:e,name:t,diag:n,_state:null,_stats:null,_lastPass:null,_passes:0,_broken:!1,_mountMs:0,_mountWrites:0};if(!Sr(e,n))return r.halted=!0,r;$r(e.ownerDocument);for(let l of e.querySelectorAll("textarea[data-value]"))_e(l)||kt(l);let a=Ut();return Wt(r,{trigger:"mount",full:!0}),r._mountMs=Ut()-a,r._mountWrites=r._stats?r._stats.writes:0,r._mountWrites>0&&!Kn()&&!j("derived")&&n.warn("W30",e,{problem:`${r._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)"}),r}var Tr=/^(set:|move:|sort:|trigger-add$|trigger-remove$|trigger-reset$)/;function _r(e){return`${e.tagName.toLowerCase()}[sap]`}function Lr(e){let t={actions:0,lists:0,rows:0};return X(e,n=>{n.hasAttribute("items")&&t.lists++,n!==e&&n.hasAttribute("item")&&!n.hasAttribute("template")&&t.rows++,[...n.attributes].some(r=>Tr.test(r.name))&&t.actions++}),t}function Cr(e){function t(o){let g=o._stats||{},b=o.root;return{root:_r(b),fields:g.fields||0,calcs:g.calcs||0,paints:g.paints||0,...Lr(b),warnings:o.diag.warnings.length,errors:o.diag.errors.length,mountWrites:o._mountWrites||0,ms:Math.round((o._mountMs||0)*10)/10,passes:o._passes||0,lastPass:o._lastPass||null,ok:o.diag.errors.length===0&&!o.halted}}function n(){let o=e.apps().map(t);return{ok:o.every(g=>g.ok),apps:o}}function r(o){let g=t(o);return g.ok?`sap \u2713 ${g.root} \xB7 fields ${g.fields} \xB7 calcs ${g.calcs} \xB7 paints ${g.paints} \xB7 actions ${g.actions} \xB7 lists ${g.lists} \xB7 rows ${g.rows} \xB7 warnings ${g.warnings} \xB7 mount writes ${g.mountWrites} \xB7 ${g.ms}ms`:`sap \u2717 ${g.root} \xB7 errors ${g.errors} \xB7 warnings ${g.warnings} \xB7 ${g.ms}ms`}function a(){let o=[],g=[];for(let b of e.apps())o.push(...b.diag.errors),g.push(...b.diag.warnings);return{ok:o.length===0,errors:o,warnings:g,counts:{errors:o.length,warnings:g.length}}}function l(o){let g=o===void 0?!0:!!o;for(let b of e.apps())b._debug=g;return console.log(`sap debug ${g?"on":"off"} \u2014 per-pass headers will ${g?"":"no longer "}log`),g}return{status:n,report:a,debug:l,greenLine:r}}var qe="0.10.0",jr={},Pr=/^(https:\/\/(?:cdn\.jsdelivr\.net\/npm|unpkg\.com)\/@panphora\/sapjs)(?=[@/]|$)/,Yt=e=>new Promise(t=>setTimeout(t,e)),Gt=e=>e.getAttribute("plugins")?.match(/\S+/g)||[];function Rr(e,t,n){let r=new Map,a=new Map,l=new Map,o=new Map,g=[],b=new Set,m={},d=!1,c,p=globalThis,A=Array.isArray(p.sapPlugins)?p.sapPlugins:p.sapPlugins==null?p.sapPlugins=[]:[],T=p.document?.currentScript?.src||"",_=Pr.exec(T),P=i=>a.get(i)?.api||null,q=i=>Promise.allSettled(i.map(C));function z(){let i=new Map;for(let u of r.values())if(!a.has(u.name))for(let f of u.helpers||[])i.set(f,u.name);_n(m,i),ht()}function B(i){r.set(i.name,{...r.get(i.name),...i}),un(i),z()}function H(i){r.has(i.name)||B(i)}function N(i){A.includes(i)||A.push(i),B(i)}function Y(i){for(let u of e.apps())u.root.isConnected&&e.schedule(u,i)}let v=Object.freeze({api:1,version:qe,compile:pt,run:Rn,runWith:Me,planOf:ce,drainPlans:Wn,forgetRow:vt,setBeacon:G,clearBeacon:Ne,write:xe,schedule(i,u="plugin"){let f=i?.root?i:e.appFor(i);f&&e.schedule(f,u)},appFor:e.appFor,apps:e.apps,capability:j,mayWrite:Ee,load:C,plugin:P});function k(i){if(typeof i=="string")return C(i);let{name:u,api:f}=i,h=w=>{throw new Error(`Sap.use: plugin "${u}" ${w}`)};if((typeof u!="string"||f!==1)&&h(`needs a name and plugin API 1; it gives API ${f}`),d)return null;if(a.has(u))return P(u);if((i.requires||[]).some(w=>!a.has(w)))return N(i),g.includes(i)||g.push(i),null;let y=i.setup?.(v)||{},E=(w,Ge)=>{for(let ne of Array.isArray(i[w])?i[w]:Object.keys(i[w]||{}))(typeof(y[w]||{})[ne]!="function"||Ge(ne))&&h(`cannot add "${ne}" to ${w}: the name is taken or not valid, or setup does not supply it`)},x=w=>!Te(w,u);E("helpers",w=>(dt(w)&&h(`cannot add "${w}": window.${w} exists; rename the helper`),!Ln(w)||w in m)),E("boundaries",x),E("directives",x);for(let w in y.api)w in t&&h(`cannot add Sap.${w}: the name is taken`);N(i);let S={...y,name:u,order:i.order,boundary:{}};for(let w in i.boundaries)S.boundary[w]=y.boundaries[w];for(let w of i.helpers||[])m[w]=y.helpers[w];for(let w in y.formats)w in V||(V[w]=y.formats[w]);return Ot(S),y.lint&&Ft(y.lint),Object.assign(t,y.api),a.set(u,S),o.delete(u),cn(u,y.directives||!0),z(),xe(()=>b.forEach(Ne)),b.clear(),g.splice(0).forEach($),Y("plugin:"+u),P(u)}function $(i){try{k(i)}catch(u){console.error(u)}}function L(i){if(d||a.has(i))return null;let u=r.get(i)||{},f=M.loader?.(i,u),h=u.url||M.base&&M.base+(u.file||i)+".js";return(f!==void 0?Promise.resolve(f):new Promise((y,E)=>{if(!h)throw new Error(`no address for plugin "${i}": call Sap.use(definition)`);let x=document.createElement("script");x.src=h,x.setAttribute("clay","editor-ui"),x.onload=x.onerror=S=>{x.remove(),S.type==="load"?y():E(new Error("could not load "+h))},document.head.append(x)})).then(y=>{if(d)return;let E=y?.default||y||A.find(x=>x.name===i);if(E?.name&&k(E),!a.has(i))throw new Error(`plugin "${i}" loaded and did not register`)})}function C(i){if(a.has(i))return Promise.resolve(P(i));if(l.has(i))return l.get(i);o.delete(i);let u=Promise.all((r.get(i)?.requires||[]).map(C)).then(()=>L(i));for(let h of M.retryDelays)u=u.catch(()=>Yt(h).then(()=>L(i)));let f=u.finally(()=>l.delete(i)).then(()=>P(i),h=>{throw o.set(i,h),c||=!p.addEventListener?.("online",()=>M.retry()),Y("plugin-failed:"+i),document.dispatchEvent(new CustomEvent("sap:plugin-failed",{detail:{plugin:i,error:h}})),h});return l.set(i,f),f}function te(i){let u=new Set;for(let f of i.closest?.("[sap]")?[i]:i.querySelectorAll("[sap]")){for(let h of Gt(f.closest("[sap]")))u.add(h);r.size>a.size&&X(f,h=>{let y=ce(h);return y.inert?!1:(y.wants?.map(E=>u.add(E)),!!u.add(y.waits))})}return[...u].filter(f=>f&&!a.has(f))}hr((i,u)=>{for(let f of new Set([...u.wanted.keys(),...u.waiting,...Gt(i.root)])){if(a.has(f))continue;let h=o.get(f);if(!h)C(f).catch(()=>{});else{let y=u.wanted.get(f)?.[0]||i.root;i.diag.error("E52",y,{problem:`the "${f}" plugin did not load: ${h.message}`,fix:"Sap.plugins.retry() tries again"}),b.add(y),xe(()=>G(y,"E52"))}}});let M={api:1,base:_?`${_[1]}@${qe}/dist/sap-plugins/`:/^[^:]+:\//.test(T)?new URL("sap-plugins/",T).href:null,loader:null,retryDelays:[1e3,4e3],declare:H,load:C,ready(i=document,u=3e3){let f=new Set,h=()=>{let E=te(i).filter(x=>!f.has(x)&&f.add(x));return E.length&&q(E).then(h)},y=h();return y?Promise.race([y,Yt(u)]):null},has:i=>a.has(i),status:()=>({installed:[...a.keys()],loading:[...l.keys()],failed:[...o.keys()]}),retry:i=>q(i?[i]:[...o.keys()])};function s(){let i=[],u=()=>(pr(),n.flushNow()),f=[...a.values()].filter(h=>h.flush);u();for(let h=0;f.length&&h<8;h++){for(let y of f){let E=y.flush();E?.then&&i.push(E)}if(!u())break}return i.length?Promise.all(i).then(s):null}t.use=k,t.plugins=M,t.flush=s;for(let i of Object.values(jr))H(i);return A.slice().forEach($),function(){d=!0;for(let i of a.values())i.dispose?.();a.clear(),o.clear()}}function Mr({createAccessor:e,installInput:t,debugExtras:n}){let r=new Map,a=[],l=nn(Wt);function o(v){let k=v;for(;k;){if(k.nodeType===1&&k.hasAttribute&&k.hasAttribute("sap"))return r.get(k)||null;k=k.parentNode&&k.parentNode.host?k.parentNode.host:k.parentElement}return null}function g(){for(let v=a.length-1;v>=0;v--){let k=a[v];k.root.isConnected||(r.delete(k.root),a.splice(v,1))}}function b(v,k){if(v.moveBefore)try{v.moveBefore(k,null);return}catch{}v.appendChild(k)}function m(v,k){let $=k.parentElement;if($){if($.moveBefore)try{$.moveBefore(v,k);return}catch{}$.insertBefore(v,k)}}let d={apps:()=>a.slice(),appFor:o,isRegistered:v=>r.has(v),pruneDisconnected:g,schedule:l.schedule,runNow:(v,k)=>l.runNow(v,k),moveInto:b,placeBefore:m,remountIfPresent:()=>B()},c=e(d),p=Cr(d),A=n?n(d,p):{},T=!1,_=!1,P=null;function q(){T||(T=!0,t(d,c,document),P=ar(d))}function z(){let v=j("derived");v&&typeof v.mounted=="function"&&v.mounted()}function B(v=document){if(_)return[];q(),jt(d);let k=v.querySelectorAll("[sap]"),$=[];for(let L of k){if(r.has(L)||_e(L))continue;let C=qt(L);r.set(L,C),a.push(C),$.push(C)}for(let L of $){let C=p.greenLine(L);L.diag.errors.length||L.halted?console.error(C):console.log(C)}return z(),$}function H(v){if(_)return null;if(q(),jt(d),!v)return B();let k=typeof v=="string"?document.querySelector(v):v;if(!k)return null;if(r.has(k))return r.get(k);let $=qt(k);r.set(k,$),a.push($);let L=p.greenLine($);return $.diag.errors.length||$.halted?console.error(L):console.log(L),$}let N=c.Sap;N.version=qe,N.refresh=function(){for(let v of a.slice())v.root.isConnected&&l.runNow(v,"refresh")},N.batch=rr,N.status=p.status,N.report=p.report,N.why=A.why,N.debug=p.debug,N.doctor=A.doctor,N.greenLine=p.greenLine,N.formats=V,N.serializeControlToAttributes=We,N.finalizeControlForSave=Jn,N.rehydrateControlFromAttributes=kt,N.mount=H,N.config=function(v={}){return v.formats&&Object.assign(V,v.formats),N},N._registry=r,N._reset=function(){r.clear(),a.length=0,Pt()},N.unmount=function(){_=!0,r.clear(),a.length=0,Pt(),typeof P=="function"&&P(),Y()};let Y=Rr(d,N,l);return{Sap:N,mountAll:B,mount:H,runtime:d}}function Or(e){if(typeof document>"u")return;let t=()=>nr(()=>e());document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Wr(e){let t=[];function n(b){let m=b.target;if(!m||m.nodeType!==1)return;let d=e.appFor(m);if(d){m.hasAttribute("persist")&&!St(m)&&Ee(m)&&We(m);for(let c of t)if(c(m,d))return;e.schedule(d,b.type+" "+(m.id||m.tagName.toLowerCase()))}}function r(b){let m=b.target,d=e.appFor(m);d&&[...m.querySelectorAll("[bind]")].every(c=>Ee(c))&&setTimeout(()=>{m.querySelectorAll("[bind]").forEach(c=>{c.dispatchEvent(new Event("input",{bubbles:!0})),c.dispatchEvent(new Event("change",{bubbles:!0}))}),e.schedule(d,"reset")},0)}function a(b){let m=e.appFor(b.target);m&&e.schedule(m,"toggle")}function l(b){let m=b.detail||{};for(let d of[m.from,m.to,b.target]){if(!d||d.nodeType!==1)continue;let c=e.appFor(d);c&&e.schedule(c,"sorted")}}function o(b){if(b.key!=="ArrowUp"&&b.key!=="ArrowDown")return;let m=b.target;if(!m||m.nodeType!==1||m.tagName!=="INPUT"||!m.hasAttribute("bind")||!m.hasAttribute("step"))return;let d=(m.getAttribute("type")||"text").toLowerCase();if(d!=="text"&&d!=="tel"&&d!=="search"||!e.appFor(m)||!Ee(m))return;b.preventDefault();let c=O(m.getAttribute("step"))||1,p=b.key==="ArrowUp"?1:-1,A=O(m.value)+c*(b.shiftKey?10:1)*p,T=m.getAttribute("min"),_=m.getAttribute("max");T!==null&&T!==""&&A<O(T)&&(A=O(T)),_!==null&&_!==""&&A>O(_)&&(A=O(_)),ur(m).write(String(Number(A.toFixed(2))))}function g(b=document){b.addEventListener("reset",r),b.addEventListener("toggle",a,!0),b.addEventListener("input",n),b.addEventListener("change",n),b.addEventListener("clay:sorted",l),b.addEventListener("keydown",o)}return{install:g,addRouter:b=>t.push(b)}}var pe="https://clayjs.com/v1/sap.js",Dr=/^(calc|set|move|sort):/,zr=new Set(["each","detail","effect","invalid","confirm","trigger-add","trigger-remove","trigger-reset"]);function Ye(e){return Dr.test(e)||zr.has(e)}Ft((e,t)=>{for(let n of e.attributes)Ye(n.name)&&t("E50",e,{attr:n.name,expr:n.value,problem:`${n.name} is full sapjs; the sapjs core only paints declared state`,fix:`load ${pe}; the markup stays as it is`})});function ee(e,t,n){e.app.diag.error("E50",t,{attr:n,problem:`${n} is full sapjs; the sapjs core only paints declared state`,fix:`load ${pe}; the markup stays as it is`}),G(t,"E50"),e.app.halted=!0}Ot({name:"core-only",collect(e,t,n){n.calcs&&ee(e,t,"calc:"+n.calcs[0].name),n.effects&&ee(e,t,"effect"),n.invalids&&ee(e,t,"invalid");for(let r of t.attributes)Ye(r.name)&&(r.name.startsWith("calc:")&&n.calcs||r.name==="effect"&&n.effects||r.name==="invalid"&&n.invalids||ee(e,t,r.name));return!1},boundary:{each(e,t){ee(e,t,"each")},detail(e,t){ee(e,t,"detail")}}});function Br(){return{Sap:function(){throw new Error(`Sap(el) is full sapjs; load ${pe}`)}}}var Xt=e=>()=>(console.warn(`Sap.${e} is full sapjs; load ${pe}`),null),{Sap:me,mountAll:Vt,mount:Fr,runtime:Ir}=Mr({createAccessor:Br,debugExtras:()=>({why:Xt("why"),doctor:Xt("doctor")}),installInput(e,t,n){Wr(e).install(n)}});me.core=!0;var Hr=typeof window<"u"&&window.Sap&&!window.Sap.core;Hr?me.unmount():Or(Vt),typeof window<"u"&&!window.Sap&&(window.Sap=me);var Ur=me;return tn(Ve)})(),Yr=qr.default;export{Yr as default};
|