@panphora/clayjs 1.21.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/all.js +1 -1
  2. package/dist/clay-dom.js +1 -1
  3. package/dist/clay-events.js +1 -1
  4. package/dist/clay-internals.js +1 -1
  5. package/dist/clay-options.js +1 -1
  6. package/dist/clay-router.js +1 -1
  7. package/dist/clay-ui.js +1 -1
  8. package/dist/clay-utils.js +1 -1
  9. package/dist/clay.js +1 -1
  10. package/dist/clay.standalone.js +8871 -8629
  11. package/dist/m/attrs/{save-freeze-MTFVVYV5.js → save-freeze-JZHKRQLR.js} +1 -1
  12. package/dist/m/{c-OABVRYOT.js → c-24PMUJIV.js} +1 -1
  13. package/dist/m/{c-EOCZ2YVL.js → c-2AYVYEI4.js} +1 -1
  14. package/dist/m/{c-UXEVJ63W.js → c-2L6O5PDS.js} +1 -1
  15. package/dist/m/{c-VBLFAQD2.js → c-2RYOGUQM.js} +1 -1
  16. package/dist/m/{c-LDUNOR57.js → c-2Z22FCFK.js} +13 -25
  17. package/dist/m/{c-NLZ5AN4L.js → c-2ZVOEU4M.js} +1 -1
  18. package/dist/m/{c-BJPZCWAV.js → c-37NAONZA.js} +1 -1
  19. package/dist/m/{c-ZE46QDIH.js → c-3TLG3OLG.js} +1 -1
  20. package/dist/m/{c-CSNE5EIF.js → c-4PO3YGDC.js} +1 -1
  21. package/dist/m/{c-OJYM642Q.js → c-5FKRZNJV.js} +1 -1
  22. package/dist/m/{c-SO63UGPQ.js → c-5OJ7YF2N.js} +1 -1
  23. package/dist/m/{c-CAWNFER6.js → c-5TIZ2I64.js} +1 -1
  24. package/dist/m/{c-7SXYQCN4.js → c-5WMXEKFH.js} +1 -1
  25. package/dist/m/{c-XQSXKIKM.js → c-6RDOKLN7.js} +1 -1
  26. package/dist/m/{c-BRLCTNMC.js → c-6TYGD5AB.js} +1 -1
  27. package/dist/m/c-A4IP6MBC.js +1 -0
  28. package/dist/m/{c-I2IFKJX2.js → c-ALDVFPWL.js} +1 -1
  29. package/dist/m/{c-LV5MABYD.js → c-AYVGD6A6.js} +1 -1
  30. package/dist/m/{c-LQU7TXIH.js → c-B6O7AJYG.js} +1 -1
  31. package/dist/m/{c-SBSMJIPC.js → c-BCGWJYXW.js} +1 -1
  32. package/dist/m/{c-RT3C74GY.js → c-BGKAT2FL.js} +1 -1
  33. package/dist/m/{c-N7Y52HJH.js → c-BXYSDKAN.js} +1 -1
  34. package/dist/m/c-CRPIDGXC.js +78 -0
  35. package/dist/m/c-CUMXGHVD.js +1 -0
  36. package/dist/m/{c-67ILSNPR.js → c-DTMZ3ZHI.js} +1 -1
  37. package/dist/m/{c-EZ7B5AZT.js → c-ELYIIYRS.js} +1 -1
  38. package/dist/m/{c-VAK7SG37.js → c-EUGJVHDD.js} +1 -1
  39. package/dist/m/{c-67LGZ52V.js → c-FCSZ3DC5.js} +1 -1
  40. package/dist/m/{c-JUE7B4OX.js → c-FQGHR32O.js} +1 -1
  41. package/dist/m/{c-ZJLU56DV.js → c-G4PWUDD5.js} +1 -1
  42. package/dist/m/{c-CJFDLD43.js → c-G6COVIZB.js} +1 -1
  43. package/dist/m/c-GBTVCJXC.js +1 -0
  44. package/dist/m/c-GC2HICFJ.js +1 -0
  45. package/dist/m/{c-44B5ODN7.js → c-HCNWJE4A.js} +2 -2
  46. package/dist/m/{c-BJ7YQ5QZ.js → c-IHUWUKIU.js} +1 -1
  47. package/dist/m/{c-LIBE4HPD.js → c-JCOQVZYS.js} +1 -1
  48. package/dist/m/{c-RG6XUZFA.js → c-JGHEACGK.js} +1 -1
  49. package/dist/m/{c-3GJ4XARY.js → c-JGLX6TBK.js} +1 -1
  50. package/dist/m/c-JNRKHYWO.js +1 -0
  51. package/dist/m/{c-PIVIYLTY.js → c-KDXIJEEF.js} +1 -1
  52. package/dist/m/{c-NFR673TL.js → c-L4KMT7FO.js} +2 -2
  53. package/dist/m/{c-E4IBSAQM.js → c-LCYPMULG.js} +1 -1
  54. package/dist/m/{c-SJPD46ZO.js → c-LIGQYZ7M.js} +4 -4
  55. package/dist/m/{c-U5X57T4L.js → c-LKIWEPAV.js} +1 -1
  56. package/dist/m/{c-EDSPKYMA.js → c-LUXAB2XI.js} +1 -1
  57. package/dist/m/{c-YSB6JKV2.js → c-LWIDDWAR.js} +2 -2
  58. package/dist/m/c-MPSKIU2I.js +1 -0
  59. package/dist/m/{c-DHXPDLW6.js → c-NK33MMYF.js} +1 -1
  60. package/dist/m/{c-GPGYKER7.js → c-NQLWOHLH.js} +1 -1
  61. package/dist/m/{c-LPUJXRXW.js → c-NTHUTABN.js} +1 -1
  62. package/dist/m/{c-Y33LUUIQ.js → c-NW54NHKE.js} +1 -1
  63. package/dist/m/{c-3AXJDL2P.js → c-OG6GFSUX.js} +1 -1
  64. package/dist/m/{c-MTQHWQC3.js → c-OKEGUICD.js} +1 -1
  65. package/dist/m/c-OPONJ2UK.js +128 -0
  66. package/dist/m/{c-3YH6JSIL.js → c-OWQWOGYI.js} +1 -1
  67. package/dist/m/{c-FDAXZ2PM.js → c-P6Q2ZTFQ.js} +1 -1
  68. package/dist/m/c-PKCCHJ5X.js +1 -0
  69. package/dist/m/c-PWJSJEJU.js +1 -0
  70. package/dist/m/{c-2ZZBC45O.js → c-PXLTUYZC.js} +1 -1
  71. package/dist/m/c-QEN6HZCA.js +1 -0
  72. package/dist/m/{c-JOH753EJ.js → c-QGAPG7OM.js} +1 -1
  73. package/dist/m/{c-W23KVGUO.js → c-QIR5CAKM.js} +1 -1
  74. package/dist/m/{c-GKEATME6.js → c-QM5LXRDT.js} +1 -1
  75. package/dist/m/c-QUGCKMWF.js +1 -0
  76. package/dist/m/{c-FNVQAACK.js → c-QYYUVLVG.js} +1 -1
  77. package/dist/m/c-RO73MKKR.js +1 -0
  78. package/dist/m/c-SBCBXKOZ.js +26 -0
  79. package/dist/m/{c-J3BXFTZS.js → c-SGRIYOAJ.js} +1 -1
  80. package/dist/m/c-SKF5HL4I.js +4 -0
  81. package/dist/m/{c-W3K23S72.js → c-SRPC3VBE.js} +1 -1
  82. package/dist/m/{c-K76AUL4I.js → c-T5NK2TVY.js} +1 -1
  83. package/dist/m/{c-EFD6QNTE.js → c-TANBH7FI.js} +1 -1
  84. package/dist/m/{c-5734MF2P.js → c-THGQQDYY.js} +1 -1
  85. package/dist/m/{c-YQUJ74R3.js → c-TSBVMWAH.js} +1 -1
  86. package/dist/m/{c-VY6XRBOW.js → c-UD5JZTDL.js} +1 -1
  87. package/dist/m/{c-M4FSPNQ2.js → c-UDGEFWNU.js} +1 -1
  88. package/dist/m/{c-ZSCBEB7I.js → c-UHUNXWKN.js} +1 -1
  89. package/dist/m/{c-BTLFLLML.js → c-VIRFF5HG.js} +1 -1
  90. package/dist/m/{c-2VB555FG.js → c-VYJ7O4RI.js} +1 -1
  91. package/dist/m/{c-TUGVINJR.js → c-W5E5P2TZ.js} +1 -1
  92. package/dist/m/{c-EOCKLMKX.js → c-W7IPVCAA.js} +1 -1
  93. package/dist/m/{c-5FEU5MMY.js → c-WJ5DRBHT.js} +1 -1
  94. package/dist/m/{c-V2J5C5MT.js → c-WQZTI5P2.js} +1 -1
  95. package/dist/m/c-X5WC4PX5.js +1 -0
  96. package/dist/m/{c-GVPNDIKJ.js → c-XCFQEWW6.js} +2 -2
  97. package/dist/m/c-XLQ3BDMM.js +1 -0
  98. package/dist/m/{c-XD5MOROJ.js → c-XX75FFNL.js} +1 -1
  99. package/dist/m/{c-JHJR5BQX.js → c-YK2L436K.js} +1 -1
  100. package/dist/m/{c-MEWUGR4D.js → c-YYMZWQLR.js} +1 -1
  101. package/dist/m/core/{admin-attrs-ZG7R5V3E.js → admin-attrs-U7IJNYBG.js} +1 -1
  102. package/dist/m/core/{autosave-VPORYJSE.js → autosave-F5YQCKVL.js} +1 -1
  103. package/dist/m/core/{conflict-notice-JMAZLVRX.js → conflict-notice-42H4ASLA.js} +1 -1
  104. package/dist/m/core/{persist-3OPWJKZS.js → persist-CJXIL7D4.js} +1 -1
  105. package/dist/m/core/{save-AOJBDSOK.js → save-ESPSQPLV.js} +1 -1
  106. package/dist/m/core/{save-core-IOCMXO5L.js → save-core-6SQHOR6W.js} +1 -1
  107. package/dist/m/core/snapshot-FJP5IJL3.js +1 -0
  108. package/dist/m/core/{unsaved-warning-U5VUJFOE.js → unsaved-warning-HNQVTA2D.js} +1 -1
  109. package/dist/m/internals/{index-HDRANDWE.js → index-NRPNDTSA.js} +1 -1
  110. package/dist/m/loader-FBDE2UAB.js +1 -0
  111. package/dist/m/manifest-1D2F5CA5.js +1 -0
  112. package/dist/m/manifest-edit-F7CC5CFD.js +1 -0
  113. package/dist/m/manifest.json +1139 -1069
  114. package/dist/m/page/{editor-EY2WAAGB.js → editor-OSKOW6RS.js} +2 -2
  115. package/dist/m/plugins/ai-edit-VV4QTINH.js +6 -0
  116. package/dist/m/plugins/cms-H7DTMUQX.js +2235 -0
  117. package/dist/m/plugins/{indicator-4VDXWYTD.js → indicator-WVPGMOZ7.js} +1 -1
  118. package/dist/m/plugins/{live-5EZN2EYP.js → live-DCUBKXY4.js} +1 -1
  119. package/dist/m/plugins/menu-Q4MFFQ6E.js +1 -0
  120. package/dist/m/plugins/{page-LVW5DWA4.js → page-OAWUJQEL.js} +2 -2
  121. package/dist/m/plugins/{page-view-5KQ76IJB.js → page-view-DZ26ZDDQ.js} +1 -1
  122. package/dist/m/plugins/{people-C7TVBBMR.js → people-5XRNRP5U.js} +1 -1
  123. package/dist/m/plugins/{quickcrop-BQ5YYFCH.js → quickcrop-WWF5I422.js} +2 -2
  124. package/dist/m/plugins/{richclay-KLGETK77.js → richclay-PGOOJ4OK.js} +2 -2
  125. package/dist/m/plugins/{sortable-WJZZBM7R.js → sortable-266HY6TR.js} +1 -1
  126. package/dist/m/plugins/{source-CCEUM3OR.js → source-6BKMK4PO.js} +1 -1
  127. package/dist/m/plugins/{upgrade-NW556WJD.js → upgrade-BNZVFHMZ.js} +1 -1
  128. package/dist/m/plugins/visitor-drafts-2AUYKAIJ.js +20 -0
  129. package/dist/m/plugins/{visitor-drafts-owner-MZP45XSG.js → visitor-drafts-owner-Z5B2OQBR.js} +1 -1
  130. package/dist/m/plugins/visitor-menu-4LQMKLPP.js +1 -0
  131. package/dist/m/plugins/{wire-VRYPY6EJ.js → wire-W2EV36KZ.js} +1 -1
  132. package/dist/m/{reader-core-2GXY7SHY.js → reader-core-POFQCKRV.js} +2 -2
  133. package/dist/m/sync/{live-sync-SKPMFYOO.js → live-sync-XGUPHI3I.js} +1 -1
  134. package/dist/m/ui/{index-QNIPDHXQ.js → index-VGYAKAKI.js} +1 -1
  135. package/dist/offline-manifest.json +666 -606
  136. package/docs/guide.md +38 -27
  137. package/package.json +2 -2
  138. package/src/core/save-replace.js +5 -2
  139. package/src/core/serialize-steps.js +10 -2
  140. package/src/core/snapshot.js +37 -1
  141. package/src/core/upgrade-run.js +16 -2
  142. package/src/loader-logic.js +10 -3
  143. package/src/plugins/ai-edit.js +6 -17
  144. package/src/plugins/cms.js +3 -6
  145. package/src/plugins/menu/dom-items.js +45 -0
  146. package/src/plugins/menu/looks.js +32 -0
  147. package/src/plugins/menu/shell-style.js +143 -0
  148. package/src/plugins/menu/shell.js +398 -0
  149. package/src/plugins/menu/style.js +15 -116
  150. package/src/plugins/menu/variants.js +56 -10
  151. package/src/plugins/menu/visitor.js +78 -0
  152. package/src/plugins/menu.js +21 -313
  153. package/src/plugins/visitor-drafts/inert.js +1 -0
  154. package/src/plugins/visitor-drafts/intro-style.js +6 -0
  155. package/src/plugins/visitor-drafts/intro.js +77 -25
  156. package/src/plugins/visitor-drafts/owner-chip.js +18 -23
  157. package/src/plugins/visitor-drafts/prompt.js +2 -2
  158. package/src/plugins/visitor-drafts/store.js +58 -5
  159. package/src/plugins/visitor-drafts.js +1 -0
  160. package/src/plugins/visitor-menu.js +13 -0
  161. package/src/sync/live-sync.js +2 -1
  162. package/src/sync/page-relay.js +2 -2
  163. package/src/ui/bevel.js +1 -1
  164. package/src/ui/page-colour.js +17 -9
  165. package/src/ui/skins/cms.js +1 -1
  166. package/src/ui/skins/quickcrop.js +1 -1
  167. package/src/ui/skins/richclay.js +1 -1
  168. package/src/vendor/hypercms.vendor.js +16 -69
  169. package/dist/m/c-AL4RBJF2.js +0 -1
  170. package/dist/m/c-DDDOKPI6.js +0 -3
  171. package/dist/m/c-EGTIAL6P.js +0 -1
  172. package/dist/m/c-FSWRGBVQ.js +0 -1
  173. package/dist/m/c-HDWZEJHM.js +0 -183
  174. package/dist/m/c-HMYWIHFG.js +0 -1
  175. package/dist/m/c-JH5FF4NL.js +0 -20
  176. package/dist/m/c-M6FNQCTQ.js +0 -1
  177. package/dist/m/c-MHI3GYKF.js +0 -1
  178. package/dist/m/c-MIL4B2JQ.js +0 -1
  179. package/dist/m/c-S5IEIZCN.js +0 -1
  180. package/dist/m/c-VSPAFOKU.js +0 -1
  181. package/dist/m/c-WFMRX5RZ.js +0 -1
  182. package/dist/m/core/snapshot-O7II2AGG.js +0 -1
  183. package/dist/m/loader-ZVPK4ZN3.js +0 -1
  184. package/dist/m/manifest-5498AFD3.js +0 -1
  185. package/dist/m/manifest-edit-62A5A00F.js +0 -1
  186. package/dist/m/plugins/ai-edit-J5VLSW5I.js +0 -6
  187. package/dist/m/plugins/cms-LRAOZHT7.js +0 -2293
  188. package/dist/m/plugins/menu-DM2JHPSR.js +0 -1
  189. package/dist/m/plugins/visitor-drafts-2AWNT23K.js +0 -20
  190. package/src/ui/skins/cms-toggle.js +0 -15
  191. /package/dist/m/plugins/{quickcrop-BQ5YYFCH.js.LEGAL.txt → quickcrop-WWF5I422.js.LEGAL.txt} +0 -0
  192. /package/dist/m/plugins/{richclay-KLGETK77.js.LEGAL.txt → richclay-PGOOJ4OK.js.LEGAL.txt} +0 -0
@@ -1 +1 @@
1
- import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var T="hha:upgrade-check:",V=1440*60*1e3,S="upgrade-dismissed",M="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function P(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${T}${o.href}:${t}`,u=P(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<V)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=($,R=null)=>({status:$,version:u,update:R}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?`This doc is at latest version (${t})`:`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(M,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-U5X57T4L.js")).replace(e,t)}function B(e){import("../c-DDDOKPI6.js").then(t=>t.start(e.detail)).catch(t=>console.error("clayjs: the upgrade could not start:",t))}var l=typeof window<"u"?window.clay:null;if(l&&l.canEdit&&!l.isDraftMode){document.addEventListener("clay:upgrade-requested",B);let e=l.ready;e&&typeof e.then=="function"?e.then(()=>E(),()=>{}):E()}export{q as announce,C as checkUpdate,H as findUpdate,J as replace,E as start};
1
+ import{a as f,b as v}from"../c-3G2DGZUP.js";import"../c-VHNSBD2M.js";var T="hha:upgrade-check:",V=1440*60*1e3,S="upgrade-dismissed",M="A new version of this template is available.";function b(e,t){let n=e.querySelector(`meta[name="${t}"]`),r=n?n.getAttribute("content"):null;return r&&r.trim()?r.trim():null}function P(e){try{let t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function j(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}async function x(e){let t=globalThis.crypto&&globalThis.crypto.subtle;if(!t)return null;let n=await t.digest("SHA-256",e);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}async function L(e,t){try{let n=await e(t,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function N(e,t,{fetchFn:n,now:r}){let o=new URL(e);o.pathname=o.pathname.replace(/\.html$/,".json");let a=`${T}${o.href}:${t}`,u=P(a);if(u&&typeof u.checkedAt=="number"&&r-u.checkedAt<V)return{latest:u.latest,latestUrl:o};let i=await L(n,o.href);if(!i)return{latest:null,latestUrl:o};let c=null;try{c=await i.json()}catch{return{latest:null,latestUrl:o}}return j(a,{checkedAt:r,latest:c}),{latest:c,latestUrl:o}}function A({doc:e,loc:t}){let n=typeof window<"u"&&window.clay||{};if(!n.canEdit||n.isDraftMode)return null;let r=b(e,"hyper-source"),o=b(e,"hyper-version");if(!r||!o)return null;let a;try{a=new URL(r,t?t.href:void 0)}catch{return null}return!a.pathname.endsWith(".html")||t&&a.origin===t.origin&&a.pathname===t.pathname?null:{source:a,currentVersion:o}}async function C({doc:e=document,loc:t=location,fetchFn:n=(o,a)=>fetch(o,a),now:r=Date.now()}={}){let o=A({doc:e,loc:t});if(!o)return{status:"none",version:null,update:null};let{source:a,currentVersion:u}=o,i=($,R=null)=>({status:$,version:u,update:R}),c=new URL(a.href);c.pathname=c.pathname.replace(/\.html$/,".json");let{latest:s}=await N(a.href,u,{fetchFn:n,now:r});if(!s||typeof s!="object"||typeof s.version!="string"||!f(s.version)||!f(u))return i("unknown");if(!v(s.version,u))return i("current");let h=typeof window<"u"&&window.clay||{},w=h.storage&&h.storage.local;if(w&&w.get(S)===s.version||typeof s.html!="string"||!s.html)return i("unknown");let m=new URL(s.html,c).href,y=await L(n,m);if(!y)return i("unknown");let g;try{g=await y.arrayBuffer()}catch{return i("unknown")}let d=await x(g);return!d||d!==String(s.sha256||"").toLowerCase()?i("unknown"):i("update",{version:s.version,html:m,sha256:d,latestUrl:c.href})}async function H(e){return(await C(e)).update}async function k(e,t){let n=window.clay;if(await I(n),!p(n)||!t)return;let r=e==="current"?`This doc is at latest version (${t})`:`Version ${t}`;n.menu.addItem({id:"upgrade",label:r,text:!0})}function O(e){let t=window.clay,n=t&&t.storage&&t.storage.local;n&&n.set(S,e)}function D(e){return!!(e&&Array.isArray(e.plugins)&&e.plugins.includes("menu"))}function p(e){return!!(e&&e.menu&&typeof e.menu.addItem=="function")}function I(e){return p(e)||!D(e)?Promise.resolve():new Promise(t=>{let n=r=>{!r.detail||r.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),t())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function q(e,t=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:e}));return await I(t),p(t)?(t.menu.addItem({id:"upgrade",label:`Upgrade to version ${e.version}`,badge:!0,run:n}),"menu"):t&&typeof t.toastPersistent=="function"?(t.toastPersistent(M,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>O(e.version)}]}),"notice"):null}var U=!1;async function E(e={}){if(U)return null;U=!0;let t=window.clay;await Promise.resolve(t&&t.loaded&&t.loaded.ui).catch(()=>{});let n=A({doc:e.doc||document,loc:e.loc||location});n&&k("checking",n.currentVersion);let{status:r,version:o,update:a}=await C(e).catch(()=>({status:"unknown",version:n&&n.currentVersion,update:null}));return a?(await q(a),a):(r!=="none"&&await k(r,o),null)}async function J(e,t){return(await import("../c-LKIWEPAV.js")).replace(e,t)}function B(e){import("../c-SKF5HL4I.js").then(t=>t.start(e.detail)).catch(t=>console.error("clayjs: the upgrade could not start:",t))}var l=typeof window<"u"?window.clay:null;if(l&&l.canEdit&&!l.isDraftMode){document.addEventListener("clay:upgrade-requested",B);let e=l.ready;e&&typeof e.then=="function"?e.then(()=>E(),()=>{}):E()}export{q as announce,C as checkUpdate,H as findUpdate,J as replace,E as start};
@@ -0,0 +1,20 @@
1
+ import{b as Yt,c as Qt}from"../c-Y6F2FORL.js";import{b as Gt}from"../c-QY7F6EN6.js";import{a as te,b as ee,c as re,d as ne}from"../c-OKEGUICD.js";import{b as Zt,f as Xt,h as xt}from"../c-3O7OBDCM.js";import{d as Ft}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as at,f as Kt,h as Jt,j as X}from"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var ir=Object.defineProperty,ar=(t,e)=>{for(var r in e)ir(t,r,{get:e[r],enumerable:!0})},Ae=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],sr=new Set(Ae),ur=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Ee=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]),oe=new Set(["checked","selected","disabled","readOnly","paused"]);function cr(t,e){return e==null?oe.has(t)?!1:"":oe.has(t)?e==="false"?!1:!!e:e}var P={};ar(P,{EmptyListInsert:()=>tt,MAX_RULE_DEPTH:()=>ht,MaxRuleDepthExceeded:()=>It,NoRulesTag:()=>pr,RuleTargetReadOnly:()=>Oe,RulesParseError:()=>Rt,ShapeMismatch:()=>Te,UnknownRulesVersion:()=>xe,WriteNotRoundTripped:()=>dr,WriteRefused:()=>Se,WriteRejected:()=>hr});var Rt=class extends Error{constructor(t,e){super(t),this.name="RulesParseError",this.cause=e}},xe=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},ht=20,It=class extends Error{constructor(t){super(`rule depth exceeded ${ht} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},Te=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},tt=class extends Error{constructor(t,e){super(e?`cannot add items to empty list at "${t.join(".")}" \u2014 ${e}`:`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},Oe=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}},Se=class extends Error{constructor(t){super(`write refused: ${t.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=t}};function fr(t){return t.reduce((e,r)=>typeof r=="number"?`${e}[${r}]`:e?`${e}.${r}`:String(r),"")||"(root)"}var dr=class extends Error{constructor(t){super(`write did not round-trip at "${fr(t)}"`),this.name="WriteNotRoundTripped",this.path=t}},pr=class extends Error{constructor(t){super(`no <script data-rules-name~="${t}"> rules tag in this document`),this.name="NoRulesTag",this.token=t}},hr=class extends Error{constructor(t,e){super(`write rejected: ${t.length} unknown key(s), ${e.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=t,this.unmatched=e}};function V(t){let e=0,r=null,o=-1;for(let n=0;n<t.length;n++){let l=t[n];l==="\\"?n++:r?l===r&&(r=null):l==='"'||l==="'"?r=l:l==="["||l==="("?e++:l==="]"||l===")"?e>0&&e--:l==="@"&&e===0&&(o=n)}return o}function mr(t){let e=V(t);return e===-1?{selector:t,prop:null}:{selector:t.slice(0,e),prop:t.slice(e+1)||null}}function ke(t){let e=0,r=null,o=-1,n=!1;for(let l=0;l<t.length;l++){let s=t[l];s==="\\"?l++:r?s===r&&(r=null):s==='"'||s==="'"?r=s:s==="["||s==="("?e++:s==="]"||s===")"?e>0&&e--:e===0&&s===">"?o=l:e===0&&s===","&&(n=!0)}return n||o===-1||!yr(t,o+1)?null:t.slice(0,o).trim()||null}function yr(t,e){let r=e,o=t.replace(/\s+$/,"").length;for(;r<o&&/\s/.test(t[r]);)r++;let n=0,l=null;for(;r<o;r++){let s=t[r];if(s==="\\")r++;else if(l)s===l&&(l=null);else if(s==='"'||s==="'")l=s;else if(s==="["||s==="(")n++;else if(s==="]"||s===")")n>0&&n--;else if(n===0&&(s==="+"||s==="~"||/\s/.test(s)))return!1}return!0}var gr=/^--[A-Za-z0-9_-]+$/;function Ct(t){return typeof t=="string"&&gr.test(t)}function Ne(t){let e=[],r=[],o=null,n=0;for(let l=0;l<t.length;l++){let s=t[l];if(o){s==="\\"?l++:s===o&&(o=null);continue}if(s==="/"&&t[l+1]==="*"){let i=t.indexOf("*/",l+2);l=i===-1?t.length:i+1;continue}s==='"'||s==="'"?o=s:s==="("?r.push(")"):s==="["?r.push("]"):s==="{"?r.push("}"):(s===")"||s==="]"||s==="}")&&r[r.length-1]===s?r.pop():s===";"&&r.length===0&&(e.push(t.slice(n,l)),n=l+1)}return e.push(t.slice(n)),e}function wr(t){let e="",r=null;for(let o=0;o<t.length;o++){let n=t[o];if(r){e+=n,n==="\\"&&o+1<t.length?e+=t[++o]:n===r&&(r=null);continue}if(n==="/"&&t[o+1]==="*"){let l=t.indexOf("*/",o+2);o=l===-1?t.length:l+1,e+=" ";continue}(n==='"'||n==="'")&&(r=n),e+=n}return e}function Le(t){t=wr(t);let e=t.indexOf(":");if(e===-1)return null;let r=t.slice(0,e).trim(),o=t.slice(e+1).trim(),n=/!\s*important\s*$/i.exec(o);return n&&(o=o.slice(0,n.index).trim()),{name:r,value:o,important:!!n}}function $t(t,e){if(t==null)return null;let r=null;for(let o of Ne(String(t))){let n=Le(o);!n||n.name!==e||(!r||n.important||!r.important)&&(r=n)}return r?r.value:null}function vr(t,e,r){let o=t==null?"":String(t),n=r==null||r==="",l=Ne(o),s=l.map(Le),i=s.some(d=>d&&d.name===e&&d.important),a=[],u=!1;l.forEach((d,p)=>{let A=s[p];if(!A||A.name!==e){a.push(d);return}if(n||u)return;let f=/^\s*/.exec(d)[0];a.push(`${f}${e}: ${r}${i?" !important":""}`),u=!0});let c=a.join(";");if(!n&&!u){let d=c.trimEnd();c=d===""?`${e}: ${r}`:`${d}${d.endsWith(";")?" ":"; "}${e}: ${r}`}return c.trim()===""?null:c}function Re(t,e,r,o){let n=t.attr(e,"style");if(($t(n,r)??"")===o)return;let l=vr(n,r,o);l==null?t.removeAttr(e,"style"):t.attr(e,"style",l)}function ct(t,e,r,o={}){if(Object.prototype.hasOwnProperty.call(o,"exclude")&&t.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return Tt(t,e,r,{depth:0,path:[]},o)}function Tt(t,e,r,o,n){if(o.depth>ht)throw new It(o.path);if(typeof r=="string")return br(t,e,r,o,n);if(Array.isArray(r)){let[l,s]=r,i=t.find(e,l,n);return Ie(n,o,i),i.map((a,u)=>Tt(t,a,s,{depth:o.depth+1,path:[...o.path,u]},n))}if(typeof r=="object"&&r!==null){let l={};for(let[s,i]of Object.entries(r))l[s]=Tt(t,e,i,{depth:o.depth+1,path:[...o.path,s]},n);return l}return null}function br(t,e,r,o,n){if(r.endsWith("[]")){let i=r.slice(0,-2),a=t.find(e,i,n);return Ie(n,o,a),a.map(u=>t.text(u))}if(r.startsWith("@"))return le(t,e,r.slice(1));let l=V(r);if(l!==-1){let i=r.slice(0,l),a=r.slice(l+1),u=i?t.find(e,i,n):[e];return u.length===0?null:le(t,u[0],a)}if(r===".")return t.text(e);let s=t.find(e,r,n);return s.length===0?null:t.text(s[0])}function Ie(t,e,r){if(typeof t.onRowsRead=="function")try{t.onRowsRead(e.path.slice(),r)}catch(o){console.warn(`[hyper-html-api] onRowsRead threw at "${e.path.join(".")||"(root)"}"`,o)}}function le(t,e,r){if(Ct(r))return $t(t.attr(e,"style"),r);if(sr.has(r)){let n=t.prop(e,r);return n==null?null:String(n)}return t.attr(e,r)??null}function Ar(t,e,r,o){let n=t.length,l=e.length,s=new Array(n).fill(-1);if(o){let h=new Set;for(let g=0;g<n;g++){let v=o[g];!(v>=0&&v<l)||h.has(v)||(s[g]=v,h.add(v))}}if(n===0||l===0)return s;let i=t.map(h=>ie(h,r)),a=e.map(h=>ie(h,r)),u=new Array(l).fill(!1);for(let h of s)h>=0&&(u[h]=!0);let c=new Map;a.forEach((h,g)=>{u[g]||c.set(h,c.has(h)?-1:g)});let d=new Map;i.forEach((h,g)=>{s[g]>=0||d.set(h,(d.get(h)||0)+1)}),i.forEach((h,g)=>{if(s[g]>=0||d.get(h)!==1)return;let v=c.get(h);v===void 0||v===-1||u[v]||(s[g]=v,u[v]=!0)});let p=[];for(let h=0;h<n;h++)s[h]<0&&p.push(h);let A=[];for(let h=0;h<l;h++)u[h]||A.push(h);if(p.length===0||A.length===0)return s;let f=n*l+1,m=Er(t,e,r),w=(h,g)=>m(h,g)*f+Math.abs(h-g);for(let[h,g]of xr(p,A,w))s[h]=g;return s}var Ce=t=>typeof t=="object"&&t!==null;function ie(t,e){if(!Ce(e))return t==null?" null":String(t);let r=Object.keys(e);return JSON.stringify(r.map(o=>{let n=JSON.stringify(t?.[o]);return n===void 0?" undef":n}))}function Er(t,e,r){if(!Ce(r))return(i,a)=>t[i]===e[a]?0:1;let o=Object.keys(r),n=i=>o.map(a=>JSON.stringify(i?.[a])),l=t.map(n),s=e.map(n);return(i,a)=>{let u=l[i],c=s[a],d=0;for(let p=0;p<o.length;p++)u[p]!==c[p]&&d++;return d}}function xr(t,e,r){return t.length<=e.length?ae(t,e,r,!1):ae(e,t,(o,n)=>r(n,o),!0)}function ae(t,e,r,o){let n=t.length,l=e.length,s=[];for(let d=0;d<=n;d++)s.push(new Float64Array(l+1).fill(1/0));let i=[];for(let d=0;d<=n;d++)i.push(new Uint8Array(l+1));for(let d=0;d<=l;d++)s[n][d]=0;for(let d=n-1;d>=0;d--)for(let p=l-1;p>=0;p--){let A=r(t[d],e[p])+s[d+1][p+1],f=s[d][p+1];A<=f?(s[d][p]=A,i[d][p]=1):s[d][p]=f}let a=[],u=0,c=0;for(;u<n&&c<l;)i[u][c]&&(a.push(o?[e[c],t[u]]:[t[u],e[c]]),u++),c++;return a}function $e(t,e,r,o,n,l,s,i={}){let a=t.find(e,r,i);if(n.length===0){a.forEach(T=>t.remove(T)),Ot(i,"onRowsApplied",l.path,[]);return}let u=n.length>a.length,c=a[0]||null;if(u&&!c&&(c=kr(t,e,r,i),!c))throw new tt(l.path);let d=a.map(T=>Sr(t,T,o,i)),p=null;if(u&&c){p=t.clone(c),i.templateAttr&&t.removeAttr(p,i.templateAttr);let T=t.stripIds(p);T>0&&console.warn(`[hyper-html-api] stripped ${T} id attribute(s) from cloned template at "${l.path.join(".")||"(root)"}"`)}let A=Ar(n,d,o,Tr(t,a,n,l,i)),f=a.length>0?t.parent(a[0]):Ir(t,e,r,c,l,i),m=a.length>0?Me(t,f,a[0]):0,w=Mr(t,a),h=new Set,g=[],v=n.map((T,O)=>{let E=A[O];if(E>=0)return h.add(E),g.push(!1),a[E];g.push(!0);let N=t.clone(p);return t.stripIds(N),N});a.forEach((T,O)=>{h.has(O)||t.remove(T)}),w?$r(t,f,m,v,g):jr(t,v,g,f,m),Or(t,v,o,n,l,s,i),Ot(i,"onRowsApplied",l.path,v)}function Ot(t,e,r,o){if(typeof t[e]=="function")try{return t[e](r.slice(),o)}catch(n){console.warn(`[hyper-html-api] ${e} threw at "${r.join(".")||"(root)"}"`,n);return}}function Tr(t,e,r,o,n){let l=Ot(n,"identifyRows",o.path,r);if(!Array.isArray(l))return null;let s=new Array(r.length).fill(-1),i=new Set,a=new Map(e.map((u,c)=>[t.identity(u),c]));for(let u=0;u<r.length;u++){if(!l[u])continue;let c=a.get(t.identity(l[u]));c===void 0||i.has(c)||(s[u]=c,i.add(c))}return s}function Or(t,e,r,o,n,l,s){e.forEach((i,a)=>{if(r===null){let u=o[a],c=u==null?"":String(u);t.text(i)!==c&&t.text(i,c)}else{let u=l(t,i,r,o[a],{depth:n.depth+1,path:[...n.path,a]},s);u&&u!==i&&(e[a]=u)}})}function Sr(t,e,r,o){return r===null?t.text(e):ct(t,e,r,o.onRowsRead?{...o,onRowsRead:void 0}:o)}function Me(t,e,r){let o=t.children(e);for(let n=0;n<o.length;n++)if(t.sameNode(o[n],r))return n;return-1}function kr(t,e,r,o){if(!o.templateAttr)return null;let n=/^\s*:scope\s*>\s*/.test(r),l=new RegExp(":not\\(\\["+o.templateAttr.replace(/[.*+?^${}()|[\]\\-]/g,"\\$&")+"\\]\\)","g"),s=r.replace(/^\s*:scope\s*>\s*/,"").replace(l,""),i=n?Nr(s):0,a=ke(s),u=e;for(;u;){let c=t.find(u,s,{includeRulesTag:!1,templateAttr:null});for(let d of c)if(t.attr(d,o.templateAttr)!=null&&!(n&&!Rr(t,e,d,i))&&!(a&&!t.matches(t.parent(d),a)))return d;u=t.parent(u)}return null}function Nr(t){let e=0,r=null,o=1;for(let n=0;n<t.length;n++){let l=t[n];if(l==="\\")n++;else if(r)l===r&&(r=null);else if(l==='"'||l==="'")r=l;else if(l==="["||l==="(")e++;else if(l==="]"||l===")")e>0&&e--;else if(e===0&&l===">")o++;else{if(e===0&&(l==="+"||l==="~"))return null;if(e===0&&/\s/.test(l)){if(!Lr(t,n))return null;for(;n+1<t.length&&/\s/.test(t[n+1]);)n++}}}return o}function Lr(t,e){let r=e;for(;r<t.length&&/\s/.test(t[r]);)r++;let o=e>0?t[e-1]:"",n=r<t.length?t[r]:"";return se(o)||se(n)}function se(t){return t===">"||t==="+"||t==="~"}function Rr(t,e,r,o){if(o===null)return!0;let n=r;for(let a=0;a<o;a++)if(n=t.parent(n),!n)return!1;let l=t.prop(e,"tagName");if(!l)return!0;let s=t.prop(n,"tagName");if(!s||String(s).toLowerCase()!==String(l).toLowerCase())return!1;let i=new Set(ue(t,n));return ue(t,e).every(a=>i.has(a))}function ue(t,e){let r=t.attr(e,"class");return r?String(r).split(/\s+/).filter(Boolean):[]}function Ir(t,e,r,o,n,l){let s=t.parent(o);if(s&&Cr(t,e,s)&&!fe(t,s,l))return s;let i=ke(r);if(!i)throw new tt(n.path,`the list selector "${r}" names no container to hold the new rows \u2014 write it as "container > row" (for example "ol.comments > li") so the cloned row lands in the list`);let a=(i===":scope"?t.prop(e,"tagName")?[e]:[]:t.find(e,i,l)).filter(u=>!fe(t,u,l));if(a.length===0)throw new tt(n.path,`no container matching "${i}" inside this context to hold the new rows`);if(a.length>1)throw new tt(n.path,`"${i}" matches ${a.length} containers inside this context, so the new rows have no single destination`);return a[0]}function Cr(t,e,r){let o=r;for(;o;){if(t.sameNode(o,e))return!0;o=t.parent(o)}return t.parent(e)?!1:t.find(e,"*",{includeRulesTag:!0,templateAttr:null}).some(n=>t.sameNode(n,r))}var ce=["no-data","editor-ui"];function fe(t,e,r){let o=e;for(;o;){if(r.templateAttr&&t.attr(o,r.templateAttr)!=null||ce.some(l=>t.attr(o,l)!=null))return!0;let n=t.attr(o,"clay");if(n&&n.split(/\s+/).some(l=>ce.includes(l)))return!0;o=t.parent(o)}return!1}function $r(t,e,r,o,n){let l=t.children(e),s=l.map(a=>t.identity(a)),i=!1;o.forEach((a,u)=>{let c=t.identity(a),d=r+u;if(s[d]===c)return;if(!n[u]){let A=s.indexOf(c);A!==-1&&(s.splice(A,1),l.splice(A,1))}let p=Math.min(d,l.length);p<l.length?t.insertBefore(l[p],a):l.length?i?t.insertAfter(l[l.length-1],a):(t.insertAt(e,a,d),i=!0):t.insertAt(e,a,0),s.splice(p,0,c),l.splice(p,0,a)})}function Mr(t,e){if(e.length<=1)return!0;let r=t.parent(e[0]);if(!r)return!1;let o=new Map(t.children(r).map((l,s)=>[t.identity(l),s])),n=[];for(let l of e){let s=o.get(t.identity(l));if(s===void 0)return!1;n.push(s)}return n.sort((l,s)=>l-s),n[n.length-1]-n[0]===n.length-1}function jr(t,e,r,o,n){let l=null,s=n;for(let i=0;i<e.length;i++){if(!r[i]){l=e[i];continue}let a=l?t.parent(l):o;if(!a)continue;let u=l?Me(t,a,l)+1:s++;t.insertAt(a,e[i],u),l=e[i]}}function ft(t,e,r,o,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&t.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let l=[];if(St(r,o,[],l),l.length)throw new Te(l);dt(t,e,r,o,{depth:0,path:[]},n)}function dt(t,e,r,o,n,l={}){if(n.depth>ht)throw new It(n.path);if(o===void 0)return e;if(typeof r=="string")return Dr(t,e,r,o,n,l);if(Array.isArray(r)){let[s,i]=r;return $e(t,e,s,i,o,n,dt,l),e}if(typeof r=="object"&&r!==null){for(let[s,i]of Object.entries(r)){let a=dt(t,e,i,o==null?o:o[s],{depth:n.depth+1,path:[...n.path,s]},l);a&&a!==e&&(e=a)}return e}return e}function Dr(t,e,r,o,n,l){if(r.endsWith("[]")){let a=r.slice(0,-2);return $e(t,e,a,null,o,n,dt,l),e}if(r.startsWith("@"))return pe(t,e,r.slice(1),o);let s=V(r);if(s!==-1){let a=r.slice(0,s),u=r.slice(s+1),c=a?t.find(e,a,l):[e];return c.length===0||pe(t,c[0],u,o),e}if(r===".")return de(t,e,o),e;let i=t.find(e,r,l);return i.length===0||de(t,i[0],o),e}function de(t,e,r){let o=r==null?"":String(r);t.text(e)!==o&&t.text(e,o)}function Pr(t,e,r,o){if(t.styleVar){t.styleVar(e,r,o);return}Re(t,e,r,o)}function pe(t,e,r,o){if(Ct(r))return Pr(t,e,r,o==null?"":String(o).trim()),e;if(Ee.has(r)){let n=t.prop(e,r);if(n===o||n!=null&&o!=null&&String(n)===String(o))return e;throw new Oe(r)}if(r==="outerHTML"){let n=o==null?"":String(o);return t.replaceWith(e,n)}if(ur.has(r)){let n=cr(r,o);return t.prop(e,r)!==n&&t.prop(e,r,n),e}if(o==null)t.attr(e,r)!=null&&t.removeAttr(e,r);else{let n=String(o);t.attr(e,r)!==n&&t.attr(e,r,n)}return e}function St(t,e,r,o){if(e!==void 0){if(typeof t=="string"){if(t.endsWith("[]")){Array.isArray(e)?e.forEach((n,l)=>{typeof n=="object"&&n!==null&&o.push({path:Y([...r,l]),expected:"scalar",got:G(n)})}):o.push({path:Y(r),expected:"array",got:G(e)});return}e!==null&&typeof e=="object"&&o.push({path:Y(r),expected:"scalar",got:G(e)});return}if(Array.isArray(t)){if(!Array.isArray(e)){o.push({path:Y(r),expected:"array",got:G(e)});return}let n=t[1];e.forEach((l,s)=>St(n,l,[...r,s],o));return}if(typeof t=="object"&&t!==null){if(e===null||Array.isArray(e)||typeof e!="object"){o.push({path:Y(r),expected:"object",got:G(e)});return}for(let[n,l]of Object.entries(t))St(l,e[n],[...r,n],o)}}}function G(t){return t===null?"null":Array.isArray(t)?"array":typeof t}function Y(t){return t.join(".")}function Hr(t){try{return JSON.parse(t)}catch(e){throw new Rt(`Invalid strict JSON: ${e.message}`,e)}}function je(t){try{return JSON.parse(t)}catch{}let e={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(n){let l=[],s=0;for(;s<n.length;){let i=n[s];if(/\s/.test(i)){s++;continue}if("{}".includes(i)){l.push({type:i,value:i}),s++;continue}if(i==="["){let d=!1,p=s+1;for(;p<n.length&&/\s/.test(n[p]);)p++;if(p<n.length&&/[a-zA-Z_]/.test(n[p])&&(d=!0),!d){l.push({type:i,value:i}),s++;continue}}if(i==="]"){l.push({type:i,value:i}),s++;continue}if(i===":"){l.push({type:e.COLON,value:i}),s++;continue}if(i===","){l.push({type:e.COMMA,value:i}),s++;continue}if(i==='"'||i==="'"){let d=i,p=s+1;for(;p<n.length&&n[p]!==d;)n[p]==="\\"&&p++,p++;l.push({type:e.STRING,value:n.substring(s+1,p),quoted:!0,sourceQuote:d}),s=p+1;continue}let a=s,u;for(;a<n.length&&!/[{},]/.test(n[a]);)if(n[a]===":"){let d=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],p=!1;for(let A of d){let f=A.substring(1);if(n.substring(a+1,a+1+f.length)===f){p=!0,a+=f.length;break}}if(!p)break}else if(n[a]==="["){for(a++;a<n.length&&n[a]!=="]";){if(n[a]==='"'||n[a]==="'"){let d=n[a];for(a++;a<n.length&&n[a]!==d;)n[a]==="\\"&&a++,a++}a++}a<n.length&&n[a]==="]"&&a++}else a++;u=n.substring(s,a);let c=e.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?c=e.NUMBER:u==="true"||u==="false"||u==="null"?c=e.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(c=e.SELECTOR),l.push({type:c,value:u,quoted:!1}),s=a}return l}function o(n){let l="";for(let s=0;s<n.length;s++){let i=n[s];if("{}".includes(i.type)||"[]".includes(i.type)){l+=i.value;continue}if(i.type===e.COLON){l+=i.value;continue}if(i.type===e.COMMA){let a=n[s+1];if(a&&(a.type==="}"||a.type==="]"))continue;l+=i.value;continue}if(i.type===e.STRING&&i.quoted){let a=i.value;i.sourceQuote==="'"&&(a=a.replace(/\\'/g,"'"),a=a.replace(/(\\*)"/g,(u,c)=>c.length%2===0?c+'\\"':u)),l+=`"${a}"`;continue}if(i.type===e.NUMBER||i.type===e.BOOLEAN){l+=i.value;continue}if(i.type===e.SELECTOR||i.type===e.IDENTIFIER){l+=`"${i.value}"`;continue}l+=`"${i.value}"`}return l}try{let n=r(t),l=o(n);return JSON.parse(l)}catch(n){throw new Rt("Invalid extraction rules syntax: "+n.message,n)}}var Wr="1",he=/^[a-zA-Z0-9_-]+$/;function Mt(t,e,r){let o;if(r===void 0)o="script[data-rules-name]";else{if(typeof r!="string"||!he.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${he})`);o=`script[data-rules-name~="${r}"]`}let n=t.find(e,o,{includeRulesTag:!0});if(n.length===0)return null;r!==void 0&&n.length>1&&console.warn(`hyper-html-api: ${n.length} rules tags match data-rules-name~="${r}"; using the first.`);let l=n[0],s=t.attr(l,"data-rules-version");if(s!==Wr)throw new xe(s);return{rules:je(t.text(l)),tagNode:l}}var jt=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),Br=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Ur=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function pt(t,e){if(!t||t.nodeType!==1)return!1;let r=t.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(e)||t.hasAttribute?.(e))}function De(t,e){if(pt(t,e))return!0;for(let[r,o]of Object.entries(Br))if(o.includes(e)&&pt(t,r))return!0;return!1}function kt(t){let e=jt[t];if(!e)throw new Error(`Unknown region capability: ${t}`);return[...e.tokens,...e.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function qr(t,e){let r=t&&t.nodeType===1?t:t?.parentElement;for(;r&&r.nodeType===1;){let o=jt[e];if(!o)throw new Error(`Unknown region capability: ${e}`);if(o.tokens.some(n=>De(r,n))||o.bundles.some(n=>pt(r,n)))return r;r=r.parentElement}return null}function _r(t,e){return!!qr(t,e)}var Dt=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...Ur],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"],customPropertyValues:Object.freeze({maxLength:200,refusedCharacters:[";","{","}","<",">","\\"],refusedFunctions:["url","src","image","image-set","-webkit-image-set","cross-fade","element","expression","paint"]})}),zr=new Set(["textContent","innerText"]);function Vr(t){let e=String(t).replace(/^[\u0000- ]+|[\u0000- ]+$/g,"").replace(/[\t\n\r]/g,"").match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/);return e?e[1].toLowerCase():null}var Fr=/^[^\t\n\f\r "'>/=\u0000-\u001f\u007f]+$/;function Kr(t,e,r=Dt){if(!Fr.test(String(t)))return`attribute name ${JSON.stringify(String(t))} is not valid`;let o=String(t).toLowerCase();if(r.refusedAttributePrefixes.some(n=>o.startsWith(n)))return`attribute "${o}" can run script`;if(r.refusedAttributes.includes(o))return`attribute "${o}" is not content`;if(r.urlAttributes.includes(o)&&e!=null){let n=o==="srcset"?String(e).split(",").map(l=>l.trim().split(/\s+/)[0]).filter(Boolean):[String(e)];for(let l of n){let s=Vr(l);if(s&&r.refusedSchemes.includes(s))return`"${s}:" URLs are not allowed in "${o}"`}}return null}function Pt(t,e){let r=t.prop(e,"tagName");return r?String(r).toLowerCase():""}function Jr(t,e){let r=Pt(t,e)||"node",o=t.attr(e,"id");return o?`<${r}#${o}>`:`<${r}>`}function Zr(t,e,r){let o=e;for(;o;){let n=Pt(t,o);if(n&&r.refusedTargets.includes(n))return n;o=t.parent(o)}return null}function Pe(t,e){return t.find(e,"script[data-rules-name]",{includeRulesTag:!0,templateAttr:null}).length>0}function Xr(t,e){return Pt(t,e)==="script"&&t.attr(e,"data-rules-name")!=null?!0:Pe(t,e)}function Gr(t){if(/[\u0000-\u001f\u007f]/.test(t))return"control characters are not allowed in a custom property value";let e=[],r=null;for(let o=0;o<t.length;o++){let n=t[o];if(r){n===r&&(r=null);continue}if(n==='"'||n==="'")r=n;else{if(n==="/"&&t[o+1]==="*")return"comments are not allowed in a custom property value";if(n==="(")e.push(")");else if(n==="[")e.push("]");else if((n===")"||n==="]")&&e.pop()!==n)return`"${n}" does not close anything in this custom property value`}}return r?"a custom property value must close its quotes":e.length?"a custom property value must close its brackets":null}function Yr(t,e=Dt){let r=e.customPropertyValues,o=String(t);if(o.length>r.maxLength)return`custom property values are limited to ${r.maxLength} characters`;let n=r.refusedCharacters.find(a=>o.includes(a));if(n)return`${JSON.stringify(n)} is not allowed in a custom property value`;let l=Gr(o);if(l)return l;let s=o.toLowerCase(),i=r.refusedFunctions.find(a=>new RegExp(`(^|[^a-z0-9_-])${a.replace(/[-]/g,"\\-")}\\s*\\(`).test(s));return i?`"${i}()" is not allowed in a custom property value`:null}function me(t,e=Dt){let r=[],o=(i,a)=>(r.push({target:Jr(t,i),reason:a}),!1),n=i=>{let a=Zr(t,i,e);return a?o(i,`inside <${a}>, which is not content`):!0},l=i=>n(i)?Pe(t,i)?o(i,"a text write here would delete the data rules tag"):!0:!1,s=(i,a,u)=>{if(!n(i))return!1;let c=Kr(a,u,e);return c?o(i,c):!0};return{...t,text(i,a){if(a===void 0)return t.text(i);l(i)&&t.text(i,a)},attr(i,a,u){if(u===void 0)return t.attr(i,a);s(i,a,u)&&t.attr(i,a,u)},removeAttr(i,a){s(i,a,null)&&t.removeAttr(i,a)},styleVar(i,a,u){if(($t(t.attr(i,"style"),a)??"")!==u&&n(i)){if(!Ct(a))return o(i,`"${a}" is not a custom property`);if(u!==""){let c=Yr(u,e);if(c)return o(i,c)}Re(t,i,a,u)}},prop(i,a,u){if(u===void 0)return t.prop(i,a);if(e.refusedRuleForms.includes(a))return o(i,`"@${a}" writes HTML, only text is allowed`);if(zr.has(a)){l(i)&&t.prop(i,a,u);return}s(i,a==="className"?"class":a,u)&&t.prop(i,a,u)},remove(i){if(Xr(t,i)){o(i,"removing this would delete the data rules tag");return}t.remove(i)},replaceWith(i,a){return a===t.prop(i,"outerHTML")||o(i,'"@outerHTML" writes HTML, only text is allowed'),i},refusals:r,assertClean(){if(r.length)throw new Se(r.slice())}}}function Q(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function ye(t){return t.reduce((e,r)=>typeof r=="number"?`${e}[${r}]`:e?`${e}.${r}`:r,"")}function Qr(t,e,r,o,n={}){let l=[],s=[];function i(u,c,d){if(Array.isArray(u)){let[,p]=u;if(!Array.isArray(c)||!Q(p))return;c.forEach((A,f)=>i(p,A,[...d,f]));return}if(!(!Q(u)||!Q(c)))for(let p of Object.keys(c))Object.prototype.hasOwnProperty.call(u,p)?i(u[p],c[p],[...d,p]):l.push(ye([...d,p]))}function a(u,c,d,p){if(d!==void 0){if(typeof c=="string"){if(c.endsWith("[]")||c==="."||c.startsWith("@"))return;let A=V(c),f=A===-1?c:c.slice(0,A);if(!f)return;t.find(u,f,n).length===0&&s.push({path:ye(p),selector:f});return}if(!Array.isArray(c)&&Q(c)&&Q(d))for(let[A,f]of Object.entries(c))a(u,f,d[A],[...p,A])}}return i(r,o,[]),a(e,r,o,[]),{unknownKeys:l,unmatched:s}}function ge(t,e,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let o=e&&e.ownerDocument?e.ownerDocument:e;return Mt(t,o,r)}return null}var tn=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function en(t,e){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(t.tagName||""))return;let r=(t.getAttribute?.("type")||"").toLowerCase();"value"in t&&"value"in e&&t.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&r!=="file"&&(e.value=t.value),t.tagName==="INPUT"&&(r==="checkbox"||r==="radio")&&(e.checked=t.checked),t.tagName==="OPTION"&&(e.selected=t.selected),"indeterminate"in t&&"indeterminate"in e&&(e.indeterminate=t.indeterminate)}function we(t,e,r,o){if(o)return!!t.closest?.(e);let n=t;for(;n?.nodeType===1;){if(n.matches(e))return!0;if(n===r)break;n=n.parentElement}return!1}function ve(t,e,r,o,n,l){return(l?_r(t,e):we(t,r,n,!1))||!!(o&&(l&&t!==n?t.matches(o):we(t,o,n,l)))}function rn(t,e){let r=jt[e];return r.tokens.some(o=>De(t,o))||r.bundles.some(o=>pt(t,o))}var nn=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function He(t,e,r,o){if(t.nodeType===1&&o(t)){r.dropped.push(e);return}r.cloneToLive.set(e,t),r.liveToClone.set(t,e);let n=t,l=e;if(t.nodeType===1){if(nn.has(t.tagName)&&r.controls.push(t,e),t.tagName==="TEMPLATE"){for(;e.firstChild;)e.removeChild(e.firstChild);n=t.content,l=e.content,r.cloneToLive.set(l,n),r.liveToClone.set(n,l)}}else if(t.nodeType!==11)return;let s=l.firstChild;for(let i=n.firstChild;i&&s;i=i.nextSibling)He(i,s,r,o),s=s.nextSibling}function st(t,{capability:e="data",exclude:r=null,inherit:o=!0,provenance:n=null}={}){if(!t)throw new TypeError("createContentView requires a DOM context");let l=t.nodeType===9?t:t.ownerDocument;if(!l?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let s=l.implementation.createHTMLDocument(""),i=n||new WeakMap,a=new WeakMap,u=t.nodeType===9?t.documentElement:t;r&&s.documentElement.matches(r);let c=kt(e),d=o?f=>rn(f,e)||!!(r&&f.matches(r)):f=>ve(f,e,c,r,u,!1),p=null;if(u.nodeType!==1||!ve(u,e,c,r,u,o)){p=s.importNode(u,!0);let f={cloneToLive:i,liveToClone:a,dropped:[],controls:[]};He(u,p,f,d);for(let m of f.dropped)m.remove();for(let m=0;m<f.controls.length;m+=2)en(f.controls[m],f.controls[m+1])}t.nodeType===9&&p&&(s.replaceChild(p,s.documentElement),a.set(t,s),i.set(s,t));let A=f=>{if(tn.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:p,document:s,capability:e,selector:kt(e),cloneToLive:i,liveToClone:a,original(f){return i.get(f)||null},cloneOf(f){return a.get(f)||null},query(f,m=p){return A(f),Array.from(m.querySelectorAll(f),w=>i.get(w)||w)},text(f=p){return(f===p?p:a.get(f))?.textContent||""},html(f=p){return(f===p?p:a.get(f))?.innerHTML??""},clone(f=p){let m=f===p?p:a.get(f);return m?s.importNode(m,!0):null}}}function We(t){return t&&t.nodeType===1&&t.tagName==="SCRIPT"&&t.hasAttribute&&t.hasAttribute("data-rules-name")}function on(t){return t?(t.nodeType===9||t.nodeType,t):null}function be(t,e,r){!t||t.nodeType!==1||(e==="value"&&t.tagName==="INPUT"?t.value=r===null?"":r:e==="checked"&&t.tagName==="INPUT"?t.checked=r!==null:e==="selected"&&t.tagName==="OPTION"&&(t.selected=r!==null))}function Be(t,e){t&&t.tagName==="TEXTAREA"&&(t.value=e)}function Ue(t){if(!t||t.nodeType!==1)return;let e=[t,...t.querySelectorAll?t.querySelectorAll("textarea, input, option"):[]];for(let r of e)if(r.tagName==="TEXTAREA")r.value=r.defaultValue;else if(r.tagName==="INPUT"){let o=r.type;o!=="file"&&o!=="checkbox"&&o!=="radio"&&(r.value=r.defaultValue),r.checked=r.defaultChecked}else r.tagName==="OPTION"&&(r.selected=r.defaultSelected)}var k={semanticExclude:!0,find(t,e,r={}){let o=on(t);if(!o||!o.querySelectorAll)return[];let n=Array.from(o.querySelectorAll(e));r.includeRulesTag||(n=n.filter(i=>!We(i)));let l=[];r.skip&&l.push(r.skip);let s=r.templateAttr===null?null:r.templateAttr||"cms-template";if(s&&l.push("["+s+"]"),l.length){let i=l.join(", ");n=n.filter(a=>!a.closest||!a.closest(i))}return n},parent(t){return t?t.parentElement:null},children(t){return t?Array.from(t.children):[]},matches(t,e){return!!(t&&t.matches)&&t.matches(e)},text(t,e){if(e===void 0)return(t.textContent||"").trim();t.textContent=e,Be(t,e)},attr(t,e,r){if(r===void 0)return t.hasAttribute&&t.hasAttribute(e)?t.getAttribute(e):null;t.setAttribute(e,r),be(t,e,r)},removeAttr(t,e){t&&t.removeAttribute&&t.removeAttribute(e),be(t,e,null)},prop(t,e,r){if(r===void 0){let o=t?t[e]:void 0;return o!==void 0?o:null}t[e]=r},clone(t){let e=t.cloneNode(!0);return Ue(e),e},insertAt(t,e,r){let o=t.children[r]||null;t.insertBefore(e,o)},insertBefore(t,e){t.parentNode.insertBefore(e,t)},insertAfter(t,e){t.parentNode.insertBefore(e,t.nextSibling)},identity(t){return t||null},remove(t){t&&t.parentNode&&t.parentNode.removeChild(t)},replaceWith(t,e){if(!t||!t.parentNode)throw new Error("dom.replaceWith: node has no parent");let r=t.ownerDocument.createElement("template");r.innerHTML=e;let o=r.content.firstElementChild;if(!o)throw new Error("dom.replaceWith: html did not parse to an element");return t.parentNode.replaceChild(o,t),o},stripIds(t){let e=0;return t.id&&(t.removeAttribute("id"),e++),(t.querySelectorAll?t.querySelectorAll("[id]"):[]).forEach(r=>{r.removeAttribute("id"),e++}),e},sameNode(t,e){return t===e}};function B(t,e={}){if(e.exclude===null)return k;let r=[kt("data"),e.exclude].filter(Boolean).join(", "),o=t.nodeType===9?t:t.ownerDocument||t,n=t.nodeType===9?t.documentElement:t;if(!e._write&&!n?.matches?.(r)&&!n?.querySelector?.(r)&&!o?.querySelector?.(r))return k;let l=t.nodeType===9||!t.isConnected?t:t.ownerDocument,s=t.nodeType===9?t:t.ownerDocument,i=null,a=()=>i||(i=st(l,{capability:"data",exclude:e.exclude||null})),u=f=>{let m=a();return f===t?m.cloneOf(t):m.cloneOf(f)||f},c=f=>i?.original(f)||f,d=(f,m)=>{a().liveToClone.set(f,m),a().cloneToLive.set(m,f);let w=f.childNodes||[],h=m.childNodes||[];for(let g=0;g<Math.min(w.length,h.length);g++)d(w[g],h[g])},p=(f,m,w,h)=>{let g=Array.from(f.childNodes).filter(E=>i.cloneOf(E)),v=g[0];for(;v&&g.includes(v);)v=v.nextSibling;for(let E of g)E.remove();if(w==="innerHTML"){let E=s.createElement("template");E.innerHTML=h;for(let N of Array.from(E.content.childNodes))f.insertBefore(N,v||null)}else f.insertBefore(s.createTextNode(h),v||null),Be(f,h);let T=st(f,{capability:"data",exclude:e.exclude||null});m.replaceChildren(...Array.from(T.root?.childNodes||[]));let O=E=>{let N=T.original(E);N&&(i.liveToClone.set(N,E),i.cloneToLive.set(E,N));for(let J of Array.from(E.childNodes||[]))O(J)};for(let E of Array.from(m.childNodes))O(E)},A={...k,find(f,m,w={}){let h=u(f);if(!h?.querySelectorAll)return[];let g=a().query(m,h);w.includeRulesTag||(g=g.filter(O=>!We(O)));let v=[];w.skip&&v.push(w.skip);let T=w.templateAttr===null?null:w.templateAttr||"cms-template";if(T&&v.push(`[${T}]`),v.length){let O=v.join(", ");g=g.filter(E=>!E.closest?.(O))}return g},parent(f){let m=u(f)?.parentElement;return m?c(m):null},children(f){return Array.from(u(f)?.children||[],c)},text(f,m){if(m===void 0){let g=c(f);return!g?.matches?.(r)&&!g?.querySelector?.(r)?k.text(g):(u(f)?.textContent||"").trim()}let w=c(f);if(!w?.matches?.(r)&&!w?.querySelector?.(r)&&!i){k.text(w,m);return}let h=a().cloneOf(w);h?p(w,h,"textContent",m):k.text(w,m)},attr(f,m,w){let h=c(f);if(w===void 0)return k.attr(h,m);k.attr(h,m,w);let g=i?.cloneOf(h);g&&(k.attr(g,m,w),st(h,{capability:"data",exclude:e.exclude||null}).root===null&&(g.remove(),i.liveToClone.delete(h),i.cloneToLive.delete(g)))},removeAttr(f,m){let w=c(f);k.removeAttr(w,m);let h=i?.cloneOf(w);h&&k.removeAttr(h,m)},prop(f,m,w){let h=c(f);if(w===void 0)return m==="innerHTML"||m==="outerHTML"||m==="textContent"||m==="innerText"?k.prop(u(h),m):k.prop(h,m);let g=m==="innerHTML"||m==="textContent"||m==="innerText",v=g?a().cloneOf(h):i?.cloneOf(h);v&&g?p(h,v,m,w):(k.prop(h,m,w),v&&k.prop(v,m,w))},clone(f){let m=u(f);if(m===f)return k.clone(f);let w=s.importNode(m,!0);return Ue(w),w},insertAt(f,m,w){let h=c(f),g=A.children(h)[w]||(()=>{for(let O=h.children.length-1;O>=0;O--){let E=h.children[O];if(a().cloneOf(E))return E.nextElementSibling}return h.firstElementChild})(),v=c(m);h.insertBefore(v,g||null);let T=a().cloneOf(h);if(T){let O=a().cloneOf(v);O||(O=s.importNode(v,!0),d(v,O));let E=Array.from(T.children);T.insertBefore(O,E[w]||null)}},insertBefore(f,m){let w=c(f),h=c(m);w.parentNode.insertBefore(h,w);let g=a().cloneOf(w.parentNode);if(g){let v=a().cloneOf(h);v||(v=s.importNode(h,!0),d(h,v));let T=a().cloneOf(w);T?T.before(v):g.appendChild(v)}},insertAfter(f,m){let w=c(f),h=c(m);w.parentNode.insertBefore(h,w.nextSibling);let g=a().cloneOf(w.parentNode);if(g){let v=a().cloneOf(h);v||(v=s.importNode(h,!0),d(h,v));let T=a().cloneOf(w);T?T.after(v):g.appendChild(v)}},identity(f){return c(f)||null},remove(f){let m=c(f),w=a().cloneOf(m);k.remove(m),w&&k.remove(w)},replaceWith(f,m){let w=c(f),h=a().cloneOf(w),g=k.replaceWith(w,m);if(h){let v=st(g,{capability:"data",exclude:e.exclude||null});if(!v.root)h.remove();else{h.replaceWith(v.root);let T=O=>{let E=v.original(O);E&&(i.liveToClone.set(E,O),i.cloneToLive.set(O,E));for(let N of Array.from(O.childNodes||[]))T(N)};T(v.root)}}return g}};return A}var ut=k,mt={extract:(t,e,r={})=>ct(B(t,r),t,e,r),apply:(t,e,r,o={})=>ft(B(t,{...o,_write:!0}),t,e,r,o),findRulesIn:(t,e)=>Mt(ut,t,e),findRules:(t,e)=>ge(ut,t,e),bind:(t,e,r={})=>{let o=ge(ut,t,e);if(!o){let n=typeof e=="string"?`data-rules-name~="${e}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${n}`)}return{...o,get:()=>ct(B(t,r),t,o.rules,r),set:n=>ft(B(t,{...r,_write:!0}),t,o.rules,n,r)}},parseStrict:Hr,parseRelaxed:je,ruleAttrIndex:V,splitRule:mr,errors:P,DOM_PROPERTIES:Ae},Nt=t=>!!t&&typeof t.nodeType=="number";function qe(t){let e=t&&t.ownerDocument?t.ownerDocument:t,r=Mt(ut,e,"api");if(!r)throw new P.NoRulesTag("api");return r.rules}function ln(t){if(t.nodeType===9)return t;let e=t.ownerDocument?.documentElement;if(e?.contains(t))return e;let r=t;for(;r.parentNode;)r=r.parentNode;return r}function an(t){if(t.nodeType!==11||!t.host)return t.cloneNode(!0);let e=t.ownerDocument.createDocumentFragment();for(let r of t.childNodes)e.appendChild(r.cloneNode(!0));return e}function sn(t,e){let r=[];for(;e!==t;){let o=e.parentNode;r.push(Array.prototype.indexOf.call(o.childNodes,e)),e=o}return r.reverse()}function un(t,e){return e.reduce((r,o)=>r.childNodes[o],t)}function z(t,e){let r=t.querySelectorAll?Array.from(t.querySelectorAll(e)):[];return t.matches?.(e)&&r.unshift(t),r}function cn(t,e){let r=z(t,"option"),o=z(e,"option");r.forEach((a,u)=>o[u].selected=a.selected);let n=z(t,"input"),l=z(e,"input");n.forEach((a,u)=>{let c=a.type.toLowerCase();c!=="file"&&(l[u].value=a.value),(c==="checkbox"||c==="radio")&&(l[u].checked=a.checked)});let s=z(t,"textarea"),i=z(e,"textarea");s.forEach((a,u)=>i[u].value=a.value)}function Lt(t,e){if(e!==void 0){if(typeof t=="string"){if(t.endsWith("[]"))return;let r=t.startsWith("@")?0:V(t);if(r===-1)return;let o=t.slice(r+1);if(Ee.has(o))throw new P.RuleTargetReadOnly(o);return}if(Array.isArray(t)){if(!Array.isArray(e))return;e.forEach(r=>Lt(t[1],r));return}if(t&&typeof t=="object"&&e&&typeof e=="object"&&!Array.isArray(e))for(let[r,o]of Object.entries(t))Lt(o,e[r])}}function fn(t,e,r){let o={templateAttr:"cms-template"},n=ln(t),l=sn(n,t),s=an(n);cn(n,s);let i=un(s,l),a=B(s,{...o,_write:!0}),u=Qr(a,i,e,r,o);if(u.unknownKeys.length||u.unmatched.length)throw new P.WriteRejected(u.unknownKeys,u.unmatched);let c=me(a);ft(c,i,e,r,o),c.assertClean(),Lt(e,r);let d=me(B(n,{...o,_write:!0}));ft(d,t,e,r,o),d.assertClean()}function dn(t){if(!(t instanceof Error))return t;let e=t.name||"Error";try{t.code=e}catch{Object.defineProperty(t,"code",{value:e,configurable:!0,enumerable:!0})}return t instanceof P.WriteRefused?t.details=t.refusals:t instanceof P.WriteRejected?t.details={unknownKeys:t.unknownKeys,unmatched:t.unmatched}:t instanceof P.ShapeMismatch?t.details=t.mismatches:Array.isArray(t.path)?t.details={path:t.path}:typeof t.target=="string"?t.details={target:t.target}:t.token!==void 0?t.details={token:t.token}:t.version!==void 0?t.details={version:t.version}:t.details={},t}function et(t,e){let r=Nt(t)?t:document,o=Nt(t)?e:t;return o===void 0?ct(B(r),r,qe(r)):mt.bind(r,o).get()}function rt(t,e,r){try{if(!Nt(t))throw new Error("hyper-html-api: applyData(root, data, source?) needs a DOM root as the first argument.");let o=r===void 0?qe(t):mt.bind(t,r).rules;fn(t,o,e)}catch(o){throw dn(o)}return t}var Ke="clay:visitor-drafts:",_e=1,ze=32;function U(t=window.location.pathname){let r=String(t||"/").replace(/\/{2,}/g,"/").match(/^(.*?\/[^/]+\.(?:html|htmlclay))(?:\/|$)/i),o=r?r[1]:"/";return o.toLowerCase()==="/index.html"?"/":o}var Wt=t=>Ke+t,Je=(t,e=U())=>`${Ke}${t}@${e}`;function vt(){try{return window.localStorage}catch{return null}}var j=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);function pn(t){let e=[];for(let r of t.matchAll(/([^.[\]]+)|\[(\d+)\]/g))e.push(r[2]!==void 0?Number(r[2]):r[1]);return e}function hn(t,e){let r=pn(e),o=t;for(let n=0;n<r.length-1;n++)if(o=o?.[r[n]],o==null||typeof o!="object")return;o&&typeof o=="object"&&delete o[r[r.length-1]]}function H(t,e){return Array.isArray(t)?Array.isArray(e)&&e.length===t.length&&t.every((r,o)=>H(r,e[o])):j(t)?j(e)&&Object.keys(t).every(r=>H(t[r],e[r])):t===e}function F(t,e){return H(t,e)&&H(e,t)}var K=t=>Array.isArray(t)&&t.every(e=>j(e)&&(typeof e.id=="string"||typeof e.id=="number"))&&new Set(t.map(e=>e.id)).size===t.length;function yt(t,e,r=!1){if(j(t)&&j(e)){let o={...t};for(let n of Object.keys(e))n in t?o[n]=yt(t[n],e[n]):r||(o[n]=e[n]);return o}if(K(t)&&K(e)){let o=new Map(e.map(n=>[n.id,n]));return t.map(n=>o.has(n.id)?yt(n,o.get(n.id)):n)}return t}var Ve=(t,e)=>t.length===e.length&&t.every((r,o)=>r===e[o]);function mn(t,e,r){let o=d=>new Map(d.map(p=>[p.id,p])),n=o(t),l=o(e),s=o(r),i=d=>d.filter(p=>n.has(p.id)&&l.has(p.id)&&s.has(p.id)).map(p=>p.id),a=i(t);if(!Ve(a,i(e))||!Ve(a,i(r)))return null;for(let[d,p]of n)if(l.has(d)&&!s.has(d)&&!F(l.get(d),p)||!l.has(d)&&s.has(d)&&!F(s.get(d),p))return null;let u=!1,c=[];for(let d of e){if(n.has(d.id)&&!s.has(d.id))continue;if(!s.has(d.id)){c.push(d);continue}let p=gt(n.get(d.id),d,s.get(d.id),!0);u||=p.conflict,c.push(p.value)}return r.forEach((d,p)=>{if(n.has(d.id)||l.has(d.id))return;let A=0;for(let f=p-1;f>=0;f--){let m=c.findIndex(w=>w.id===r[f].id);if(m!==-1){A=m+1;break}}c.splice(A,0,d)}),{value:c,conflict:u}}function gt(t,e,r,o){if(F(e,r)||F(r,t))return{value:e,conflict:!1};if(F(e,t))return{value:r,conflict:!1};if(j(e)&&j(r)){let n={},l=!1;for(let s of new Set([...Object.keys(e),...Object.keys(r)])){let i=gt(j(t)?t[s]:void 0,e[s],r[s],o);l||=i.conflict,i.value!==void 0&&(n[s]=i.value)}return{value:n,conflict:l}}if(o&&K(t)&&K(e)&&K(r)){let n=mn(t,e,r);if(n)return n}return{value:e,conflict:!0}}function wt(t,e=new Map){if(Array.isArray(t)){if(K(t))for(let r of t)e.set(r.id,(e.get(r.id)||0)+1);for(let r of t)wt(r,e)}else if(j(t))for(let r of Object.values(t))wt(r,e);return e}function yn(t,e,r){let o=gt(t,e,r,!0),n=wt(e);for(let[l,s]of wt(o.value))if(s>1&&s>(n.get(l)||0))return gt(t,e,r,!1);return o}function Ht(t,e){X(!0),t.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:e}}));let r=new Error("Couldn't save in this browser. Storage is full or turned off.");return r.code="draft-storage",r}var Fe=t=>{try{return String(JSON.parse(t)?.savedAt??"")}catch{return""}};function Ze(t,{path:e=U(),storage:r=vt()}={}){let o=Wt(t),n=Je(t,e),l=n+":legacy";try{let s=r?.getItem(n),i=r?.getItem(o);if(i==null){let d=r?.getItem(o+":ui");return d!=null&&r.getItem(n+":ui")==null&&r.getItem(n+":ui-legacy")==null&&(r.setItem(n+":ui",d),r.setItem(n+":ui-legacy","1")),"none"}let a=Fe(i),u=r.getItem(l);if(u===a)return"none";let c=r.getItem(n);if(c!==s)return"none";if(c==null||u!=null&&Fe(c)===u?r.setItem(n,i):c!==i&&(r.setItem(n+":conflict",i),console.warn("visitor-drafts: an older tab changed this draft after it moved; its copy was kept under",n+":conflict")),u==null){let d=r.getItem(o+":ui");d!=null&&r.getItem(n+":ui")==null&&r.setItem(n+":ui",d)}return r.setItem(l,a),"copied"}catch{return"failed"}}function Xe({doc:t=document,storage:e=vt(),now:r=()=>new Date,path:o=U(),fallback:n=null}={}){let l=at(t),s=Je(l,o),i=mt.findRulesIn(t,"api").rules,a=null,u=null,c=null,d=!1,p=null,A=()=>Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6),f=s+":reset";function m(){try{return"root:"+(e?.getItem(f)??"")}catch{return"root:"}}function w(b){let y=2166136261;for(let S=0;S<b.length;S++)y=Math.imul(y^b.charCodeAt(S),16777619);return"legacy:"+(y>>>0).toString(36)+"."+b.length.toString(36)}function h(b,y){return b?b.id?Array.isArray(b.ancestry)?[b.id,...b.ancestry].slice(0,ze):null:[w(y)]:null}function g(b){if(!p||p.raw!==a||!p.ancestry||!b?.id||b.id===p.id)return!1;let y=b.ancestry;return!Array.isArray(y)||y.includes(p.id)?!1:y.includes(p.ancestry[0])||y.length>=ze}function v(){try{if(!e)return null;let b=e.getItem(s);return b==null&&n?e.getItem(n):b}catch{return null}}function T(b){try{let y=JSON.parse(b);if(j(y)&&y.v===_e&&j(y.data))return y}catch{}return null}function O(){let b=v();return b==null?null:{raw:b,record:T(b)}}function E(){return et(t,i)}function N(){let b=window.clay?.getHTML;return typeof b!="function"?E():et(new DOMParser().parseFromString(b.call(window.clay),"text/html"),i)}function J(){try{if(typeof e.keys=="function")return e.keys();let b=[];for(let y=0;y<e.length;y++)b.push(e.key(y));return b}catch{return[]}}function bt(){try{return JSON.stringify(N())}catch{return null}}function q(b,{keepSlot:y=!1}={}){let S=J().find(M=>M.startsWith(s+":unreadable:")&&e.getItem(M)===b);if(S){if(c=null,!y)try{e.removeItem(s)}catch{}return S}let L=s+":unreadable:"+r().toISOString();try{e.setItem(L,b)}catch{return c=b,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(c=null,!y)try{e.removeItem(s)}catch{}return console.warn(y?"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",L),L}function lt(b){let y=yt(JSON.parse(JSON.stringify(b)),E(),!0),S=[];for(let L=0;L<4;L++){let M=t.cloneNode(!0);try{rt(M,y,i)}catch(D){let W=D?.details?.unknownKeys??D?.unknownKeys;if(Array.isArray(W)&&W.length){for(let $ of W)hn(y,$);continue}let _=Object.keys(y).filter($=>{try{return rt(t.cloneNode(!0),{[$]:y[$]},i),!1}catch{return!0}});if(!_.length)return null;for(let $ of _)delete y[$];S.push(..._);continue}let it=et(M,i),Z=Object.keys(y).filter(D=>!H(y[D],it[D]));if(!Z.length)return{data:y,dropped:S};for(let D of Z)delete y[D];S.push(...Z)}return null}function x(b){let y=q(b);return y||(a=b),u=E(),y?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}function I(){let b=O();if(!b)return u=E(),{restored:!1,hadDraft:!1};if(!b.record)return x(b.raw);let y=lt(b.record.data);if(!y||!Object.keys(y.data).length)return x(b.raw);if(rt(t,y.data,i),a=b.raw,u=E(),y.dropped.length){let S=q(b.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:y.data,partial:!0,parked:!!S,blocked:!S}}return{restored:!0,hadDraft:!0,data:y.data}}function R(){if(d)return!1;try{return!H(N(),u)}catch{return!0}}function At(b){let y=s+":conflict";try{e.setItem(y,b)}catch(S){throw Ht(t,S)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",y)}function rr(b){let y=v(),S=y==null?null:T(y);if(!S)return{data:b,stored:null,ancestry:[m()],parentData:u};let L=b;if(y!==a){let M=yn(g(S)?p.parentData:u,b,S.data);M.conflict&&At(y),L=M.value}return L=yt(L,S.data),{data:L,stored:F(L,S.data)?y:null,ancestry:h(S,y),parentData:S.data}}function zt(b){let y=lt(b);if(!y||!Object.keys(y.data).length)return null;rt(t,y.data,i);try{window.Sap?.refresh?.()}catch{}return t.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:{restored:!0,hadDraft:!0,parked:!1,external:!0}})),y.data}function Vt(b){if(d)return null;if(c!=null&&q(c,{keepSlot:!0})===null)throw Ht(t,new Error("an earlier saved copy could not be kept aside"));let y=et(new DOMParser().parseFromString(b,"text/html"),i),S=v();if(H(y,u)&&(S===a||S==null))return X(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:y,unchanged:!0}})),y;let{data:L,stored:M,ancestry:it,parentData:Z}=rr(y),D=A(),W=M??JSON.stringify({v:_e,savedAt:r().toISOString(),id:D,ancestry:it,data:L});if(!M){try{if(!e)throw new Error("no storage");e.setItem(s,W)}catch($){throw Ht(t,$)}p={id:D,ancestry:it,parentData:Z,raw:W}}let _=Object.keys(y).filter($=>!H(y[$],L[$]));return _.length&&zt(Object.fromEntries(_.map($=>[$,L[$]]))),a=W,u=L,X(!1),t.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:L}})),L}function Et(){try{return Vt(window.clay.getHTML()),!0}catch{return!1}}function nr(){return d||!R()?!0:Et()}function or(){if(d)return!1;let b=v();if(b==null&&a!=null&&!R())return d=!0,window.location.reload(),!0;if(b==null||b===a||R())return!1;let y=T(b);if(g(y)&&typeof window.clay?.getHTML=="function")return Et();let S=y&&zt(y.data);return S?(a=b,u={...u,...S},!0):!1}function lr(){d=!0,c=null,X(!1);try{e.removeItem(s)}catch{}try{e.setItem(f,A())}catch{}}return{slot:l,key:s,rules:i,read:O,restore:I,write:Vt,writeLive:Et,flush:nr,changed:R,adoptExternal:or,park:q,clear:lr,snapshot:bt}}function Ge(t,e){let r=`${t}:ui`,o=()=>({v:1,prompt:{},intro:{done:null},src:null}),n=o();try{let l=JSON.parse(e?.getItem(r)||"null");l&&typeof l=="object"&&l.v===1&&(n={...o(),...l})}catch{}return{get:()=>n,save(){try{e?.setItem(r,JSON.stringify(n))}catch{}},reset(){n=o();try{e?.removeItem(r)}catch{}}}}var gn=/^[a-z0-9][a-z0-9-]{0,39}$/;function Ye(t,e=window.location.search){let r=t.get(),o=null;try{o=new URLSearchParams(e).get("src")}catch{}return!r.src&&o&&gn.test(o)&&(r.src=o,t.save()),r.src}function Qe(t,e=window.location){let r=U(e.pathname);return`/_/download${r==="/"?"":r}?as=htmlclay${t?`&src=${encodeURIComponent(t)}`:""}`}var wn=`<aside class="hcp" id="hcp" hidden aria-label="Download this app" data-hcp-state="tab" data-hcp-reason="open" sap-ignore clay="editor-ui">
2
+ <section class="hcp-card" id="hcp-card" role="dialog" aria-modal="false" aria-labelledby="hcp-title">
3
+ <button type="button" class="hcp-x" data-hcp="minimize" aria-label="Minimize"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square" aria-hidden="true"><path d="M5 12h14"/></svg></button>
4
+ <div class="hcp-kicker">Free download</div>
5
+ <h2 class="hcp-title" id="hcp-title"><span data-hcp-for="use">Your work is saved in this browser only.</span><span data-hcp-for="open">This app is free to keep.</span><span data-hcp-for="return">Your work is saved in this browser only.</span><span data-hcp-for="error">Your work isn't being saved in this browser.</span></h2>
6
+ <p class="hcp-body"><span data-hcp-for="open">Download it as one file and use it on your computer, no account needed.</span><span data-hcp-for="use">Download the file to keep it on your computer for good.</span><span data-hcp-for="return">Download the file to keep it on your computer for good.</span><span data-hcp-for="error">Storage is full or turned off here. Download the file to keep what you've done.</span></p>
7
+ <div class="hcp-file">
8
+ <svg width="20" height="20" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg>
9
+ <div><b class="hcp-name" data-hcp-name>This app</b><small>One file with the whole app and your work in it</small></div>
10
+ </div>
11
+ <div class="hcp-actions">
12
+ <a class="hcp-btn hcp-btn--primary" data-hcp-link href="/_/download?as=htmlclay"><span><svg width="16" height="16" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg>Download free</span></a>
13
+ </div>
14
+ <div class="hcp-foot"><button type="button" class="hcp-quiet" data-hcp="dismiss">Don&rsquo;t show again</button></div>
15
+ </section>
16
+ <div class="hcp-dock">
17
+ <button type="button" class="hcp-btn hcp-tab" data-hcp="open" aria-controls="hcp-card" aria-expanded="false" aria-label="This app is free to keep"><span><svg width="16" height="16" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg><span class="hcp-tab__label">This app is free to keep</span><span class="hcp-tab__mini">Keep</span></span></button>
18
+ <button type="button" class="hcp-x" data-hcp="minimize" aria-label="Minimize download notice"><svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor" aria-hidden="true"><path d="M1.4 0 6 4.6 10.6 0 12 1.4 7.4 6 12 10.6 10.6 12 6 7.4 1.4 12 0 10.6 4.6 6 0 1.4z"/></svg></button>
19
+ </div>
20
+ </aside>`;async function tr({memory:t,appName:e,link:r}){let{PROMPT_CSS:o}=await import("../c-SGIA4IEQ.js"),l=document.querySelector('clay-editor-ui[data-clay-ui="download-prompt"]')?.shadowRoot.getElementById("hcp");if(!l){let x=document.createElement("template");x.innerHTML=wn,l=x.content.firstElementChild,Gt({name:"download-prompt",content:l,css:[o],attributes:{"sap-ignore":""}})}let s=t.get();(!s.prompt||typeof s.prompt!="object")&&(s.prompt={});let i=s.prompt,a=3,u=2500,c=/^(INPUT|TEXTAREA|SELECT)$/,d="#hcp, .clay-intro, .clay-owner",p=l.querySelector("[data-hcp-link]");p.href=r,e&&(l.querySelector("[data-hcp-name]").textContent=e);let A=l.querySelector("[data-hcp=open]");function f(x,I){l.hidden=!1,l.setAttribute("data-hcp-state",x),I&&l.setAttribute("data-hcp-reason",I),A.setAttribute("aria-expanded",x==="card"?"true":"false"),(x==="card"||x==="mini")&&(i.shown=!0,t.save(),l.setAttribute("data-hcp-arrived","")),N()}function m(x){return x&&!l.contains(x)&&!x.closest(d)&&(c.test(x.tagName)||x.isContentEditable)}let w=null;function h(x){clearTimeout(w),w=setTimeout(()=>{if(i.shown||i.dismissed||l.getAttribute("data-hcp-state")!=="tab")return;let I=document.activeElement;if(m(I)){let R=I.getBoundingClientRect(),At=Math.min(360,innerWidth-32);if(innerWidth<700||R.right>innerWidth-At-32&&R.bottom>innerHeight-380)return}f("card",x)},u)}let g=[];function v(x){l.contains(x.target)||!m(x.target)||(g.indexOf(x.target)<0&&g.push(x.target),i.uses=Math.max(i.uses||0,g.length),i.shown||t.save(),g.length>=a&&h("use"))}function T(x){m(x.target)&&(l.getAttribute("data-hcp-state")==="card"&&f(i.shown?"mini":"tab"),innerWidth<700&&l.setAttribute("data-hcp-typing",""))}function O(){setTimeout(()=>{m(document.activeElement)||l.removeAttribute("data-hcp-typing")},50)}let E=0;function N(){E||(E=requestAnimationFrame(()=>{E=0;let I=Qt(innerWidth-24,R=>l.contains(R)||R.closest("[data-hcp-preview], .clay-owner"))+"px";l.style.getPropertyValue("--hcp-lift")!==I&&l.style.setProperty("--hcp-lift",I),Yt()}))}async function J(){let x=window.clay&&window.clay.getHTML;if(typeof x!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let I=location.pathname.split("/").filter(Boolean).pop()||"index.html";try{let{downloadHtml:R}=await import("../c-3TWCKFOP.js");return await R({html:x(),name:I.replace(/\.html$/,".htmlclay")})}catch{return!1}}l.addEventListener("click",async x=>{let I=x.target.closest("[data-hcp]");if(I){let R=I.getAttribute("data-hcp");R==="open"?(f("card",l.getAttribute("data-hcp-reason")==="error"?void 0:"open"),p.focus()):R==="minimize"?(f("mini"),A.focus()):R==="dismiss"&&(l.getAttribute("data-hcp-reason")==="error"?(f("mini"),A.focus()):(i.dismissed=!0,f("mini"),A.focus()));return}if(x.target.closest("[data-hcp-link]")){if(l.getAttribute("data-hcp-reason")==="error"&&(x.preventDefault(),!await J())){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}i.downloaded=!0,i.shown=!0,t.save()}}),l.addEventListener("animationend",x=>{(x.animationName==="hcp-arrive"||x.animationName==="hcp-arrive-fade")&&l.setAttribute("data-hcp-arrived","")}),l.addEventListener("keydown",x=>{x.key==="Escape"&&l.getAttribute("data-hcp-state")==="card"&&(f("mini"),A.focus())});function bt(){f("card","error")}function q(){l.getAttribute("data-hcp-reason")==="error"&&l.setAttribute("data-hcp-reason","use")}let lt={set:f,root:l,showError:bt,clearError:q,download:()=>p.click()};return document.addEventListener("input",v,!0),document.addEventListener("change",v,!0),document.addEventListener("focusin",T),document.addEventListener("focusout",O),addEventListener("scroll",N,{passive:!0}),addEventListener("resize",N),document.addEventListener("transitionend",N,!0),l.addEventListener("transitionend",N),f(i.shown||i.dismissed?"mini":"tab"),!i.shown&&(i.uses||0)>=a&&h("return"),lt}var C=null,ot=null,Ut=te,qt=null,_t=Promise.resolve();function er(){return import("../c-2Z22FCFK.js").then(t=>t.mountOwnerChip()).catch(t=>(console.warn("visitor-drafts: the owner chip did not load",t),null))}function vn(t){return t.template?import("../c-SBCBXKOZ.js").then(e=>e.mountIntro(t)).catch(e=>(console.warn("visitor-drafts: the intro did not load",e),null)):Promise.resolve(null)}var nt=at(),Bt=document.querySelector('script[data-rules-name~="api"]');if(Zt&&nt&&Bt){let t=U(),e=Ze(nt,{path:t});C=Xe({path:t,fallback:e==="failed"?Wt(nt):null}),Kt(a=>C.write(a));let r=C.restore();ot={restored:r.restored,hadDraft:r.hadDraft,parked:!!r.parked,...r.partial&&{partial:!0},...r.blocked&&{blocked:!0}},document.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:ot}));let o=Ge(C.key,vt());qt=Ye(o),Ut=Qe(qt);let n=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",l=document.querySelector("template[visitor-intro]"),s=()=>{_t=tr({memory:o,appName:n,link:Ut}).then(a=>vn({memory:o,template:l,appName:n,hadDraft:r.hadDraft}).then(()=>a)).then(a=>(document.addEventListener("clay:drafts-store-failed",()=>a.showError()),document.addEventListener("clay:drafts-saved",()=>a.clearError()),(xt?er():Promise.resolve(null)).then(()=>a)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s,{once:!0}):s(),Jt(()=>C.flush()),window.addEventListener("storage",a=>{a.key===C.key&&C.adoptExternal()});let i=()=>C.flush();document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&i()}),window.addEventListener("pagehide",i)}else if(!nt||!Bt){let t=[];nt||t.push('a visitor-drafts="<slot>" attribute on <html>'),Bt||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}else xt&&Xt&&!Ft()&&(_t=er());var Jn=C?{active:!0,slot:C.slot,key:C.key,hasDraft:()=>!!C.read(),restored:()=>ot,saveNow:()=>C.writeLive(),reset(){return C.clear(),window.location.reload(),!0},onRestore(t){return ot?(t(ot),!0):(document.addEventListener("clay:drafts-restored",e=>t(e.detail),{once:!0}),!1)},editOriginal:ee,backToDraft:re,downloadUrl:()=>Ut,download:()=>_t.then(t=>(C.flush(),t?.download())),source:qt}:ne();export{_t as ready,Jn as visitorDrafts};
@@ -1 +1 @@
1
- import{d as p}from"../c-MTQHWQC3.js";import{f as l,h as m}from"../c-3O7OBDCM.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-N7JPUPGC.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-LDUNOR57.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
+ import{d as p}from"../c-OKEGUICD.js";import{f as l,h as m}from"../c-3O7OBDCM.js";import{d as a}from"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as u}from"../c-N7JPUPGC.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-2Z22FCFK.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};
@@ -0,0 +1 @@
1
+ import{f as t}from"../c-CUMXGHVD.js";import{a as e}from"../c-VKEDWYDF.js";import{b as r}from"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";r&&(t(),document.addEventListener("clay:drafts-restored",()=>t()),e(()=>{import("../c-MPSKIU2I.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-I2IFKJX2.js";import"../c-XGH4GS2T.js";import"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.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
+ import{a,b,c}from"../c-ALDVFPWL.js";import"../c-XGH4GS2T.js";import"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{c as default,a as modeParticipant,b as wire,a as wireParticipant};
@@ -1,4 +1,4 @@
1
- import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";import{a as m}from"./c-VKEDWYDF.js";import{b as F}from"./c-LA2BW7UY.js";import{e as H}from"./c-XGH4GS2T.js";import"./c-IJUK2GPW.js";import{a as S,b as f,c as r,f as u,g as n,h as b,j as T,o as q}from"./c-3O7OBDCM.js";import{c as j,e as $}from"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import{d as U,s as V}from"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import{a as k}from"./c-VHNSBD2M.js";var C={};k(C,{activateInitialMode:()=>Ee,canEdit:()=>r,default:()=>Le,init:()=>N,isEditMode:()=>u,isOwner:()=>b,mode:()=>n,modeLifecycle:()=>be,noteLiveSwitch:()=>xe,setMode:()=>y,setPageTypeOnPageLoad:()=>X,toggleEditMode:()=>Y});var A=!1,ve=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return q(e)},be={register:ve,canWrite:()=>T().phase==="idle"&&u,get state(){return Object.freeze(T())}},L=null,G=()=>L||=import("./c-J3BXFTZS.js").catch(()=>L=null),M=null,xe=e=>{M=e};async function Ee(){if(u)try{await(await G()).activateInitial()}catch(e){console.error("clayjs: the mode lifecycle failed to start:",e)}}var p=null;async function y(e){if(e!=="edit"&&e!=="view")throw new TypeError(`clay.setMode: unknown mode "${e}"`);if(p)return p.target===e?p.promise:{ok:!1,mode:n,code:"busy"};if(e===n&&!L)return{ok:!0,mode:n,changed:!1};if(f)return{ok:!1,mode:n,code:"not-allowed"};let t=ke(e);p={target:e,promise:t};try{return await t}finally{p?.promise===t&&(p=null)}}async function ke(e){let t=typeof window<"u"?window.clay?._requestHostMode:void 0;if(typeof t=="function"&&e!==n){let o;try{o=await t(e)}catch{return{ok:!1,mode:n,code:"host-failed"}}if(o?.reason!=="host-unsupported")return o?.ok?(A=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:n,code:o?.reason||"host-refused"}}return e==="edit"&&n!=="edit"?Se():!r&&!(e==="view"&&n==="edit")?{ok:!1,mode:n,code:"not-allowed"}:J(e)}async function Se(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-6EVJGNPL.js"),o=await t({fresh:!0});return location.pathname!==e?{ok:!1,mode:n,code:"cancelled"}:o===!1?{ok:!1,mode:n,code:"permission-denied"}:r?J("edit"):{ok:!1,mode:n,code:"not-allowed"}}async function J(e){if(M){let t=await G(),o=t&&await t.switchMode(e,M);if(o)return o}if(e===n)return{ok:!0,mode:n,changed:!1};if(n==="edit"){let t;try{t=await window.clay?.save?.flush?.()}catch(o){return{ok:!1,mode:n,code:"save-failed",state:o?.state}}if(t&&t.state&&t.state!=="saved"&&t.state!=="clean")return{ok:!1,mode:n,code:"save-failed",state:t.state}}return A=!0,S({mode:e,canEdit:r,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function Te(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var Y=()=>f?Te():y(n==="edit"?"view":"edit");function De(){!r||f||window.addEventListener("pagehide",()=>{A||S({mode:n,canEdit:r,internal:!1})})}function B(){r?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function X(){m(()=>{document.documentElement.setAttribute("editmode",u?"true":"false"),document.documentElement.setAttribute("pageowner",b?"true":"false"),B(),document.addEventListener("clay:capabilitychange",B),f?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function N(){X(),De()}N();var Le={init:N,setMode:y,toggleEditMode:Y,isEditMode:u,isOwner:b,canEdit:r,mode:n};var ae={};var Q=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),Me=Q?"\u2318\u21E7E":"Ctrl+Shift+E",Ae=`.clay-mode-note {
1
+ import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";import{a as m}from"./c-VKEDWYDF.js";import{b as F}from"./c-LA2BW7UY.js";import{e as H}from"./c-XGH4GS2T.js";import"./c-IJUK2GPW.js";import{a as S,b as f,c as r,f as u,g as n,h as b,j as T,o as q}from"./c-3O7OBDCM.js";import{c as j,e as $}from"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import{d as U,s as V}from"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import{a as k}from"./c-VHNSBD2M.js";var C={};k(C,{activateInitialMode:()=>Ee,canEdit:()=>r,default:()=>Le,init:()=>N,isEditMode:()=>u,isOwner:()=>b,mode:()=>n,modeLifecycle:()=>be,noteLiveSwitch:()=>xe,setMode:()=>y,setPageTypeOnPageLoad:()=>X,toggleEditMode:()=>Y});var A=!1,ve=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return q(e)},be={register:ve,canWrite:()=>T().phase==="idle"&&u,get state(){return Object.freeze(T())}},L=null,G=()=>L||=import("./c-SGRIYOAJ.js").catch(()=>L=null),M=null,xe=e=>{M=e};async function Ee(){if(u)try{await(await G()).activateInitial()}catch(e){console.error("clayjs: the mode lifecycle failed to start:",e)}}var p=null;async function y(e){if(e!=="edit"&&e!=="view")throw new TypeError(`clay.setMode: unknown mode "${e}"`);if(p)return p.target===e?p.promise:{ok:!1,mode:n,code:"busy"};if(e===n&&!L)return{ok:!0,mode:n,changed:!1};if(f)return{ok:!1,mode:n,code:"not-allowed"};let t=ke(e);p={target:e,promise:t};try{return await t}finally{p?.promise===t&&(p=null)}}async function ke(e){let t=typeof window<"u"?window.clay?._requestHostMode:void 0;if(typeof t=="function"&&e!==n){let o;try{o=await t(e)}catch{return{ok:!1,mode:n,code:"host-failed"}}if(o?.reason!=="host-unsupported")return o?.ok?(A=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:n,code:o?.reason||"host-refused"}}return e==="edit"&&n!=="edit"?Se():!r&&!(e==="view"&&n==="edit")?{ok:!1,mode:n,code:"not-allowed"}:J(e)}async function Se(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-6EVJGNPL.js"),o=await t({fresh:!0});return location.pathname!==e?{ok:!1,mode:n,code:"cancelled"}:o===!1?{ok:!1,mode:n,code:"permission-denied"}:r?J("edit"):{ok:!1,mode:n,code:"not-allowed"}}async function J(e){if(M){let t=await G(),o=t&&await t.switchMode(e,M);if(o)return o}if(e===n)return{ok:!0,mode:n,changed:!1};if(n==="edit"){let t;try{t=await window.clay?.save?.flush?.()}catch(o){return{ok:!1,mode:n,code:"save-failed",state:o?.state}}if(t&&t.state&&t.state!=="saved"&&t.state!=="clean")return{ok:!1,mode:n,code:"save-failed",state:t.state}}return A=!0,S({mode:e,canEdit:r,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function Te(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var Y=()=>f?Te():y(n==="edit"?"view":"edit");function De(){!r||f||window.addEventListener("pagehide",()=>{A||S({mode:n,canEdit:r,internal:!1})})}function B(){r?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function X(){m(()=>{document.documentElement.setAttribute("editmode",u?"true":"false"),document.documentElement.setAttribute("pageowner",b?"true":"false"),B(),document.addEventListener("clay:capabilitychange",B),f?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function N(){X(),De()}N();var Le={init:N,setMode:y,toggleEditMode:Y,isEditMode:u,isOwner:b,canEdit:r,mode:n};var ae={};var Q=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),Me=Q?"\u2318\u21E7E":"Ctrl+Shift+E",Ae=`.clay-mode-note {
2
2
  position: fixed;
3
3
  right: calc(16px + env(safe-area-inset-right, 0px));
4
4
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
@@ -74,4 +74,4 @@ import{b as D,c as W}from"./c-NUHP2XDB.js";import{g as z}from"./c-TWCXBWS3.js";i
74
74
  right: calc(16px + env(safe-area-inset-right, 0px));
75
75
  max-width: none;
76
76
  }
77
- }`,Z=new WeakSet;function ee(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{Z.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function te(e){Z.add(e),e.getRootNode().host?.remove()}function oe(e){return y(e).then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:o})=>{let i=o(t);i&&(typeof window.clay?.toast=="function"?window.clay.toast(i,"error"):typeof window.clay?.menu?.note=="function"?window.clay.menu.note(i):re(i))})})}function Ne(e){(r||n==="edit")&&(!(Q?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),oe(n==="edit"?"view":"edit")))}var Ce="In view mode, so edits won't be saved.",Re=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",a=null;function ne(e){if(!e.isConnected)return!1;let t=V(e);return t.persist===U.FULL&&!t.extension}function ie(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Re)||t.closest(R)||(t.isContentEditable?t:null);return o&&ne(o)?o:null}var Pe=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>r&&n==="view";function Ie(e){P()&&ie(e.target)&&I()}function Oe(e){if(!P()||e.defaultPrevented||e.isComposing||e.ctrlKey||e.metaKey||e.altKey||!(e.key.length===1&&e.key!==" ")&&e.key!=="Backspace"&&e.key!=="Delete")return;let t=e.target;if(t?.nodeType!==1||Pe(t)||t!==document.body&&!t.closest(R))return;ie(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function _e(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ne(t)&&I()}function I(){a||(console.warn('clayjs: this tab is in view mode, so edits made here are not saved. clay.setMode("edit") switches; a page that must edit as soon as it opens declares <html opens-in="edit">.'),document.querySelector('clay-editor-ui[data-clay-ui="mode-note"]')?.remove(),a=document.createElement("div"),a.setAttribute("clay","editor-ui"),a.setAttribute("role","alert"),a.className="clay-mode-note clay-view-notice",a.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',a.querySelector("span").textContent=Ce,a.querySelector("button").addEventListener("click",()=>oe("edit")),ee(a))}function Ke(){n==="view"||!a||(te(a),a=null)}function re(e){let t=document.createElement("div");t.setAttribute("clay","editor-ui"),t.setAttribute("role","status"),t.className="clay-mode-note",t.innerHTML=`<span>This page opens in view mode. Press <kbd>${Me}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>te(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),ee(t)}f||(document.addEventListener("keydown",Ne),document.addEventListener("input",Ie,!0),document.addEventListener("pointerdown",_e,!0),window.addEventListener("keydown",Oe),document.addEventListener("clay:modechange",Ke),m(()=>{if(!r||n!=="view"||document.querySelector("[clay-mode-toggle]"))return;(t=>{let o=window.clay?.ready;window.clay?.storage||typeof o?.then!="function"?queueMicrotask(t):o.then(t,()=>{})})(()=>{if(window.clay?.menu||window.clay?.plugins?.includes?.("menu"))return;let t=window.clay?.storage?.local;!t||t.get("mode-note")||(t.set("mode-note",!0),re())})}));var O={};k(O,{whenShown:()=>Ve});var je="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",s=null,d=null;function h(){if(!s)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;D(s,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){s&&(D(s,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){s=d.bevelSurface("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483001","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${d.pageScheme()}`]),s.setAttribute("clay",d.RUNTIME_ONLY),s.setAttribute("data-clay-stale-host",""),s.setAttribute("role","alert");let e=W("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${d.TOKENS.ox}`]);e.setAttribute("clay",d.RUNTIME_ONLY);let t=d.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e});t.setAttribute("aria-label","Dismiss this message"),s.append(e,d.bevelText("span",[],je),t),document.body.appendChild(s),h(),d.paintLook(s,{background:d.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!$()||u)return;let[e,t]=await Promise.all([import("./c-2ZZBC45O.js"),import("./c-ZE46QDIH.js")]);d={...e,TOKENS:t.TOKENS},qe()}var se=Promise.resolve();m(()=>{se=Ue()});var Ve=()=>se;var K={};k(K,{createPageDataApi:()=>le,readData:()=>Ge,setPageDataLiveSync:()=>Ye,writeData:()=>Je});var Fe="data-read",ze="data-write";function x(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function ce(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function He(e){let t={};try{t=await ce(e)||{}}catch{}let o=t.message||t.error||e.statusText||`Request failed (${e.status})`,i=new Error(o);return i.status=e.status,i.error=t.error,i.details=t.details,i}function We(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Be(e,t){let o=`${t.origin}${t.pathname}`;return e!==void 0?`${o}?data=${encodeURIComponent(JSON.stringify(e))}`:`${t.origin}/_/api${t.pathname}`}async function de(){let{isDraftMode:e}=await import("./core/is-edit-mode-GCX6767E.js");return e?x("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function le({supports:e=H,token:t=j,fetchImpl:o=(...g)=>fetch(...g),getLocation:i=()=>window.location,eventTarget:ue=document,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe}={}){let g=null,w=null;function we(c){g=c}async function ye(c){let v=await de();if(v)throw v;if(!await e(Fe))throw x("DataReadUnsupported","This host does not support reading page data.");let l;try{l=await o(Be(c,i()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(E){throw Object.assign(x("DataReadFailed",E?.message||"Could not read page data."),{cause:E})}if(!l.ok)throw await He(l);return{data:await ce(l),etag:We(l)}}function he(){return w||(w=import("./c-YQUJ74R3.js").then(({createPageDataWrite:c})=>c({supports:e,token:t,fetchImpl:o,getLocation:i,eventTarget:ue,getLiveSync:()=>g,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe})).catch(c=>{throw w=null,c}),w)}async function ge(c,v){let l=await de();if(l)throw l;if(!await e(ze))throw x("DataWriteUnsupported","This host does not support writing page data.");return(await he()).writeData(c,v)}return{readData:ye,writeData:ge,setLiveSync:we}}var _=le(),Ge=_.readData,Je=_.writeData,Ye=_.setLiveSync;var lt={"lib/mutation.js":F,"core/preserve-authored.js":z,"core/edit-mode.js":C,"core/mode-key.js":ae,"core/stale-host-notice.js":O,"core/page-data.js":K};export{lt as core};
77
+ }`,Z=new WeakSet;function ee(e){import("./c-B4VYNXTQ.js").then(({mountEditorUI:t})=>{Z.has(e)||t({name:"mode-note",content:e,css:[Ae]})})}function te(e){Z.add(e),e.getRootNode().host?.remove()}function oe(e){return y(e).then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:o})=>{let i=o(t);i&&(typeof window.clay?.toast=="function"?window.clay.toast(i,"error"):typeof window.clay?.menu?.note=="function"?window.clay.menu.note(i):re(i))})})}function Ne(e){(r||n==="edit")&&(!(Q?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),oe(n==="edit"?"view":"edit")))}var Ce="In view mode, so edits won't be saved.",Re=":is(input, textarea, select):is([persist], [clay-persist])",R="[editmode\\:contenteditable], [viewmode\\:readonly], [viewmode\\:disabled]",a=null;function ne(e){if(!e.isConnected)return!1;let t=V(e);return t.persist===U.FULL&&!t.extension}function ie(e){let t=e?.nodeType===1?e:e?.parentElement;if(!t)return null;let o=t.closest(Re)||t.closest(R)||(t.isContentEditable?t:null);return o&&ne(o)?o:null}var Pe=e=>e.isContentEditable||e.matches("input, textarea, select")&&!e.readOnly&&!e.disabled,P=()=>r&&n==="view";function Ie(e){P()&&ie(e.target)&&I()}function Oe(e){if(!P()||e.defaultPrevented||e.isComposing||e.ctrlKey||e.metaKey||e.altKey||!(e.key.length===1&&e.key!==" ")&&e.key!=="Backspace"&&e.key!=="Delete")return;let t=e.target;if(t?.nodeType!==1||Pe(t)||t!==document.body&&!t.closest(R))return;ie(t===document.body?document.getSelection()?.anchorNode:t)?.matches(R)&&I()}function _e(e){if(!P())return;let t=e.target?.closest?.("[viewmode\\:disabled]");t&&ne(t)&&I()}function I(){a||(console.warn('clayjs: this tab is in view mode, so edits made here are not saved. clay.setMode("edit") switches; a page that must edit as soon as it opens declares <html opens-in="edit">.'),document.querySelector('clay-editor-ui[data-clay-ui="mode-note"]')?.remove(),a=document.createElement("div"),a.setAttribute("clay","editor-ui"),a.setAttribute("role","alert"),a.className="clay-mode-note clay-view-notice",a.innerHTML='<span></span><button type="button" class="clay-view-notice__edit">Switch to edit</button>',a.querySelector("span").textContent=Ce,a.querySelector("button").addEventListener("click",()=>oe("edit")),ee(a))}function Ke(){n==="view"||!a||(te(a),a=null)}function re(e){let t=document.createElement("div");t.setAttribute("clay","editor-ui"),t.setAttribute("role","status"),t.className="clay-mode-note",t.innerHTML=`<span>This page opens in view mode. Press <kbd>${Me}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`,e&&(t.querySelector("span").textContent=e);let o=()=>te(t);t.querySelector("button").addEventListener("click",o),addEventListener("keydown",i=>{i.key==="Escape"&&o()},{once:!0}),setTimeout(o,12e3),ee(t)}f||(document.addEventListener("keydown",Ne),document.addEventListener("input",Ie,!0),document.addEventListener("pointerdown",_e,!0),window.addEventListener("keydown",Oe),document.addEventListener("clay:modechange",Ke),m(()=>{if(!r||n!=="view"||document.querySelector("[clay-mode-toggle]"))return;(t=>{let o=window.clay?.ready;window.clay?.storage||typeof o?.then!="function"?queueMicrotask(t):o.then(t,()=>{})})(()=>{if(window.clay?.menu||window.clay?.plugins?.includes?.("menu"))return;let t=window.clay?.storage?.local;!t||t.get("mode-note")||(t.set("mode-note",!0),re())})}));var O={};k(O,{whenShown:()=>Ve});var je="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",s=null,d=null;function h(){if(!s)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;D(s,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function $e(){s&&(D(s,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function qe(){s=d.bevelSurface("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483001","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${d.pageScheme()}`]),s.setAttribute("clay",d.RUNTIME_ONLY),s.setAttribute("data-clay-stale-host",""),s.setAttribute("role","alert");let e=W("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${d.TOKENS.ox}`]);e.setAttribute("clay",d.RUNTIME_ONLY);let t=d.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:$e});t.setAttribute("aria-label","Dismiss this message"),s.append(e,d.bevelText("span",[],je),t),document.body.appendChild(s),h(),d.paintLook(s,{background:d.TOKENS.surface}),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function Ue(){if(!$()||u)return;let[e,t]=await Promise.all([import("./c-PXLTUYZC.js"),import("./c-3TLG3OLG.js")]);d={...e,TOKENS:t.TOKENS},qe()}var se=Promise.resolve();m(()=>{se=Ue()});var Ve=()=>se;var K={};k(K,{createPageDataApi:()=>le,readData:()=>Ge,setPageDataLiveSync:()=>Ye,writeData:()=>Je});var Fe="data-read",ze="data-write";function x(e,t,o){let i=new Error(t);return i.code=e,i.details=o,i}async function ce(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function He(e){let t={};try{t=await ce(e)||{}}catch{}let o=t.message||t.error||e.statusText||`Request failed (${e.status})`,i=new Error(o);return i.status=e.status,i.error=t.error,i.details=t.details,i}function We(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Be(e,t){let o=`${t.origin}${t.pathname}`;return e!==void 0?`${o}?data=${encodeURIComponent(JSON.stringify(e))}`:`${t.origin}/_/api${t.pathname}`}async function de(){let{isDraftMode:e}=await import("./core/is-edit-mode-GCX6767E.js");return e?x("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function le({supports:e=H,token:t=j,fetchImpl:o=(...g)=>fetch(...g),getLocation:i=()=>window.location,eventTarget:ue=document,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe}={}){let g=null,w=null;function we(c){g=c}async function ye(c){let v=await de();if(v)throw v;if(!await e(Fe))throw x("DataReadUnsupported","This host does not support reading page data.");let l;try{l=await o(Be(c,i()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(E){throw Object.assign(x("DataReadFailed",E?.message||"Could not read page data."),{cause:E})}if(!l.ok)throw await He(l);return{data:await ce(l),etag:We(l)}}function he(){return w||(w=import("./c-TSBVMWAH.js").then(({createPageDataWrite:c})=>c({supports:e,token:t,fetchImpl:o,getLocation:i,eventTarget:ue,getLiveSync:()=>g,loadWriteModules:fe,syncTimeoutMs:me,httpTimeoutMs:pe})).catch(c=>{throw w=null,c}),w)}async function ge(c,v){let l=await de();if(l)throw l;if(!await e(ze))throw x("DataWriteUnsupported","This host does not support writing page data.");return(await he()).writeData(c,v)}return{readData:ye,writeData:ge,setLiveSync:we}}var _=le(),Ge=_.readData,Je=_.writeData,Ye=_.setLiveSync;var lt={"lib/mutation.js":F,"core/preserve-authored.js":z,"core/edit-mode.js":C,"core/mode-key.js":ae,"core/stale-host-notice.js":O,"core/page-data.js":K};export{lt as core};
@@ -1 +1 @@
1
- import{a,b as c,c as d,d as e,e as f,f as g,g as h}from"../c-AL4RBJF2.js";import{e as b}from"../c-DHXPDLW6.js";import"../c-LZJPNR2W.js";import"../c-FILLTJA7.js";import"../c-5VYOWDTI.js";import"../c-GSRLXYWL.js";import"../c-WYFDLITL.js";import"../c-LA2BW7UY.js";import"../c-ATKAOH23.js";import"../c-EK63G3CG.js";import"../c-NQJRVJ56.js";import"../c-XGH4GS2T.js";import"../c-IJUK2GPW.js";import"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-EGTIAL6P.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{e as LiveSync,d as REMOTE_WINS_SELECTOR,c as SYNC_IGNORE_SELECTOR,b as WIRE_PROFILES,a as conflicts,h as default,f as liveSync,g as morph};
1
+ import{a,b as c,c as d,d as e,e as f,f as g,g as h}from"../c-XLQ3BDMM.js";import{e as b}from"../c-NK33MMYF.js";import"../c-LZJPNR2W.js";import"../c-FILLTJA7.js";import"../c-5VYOWDTI.js";import"../c-GSRLXYWL.js";import"../c-WYFDLITL.js";import"../c-LA2BW7UY.js";import"../c-ATKAOH23.js";import"../c-EK63G3CG.js";import"../c-NQJRVJ56.js";import"../c-XGH4GS2T.js";import"../c-IJUK2GPW.js";import"../c-3O7OBDCM.js";import"../c-BPF2NSPV.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-PWJSJEJU.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-VG5XIN4T.js";import"../c-2YYDMLNZ.js";import"../c-HA6INT6J.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{e as LiveSync,d as REMOTE_WINS_SELECTOR,c as SYNC_IGNORE_SELECTOR,b as WIRE_PROFILES,a as conflicts,h as default,f as liveSync,g as morph};
@@ -1 +1 @@
1
- import{a as r,b as l,c as m,d as c}from"../c-W23KVGUO.js";import{b as d}from"../c-BRLCTNMC.js";import"../c-QHWJ5ZIJ.js";import{a as s,b as n,c as o}from"../c-RG6XUZFA.js";import"../c-UL2YUY52.js";import"../c-QY7F6EN6.js";import"../c-CJFDLD43.js";import"../c-BJ7YQ5QZ.js";import"../c-4JZDZFF6.js";import"../c-VAK7SG37.js";import"../c-MHI3GYKF.js";import{a}from"../c-2AZDZWCK.js";import{f as i}from"../c-46XYM55L.js";import"../c-NUHP2XDB.js";import"../c-VKEDWYDF.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";i();var t=window.clay=window.clay||{};t.toast=o;t.toastPersistent=s;t.ask=r;t.confirm=l;t.tell=m;t.snippet=c;t.modal=d;typeof window.toast>"u"&&(window.toast=o);typeof window.toastPersistent>"u"&&(window.toastPersistent=s);a.toasts=!0;a.savedToast=!!t.saveToast;Object.defineProperty(t,"saveToast",{get:()=>a.savedToast,set:e=>{a.savedToast=!!e},enumerable:!0,configurable:!0});document.addEventListener("clay:save-saved",e=>{n("Couldn't save"),n("Offline, not saved"),e.detail?.msgType==="warning"?o(e.detail.msg||"Saved","warning"):(!a.chip||a.savedToast)&&o(e.detail?.msg||"Saved","success")});document.addEventListener("clay:save-error",()=>s("Couldn't save","error"));document.addEventListener("clay:save-offline",()=>s("Offline, not saved","warning"));document.addEventListener("clay:live-notice",e=>{e.detail?.code==="save-uncertain"&&s(e.detail.message,"warning"),e.detail?.code==="op-too-large"&&o(e.detail.message,"warning")});export{r as ask,l as consent,c as snippet,m as tell,d as themodal,o as toast,s as toastPersistent};
1
+ import{a as r,b as l,c as m,d as c}from"../c-QIR5CAKM.js";import{b as d}from"../c-6TYGD5AB.js";import"../c-QHWJ5ZIJ.js";import{a as s,b as n,c as o}from"../c-JGHEACGK.js";import"../c-UL2YUY52.js";import"../c-QY7F6EN6.js";import"../c-G6COVIZB.js";import"../c-IHUWUKIU.js";import"../c-4JZDZFF6.js";import"../c-EUGJVHDD.js";import"../c-PKCCHJ5X.js";import{a}from"../c-2AZDZWCK.js";import{f as i}from"../c-46XYM55L.js";import"../c-NUHP2XDB.js";import"../c-VKEDWYDF.js";import"../c-ICMAOOGK.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";i();var t=window.clay=window.clay||{};t.toast=o;t.toastPersistent=s;t.ask=r;t.confirm=l;t.tell=m;t.snippet=c;t.modal=d;typeof window.toast>"u"&&(window.toast=o);typeof window.toastPersistent>"u"&&(window.toastPersistent=s);a.toasts=!0;a.savedToast=!!t.saveToast;Object.defineProperty(t,"saveToast",{get:()=>a.savedToast,set:e=>{a.savedToast=!!e},enumerable:!0,configurable:!0});document.addEventListener("clay:save-saved",e=>{n("Couldn't save"),n("Offline, not saved"),e.detail?.msgType==="warning"?o(e.detail.msg||"Saved","warning"):(!a.chip||a.savedToast)&&o(e.detail?.msg||"Saved","success")});document.addEventListener("clay:save-error",()=>s("Couldn't save","error"));document.addEventListener("clay:save-offline",()=>s("Offline, not saved","warning"));document.addEventListener("clay:live-notice",e=>{e.detail?.code==="save-uncertain"&&s(e.detail.message,"warning"),e.detail?.code==="op-too-large"&&o(e.detail.message,"warning")});export{r as ask,l as consent,c as snippet,m as tell,d as themodal,o as toast,s as toastPersistent};